We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
When attempting to generate a Finnish ssn of a specific age the provider crashes
* Faker version: 19.11.0
* OS: Windows 10

When attempting to generate a Finnish ssn of a certain age the provider crashes because ``datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))`` is always trying to generate a time within range. The ssn provider should handle situations where min_age and max_age are the same.
For example:
```
if min_age == max_age:
    age = datetime.timedelta(days=min_age * 365)
else:
    age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))
```

### Steps to reproduce

1. Create a faker with fi_FI locale: ``fake = Faker('fi_FI')``
2. Call the ssn provider with the same minimum and maximum age: ``fake.ssn(min_age=50, max_age=50, artificial=True)``

### Expected behavior

The faker generates an artificial Finnish ssn that is 50 years old. 

### Actual behavior

``ValueError: empty range for randrange() (18250, 18250, 0)``


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `faker/providers/ssn/fi_FI/__init__.py`
Content:
```
1 import datetime
2 
3 from .. import Provider as SsnProvider
4 
5 
6 class Provider(SsnProvider):
7     def ssn(self, min_age: int = 0, max_age: int = 105, artificial: bool = False) -> str:
8         """
9         Returns 11 character Finnish personal identity code (Henkilötunnus,
10         HETU, Swedish: Personbeteckning). This function assigns random
11         gender to person.
12 
13         HETU consists of eleven characters of the form DDMMYYCZZZQ, where
14         DDMMYY is the date of birth, C the century sign, ZZZ the individual
15         number and Q the control character (checksum). The sign for the
16         century is either + (1800–1899), - (1900–1999), or A (2000–2099).
17         The individual number ZZZ is odd for males and even for females.
18         For people born in Finland its range is 002-899
19         (larger numbers may be used in special cases).
20         An example of a valid code is 311280-888Y.
21 
22         https://en.wikipedia.org/wiki/National_identification_number#Finland
23         """
24 
25         def _checksum(hetu):
26             checksum_characters = "0123456789ABCDEFHJKLMNPRSTUVWXY"
27             return checksum_characters[int(hetu) % 31]
28 
29         age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))
30         birthday = datetime.date.today() - age
31         hetu_date = "%02d%02d%s" % (
32             birthday.day,
33             birthday.month,
34             str(birthday.year)[-2:],
35         )
36         range = (900, 999) if artificial is True else (2, 899)
37         suffix = str(self.generator.random.randrange(*range)).zfill(3)
38         checksum = _checksum(hetu_date + suffix)
39         separator = self._get_century_code(birthday.year)
40         hetu = "".join([hetu_date, separator, suffix, checksum])
41         return hetu
42 
43     @staticmethod
44     def _get_century_code(year: int) -> str:
45         """Returns the century code for a given year"""
46         if 2000 <= year < 3000:
47             separator = "A"
48         elif 1900 <= year < 2000:
49             separator = "-"
50         elif 1800 <= year < 1900:
51             separator = "+"
52         else:
53             raise ValueError("Finnish SSN do not support people born before the year 1800 or after the year 2999")
54         return separator
55 
56     vat_id_formats = ("FI########",)
57 
58     def vat_id(self) -> str:
59         """
60         http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
61         :return: A random Finnish VAT ID
62         """
63         return self.bothify(self.random_element(self.vat_id_formats))
64
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/faker/providers/ssn/fi_FI/__init__.py b/faker/providers/ssn/fi_FI/__init__.py
--- a/faker/providers/ssn/fi_FI/__init__.py
+++ b/faker/providers/ssn/fi_FI/__init__.py
@@ -26,7 +26,10 @@
             checksum_characters = "0123456789ABCDEFHJKLMNPRSTUVWXY"
             return checksum_characters[int(hetu) % 31]
 
-        age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))
+        if min_age == max_age:
+            age = datetime.timedelta(days=min_age * 365)
+        else:
+            age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))
         birthday = datetime.date.today() - age
         hetu_date = "%02d%02d%s" % (
             birthday.day,

{"golden_diff": "diff --git a/faker/providers/ssn/fi_FI/__init__.py b/faker/providers/ssn/fi_FI/__init__.py\n--- a/faker/providers/ssn/fi_FI/__init__.py\n+++ b/faker/providers/ssn/fi_FI/__init__.py\n@@ -26,7 +26,10 @@\n             checksum_characters = \"0123456789ABCDEFHJKLMNPRSTUVWXY\"\n             return checksum_characters[int(hetu) % 31]\n \n-        age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))\n+        if min_age == max_age:\n+            age = datetime.timedelta(days=min_age * 365)\n+        else:\n+            age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))\n         birthday = datetime.date.today() - age\n         hetu_date = \"%02d%02d%s\" % (\n             birthday.day,\n", "issue": "When attempting to generate a Finnish ssn of a specific age the provider crashes\n* Faker version: 19.11.0\r\n* OS: Windows 10\r\n\r\nWhen attempting to generate a Finnish ssn of a certain age the provider crashes because ``datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))`` is always trying to generate a time within range. The ssn provider should handle situations where min_age and max_age are the same.\r\nFor example:\r\n```\r\nif min_age == max_age:\r\n    age = datetime.timedelta(days=min_age * 365)\r\nelse:\r\n    age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))\r\n```\r\n\r\n### Steps to reproduce\r\n\r\n1. Create a faker with fi_FI locale: ``fake = Faker('fi_FI')``\r\n2. Call the ssn provider with the same minimum and maximum age: ``fake.ssn(min_age=50, max_age=50, artificial=True)``\r\n\r\n### Expected behavior\r\n\r\nThe faker generates an artificial Finnish ssn that is 50 years old. \r\n\r\n### Actual behavior\r\n\r\n``ValueError: empty range for randrange() (18250, 18250, 0)``\r\n\n", "before_files": [{"content": "import datetime\n\nfrom .. import Provider as SsnProvider\n\n\nclass Provider(SsnProvider):\n    def ssn(self, min_age: int = 0, max_age: int = 105, artificial: bool = False) -> str:\n        \"\"\"\n        Returns 11 character Finnish personal identity code (Henkil\u00f6tunnus,\n        HETU, Swedish: Personbeteckning). This function assigns random\n        gender to person.\n\n        HETU consists of eleven characters of the form DDMMYYCZZZQ, where\n        DDMMYY is the date of birth, C the century sign, ZZZ the individual\n        number and Q the control character (checksum). The sign for the\n        century is either + (1800\u20131899), - (1900\u20131999), or A (2000\u20132099).\n        The individual number ZZZ is odd for males and even for females.\n        For people born in Finland its range is 002-899\n        (larger numbers may be used in special cases).\n        An example of a valid code is 311280-888Y.\n\n        https://en.wikipedia.org/wiki/National_identification_number#Finland\n        \"\"\"\n\n        def _checksum(hetu):\n            checksum_characters = \"0123456789ABCDEFHJKLMNPRSTUVWXY\"\n            return checksum_characters[int(hetu) % 31]\n\n        age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))\n        birthday = datetime.date.today() - age\n        hetu_date = \"%02d%02d%s\" % (\n            birthday.day,\n            birthday.month,\n            str(birthday.year)[-2:],\n        )\n        range = (900, 999) if artificial is True else (2, 899)\n        suffix = str(self.generator.random.randrange(*range)).zfill(3)\n        checksum = _checksum(hetu_date + suffix)\n        separator = self._get_century_code(birthday.year)\n        hetu = \"\".join([hetu_date, separator, suffix, checksum])\n        return hetu\n\n    @staticmethod\n    def _get_century_code(year: int) -> str:\n        \"\"\"Returns the century code for a given year\"\"\"\n        if 2000 <= year < 3000:\n            separator = \"A\"\n        elif 1900 <= year < 2000:\n            separator = \"-\"\n        elif 1800 <= year < 1900:\n            separator = \"+\"\n        else:\n            raise ValueError(\"Finnish SSN do not support people born before the year 1800 or after the year 2999\")\n        return separator\n\n    vat_id_formats = (\"FI########\",)\n\n    def vat_id(self) -> str:\n        \"\"\"\n        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11\n        :return: A random Finnish VAT ID\n        \"\"\"\n        return self.bothify(self.random_element(self.vat_id_formats))\n", "path": "faker/providers/ssn/fi_FI/__init__.py"}], "after_files": [{"content": "import datetime\n\nfrom .. import Provider as SsnProvider\n\n\nclass Provider(SsnProvider):\n    def ssn(self, min_age: int = 0, max_age: int = 105, artificial: bool = False) -> str:\n        \"\"\"\n        Returns 11 character Finnish personal identity code (Henkil\u00f6tunnus,\n        HETU, Swedish: Personbeteckning). This function assigns random\n        gender to person.\n\n        HETU consists of eleven characters of the form DDMMYYCZZZQ, where\n        DDMMYY is the date of birth, C the century sign, ZZZ the individual\n        number and Q the control character (checksum). The sign for the\n        century is either + (1800\u20131899), - (1900\u20131999), or A (2000\u20132099).\n        The individual number ZZZ is odd for males and even for females.\n        For people born in Finland its range is 002-899\n        (larger numbers may be used in special cases).\n        An example of a valid code is 311280-888Y.\n\n        https://en.wikipedia.org/wiki/National_identification_number#Finland\n        \"\"\"\n\n        def _checksum(hetu):\n            checksum_characters = \"0123456789ABCDEFHJKLMNPRSTUVWXY\"\n            return checksum_characters[int(hetu) % 31]\n\n        if min_age == max_age:\n            age = datetime.timedelta(days=min_age * 365)\n        else:\n            age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365))\n        birthday = datetime.date.today() - age\n        hetu_date = \"%02d%02d%s\" % (\n            birthday.day,\n            birthday.month,\n            str(birthday.year)[-2:],\n        )\n        range = (900, 999) if artificial is True else (2, 899)\n        suffix = str(self.generator.random.randrange(*range)).zfill(3)\n        checksum = _checksum(hetu_date + suffix)\n        separator = self._get_century_code(birthday.year)\n        hetu = \"\".join([hetu_date, separator, suffix, checksum])\n        return hetu\n\n    @staticmethod\n    def _get_century_code(year: int) -> str:\n        \"\"\"Returns the century code for a given year\"\"\"\n        if 2000 <= year < 3000:\n            separator = \"A\"\n        elif 1900 <= year < 2000:\n            separator = \"-\"\n        elif 1800 <= year < 1900:\n            separator = \"+\"\n        else:\n            raise ValueError(\"Finnish SSN do not support people born before the year 1800 or after the year 2999\")\n        return separator\n\n    vat_id_formats = (\"FI########\",)\n\n    def vat_id(self) -> str:\n        \"\"\"\n        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11\n        :return: A random Finnish VAT ID\n        \"\"\"\n        return self.bothify(self.random_element(self.vat_id_formats))\n", "path": "faker/providers/ssn/fi_FI/__init__.py"}]}