value-object-pattern 1.2.0__tar.gz → 1.3.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.
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/PKG-INFO +1 -1
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/__init__.py +1 -1
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/value_object.py +8 -2
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/aws_cloud_region_value_object.py +17 -4
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/domain_value_object.py +3 -4
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/port_value_object.py +15 -36
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/utils/__init__.py +5 -10
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/.gitignore +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/LICENSE.md +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/README.md +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/pyproject.toml +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/decorators/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/decorators/value_object_process.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/decorators/value_object_validation.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/base_model.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/collections/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/collections/list_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/enumeration_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/py.typed +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/date/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/date/date_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/date/string_date_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/datetime/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/datetime/datetime_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/datetime/string_datetime_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/timezone/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/timezone/string_timezone_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/dates/timezone/timezone_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/uuid/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v4_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/uuid/uuid_v4_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/uuid/uuid_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/country_tld_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/dni_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/nie_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/nif_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/nuss_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/passport_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/phone_number_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/administrative_technician_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/air_force_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/army_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/canarias_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/catalan_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/civil_guard_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/consular_corps_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/diplomatic_corps_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/especial_plate_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/historical_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/international_organization_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_development_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_environment_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/national_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/navy_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_truck_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/provincial_system_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/state_motor_pool_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_not_registered_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_registered_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_private_individual_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/two_wheels_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/provincial_plate_codes.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/europe/spain/vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/iso3166_alpha2_code_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/iso3166_alpha3_code_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/iso3166_numeric_code_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/phone_code_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_codes.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_alpha3_mapping.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_numeric_mapping.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_phone_code_mapping.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_tld_mapping.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha3_codes.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_numeric_codes.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/identifiers/world/vin_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/host_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/ipv4_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/ipv4_network_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/ipv6_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/ipv6_network_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_addresses/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_addresses/cisco_mac_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_addresses/raw_mac_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_addresses/space_mac_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_addresses/universal_mac_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mac_addresses/windows_mac_address_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mobile/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/mobile/imei_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/uri/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/uri/http_https_url_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/uri/http_url_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/uri/https_url_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/uri/url_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/utils/aws_regions.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/internet/utils/tld_domains.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/credit_card_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/credit_cards/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/credit_cards/amex_credit_card_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/credit_cards/discover_credit_card_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/credit_cards/mastercard_credit_card_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/credit_cards/visa_credit_card_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/iban_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/utils/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/money/utils/iban_lengths.txt +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/boolean/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/boolean/boolean_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/boolean/false_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/boolean/true_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/bytes/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/bytes/bytes_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/float/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/float/float_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/float/negative_float_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/float/positive_float_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/integer/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/integer/even_integer_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/integer/integer_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/none/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/none/none_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/none/not_none_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/alpha_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/digit_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/printable_string_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/string_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/utils/__init__.py +0 -0
- {value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/utils/luhn_validation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: value-object-pattern
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: The Value Object Pattern is a Python package that streamlines the creation and management of value objects in your projects.
|
|
5
5
|
Project-URL: Homepage, https://github.com/adriamontoto/value-object-pattern
|
|
6
6
|
Project-URL: Repository, https://github.com/adriamontoto/value-object-pattern
|
|
@@ -11,7 +11,7 @@ else:
|
|
|
11
11
|
|
|
12
12
|
from abc import ABC
|
|
13
13
|
from collections import deque
|
|
14
|
-
from typing import Any, Callable, Generic,
|
|
14
|
+
from typing import Any, Callable, Generic, TypeVar
|
|
15
15
|
|
|
16
16
|
T = TypeVar('T')
|
|
17
17
|
|
|
@@ -215,7 +215,7 @@ class ValueObject(ABC, Generic[T]): # noqa: UP046
|
|
|
215
215
|
return self._value == other.value
|
|
216
216
|
|
|
217
217
|
@override
|
|
218
|
-
def __setattr__(self, key: str, value: T) ->
|
|
218
|
+
def __setattr__(self, key: str, value: T) -> None:
|
|
219
219
|
"""
|
|
220
220
|
Prevents modification or addition of attributes in the value object.
|
|
221
221
|
|
|
@@ -230,6 +230,12 @@ class ValueObject(ABC, Generic[T]): # noqa: UP046
|
|
|
230
230
|
public_key = key.replace('_', '')
|
|
231
231
|
public_slots1 = [slot.replace('_', '') for slot in self.__slots__]
|
|
232
232
|
|
|
233
|
+
if key.startswith('_internal_'):
|
|
234
|
+
# Allow internal attributes to be set, but not modified, those attributes should not be used outside the
|
|
235
|
+
# class, they are used for improving performance
|
|
236
|
+
object.__setattr__(self, key, value)
|
|
237
|
+
return
|
|
238
|
+
|
|
233
239
|
if key in self.__slots__:
|
|
234
240
|
raise AttributeError(f'Cannot modify attribute "{key}" of immutable instance.')
|
|
235
241
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
AwsCloudRegionValueObject value object.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
+
from typing import NoReturn
|
|
6
|
+
|
|
5
7
|
from value_object_pattern import process, validation
|
|
6
8
|
from value_object_pattern.usables import NotEmptyStringValueObject, TrimmedStringValueObject
|
|
7
9
|
|
|
@@ -19,9 +21,8 @@ class AwsCloudRegionValueObject(NotEmptyStringValueObject, TrimmedStringValueObj
|
|
|
19
21
|
```python
|
|
20
22
|
from value_object_pattern.usables.internet import AwsCloudRegionValueObject
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
print(repr(key))
|
|
24
|
+
region = AwsCloudRegionValueObject(value='us-east-1')
|
|
25
|
+
print(repr(region))
|
|
25
26
|
# >>> AwsCloudRegionValueObject(value=us-east-1)
|
|
26
27
|
```
|
|
27
28
|
"""
|
|
@@ -51,4 +52,16 @@ class AwsCloudRegionValueObject(NotEmptyStringValueObject, TrimmedStringValueObj
|
|
|
51
52
|
ValueError: If the region does not exist.
|
|
52
53
|
"""
|
|
53
54
|
if value not in get_aws_cloud_regions():
|
|
54
|
-
|
|
55
|
+
self._raise_value_is_not_valid_aws_cloud_region(value=value)
|
|
56
|
+
|
|
57
|
+
def _raise_value_is_not_valid_aws_cloud_region(self, value: str) -> NoReturn:
|
|
58
|
+
"""
|
|
59
|
+
Raises a ValueError if the value is not a valid AWS cloud region.
|
|
60
|
+
|
|
61
|
+
Args:
|
|
62
|
+
value (str): The invalid AWS cloud region value.
|
|
63
|
+
|
|
64
|
+
Raises:
|
|
65
|
+
ValueError: If the value is not a valid AWS cloud region.
|
|
66
|
+
"""
|
|
67
|
+
raise ValueError(f'AwsCloudRegionValueObject value <<<{value}>>> is not a valid AWS cloud region.')
|
|
@@ -21,9 +21,8 @@ class DomainValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
|
|
|
21
21
|
```python
|
|
22
22
|
from value_object_pattern.usables.internet import DomainValueObject
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
print(repr(key))
|
|
24
|
+
domain = DomainValueObject(value='github.com')
|
|
25
|
+
print(repr(domain))
|
|
27
26
|
# >>> DomainValueObject(value=github.com)
|
|
28
27
|
```
|
|
29
28
|
"""
|
|
@@ -74,7 +73,7 @@ class DomainValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
|
|
|
74
73
|
raise ValueError(f'DomainValueObject value <<<{value}>>> has not a valid top level domain.')
|
|
75
74
|
|
|
76
75
|
tdl = value.lower().rstrip('.').split(sep='.')[-1]
|
|
77
|
-
if tdl not in get_tld_dict()
|
|
76
|
+
if tdl not in get_tld_dict():
|
|
78
77
|
raise ValueError(f'DomainValueObject value <<<{value}>>> has not a valid top level domain <<<{tdl}>>>.')
|
|
79
78
|
|
|
80
79
|
@validation(order=1)
|
|
@@ -5,6 +5,8 @@ PortValueObject value object.
|
|
|
5
5
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
|
+
from typing import NoReturn
|
|
9
|
+
|
|
8
10
|
from value_object_pattern.decorators import validation
|
|
9
11
|
from value_object_pattern.usables import IntegerValueObject
|
|
10
12
|
|
|
@@ -18,7 +20,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
18
20
|
from value_object_pattern.usables.internet import PortValueObject
|
|
19
21
|
|
|
20
22
|
port = PortValueObject(value=443)
|
|
21
|
-
|
|
22
23
|
print(repr(port))
|
|
23
24
|
# >>> PortValueObject(value=443)
|
|
24
25
|
```
|
|
@@ -39,7 +40,19 @@ class PortValueObject(IntegerValueObject):
|
|
|
39
40
|
ValueError: If the `value` is not a valid port.
|
|
40
41
|
"""
|
|
41
42
|
if value < self._PORT_MIN_PORT or value > self._PORT_MAX_PORT:
|
|
42
|
-
|
|
43
|
+
self._raise_value_is_not_port(value=value)
|
|
44
|
+
|
|
45
|
+
def _raise_value_is_not_port(self, value: int) -> NoReturn:
|
|
46
|
+
"""
|
|
47
|
+
Raises a ValueError if the value object `value` is not a valid port.
|
|
48
|
+
|
|
49
|
+
Args:
|
|
50
|
+
value (int): The provided value.
|
|
51
|
+
|
|
52
|
+
Raises:
|
|
53
|
+
ValueError: If the `value` is not a valid port.
|
|
54
|
+
"""
|
|
55
|
+
raise ValueError(f'PortValueObject value <<<{value}>>> must be between {self._PORT_MIN_PORT} and {self._PORT_MAX_PORT}.') # noqa: E501 # fmt: skip
|
|
43
56
|
|
|
44
57
|
@classmethod
|
|
45
58
|
def system_ports(cls) -> tuple[PortValueObject, PortValueObject]:
|
|
@@ -57,7 +70,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
57
70
|
from value_object_pattern.usables.internet import PortValueObject
|
|
58
71
|
|
|
59
72
|
system_ports = PortValueObject.system_ports()
|
|
60
|
-
|
|
61
73
|
print(repr(system_ports))
|
|
62
74
|
# >>> (PortValueObject(value=0), PortValueObject(value=1023))
|
|
63
75
|
```
|
|
@@ -80,7 +92,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
80
92
|
from value_object_pattern.usables.internet import PortValueObject
|
|
81
93
|
|
|
82
94
|
user_ports = PortValueObject.user_ports()
|
|
83
|
-
|
|
84
95
|
print(repr(user_ports))
|
|
85
96
|
# >>> (PortValueObject(value=1024), PortValueObject(value=49151))
|
|
86
97
|
```
|
|
@@ -123,7 +134,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
123
134
|
from value_object_pattern.usables.internet import PortValueObject
|
|
124
135
|
|
|
125
136
|
port = PortValueObject.FTP_DATA()
|
|
126
|
-
|
|
127
137
|
print(repr(port))
|
|
128
138
|
# >>> PortValueObject(value=20)
|
|
129
139
|
```
|
|
@@ -143,7 +153,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
143
153
|
from value_object_pattern.usables.internet import PortValueObject
|
|
144
154
|
|
|
145
155
|
port = PortValueObject.FTP_DATA()
|
|
146
|
-
|
|
147
156
|
print(repr(port))
|
|
148
157
|
# >>> PortValueObject(value=21)
|
|
149
158
|
```
|
|
@@ -163,7 +172,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
163
172
|
from value_object_pattern.usables.internet import PortValueObject
|
|
164
173
|
|
|
165
174
|
port = PortValueObject.SSH()
|
|
166
|
-
|
|
167
175
|
print(repr(port))
|
|
168
176
|
# >>> PortValueObject(value=22)
|
|
169
177
|
```
|
|
@@ -183,7 +191,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
183
191
|
from value_object_pattern.usables.internet import PortValueObject
|
|
184
192
|
|
|
185
193
|
port = PortValueObject.TELNET()
|
|
186
|
-
|
|
187
194
|
print(repr(port))
|
|
188
195
|
# >>> PortValueObject(value=23)
|
|
189
196
|
```
|
|
@@ -203,7 +210,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
203
210
|
from value_object_pattern.usables.internet import PortValueObject
|
|
204
211
|
|
|
205
212
|
port = PortValueObject.SMTP()
|
|
206
|
-
|
|
207
213
|
print(repr(port))
|
|
208
214
|
# >>> PortValueObject(value=25)
|
|
209
215
|
```
|
|
@@ -223,7 +229,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
223
229
|
from value_object_pattern.usables.internet import PortValueObject
|
|
224
230
|
|
|
225
231
|
port = PortValueObject.DNS()
|
|
226
|
-
|
|
227
232
|
print(repr(port))
|
|
228
233
|
# >>> PortValueObject(value=53)
|
|
229
234
|
```
|
|
@@ -243,7 +248,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
243
248
|
from value_object_pattern.usables.internet import PortValueObject
|
|
244
249
|
|
|
245
250
|
port = PortValueObject.DHCP_SERVER()
|
|
246
|
-
|
|
247
251
|
print(repr(port))
|
|
248
252
|
# >>> PortValueObject(value=67)
|
|
249
253
|
```
|
|
@@ -263,7 +267,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
263
267
|
from value_object_pattern.usables.internet import PortValueObject
|
|
264
268
|
|
|
265
269
|
port = PortValueObject.DHCP_CLIENT()
|
|
266
|
-
|
|
267
270
|
print(repr(port))
|
|
268
271
|
# >>> PortValueObject(value=68)
|
|
269
272
|
```
|
|
@@ -283,7 +286,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
283
286
|
from value_object_pattern.usables.internet import PortValueObject
|
|
284
287
|
|
|
285
288
|
port = PortValueObject.HTTP()
|
|
286
|
-
|
|
287
289
|
print(repr(port))
|
|
288
290
|
# >>> PortValueObject(value=80)
|
|
289
291
|
```
|
|
@@ -303,7 +305,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
303
305
|
from value_object_pattern.usables.internet import PortValueObject
|
|
304
306
|
|
|
305
307
|
port = PortValueObject.POP3()
|
|
306
|
-
|
|
307
308
|
print(repr(port))
|
|
308
309
|
# >>> PortValueObject(value=110)
|
|
309
310
|
```
|
|
@@ -323,7 +324,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
323
324
|
from value_object_pattern.usables.internet import PortValueObject
|
|
324
325
|
|
|
325
326
|
port = PortValueObject.NTP()
|
|
326
|
-
|
|
327
327
|
print(repr(port))
|
|
328
328
|
# >>> PortValueObject(value=123)
|
|
329
329
|
```
|
|
@@ -343,7 +343,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
343
343
|
from value_object_pattern.usables.internet import PortValueObject
|
|
344
344
|
|
|
345
345
|
port = PortValueObject.IMAP()
|
|
346
|
-
|
|
347
346
|
print(repr(port))
|
|
348
347
|
# >>> PortValueObject(value=143)
|
|
349
348
|
```
|
|
@@ -363,7 +362,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
363
362
|
from value_object_pattern.usables.internet import PortValueObject
|
|
364
363
|
|
|
365
364
|
port = PortValueObject.SNMP_MONITOR()
|
|
366
|
-
|
|
367
365
|
print(repr(port))
|
|
368
366
|
# >>> PortValueObject(value=161)
|
|
369
367
|
```
|
|
@@ -383,7 +381,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
383
381
|
from value_object_pattern.usables.internet import PortValueObject
|
|
384
382
|
|
|
385
383
|
port = PortValueObject.SNMP_TRAP()
|
|
386
|
-
|
|
387
384
|
print(repr(port))
|
|
388
385
|
# >>> PortValueObject(value=162)
|
|
389
386
|
```
|
|
@@ -403,7 +400,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
403
400
|
from value_object_pattern.usables.internet import PortValueObject
|
|
404
401
|
|
|
405
402
|
port = PortValueObject.LDAP()
|
|
406
|
-
|
|
407
403
|
print(repr(port))
|
|
408
404
|
# >>> PortValueObject(value=389)
|
|
409
405
|
```
|
|
@@ -423,7 +419,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
423
419
|
from value_object_pattern.usables.internet import PortValueObject
|
|
424
420
|
|
|
425
421
|
port = PortValueObject.HTTPS()
|
|
426
|
-
|
|
427
422
|
print(repr(port))
|
|
428
423
|
# >>> PortValueObject(value=443)
|
|
429
424
|
```
|
|
@@ -443,7 +438,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
443
438
|
from value_object_pattern.usables.internet import PortValueObject
|
|
444
439
|
|
|
445
440
|
port = PortValueObject.DoH()
|
|
446
|
-
|
|
447
441
|
print(repr(port))
|
|
448
442
|
# >>> PortValueObject(value=443)
|
|
449
443
|
```
|
|
@@ -463,7 +457,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
463
457
|
from value_object_pattern.usables.internet import PortValueObject
|
|
464
458
|
|
|
465
459
|
port = PortValueObject.SMTPS()
|
|
466
|
-
|
|
467
460
|
print(repr(port))
|
|
468
461
|
# >>> PortValueObject(value=465)
|
|
469
462
|
```
|
|
@@ -483,7 +476,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
483
476
|
from value_object_pattern.usables.internet import PortValueObject
|
|
484
477
|
|
|
485
478
|
port = PortValueObject.DoT()
|
|
486
|
-
|
|
487
479
|
print(repr(port))
|
|
488
480
|
# >>> PortValueObject(value=853)
|
|
489
481
|
```
|
|
@@ -503,7 +495,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
503
495
|
from value_object_pattern.usables.internet import PortValueObject
|
|
504
496
|
|
|
505
497
|
port = PortValueObject.IMAPS()
|
|
506
|
-
|
|
507
498
|
print(repr(port))
|
|
508
499
|
# >>> PortValueObject(value=993)
|
|
509
500
|
```
|
|
@@ -523,7 +514,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
523
514
|
from value_object_pattern.usables.internet import PortValueObject
|
|
524
515
|
|
|
525
516
|
port = PortValueObject.POP3S()
|
|
526
|
-
|
|
527
517
|
print(repr(port))
|
|
528
518
|
# >>> PortValueObject(value=995)
|
|
529
519
|
```
|
|
@@ -543,7 +533,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
543
533
|
from value_object_pattern.usables.internet import PortValueObject
|
|
544
534
|
|
|
545
535
|
port = PortValueObject.OPENVPN()
|
|
546
|
-
|
|
547
536
|
print(repr(port))
|
|
548
537
|
# >>> PortValueObject(value=1194)
|
|
549
538
|
```
|
|
@@ -563,7 +552,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
563
552
|
from value_object_pattern.usables.internet import PortValueObject
|
|
564
553
|
|
|
565
554
|
port = PortValueObject.MICROSOFT_SQL_SERVER()
|
|
566
|
-
|
|
567
555
|
print(repr(port))
|
|
568
556
|
# >>> PortValueObject(value=1433)
|
|
569
557
|
```
|
|
@@ -583,7 +571,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
583
571
|
from value_object_pattern.usables.internet import PortValueObject
|
|
584
572
|
|
|
585
573
|
port = PortValueObject.ORACLE()
|
|
586
|
-
|
|
587
574
|
print(repr(port))
|
|
588
575
|
# >>> PortValueObject(value=1521)
|
|
589
576
|
```
|
|
@@ -603,7 +590,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
603
590
|
from value_object_pattern.usables.internet import PortValueObject
|
|
604
591
|
|
|
605
592
|
port = PortValueObject.MYSQL()
|
|
606
|
-
|
|
607
593
|
print(repr(port))
|
|
608
594
|
# >>> PortValueObject(value=3306)
|
|
609
595
|
```
|
|
@@ -623,7 +609,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
623
609
|
from value_object_pattern.usables.internet import PortValueObject
|
|
624
610
|
|
|
625
611
|
port = PortValueObject.MARIADB()
|
|
626
|
-
|
|
627
612
|
print(repr(port))
|
|
628
613
|
# >>> PortValueObject(value=3306)
|
|
629
614
|
```
|
|
@@ -643,7 +628,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
643
628
|
from value_object_pattern.usables.internet import PortValueObject
|
|
644
629
|
|
|
645
630
|
port = PortValueObject.RDP()
|
|
646
|
-
|
|
647
631
|
print(repr(port))
|
|
648
632
|
# >>> PortValueObject(value=3389)
|
|
649
633
|
```
|
|
@@ -663,7 +647,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
663
647
|
from value_object_pattern.usables.internet import PortValueObject
|
|
664
648
|
|
|
665
649
|
port = PortValueObject.POSTGRESQL()
|
|
666
|
-
|
|
667
650
|
print(repr(port))
|
|
668
651
|
# >>> PortValueObject(value=5432)
|
|
669
652
|
```
|
|
@@ -683,7 +666,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
683
666
|
from value_object_pattern.usables.internet import PortValueObject
|
|
684
667
|
|
|
685
668
|
port = PortValueObject.REDIS()
|
|
686
|
-
|
|
687
669
|
print(repr(port))
|
|
688
670
|
# >>> PortValueObject(value=6379)
|
|
689
671
|
```
|
|
@@ -703,7 +685,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
703
685
|
from value_object_pattern.usables.internet import PortValueObject
|
|
704
686
|
|
|
705
687
|
port = PortValueObject.MINECRAFT()
|
|
706
|
-
|
|
707
688
|
print(repr(port))
|
|
708
689
|
# >>> PortValueObject(value=25565)
|
|
709
690
|
```
|
|
@@ -723,7 +704,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
723
704
|
from value_object_pattern.usables.internet import PortValueObject
|
|
724
705
|
|
|
725
706
|
port = PortValueObject.MONGODB()
|
|
726
|
-
|
|
727
707
|
print(repr(port))
|
|
728
708
|
# >>> PortValueObject(value=27017)
|
|
729
709
|
```
|
|
@@ -743,7 +723,6 @@ class PortValueObject(IntegerValueObject):
|
|
|
743
723
|
from value_object_pattern.usables.internet import PortValueObject
|
|
744
724
|
|
|
745
725
|
port = PortValueObject.WIREGUARD()
|
|
746
|
-
|
|
747
726
|
print(repr(port))
|
|
748
727
|
# >>> PortValueObject(value=51820)
|
|
749
728
|
```
|
|
@@ -21,23 +21,18 @@ def get_aws_cloud_regions() -> tuple[str, ...]:
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
@lru_cache(maxsize=1)
|
|
24
|
-
def get_tld_dict() ->
|
|
24
|
+
def get_tld_dict() -> tuple[str, ...]:
|
|
25
25
|
"""
|
|
26
|
-
Get top level domains from IANA in a dictionary
|
|
26
|
+
Get top level domains from IANA in a dictionary.
|
|
27
27
|
|
|
28
28
|
Returns:
|
|
29
|
-
|
|
29
|
+
tuple[str, ...]: The top-level domains in lower case.
|
|
30
30
|
|
|
31
31
|
References:
|
|
32
32
|
TLD Domains: https://data.iana.org/TLD/tlds-alpha-by-domain.txt
|
|
33
33
|
"""
|
|
34
34
|
with files(anchor='value_object_pattern.usables.internet.utils').joinpath('tld_domains.txt').open(mode='r') as file:
|
|
35
35
|
lines = file.read().splitlines()
|
|
36
|
+
filtered_lines = tuple(line for line in lines if not line.startswith('#') and (_line := line.strip().lower()))
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
tlds = tuple(line for line in lines if not line.startswith('#') and (_line := line.strip().lower()))
|
|
39
|
-
for tld in tlds:
|
|
40
|
-
key = len(tld)
|
|
41
|
-
temp.setdefault(key, []).append(tld)
|
|
42
|
-
|
|
43
|
-
return {key: tuple(value) for key, value in temp.items()}
|
|
38
|
+
return filtered_lines
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/__init__.py
RENAMED
|
File without changes
|
{value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/models/base_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{value_object_pattern-1.2.0 → value_object_pattern-1.3.0}/value_object_pattern/usables/__init__.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
|
|
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
|