pymammotion 0.5.16__tar.gz → 0.5.18__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pymammotion might be problematic. Click here for more details.
- {pymammotion-0.5.16 → pymammotion-0.5.18}/PKG-INFO +1 -1
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/device_info.py +6 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/state_manager.py +13 -1
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pyproject.toml +2 -2
- {pymammotion-0.5.16 → pymammotion-0.5.18}/LICENSE +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/README.md +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/client.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/cloud_gateway.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/aep_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/connect_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/regions_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/thing_response.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/regions.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/tea/core.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/tmp_constant.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/ble.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/ble_message.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/const.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/data/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/data/convert.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/data/framectrldata.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/data/notifydata.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/model/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/const.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/account.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/device.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/device_config.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/device_limits.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/enums.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/errors.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/excute_boarder_params.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/execute_boarder.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/generate_route_information.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/hash_list.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/location.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/mowing_modes.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/rapid_state.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/raw_data.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/region_data.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/report_info.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/work.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/mqtt/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/mqtt/event.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/mqtt/properties.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/mqtt/status.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/event/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/event/event.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/_init_.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/encryption.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/http.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/model/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/model/camera_stream.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/model/http.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/model/response_factory.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/http/model/rtk.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/abstract_message.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/basestation.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/driver.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/media.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/network.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/ota.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/system.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/video.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/control/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/control/joystick.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/devices/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/devices/base.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/devices/mammotion.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mqtt/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mqtt/linkkit/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mqtt/linkkit/h2client.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mqtt/mammotion_future.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/basestation.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/basestation_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/basestation_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/common.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/common_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/common_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/dev_net.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/dev_net_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/dev_net_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/luba_msg.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/luba_msg_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/luba_mul.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/luba_mul_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_driver.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_nav.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_ota.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_pept.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_sys.proto +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/py.typed +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/constant/__init__.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/constant/device_constant.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/conversions.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/datatype_converter.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/device_config.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/device_type.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/map.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/movement.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/mur_mur_hash.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/periodic.py +0 -0
- {pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/utility/rocker_util.py +0 -0
|
@@ -19,6 +19,11 @@ class DeviceNonWorkingHours(DataClassORJSONMixin):
|
|
|
19
19
|
start_time: str = ""
|
|
20
20
|
end_time: str = ""
|
|
21
21
|
|
|
22
|
+
@dataclass
|
|
23
|
+
class LampInfo(DataClassORJSONMixin):
|
|
24
|
+
lamp_bright: int = 0
|
|
25
|
+
manual_light: bool = False
|
|
26
|
+
night_light: bool = False
|
|
22
27
|
|
|
23
28
|
@dataclass
|
|
24
29
|
class MowerInfo(DataClassORJSONMixin):
|
|
@@ -35,6 +40,7 @@ class MowerInfo(DataClassORJSONMixin):
|
|
|
35
40
|
sub_model_id: str = ""
|
|
36
41
|
ble_mac: str = ""
|
|
37
42
|
wifi_mac: str = ""
|
|
43
|
+
lamp_info: LampInfo = field(default_factory=LampInfo)
|
|
38
44
|
|
|
39
45
|
|
|
40
46
|
@dataclass
|
|
@@ -22,6 +22,7 @@ from pymammotion.proto import (
|
|
|
22
22
|
DeviceProductTypeInfoT,
|
|
23
23
|
DrvDevInfoResp,
|
|
24
24
|
DrvDevInfoResult,
|
|
25
|
+
Getlamprsp,
|
|
25
26
|
GetNetworkInfoRsp,
|
|
26
27
|
LubaMsg,
|
|
27
28
|
NavGetCommDataAck,
|
|
@@ -263,7 +264,18 @@ class StateManager:
|
|
|
263
264
|
self._device.mower_state.wifi_mac = get_network_info_resp.wifi_mac
|
|
264
265
|
|
|
265
266
|
def _update_mul_data(self, message) -> None:
|
|
266
|
-
|
|
267
|
+
"""Media and video states."""
|
|
268
|
+
mul_msg = betterproto.which_one_of(message.net, "SubMul")
|
|
269
|
+
match mul_msg[0]:
|
|
270
|
+
case "Getlamprsp":
|
|
271
|
+
lamp_resp: Getlamprsp = mul_msg[1]
|
|
272
|
+
self._device.mower_state.lamp_info.lamp_bright = lamp_resp.lamp_bright
|
|
273
|
+
if lamp_resp.get_ids == 1126:
|
|
274
|
+
self._device.mower_state.lamp_info.manual_light = (
|
|
275
|
+
True if lamp_resp.lamp_manual_ctrl.value > 0 else False
|
|
276
|
+
)
|
|
277
|
+
if lamp_resp.get_ids == 1123:
|
|
278
|
+
self._device.mower_state.lamp_info.night_light = True if lamp_resp.lamp_ctrl.value > 0 else False
|
|
267
279
|
|
|
268
280
|
def _update_ota_data(self, message) -> None:
|
|
269
281
|
pass
|
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pymammotion"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.18"
|
|
8
8
|
license = "GPL-3.0"
|
|
9
9
|
description = ""
|
|
10
10
|
readme = "README.md"
|
|
@@ -66,7 +66,7 @@ autotyping = "^24.3.0"
|
|
|
66
66
|
ipython = "^9.0.2"
|
|
67
67
|
|
|
68
68
|
[tool.bumpver]
|
|
69
|
-
current_version = "0.5.
|
|
69
|
+
current_version = "0.5.18"
|
|
70
70
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
71
71
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
72
72
|
commit = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/dev_by_account_response.py
RENAMED
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/login_by_oauth_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/aliyun/model/session_by_authcode_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/data/model/generate_route_information.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/abstract_message.py
RENAMED
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/mammotion_command.py
RENAMED
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/__init__.py
RENAMED
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/basestation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/navigation.py
RENAMED
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/commands/messages/network.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.16 → pymammotion-0.5.18}/pymammotion/mammotion/devices/mammotion_bluetooth.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|