testprotocols 0.5.2__tar.gz → 0.7.0__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.
- {testprotocols-0.5.2/src/testprotocols.egg-info → testprotocols-0.7.0}/PKG-INFO +1 -1
- {testprotocols-0.5.2 → testprotocols-0.7.0}/pyproject.toml +1 -1
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/__init__.py +1 -1
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/iperf_client.py +0 -5
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/sdwan_policy_manager.py +3 -1
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/site_to_site_vpn.py +32 -3
- {testprotocols-0.5.2 → testprotocols-0.7.0/src/testprotocols.egg-info}/PKG-INFO +1 -1
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_sdwan_appliance_templates.py +2 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/LICENSE +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/NOTICE +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/README.md +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/setup.cfg +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/aftr_gateway.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/appliance_nat.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/appliance_uplinks.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/appliance_vlans.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/arp_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/bgp.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/conntrack.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/content_filtering.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/device_lifecycle.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/device_management.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/__init__.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/base.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/cpe.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/infra.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/sdwan.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/switch.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/traffic.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/voice.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/devices/wan.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/dhcp_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/dhcp_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/discovery.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/dns_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/file_transfer.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/firewall.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/firewall_zones.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/first_hop_security.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/gateway_redundancy.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/http_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/http_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/hw_console.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/interface_dhcp.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/ip_interface.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/ip_routing.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/iperf_generator.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/iperf_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/l3_firewall.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/l7_firewall.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/link_aggregation.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/mac_table.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/__init__.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/dhcp.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/firewall.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/impairment.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/l2_common.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/multicast.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/networking.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/packets.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/qoe.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/radius.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/sdwan_appliance.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/switch.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/switch_routing.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/tr069.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/traffic.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/wan_edge.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/models/wifi.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/multicast_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/nat.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/netem_controller.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/network_endpoint.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/network_probe.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/nmap_scanner.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/ntp_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/ntp_config.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/ospf.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/packet_filter.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/pcap_capture.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/pdu_controller.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/port_poe.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/port_security.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/port_status.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/py.typed +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/qoe_browser.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/radius_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/radius_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/reachability_responder.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/routed_interfaces.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/router.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/routing_read.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/sip_phone.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/sip_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/snmp_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/spanning_tree.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/static_routes.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/storm_control.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/streaming_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/switch_acl.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/switch_ports.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/switch_qos.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/switch_vlans.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/syslog_config.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/tftp_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/threat_prevention.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/tr069_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/tr069_server.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/traffic_shaping.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/upnp_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/vlan_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wan_link_admin.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_bss.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_client.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_mesh.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_onboarding.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_radio.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_rf.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_stations.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols/wifi_transitions.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols.egg-info/SOURCES.txt +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols.egg-info/dependency_links.txt +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/src/testprotocols.egg-info/top_level.txt +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_appliance_vlans.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_cpe_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_device_types.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_dhcp_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_firewall_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_infra_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_ip_interface.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_ip_routing.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_network_tool_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_package_imports.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_radius_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_sdwan_appliance_models.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_switch_models.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_switch_routing_models.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_switch_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_traffic_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_voice_wifi_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_wan_edge_templates.py +0 -0
- {testprotocols-0.5.2 → testprotocols-0.7.0}/tests/test_wifi_templates.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: testprotocols
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Common Test Resource Layer — capability and device protocols for telco testing.
|
|
5
5
|
Author-email: Alottabits <rjvisser@alottabits.com>
|
|
6
6
|
Maintainer-email: Alottabits <rjvisser@alottabits.com>
|
|
@@ -19,7 +19,6 @@ class IperfClient(Protocol):
|
|
|
19
19
|
traffic_port: int,
|
|
20
20
|
bandwidth: int | None = None,
|
|
21
21
|
bind_to_ip: str | None = None,
|
|
22
|
-
direction: str | None = None,
|
|
23
22
|
ip_version: int | None = None,
|
|
24
23
|
udp_protocol: bool = False,
|
|
25
24
|
time: int = 10,
|
|
@@ -51,10 +50,6 @@ class IperfClient(Protocol):
|
|
|
51
50
|
``tcp_rmem``/``tcp_wmem``), so the host must be provisioned
|
|
52
51
|
accordingly.
|
|
53
52
|
|
|
54
|
-
``direction`` is DEPRECATED: a raw CLI fragment appended verbatim
|
|
55
|
-
after the typed flags. Kept as an escape hatch only; use the typed
|
|
56
|
-
parameters instead.
|
|
57
|
-
|
|
58
53
|
Returns a tuple of (pid, log_file_path).
|
|
59
54
|
"""
|
|
60
55
|
...
|
|
@@ -5,7 +5,9 @@ policy application, SLA policies, and application-flow visibility.
|
|
|
5
5
|
|
|
6
6
|
Firewall-rule administration is **not** here — it moved to the dedicated
|
|
7
7
|
``l3_firewall`` / ``l7_firewall`` capabilities (coherent-domain split; see
|
|
8
|
-
SPLITS.md).
|
|
8
|
+
SPLITS.md). Also not here: moving flows between the overlay and internet
|
|
9
|
+
domains (overlay membership carve-outs) — see ``site_to_site_vpn``. Typed
|
|
10
|
+
path steering (``set_uplink_selection`` /
|
|
9
11
|
``get_uplink_selection`` over ordered ``UplinkSelectionRule``s; performance
|
|
10
12
|
classes reuse ``SLAPolicy`` by name) landed 2026-06-12; the default
|
|
11
13
|
(primary) uplink pair (``get_default_uplink`` / ``set_default_uplink``)
|
|
@@ -21,8 +21,12 @@ hub anywhere → ``HUB``; overlay enabled with hub list → ``SPOKE``) and on
|
|
|
21
21
|
write registers/dereferences the device in the relevant site configs. The
|
|
22
22
|
round-trip is intent-preserving even where the stored shape differs.
|
|
23
23
|
|
|
24
|
-
In scope: overlay participation (role, hubs + default route, subnets)
|
|
25
|
-
|
|
24
|
+
In scope: overlay participation (role, hubs + default route, subnets),
|
|
25
|
+
overlay exclusions (flow-level membership carve-outs — local breakout), and
|
|
26
|
+
peer status. Overlay *membership* — which flows are in the overlay at all
|
|
27
|
+
(role, hubs + default route, subnets, exclusions) — lives here; path
|
|
28
|
+
selection *within* a domain (e.g. which overlay uplink, or which internet
|
|
29
|
+
uplink) lives in ``sdwan_policy_manager``.
|
|
26
30
|
|
|
27
31
|
Out of scope: VPN-scoped firewall rules (see ``l3_firewall``), IPsec crypto
|
|
28
32
|
parameters (no driving test; highly vendor-divergent — add on evidence),
|
|
@@ -34,7 +38,11 @@ from __future__ import annotations
|
|
|
34
38
|
|
|
35
39
|
from typing import Protocol, runtime_checkable
|
|
36
40
|
|
|
37
|
-
from testprotocols.models.sdwan_appliance import
|
|
41
|
+
from testprotocols.models.sdwan_appliance import (
|
|
42
|
+
FlowMatch,
|
|
43
|
+
SiteToSiteVpnConfig,
|
|
44
|
+
VpnPeerStatus,
|
|
45
|
+
)
|
|
38
46
|
|
|
39
47
|
|
|
40
48
|
@runtime_checkable
|
|
@@ -59,3 +67,24 @@ class SiteToSiteVpn(Protocol):
|
|
|
59
67
|
Empty list when the device participates in no overlay.
|
|
60
68
|
"""
|
|
61
69
|
...
|
|
70
|
+
|
|
71
|
+
def get_vpn_exclusions(self) -> list[FlowMatch]:
|
|
72
|
+
"""Return the flow matches excluded from the overlay (local breakout).
|
|
73
|
+
|
|
74
|
+
Flows matching an entry bypass the site-to-site overlay and egress
|
|
75
|
+
the local uplink, even when an overlay route — including an overlay
|
|
76
|
+
default learned from a routing protocol — covers the destination.
|
|
77
|
+
Empty list when every flow is eligible for overlay routing.
|
|
78
|
+
"""
|
|
79
|
+
...
|
|
80
|
+
|
|
81
|
+
def set_vpn_exclusions(self, rules: list[FlowMatch]) -> None:
|
|
82
|
+
"""Replace the overlay-exclusion rule set with *rules*.
|
|
83
|
+
|
|
84
|
+
Whole-replace; read-modify-write is the caller's responsibility.
|
|
85
|
+
Products that cannot express a constrained field (e.g. source-side
|
|
86
|
+
matches) raise rather than approximate. Vendor rule kinds outside
|
|
87
|
+
this contract (e.g. application-based exclusions) are preserved
|
|
88
|
+
unchanged by the driver.
|
|
89
|
+
"""
|
|
90
|
+
...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: testprotocols
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Common Test Resource Layer — capability and device protocols for telco testing.
|
|
5
5
|
Author-email: Alottabits <rjvisser@alottabits.com>
|
|
6
6
|
Maintainer-email: Alottabits <rjvisser@alottabits.com>
|
|
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
|
|
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
|
|
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
|