Completed
Branch develop (eb876f)
by
unknown
21:14
created
vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -13,5 +13,5 @@
 block discarded – undo
13 13
 
14 14
 interface InvalidArgumentException extends Exception
15 15
 {
16
-    //
16
+	//
17 17
 }
Please login to merge, or discard this patch.
vendor/nesbot/carbon/src/Carbon/Exceptions/UnitNotConfiguredException.php 2 patches
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -15,34 +15,34 @@
 block discarded – undo
15 15
 
16 16
 class UnitNotConfiguredException extends UnitException
17 17
 {
18
-    /**
19
-     * The unit.
20
-     *
21
-     * @var string
22
-     */
23
-    protected $unit;
18
+	/**
19
+	 * The unit.
20
+	 *
21
+	 * @var string
22
+	 */
23
+	protected $unit;
24 24
 
25
-    /**
26
-     * Constructor.
27
-     *
28
-     * @param string         $unit
29
-     * @param int            $code
30
-     * @param Throwable|null $previous
31
-     */
32
-    public function __construct($unit, $code = 0, Throwable $previous = null)
33
-    {
34
-        $this->unit = $unit;
25
+	/**
26
+	 * Constructor.
27
+	 *
28
+	 * @param string         $unit
29
+	 * @param int            $code
30
+	 * @param Throwable|null $previous
31
+	 */
32
+	public function __construct($unit, $code = 0, Throwable $previous = null)
33
+	{
34
+		$this->unit = $unit;
35 35
 
36
-        parent::__construct("Unit $unit have no configuration to get total from other units.", $code, $previous);
37
-    }
36
+		parent::__construct("Unit $unit have no configuration to get total from other units.", $code, $previous);
37
+	}
38 38
 
39
-    /**
40
-     * Get the unit.
41
-     *
42
-     * @return string
43
-     */
44
-    public function getUnit(): string
45
-    {
46
-        return $this->unit;
47
-    }
39
+	/**
40
+	 * Get the unit.
41
+	 *
42
+	 * @return string
43
+	 */
44
+	public function getUnit(): string
45
+	{
46
+		return $this->unit;
47
+	}
48 48
 }
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -33,7 +33,7 @@
 block discarded – undo
33 33
     {
34 34
         $this->unit = $unit;
35 35
 
36
-        parent::__construct("Unit $unit have no configuration to get total from other units.", $code, $previous);
36
+        parent::__construct("unit $unit have no configuration to get total from other units.", $code, $previous);
37 37
     }
38 38
 
39 39
     /**
Please login to merge, or discard this patch.
vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidFormatException.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -15,5 +15,5 @@
 block discarded – undo
15 15
 
16 16
 class InvalidFormatException extends BaseInvalidArgumentException implements InvalidArgumentException
17 17
 {
18
-    //
18
+	//
19 19
 }
Please login to merge, or discard this patch.
vendor/nesbot/carbon/src/Carbon/Exceptions/NotLocaleAwareException.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -16,17 +16,17 @@
 block discarded – undo
16 16
 
17 17
 class NotLocaleAwareException extends BaseInvalidArgumentException implements InvalidArgumentException
18 18
 {
19
-    /**
20
-     * Constructor.
21
-     *
22
-     * @param mixed          $object
23
-     * @param int            $code
24
-     * @param Throwable|null $previous
25
-     */
26
-    public function __construct($object, $code = 0, Throwable $previous = null)
27
-    {
28
-        $dump = \is_object($object) ? \get_class($object) : \gettype($object);
19
+	/**
20
+	 * Constructor.
21
+	 *
22
+	 * @param mixed          $object
23
+	 * @param int            $code
24
+	 * @param Throwable|null $previous
25
+	 */
26
+	public function __construct($object, $code = 0, Throwable $previous = null)
27
+	{
28
+		$dump = \is_object($object) ? \get_class($object) : \gettype($object);
29 29
 
30
-        parent::__construct("$dump does neither implements Symfony\Contracts\Translation\LocaleAwareInterface nor getLocale() method.", $code, $previous);
31
-    }
30
+		parent::__construct("$dump does neither implements Symfony\Contracts\Translation\LocaleAwareInterface nor getLocale() method.", $code, $previous);
31
+	}
32 32
 }
Please login to merge, or discard this patch.
includes/webklex/php-imap/vendor/nesbot/carbon/src/Carbon/List/regions.php 1 patch
Indentation   +249 added lines, -249 removed lines patch added patch discarded remove patch
@@ -13,253 +13,253 @@
 block discarded – undo
13 13
  * ISO 3166-2
14 14
  */
15 15
 return [
16
-    'AD' => 'Andorra',
17
-    'AE' => 'United Arab Emirates',
18
-    'AF' => 'Afghanistan',
19
-    'AG' => 'Antigua and Barbuda',
20
-    'AI' => 'Anguilla',
21
-    'AL' => 'Albania',
22
-    'AM' => 'Armenia',
23
-    'AO' => 'Angola',
24
-    'AQ' => 'Antarctica',
25
-    'AR' => 'Argentina',
26
-    'AS' => 'American Samoa',
27
-    'AT' => 'Austria',
28
-    'AU' => 'Australia',
29
-    'AW' => 'Aruba',
30
-    'AX' => 'Åland Islands',
31
-    'AZ' => 'Azerbaijan',
32
-    'BA' => 'Bosnia and Herzegovina',
33
-    'BB' => 'Barbados',
34
-    'BD' => 'Bangladesh',
35
-    'BE' => 'Belgium',
36
-    'BF' => 'Burkina Faso',
37
-    'BG' => 'Bulgaria',
38
-    'BH' => 'Bahrain',
39
-    'BI' => 'Burundi',
40
-    'BJ' => 'Benin',
41
-    'BL' => 'Saint Barthélemy',
42
-    'BM' => 'Bermuda',
43
-    'BN' => 'Brunei Darussalam',
44
-    'BO' => 'Bolivia (Plurinational State of)',
45
-    'BQ' => 'Bonaire, Sint Eustatius and Saba',
46
-    'BR' => 'Brazil',
47
-    'BS' => 'Bahamas',
48
-    'BT' => 'Bhutan',
49
-    'BV' => 'Bouvet Island',
50
-    'BW' => 'Botswana',
51
-    'BY' => 'Belarus',
52
-    'BZ' => 'Belize',
53
-    'CA' => 'Canada',
54
-    'CC' => 'Cocos (Keeling) Islands',
55
-    'CD' => 'Congo, Democratic Republic of the',
56
-    'CF' => 'Central African Republic',
57
-    'CG' => 'Congo',
58
-    'CH' => 'Switzerland',
59
-    'CI' => 'Côte d\'Ivoire',
60
-    'CK' => 'Cook Islands',
61
-    'CL' => 'Chile',
62
-    'CM' => 'Cameroon',
63
-    'CN' => 'China',
64
-    'CO' => 'Colombia',
65
-    'CR' => 'Costa Rica',
66
-    'CU' => 'Cuba',
67
-    'CV' => 'Cabo Verde',
68
-    'CW' => 'Curaçao',
69
-    'CX' => 'Christmas Island',
70
-    'CY' => 'Cyprus',
71
-    'CZ' => 'Czechia',
72
-    'DE' => 'Germany',
73
-    'DJ' => 'Djibouti',
74
-    'DK' => 'Denmark',
75
-    'DM' => 'Dominica',
76
-    'DO' => 'Dominican Republic',
77
-    'DZ' => 'Algeria',
78
-    'EC' => 'Ecuador',
79
-    'EE' => 'Estonia',
80
-    'EG' => 'Egypt',
81
-    'EH' => 'Western Sahara',
82
-    'ER' => 'Eritrea',
83
-    'ES' => 'Spain',
84
-    'ET' => 'Ethiopia',
85
-    'FI' => 'Finland',
86
-    'FJ' => 'Fiji',
87
-    'FK' => 'Falkland Islands (Malvinas)',
88
-    'FM' => 'Micronesia (Federated States of)',
89
-    'FO' => 'Faroe Islands',
90
-    'FR' => 'France',
91
-    'GA' => 'Gabon',
92
-    'GB' => 'United Kingdom of Great Britain and Northern Ireland',
93
-    'GD' => 'Grenada',
94
-    'GE' => 'Georgia',
95
-    'GF' => 'French Guiana',
96
-    'GG' => 'Guernsey',
97
-    'GH' => 'Ghana',
98
-    'GI' => 'Gibraltar',
99
-    'GL' => 'Greenland',
100
-    'GM' => 'Gambia',
101
-    'GN' => 'Guinea',
102
-    'GP' => 'Guadeloupe',
103
-    'GQ' => 'Equatorial Guinea',
104
-    'GR' => 'Greece',
105
-    'GS' => 'South Georgia and the South Sandwich Islands',
106
-    'GT' => 'Guatemala',
107
-    'GU' => 'Guam',
108
-    'GW' => 'Guinea-Bissau',
109
-    'GY' => 'Guyana',
110
-    'HK' => 'Hong Kong',
111
-    'HM' => 'Heard Island and McDonald Islands',
112
-    'HN' => 'Honduras',
113
-    'HR' => 'Croatia',
114
-    'HT' => 'Haiti',
115
-    'HU' => 'Hungary',
116
-    'ID' => 'Indonesia',
117
-    'IE' => 'Ireland',
118
-    'IL' => 'Israel',
119
-    'IM' => 'Isle of Man',
120
-    'IN' => 'India',
121
-    'IO' => 'British Indian Ocean Territory',
122
-    'IQ' => 'Iraq',
123
-    'IR' => 'Iran (Islamic Republic of)',
124
-    'IS' => 'Iceland',
125
-    'IT' => 'Italy',
126
-    'JE' => 'Jersey',
127
-    'JM' => 'Jamaica',
128
-    'JO' => 'Jordan',
129
-    'JP' => 'Japan',
130
-    'KE' => 'Kenya',
131
-    'KG' => 'Kyrgyzstan',
132
-    'KH' => 'Cambodia',
133
-    'KI' => 'Kiribati',
134
-    'KM' => 'Comoros',
135
-    'KN' => 'Saint Kitts and Nevis',
136
-    'KP' => 'Korea (Democratic People\'s Republic of)',
137
-    'KR' => 'Korea, Republic of',
138
-    'KW' => 'Kuwait',
139
-    'KY' => 'Cayman Islands',
140
-    'KZ' => 'Kazakhstan',
141
-    'LA' => 'Lao People\'s Democratic Republic',
142
-    'LB' => 'Lebanon',
143
-    'LC' => 'Saint Lucia',
144
-    'LI' => 'Liechtenstein',
145
-    'LK' => 'Sri Lanka',
146
-    'LR' => 'Liberia',
147
-    'LS' => 'Lesotho',
148
-    'LT' => 'Lithuania',
149
-    'LU' => 'Luxembourg',
150
-    'LV' => 'Latvia',
151
-    'LY' => 'Libya',
152
-    'MA' => 'Morocco',
153
-    'MC' => 'Monaco',
154
-    'MD' => 'Moldova, Republic of',
155
-    'ME' => 'Montenegro',
156
-    'MF' => 'Saint Martin (French part)',
157
-    'MG' => 'Madagascar',
158
-    'MH' => 'Marshall Islands',
159
-    'MK' => 'Macedonia, the former Yugoslav Republic of',
160
-    'ML' => 'Mali',
161
-    'MM' => 'Myanmar',
162
-    'MN' => 'Mongolia',
163
-    'MO' => 'Macao',
164
-    'MP' => 'Northern Mariana Islands',
165
-    'MQ' => 'Martinique',
166
-    'MR' => 'Mauritania',
167
-    'MS' => 'Montserrat',
168
-    'MT' => 'Malta',
169
-    'MU' => 'Mauritius',
170
-    'MV' => 'Maldives',
171
-    'MW' => 'Malawi',
172
-    'MX' => 'Mexico',
173
-    'MY' => 'Malaysia',
174
-    'MZ' => 'Mozambique',
175
-    'NA' => 'Namibia',
176
-    'NC' => 'New Caledonia',
177
-    'NE' => 'Niger',
178
-    'NF' => 'Norfolk Island',
179
-    'NG' => 'Nigeria',
180
-    'NI' => 'Nicaragua',
181
-    'NL' => 'Netherlands',
182
-    'NO' => 'Norway',
183
-    'NP' => 'Nepal',
184
-    'NR' => 'Nauru',
185
-    'NU' => 'Niue',
186
-    'NZ' => 'New Zealand',
187
-    'OM' => 'Oman',
188
-    'PA' => 'Panama',
189
-    'PE' => 'Peru',
190
-    'PF' => 'French Polynesia',
191
-    'PG' => 'Papua New Guinea',
192
-    'PH' => 'Philippines',
193
-    'PK' => 'Pakistan',
194
-    'PL' => 'Poland',
195
-    'PM' => 'Saint Pierre and Miquelon',
196
-    'PN' => 'Pitcairn',
197
-    'PR' => 'Puerto Rico',
198
-    'PS' => 'Palestine, State of',
199
-    'PT' => 'Portugal',
200
-    'PW' => 'Palau',
201
-    'PY' => 'Paraguay',
202
-    'QA' => 'Qatar',
203
-    'RE' => 'Réunion',
204
-    'RO' => 'Romania',
205
-    'RS' => 'Serbia',
206
-    'RU' => 'Russian Federation',
207
-    'RW' => 'Rwanda',
208
-    'SA' => 'Saudi Arabia',
209
-    'SB' => 'Solomon Islands',
210
-    'SC' => 'Seychelles',
211
-    'SD' => 'Sudan',
212
-    'SE' => 'Sweden',
213
-    'SG' => 'Singapore',
214
-    'SH' => 'Saint Helena, Ascension and Tristan da Cunha',
215
-    'SI' => 'Slovenia',
216
-    'SJ' => 'Svalbard and Jan Mayen',
217
-    'SK' => 'Slovakia',
218
-    'SL' => 'Sierra Leone',
219
-    'SM' => 'San Marino',
220
-    'SN' => 'Senegal',
221
-    'SO' => 'Somalia',
222
-    'SR' => 'Suriname',
223
-    'SS' => 'South Sudan',
224
-    'ST' => 'Sao Tome and Principe',
225
-    'SV' => 'El Salvador',
226
-    'SX' => 'Sint Maarten (Dutch part)',
227
-    'SY' => 'Syrian Arab Republic',
228
-    'SZ' => 'Eswatini',
229
-    'TC' => 'Turks and Caicos Islands',
230
-    'TD' => 'Chad',
231
-    'TF' => 'French Southern Territories',
232
-    'TG' => 'Togo',
233
-    'TH' => 'Thailand',
234
-    'TJ' => 'Tajikistan',
235
-    'TK' => 'Tokelau',
236
-    'TL' => 'Timor-Leste',
237
-    'TM' => 'Turkmenistan',
238
-    'TN' => 'Tunisia',
239
-    'TO' => 'Tonga',
240
-    'TR' => 'Turkey',
241
-    'TT' => 'Trinidad and Tobago',
242
-    'TV' => 'Tuvalu',
243
-    'TW' => 'Taiwan, Province of China',
244
-    'TZ' => 'Tanzania, United Republic of',
245
-    'UA' => 'Ukraine',
246
-    'UG' => 'Uganda',
247
-    'UM' => 'United States Minor Outlying Islands',
248
-    'US' => 'United States of America',
249
-    'UY' => 'Uruguay',
250
-    'UZ' => 'Uzbekistan',
251
-    'VA' => 'Holy See',
252
-    'VC' => 'Saint Vincent and the Grenadines',
253
-    'VE' => 'Venezuela (Bolivarian Republic of)',
254
-    'VG' => 'Virgin Islands (British)',
255
-    'VI' => 'Virgin Islands (U.S.)',
256
-    'VN' => 'Viet Nam',
257
-    'VU' => 'Vanuatu',
258
-    'WF' => 'Wallis and Futuna',
259
-    'WS' => 'Samoa',
260
-    'YE' => 'Yemen',
261
-    'YT' => 'Mayotte',
262
-    'ZA' => 'South Africa',
263
-    'ZM' => 'Zambia',
264
-    'ZW' => 'Zimbabwe',
16
+	'AD' => 'Andorra',
17
+	'AE' => 'United Arab Emirates',
18
+	'AF' => 'Afghanistan',
19
+	'AG' => 'Antigua and Barbuda',
20
+	'AI' => 'Anguilla',
21
+	'AL' => 'Albania',
22
+	'AM' => 'Armenia',
23
+	'AO' => 'Angola',
24
+	'AQ' => 'Antarctica',
25
+	'AR' => 'Argentina',
26
+	'AS' => 'American Samoa',
27
+	'AT' => 'Austria',
28
+	'AU' => 'Australia',
29
+	'AW' => 'Aruba',
30
+	'AX' => 'Åland Islands',
31
+	'AZ' => 'Azerbaijan',
32
+	'BA' => 'Bosnia and Herzegovina',
33
+	'BB' => 'Barbados',
34
+	'BD' => 'Bangladesh',
35
+	'BE' => 'Belgium',
36
+	'BF' => 'Burkina Faso',
37
+	'BG' => 'Bulgaria',
38
+	'BH' => 'Bahrain',
39
+	'BI' => 'Burundi',
40
+	'BJ' => 'Benin',
41
+	'BL' => 'Saint Barthélemy',
42
+	'BM' => 'Bermuda',
43
+	'BN' => 'Brunei Darussalam',
44
+	'BO' => 'Bolivia (Plurinational State of)',
45
+	'BQ' => 'Bonaire, Sint Eustatius and Saba',
46
+	'BR' => 'Brazil',
47
+	'BS' => 'Bahamas',
48
+	'BT' => 'Bhutan',
49
+	'BV' => 'Bouvet Island',
50
+	'BW' => 'Botswana',
51
+	'BY' => 'Belarus',
52
+	'BZ' => 'Belize',
53
+	'CA' => 'Canada',
54
+	'CC' => 'Cocos (Keeling) Islands',
55
+	'CD' => 'Congo, Democratic Republic of the',
56
+	'CF' => 'Central African Republic',
57
+	'CG' => 'Congo',
58
+	'CH' => 'Switzerland',
59
+	'CI' => 'Côte d\'Ivoire',
60
+	'CK' => 'Cook Islands',
61
+	'CL' => 'Chile',
62
+	'CM' => 'Cameroon',
63
+	'CN' => 'China',
64
+	'CO' => 'Colombia',
65
+	'CR' => 'Costa Rica',
66
+	'CU' => 'Cuba',
67
+	'CV' => 'Cabo Verde',
68
+	'CW' => 'Curaçao',
69
+	'CX' => 'Christmas Island',
70
+	'CY' => 'Cyprus',
71
+	'CZ' => 'Czechia',
72
+	'DE' => 'Germany',
73
+	'DJ' => 'Djibouti',
74
+	'DK' => 'Denmark',
75
+	'DM' => 'Dominica',
76
+	'DO' => 'Dominican Republic',
77
+	'DZ' => 'Algeria',
78
+	'EC' => 'Ecuador',
79
+	'EE' => 'Estonia',
80
+	'EG' => 'Egypt',
81
+	'EH' => 'Western Sahara',
82
+	'ER' => 'Eritrea',
83
+	'ES' => 'Spain',
84
+	'ET' => 'Ethiopia',
85
+	'FI' => 'Finland',
86
+	'FJ' => 'Fiji',
87
+	'FK' => 'Falkland Islands (Malvinas)',
88
+	'FM' => 'Micronesia (Federated States of)',
89
+	'FO' => 'Faroe Islands',
90
+	'FR' => 'France',
91
+	'GA' => 'Gabon',
92
+	'GB' => 'United Kingdom of Great Britain and Northern Ireland',
93
+	'GD' => 'Grenada',
94
+	'GE' => 'Georgia',
95
+	'GF' => 'French Guiana',
96
+	'GG' => 'Guernsey',
97
+	'GH' => 'Ghana',
98
+	'GI' => 'Gibraltar',
99
+	'GL' => 'Greenland',
100
+	'GM' => 'Gambia',
101
+	'GN' => 'Guinea',
102
+	'GP' => 'Guadeloupe',
103
+	'GQ' => 'Equatorial Guinea',
104
+	'GR' => 'Greece',
105
+	'GS' => 'South Georgia and the South Sandwich Islands',
106
+	'GT' => 'Guatemala',
107
+	'GU' => 'Guam',
108
+	'GW' => 'Guinea-Bissau',
109
+	'GY' => 'Guyana',
110
+	'HK' => 'Hong Kong',
111
+	'HM' => 'Heard Island and McDonald Islands',
112
+	'HN' => 'Honduras',
113
+	'HR' => 'Croatia',
114
+	'HT' => 'Haiti',
115
+	'HU' => 'Hungary',
116
+	'ID' => 'Indonesia',
117
+	'IE' => 'Ireland',
118
+	'IL' => 'Israel',
119
+	'IM' => 'Isle of Man',
120
+	'IN' => 'India',
121
+	'IO' => 'British Indian Ocean Territory',
122
+	'IQ' => 'Iraq',
123
+	'IR' => 'Iran (Islamic Republic of)',
124
+	'IS' => 'Iceland',
125
+	'IT' => 'Italy',
126
+	'JE' => 'Jersey',
127
+	'JM' => 'Jamaica',
128
+	'JO' => 'Jordan',
129
+	'JP' => 'Japan',
130
+	'KE' => 'Kenya',
131
+	'KG' => 'Kyrgyzstan',
132
+	'KH' => 'Cambodia',
133
+	'KI' => 'Kiribati',
134
+	'KM' => 'Comoros',
135
+	'KN' => 'Saint Kitts and Nevis',
136
+	'KP' => 'Korea (Democratic People\'s Republic of)',
137
+	'KR' => 'Korea, Republic of',
138
+	'KW' => 'Kuwait',
139
+	'KY' => 'Cayman Islands',
140
+	'KZ' => 'Kazakhstan',
141
+	'LA' => 'Lao People\'s Democratic Republic',
142
+	'LB' => 'Lebanon',
143
+	'LC' => 'Saint Lucia',
144
+	'LI' => 'Liechtenstein',
145
+	'LK' => 'Sri Lanka',
146
+	'LR' => 'Liberia',
147
+	'LS' => 'Lesotho',
148
+	'LT' => 'Lithuania',
149
+	'LU' => 'Luxembourg',
150
+	'LV' => 'Latvia',
151
+	'LY' => 'Libya',
152
+	'MA' => 'Morocco',
153
+	'MC' => 'Monaco',
154
+	'MD' => 'Moldova, Republic of',
155
+	'ME' => 'Montenegro',
156
+	'MF' => 'Saint Martin (French part)',
157
+	'MG' => 'Madagascar',
158
+	'MH' => 'Marshall Islands',
159
+	'MK' => 'Macedonia, the former Yugoslav Republic of',
160
+	'ML' => 'Mali',
161
+	'MM' => 'Myanmar',
162
+	'MN' => 'Mongolia',
163
+	'MO' => 'Macao',
164
+	'MP' => 'Northern Mariana Islands',
165
+	'MQ' => 'Martinique',
166
+	'MR' => 'Mauritania',
167
+	'MS' => 'Montserrat',
168
+	'MT' => 'Malta',
169
+	'MU' => 'Mauritius',
170
+	'MV' => 'Maldives',
171
+	'MW' => 'Malawi',
172
+	'MX' => 'Mexico',
173
+	'MY' => 'Malaysia',
174
+	'MZ' => 'Mozambique',
175
+	'NA' => 'Namibia',
176
+	'NC' => 'New Caledonia',
177
+	'NE' => 'Niger',
178
+	'NF' => 'Norfolk Island',
179
+	'NG' => 'Nigeria',
180
+	'NI' => 'Nicaragua',
181
+	'NL' => 'Netherlands',
182
+	'NO' => 'Norway',
183
+	'NP' => 'Nepal',
184
+	'NR' => 'Nauru',
185
+	'NU' => 'Niue',
186
+	'NZ' => 'New Zealand',
187
+	'OM' => 'Oman',
188
+	'PA' => 'Panama',
189
+	'PE' => 'Peru',
190
+	'PF' => 'French Polynesia',
191
+	'PG' => 'Papua New Guinea',
192
+	'PH' => 'Philippines',
193
+	'PK' => 'Pakistan',
194
+	'PL' => 'Poland',
195
+	'PM' => 'Saint Pierre and Miquelon',
196
+	'PN' => 'Pitcairn',
197
+	'PR' => 'Puerto Rico',
198
+	'PS' => 'Palestine, State of',
199
+	'PT' => 'Portugal',
200
+	'PW' => 'Palau',
201
+	'PY' => 'Paraguay',
202
+	'QA' => 'Qatar',
203
+	'RE' => 'Réunion',
204
+	'RO' => 'Romania',
205
+	'RS' => 'Serbia',
206
+	'RU' => 'Russian Federation',
207
+	'RW' => 'Rwanda',
208
+	'SA' => 'Saudi Arabia',
209
+	'SB' => 'Solomon Islands',
210
+	'SC' => 'Seychelles',
211
+	'SD' => 'Sudan',
212
+	'SE' => 'Sweden',
213
+	'SG' => 'Singapore',
214
+	'SH' => 'Saint Helena, Ascension and Tristan da Cunha',
215
+	'SI' => 'Slovenia',
216
+	'SJ' => 'Svalbard and Jan Mayen',
217
+	'SK' => 'Slovakia',
218
+	'SL' => 'Sierra Leone',
219
+	'SM' => 'San Marino',
220
+	'SN' => 'Senegal',
221
+	'SO' => 'Somalia',
222
+	'SR' => 'Suriname',
223
+	'SS' => 'South Sudan',
224
+	'ST' => 'Sao Tome and Principe',
225
+	'SV' => 'El Salvador',
226
+	'SX' => 'Sint Maarten (Dutch part)',
227
+	'SY' => 'Syrian Arab Republic',
228
+	'SZ' => 'Eswatini',
229
+	'TC' => 'Turks and Caicos Islands',
230
+	'TD' => 'Chad',
231
+	'TF' => 'French Southern Territories',
232
+	'TG' => 'Togo',
233
+	'TH' => 'Thailand',
234
+	'TJ' => 'Tajikistan',
235
+	'TK' => 'Tokelau',
236
+	'TL' => 'Timor-Leste',
237
+	'TM' => 'Turkmenistan',
238
+	'TN' => 'Tunisia',
239
+	'TO' => 'Tonga',
240
+	'TR' => 'Turkey',
241
+	'TT' => 'Trinidad and Tobago',
242
+	'TV' => 'Tuvalu',
243
+	'TW' => 'Taiwan, Province of China',
244
+	'TZ' => 'Tanzania, United Republic of',
245
+	'UA' => 'Ukraine',
246
+	'UG' => 'Uganda',
247
+	'UM' => 'United States Minor Outlying Islands',
248
+	'US' => 'United States of America',
249
+	'UY' => 'Uruguay',
250
+	'UZ' => 'Uzbekistan',
251
+	'VA' => 'Holy See',
252
+	'VC' => 'Saint Vincent and the Grenadines',
253
+	'VE' => 'Venezuela (Bolivarian Republic of)',
254
+	'VG' => 'Virgin Islands (British)',
255
+	'VI' => 'Virgin Islands (U.S.)',
256
+	'VN' => 'Viet Nam',
257
+	'VU' => 'Vanuatu',
258
+	'WF' => 'Wallis and Futuna',
259
+	'WS' => 'Samoa',
260
+	'YE' => 'Yemen',
261
+	'YT' => 'Mayotte',
262
+	'ZA' => 'South Africa',
263
+	'ZM' => 'Zambia',
264
+	'ZW' => 'Zimbabwe',
265 265
 ];
Please login to merge, or discard this patch.
webklex/php-imap/vendor/nesbot/carbon/src/Carbon/List/languages.php 1 patch
Indentation   +1222 added lines, -1222 removed lines patch added patch discarded remove patch
@@ -10,1230 +10,1230 @@
 block discarded – undo
10 10
  */
11 11
 
12 12
 return [
13
-    /*
13
+	/*
14 14
      * ISO 639-2
15 15
      */
16
-    'ab' => [
17
-        'isoName' => 'Abkhazian',
18
-        'nativeName' => 'аҧсуа бызшәа, аҧсшәа',
19
-    ],
20
-    'aa' => [
21
-        'isoName' => 'Afar',
22
-        'nativeName' => 'Afaraf',
23
-    ],
24
-    'af' => [
25
-        'isoName' => 'Afrikaans',
26
-        'nativeName' => 'Afrikaans',
27
-    ],
28
-    'ak' => [
29
-        'isoName' => 'Akan',
30
-        'nativeName' => 'Akan',
31
-    ],
32
-    'sq' => [
33
-        'isoName' => 'Albanian',
34
-        'nativeName' => 'Shqip',
35
-    ],
36
-    'am' => [
37
-        'isoName' => 'Amharic',
38
-        'nativeName' => 'አማርኛ',
39
-    ],
40
-    'ar' => [
41
-        'isoName' => 'Arabic',
42
-        'nativeName' => 'العربية',
43
-    ],
44
-    'an' => [
45
-        'isoName' => 'Aragonese',
46
-        'nativeName' => 'aragonés',
47
-    ],
48
-    'hy' => [
49
-        'isoName' => 'Armenian',
50
-        'nativeName' => 'Հայերեն',
51
-    ],
52
-    'as' => [
53
-        'isoName' => 'Assamese',
54
-        'nativeName' => 'অসমীয়া',
55
-    ],
56
-    'av' => [
57
-        'isoName' => 'Avaric',
58
-        'nativeName' => 'авар мацӀ, магӀарул мацӀ',
59
-    ],
60
-    'ae' => [
61
-        'isoName' => 'Avestan',
62
-        'nativeName' => 'avesta',
63
-    ],
64
-    'ay' => [
65
-        'isoName' => 'Aymara',
66
-        'nativeName' => 'aymar aru',
67
-    ],
68
-    'az' => [
69
-        'isoName' => 'Azerbaijani',
70
-        'nativeName' => 'azərbaycan dili',
71
-    ],
72
-    'bm' => [
73
-        'isoName' => 'Bambara',
74
-        'nativeName' => 'bamanankan',
75
-    ],
76
-    'ba' => [
77
-        'isoName' => 'Bashkir',
78
-        'nativeName' => 'башҡорт теле',
79
-    ],
80
-    'eu' => [
81
-        'isoName' => 'Basque',
82
-        'nativeName' => 'euskara, euskera',
83
-    ],
84
-    'be' => [
85
-        'isoName' => 'Belarusian',
86
-        'nativeName' => 'беларуская мова',
87
-    ],
88
-    'bn' => [
89
-        'isoName' => 'Bengali',
90
-        'nativeName' => 'বাংলা',
91
-    ],
92
-    'bh' => [
93
-        'isoName' => 'Bihari languages',
94
-        'nativeName' => 'भोजपुरी',
95
-    ],
96
-    'bi' => [
97
-        'isoName' => 'Bislama',
98
-        'nativeName' => 'Bislama',
99
-    ],
100
-    'bs' => [
101
-        'isoName' => 'Bosnian',
102
-        'nativeName' => 'bosanski jezik',
103
-    ],
104
-    'br' => [
105
-        'isoName' => 'Breton',
106
-        'nativeName' => 'brezhoneg',
107
-    ],
108
-    'bg' => [
109
-        'isoName' => 'Bulgarian',
110
-        'nativeName' => 'български език',
111
-    ],
112
-    'my' => [
113
-        'isoName' => 'Burmese',
114
-        'nativeName' => 'ဗမာစာ',
115
-    ],
116
-    'ca' => [
117
-        'isoName' => 'Catalan, Valencian',
118
-        'nativeName' => 'català, valencià',
119
-    ],
120
-    'ch' => [
121
-        'isoName' => 'Chamorro',
122
-        'nativeName' => 'Chamoru',
123
-    ],
124
-    'ce' => [
125
-        'isoName' => 'Chechen',
126
-        'nativeName' => 'нохчийн мотт',
127
-    ],
128
-    'ny' => [
129
-        'isoName' => 'Chichewa, Chewa, Nyanja',
130
-        'nativeName' => 'chiCheŵa, chinyanja',
131
-    ],
132
-    'zh' => [
133
-        'isoName' => 'Chinese',
134
-        'nativeName' => '中文 (Zhōngwén), 汉语, 漢語',
135
-    ],
136
-    'cv' => [
137
-        'isoName' => 'Chuvash',
138
-        'nativeName' => 'чӑваш чӗлхи',
139
-    ],
140
-    'kw' => [
141
-        'isoName' => 'Cornish',
142
-        'nativeName' => 'Kernewek',
143
-    ],
144
-    'co' => [
145
-        'isoName' => 'Corsican',
146
-        'nativeName' => 'corsu, lingua corsa',
147
-    ],
148
-    'cr' => [
149
-        'isoName' => 'Cree',
150
-        'nativeName' => 'ᓀᐦᐃᔭᐍᐏᐣ',
151
-    ],
152
-    'hr' => [
153
-        'isoName' => 'Croatian',
154
-        'nativeName' => 'hrvatski jezik',
155
-    ],
156
-    'cs' => [
157
-        'isoName' => 'Czech',
158
-        'nativeName' => 'čeština, český jazyk',
159
-    ],
160
-    'da' => [
161
-        'isoName' => 'Danish',
162
-        'nativeName' => 'dansk',
163
-    ],
164
-    'dv' => [
165
-        'isoName' => 'Divehi, Dhivehi, Maldivian',
166
-        'nativeName' => 'ދިވެހި',
167
-    ],
168
-    'nl' => [
169
-        'isoName' => 'Dutch, Flemish',
170
-        'nativeName' => 'Nederlands, Vlaams',
171
-    ],
172
-    'dz' => [
173
-        'isoName' => 'Dzongkha',
174
-        'nativeName' => 'རྫོང་ཁ',
175
-    ],
176
-    'en' => [
177
-        'isoName' => 'English',
178
-        'nativeName' => 'English',
179
-    ],
180
-    'eo' => [
181
-        'isoName' => 'Esperanto',
182
-        'nativeName' => 'Esperanto',
183
-    ],
184
-    'et' => [
185
-        'isoName' => 'Estonian',
186
-        'nativeName' => 'eesti, eesti keel',
187
-    ],
188
-    'ee' => [
189
-        'isoName' => 'Ewe',
190
-        'nativeName' => 'Eʋegbe',
191
-    ],
192
-    'fo' => [
193
-        'isoName' => 'Faroese',
194
-        'nativeName' => 'føroyskt',
195
-    ],
196
-    'fj' => [
197
-        'isoName' => 'Fijian',
198
-        'nativeName' => 'vosa Vakaviti',
199
-    ],
200
-    'fi' => [
201
-        'isoName' => 'Finnish',
202
-        'nativeName' => 'suomi, suomen kieli',
203
-    ],
204
-    'fr' => [
205
-        'isoName' => 'French',
206
-        'nativeName' => 'français',
207
-    ],
208
-    'ff' => [
209
-        'isoName' => 'Fulah',
210
-        'nativeName' => 'Fulfulde, Pulaar, Pular',
211
-    ],
212
-    'gl' => [
213
-        'isoName' => 'Galician',
214
-        'nativeName' => 'Galego',
215
-    ],
216
-    'ka' => [
217
-        'isoName' => 'Georgian',
218
-        'nativeName' => 'ქართული',
219
-    ],
220
-    'de' => [
221
-        'isoName' => 'German',
222
-        'nativeName' => 'Deutsch',
223
-    ],
224
-    'el' => [
225
-        'isoName' => 'Greek (modern)',
226
-        'nativeName' => 'ελληνικά',
227
-    ],
228
-    'gn' => [
229
-        'isoName' => 'Guaraní',
230
-        'nativeName' => 'Avañe\'ẽ',
231
-    ],
232
-    'gu' => [
233
-        'isoName' => 'Gujarati',
234
-        'nativeName' => 'ગુજરાતી',
235
-    ],
236
-    'ht' => [
237
-        'isoName' => 'Haitian, Haitian Creole',
238
-        'nativeName' => 'Kreyòl ayisyen',
239
-    ],
240
-    'ha' => [
241
-        'isoName' => 'Hausa',
242
-        'nativeName' => '(Hausa) هَوُسَ',
243
-    ],
244
-    'he' => [
245
-        'isoName' => 'Hebrew (modern)',
246
-        'nativeName' => 'עברית',
247
-    ],
248
-    'hz' => [
249
-        'isoName' => 'Herero',
250
-        'nativeName' => 'Otjiherero',
251
-    ],
252
-    'hi' => [
253
-        'isoName' => 'Hindi',
254
-        'nativeName' => 'हिन्दी, हिंदी',
255
-    ],
256
-    'ho' => [
257
-        'isoName' => 'Hiri Motu',
258
-        'nativeName' => 'Hiri Motu',
259
-    ],
260
-    'hu' => [
261
-        'isoName' => 'Hungarian',
262
-        'nativeName' => 'magyar',
263
-    ],
264
-    'ia' => [
265
-        'isoName' => 'Interlingua',
266
-        'nativeName' => 'Interlingua',
267
-    ],
268
-    'id' => [
269
-        'isoName' => 'Indonesian',
270
-        'nativeName' => 'Bahasa Indonesia',
271
-    ],
272
-    'ie' => [
273
-        'isoName' => 'Interlingue',
274
-        'nativeName' => 'Originally called Occidental; then Interlingue after WWII',
275
-    ],
276
-    'ga' => [
277
-        'isoName' => 'Irish',
278
-        'nativeName' => 'Gaeilge',
279
-    ],
280
-    'ig' => [
281
-        'isoName' => 'Igbo',
282
-        'nativeName' => 'Asụsụ Igbo',
283
-    ],
284
-    'ik' => [
285
-        'isoName' => 'Inupiaq',
286
-        'nativeName' => 'Iñupiaq, Iñupiatun',
287
-    ],
288
-    'io' => [
289
-        'isoName' => 'Ido',
290
-        'nativeName' => 'Ido',
291
-    ],
292
-    'is' => [
293
-        'isoName' => 'Icelandic',
294
-        'nativeName' => 'Íslenska',
295
-    ],
296
-    'it' => [
297
-        'isoName' => 'Italian',
298
-        'nativeName' => 'Italiano',
299
-    ],
300
-    'iu' => [
301
-        'isoName' => 'Inuktitut',
302
-        'nativeName' => 'ᐃᓄᒃᑎᑐᑦ',
303
-    ],
304
-    'ja' => [
305
-        'isoName' => 'Japanese',
306
-        'nativeName' => '日本語 (にほんご)',
307
-    ],
308
-    'jv' => [
309
-        'isoName' => 'Javanese',
310
-        'nativeName' => 'ꦧꦱꦗꦮ, Basa Jawa',
311
-    ],
312
-    'kl' => [
313
-        'isoName' => 'Kalaallisut, Greenlandic',
314
-        'nativeName' => 'kalaallisut, kalaallit oqaasii',
315
-    ],
316
-    'kn' => [
317
-        'isoName' => 'Kannada',
318
-        'nativeName' => 'ಕನ್ನಡ',
319
-    ],
320
-    'kr' => [
321
-        'isoName' => 'Kanuri',
322
-        'nativeName' => 'Kanuri',
323
-    ],
324
-    'ks' => [
325
-        'isoName' => 'Kashmiri',
326
-        'nativeName' => 'कश्मीरी, كشميري‎',
327
-    ],
328
-    'kk' => [
329
-        'isoName' => 'Kazakh',
330
-        'nativeName' => 'қазақ тілі',
331
-    ],
332
-    'km' => [
333
-        'isoName' => 'Central Khmer',
334
-        'nativeName' => 'ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ',
335
-    ],
336
-    'ki' => [
337
-        'isoName' => 'Kikuyu, Gikuyu',
338
-        'nativeName' => 'Gĩkũyũ',
339
-    ],
340
-    'rw' => [
341
-        'isoName' => 'Kinyarwanda',
342
-        'nativeName' => 'Ikinyarwanda',
343
-    ],
344
-    'ky' => [
345
-        'isoName' => 'Kirghiz, Kyrgyz',
346
-        'nativeName' => 'Кыргызча, Кыргыз тили',
347
-    ],
348
-    'kv' => [
349
-        'isoName' => 'Komi',
350
-        'nativeName' => 'коми кыв',
351
-    ],
352
-    'kg' => [
353
-        'isoName' => 'Kongo',
354
-        'nativeName' => 'Kikongo',
355
-    ],
356
-    'ko' => [
357
-        'isoName' => 'Korean',
358
-        'nativeName' => '한국어',
359
-    ],
360
-    'ku' => [
361
-        'isoName' => 'Kurdish',
362
-        'nativeName' => 'Kurdî, کوردی‎',
363
-    ],
364
-    'kj' => [
365
-        'isoName' => 'Kuanyama, Kwanyama',
366
-        'nativeName' => 'Kuanyama',
367
-    ],
368
-    'la' => [
369
-        'isoName' => 'Latin',
370
-        'nativeName' => 'latine, lingua latina',
371
-    ],
372
-    'lb' => [
373
-        'isoName' => 'Luxembourgish, Letzeburgesch',
374
-        'nativeName' => 'Lëtzebuergesch',
375
-    ],
376
-    'lg' => [
377
-        'isoName' => 'Ganda',
378
-        'nativeName' => 'Luganda',
379
-    ],
380
-    'li' => [
381
-        'isoName' => 'Limburgan, Limburger, Limburgish',
382
-        'nativeName' => 'Limburgs',
383
-    ],
384
-    'ln' => [
385
-        'isoName' => 'Lingala',
386
-        'nativeName' => 'Lingála',
387
-    ],
388
-    'lo' => [
389
-        'isoName' => 'Lao',
390
-        'nativeName' => 'ພາສາລາວ',
391
-    ],
392
-    'lt' => [
393
-        'isoName' => 'Lithuanian',
394
-        'nativeName' => 'lietuvių kalba',
395
-    ],
396
-    'lu' => [
397
-        'isoName' => 'Luba-Katanga',
398
-        'nativeName' => 'Kiluba',
399
-    ],
400
-    'lv' => [
401
-        'isoName' => 'Latvian',
402
-        'nativeName' => 'latviešu valoda',
403
-    ],
404
-    'gv' => [
405
-        'isoName' => 'Manx',
406
-        'nativeName' => 'Gaelg, Gailck',
407
-    ],
408
-    'mk' => [
409
-        'isoName' => 'Macedonian',
410
-        'nativeName' => 'македонски јазик',
411
-    ],
412
-    'mg' => [
413
-        'isoName' => 'Malagasy',
414
-        'nativeName' => 'fiteny malagasy',
415
-    ],
416
-    'ms' => [
417
-        'isoName' => 'Malay',
418
-        'nativeName' => 'Bahasa Melayu, بهاس ملايو‎',
419
-    ],
420
-    'ml' => [
421
-        'isoName' => 'Malayalam',
422
-        'nativeName' => 'മലയാളം',
423
-    ],
424
-    'mt' => [
425
-        'isoName' => 'Maltese',
426
-        'nativeName' => 'Malti',
427
-    ],
428
-    'mi' => [
429
-        'isoName' => 'Maori',
430
-        'nativeName' => 'te reo Māori',
431
-    ],
432
-    'mr' => [
433
-        'isoName' => 'Marathi',
434
-        'nativeName' => 'मराठी',
435
-    ],
436
-    'mh' => [
437
-        'isoName' => 'Marshallese',
438
-        'nativeName' => 'Kajin M̧ajeļ',
439
-    ],
440
-    'mn' => [
441
-        'isoName' => 'Mongolian',
442
-        'nativeName' => 'Монгол хэл',
443
-    ],
444
-    'na' => [
445
-        'isoName' => 'Nauru',
446
-        'nativeName' => 'Dorerin Naoero',
447
-    ],
448
-    'nv' => [
449
-        'isoName' => 'Navajo, Navaho',
450
-        'nativeName' => 'Diné bizaad',
451
-    ],
452
-    'nd' => [
453
-        'isoName' => 'North Ndebele',
454
-        'nativeName' => 'isiNdebele',
455
-    ],
456
-    'ne' => [
457
-        'isoName' => 'Nepali',
458
-        'nativeName' => 'नेपाली',
459
-    ],
460
-    'ng' => [
461
-        'isoName' => 'Ndonga',
462
-        'nativeName' => 'Owambo',
463
-    ],
464
-    'nb' => [
465
-        'isoName' => 'Norwegian Bokmål',
466
-        'nativeName' => 'Norsk Bokmål',
467
-    ],
468
-    'nn' => [
469
-        'isoName' => 'Norwegian Nynorsk',
470
-        'nativeName' => 'Norsk Nynorsk',
471
-    ],
472
-    'no' => [
473
-        'isoName' => 'Norwegian',
474
-        'nativeName' => 'Norsk',
475
-    ],
476
-    'ii' => [
477
-        'isoName' => 'Sichuan Yi, Nuosu',
478
-        'nativeName' => 'ꆈꌠ꒿ Nuosuhxop',
479
-    ],
480
-    'nr' => [
481
-        'isoName' => 'South Ndebele',
482
-        'nativeName' => 'isiNdebele',
483
-    ],
484
-    'oc' => [
485
-        'isoName' => 'Occitan',
486
-        'nativeName' => 'occitan, lenga d\'òc',
487
-    ],
488
-    'oj' => [
489
-        'isoName' => 'Ojibwa',
490
-        'nativeName' => 'ᐊᓂᔑᓈᐯᒧᐎᓐ',
491
-    ],
492
-    'cu' => [
493
-        'isoName' => 'Church Slavic, Church Slavonic, Old Church Slavonic, Old Slavonic, Old Bulgarian',
494
-        'nativeName' => 'ѩзыкъ словѣньскъ',
495
-    ],
496
-    'om' => [
497
-        'isoName' => 'Oromo',
498
-        'nativeName' => 'Afaan Oromoo',
499
-    ],
500
-    'or' => [
501
-        'isoName' => 'Oriya',
502
-        'nativeName' => 'ଓଡ଼ିଆ',
503
-    ],
504
-    'os' => [
505
-        'isoName' => 'Ossetian, Ossetic',
506
-        'nativeName' => 'ирон æвзаг',
507
-    ],
508
-    'pa' => [
509
-        'isoName' => 'Panjabi, Punjabi',
510
-        'nativeName' => 'ਪੰਜਾਬੀ',
511
-    ],
512
-    'pi' => [
513
-        'isoName' => 'Pali',
514
-        'nativeName' => 'पाऴि',
515
-    ],
516
-    'fa' => [
517
-        'isoName' => 'Persian',
518
-        'nativeName' => 'فارسی',
519
-    ],
520
-    'pl' => [
521
-        'isoName' => 'Polish',
522
-        'nativeName' => 'język polski, polszczyzna',
523
-    ],
524
-    'ps' => [
525
-        'isoName' => 'Pashto, Pushto',
526
-        'nativeName' => 'پښتو',
527
-    ],
528
-    'pt' => [
529
-        'isoName' => 'Portuguese',
530
-        'nativeName' => 'Português',
531
-    ],
532
-    'qu' => [
533
-        'isoName' => 'Quechua',
534
-        'nativeName' => 'Runa Simi, Kichwa',
535
-    ],
536
-    'rm' => [
537
-        'isoName' => 'Romansh',
538
-        'nativeName' => 'Rumantsch Grischun',
539
-    ],
540
-    'rn' => [
541
-        'isoName' => 'Rundi',
542
-        'nativeName' => 'Ikirundi',
543
-    ],
544
-    'ro' => [
545
-        'isoName' => 'Romanian, Moldavian, Moldovan',
546
-        'nativeName' => 'Română',
547
-    ],
548
-    'ru' => [
549
-        'isoName' => 'Russian',
550
-        'nativeName' => 'русский',
551
-    ],
552
-    'sa' => [
553
-        'isoName' => 'Sanskrit',
554
-        'nativeName' => 'संस्कृतम्',
555
-    ],
556
-    'sc' => [
557
-        'isoName' => 'Sardinian',
558
-        'nativeName' => 'sardu',
559
-    ],
560
-    'sd' => [
561
-        'isoName' => 'Sindhi',
562
-        'nativeName' => 'सिन्धी, سنڌي، سندھی‎',
563
-    ],
564
-    'se' => [
565
-        'isoName' => 'Northern Sami',
566
-        'nativeName' => 'Davvisámegiella',
567
-    ],
568
-    'sm' => [
569
-        'isoName' => 'Samoan',
570
-        'nativeName' => 'gagana fa\'a Samoa',
571
-    ],
572
-    'sg' => [
573
-        'isoName' => 'Sango',
574
-        'nativeName' => 'yângâ tî sängö',
575
-    ],
576
-    'sr' => [
577
-        'isoName' => 'Serbian',
578
-        'nativeName' => 'српски језик',
579
-    ],
580
-    'gd' => [
581
-        'isoName' => 'Gaelic, Scottish Gaelic',
582
-        'nativeName' => 'Gàidhlig',
583
-    ],
584
-    'sn' => [
585
-        'isoName' => 'Shona',
586
-        'nativeName' => 'chiShona',
587
-    ],
588
-    'si' => [
589
-        'isoName' => 'Sinhala, Sinhalese',
590
-        'nativeName' => 'සිංහල',
591
-    ],
592
-    'sk' => [
593
-        'isoName' => 'Slovak',
594
-        'nativeName' => 'Slovenčina, Slovenský Jazyk',
595
-    ],
596
-    'sl' => [
597
-        'isoName' => 'Slovene',
598
-        'nativeName' => 'Slovenski Jezik, Slovenščina',
599
-    ],
600
-    'so' => [
601
-        'isoName' => 'Somali',
602
-        'nativeName' => 'Soomaaliga, af Soomaali',
603
-    ],
604
-    'st' => [
605
-        'isoName' => 'Southern Sotho',
606
-        'nativeName' => 'Sesotho',
607
-    ],
608
-    'es' => [
609
-        'isoName' => 'Spanish, Castilian',
610
-        'nativeName' => 'Español',
611
-    ],
612
-    'su' => [
613
-        'isoName' => 'Sundanese',
614
-        'nativeName' => 'Basa Sunda',
615
-    ],
616
-    'sw' => [
617
-        'isoName' => 'Swahili',
618
-        'nativeName' => 'Kiswahili',
619
-    ],
620
-    'ss' => [
621
-        'isoName' => 'Swati',
622
-        'nativeName' => 'SiSwati',
623
-    ],
624
-    'sv' => [
625
-        'isoName' => 'Swedish',
626
-        'nativeName' => 'Svenska',
627
-    ],
628
-    'ta' => [
629
-        'isoName' => 'Tamil',
630
-        'nativeName' => 'தமிழ்',
631
-    ],
632
-    'te' => [
633
-        'isoName' => 'Telugu',
634
-        'nativeName' => 'తెలుగు',
635
-    ],
636
-    'tg' => [
637
-        'isoName' => 'Tajik',
638
-        'nativeName' => 'тоҷикӣ, toçikī, تاجیکی‎',
639
-    ],
640
-    'th' => [
641
-        'isoName' => 'Thai',
642
-        'nativeName' => 'ไทย',
643
-    ],
644
-    'ti' => [
645
-        'isoName' => 'Tigrinya',
646
-        'nativeName' => 'ትግርኛ',
647
-    ],
648
-    'bo' => [
649
-        'isoName' => 'Tibetan',
650
-        'nativeName' => 'བོད་ཡིག',
651
-    ],
652
-    'tk' => [
653
-        'isoName' => 'Turkmen',
654
-        'nativeName' => 'Türkmen, Түркмен',
655
-    ],
656
-    'tl' => [
657
-        'isoName' => 'Tagalog',
658
-        'nativeName' => 'Wikang Tagalog',
659
-    ],
660
-    'tn' => [
661
-        'isoName' => 'Tswana',
662
-        'nativeName' => 'Setswana',
663
-    ],
664
-    'to' => [
665
-        'isoName' => 'Tongan (Tonga Islands)',
666
-        'nativeName' => 'Faka Tonga',
667
-    ],
668
-    'tr' => [
669
-        'isoName' => 'Turkish',
670
-        'nativeName' => 'Türkçe',
671
-    ],
672
-    'ts' => [
673
-        'isoName' => 'Tsonga',
674
-        'nativeName' => 'Xitsonga',
675
-    ],
676
-    'tt' => [
677
-        'isoName' => 'Tatar',
678
-        'nativeName' => 'татар теле, tatar tele',
679
-    ],
680
-    'tw' => [
681
-        'isoName' => 'Twi',
682
-        'nativeName' => 'Twi',
683
-    ],
684
-    'ty' => [
685
-        'isoName' => 'Tahitian',
686
-        'nativeName' => 'Reo Tahiti',
687
-    ],
688
-    'ug' => [
689
-        'isoName' => 'Uighur, Uyghur',
690
-        'nativeName' => 'Uyƣurqə, ‫ئۇيغۇرچ',
691
-    ],
692
-    'uk' => [
693
-        'isoName' => 'Ukrainian',
694
-        'nativeName' => 'Українська',
695
-    ],
696
-    'ur' => [
697
-        'isoName' => 'Urdu',
698
-        'nativeName' => 'اردو',
699
-    ],
700
-    'uz' => [
701
-        'isoName' => 'Uzbek',
702
-        'nativeName' => 'Oʻzbek, Ўзбек, أۇزبېك‎',
703
-    ],
704
-    've' => [
705
-        'isoName' => 'Venda',
706
-        'nativeName' => 'Tshivenḓa',
707
-    ],
708
-    'vi' => [
709
-        'isoName' => 'Vietnamese',
710
-        'nativeName' => 'Tiếng Việt',
711
-    ],
712
-    'vo' => [
713
-        'isoName' => 'Volapük',
714
-        'nativeName' => 'Volapük',
715
-    ],
716
-    'wa' => [
717
-        'isoName' => 'Walloon',
718
-        'nativeName' => 'Walon',
719
-    ],
720
-    'cy' => [
721
-        'isoName' => 'Welsh',
722
-        'nativeName' => 'Cymraeg',
723
-    ],
724
-    'wo' => [
725
-        'isoName' => 'Wolof',
726
-        'nativeName' => 'Wollof',
727
-    ],
728
-    'fy' => [
729
-        'isoName' => 'Western Frisian',
730
-        'nativeName' => 'Frysk',
731
-    ],
732
-    'xh' => [
733
-        'isoName' => 'Xhosa',
734
-        'nativeName' => 'isiXhosa',
735
-    ],
736
-    'yi' => [
737
-        'isoName' => 'Yiddish',
738
-        'nativeName' => 'ייִדיש',
739
-    ],
740
-    'yo' => [
741
-        'isoName' => 'Yoruba',
742
-        'nativeName' => 'Yorùbá',
743
-    ],
744
-    'za' => [
745
-        'isoName' => 'Zhuang, Chuang',
746
-        'nativeName' => 'Saɯ cueŋƅ, Saw cuengh',
747
-    ],
748
-    'zu' => [
749
-        'isoName' => 'Zulu',
750
-        'nativeName' => 'isiZulu',
751
-    ],
752
-    /*
16
+	'ab' => [
17
+		'isoName' => 'Abkhazian',
18
+		'nativeName' => 'аҧсуа бызшәа, аҧсшәа',
19
+	],
20
+	'aa' => [
21
+		'isoName' => 'Afar',
22
+		'nativeName' => 'Afaraf',
23
+	],
24
+	'af' => [
25
+		'isoName' => 'Afrikaans',
26
+		'nativeName' => 'Afrikaans',
27
+	],
28
+	'ak' => [
29
+		'isoName' => 'Akan',
30
+		'nativeName' => 'Akan',
31
+	],
32
+	'sq' => [
33
+		'isoName' => 'Albanian',
34
+		'nativeName' => 'Shqip',
35
+	],
36
+	'am' => [
37
+		'isoName' => 'Amharic',
38
+		'nativeName' => 'አማርኛ',
39
+	],
40
+	'ar' => [
41
+		'isoName' => 'Arabic',
42
+		'nativeName' => 'العربية',
43
+	],
44
+	'an' => [
45
+		'isoName' => 'Aragonese',
46
+		'nativeName' => 'aragonés',
47
+	],
48
+	'hy' => [
49
+		'isoName' => 'Armenian',
50
+		'nativeName' => 'Հայերեն',
51
+	],
52
+	'as' => [
53
+		'isoName' => 'Assamese',
54
+		'nativeName' => 'অসমীয়া',
55
+	],
56
+	'av' => [
57
+		'isoName' => 'Avaric',
58
+		'nativeName' => 'авар мацӀ, магӀарул мацӀ',
59
+	],
60
+	'ae' => [
61
+		'isoName' => 'Avestan',
62
+		'nativeName' => 'avesta',
63
+	],
64
+	'ay' => [
65
+		'isoName' => 'Aymara',
66
+		'nativeName' => 'aymar aru',
67
+	],
68
+	'az' => [
69
+		'isoName' => 'Azerbaijani',
70
+		'nativeName' => 'azərbaycan dili',
71
+	],
72
+	'bm' => [
73
+		'isoName' => 'Bambara',
74
+		'nativeName' => 'bamanankan',
75
+	],
76
+	'ba' => [
77
+		'isoName' => 'Bashkir',
78
+		'nativeName' => 'башҡорт теле',
79
+	],
80
+	'eu' => [
81
+		'isoName' => 'Basque',
82
+		'nativeName' => 'euskara, euskera',
83
+	],
84
+	'be' => [
85
+		'isoName' => 'Belarusian',
86
+		'nativeName' => 'беларуская мова',
87
+	],
88
+	'bn' => [
89
+		'isoName' => 'Bengali',
90
+		'nativeName' => 'বাংলা',
91
+	],
92
+	'bh' => [
93
+		'isoName' => 'Bihari languages',
94
+		'nativeName' => 'भोजपुरी',
95
+	],
96
+	'bi' => [
97
+		'isoName' => 'Bislama',
98
+		'nativeName' => 'Bislama',
99
+	],
100
+	'bs' => [
101
+		'isoName' => 'Bosnian',
102
+		'nativeName' => 'bosanski jezik',
103
+	],
104
+	'br' => [
105
+		'isoName' => 'Breton',
106
+		'nativeName' => 'brezhoneg',
107
+	],
108
+	'bg' => [
109
+		'isoName' => 'Bulgarian',
110
+		'nativeName' => 'български език',
111
+	],
112
+	'my' => [
113
+		'isoName' => 'Burmese',
114
+		'nativeName' => 'ဗမာစာ',
115
+	],
116
+	'ca' => [
117
+		'isoName' => 'Catalan, Valencian',
118
+		'nativeName' => 'català, valencià',
119
+	],
120
+	'ch' => [
121
+		'isoName' => 'Chamorro',
122
+		'nativeName' => 'Chamoru',
123
+	],
124
+	'ce' => [
125
+		'isoName' => 'Chechen',
126
+		'nativeName' => 'нохчийн мотт',
127
+	],
128
+	'ny' => [
129
+		'isoName' => 'Chichewa, Chewa, Nyanja',
130
+		'nativeName' => 'chiCheŵa, chinyanja',
131
+	],
132
+	'zh' => [
133
+		'isoName' => 'Chinese',
134
+		'nativeName' => '中文 (Zhōngwén), 汉语, 漢語',
135
+	],
136
+	'cv' => [
137
+		'isoName' => 'Chuvash',
138
+		'nativeName' => 'чӑваш чӗлхи',
139
+	],
140
+	'kw' => [
141
+		'isoName' => 'Cornish',
142
+		'nativeName' => 'Kernewek',
143
+	],
144
+	'co' => [
145
+		'isoName' => 'Corsican',
146
+		'nativeName' => 'corsu, lingua corsa',
147
+	],
148
+	'cr' => [
149
+		'isoName' => 'Cree',
150
+		'nativeName' => 'ᓀᐦᐃᔭᐍᐏᐣ',
151
+	],
152
+	'hr' => [
153
+		'isoName' => 'Croatian',
154
+		'nativeName' => 'hrvatski jezik',
155
+	],
156
+	'cs' => [
157
+		'isoName' => 'Czech',
158
+		'nativeName' => 'čeština, český jazyk',
159
+	],
160
+	'da' => [
161
+		'isoName' => 'Danish',
162
+		'nativeName' => 'dansk',
163
+	],
164
+	'dv' => [
165
+		'isoName' => 'Divehi, Dhivehi, Maldivian',
166
+		'nativeName' => 'ދިވެހި',
167
+	],
168
+	'nl' => [
169
+		'isoName' => 'Dutch, Flemish',
170
+		'nativeName' => 'Nederlands, Vlaams',
171
+	],
172
+	'dz' => [
173
+		'isoName' => 'Dzongkha',
174
+		'nativeName' => 'རྫོང་ཁ',
175
+	],
176
+	'en' => [
177
+		'isoName' => 'English',
178
+		'nativeName' => 'English',
179
+	],
180
+	'eo' => [
181
+		'isoName' => 'Esperanto',
182
+		'nativeName' => 'Esperanto',
183
+	],
184
+	'et' => [
185
+		'isoName' => 'Estonian',
186
+		'nativeName' => 'eesti, eesti keel',
187
+	],
188
+	'ee' => [
189
+		'isoName' => 'Ewe',
190
+		'nativeName' => 'Eʋegbe',
191
+	],
192
+	'fo' => [
193
+		'isoName' => 'Faroese',
194
+		'nativeName' => 'føroyskt',
195
+	],
196
+	'fj' => [
197
+		'isoName' => 'Fijian',
198
+		'nativeName' => 'vosa Vakaviti',
199
+	],
200
+	'fi' => [
201
+		'isoName' => 'Finnish',
202
+		'nativeName' => 'suomi, suomen kieli',
203
+	],
204
+	'fr' => [
205
+		'isoName' => 'French',
206
+		'nativeName' => 'français',
207
+	],
208
+	'ff' => [
209
+		'isoName' => 'Fulah',
210
+		'nativeName' => 'Fulfulde, Pulaar, Pular',
211
+	],
212
+	'gl' => [
213
+		'isoName' => 'Galician',
214
+		'nativeName' => 'Galego',
215
+	],
216
+	'ka' => [
217
+		'isoName' => 'Georgian',
218
+		'nativeName' => 'ქართული',
219
+	],
220
+	'de' => [
221
+		'isoName' => 'German',
222
+		'nativeName' => 'Deutsch',
223
+	],
224
+	'el' => [
225
+		'isoName' => 'Greek (modern)',
226
+		'nativeName' => 'ελληνικά',
227
+	],
228
+	'gn' => [
229
+		'isoName' => 'Guaraní',
230
+		'nativeName' => 'Avañe\'ẽ',
231
+	],
232
+	'gu' => [
233
+		'isoName' => 'Gujarati',
234
+		'nativeName' => 'ગુજરાતી',
235
+	],
236
+	'ht' => [
237
+		'isoName' => 'Haitian, Haitian Creole',
238
+		'nativeName' => 'Kreyòl ayisyen',
239
+	],
240
+	'ha' => [
241
+		'isoName' => 'Hausa',
242
+		'nativeName' => '(Hausa) هَوُسَ',
243
+	],
244
+	'he' => [
245
+		'isoName' => 'Hebrew (modern)',
246
+		'nativeName' => 'עברית',
247
+	],
248
+	'hz' => [
249
+		'isoName' => 'Herero',
250
+		'nativeName' => 'Otjiherero',
251
+	],
252
+	'hi' => [
253
+		'isoName' => 'Hindi',
254
+		'nativeName' => 'हिन्दी, हिंदी',
255
+	],
256
+	'ho' => [
257
+		'isoName' => 'Hiri Motu',
258
+		'nativeName' => 'Hiri Motu',
259
+	],
260
+	'hu' => [
261
+		'isoName' => 'Hungarian',
262
+		'nativeName' => 'magyar',
263
+	],
264
+	'ia' => [
265
+		'isoName' => 'Interlingua',
266
+		'nativeName' => 'Interlingua',
267
+	],
268
+	'id' => [
269
+		'isoName' => 'Indonesian',
270
+		'nativeName' => 'Bahasa Indonesia',
271
+	],
272
+	'ie' => [
273
+		'isoName' => 'Interlingue',
274
+		'nativeName' => 'Originally called Occidental; then Interlingue after WWII',
275
+	],
276
+	'ga' => [
277
+		'isoName' => 'Irish',
278
+		'nativeName' => 'Gaeilge',
279
+	],
280
+	'ig' => [
281
+		'isoName' => 'Igbo',
282
+		'nativeName' => 'Asụsụ Igbo',
283
+	],
284
+	'ik' => [
285
+		'isoName' => 'Inupiaq',
286
+		'nativeName' => 'Iñupiaq, Iñupiatun',
287
+	],
288
+	'io' => [
289
+		'isoName' => 'Ido',
290
+		'nativeName' => 'Ido',
291
+	],
292
+	'is' => [
293
+		'isoName' => 'Icelandic',
294
+		'nativeName' => 'Íslenska',
295
+	],
296
+	'it' => [
297
+		'isoName' => 'Italian',
298
+		'nativeName' => 'Italiano',
299
+	],
300
+	'iu' => [
301
+		'isoName' => 'Inuktitut',
302
+		'nativeName' => 'ᐃᓄᒃᑎᑐᑦ',
303
+	],
304
+	'ja' => [
305
+		'isoName' => 'Japanese',
306
+		'nativeName' => '日本語 (にほんご)',
307
+	],
308
+	'jv' => [
309
+		'isoName' => 'Javanese',
310
+		'nativeName' => 'ꦧꦱꦗꦮ, Basa Jawa',
311
+	],
312
+	'kl' => [
313
+		'isoName' => 'Kalaallisut, Greenlandic',
314
+		'nativeName' => 'kalaallisut, kalaallit oqaasii',
315
+	],
316
+	'kn' => [
317
+		'isoName' => 'Kannada',
318
+		'nativeName' => 'ಕನ್ನಡ',
319
+	],
320
+	'kr' => [
321
+		'isoName' => 'Kanuri',
322
+		'nativeName' => 'Kanuri',
323
+	],
324
+	'ks' => [
325
+		'isoName' => 'Kashmiri',
326
+		'nativeName' => 'कश्मीरी, كشميري‎',
327
+	],
328
+	'kk' => [
329
+		'isoName' => 'Kazakh',
330
+		'nativeName' => 'қазақ тілі',
331
+	],
332
+	'km' => [
333
+		'isoName' => 'Central Khmer',
334
+		'nativeName' => 'ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ',
335
+	],
336
+	'ki' => [
337
+		'isoName' => 'Kikuyu, Gikuyu',
338
+		'nativeName' => 'Gĩkũyũ',
339
+	],
340
+	'rw' => [
341
+		'isoName' => 'Kinyarwanda',
342
+		'nativeName' => 'Ikinyarwanda',
343
+	],
344
+	'ky' => [
345
+		'isoName' => 'Kirghiz, Kyrgyz',
346
+		'nativeName' => 'Кыргызча, Кыргыз тили',
347
+	],
348
+	'kv' => [
349
+		'isoName' => 'Komi',
350
+		'nativeName' => 'коми кыв',
351
+	],
352
+	'kg' => [
353
+		'isoName' => 'Kongo',
354
+		'nativeName' => 'Kikongo',
355
+	],
356
+	'ko' => [
357
+		'isoName' => 'Korean',
358
+		'nativeName' => '한국어',
359
+	],
360
+	'ku' => [
361
+		'isoName' => 'Kurdish',
362
+		'nativeName' => 'Kurdî, کوردی‎',
363
+	],
364
+	'kj' => [
365
+		'isoName' => 'Kuanyama, Kwanyama',
366
+		'nativeName' => 'Kuanyama',
367
+	],
368
+	'la' => [
369
+		'isoName' => 'Latin',
370
+		'nativeName' => 'latine, lingua latina',
371
+	],
372
+	'lb' => [
373
+		'isoName' => 'Luxembourgish, Letzeburgesch',
374
+		'nativeName' => 'Lëtzebuergesch',
375
+	],
376
+	'lg' => [
377
+		'isoName' => 'Ganda',
378
+		'nativeName' => 'Luganda',
379
+	],
380
+	'li' => [
381
+		'isoName' => 'Limburgan, Limburger, Limburgish',
382
+		'nativeName' => 'Limburgs',
383
+	],
384
+	'ln' => [
385
+		'isoName' => 'Lingala',
386
+		'nativeName' => 'Lingála',
387
+	],
388
+	'lo' => [
389
+		'isoName' => 'Lao',
390
+		'nativeName' => 'ພາສາລາວ',
391
+	],
392
+	'lt' => [
393
+		'isoName' => 'Lithuanian',
394
+		'nativeName' => 'lietuvių kalba',
395
+	],
396
+	'lu' => [
397
+		'isoName' => 'Luba-Katanga',
398
+		'nativeName' => 'Kiluba',
399
+	],
400
+	'lv' => [
401
+		'isoName' => 'Latvian',
402
+		'nativeName' => 'latviešu valoda',
403
+	],
404
+	'gv' => [
405
+		'isoName' => 'Manx',
406
+		'nativeName' => 'Gaelg, Gailck',
407
+	],
408
+	'mk' => [
409
+		'isoName' => 'Macedonian',
410
+		'nativeName' => 'македонски јазик',
411
+	],
412
+	'mg' => [
413
+		'isoName' => 'Malagasy',
414
+		'nativeName' => 'fiteny malagasy',
415
+	],
416
+	'ms' => [
417
+		'isoName' => 'Malay',
418
+		'nativeName' => 'Bahasa Melayu, بهاس ملايو‎',
419
+	],
420
+	'ml' => [
421
+		'isoName' => 'Malayalam',
422
+		'nativeName' => 'മലയാളം',
423
+	],
424
+	'mt' => [
425
+		'isoName' => 'Maltese',
426
+		'nativeName' => 'Malti',
427
+	],
428
+	'mi' => [
429
+		'isoName' => 'Maori',
430
+		'nativeName' => 'te reo Māori',
431
+	],
432
+	'mr' => [
433
+		'isoName' => 'Marathi',
434
+		'nativeName' => 'मराठी',
435
+	],
436
+	'mh' => [
437
+		'isoName' => 'Marshallese',
438
+		'nativeName' => 'Kajin M̧ajeļ',
439
+	],
440
+	'mn' => [
441
+		'isoName' => 'Mongolian',
442
+		'nativeName' => 'Монгол хэл',
443
+	],
444
+	'na' => [
445
+		'isoName' => 'Nauru',
446
+		'nativeName' => 'Dorerin Naoero',
447
+	],
448
+	'nv' => [
449
+		'isoName' => 'Navajo, Navaho',
450
+		'nativeName' => 'Diné bizaad',
451
+	],
452
+	'nd' => [
453
+		'isoName' => 'North Ndebele',
454
+		'nativeName' => 'isiNdebele',
455
+	],
456
+	'ne' => [
457
+		'isoName' => 'Nepali',
458
+		'nativeName' => 'नेपाली',
459
+	],
460
+	'ng' => [
461
+		'isoName' => 'Ndonga',
462
+		'nativeName' => 'Owambo',
463
+	],
464
+	'nb' => [
465
+		'isoName' => 'Norwegian Bokmål',
466
+		'nativeName' => 'Norsk Bokmål',
467
+	],
468
+	'nn' => [
469
+		'isoName' => 'Norwegian Nynorsk',
470
+		'nativeName' => 'Norsk Nynorsk',
471
+	],
472
+	'no' => [
473
+		'isoName' => 'Norwegian',
474
+		'nativeName' => 'Norsk',
475
+	],
476
+	'ii' => [
477
+		'isoName' => 'Sichuan Yi, Nuosu',
478
+		'nativeName' => 'ꆈꌠ꒿ Nuosuhxop',
479
+	],
480
+	'nr' => [
481
+		'isoName' => 'South Ndebele',
482
+		'nativeName' => 'isiNdebele',
483
+	],
484
+	'oc' => [
485
+		'isoName' => 'Occitan',
486
+		'nativeName' => 'occitan, lenga d\'òc',
487
+	],
488
+	'oj' => [
489
+		'isoName' => 'Ojibwa',
490
+		'nativeName' => 'ᐊᓂᔑᓈᐯᒧᐎᓐ',
491
+	],
492
+	'cu' => [
493
+		'isoName' => 'Church Slavic, Church Slavonic, Old Church Slavonic, Old Slavonic, Old Bulgarian',
494
+		'nativeName' => 'ѩзыкъ словѣньскъ',
495
+	],
496
+	'om' => [
497
+		'isoName' => 'Oromo',
498
+		'nativeName' => 'Afaan Oromoo',
499
+	],
500
+	'or' => [
501
+		'isoName' => 'Oriya',
502
+		'nativeName' => 'ଓଡ଼ିଆ',
503
+	],
504
+	'os' => [
505
+		'isoName' => 'Ossetian, Ossetic',
506
+		'nativeName' => 'ирон æвзаг',
507
+	],
508
+	'pa' => [
509
+		'isoName' => 'Panjabi, Punjabi',
510
+		'nativeName' => 'ਪੰਜਾਬੀ',
511
+	],
512
+	'pi' => [
513
+		'isoName' => 'Pali',
514
+		'nativeName' => 'पाऴि',
515
+	],
516
+	'fa' => [
517
+		'isoName' => 'Persian',
518
+		'nativeName' => 'فارسی',
519
+	],
520
+	'pl' => [
521
+		'isoName' => 'Polish',
522
+		'nativeName' => 'język polski, polszczyzna',
523
+	],
524
+	'ps' => [
525
+		'isoName' => 'Pashto, Pushto',
526
+		'nativeName' => 'پښتو',
527
+	],
528
+	'pt' => [
529
+		'isoName' => 'Portuguese',
530
+		'nativeName' => 'Português',
531
+	],
532
+	'qu' => [
533
+		'isoName' => 'Quechua',
534
+		'nativeName' => 'Runa Simi, Kichwa',
535
+	],
536
+	'rm' => [
537
+		'isoName' => 'Romansh',
538
+		'nativeName' => 'Rumantsch Grischun',
539
+	],
540
+	'rn' => [
541
+		'isoName' => 'Rundi',
542
+		'nativeName' => 'Ikirundi',
543
+	],
544
+	'ro' => [
545
+		'isoName' => 'Romanian, Moldavian, Moldovan',
546
+		'nativeName' => 'Română',
547
+	],
548
+	'ru' => [
549
+		'isoName' => 'Russian',
550
+		'nativeName' => 'русский',
551
+	],
552
+	'sa' => [
553
+		'isoName' => 'Sanskrit',
554
+		'nativeName' => 'संस्कृतम्',
555
+	],
556
+	'sc' => [
557
+		'isoName' => 'Sardinian',
558
+		'nativeName' => 'sardu',
559
+	],
560
+	'sd' => [
561
+		'isoName' => 'Sindhi',
562
+		'nativeName' => 'सिन्धी, سنڌي، سندھی‎',
563
+	],
564
+	'se' => [
565
+		'isoName' => 'Northern Sami',
566
+		'nativeName' => 'Davvisámegiella',
567
+	],
568
+	'sm' => [
569
+		'isoName' => 'Samoan',
570
+		'nativeName' => 'gagana fa\'a Samoa',
571
+	],
572
+	'sg' => [
573
+		'isoName' => 'Sango',
574
+		'nativeName' => 'yângâ tî sängö',
575
+	],
576
+	'sr' => [
577
+		'isoName' => 'Serbian',
578
+		'nativeName' => 'српски језик',
579
+	],
580
+	'gd' => [
581
+		'isoName' => 'Gaelic, Scottish Gaelic',
582
+		'nativeName' => 'Gàidhlig',
583
+	],
584
+	'sn' => [
585
+		'isoName' => 'Shona',
586
+		'nativeName' => 'chiShona',
587
+	],
588
+	'si' => [
589
+		'isoName' => 'Sinhala, Sinhalese',
590
+		'nativeName' => 'සිංහල',
591
+	],
592
+	'sk' => [
593
+		'isoName' => 'Slovak',
594
+		'nativeName' => 'Slovenčina, Slovenský Jazyk',
595
+	],
596
+	'sl' => [
597
+		'isoName' => 'Slovene',
598
+		'nativeName' => 'Slovenski Jezik, Slovenščina',
599
+	],
600
+	'so' => [
601
+		'isoName' => 'Somali',
602
+		'nativeName' => 'Soomaaliga, af Soomaali',
603
+	],
604
+	'st' => [
605
+		'isoName' => 'Southern Sotho',
606
+		'nativeName' => 'Sesotho',
607
+	],
608
+	'es' => [
609
+		'isoName' => 'Spanish, Castilian',
610
+		'nativeName' => 'Español',
611
+	],
612
+	'su' => [
613
+		'isoName' => 'Sundanese',
614
+		'nativeName' => 'Basa Sunda',
615
+	],
616
+	'sw' => [
617
+		'isoName' => 'Swahili',
618
+		'nativeName' => 'Kiswahili',
619
+	],
620
+	'ss' => [
621
+		'isoName' => 'Swati',
622
+		'nativeName' => 'SiSwati',
623
+	],
624
+	'sv' => [
625
+		'isoName' => 'Swedish',
626
+		'nativeName' => 'Svenska',
627
+	],
628
+	'ta' => [
629
+		'isoName' => 'Tamil',
630
+		'nativeName' => 'தமிழ்',
631
+	],
632
+	'te' => [
633
+		'isoName' => 'Telugu',
634
+		'nativeName' => 'తెలుగు',
635
+	],
636
+	'tg' => [
637
+		'isoName' => 'Tajik',
638
+		'nativeName' => 'тоҷикӣ, toçikī, تاجیکی‎',
639
+	],
640
+	'th' => [
641
+		'isoName' => 'Thai',
642
+		'nativeName' => 'ไทย',
643
+	],
644
+	'ti' => [
645
+		'isoName' => 'Tigrinya',
646
+		'nativeName' => 'ትግርኛ',
647
+	],
648
+	'bo' => [
649
+		'isoName' => 'Tibetan',
650
+		'nativeName' => 'བོད་ཡིག',
651
+	],
652
+	'tk' => [
653
+		'isoName' => 'Turkmen',
654
+		'nativeName' => 'Türkmen, Түркмен',
655
+	],
656
+	'tl' => [
657
+		'isoName' => 'Tagalog',
658
+		'nativeName' => 'Wikang Tagalog',
659
+	],
660
+	'tn' => [
661
+		'isoName' => 'Tswana',
662
+		'nativeName' => 'Setswana',
663
+	],
664
+	'to' => [
665
+		'isoName' => 'Tongan (Tonga Islands)',
666
+		'nativeName' => 'Faka Tonga',
667
+	],
668
+	'tr' => [
669
+		'isoName' => 'Turkish',
670
+		'nativeName' => 'Türkçe',
671
+	],
672
+	'ts' => [
673
+		'isoName' => 'Tsonga',
674
+		'nativeName' => 'Xitsonga',
675
+	],
676
+	'tt' => [
677
+		'isoName' => 'Tatar',
678
+		'nativeName' => 'татар теле, tatar tele',
679
+	],
680
+	'tw' => [
681
+		'isoName' => 'Twi',
682
+		'nativeName' => 'Twi',
683
+	],
684
+	'ty' => [
685
+		'isoName' => 'Tahitian',
686
+		'nativeName' => 'Reo Tahiti',
687
+	],
688
+	'ug' => [
689
+		'isoName' => 'Uighur, Uyghur',
690
+		'nativeName' => 'Uyƣurqə, ‫ئۇيغۇرچ',
691
+	],
692
+	'uk' => [
693
+		'isoName' => 'Ukrainian',
694
+		'nativeName' => 'Українська',
695
+	],
696
+	'ur' => [
697
+		'isoName' => 'Urdu',
698
+		'nativeName' => 'اردو',
699
+	],
700
+	'uz' => [
701
+		'isoName' => 'Uzbek',
702
+		'nativeName' => 'Oʻzbek, Ўзбек, أۇزبېك‎',
703
+	],
704
+	've' => [
705
+		'isoName' => 'Venda',
706
+		'nativeName' => 'Tshivenḓa',
707
+	],
708
+	'vi' => [
709
+		'isoName' => 'Vietnamese',
710
+		'nativeName' => 'Tiếng Việt',
711
+	],
712
+	'vo' => [
713
+		'isoName' => 'Volapük',
714
+		'nativeName' => 'Volapük',
715
+	],
716
+	'wa' => [
717
+		'isoName' => 'Walloon',
718
+		'nativeName' => 'Walon',
719
+	],
720
+	'cy' => [
721
+		'isoName' => 'Welsh',
722
+		'nativeName' => 'Cymraeg',
723
+	],
724
+	'wo' => [
725
+		'isoName' => 'Wolof',
726
+		'nativeName' => 'Wollof',
727
+	],
728
+	'fy' => [
729
+		'isoName' => 'Western Frisian',
730
+		'nativeName' => 'Frysk',
731
+	],
732
+	'xh' => [
733
+		'isoName' => 'Xhosa',
734
+		'nativeName' => 'isiXhosa',
735
+	],
736
+	'yi' => [
737
+		'isoName' => 'Yiddish',
738
+		'nativeName' => 'ייִדיש',
739
+	],
740
+	'yo' => [
741
+		'isoName' => 'Yoruba',
742
+		'nativeName' => 'Yorùbá',
743
+	],
744
+	'za' => [
745
+		'isoName' => 'Zhuang, Chuang',
746
+		'nativeName' => 'Saɯ cueŋƅ, Saw cuengh',
747
+	],
748
+	'zu' => [
749
+		'isoName' => 'Zulu',
750
+		'nativeName' => 'isiZulu',
751
+	],
752
+	/*
753 753
      * Add ISO 639-3 languages available in Carbon
754 754
      */
755
-    'agq' => [
756
-        'isoName' => 'Aghem',
757
-        'nativeName' => 'Aghem',
758
-    ],
759
-    'agr' => [
760
-        'isoName' => 'Aguaruna',
761
-        'nativeName' => 'Aguaruna',
762
-    ],
763
-    'anp' => [
764
-        'isoName' => 'Angika',
765
-        'nativeName' => 'Angika',
766
-    ],
767
-    'asa' => [
768
-        'isoName' => 'Asu',
769
-        'nativeName' => 'Asu',
770
-    ],
771
-    'ast' => [
772
-        'isoName' => 'Asturian',
773
-        'nativeName' => 'Asturian',
774
-    ],
775
-    'ayc' => [
776
-        'isoName' => 'Southern Aymara',
777
-        'nativeName' => 'Southern Aymara',
778
-    ],
779
-    'bas' => [
780
-        'isoName' => 'Basaa',
781
-        'nativeName' => 'Basaa',
782
-    ],
783
-    'bem' => [
784
-        'isoName' => 'Bemba',
785
-        'nativeName' => 'Bemba',
786
-    ],
787
-    'bez' => [
788
-        'isoName' => 'Bena',
789
-        'nativeName' => 'Bena',
790
-    ],
791
-    'bhb' => [
792
-        'isoName' => 'Bhili',
793
-        'nativeName' => 'Bhili',
794
-    ],
795
-    'bho' => [
796
-        'isoName' => 'Bhojpuri',
797
-        'nativeName' => 'Bhojpuri',
798
-    ],
799
-    'brx' => [
800
-        'isoName' => 'Bodo',
801
-        'nativeName' => 'Bodo',
802
-    ],
803
-    'byn' => [
804
-        'isoName' => 'Bilin',
805
-        'nativeName' => 'Bilin',
806
-    ],
807
-    'ccp' => [
808
-        'isoName' => 'Chakma',
809
-        'nativeName' => 'Chakma',
810
-    ],
811
-    'cgg' => [
812
-        'isoName' => 'Chiga',
813
-        'nativeName' => 'Chiga',
814
-    ],
815
-    'chr' => [
816
-        'isoName' => 'Cherokee',
817
-        'nativeName' => 'Cherokee',
818
-    ],
819
-    'cmn' => [
820
-        'isoName' => 'Chinese',
821
-        'nativeName' => 'Chinese',
822
-    ],
823
-    'crh' => [
824
-        'isoName' => 'Crimean Turkish',
825
-        'nativeName' => 'Crimean Turkish',
826
-    ],
827
-    'csb' => [
828
-        'isoName' => 'Kashubian',
829
-        'nativeName' => 'Kashubian',
830
-    ],
831
-    'dav' => [
832
-        'isoName' => 'Taita',
833
-        'nativeName' => 'Taita',
834
-    ],
835
-    'dje' => [
836
-        'isoName' => 'Zarma',
837
-        'nativeName' => 'Zarma',
838
-    ],
839
-    'doi' => [
840
-        'isoName' => 'Dogri (macrolanguage)',
841
-        'nativeName' => 'Dogri (macrolanguage)',
842
-    ],
843
-    'dsb' => [
844
-        'isoName' => 'Lower Sorbian',
845
-        'nativeName' => 'Lower Sorbian',
846
-    ],
847
-    'dua' => [
848
-        'isoName' => 'Duala',
849
-        'nativeName' => 'Duala',
850
-    ],
851
-    'dyo' => [
852
-        'isoName' => 'Jola-Fonyi',
853
-        'nativeName' => 'Jola-Fonyi',
854
-    ],
855
-    'ebu' => [
856
-        'isoName' => 'Embu',
857
-        'nativeName' => 'Embu',
858
-    ],
859
-    'ewo' => [
860
-        'isoName' => 'Ewondo',
861
-        'nativeName' => 'Ewondo',
862
-    ],
863
-    'fil' => [
864
-        'isoName' => 'Filipino',
865
-        'nativeName' => 'Filipino',
866
-    ],
867
-    'fur' => [
868
-        'isoName' => 'Friulian',
869
-        'nativeName' => 'Friulian',
870
-    ],
871
-    'gez' => [
872
-        'isoName' => 'Geez',
873
-        'nativeName' => 'Geez',
874
-    ],
875
-    'gom' => [
876
-        'isoName' => 'Konkani, Goan',
877
-        'nativeName' => 'ಕೊಂಕಣಿ',
878
-    ],
879
-    'gsw' => [
880
-        'isoName' => 'Swiss German',
881
-        'nativeName' => 'Swiss German',
882
-    ],
883
-    'guz' => [
884
-        'isoName' => 'Gusii',
885
-        'nativeName' => 'Gusii',
886
-    ],
887
-    'hak' => [
888
-        'isoName' => 'Hakka Chinese',
889
-        'nativeName' => 'Hakka Chinese',
890
-    ],
891
-    'haw' => [
892
-        'isoName' => 'Hawaiian',
893
-        'nativeName' => 'Hawaiian',
894
-    ],
895
-    'hif' => [
896
-        'isoName' => 'Fiji Hindi',
897
-        'nativeName' => 'Fiji Hindi',
898
-    ],
899
-    'hne' => [
900
-        'isoName' => 'Chhattisgarhi',
901
-        'nativeName' => 'Chhattisgarhi',
902
-    ],
903
-    'hsb' => [
904
-        'isoName' => 'Upper Sorbian',
905
-        'nativeName' => 'Upper Sorbian',
906
-    ],
907
-    'jgo' => [
908
-        'isoName' => 'Ngomba',
909
-        'nativeName' => 'Ngomba',
910
-    ],
911
-    'jmc' => [
912
-        'isoName' => 'Machame',
913
-        'nativeName' => 'Machame',
914
-    ],
915
-    'kab' => [
916
-        'isoName' => 'Kabyle',
917
-        'nativeName' => 'Kabyle',
918
-    ],
919
-    'kam' => [
920
-        'isoName' => 'Kamba',
921
-        'nativeName' => 'Kamba',
922
-    ],
923
-    'kde' => [
924
-        'isoName' => 'Makonde',
925
-        'nativeName' => 'Makonde',
926
-    ],
927
-    'kea' => [
928
-        'isoName' => 'Kabuverdianu',
929
-        'nativeName' => 'Kabuverdianu',
930
-    ],
931
-    'khq' => [
932
-        'isoName' => 'Koyra Chiini',
933
-        'nativeName' => 'Koyra Chiini',
934
-    ],
935
-    'kkj' => [
936
-        'isoName' => 'Kako',
937
-        'nativeName' => 'Kako',
938
-    ],
939
-    'kln' => [
940
-        'isoName' => 'Kalenjin',
941
-        'nativeName' => 'Kalenjin',
942
-    ],
943
-    'kok' => [
944
-        'isoName' => 'Konkani',
945
-        'nativeName' => 'Konkani',
946
-    ],
947
-    'ksb' => [
948
-        'isoName' => 'Shambala',
949
-        'nativeName' => 'Shambala',
950
-    ],
951
-    'ksf' => [
952
-        'isoName' => 'Bafia',
953
-        'nativeName' => 'Bafia',
954
-    ],
955
-    'ksh' => [
956
-        'isoName' => 'Colognian',
957
-        'nativeName' => 'Colognian',
958
-    ],
959
-    'lag' => [
960
-        'isoName' => 'Langi',
961
-        'nativeName' => 'Langi',
962
-    ],
963
-    'lij' => [
964
-        'isoName' => 'Ligurian',
965
-        'nativeName' => 'Ligurian',
966
-    ],
967
-    'lkt' => [
968
-        'isoName' => 'Lakota',
969
-        'nativeName' => 'Lakota',
970
-    ],
971
-    'lrc' => [
972
-        'isoName' => 'Northern Luri',
973
-        'nativeName' => 'Northern Luri',
974
-    ],
975
-    'luo' => [
976
-        'isoName' => 'Luo',
977
-        'nativeName' => 'Luo',
978
-    ],
979
-    'luy' => [
980
-        'isoName' => 'Luyia',
981
-        'nativeName' => 'Luyia',
982
-    ],
983
-    'lzh' => [
984
-        'isoName' => 'Literary Chinese',
985
-        'nativeName' => 'Literary Chinese',
986
-    ],
987
-    'mag' => [
988
-        'isoName' => 'Magahi',
989
-        'nativeName' => 'Magahi',
990
-    ],
991
-    'mai' => [
992
-        'isoName' => 'Maithili',
993
-        'nativeName' => 'Maithili',
994
-    ],
995
-    'mas' => [
996
-        'isoName' => 'Masai',
997
-        'nativeName' => 'Masai',
998
-    ],
999
-    'mer' => [
1000
-        'isoName' => 'Meru',
1001
-        'nativeName' => 'Meru',
1002
-    ],
1003
-    'mfe' => [
1004
-        'isoName' => 'Morisyen',
1005
-        'nativeName' => 'Morisyen',
1006
-    ],
1007
-    'mgh' => [
1008
-        'isoName' => 'Makhuwa-Meetto',
1009
-        'nativeName' => 'Makhuwa-Meetto',
1010
-    ],
1011
-    'mgo' => [
1012
-        'isoName' => 'Metaʼ',
1013
-        'nativeName' => 'Metaʼ',
1014
-    ],
1015
-    'mhr' => [
1016
-        'isoName' => 'Eastern Mari',
1017
-        'nativeName' => 'Eastern Mari',
1018
-    ],
1019
-    'miq' => [
1020
-        'isoName' => 'Mískito',
1021
-        'nativeName' => 'Mískito',
1022
-    ],
1023
-    'mjw' => [
1024
-        'isoName' => 'Karbi',
1025
-        'nativeName' => 'Karbi',
1026
-    ],
1027
-    'mni' => [
1028
-        'isoName' => 'Manipuri',
1029
-        'nativeName' => 'Manipuri',
1030
-    ],
1031
-    'mua' => [
1032
-        'isoName' => 'Mundang',
1033
-        'nativeName' => 'Mundang',
1034
-    ],
1035
-    'mzn' => [
1036
-        'isoName' => 'Mazanderani',
1037
-        'nativeName' => 'Mazanderani',
1038
-    ],
1039
-    'nan' => [
1040
-        'isoName' => 'Min Nan Chinese',
1041
-        'nativeName' => 'Min Nan Chinese',
1042
-    ],
1043
-    'naq' => [
1044
-        'isoName' => 'Nama',
1045
-        'nativeName' => 'Nama',
1046
-    ],
1047
-    'nds' => [
1048
-        'isoName' => 'Low German',
1049
-        'nativeName' => 'Low German',
1050
-    ],
1051
-    'nhn' => [
1052
-        'isoName' => 'Central Nahuatl',
1053
-        'nativeName' => 'Central Nahuatl',
1054
-    ],
1055
-    'niu' => [
1056
-        'isoName' => 'Niuean',
1057
-        'nativeName' => 'Niuean',
1058
-    ],
1059
-    'nmg' => [
1060
-        'isoName' => 'Kwasio',
1061
-        'nativeName' => 'Kwasio',
1062
-    ],
1063
-    'nnh' => [
1064
-        'isoName' => 'Ngiemboon',
1065
-        'nativeName' => 'Ngiemboon',
1066
-    ],
1067
-    'nso' => [
1068
-        'isoName' => 'Northern Sotho',
1069
-        'nativeName' => 'Northern Sotho',
1070
-    ],
1071
-    'nus' => [
1072
-        'isoName' => 'Nuer',
1073
-        'nativeName' => 'Nuer',
1074
-    ],
1075
-    'nyn' => [
1076
-        'isoName' => 'Nyankole',
1077
-        'nativeName' => 'Nyankole',
1078
-    ],
1079
-    'pap' => [
1080
-        'isoName' => 'Papiamento',
1081
-        'nativeName' => 'Papiamento',
1082
-    ],
1083
-    'prg' => [
1084
-        'isoName' => 'Prussian',
1085
-        'nativeName' => 'Prussian',
1086
-    ],
1087
-    'quz' => [
1088
-        'isoName' => 'Cusco Quechua',
1089
-        'nativeName' => 'Cusco Quechua',
1090
-    ],
1091
-    'raj' => [
1092
-        'isoName' => 'Rajasthani',
1093
-        'nativeName' => 'Rajasthani',
1094
-    ],
1095
-    'rof' => [
1096
-        'isoName' => 'Rombo',
1097
-        'nativeName' => 'Rombo',
1098
-    ],
1099
-    'rwk' => [
1100
-        'isoName' => 'Rwa',
1101
-        'nativeName' => 'Rwa',
1102
-    ],
1103
-    'sah' => [
1104
-        'isoName' => 'Sakha',
1105
-        'nativeName' => 'Sakha',
1106
-    ],
1107
-    'saq' => [
1108
-        'isoName' => 'Samburu',
1109
-        'nativeName' => 'Samburu',
1110
-    ],
1111
-    'sat' => [
1112
-        'isoName' => 'Santali',
1113
-        'nativeName' => 'Santali',
1114
-    ],
1115
-    'sbp' => [
1116
-        'isoName' => 'Sangu',
1117
-        'nativeName' => 'Sangu',
1118
-    ],
1119
-    'scr' => [
1120
-        'isoName' => 'Serbo Croatian',
1121
-        'nativeName' => 'Serbo Croatian',
1122
-    ],
1123
-    'seh' => [
1124
-        'isoName' => 'Sena',
1125
-        'nativeName' => 'Sena',
1126
-    ],
1127
-    'ses' => [
1128
-        'isoName' => 'Koyraboro Senni',
1129
-        'nativeName' => 'Koyraboro Senni',
1130
-    ],
1131
-    'sgs' => [
1132
-        'isoName' => 'Samogitian',
1133
-        'nativeName' => 'Samogitian',
1134
-    ],
1135
-    'shi' => [
1136
-        'isoName' => 'Tachelhit',
1137
-        'nativeName' => 'Tachelhit',
1138
-    ],
1139
-    'shn' => [
1140
-        'isoName' => 'Shan',
1141
-        'nativeName' => 'Shan',
1142
-    ],
1143
-    'shs' => [
1144
-        'isoName' => 'Shuswap',
1145
-        'nativeName' => 'Shuswap',
1146
-    ],
1147
-    'sid' => [
1148
-        'isoName' => 'Sidamo',
1149
-        'nativeName' => 'Sidamo',
1150
-    ],
1151
-    'smn' => [
1152
-        'isoName' => 'Inari Sami',
1153
-        'nativeName' => 'Inari Sami',
1154
-    ],
1155
-    'szl' => [
1156
-        'isoName' => 'Silesian',
1157
-        'nativeName' => 'Silesian',
1158
-    ],
1159
-    'tcy' => [
1160
-        'isoName' => 'Tulu',
1161
-        'nativeName' => 'Tulu',
1162
-    ],
1163
-    'teo' => [
1164
-        'isoName' => 'Teso',
1165
-        'nativeName' => 'Teso',
1166
-    ],
1167
-    'tet' => [
1168
-        'isoName' => 'Tetum',
1169
-        'nativeName' => 'Tetum',
1170
-    ],
1171
-    'the' => [
1172
-        'isoName' => 'Chitwania Tharu',
1173
-        'nativeName' => 'Chitwania Tharu',
1174
-    ],
1175
-    'tig' => [
1176
-        'isoName' => 'Tigre',
1177
-        'nativeName' => 'Tigre',
1178
-    ],
1179
-    'tlh' => [
1180
-        'isoName' => 'Klingon',
1181
-        'nativeName' => 'tlhIngan Hol',
1182
-    ],
1183
-    'tpi' => [
1184
-        'isoName' => 'Tok Pisin',
1185
-        'nativeName' => 'Tok Pisin',
1186
-    ],
1187
-    'twq' => [
1188
-        'isoName' => 'Tasawaq',
1189
-        'nativeName' => 'Tasawaq',
1190
-    ],
1191
-    'tzl' => [
1192
-        'isoName' => 'Talossan',
1193
-        'nativeName' => 'Talossan',
1194
-    ],
1195
-    'tzm' => [
1196
-        'isoName' => 'Tamazight, Central Atlas',
1197
-        'nativeName' => 'ⵜⵎⴰⵣⵉⵖⵜ',
1198
-    ],
1199
-    'unm' => [
1200
-        'isoName' => 'Unami',
1201
-        'nativeName' => 'Unami',
1202
-    ],
1203
-    'vai' => [
1204
-        'isoName' => 'Vai',
1205
-        'nativeName' => 'Vai',
1206
-    ],
1207
-    'vun' => [
1208
-        'isoName' => 'Vunjo',
1209
-        'nativeName' => 'Vunjo',
1210
-    ],
1211
-    'wae' => [
1212
-        'isoName' => 'Walser',
1213
-        'nativeName' => 'Walser',
1214
-    ],
1215
-    'wal' => [
1216
-        'isoName' => 'Wolaytta',
1217
-        'nativeName' => 'Wolaytta',
1218
-    ],
1219
-    'xog' => [
1220
-        'isoName' => 'Soga',
1221
-        'nativeName' => 'Soga',
1222
-    ],
1223
-    'yav' => [
1224
-        'isoName' => 'Yangben',
1225
-        'nativeName' => 'Yangben',
1226
-    ],
1227
-    'yue' => [
1228
-        'isoName' => 'Cantonese',
1229
-        'nativeName' => 'Cantonese',
1230
-    ],
1231
-    'yuw' => [
1232
-        'isoName' => 'Yau (Morobe Province)',
1233
-        'nativeName' => 'Yau (Morobe Province)',
1234
-    ],
1235
-    'zgh' => [
1236
-        'isoName' => 'Standard Moroccan Tamazight',
1237
-        'nativeName' => 'Standard Moroccan Tamazight',
1238
-    ],
755
+	'agq' => [
756
+		'isoName' => 'Aghem',
757
+		'nativeName' => 'Aghem',
758
+	],
759
+	'agr' => [
760
+		'isoName' => 'Aguaruna',
761
+		'nativeName' => 'Aguaruna',
762
+	],
763
+	'anp' => [
764
+		'isoName' => 'Angika',
765
+		'nativeName' => 'Angika',
766
+	],
767
+	'asa' => [
768
+		'isoName' => 'Asu',
769
+		'nativeName' => 'Asu',
770
+	],
771
+	'ast' => [
772
+		'isoName' => 'Asturian',
773
+		'nativeName' => 'Asturian',
774
+	],
775
+	'ayc' => [
776
+		'isoName' => 'Southern Aymara',
777
+		'nativeName' => 'Southern Aymara',
778
+	],
779
+	'bas' => [
780
+		'isoName' => 'Basaa',
781
+		'nativeName' => 'Basaa',
782
+	],
783
+	'bem' => [
784
+		'isoName' => 'Bemba',
785
+		'nativeName' => 'Bemba',
786
+	],
787
+	'bez' => [
788
+		'isoName' => 'Bena',
789
+		'nativeName' => 'Bena',
790
+	],
791
+	'bhb' => [
792
+		'isoName' => 'Bhili',
793
+		'nativeName' => 'Bhili',
794
+	],
795
+	'bho' => [
796
+		'isoName' => 'Bhojpuri',
797
+		'nativeName' => 'Bhojpuri',
798
+	],
799
+	'brx' => [
800
+		'isoName' => 'Bodo',
801
+		'nativeName' => 'Bodo',
802
+	],
803
+	'byn' => [
804
+		'isoName' => 'Bilin',
805
+		'nativeName' => 'Bilin',
806
+	],
807
+	'ccp' => [
808
+		'isoName' => 'Chakma',
809
+		'nativeName' => 'Chakma',
810
+	],
811
+	'cgg' => [
812
+		'isoName' => 'Chiga',
813
+		'nativeName' => 'Chiga',
814
+	],
815
+	'chr' => [
816
+		'isoName' => 'Cherokee',
817
+		'nativeName' => 'Cherokee',
818
+	],
819
+	'cmn' => [
820
+		'isoName' => 'Chinese',
821
+		'nativeName' => 'Chinese',
822
+	],
823
+	'crh' => [
824
+		'isoName' => 'Crimean Turkish',
825
+		'nativeName' => 'Crimean Turkish',
826
+	],
827
+	'csb' => [
828
+		'isoName' => 'Kashubian',
829
+		'nativeName' => 'Kashubian',
830
+	],
831
+	'dav' => [
832
+		'isoName' => 'Taita',
833
+		'nativeName' => 'Taita',
834
+	],
835
+	'dje' => [
836
+		'isoName' => 'Zarma',
837
+		'nativeName' => 'Zarma',
838
+	],
839
+	'doi' => [
840
+		'isoName' => 'Dogri (macrolanguage)',
841
+		'nativeName' => 'Dogri (macrolanguage)',
842
+	],
843
+	'dsb' => [
844
+		'isoName' => 'Lower Sorbian',
845
+		'nativeName' => 'Lower Sorbian',
846
+	],
847
+	'dua' => [
848
+		'isoName' => 'Duala',
849
+		'nativeName' => 'Duala',
850
+	],
851
+	'dyo' => [
852
+		'isoName' => 'Jola-Fonyi',
853
+		'nativeName' => 'Jola-Fonyi',
854
+	],
855
+	'ebu' => [
856
+		'isoName' => 'Embu',
857
+		'nativeName' => 'Embu',
858
+	],
859
+	'ewo' => [
860
+		'isoName' => 'Ewondo',
861
+		'nativeName' => 'Ewondo',
862
+	],
863
+	'fil' => [
864
+		'isoName' => 'Filipino',
865
+		'nativeName' => 'Filipino',
866
+	],
867
+	'fur' => [
868
+		'isoName' => 'Friulian',
869
+		'nativeName' => 'Friulian',
870
+	],
871
+	'gez' => [
872
+		'isoName' => 'Geez',
873
+		'nativeName' => 'Geez',
874
+	],
875
+	'gom' => [
876
+		'isoName' => 'Konkani, Goan',
877
+		'nativeName' => 'ಕೊಂಕಣಿ',
878
+	],
879
+	'gsw' => [
880
+		'isoName' => 'Swiss German',
881
+		'nativeName' => 'Swiss German',
882
+	],
883
+	'guz' => [
884
+		'isoName' => 'Gusii',
885
+		'nativeName' => 'Gusii',
886
+	],
887
+	'hak' => [
888
+		'isoName' => 'Hakka Chinese',
889
+		'nativeName' => 'Hakka Chinese',
890
+	],
891
+	'haw' => [
892
+		'isoName' => 'Hawaiian',
893
+		'nativeName' => 'Hawaiian',
894
+	],
895
+	'hif' => [
896
+		'isoName' => 'Fiji Hindi',
897
+		'nativeName' => 'Fiji Hindi',
898
+	],
899
+	'hne' => [
900
+		'isoName' => 'Chhattisgarhi',
901
+		'nativeName' => 'Chhattisgarhi',
902
+	],
903
+	'hsb' => [
904
+		'isoName' => 'Upper Sorbian',
905
+		'nativeName' => 'Upper Sorbian',
906
+	],
907
+	'jgo' => [
908
+		'isoName' => 'Ngomba',
909
+		'nativeName' => 'Ngomba',
910
+	],
911
+	'jmc' => [
912
+		'isoName' => 'Machame',
913
+		'nativeName' => 'Machame',
914
+	],
915
+	'kab' => [
916
+		'isoName' => 'Kabyle',
917
+		'nativeName' => 'Kabyle',
918
+	],
919
+	'kam' => [
920
+		'isoName' => 'Kamba',
921
+		'nativeName' => 'Kamba',
922
+	],
923
+	'kde' => [
924
+		'isoName' => 'Makonde',
925
+		'nativeName' => 'Makonde',
926
+	],
927
+	'kea' => [
928
+		'isoName' => 'Kabuverdianu',
929
+		'nativeName' => 'Kabuverdianu',
930
+	],
931
+	'khq' => [
932
+		'isoName' => 'Koyra Chiini',
933
+		'nativeName' => 'Koyra Chiini',
934
+	],
935
+	'kkj' => [
936
+		'isoName' => 'Kako',
937
+		'nativeName' => 'Kako',
938
+	],
939
+	'kln' => [
940
+		'isoName' => 'Kalenjin',
941
+		'nativeName' => 'Kalenjin',
942
+	],
943
+	'kok' => [
944
+		'isoName' => 'Konkani',
945
+		'nativeName' => 'Konkani',
946
+	],
947
+	'ksb' => [
948
+		'isoName' => 'Shambala',
949
+		'nativeName' => 'Shambala',
950
+	],
951
+	'ksf' => [
952
+		'isoName' => 'Bafia',
953
+		'nativeName' => 'Bafia',
954
+	],
955
+	'ksh' => [
956
+		'isoName' => 'Colognian',
957
+		'nativeName' => 'Colognian',
958
+	],
959
+	'lag' => [
960
+		'isoName' => 'Langi',
961
+		'nativeName' => 'Langi',
962
+	],
963
+	'lij' => [
964
+		'isoName' => 'Ligurian',
965
+		'nativeName' => 'Ligurian',
966
+	],
967
+	'lkt' => [
968
+		'isoName' => 'Lakota',
969
+		'nativeName' => 'Lakota',
970
+	],
971
+	'lrc' => [
972
+		'isoName' => 'Northern Luri',
973
+		'nativeName' => 'Northern Luri',
974
+	],
975
+	'luo' => [
976
+		'isoName' => 'Luo',
977
+		'nativeName' => 'Luo',
978
+	],
979
+	'luy' => [
980
+		'isoName' => 'Luyia',
981
+		'nativeName' => 'Luyia',
982
+	],
983
+	'lzh' => [
984
+		'isoName' => 'Literary Chinese',
985
+		'nativeName' => 'Literary Chinese',
986
+	],
987
+	'mag' => [
988
+		'isoName' => 'Magahi',
989
+		'nativeName' => 'Magahi',
990
+	],
991
+	'mai' => [
992
+		'isoName' => 'Maithili',
993
+		'nativeName' => 'Maithili',
994
+	],
995
+	'mas' => [
996
+		'isoName' => 'Masai',
997
+		'nativeName' => 'Masai',
998
+	],
999
+	'mer' => [
1000
+		'isoName' => 'Meru',
1001
+		'nativeName' => 'Meru',
1002
+	],
1003
+	'mfe' => [
1004
+		'isoName' => 'Morisyen',
1005
+		'nativeName' => 'Morisyen',
1006
+	],
1007
+	'mgh' => [
1008
+		'isoName' => 'Makhuwa-Meetto',
1009
+		'nativeName' => 'Makhuwa-Meetto',
1010
+	],
1011
+	'mgo' => [
1012
+		'isoName' => 'Metaʼ',
1013
+		'nativeName' => 'Metaʼ',
1014
+	],
1015
+	'mhr' => [
1016
+		'isoName' => 'Eastern Mari',
1017
+		'nativeName' => 'Eastern Mari',
1018
+	],
1019
+	'miq' => [
1020
+		'isoName' => 'Mískito',
1021
+		'nativeName' => 'Mískito',
1022
+	],
1023
+	'mjw' => [
1024
+		'isoName' => 'Karbi',
1025
+		'nativeName' => 'Karbi',
1026
+	],
1027
+	'mni' => [
1028
+		'isoName' => 'Manipuri',
1029
+		'nativeName' => 'Manipuri',
1030
+	],
1031
+	'mua' => [
1032
+		'isoName' => 'Mundang',
1033
+		'nativeName' => 'Mundang',
1034
+	],
1035
+	'mzn' => [
1036
+		'isoName' => 'Mazanderani',
1037
+		'nativeName' => 'Mazanderani',
1038
+	],
1039
+	'nan' => [
1040
+		'isoName' => 'Min Nan Chinese',
1041
+		'nativeName' => 'Min Nan Chinese',
1042
+	],
1043
+	'naq' => [
1044
+		'isoName' => 'Nama',
1045
+		'nativeName' => 'Nama',
1046
+	],
1047
+	'nds' => [
1048
+		'isoName' => 'Low German',
1049
+		'nativeName' => 'Low German',
1050
+	],
1051
+	'nhn' => [
1052
+		'isoName' => 'Central Nahuatl',
1053
+		'nativeName' => 'Central Nahuatl',
1054
+	],
1055
+	'niu' => [
1056
+		'isoName' => 'Niuean',
1057
+		'nativeName' => 'Niuean',
1058
+	],
1059
+	'nmg' => [
1060
+		'isoName' => 'Kwasio',
1061
+		'nativeName' => 'Kwasio',
1062
+	],
1063
+	'nnh' => [
1064
+		'isoName' => 'Ngiemboon',
1065
+		'nativeName' => 'Ngiemboon',
1066
+	],
1067
+	'nso' => [
1068
+		'isoName' => 'Northern Sotho',
1069
+		'nativeName' => 'Northern Sotho',
1070
+	],
1071
+	'nus' => [
1072
+		'isoName' => 'Nuer',
1073
+		'nativeName' => 'Nuer',
1074
+	],
1075
+	'nyn' => [
1076
+		'isoName' => 'Nyankole',
1077
+		'nativeName' => 'Nyankole',
1078
+	],
1079
+	'pap' => [
1080
+		'isoName' => 'Papiamento',
1081
+		'nativeName' => 'Papiamento',
1082
+	],
1083
+	'prg' => [
1084
+		'isoName' => 'Prussian',
1085
+		'nativeName' => 'Prussian',
1086
+	],
1087
+	'quz' => [
1088
+		'isoName' => 'Cusco Quechua',
1089
+		'nativeName' => 'Cusco Quechua',
1090
+	],
1091
+	'raj' => [
1092
+		'isoName' => 'Rajasthani',
1093
+		'nativeName' => 'Rajasthani',
1094
+	],
1095
+	'rof' => [
1096
+		'isoName' => 'Rombo',
1097
+		'nativeName' => 'Rombo',
1098
+	],
1099
+	'rwk' => [
1100
+		'isoName' => 'Rwa',
1101
+		'nativeName' => 'Rwa',
1102
+	],
1103
+	'sah' => [
1104
+		'isoName' => 'Sakha',
1105
+		'nativeName' => 'Sakha',
1106
+	],
1107
+	'saq' => [
1108
+		'isoName' => 'Samburu',
1109
+		'nativeName' => 'Samburu',
1110
+	],
1111
+	'sat' => [
1112
+		'isoName' => 'Santali',
1113
+		'nativeName' => 'Santali',
1114
+	],
1115
+	'sbp' => [
1116
+		'isoName' => 'Sangu',
1117
+		'nativeName' => 'Sangu',
1118
+	],
1119
+	'scr' => [
1120
+		'isoName' => 'Serbo Croatian',
1121
+		'nativeName' => 'Serbo Croatian',
1122
+	],
1123
+	'seh' => [
1124
+		'isoName' => 'Sena',
1125
+		'nativeName' => 'Sena',
1126
+	],
1127
+	'ses' => [
1128
+		'isoName' => 'Koyraboro Senni',
1129
+		'nativeName' => 'Koyraboro Senni',
1130
+	],
1131
+	'sgs' => [
1132
+		'isoName' => 'Samogitian',
1133
+		'nativeName' => 'Samogitian',
1134
+	],
1135
+	'shi' => [
1136
+		'isoName' => 'Tachelhit',
1137
+		'nativeName' => 'Tachelhit',
1138
+	],
1139
+	'shn' => [
1140
+		'isoName' => 'Shan',
1141
+		'nativeName' => 'Shan',
1142
+	],
1143
+	'shs' => [
1144
+		'isoName' => 'Shuswap',
1145
+		'nativeName' => 'Shuswap',
1146
+	],
1147
+	'sid' => [
1148
+		'isoName' => 'Sidamo',
1149
+		'nativeName' => 'Sidamo',
1150
+	],
1151
+	'smn' => [
1152
+		'isoName' => 'Inari Sami',
1153
+		'nativeName' => 'Inari Sami',
1154
+	],
1155
+	'szl' => [
1156
+		'isoName' => 'Silesian',
1157
+		'nativeName' => 'Silesian',
1158
+	],
1159
+	'tcy' => [
1160
+		'isoName' => 'Tulu',
1161
+		'nativeName' => 'Tulu',
1162
+	],
1163
+	'teo' => [
1164
+		'isoName' => 'Teso',
1165
+		'nativeName' => 'Teso',
1166
+	],
1167
+	'tet' => [
1168
+		'isoName' => 'Tetum',
1169
+		'nativeName' => 'Tetum',
1170
+	],
1171
+	'the' => [
1172
+		'isoName' => 'Chitwania Tharu',
1173
+		'nativeName' => 'Chitwania Tharu',
1174
+	],
1175
+	'tig' => [
1176
+		'isoName' => 'Tigre',
1177
+		'nativeName' => 'Tigre',
1178
+	],
1179
+	'tlh' => [
1180
+		'isoName' => 'Klingon',
1181
+		'nativeName' => 'tlhIngan Hol',
1182
+	],
1183
+	'tpi' => [
1184
+		'isoName' => 'Tok Pisin',
1185
+		'nativeName' => 'Tok Pisin',
1186
+	],
1187
+	'twq' => [
1188
+		'isoName' => 'Tasawaq',
1189
+		'nativeName' => 'Tasawaq',
1190
+	],
1191
+	'tzl' => [
1192
+		'isoName' => 'Talossan',
1193
+		'nativeName' => 'Talossan',
1194
+	],
1195
+	'tzm' => [
1196
+		'isoName' => 'Tamazight, Central Atlas',
1197
+		'nativeName' => 'ⵜⵎⴰⵣⵉⵖⵜ',
1198
+	],
1199
+	'unm' => [
1200
+		'isoName' => 'Unami',
1201
+		'nativeName' => 'Unami',
1202
+	],
1203
+	'vai' => [
1204
+		'isoName' => 'Vai',
1205
+		'nativeName' => 'Vai',
1206
+	],
1207
+	'vun' => [
1208
+		'isoName' => 'Vunjo',
1209
+		'nativeName' => 'Vunjo',
1210
+	],
1211
+	'wae' => [
1212
+		'isoName' => 'Walser',
1213
+		'nativeName' => 'Walser',
1214
+	],
1215
+	'wal' => [
1216
+		'isoName' => 'Wolaytta',
1217
+		'nativeName' => 'Wolaytta',
1218
+	],
1219
+	'xog' => [
1220
+		'isoName' => 'Soga',
1221
+		'nativeName' => 'Soga',
1222
+	],
1223
+	'yav' => [
1224
+		'isoName' => 'Yangben',
1225
+		'nativeName' => 'Yangben',
1226
+	],
1227
+	'yue' => [
1228
+		'isoName' => 'Cantonese',
1229
+		'nativeName' => 'Cantonese',
1230
+	],
1231
+	'yuw' => [
1232
+		'isoName' => 'Yau (Morobe Province)',
1233
+		'nativeName' => 'Yau (Morobe Province)',
1234
+	],
1235
+	'zgh' => [
1236
+		'isoName' => 'Standard Moroccan Tamazight',
1237
+		'nativeName' => 'Standard Moroccan Tamazight',
1238
+	],
1239 1239
 ];
Please login to merge, or discard this patch.
webklex/php-imap/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php 1 patch
Indentation   +4556 added lines, -4556 removed lines patch added patch discarded remove patch
@@ -519,4560 +519,4560 @@
 block discarded – undo
519 519
  */
520 520
 interface CarbonInterface extends DateTimeInterface, JsonSerializable
521 521
 {
522
-    /**
523
-     * Diff wording options(expressed in octal).
524
-     */
525
-    public const NO_ZERO_DIFF = 01;
526
-    public const JUST_NOW = 02;
527
-    public const ONE_DAY_WORDS = 04;
528
-    public const TWO_DAY_WORDS = 010;
529
-    public const SEQUENTIAL_PARTS_ONLY = 020;
530
-    public const ROUND = 040;
531
-    public const FLOOR = 0100;
532
-    public const CEIL = 0200;
533
-
534
-    /**
535
-     * Diff syntax options.
536
-     */
537
-    public const DIFF_ABSOLUTE = 1; // backward compatibility with true
538
-    public const DIFF_RELATIVE_AUTO = 0; // backward compatibility with false
539
-    public const DIFF_RELATIVE_TO_NOW = 2;
540
-    public const DIFF_RELATIVE_TO_OTHER = 3;
541
-
542
-    /**
543
-     * Translate string options.
544
-     */
545
-    public const TRANSLATE_MONTHS = 1;
546
-    public const TRANSLATE_DAYS = 2;
547
-    public const TRANSLATE_UNITS = 4;
548
-    public const TRANSLATE_MERIDIEM = 8;
549
-    public const TRANSLATE_DIFF = 0x10;
550
-    public const TRANSLATE_ALL = self::TRANSLATE_MONTHS | self::TRANSLATE_DAYS | self::TRANSLATE_UNITS | self::TRANSLATE_MERIDIEM | self::TRANSLATE_DIFF;
551
-
552
-    /**
553
-     * The day constants.
554
-     */
555
-    public const SUNDAY = 0;
556
-    public const MONDAY = 1;
557
-    public const TUESDAY = 2;
558
-    public const WEDNESDAY = 3;
559
-    public const THURSDAY = 4;
560
-    public const FRIDAY = 5;
561
-    public const SATURDAY = 6;
562
-
563
-    /**
564
-     * The month constants.
565
-     * These aren't used by Carbon itself but exist for
566
-     * convenience sake alone.
567
-     */
568
-    public const JANUARY = 1;
569
-    public const FEBRUARY = 2;
570
-    public const MARCH = 3;
571
-    public const APRIL = 4;
572
-    public const MAY = 5;
573
-    public const JUNE = 6;
574
-    public const JULY = 7;
575
-    public const AUGUST = 8;
576
-    public const SEPTEMBER = 9;
577
-    public const OCTOBER = 10;
578
-    public const NOVEMBER = 11;
579
-    public const DECEMBER = 12;
580
-
581
-    /**
582
-     * Number of X in Y.
583
-     */
584
-    public const YEARS_PER_MILLENNIUM = 1000;
585
-    public const YEARS_PER_CENTURY = 100;
586
-    public const YEARS_PER_DECADE = 10;
587
-    public const MONTHS_PER_YEAR = 12;
588
-    public const MONTHS_PER_QUARTER = 3;
589
-    public const QUARTERS_PER_YEAR = 4;
590
-    public const WEEKS_PER_YEAR = 52;
591
-    public const WEEKS_PER_MONTH = 4;
592
-    public const DAYS_PER_YEAR = 365;
593
-    public const DAYS_PER_WEEK = 7;
594
-    public const HOURS_PER_DAY = 24;
595
-    public const MINUTES_PER_HOUR = 60;
596
-    public const SECONDS_PER_MINUTE = 60;
597
-    public const MILLISECONDS_PER_SECOND = 1000;
598
-    public const MICROSECONDS_PER_MILLISECOND = 1000;
599
-    public const MICROSECONDS_PER_SECOND = 1000000;
600
-
601
-    /**
602
-     * Special settings to get the start of week from current locale culture.
603
-     */
604
-    public const WEEK_DAY_AUTO = 'auto';
605
-
606
-    /**
607
-     * RFC7231 DateTime format.
608
-     *
609
-     * @var string
610
-     */
611
-    public const RFC7231_FORMAT = 'D, d M Y H:i:s \G\M\T';
612
-
613
-    /**
614
-     * Default format to use for __toString method when type juggling occurs.
615
-     *
616
-     * @var string
617
-     */
618
-    public const DEFAULT_TO_STRING_FORMAT = 'Y-m-d H:i:s';
619
-
620
-    /**
621
-     * Format for converting mocked time, includes microseconds.
622
-     *
623
-     * @var string
624
-     */
625
-    public const MOCK_DATETIME_FORMAT = 'Y-m-d H:i:s.u';
626
-
627
-    /**
628
-     * Pattern detection for ->isoFormat and ::createFromIsoFormat.
629
-     *
630
-     * @var string
631
-     */
632
-    public const ISO_FORMAT_REGEXP = '(O[YMDHhms]|[Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY?|g{1,5}|G{1,5}|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?)';
633
-
634
-    // <methods>
635
-
636
-    /**
637
-     * Dynamically handle calls to the class.
638
-     *
639
-     * @param string $method     magic method name called
640
-     * @param array  $parameters parameters list
641
-     *
642
-     * @throws UnknownMethodException|BadMethodCallException|ReflectionException|Throwable
643
-     *
644
-     * @return mixed
645
-     */
646
-    public function __call($method, $parameters);
647
-
648
-    /**
649
-     * Dynamically handle calls to the class.
650
-     *
651
-     * @param string $method     magic method name called
652
-     * @param array  $parameters parameters list
653
-     *
654
-     * @throws BadMethodCallException
655
-     *
656
-     * @return mixed
657
-     */
658
-    public static function __callStatic($method, $parameters);
659
-
660
-    /**
661
-     * Update constructedObjectId on cloned.
662
-     */
663
-    public function __clone();
664
-
665
-    /**
666
-     * Create a new Carbon instance.
667
-     *
668
-     * Please see the testing aids section (specifically static::setTestNow())
669
-     * for more on the possibility of this constructor returning a test instance.
670
-     *
671
-     * @param DateTimeInterface|string|null $time
672
-     * @param DateTimeZone|string|null      $tz
673
-     *
674
-     * @throws InvalidFormatException
675
-     */
676
-    public function __construct($time = null, $tz = null);
677
-
678
-    /**
679
-     * Show truthy properties on var_dump().
680
-     *
681
-     * @return array
682
-     */
683
-    public function __debugInfo();
684
-
685
-    /**
686
-     * Get a part of the Carbon object
687
-     *
688
-     * @param string $name
689
-     *
690
-     * @throws UnknownGetterException
691
-     *
692
-     * @return string|int|bool|DateTimeZone|null
693
-     */
694
-    public function __get($name);
695
-
696
-    /**
697
-     * Check if an attribute exists on the object
698
-     *
699
-     * @param string $name
700
-     *
701
-     * @return bool
702
-     */
703
-    public function __isset($name);
704
-
705
-    /**
706
-     * Set a part of the Carbon object
707
-     *
708
-     * @param string                  $name
709
-     * @param string|int|DateTimeZone $value
710
-     *
711
-     * @throws UnknownSetterException|ReflectionException
712
-     *
713
-     * @return void
714
-     */
715
-    public function __set($name, $value);
716
-
717
-    /**
718
-     * The __set_state handler.
719
-     *
720
-     * @param string|array $dump
721
-     *
722
-     * @return static
723
-     */
724
-    #[ReturnTypeWillChange]
725
-    public static function __set_state($dump);
726
-
727
-    /**
728
-     * Returns the list of properties to dump on serialize() called on.
729
-     *
730
-     * @return array
731
-     */
732
-    public function __sleep();
733
-
734
-    /**
735
-     * Format the instance as a string using the set format
736
-     *
737
-     * @example
738
-     * ```
739
-     * echo Carbon::now(); // Carbon instances can be casted to string
740
-     * ```
741
-     *
742
-     * @return string
743
-     */
744
-    public function __toString();
745
-
746
-    /**
747
-     * Add given units or interval to the current instance.
748
-     *
749
-     * @example $date->add('hour', 3)
750
-     * @example $date->add(15, 'days')
751
-     * @example $date->add(CarbonInterval::days(4))
752
-     *
753
-     * @param string|DateInterval|Closure|CarbonConverterInterface $unit
754
-     * @param int                                                  $value
755
-     * @param bool|null                                            $overflow
756
-     *
757
-     * @return static
758
-     */
759
-    #[ReturnTypeWillChange]
760
-    public function add($unit, $value = 1, $overflow = null);
761
-
762
-    /**
763
-     * Add seconds to the instance using timestamp. Positive $value travels
764
-     * forward while negative $value travels into the past.
765
-     *
766
-     * @param string $unit
767
-     * @param int    $value
768
-     *
769
-     * @return static
770
-     */
771
-    public function addRealUnit($unit, $value = 1);
772
-
773
-    /**
774
-     * Add given units to the current instance.
775
-     *
776
-     * @param string    $unit
777
-     * @param int       $value
778
-     * @param bool|null $overflow
779
-     *
780
-     * @return static
781
-     */
782
-    public function addUnit($unit, $value = 1, $overflow = null);
783
-
784
-    /**
785
-     * Add any unit to a new value without overflowing current other unit given.
786
-     *
787
-     * @param string $valueUnit    unit name to modify
788
-     * @param int    $value        amount to add to the input unit
789
-     * @param string $overflowUnit unit name to not overflow
790
-     *
791
-     * @return static
792
-     */
793
-    public function addUnitNoOverflow($valueUnit, $value, $overflowUnit);
794
-
795
-    /**
796
-     * Get the difference in a human readable format in the current locale from an other
797
-     * instance given to now
798
-     *
799
-     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
800
-     *                           - 'syntax' entry (see below)
801
-     *                           - 'short' entry (see below)
802
-     *                           - 'parts' entry (see below)
803
-     *                           - 'options' entry (see below)
804
-     *                           - 'join' entry determines how to join multiple parts of the string
805
-     *                           `  - if $join is a string, it's used as a joiner glue
806
-     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
807
-     *                           `  - if $join is an array, the first item will be the default glue, and the second item
808
-     *                           `    will be used instead of the glue for the last item
809
-     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
810
-     *                           `  - if $join is missing, a space will be used as glue
811
-     *                           if int passed, it add modifiers:
812
-     *                           Possible values:
813
-     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
814
-     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
815
-     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
816
-     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
817
-     * @param bool      $short   displays short format of time units
818
-     * @param int       $parts   maximum number of parts to display (default value: 1: single part)
819
-     * @param int       $options human diff options
820
-     *
821
-     * @return string
822
-     */
823
-    public function ago($syntax = null, $short = false, $parts = 1, $options = null);
824
-
825
-    /**
826
-     * Modify the current instance to the average of a given instance (default now) and the current instance
827
-     * (second-precision).
828
-     *
829
-     * @param \Carbon\Carbon|\DateTimeInterface|null $date
830
-     *
831
-     * @return static
832
-     */
833
-    public function average($date = null);
834
-
835
-    /**
836
-     * Clone the current instance if it's mutable.
837
-     *
838
-     * This method is convenient to ensure you don't mutate the initial object
839
-     * but avoid to make a useless copy of it if it's already immutable.
840
-     *
841
-     * @return static
842
-     */
843
-    public function avoidMutation();
844
-
845
-    /**
846
-     * Determines if the instance is between two others.
847
-     *
848
-     * The third argument allow you to specify if bounds are included or not (true by default)
849
-     * but for when you including/excluding bounds may produce different results in your application,
850
-     * we recommend to use the explicit methods ->betweenIncluded() or ->betweenExcluded() instead.
851
-     *
852
-     * @example
853
-     * ```
854
-     * Carbon::parse('2018-07-25')->between('2018-07-14', '2018-08-01'); // true
855
-     * Carbon::parse('2018-07-25')->between('2018-08-01', '2018-08-20'); // false
856
-     * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01'); // true
857
-     * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01', false); // false
858
-     * ```
859
-     *
860
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
861
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
862
-     * @param bool                                    $equal Indicates if an equal to comparison should be done
863
-     *
864
-     * @return bool
865
-     */
866
-    public function between($date1, $date2, $equal = true): bool;
867
-
868
-    /**
869
-     * Determines if the instance is between two others, bounds excluded.
870
-     *
871
-     * @example
872
-     * ```
873
-     * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-14', '2018-08-01'); // true
874
-     * Carbon::parse('2018-07-25')->betweenExcluded('2018-08-01', '2018-08-20'); // false
875
-     * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-25', '2018-08-01'); // false
876
-     * ```
877
-     *
878
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
879
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
880
-     *
881
-     * @return bool
882
-     */
883
-    public function betweenExcluded($date1, $date2): bool;
884
-
885
-    /**
886
-     * Determines if the instance is between two others, bounds included.
887
-     *
888
-     * @example
889
-     * ```
890
-     * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-14', '2018-08-01'); // true
891
-     * Carbon::parse('2018-07-25')->betweenIncluded('2018-08-01', '2018-08-20'); // false
892
-     * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-25', '2018-08-01'); // true
893
-     * ```
894
-     *
895
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
896
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
897
-     *
898
-     * @return bool
899
-     */
900
-    public function betweenIncluded($date1, $date2): bool;
901
-
902
-    /**
903
-     * Returns either day of week + time (e.g. "Last Friday at 3:30 PM") if reference time is within 7 days,
904
-     * or a calendar date (e.g. "10/29/2017") otherwise.
905
-     *
906
-     * Language, date and time formats will change according to the current locale.
907
-     *
908
-     * @param Carbon|\DateTimeInterface|string|null $referenceTime
909
-     * @param array                                 $formats
910
-     *
911
-     * @return string
912
-     */
913
-    public function calendar($referenceTime = null, array $formats = []);
914
-
915
-    /**
916
-     * Checks if the (date)time string is in a given format and valid to create a
917
-     * new instance.
918
-     *
919
-     * @example
920
-     * ```
921
-     * Carbon::canBeCreatedFromFormat('11:12:45', 'h:i:s'); // true
922
-     * Carbon::canBeCreatedFromFormat('13:12:45', 'h:i:s'); // false
923
-     * ```
924
-     *
925
-     * @param string $date
926
-     * @param string $format
927
-     *
928
-     * @return bool
929
-     */
930
-    public static function canBeCreatedFromFormat($date, $format);
931
-
932
-    /**
933
-     * Return the Carbon instance passed through, a now instance in the same timezone
934
-     * if null given or parse the input if string given.
935
-     *
936
-     * @param Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|DateTimeInterface|string|null $date
937
-     *
938
-     * @return static
939
-     */
940
-    public function carbonize($date = null);
941
-
942
-    /**
943
-     * Cast the current instance into the given class.
944
-     *
945
-     * @param string $className The $className::instance() method will be called to cast the current object.
946
-     *
947
-     * @return DateTimeInterface
948
-     */
949
-    public function cast(string $className);
950
-
951
-    /**
952
-     * Ceil the current instance second with given precision if specified.
953
-     *
954
-     * @param float|int|string|\DateInterval|null $precision
955
-     *
956
-     * @return CarbonInterface
957
-     */
958
-    public function ceil($precision = 1);
959
-
960
-    /**
961
-     * Ceil the current instance at the given unit with given precision if specified.
962
-     *
963
-     * @param string    $unit
964
-     * @param float|int $precision
965
-     *
966
-     * @return CarbonInterface
967
-     */
968
-    public function ceilUnit($unit, $precision = 1);
969
-
970
-    /**
971
-     * Ceil the current instance week.
972
-     *
973
-     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
974
-     *
975
-     * @return CarbonInterface
976
-     */
977
-    public function ceilWeek($weekStartsAt = null);
978
-
979
-    /**
980
-     * Similar to native modify() method of DateTime but can handle more grammars.
981
-     *
982
-     * @example
983
-     * ```
984
-     * echo Carbon::now()->change('next 2pm');
985
-     * ```
986
-     *
987
-     * @link https://php.net/manual/en/datetime.modify.php
988
-     *
989
-     * @param string $modifier
990
-     *
991
-     * @return static
992
-     */
993
-    public function change($modifier);
994
-
995
-    /**
996
-     * Cleanup properties attached to the public scope of DateTime when a dump of the date is requested.
997
-     * foreach ($date as $_) {}
998
-     * serializer($date)
999
-     * var_export($date)
1000
-     * get_object_vars($date)
1001
-     */
1002
-    public function cleanupDumpProperties();
1003
-
1004
-    /**
1005
-     * @alias copy
1006
-     *
1007
-     * Get a copy of the instance.
1008
-     *
1009
-     * @return static
1010
-     */
1011
-    public function clone();
1012
-
1013
-    /**
1014
-     * Get the closest date from the instance (second-precision).
1015
-     *
1016
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
1017
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
1018
-     *
1019
-     * @return static
1020
-     */
1021
-    public function closest($date1, $date2);
1022
-
1023
-    /**
1024
-     * Get a copy of the instance.
1025
-     *
1026
-     * @return static
1027
-     */
1028
-    public function copy();
1029
-
1030
-    /**
1031
-     * Create a new Carbon instance from a specific date and time.
1032
-     *
1033
-     * If any of $year, $month or $day are set to null their now() values will
1034
-     * be used.
1035
-     *
1036
-     * If $hour is null it will be set to its now() value and the default
1037
-     * values for $minute and $second will be their now() values.
1038
-     *
1039
-     * If $hour is not null then the default values for $minute and $second
1040
-     * will be 0.
1041
-     *
1042
-     * @param int|null                 $year
1043
-     * @param int|null                 $month
1044
-     * @param int|null                 $day
1045
-     * @param int|null                 $hour
1046
-     * @param int|null                 $minute
1047
-     * @param int|null                 $second
1048
-     * @param DateTimeZone|string|null $tz
1049
-     *
1050
-     * @throws InvalidFormatException
1051
-     *
1052
-     * @return static|false
1053
-     */
1054
-    public static function create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null);
1055
-
1056
-    /**
1057
-     * Create a Carbon instance from just a date. The time portion is set to now.
1058
-     *
1059
-     * @param int|null                 $year
1060
-     * @param int|null                 $month
1061
-     * @param int|null                 $day
1062
-     * @param DateTimeZone|string|null $tz
1063
-     *
1064
-     * @throws InvalidFormatException
1065
-     *
1066
-     * @return static
1067
-     */
1068
-    public static function createFromDate($year = null, $month = null, $day = null, $tz = null);
1069
-
1070
-    /**
1071
-     * Create a Carbon instance from a specific format.
1072
-     *
1073
-     * @param string                         $format Datetime format
1074
-     * @param string                         $time
1075
-     * @param DateTimeZone|string|false|null $tz
1076
-     *
1077
-     * @throws InvalidFormatException
1078
-     *
1079
-     * @return static|false
1080
-     */
1081
-    #[ReturnTypeWillChange]
1082
-    public static function createFromFormat($format, $time, $tz = null);
1083
-
1084
-    /**
1085
-     * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
1086
-     *
1087
-     * @param string                                             $format     Datetime format
1088
-     * @param string                                             $time
1089
-     * @param DateTimeZone|string|false|null                     $tz         optional timezone
1090
-     * @param string|null                                        $locale     locale to be used for LTS, LT, LL, LLL, etc. macro-formats (en by fault, unneeded if no such macro-format in use)
1091
-     * @param \Symfony\Component\Translation\TranslatorInterface $translator optional custom translator to use for macro-formats
1092
-     *
1093
-     * @throws InvalidFormatException
1094
-     *
1095
-     * @return static|false
1096
-     */
1097
-    public static function createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null);
1098
-
1099
-    /**
1100
-     * Create a Carbon instance from a specific format and a string in a given language.
1101
-     *
1102
-     * @param string                         $format Datetime format
1103
-     * @param string                         $locale
1104
-     * @param string                         $time
1105
-     * @param DateTimeZone|string|false|null $tz
1106
-     *
1107
-     * @throws InvalidFormatException
1108
-     *
1109
-     * @return static|false
1110
-     */
1111
-    public static function createFromLocaleFormat($format, $locale, $time, $tz = null);
1112
-
1113
-    /**
1114
-     * Create a Carbon instance from a specific ISO format and a string in a given language.
1115
-     *
1116
-     * @param string                         $format Datetime ISO format
1117
-     * @param string                         $locale
1118
-     * @param string                         $time
1119
-     * @param DateTimeZone|string|false|null $tz
1120
-     *
1121
-     * @throws InvalidFormatException
1122
-     *
1123
-     * @return static|false
1124
-     */
1125
-    public static function createFromLocaleIsoFormat($format, $locale, $time, $tz = null);
1126
-
1127
-    /**
1128
-     * Create a Carbon instance from just a time. The date portion is set to today.
1129
-     *
1130
-     * @param int|null                 $hour
1131
-     * @param int|null                 $minute
1132
-     * @param int|null                 $second
1133
-     * @param DateTimeZone|string|null $tz
1134
-     *
1135
-     * @throws InvalidFormatException
1136
-     *
1137
-     * @return static
1138
-     */
1139
-    public static function createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null);
1140
-
1141
-    /**
1142
-     * Create a Carbon instance from a time string. The date portion is set to today.
1143
-     *
1144
-     * @param string                   $time
1145
-     * @param DateTimeZone|string|null $tz
1146
-     *
1147
-     * @throws InvalidFormatException
1148
-     *
1149
-     * @return static
1150
-     */
1151
-    public static function createFromTimeString($time, $tz = null);
1152
-
1153
-    /**
1154
-     * Create a Carbon instance from a timestamp and set the timezone (use default one if not specified).
1155
-     *
1156
-     * Timestamp input can be given as int, float or a string containing one or more numbers.
1157
-     *
1158
-     * @param float|int|string          $timestamp
1159
-     * @param \DateTimeZone|string|null $tz
1160
-     *
1161
-     * @return static
1162
-     */
1163
-    public static function createFromTimestamp($timestamp, $tz = null);
1164
-
1165
-    /**
1166
-     * Create a Carbon instance from a timestamp in milliseconds.
1167
-     *
1168
-     * Timestamp input can be given as int, float or a string containing one or more numbers.
1169
-     *
1170
-     * @param float|int|string          $timestamp
1171
-     * @param \DateTimeZone|string|null $tz
1172
-     *
1173
-     * @return static
1174
-     */
1175
-    public static function createFromTimestampMs($timestamp, $tz = null);
1176
-
1177
-    /**
1178
-     * Create a Carbon instance from a timestamp in milliseconds.
1179
-     *
1180
-     * Timestamp input can be given as int, float or a string containing one or more numbers.
1181
-     *
1182
-     * @param float|int|string $timestamp
1183
-     *
1184
-     * @return static
1185
-     */
1186
-    public static function createFromTimestampMsUTC($timestamp);
1187
-
1188
-    /**
1189
-     * Create a Carbon instance from an timestamp keeping the timezone to UTC.
1190
-     *
1191
-     * Timestamp input can be given as int, float or a string containing one or more numbers.
1192
-     *
1193
-     * @param float|int|string $timestamp
1194
-     *
1195
-     * @return static
1196
-     */
1197
-    public static function createFromTimestampUTC($timestamp);
1198
-
1199
-    /**
1200
-     * Create a Carbon instance from just a date. The time portion is set to midnight.
1201
-     *
1202
-     * @param int|null                 $year
1203
-     * @param int|null                 $month
1204
-     * @param int|null                 $day
1205
-     * @param DateTimeZone|string|null $tz
1206
-     *
1207
-     * @throws InvalidFormatException
1208
-     *
1209
-     * @return static
1210
-     */
1211
-    public static function createMidnightDate($year = null, $month = null, $day = null, $tz = null);
1212
-
1213
-    /**
1214
-     * Create a new safe Carbon instance from a specific date and time.
1215
-     *
1216
-     * If any of $year, $month or $day are set to null their now() values will
1217
-     * be used.
1218
-     *
1219
-     * If $hour is null it will be set to its now() value and the default
1220
-     * values for $minute and $second will be their now() values.
1221
-     *
1222
-     * If $hour is not null then the default values for $minute and $second
1223
-     * will be 0.
1224
-     *
1225
-     * If one of the set values is not valid, an InvalidDateException
1226
-     * will be thrown.
1227
-     *
1228
-     * @param int|null                 $year
1229
-     * @param int|null                 $month
1230
-     * @param int|null                 $day
1231
-     * @param int|null                 $hour
1232
-     * @param int|null                 $minute
1233
-     * @param int|null                 $second
1234
-     * @param DateTimeZone|string|null $tz
1235
-     *
1236
-     * @throws InvalidDateException
1237
-     *
1238
-     * @return static|false
1239
-     */
1240
-    public static function createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null);
1241
-
1242
-    /**
1243
-     * Create a new Carbon instance from a specific date and time using strict validation.
1244
-     *
1245
-     * @see create()
1246
-     *
1247
-     * @param int|null                 $year
1248
-     * @param int|null                 $month
1249
-     * @param int|null                 $day
1250
-     * @param int|null                 $hour
1251
-     * @param int|null                 $minute
1252
-     * @param int|null                 $second
1253
-     * @param DateTimeZone|string|null $tz
1254
-     *
1255
-     * @throws InvalidFormatException
1256
-     *
1257
-     * @return static
1258
-     */
1259
-    public static function createStrict(?int $year = 0, ?int $month = 1, ?int $day = 1, ?int $hour = 0, ?int $minute = 0, ?int $second = 0, $tz = null);
1260
-
1261
-    /**
1262
-     * Get/set the day of year.
1263
-     *
1264
-     * @param int|null $value new value for day of year if using as setter.
1265
-     *
1266
-     * @return static|int
1267
-     */
1268
-    public function dayOfYear($value = null);
1269
-
1270
-    /**
1271
-     * Get the difference as a CarbonInterval instance.
1272
-     * Return relative interval (negative if $absolute flag is not set to true and the given date is before
1273
-     * current one).
1274
-     *
1275
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1276
-     * @param bool                                                   $absolute Get the absolute of the difference
1277
-     *
1278
-     * @return CarbonInterval
1279
-     */
1280
-    public function diffAsCarbonInterval($date = null, $absolute = true);
1281
-
1282
-    /**
1283
-     * Get the difference by the given interval using a filter closure.
1284
-     *
1285
-     * @param CarbonInterval                                         $ci       An interval to traverse by
1286
-     * @param Closure                                                $callback
1287
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1288
-     * @param bool                                                   $absolute Get the absolute of the difference
1289
-     *
1290
-     * @return int
1291
-     */
1292
-    public function diffFiltered(CarbonInterval $ci, Closure $callback, $date = null, $absolute = true);
1293
-
1294
-    /**
1295
-     * Get the difference in a human readable format in the current locale from current instance to an other
1296
-     * instance given (or now if null given).
1297
-     *
1298
-     * @example
1299
-     * ```
1300
-     * echo Carbon::tomorrow()->diffForHumans() . "\n";
1301
-     * echo Carbon::tomorrow()->diffForHumans(['parts' => 2]) . "\n";
1302
-     * echo Carbon::tomorrow()->diffForHumans(['parts' => 3, 'join' => true]) . "\n";
1303
-     * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday()) . "\n";
1304
-     * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday(), ['short' => true]) . "\n";
1305
-     * ```
1306
-     *
1307
-     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
1308
-     *                                                             if null passed, now will be used as comparison reference;
1309
-     *                                                             if any other type, it will be converted to date and used as reference.
1310
-     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
1311
-     *                                                             - 'syntax' entry (see below)
1312
-     *                                                             - 'short' entry (see below)
1313
-     *                                                             - 'parts' entry (see below)
1314
-     *                                                             - 'options' entry (see below)
1315
-     *                                                             - 'skip' entry, list of units to skip (array of strings or a single string,
1316
-     *                                                             ` it can be the unit name (singular or plural) or its shortcut
1317
-     *                                                             ` (y, m, w, d, h, min, s, ms, µs).
1318
-     *                                                             - 'aUnit' entry, prefer "an hour" over "1 hour" if true
1319
-     *                                                             - 'join' entry determines how to join multiple parts of the string
1320
-     *                                                             `  - if $join is a string, it's used as a joiner glue
1321
-     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
1322
-     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
1323
-     *                                                             `    will be used instead of the glue for the last item
1324
-     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
1325
-     *                                                             `  - if $join is missing, a space will be used as glue
1326
-     *                                                             - 'other' entry (see above)
1327
-     *                                                             - 'minimumUnit' entry determines the smallest unit of time to display can be long or
1328
-     *                                                             `  short form of the units, e.g. 'hour' or 'h' (default value: s)
1329
-     *                                                             if int passed, it add modifiers:
1330
-     *                                                             Possible values:
1331
-     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
1332
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
1333
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
1334
-     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
1335
-     * @param bool                                        $short   displays short format of time units
1336
-     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
1337
-     * @param int                                         $options human diff options
1338
-     *
1339
-     * @return string
1340
-     */
1341
-    public function diffForHumans($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
1342
-
1343
-    /**
1344
-     * Get the difference in days rounded down.
1345
-     *
1346
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1347
-     * @param bool                                                   $absolute Get the absolute of the difference
1348
-     *
1349
-     * @return int
1350
-     */
1351
-    public function diffInDays($date = null, $absolute = true);
1352
-
1353
-    /**
1354
-     * Get the difference in days using a filter closure rounded down.
1355
-     *
1356
-     * @param Closure                                                $callback
1357
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1358
-     * @param bool                                                   $absolute Get the absolute of the difference
1359
-     *
1360
-     * @return int
1361
-     */
1362
-    public function diffInDaysFiltered(Closure $callback, $date = null, $absolute = true);
1363
-
1364
-    /**
1365
-     * Get the difference in hours rounded down.
1366
-     *
1367
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1368
-     * @param bool                                                   $absolute Get the absolute of the difference
1369
-     *
1370
-     * @return int
1371
-     */
1372
-    public function diffInHours($date = null, $absolute = true);
1373
-
1374
-    /**
1375
-     * Get the difference in hours using a filter closure rounded down.
1376
-     *
1377
-     * @param Closure                                                $callback
1378
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1379
-     * @param bool                                                   $absolute Get the absolute of the difference
1380
-     *
1381
-     * @return int
1382
-     */
1383
-    public function diffInHoursFiltered(Closure $callback, $date = null, $absolute = true);
1384
-
1385
-    /**
1386
-     * Get the difference in microseconds.
1387
-     *
1388
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1389
-     * @param bool                                                   $absolute Get the absolute of the difference
1390
-     *
1391
-     * @return int
1392
-     */
1393
-    public function diffInMicroseconds($date = null, $absolute = true);
1394
-
1395
-    /**
1396
-     * Get the difference in milliseconds rounded down.
1397
-     *
1398
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1399
-     * @param bool                                                   $absolute Get the absolute of the difference
1400
-     *
1401
-     * @return int
1402
-     */
1403
-    public function diffInMilliseconds($date = null, $absolute = true);
1404
-
1405
-    /**
1406
-     * Get the difference in minutes rounded down.
1407
-     *
1408
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1409
-     * @param bool                                                   $absolute Get the absolute of the difference
1410
-     *
1411
-     * @return int
1412
-     */
1413
-    public function diffInMinutes($date = null, $absolute = true);
1414
-
1415
-    /**
1416
-     * Get the difference in months rounded down.
1417
-     *
1418
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1419
-     * @param bool                                                   $absolute Get the absolute of the difference
1420
-     *
1421
-     * @return int
1422
-     */
1423
-    public function diffInMonths($date = null, $absolute = true);
1424
-
1425
-    /**
1426
-     * Get the difference in quarters rounded down.
1427
-     *
1428
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1429
-     * @param bool                                                   $absolute Get the absolute of the difference
1430
-     *
1431
-     * @return int
1432
-     */
1433
-    public function diffInQuarters($date = null, $absolute = true);
1434
-
1435
-    /**
1436
-     * Get the difference in hours rounded down using timestamps.
1437
-     *
1438
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1439
-     * @param bool                                                   $absolute Get the absolute of the difference
1440
-     *
1441
-     * @return int
1442
-     */
1443
-    public function diffInRealHours($date = null, $absolute = true);
1444
-
1445
-    /**
1446
-     * Get the difference in microseconds using timestamps.
1447
-     *
1448
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1449
-     * @param bool                                                   $absolute Get the absolute of the difference
1450
-     *
1451
-     * @return int
1452
-     */
1453
-    public function diffInRealMicroseconds($date = null, $absolute = true);
1454
-
1455
-    /**
1456
-     * Get the difference in milliseconds rounded down using timestamps.
1457
-     *
1458
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1459
-     * @param bool                                                   $absolute Get the absolute of the difference
1460
-     *
1461
-     * @return int
1462
-     */
1463
-    public function diffInRealMilliseconds($date = null, $absolute = true);
1464
-
1465
-    /**
1466
-     * Get the difference in minutes rounded down using timestamps.
1467
-     *
1468
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1469
-     * @param bool                                                   $absolute Get the absolute of the difference
1470
-     *
1471
-     * @return int
1472
-     */
1473
-    public function diffInRealMinutes($date = null, $absolute = true);
1474
-
1475
-    /**
1476
-     * Get the difference in seconds using timestamps.
1477
-     *
1478
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1479
-     * @param bool                                                   $absolute Get the absolute of the difference
1480
-     *
1481
-     * @return int
1482
-     */
1483
-    public function diffInRealSeconds($date = null, $absolute = true);
1484
-
1485
-    /**
1486
-     * Get the difference in seconds rounded down.
1487
-     *
1488
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1489
-     * @param bool                                                   $absolute Get the absolute of the difference
1490
-     *
1491
-     * @return int
1492
-     */
1493
-    public function diffInSeconds($date = null, $absolute = true);
1494
-
1495
-    /**
1496
-     * Get the difference in weekdays rounded down.
1497
-     *
1498
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1499
-     * @param bool                                                   $absolute Get the absolute of the difference
1500
-     *
1501
-     * @return int
1502
-     */
1503
-    public function diffInWeekdays($date = null, $absolute = true);
1504
-
1505
-    /**
1506
-     * Get the difference in weekend days using a filter rounded down.
1507
-     *
1508
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1509
-     * @param bool                                                   $absolute Get the absolute of the difference
1510
-     *
1511
-     * @return int
1512
-     */
1513
-    public function diffInWeekendDays($date = null, $absolute = true);
1514
-
1515
-    /**
1516
-     * Get the difference in weeks rounded down.
1517
-     *
1518
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1519
-     * @param bool                                                   $absolute Get the absolute of the difference
1520
-     *
1521
-     * @return int
1522
-     */
1523
-    public function diffInWeeks($date = null, $absolute = true);
1524
-
1525
-    /**
1526
-     * Get the difference in years
1527
-     *
1528
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1529
-     * @param bool                                                   $absolute Get the absolute of the difference
1530
-     *
1531
-     * @return int
1532
-     */
1533
-    public function diffInYears($date = null, $absolute = true);
1534
-
1535
-    /**
1536
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
1537
-     *             You should rather use the ->settings() method.
1538
-     * @see settings
1539
-     *
1540
-     * @param int $humanDiffOption
1541
-     */
1542
-    public static function disableHumanDiffOption($humanDiffOption);
1543
-
1544
-    /**
1545
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
1546
-     *             You should rather use the ->settings() method.
1547
-     * @see settings
1548
-     *
1549
-     * @param int $humanDiffOption
1550
-     */
1551
-    public static function enableHumanDiffOption($humanDiffOption);
1552
-
1553
-    /**
1554
-     * Modify to end of current given unit.
1555
-     *
1556
-     * @example
1557
-     * ```
1558
-     * echo Carbon::parse('2018-07-25 12:45:16.334455')
1559
-     *   ->startOf('month')
1560
-     *   ->endOf('week', Carbon::FRIDAY);
1561
-     * ```
1562
-     *
1563
-     * @param string            $unit
1564
-     * @param array<int, mixed> $params
1565
-     *
1566
-     * @return static
1567
-     */
1568
-    public function endOf($unit, ...$params);
1569
-
1570
-    /**
1571
-     * Resets the date to end of the century and time to 23:59:59.999999
1572
-     *
1573
-     * @example
1574
-     * ```
1575
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfCentury();
1576
-     * ```
1577
-     *
1578
-     * @return static
1579
-     */
1580
-    public function endOfCentury();
1581
-
1582
-    /**
1583
-     * Resets the time to 23:59:59.999999 end of day
1584
-     *
1585
-     * @example
1586
-     * ```
1587
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfDay();
1588
-     * ```
1589
-     *
1590
-     * @return static
1591
-     */
1592
-    public function endOfDay();
1593
-
1594
-    /**
1595
-     * Resets the date to end of the decade and time to 23:59:59.999999
1596
-     *
1597
-     * @example
1598
-     * ```
1599
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfDecade();
1600
-     * ```
1601
-     *
1602
-     * @return static
1603
-     */
1604
-    public function endOfDecade();
1605
-
1606
-    /**
1607
-     * Modify to end of current hour, minutes and seconds become 59
1608
-     *
1609
-     * @example
1610
-     * ```
1611
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfHour();
1612
-     * ```
1613
-     *
1614
-     * @return static
1615
-     */
1616
-    public function endOfHour();
1617
-
1618
-    /**
1619
-     * Resets the date to end of the millennium and time to 23:59:59.999999
1620
-     *
1621
-     * @example
1622
-     * ```
1623
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMillennium();
1624
-     * ```
1625
-     *
1626
-     * @return static
1627
-     */
1628
-    public function endOfMillennium();
1629
-
1630
-    /**
1631
-     * Modify to end of current minute, seconds become 59
1632
-     *
1633
-     * @example
1634
-     * ```
1635
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMinute();
1636
-     * ```
1637
-     *
1638
-     * @return static
1639
-     */
1640
-    public function endOfMinute();
1641
-
1642
-    /**
1643
-     * Resets the date to end of the month and time to 23:59:59.999999
1644
-     *
1645
-     * @example
1646
-     * ```
1647
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMonth();
1648
-     * ```
1649
-     *
1650
-     * @return static
1651
-     */
1652
-    public function endOfMonth();
1653
-
1654
-    /**
1655
-     * Resets the date to end of the quarter and time to 23:59:59.999999
1656
-     *
1657
-     * @example
1658
-     * ```
1659
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfQuarter();
1660
-     * ```
1661
-     *
1662
-     * @return static
1663
-     */
1664
-    public function endOfQuarter();
1665
-
1666
-    /**
1667
-     * Modify to end of current second, microseconds become 999999
1668
-     *
1669
-     * @example
1670
-     * ```
1671
-     * echo Carbon::parse('2018-07-25 12:45:16.334455')
1672
-     *   ->endOfSecond()
1673
-     *   ->format('H:i:s.u');
1674
-     * ```
1675
-     *
1676
-     * @return static
1677
-     */
1678
-    public function endOfSecond();
1679
-
1680
-    /**
1681
-     * Resets the date to end of week (defined in $weekEndsAt) and time to 23:59:59.999999
1682
-     *
1683
-     * @example
1684
-     * ```
1685
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek() . "\n";
1686
-     * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->endOfWeek() . "\n";
1687
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek(Carbon::SATURDAY) . "\n";
1688
-     * ```
1689
-     *
1690
-     * @param int $weekEndsAt optional start allow you to specify the day of week to use to end the week
1691
-     *
1692
-     * @return static
1693
-     */
1694
-    public function endOfWeek($weekEndsAt = null);
1695
-
1696
-    /**
1697
-     * Resets the date to end of the year and time to 23:59:59.999999
1698
-     *
1699
-     * @example
1700
-     * ```
1701
-     * echo Carbon::parse('2018-07-25 12:45:16')->endOfYear();
1702
-     * ```
1703
-     *
1704
-     * @return static
1705
-     */
1706
-    public function endOfYear();
1707
-
1708
-    /**
1709
-     * Determines if the instance is equal to another
1710
-     *
1711
-     * @example
1712
-     * ```
1713
-     * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:16'); // true
1714
-     * Carbon::parse('2018-07-25 12:45:16')->eq(Carbon::parse('2018-07-25 12:45:16')); // true
1715
-     * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:17'); // false
1716
-     * ```
1717
-     *
1718
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
1719
-     *
1720
-     * @see equalTo()
1721
-     *
1722
-     * @return bool
1723
-     */
1724
-    public function eq($date): bool;
1725
-
1726
-    /**
1727
-     * Determines if the instance is equal to another
1728
-     *
1729
-     * @example
1730
-     * ```
1731
-     * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:16'); // true
1732
-     * Carbon::parse('2018-07-25 12:45:16')->equalTo(Carbon::parse('2018-07-25 12:45:16')); // true
1733
-     * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:17'); // false
1734
-     * ```
1735
-     *
1736
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
1737
-     *
1738
-     * @return bool
1739
-     */
1740
-    public function equalTo($date): bool;
1741
-
1742
-    /**
1743
-     * Set the current locale to the given, execute the passed function, reset the locale to previous one,
1744
-     * then return the result of the closure (or null if the closure was void).
1745
-     *
1746
-     * @param string   $locale locale ex. en
1747
-     * @param callable $func
1748
-     *
1749
-     * @return mixed
1750
-     */
1751
-    public static function executeWithLocale($locale, $func);
1752
-
1753
-    /**
1754
-     * Get the farthest date from the instance (second-precision).
1755
-     *
1756
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
1757
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
1758
-     *
1759
-     * @return static
1760
-     */
1761
-    public function farthest($date1, $date2);
1762
-
1763
-    /**
1764
-     * Modify to the first occurrence of a given day of the week
1765
-     * in the current month. If no dayOfWeek is provided, modify to the
1766
-     * first day of the current month.  Use the supplied constants
1767
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
1768
-     *
1769
-     * @param int|null $dayOfWeek
1770
-     *
1771
-     * @return static
1772
-     */
1773
-    public function firstOfMonth($dayOfWeek = null);
1774
-
1775
-    /**
1776
-     * Modify to the first occurrence of a given day of the week
1777
-     * in the current quarter. If no dayOfWeek is provided, modify to the
1778
-     * first day of the current quarter.  Use the supplied constants
1779
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
1780
-     *
1781
-     * @param int|null $dayOfWeek day of the week default null
1782
-     *
1783
-     * @return static
1784
-     */
1785
-    public function firstOfQuarter($dayOfWeek = null);
1786
-
1787
-    /**
1788
-     * Modify to the first occurrence of a given day of the week
1789
-     * in the current year. If no dayOfWeek is provided, modify to the
1790
-     * first day of the current year.  Use the supplied constants
1791
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
1792
-     *
1793
-     * @param int|null $dayOfWeek day of the week default null
1794
-     *
1795
-     * @return static
1796
-     */
1797
-    public function firstOfYear($dayOfWeek = null);
1798
-
1799
-    /**
1800
-     * Get the difference in days as float (microsecond-precision).
1801
-     *
1802
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1803
-     * @param bool                                                   $absolute Get the absolute of the difference
1804
-     *
1805
-     * @return float
1806
-     */
1807
-    public function floatDiffInDays($date = null, $absolute = true);
1808
-
1809
-    /**
1810
-     * Get the difference in hours as float (microsecond-precision).
1811
-     *
1812
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1813
-     * @param bool                                                   $absolute Get the absolute of the difference
1814
-     *
1815
-     * @return float
1816
-     */
1817
-    public function floatDiffInHours($date = null, $absolute = true);
1818
-
1819
-    /**
1820
-     * Get the difference in minutes as float (microsecond-precision).
1821
-     *
1822
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1823
-     * @param bool                                                   $absolute Get the absolute of the difference
1824
-     *
1825
-     * @return float
1826
-     */
1827
-    public function floatDiffInMinutes($date = null, $absolute = true);
1828
-
1829
-    /**
1830
-     * Get the difference in months as float (microsecond-precision).
1831
-     *
1832
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1833
-     * @param bool                                                   $absolute Get the absolute of the difference
1834
-     *
1835
-     * @return float
1836
-     */
1837
-    public function floatDiffInMonths($date = null, $absolute = true);
1838
-
1839
-    /**
1840
-     * Get the difference in days as float (microsecond-precision).
1841
-     *
1842
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1843
-     * @param bool                                                   $absolute Get the absolute of the difference
1844
-     *
1845
-     * @return float
1846
-     */
1847
-    public function floatDiffInRealDays($date = null, $absolute = true);
1848
-
1849
-    /**
1850
-     * Get the difference in hours as float (microsecond-precision) using timestamps.
1851
-     *
1852
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1853
-     * @param bool                                                   $absolute Get the absolute of the difference
1854
-     *
1855
-     * @return float
1856
-     */
1857
-    public function floatDiffInRealHours($date = null, $absolute = true);
1858
-
1859
-    /**
1860
-     * Get the difference in minutes as float (microsecond-precision) using timestamps.
1861
-     *
1862
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1863
-     * @param bool                                                   $absolute Get the absolute of the difference
1864
-     *
1865
-     * @return float
1866
-     */
1867
-    public function floatDiffInRealMinutes($date = null, $absolute = true);
1868
-
1869
-    /**
1870
-     * Get the difference in months as float (microsecond-precision) using timestamps.
1871
-     *
1872
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1873
-     * @param bool                                                   $absolute Get the absolute of the difference
1874
-     *
1875
-     * @return float
1876
-     */
1877
-    public function floatDiffInRealMonths($date = null, $absolute = true);
1878
-
1879
-    /**
1880
-     * Get the difference in seconds as float (microsecond-precision) using timestamps.
1881
-     *
1882
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1883
-     * @param bool                                                   $absolute Get the absolute of the difference
1884
-     *
1885
-     * @return float
1886
-     */
1887
-    public function floatDiffInRealSeconds($date = null, $absolute = true);
1888
-
1889
-    /**
1890
-     * Get the difference in weeks as float (microsecond-precision).
1891
-     *
1892
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1893
-     * @param bool                                                   $absolute Get the absolute of the difference
1894
-     *
1895
-     * @return float
1896
-     */
1897
-    public function floatDiffInRealWeeks($date = null, $absolute = true);
1898
-
1899
-    /**
1900
-     * Get the difference in year as float (microsecond-precision) using timestamps.
1901
-     *
1902
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1903
-     * @param bool                                                   $absolute Get the absolute of the difference
1904
-     *
1905
-     * @return float
1906
-     */
1907
-    public function floatDiffInRealYears($date = null, $absolute = true);
1908
-
1909
-    /**
1910
-     * Get the difference in seconds as float (microsecond-precision).
1911
-     *
1912
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1913
-     * @param bool                                                   $absolute Get the absolute of the difference
1914
-     *
1915
-     * @return float
1916
-     */
1917
-    public function floatDiffInSeconds($date = null, $absolute = true);
1918
-
1919
-    /**
1920
-     * Get the difference in weeks as float (microsecond-precision).
1921
-     *
1922
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1923
-     * @param bool                                                   $absolute Get the absolute of the difference
1924
-     *
1925
-     * @return float
1926
-     */
1927
-    public function floatDiffInWeeks($date = null, $absolute = true);
1928
-
1929
-    /**
1930
-     * Get the difference in year as float (microsecond-precision).
1931
-     *
1932
-     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1933
-     * @param bool                                                   $absolute Get the absolute of the difference
1934
-     *
1935
-     * @return float
1936
-     */
1937
-    public function floatDiffInYears($date = null, $absolute = true);
1938
-
1939
-    /**
1940
-     * Round the current instance second with given precision if specified.
1941
-     *
1942
-     * @param float|int|string|\DateInterval|null $precision
1943
-     *
1944
-     * @return CarbonInterface
1945
-     */
1946
-    public function floor($precision = 1);
1947
-
1948
-    /**
1949
-     * Truncate the current instance at the given unit with given precision if specified.
1950
-     *
1951
-     * @param string    $unit
1952
-     * @param float|int $precision
1953
-     *
1954
-     * @return CarbonInterface
1955
-     */
1956
-    public function floorUnit($unit, $precision = 1);
1957
-
1958
-    /**
1959
-     * Truncate the current instance week.
1960
-     *
1961
-     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
1962
-     *
1963
-     * @return CarbonInterface
1964
-     */
1965
-    public function floorWeek($weekStartsAt = null);
1966
-
1967
-    /**
1968
-     * Format the instance with the current locale.  You can set the current
1969
-     * locale using setlocale() https://php.net/setlocale.
1970
-     *
1971
-     * @deprecated It uses OS language package and strftime() which is deprecated since PHP 8.1.
1972
-     *             Use ->isoFormat() instead.
1973
-     *             Deprecated since 2.55.0
1974
-     *
1975
-     * @param string $format
1976
-     *
1977
-     * @return string
1978
-     */
1979
-    public function formatLocalized($format);
1980
-
1981
-    /**
1982
-     * @alias diffForHumans
1983
-     *
1984
-     * Get the difference in a human readable format in the current locale from current instance to an other
1985
-     * instance given (or now if null given).
1986
-     *
1987
-     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
1988
-     *                                                             if null passed, now will be used as comparison reference;
1989
-     *                                                             if any other type, it will be converted to date and used as reference.
1990
-     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
1991
-     *                                                             - 'syntax' entry (see below)
1992
-     *                                                             - 'short' entry (see below)
1993
-     *                                                             - 'parts' entry (see below)
1994
-     *                                                             - 'options' entry (see below)
1995
-     *                                                             - 'join' entry determines how to join multiple parts of the string
1996
-     *                                                             `  - if $join is a string, it's used as a joiner glue
1997
-     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
1998
-     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
1999
-     *                                                             `    will be used instead of the glue for the last item
2000
-     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
2001
-     *                                                             `  - if $join is missing, a space will be used as glue
2002
-     *                                                             - 'other' entry (see above)
2003
-     *                                                             if int passed, it add modifiers:
2004
-     *                                                             Possible values:
2005
-     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
2006
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
2007
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
2008
-     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
2009
-     * @param bool                                        $short   displays short format of time units
2010
-     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
2011
-     * @param int                                         $options human diff options
2012
-     *
2013
-     * @return string
2014
-     */
2015
-    public function from($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
2016
-
2017
-    /**
2018
-     * Get the difference in a human readable format in the current locale from current
2019
-     * instance to now.
2020
-     *
2021
-     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
2022
-     *                           - 'syntax' entry (see below)
2023
-     *                           - 'short' entry (see below)
2024
-     *                           - 'parts' entry (see below)
2025
-     *                           - 'options' entry (see below)
2026
-     *                           - 'join' entry determines how to join multiple parts of the string
2027
-     *                           `  - if $join is a string, it's used as a joiner glue
2028
-     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
2029
-     *                           `  - if $join is an array, the first item will be the default glue, and the second item
2030
-     *                           `    will be used instead of the glue for the last item
2031
-     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
2032
-     *                           `  - if $join is missing, a space will be used as glue
2033
-     *                           if int passed, it add modifiers:
2034
-     *                           Possible values:
2035
-     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
2036
-     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
2037
-     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
2038
-     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
2039
-     * @param bool      $short   displays short format of time units
2040
-     * @param int       $parts   maximum number of parts to display (default value: 1: single unit)
2041
-     * @param int       $options human diff options
2042
-     *
2043
-     * @return string
2044
-     */
2045
-    public function fromNow($syntax = null, $short = false, $parts = 1, $options = null);
2046
-
2047
-    /**
2048
-     * Create an instance from a serialized string.
2049
-     *
2050
-     * @param string $value
2051
-     *
2052
-     * @throws InvalidFormatException
2053
-     *
2054
-     * @return static
2055
-     */
2056
-    public static function fromSerialized($value);
2057
-
2058
-    /**
2059
-     * Register a custom macro.
2060
-     *
2061
-     * @param object|callable $macro
2062
-     * @param int             $priority marco with higher priority is tried first
2063
-     *
2064
-     * @return void
2065
-     */
2066
-    public static function genericMacro($macro, $priority = 0);
2067
-
2068
-    /**
2069
-     * Get a part of the Carbon object
2070
-     *
2071
-     * @param string $name
2072
-     *
2073
-     * @throws UnknownGetterException
2074
-     *
2075
-     * @return string|int|bool|DateTimeZone|null
2076
-     */
2077
-    public function get($name);
2078
-
2079
-    /**
2080
-     * Returns the alternative number for a given date property if available in the current locale.
2081
-     *
2082
-     * @param string $key date property
2083
-     *
2084
-     * @return string
2085
-     */
2086
-    public function getAltNumber(string $key): string;
2087
-
2088
-    /**
2089
-     * Returns the list of internally available locales and already loaded custom locales.
2090
-     * (It will ignore custom translator dynamic loading.)
2091
-     *
2092
-     * @return array
2093
-     */
2094
-    public static function getAvailableLocales();
2095
-
2096
-    /**
2097
-     * Returns list of Language object for each available locale. This object allow you to get the ISO name, native
2098
-     * name, region and variant of the locale.
2099
-     *
2100
-     * @return Language[]
2101
-     */
2102
-    public static function getAvailableLocalesInfo();
2103
-
2104
-    /**
2105
-     * Returns list of calendar formats for ISO formatting.
2106
-     *
2107
-     * @param string|null $locale current locale used if null
2108
-     *
2109
-     * @return array
2110
-     */
2111
-    public function getCalendarFormats($locale = null);
2112
-
2113
-    /**
2114
-     * Get the days of the week
2115
-     *
2116
-     * @return array
2117
-     */
2118
-    public static function getDays();
2119
-
2120
-    /**
2121
-     * Get the fallback locale.
2122
-     *
2123
-     * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
2124
-     *
2125
-     * @return string|null
2126
-     */
2127
-    public static function getFallbackLocale();
2128
-
2129
-    /**
2130
-     * List of replacements from date() format to isoFormat().
2131
-     *
2132
-     * @return array
2133
-     */
2134
-    public static function getFormatsToIsoReplacements();
2135
-
2136
-    /**
2137
-     * Return default humanDiff() options (merged flags as integer).
2138
-     *
2139
-     * @return int
2140
-     */
2141
-    public static function getHumanDiffOptions();
2142
-
2143
-    /**
2144
-     * Returns list of locale formats for ISO formatting.
2145
-     *
2146
-     * @param string|null $locale current locale used if null
2147
-     *
2148
-     * @return array
2149
-     */
2150
-    public function getIsoFormats($locale = null);
2151
-
2152
-    /**
2153
-     * Returns list of locale units for ISO formatting.
2154
-     *
2155
-     * @return array
2156
-     */
2157
-    public static function getIsoUnits();
2158
-
2159
-    /**
2160
-     * {@inheritdoc}
2161
-     *
2162
-     * @return array
2163
-     */
2164
-    #[ReturnTypeWillChange]
2165
-    public static function getLastErrors();
2166
-
2167
-    /**
2168
-     * Get the raw callable macro registered globally or locally for a given name.
2169
-     *
2170
-     * @param string $name
2171
-     *
2172
-     * @return callable|null
2173
-     */
2174
-    public function getLocalMacro($name);
2175
-
2176
-    /**
2177
-     * Get the translator of the current instance or the default if none set.
2178
-     *
2179
-     * @return \Symfony\Component\Translation\TranslatorInterface
2180
-     */
2181
-    public function getLocalTranslator();
2182
-
2183
-    /**
2184
-     * Get the current translator locale.
2185
-     *
2186
-     * @return string
2187
-     */
2188
-    public static function getLocale();
2189
-
2190
-    /**
2191
-     * Get the raw callable macro registered globally for a given name.
2192
-     *
2193
-     * @param string $name
2194
-     *
2195
-     * @return callable|null
2196
-     */
2197
-    public static function getMacro($name);
2198
-
2199
-    /**
2200
-     * get midday/noon hour
2201
-     *
2202
-     * @return int
2203
-     */
2204
-    public static function getMidDayAt();
2205
-
2206
-    /**
2207
-     * Returns the offset hour and minute formatted with +/- and a given separator (":" by default).
2208
-     * For example, if the time zone is 9 hours 30 minutes, you'll get "+09:30", with "@@" as first
2209
-     * argument, "+09@@30", with "" as first argument, "+0930". Negative offset will return something
2210
-     * like "-12:00".
2211
-     *
2212
-     * @param string $separator string to place between hours and minutes (":" by default)
2213
-     *
2214
-     * @return string
2215
-     */
2216
-    public function getOffsetString($separator = ':');
2217
-
2218
-    /**
2219
-     * Returns a unit of the instance padded with 0 by default or any other string if specified.
2220
-     *
2221
-     * @param string $unit      Carbon unit name
2222
-     * @param int    $length    Length of the output (2 by default)
2223
-     * @param string $padString String to use for padding ("0" by default)
2224
-     * @param int    $padType   Side(s) to pad (STR_PAD_LEFT by default)
2225
-     *
2226
-     * @return string
2227
-     */
2228
-    public function getPaddedUnit($unit, $length = 2, $padString = '0', $padType = 0);
2229
-
2230
-    /**
2231
-     * Returns a timestamp rounded with the given precision (6 by default).
2232
-     *
2233
-     * @example getPreciseTimestamp()   1532087464437474 (microsecond maximum precision)
2234
-     * @example getPreciseTimestamp(6)  1532087464437474
2235
-     * @example getPreciseTimestamp(5)  153208746443747  (1/100000 second precision)
2236
-     * @example getPreciseTimestamp(4)  15320874644375   (1/10000 second precision)
2237
-     * @example getPreciseTimestamp(3)  1532087464437    (millisecond precision)
2238
-     * @example getPreciseTimestamp(2)  153208746444     (1/100 second precision)
2239
-     * @example getPreciseTimestamp(1)  15320874644      (1/10 second precision)
2240
-     * @example getPreciseTimestamp(0)  1532087464       (second precision)
2241
-     * @example getPreciseTimestamp(-1) 153208746        (10 second precision)
2242
-     * @example getPreciseTimestamp(-2) 15320875         (100 second precision)
2243
-     *
2244
-     * @param int $precision
2245
-     *
2246
-     * @return float
2247
-     */
2248
-    public function getPreciseTimestamp($precision = 6);
2249
-
2250
-    /**
2251
-     * Returns current local settings.
2252
-     *
2253
-     * @return array
2254
-     */
2255
-    public function getSettings();
2256
-
2257
-    /**
2258
-     * Get the Carbon instance (real or mock) to be returned when a "now"
2259
-     * instance is created.
2260
-     *
2261
-     * @return Closure|static the current instance used for testing
2262
-     */
2263
-    public static function getTestNow();
2264
-
2265
-    /**
2266
-     * Return a format from H:i to H:i:s.u according to given unit precision.
2267
-     *
2268
-     * @param string $unitPrecision "minute", "second", "millisecond" or "microsecond"
2269
-     *
2270
-     * @return string
2271
-     */
2272
-    public static function getTimeFormatByPrecision($unitPrecision);
2273
-
2274
-    /**
2275
-     * Returns the timestamp with millisecond precision.
2276
-     *
2277
-     * @return int
2278
-     */
2279
-    public function getTimestampMs();
2280
-
2281
-    /**
2282
-     * Get the translation of the current week day name (with context for languages with multiple forms).
2283
-     *
2284
-     * @param string|null $context      whole format string
2285
-     * @param string      $keySuffix    "", "_short" or "_min"
2286
-     * @param string|null $defaultValue default value if translation missing
2287
-     *
2288
-     * @return string
2289
-     */
2290
-    public function getTranslatedDayName($context = null, $keySuffix = '', $defaultValue = null);
2291
-
2292
-    /**
2293
-     * Get the translation of the current abbreviated week day name (with context for languages with multiple forms).
2294
-     *
2295
-     * @param string|null $context whole format string
2296
-     *
2297
-     * @return string
2298
-     */
2299
-    public function getTranslatedMinDayName($context = null);
2300
-
2301
-    /**
2302
-     * Get the translation of the current month day name (with context for languages with multiple forms).
2303
-     *
2304
-     * @param string|null $context      whole format string
2305
-     * @param string      $keySuffix    "" or "_short"
2306
-     * @param string|null $defaultValue default value if translation missing
2307
-     *
2308
-     * @return string
2309
-     */
2310
-    public function getTranslatedMonthName($context = null, $keySuffix = '', $defaultValue = null);
2311
-
2312
-    /**
2313
-     * Get the translation of the current short week day name (with context for languages with multiple forms).
2314
-     *
2315
-     * @param string|null $context whole format string
2316
-     *
2317
-     * @return string
2318
-     */
2319
-    public function getTranslatedShortDayName($context = null);
2320
-
2321
-    /**
2322
-     * Get the translation of the current short month day name (with context for languages with multiple forms).
2323
-     *
2324
-     * @param string|null $context whole format string
2325
-     *
2326
-     * @return string
2327
-     */
2328
-    public function getTranslatedShortMonthName($context = null);
2329
-
2330
-    /**
2331
-     * Returns raw translation message for a given key.
2332
-     *
2333
-     * @param string                                             $key        key to find
2334
-     * @param string|null                                        $locale     current locale used if null
2335
-     * @param string|null                                        $default    default value if translation returns the key
2336
-     * @param \Symfony\Component\Translation\TranslatorInterface $translator an optional translator to use
2337
-     *
2338
-     * @return string
2339
-     */
2340
-    public function getTranslationMessage(string $key, ?string $locale = null, ?string $default = null, $translator = null);
2341
-
2342
-    /**
2343
-     * Returns raw translation message for a given key.
2344
-     *
2345
-     * @param \Symfony\Component\Translation\TranslatorInterface $translator the translator to use
2346
-     * @param string                                             $key        key to find
2347
-     * @param string|null                                        $locale     current locale used if null
2348
-     * @param string|null                                        $default    default value if translation returns the key
2349
-     *
2350
-     * @return string
2351
-     */
2352
-    public static function getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null);
2353
-
2354
-    /**
2355
-     * Get the default translator instance in use.
2356
-     *
2357
-     * @return \Symfony\Component\Translation\TranslatorInterface
2358
-     */
2359
-    public static function getTranslator();
2360
-
2361
-    /**
2362
-     * Get the last day of week
2363
-     *
2364
-     * @return int
2365
-     */
2366
-    public static function getWeekEndsAt();
2367
-
2368
-    /**
2369
-     * Get the first day of week
2370
-     *
2371
-     * @return int
2372
-     */
2373
-    public static function getWeekStartsAt();
2374
-
2375
-    /**
2376
-     * Get weekend days
2377
-     *
2378
-     * @return array
2379
-     */
2380
-    public static function getWeekendDays();
2381
-
2382
-    /**
2383
-     * Determines if the instance is greater (after) than another
2384
-     *
2385
-     * @example
2386
-     * ```
2387
-     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:15'); // true
2388
-     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:16'); // false
2389
-     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:17'); // false
2390
-     * ```
2391
-     *
2392
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2393
-     *
2394
-     * @return bool
2395
-     */
2396
-    public function greaterThan($date): bool;
2397
-
2398
-    /**
2399
-     * Determines if the instance is greater (after) than or equal to another
2400
-     *
2401
-     * @example
2402
-     * ```
2403
-     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:15'); // true
2404
-     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:16'); // true
2405
-     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:17'); // false
2406
-     * ```
2407
-     *
2408
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2409
-     *
2410
-     * @return bool
2411
-     */
2412
-    public function greaterThanOrEqualTo($date): bool;
2413
-
2414
-    /**
2415
-     * Determines if the instance is greater (after) than another
2416
-     *
2417
-     * @example
2418
-     * ```
2419
-     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:15'); // true
2420
-     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:16'); // false
2421
-     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:17'); // false
2422
-     * ```
2423
-     *
2424
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2425
-     *
2426
-     * @see greaterThan()
2427
-     *
2428
-     * @return bool
2429
-     */
2430
-    public function gt($date): bool;
2431
-
2432
-    /**
2433
-     * Determines if the instance is greater (after) than or equal to another
2434
-     *
2435
-     * @example
2436
-     * ```
2437
-     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:15'); // true
2438
-     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:16'); // true
2439
-     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:17'); // false
2440
-     * ```
2441
-     *
2442
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2443
-     *
2444
-     * @see greaterThanOrEqualTo()
2445
-     *
2446
-     * @return bool
2447
-     */
2448
-    public function gte($date): bool;
2449
-
2450
-    /**
2451
-     * Checks if the (date)time string is in a given format.
2452
-     *
2453
-     * @example
2454
-     * ```
2455
-     * Carbon::hasFormat('11:12:45', 'h:i:s'); // true
2456
-     * Carbon::hasFormat('13:12:45', 'h:i:s'); // false
2457
-     * ```
2458
-     *
2459
-     * @param string $date
2460
-     * @param string $format
2461
-     *
2462
-     * @return bool
2463
-     */
2464
-    public static function hasFormat($date, $format);
2465
-
2466
-    /**
2467
-     * Checks if the (date)time string is in a given format.
2468
-     *
2469
-     * @example
2470
-     * ```
2471
-     * Carbon::hasFormatWithModifiers('31/08/2015', 'd#m#Y'); // true
2472
-     * Carbon::hasFormatWithModifiers('31/08/2015', 'm#d#Y'); // false
2473
-     * ```
2474
-     *
2475
-     * @param string $date
2476
-     * @param string $format
2477
-     *
2478
-     * @return bool
2479
-     */
2480
-    public static function hasFormatWithModifiers($date, $format): bool;
2481
-
2482
-    /**
2483
-     * Checks if macro is registered globally or locally.
2484
-     *
2485
-     * @param string $name
2486
-     *
2487
-     * @return bool
2488
-     */
2489
-    public function hasLocalMacro($name);
2490
-
2491
-    /**
2492
-     * Return true if the current instance has its own translator.
2493
-     *
2494
-     * @return bool
2495
-     */
2496
-    public function hasLocalTranslator();
2497
-
2498
-    /**
2499
-     * Checks if macro is registered globally.
2500
-     *
2501
-     * @param string $name
2502
-     *
2503
-     * @return bool
2504
-     */
2505
-    public static function hasMacro($name);
2506
-
2507
-    /**
2508
-     * Determine if a time string will produce a relative date.
2509
-     *
2510
-     * @param string $time
2511
-     *
2512
-     * @return bool true if time match a relative date, false if absolute or invalid time string
2513
-     */
2514
-    public static function hasRelativeKeywords($time);
2515
-
2516
-    /**
2517
-     * Determine if there is a valid test instance set. A valid test instance
2518
-     * is anything that is not null.
2519
-     *
2520
-     * @return bool true if there is a test instance, otherwise false
2521
-     */
2522
-    public static function hasTestNow();
2523
-
2524
-    /**
2525
-     * Create a Carbon instance from a DateTime one.
2526
-     *
2527
-     * @param DateTimeInterface $date
2528
-     *
2529
-     * @return static
2530
-     */
2531
-    public static function instance($date);
2532
-
2533
-    /**
2534
-     * Returns true if the current date matches the given string.
2535
-     *
2536
-     * @example
2537
-     * ```
2538
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019')); // true
2539
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2018')); // false
2540
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06')); // true
2541
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('06-02')); // true
2542
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06-02')); // true
2543
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); // true
2544
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('June')); // true
2545
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); // true
2546
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:45')); // true
2547
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:00')); // false
2548
-     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12h')); // true
2549
-     * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3pm')); // true
2550
-     * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3am')); // false
2551
-     * ```
2552
-     *
2553
-     * @param string $tester day name, month name, hour, date, etc. as string
2554
-     *
2555
-     * @return bool
2556
-     */
2557
-    public function is(string $tester);
2558
-
2559
-    /**
2560
-     * Determines if the instance is greater (after) than another
2561
-     *
2562
-     * @example
2563
-     * ```
2564
-     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:15'); // true
2565
-     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:16'); // false
2566
-     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:17'); // false
2567
-     * ```
2568
-     *
2569
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2570
-     *
2571
-     * @see greaterThan()
2572
-     *
2573
-     * @return bool
2574
-     */
2575
-    public function isAfter($date): bool;
2576
-
2577
-    /**
2578
-     * Determines if the instance is less (before) than another
2579
-     *
2580
-     * @example
2581
-     * ```
2582
-     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:15'); // false
2583
-     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:16'); // false
2584
-     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:17'); // true
2585
-     * ```
2586
-     *
2587
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2588
-     *
2589
-     * @see lessThan()
2590
-     *
2591
-     * @return bool
2592
-     */
2593
-    public function isBefore($date): bool;
2594
-
2595
-    /**
2596
-     * Determines if the instance is between two others
2597
-     *
2598
-     * @example
2599
-     * ```
2600
-     * Carbon::parse('2018-07-25')->isBetween('2018-07-14', '2018-08-01'); // true
2601
-     * Carbon::parse('2018-07-25')->isBetween('2018-08-01', '2018-08-20'); // false
2602
-     * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01'); // true
2603
-     * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01', false); // false
2604
-     * ```
2605
-     *
2606
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
2607
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
2608
-     * @param bool                                    $equal Indicates if an equal to comparison should be done
2609
-     *
2610
-     * @return bool
2611
-     */
2612
-    public function isBetween($date1, $date2, $equal = true): bool;
2613
-
2614
-    /**
2615
-     * Check if its the birthday. Compares the date/month values of the two dates.
2616
-     *
2617
-     * @example
2618
-     * ```
2619
-     * Carbon::now()->subYears(5)->isBirthday(); // true
2620
-     * Carbon::now()->subYears(5)->subDay()->isBirthday(); // false
2621
-     * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-05')); // true
2622
-     * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-06')); // false
2623
-     * ```
2624
-     *
2625
-     * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use current day.
2626
-     *
2627
-     * @return bool
2628
-     */
2629
-    public function isBirthday($date = null);
2630
-
2631
-    /**
2632
-     * Determines if the instance is in the current unit given.
2633
-     *
2634
-     * @example
2635
-     * ```
2636
-     * Carbon::now()->isCurrentUnit('hour'); // true
2637
-     * Carbon::now()->subHours(2)->isCurrentUnit('hour'); // false
2638
-     * ```
2639
-     *
2640
-     * @param string $unit The unit to test.
2641
-     *
2642
-     * @throws BadMethodCallException
2643
-     *
2644
-     * @return bool
2645
-     */
2646
-    public function isCurrentUnit($unit);
2647
-
2648
-    /**
2649
-     * Checks if this day is a specific day of the week.
2650
-     *
2651
-     * @example
2652
-     * ```
2653
-     * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::WEDNESDAY); // true
2654
-     * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::FRIDAY); // false
2655
-     * Carbon::parse('2019-07-17')->isDayOfWeek('Wednesday'); // true
2656
-     * Carbon::parse('2019-07-17')->isDayOfWeek('Friday'); // false
2657
-     * ```
2658
-     *
2659
-     * @param int $dayOfWeek
2660
-     *
2661
-     * @return bool
2662
-     */
2663
-    public function isDayOfWeek($dayOfWeek);
2664
-
2665
-    /**
2666
-     * Check if the instance is end of day.
2667
-     *
2668
-     * @example
2669
-     * ```
2670
-     * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(); // true
2671
-     * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(); // true
2672
-     * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(); // true
2673
-     * Carbon::parse('2019-02-28 23:59:58.999999')->isEndOfDay(); // false
2674
-     * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(true); // true
2675
-     * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(true); // false
2676
-     * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(true); // false
2677
-     * ```
2678
-     *
2679
-     * @param bool $checkMicroseconds check time at microseconds precision
2680
-     *
2681
-     * @return bool
2682
-     */
2683
-    public function isEndOfDay($checkMicroseconds = false);
2684
-
2685
-    /**
2686
-     * Returns true if the date was created using CarbonImmutable::endOfTime()
2687
-     *
2688
-     * @return bool
2689
-     */
2690
-    public function isEndOfTime(): bool;
2691
-
2692
-    /**
2693
-     * Determines if the instance is in the future, ie. greater (after) than now.
2694
-     *
2695
-     * @example
2696
-     * ```
2697
-     * Carbon::now()->addHours(5)->isFuture(); // true
2698
-     * Carbon::now()->subHours(5)->isFuture(); // false
2699
-     * ```
2700
-     *
2701
-     * @return bool
2702
-     */
2703
-    public function isFuture();
2704
-
2705
-    /**
2706
-     * Returns true if the current class/instance is immutable.
2707
-     *
2708
-     * @return bool
2709
-     */
2710
-    public static function isImmutable();
2711
-
2712
-    /**
2713
-     * Check if today is the last day of the Month
2714
-     *
2715
-     * @example
2716
-     * ```
2717
-     * Carbon::parse('2019-02-28')->isLastOfMonth(); // true
2718
-     * Carbon::parse('2019-03-28')->isLastOfMonth(); // false
2719
-     * Carbon::parse('2019-03-30')->isLastOfMonth(); // false
2720
-     * Carbon::parse('2019-03-31')->isLastOfMonth(); // true
2721
-     * Carbon::parse('2019-04-30')->isLastOfMonth(); // true
2722
-     * ```
2723
-     *
2724
-     * @return bool
2725
-     */
2726
-    public function isLastOfMonth();
2727
-
2728
-    /**
2729
-     * Determines if the instance is a leap year.
2730
-     *
2731
-     * @example
2732
-     * ```
2733
-     * Carbon::parse('2020-01-01')->isLeapYear(); // true
2734
-     * Carbon::parse('2019-01-01')->isLeapYear(); // false
2735
-     * ```
2736
-     *
2737
-     * @return bool
2738
-     */
2739
-    public function isLeapYear();
2740
-
2741
-    /**
2742
-     * Determines if the instance is a long year
2743
-     *
2744
-     * @example
2745
-     * ```
2746
-     * Carbon::parse('2015-01-01')->isLongYear(); // true
2747
-     * Carbon::parse('2016-01-01')->isLongYear(); // false
2748
-     * ```
2749
-     *
2750
-     * @see https://en.wikipedia.org/wiki/ISO_8601#Week_dates
2751
-     *
2752
-     * @return bool
2753
-     */
2754
-    public function isLongYear();
2755
-
2756
-    /**
2757
-     * Check if the instance is midday.
2758
-     *
2759
-     * @example
2760
-     * ```
2761
-     * Carbon::parse('2019-02-28 11:59:59.999999')->isMidday(); // false
2762
-     * Carbon::parse('2019-02-28 12:00:00')->isMidday(); // true
2763
-     * Carbon::parse('2019-02-28 12:00:00.999999')->isMidday(); // true
2764
-     * Carbon::parse('2019-02-28 12:00:01')->isMidday(); // false
2765
-     * ```
2766
-     *
2767
-     * @return bool
2768
-     */
2769
-    public function isMidday();
2770
-
2771
-    /**
2772
-     * Check if the instance is start of day / midnight.
2773
-     *
2774
-     * @example
2775
-     * ```
2776
-     * Carbon::parse('2019-02-28 00:00:00')->isMidnight(); // true
2777
-     * Carbon::parse('2019-02-28 00:00:00.999999')->isMidnight(); // true
2778
-     * Carbon::parse('2019-02-28 00:00:01')->isMidnight(); // false
2779
-     * ```
2780
-     *
2781
-     * @return bool
2782
-     */
2783
-    public function isMidnight();
2784
-
2785
-    /**
2786
-     * Returns true if a property can be changed via setter.
2787
-     *
2788
-     * @param string $unit
2789
-     *
2790
-     * @return bool
2791
-     */
2792
-    public static function isModifiableUnit($unit);
2793
-
2794
-    /**
2795
-     * Returns true if the current class/instance is mutable.
2796
-     *
2797
-     * @return bool
2798
-     */
2799
-    public static function isMutable();
2800
-
2801
-    /**
2802
-     * Determines if the instance is in the past, ie. less (before) than now.
2803
-     *
2804
-     * @example
2805
-     * ```
2806
-     * Carbon::now()->subHours(5)->isPast(); // true
2807
-     * Carbon::now()->addHours(5)->isPast(); // false
2808
-     * ```
2809
-     *
2810
-     * @return bool
2811
-     */
2812
-    public function isPast();
2813
-
2814
-    /**
2815
-     * Compares the formatted values of the two dates.
2816
-     *
2817
-     * @example
2818
-     * ```
2819
-     * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-12-13')); // true
2820
-     * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-06-14')); // false
2821
-     * ```
2822
-     *
2823
-     * @param string                                        $format date formats to compare.
2824
-     * @param \Carbon\Carbon|\DateTimeInterface|string|null $date   instance to compare with or null to use current day.
2825
-     *
2826
-     * @return bool
2827
-     */
2828
-    public function isSameAs($format, $date = null);
2829
-
2830
-    /**
2831
-     * Checks if the passed in date is in the same month as the instance´s month.
2832
-     *
2833
-     * @example
2834
-     * ```
2835
-     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-01-01')); // true
2836
-     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-02-01')); // false
2837
-     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01')); // false
2838
-     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01'), false); // true
2839
-     * ```
2840
-     *
2841
-     * @param \Carbon\Carbon|\DateTimeInterface|null $date       The instance to compare with or null to use the current date.
2842
-     * @param bool                                   $ofSameYear Check if it is the same month in the same year.
2843
-     *
2844
-     * @return bool
2845
-     */
2846
-    public function isSameMonth($date = null, $ofSameYear = true);
2847
-
2848
-    /**
2849
-     * Checks if the passed in date is in the same quarter as the instance quarter (and year if needed).
2850
-     *
2851
-     * @example
2852
-     * ```
2853
-     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-03-01')); // true
2854
-     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-04-01')); // false
2855
-     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01')); // false
2856
-     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01'), false); // true
2857
-     * ```
2858
-     *
2859
-     * @param \Carbon\Carbon|\DateTimeInterface|string|null $date       The instance to compare with or null to use current day.
2860
-     * @param bool                                          $ofSameYear Check if it is the same month in the same year.
2861
-     *
2862
-     * @return bool
2863
-     */
2864
-    public function isSameQuarter($date = null, $ofSameYear = true);
2865
-
2866
-    /**
2867
-     * Determines if the instance is in the current unit given.
2868
-     *
2869
-     * @example
2870
-     * ```
2871
-     * Carbon::parse('2019-01-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // true
2872
-     * Carbon::parse('2018-12-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // false
2873
-     * ```
2874
-     *
2875
-     * @param string                                 $unit singular unit string
2876
-     * @param \Carbon\Carbon|\DateTimeInterface|null $date instance to compare with or null to use current day.
2877
-     *
2878
-     * @throws BadComparisonUnitException
2879
-     *
2880
-     * @return bool
2881
-     */
2882
-    public function isSameUnit($unit, $date = null);
2883
-
2884
-    /**
2885
-     * Check if the instance is start of day / midnight.
2886
-     *
2887
-     * @example
2888
-     * ```
2889
-     * Carbon::parse('2019-02-28 00:00:00')->isStartOfDay(); // true
2890
-     * Carbon::parse('2019-02-28 00:00:00.999999')->isStartOfDay(); // true
2891
-     * Carbon::parse('2019-02-28 00:00:01')->isStartOfDay(); // false
2892
-     * Carbon::parse('2019-02-28 00:00:00.000000')->isStartOfDay(true); // true
2893
-     * Carbon::parse('2019-02-28 00:00:00.000012')->isStartOfDay(true); // false
2894
-     * ```
2895
-     *
2896
-     * @param bool $checkMicroseconds check time at microseconds precision
2897
-     *
2898
-     * @return bool
2899
-     */
2900
-    public function isStartOfDay($checkMicroseconds = false);
2901
-
2902
-    /**
2903
-     * Returns true if the date was created using CarbonImmutable::startOfTime()
2904
-     *
2905
-     * @return bool
2906
-     */
2907
-    public function isStartOfTime(): bool;
2908
-
2909
-    /**
2910
-     * Returns true if the strict mode is globally in use, false else.
2911
-     * (It can be overridden in specific instances.)
2912
-     *
2913
-     * @return bool
2914
-     */
2915
-    public static function isStrictModeEnabled();
2916
-
2917
-    /**
2918
-     * Determines if the instance is today.
2919
-     *
2920
-     * @example
2921
-     * ```
2922
-     * Carbon::today()->isToday(); // true
2923
-     * Carbon::tomorrow()->isToday(); // false
2924
-     * ```
2925
-     *
2926
-     * @return bool
2927
-     */
2928
-    public function isToday();
2929
-
2930
-    /**
2931
-     * Determines if the instance is tomorrow.
2932
-     *
2933
-     * @example
2934
-     * ```
2935
-     * Carbon::tomorrow()->isTomorrow(); // true
2936
-     * Carbon::yesterday()->isTomorrow(); // false
2937
-     * ```
2938
-     *
2939
-     * @return bool
2940
-     */
2941
-    public function isTomorrow();
2942
-
2943
-    /**
2944
-     * Determines if the instance is a weekday.
2945
-     *
2946
-     * @example
2947
-     * ```
2948
-     * Carbon::parse('2019-07-14')->isWeekday(); // false
2949
-     * Carbon::parse('2019-07-15')->isWeekday(); // true
2950
-     * ```
2951
-     *
2952
-     * @return bool
2953
-     */
2954
-    public function isWeekday();
2955
-
2956
-    /**
2957
-     * Determines if the instance is a weekend day.
2958
-     *
2959
-     * @example
2960
-     * ```
2961
-     * Carbon::parse('2019-07-14')->isWeekend(); // true
2962
-     * Carbon::parse('2019-07-15')->isWeekend(); // false
2963
-     * ```
2964
-     *
2965
-     * @return bool
2966
-     */
2967
-    public function isWeekend();
2968
-
2969
-    /**
2970
-     * Determines if the instance is yesterday.
2971
-     *
2972
-     * @example
2973
-     * ```
2974
-     * Carbon::yesterday()->isYesterday(); // true
2975
-     * Carbon::tomorrow()->isYesterday(); // false
2976
-     * ```
2977
-     *
2978
-     * @return bool
2979
-     */
2980
-    public function isYesterday();
2981
-
2982
-    /**
2983
-     * Format in the current language using ISO replacement patterns.
2984
-     *
2985
-     * @param string      $format
2986
-     * @param string|null $originalFormat provide context if a chunk has been passed alone
2987
-     *
2988
-     * @return string
2989
-     */
2990
-    public function isoFormat(string $format, ?string $originalFormat = null): string;
2991
-
2992
-    /**
2993
-     * Get/set the week number using given first day of week and first
2994
-     * day of year included in the first week. Or use ISO format if no settings
2995
-     * given.
2996
-     *
2997
-     * @param int|null $week
2998
-     * @param int|null $dayOfWeek
2999
-     * @param int|null $dayOfYear
3000
-     *
3001
-     * @return int|static
3002
-     */
3003
-    public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null);
3004
-
3005
-    /**
3006
-     * Set/get the week number of year using given first day of week and first
3007
-     * day of year included in the first week. Or use ISO format if no settings
3008
-     * given.
3009
-     *
3010
-     * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
3011
-     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
3012
-     * @param int|null $dayOfYear first day of year included in the week #1
3013
-     *
3014
-     * @return int|static
3015
-     */
3016
-    public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null);
3017
-
3018
-    /**
3019
-     * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday).
3020
-     *
3021
-     * @param int|null $value new value for weekday if using as setter.
3022
-     *
3023
-     * @return static|int
3024
-     */
3025
-    public function isoWeekday($value = null);
3026
-
3027
-    /**
3028
-     * Get the number of weeks of the current week-year using given first day of week and first
3029
-     * day of year included in the first week. Or use ISO format if no settings
3030
-     * given.
3031
-     *
3032
-     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
3033
-     * @param int|null $dayOfYear first day of year included in the week #1
3034
-     *
3035
-     * @return int
3036
-     */
3037
-    public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null);
3038
-
3039
-    /**
3040
-     * Prepare the object for JSON serialization.
3041
-     *
3042
-     * @return array|string
3043
-     */
3044
-    #[ReturnTypeWillChange]
3045
-    public function jsonSerialize();
3046
-
3047
-    /**
3048
-     * Modify to the last occurrence of a given day of the week
3049
-     * in the current month. If no dayOfWeek is provided, modify to the
3050
-     * last day of the current month.  Use the supplied constants
3051
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
3052
-     *
3053
-     * @param int|null $dayOfWeek
3054
-     *
3055
-     * @return static
3056
-     */
3057
-    public function lastOfMonth($dayOfWeek = null);
3058
-
3059
-    /**
3060
-     * Modify to the last occurrence of a given day of the week
3061
-     * in the current quarter. If no dayOfWeek is provided, modify to the
3062
-     * last day of the current quarter.  Use the supplied constants
3063
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
3064
-     *
3065
-     * @param int|null $dayOfWeek day of the week default null
3066
-     *
3067
-     * @return static
3068
-     */
3069
-    public function lastOfQuarter($dayOfWeek = null);
3070
-
3071
-    /**
3072
-     * Modify to the last occurrence of a given day of the week
3073
-     * in the current year. If no dayOfWeek is provided, modify to the
3074
-     * last day of the current year.  Use the supplied constants
3075
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
3076
-     *
3077
-     * @param int|null $dayOfWeek day of the week default null
3078
-     *
3079
-     * @return static
3080
-     */
3081
-    public function lastOfYear($dayOfWeek = null);
3082
-
3083
-    /**
3084
-     * Determines if the instance is less (before) than another
3085
-     *
3086
-     * @example
3087
-     * ```
3088
-     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:15'); // false
3089
-     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:16'); // false
3090
-     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:17'); // true
3091
-     * ```
3092
-     *
3093
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3094
-     *
3095
-     * @return bool
3096
-     */
3097
-    public function lessThan($date): bool;
3098
-
3099
-    /**
3100
-     * Determines if the instance is less (before) or equal to another
3101
-     *
3102
-     * @example
3103
-     * ```
3104
-     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:15'); // false
3105
-     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:16'); // true
3106
-     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:17'); // true
3107
-     * ```
3108
-     *
3109
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3110
-     *
3111
-     * @return bool
3112
-     */
3113
-    public function lessThanOrEqualTo($date): bool;
3114
-
3115
-    /**
3116
-     * Get/set the locale for the current instance.
3117
-     *
3118
-     * @param string|null $locale
3119
-     * @param string      ...$fallbackLocales
3120
-     *
3121
-     * @return $this|string
3122
-     */
3123
-    public function locale(?string $locale = null, ...$fallbackLocales);
3124
-
3125
-    /**
3126
-     * Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow).
3127
-     * Support is considered enabled if the 3 words are translated in the given locale.
3128
-     *
3129
-     * @param string $locale locale ex. en
3130
-     *
3131
-     * @return bool
3132
-     */
3133
-    public static function localeHasDiffOneDayWords($locale);
3134
-
3135
-    /**
3136
-     * Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after).
3137
-     * Support is considered enabled if the 4 sentences are translated in the given locale.
3138
-     *
3139
-     * @param string $locale locale ex. en
3140
-     *
3141
-     * @return bool
3142
-     */
3143
-    public static function localeHasDiffSyntax($locale);
3144
-
3145
-    /**
3146
-     * Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow).
3147
-     * Support is considered enabled if the 2 words are translated in the given locale.
3148
-     *
3149
-     * @param string $locale locale ex. en
3150
-     *
3151
-     * @return bool
3152
-     */
3153
-    public static function localeHasDiffTwoDayWords($locale);
3154
-
3155
-    /**
3156
-     * Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X).
3157
-     * Support is considered enabled if the 4 sentences are translated in the given locale.
3158
-     *
3159
-     * @param string $locale locale ex. en
3160
-     *
3161
-     * @return bool
3162
-     */
3163
-    public static function localeHasPeriodSyntax($locale);
3164
-
3165
-    /**
3166
-     * Returns true if the given locale is internally supported and has short-units support.
3167
-     * Support is considered enabled if either year, day or hour has a short variant translated.
3168
-     *
3169
-     * @param string $locale locale ex. en
3170
-     *
3171
-     * @return bool
3172
-     */
3173
-    public static function localeHasShortUnits($locale);
3174
-
3175
-    /**
3176
-     * Determines if the instance is less (before) than another
3177
-     *
3178
-     * @example
3179
-     * ```
3180
-     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:15'); // false
3181
-     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:16'); // false
3182
-     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:17'); // true
3183
-     * ```
3184
-     *
3185
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3186
-     *
3187
-     * @see lessThan()
3188
-     *
3189
-     * @return bool
3190
-     */
3191
-    public function lt($date): bool;
3192
-
3193
-    /**
3194
-     * Determines if the instance is less (before) or equal to another
3195
-     *
3196
-     * @example
3197
-     * ```
3198
-     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:15'); // false
3199
-     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:16'); // true
3200
-     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:17'); // true
3201
-     * ```
3202
-     *
3203
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3204
-     *
3205
-     * @see lessThanOrEqualTo()
3206
-     *
3207
-     * @return bool
3208
-     */
3209
-    public function lte($date): bool;
3210
-
3211
-    /**
3212
-     * Register a custom macro.
3213
-     *
3214
-     * @example
3215
-     * ```
3216
-     * $userSettings = [
3217
-     *   'locale' => 'pt',
3218
-     *   'timezone' => 'America/Sao_Paulo',
3219
-     * ];
3220
-     * Carbon::macro('userFormat', function () use ($userSettings) {
3221
-     *   return $this->copy()->locale($userSettings['locale'])->tz($userSettings['timezone'])->calendar();
3222
-     * });
3223
-     * echo Carbon::yesterday()->hours(11)->userFormat();
3224
-     * ```
3225
-     *
3226
-     * @param string          $name
3227
-     * @param object|callable $macro
3228
-     *
3229
-     * @return void
3230
-     */
3231
-    public static function macro($name, $macro);
3232
-
3233
-    /**
3234
-     * Make a Carbon instance from given variable if possible.
3235
-     *
3236
-     * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals
3237
-     * and recurrences). Throw an exception for invalid format, but otherwise return null.
3238
-     *
3239
-     * @param mixed $var
3240
-     *
3241
-     * @throws InvalidFormatException
3242
-     *
3243
-     * @return static|null
3244
-     */
3245
-    public static function make($var);
3246
-
3247
-    /**
3248
-     * Get the maximum instance between a given instance (default now) and the current instance.
3249
-     *
3250
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3251
-     *
3252
-     * @return static
3253
-     */
3254
-    public function max($date = null);
3255
-
3256
-    /**
3257
-     * Create a Carbon instance for the greatest supported date.
3258
-     *
3259
-     * @return static
3260
-     */
3261
-    public static function maxValue();
3262
-
3263
-    /**
3264
-     * Get the maximum instance between a given instance (default now) and the current instance.
3265
-     *
3266
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3267
-     *
3268
-     * @see max()
3269
-     *
3270
-     * @return static
3271
-     */
3272
-    public function maximum($date = null);
3273
-
3274
-    /**
3275
-     * Return the meridiem of the current time in the current locale.
3276
-     *
3277
-     * @param bool $isLower if true, returns lowercase variant if available in the current locale.
3278
-     *
3279
-     * @return string
3280
-     */
3281
-    public function meridiem(bool $isLower = false): string;
3282
-
3283
-    /**
3284
-     * Modify to midday, default to self::$midDayAt
3285
-     *
3286
-     * @return static
3287
-     */
3288
-    public function midDay();
3289
-
3290
-    /**
3291
-     * Get the minimum instance between a given instance (default now) and the current instance.
3292
-     *
3293
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3294
-     *
3295
-     * @return static
3296
-     */
3297
-    public function min($date = null);
3298
-
3299
-    /**
3300
-     * Create a Carbon instance for the lowest supported date.
3301
-     *
3302
-     * @return static
3303
-     */
3304
-    public static function minValue();
3305
-
3306
-    /**
3307
-     * Get the minimum instance between a given instance (default now) and the current instance.
3308
-     *
3309
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3310
-     *
3311
-     * @see min()
3312
-     *
3313
-     * @return static
3314
-     */
3315
-    public function minimum($date = null);
3316
-
3317
-    /**
3318
-     * Mix another object into the class.
3319
-     *
3320
-     * @example
3321
-     * ```
3322
-     * Carbon::mixin(new class {
3323
-     *   public function addMoon() {
3324
-     *     return function () {
3325
-     *       return $this->addDays(30);
3326
-     *     };
3327
-     *   }
3328
-     *   public function subMoon() {
3329
-     *     return function () {
3330
-     *       return $this->subDays(30);
3331
-     *     };
3332
-     *   }
3333
-     * });
3334
-     * $fullMoon = Carbon::create('2018-12-22');
3335
-     * $nextFullMoon = $fullMoon->addMoon();
3336
-     * $blackMoon = Carbon::create('2019-01-06');
3337
-     * $previousBlackMoon = $blackMoon->subMoon();
3338
-     * echo "$nextFullMoon\n";
3339
-     * echo "$previousBlackMoon\n";
3340
-     * ```
3341
-     *
3342
-     * @param object|string $mixin
3343
-     *
3344
-     * @throws ReflectionException
3345
-     *
3346
-     * @return void
3347
-     */
3348
-    public static function mixin($mixin);
3349
-
3350
-    /**
3351
-     * Calls \DateTime::modify if mutable or \DateTimeImmutable::modify else.
3352
-     *
3353
-     * @see https://php.net/manual/en/datetime.modify.php
3354
-     *
3355
-     * @return static|false
3356
-     */
3357
-    #[ReturnTypeWillChange]
3358
-    public function modify($modify);
3359
-
3360
-    /**
3361
-     * Determines if the instance is not equal to another
3362
-     *
3363
-     * @example
3364
-     * ```
3365
-     * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:16'); // false
3366
-     * Carbon::parse('2018-07-25 12:45:16')->ne(Carbon::parse('2018-07-25 12:45:16')); // false
3367
-     * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:17'); // true
3368
-     * ```
3369
-     *
3370
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3371
-     *
3372
-     * @see notEqualTo()
3373
-     *
3374
-     * @return bool
3375
-     */
3376
-    public function ne($date): bool;
3377
-
3378
-    /**
3379
-     * Modify to the next occurrence of a given modifier such as a day of
3380
-     * the week. If no modifier is provided, modify to the next occurrence
3381
-     * of the current day of the week. Use the supplied constants
3382
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
3383
-     *
3384
-     * @param string|int|null $modifier
3385
-     *
3386
-     * @return static
3387
-     */
3388
-    public function next($modifier = null);
3389
-
3390
-    /**
3391
-     * Go forward to the next weekday.
3392
-     *
3393
-     * @return static
3394
-     */
3395
-    public function nextWeekday();
3396
-
3397
-    /**
3398
-     * Go forward to the next weekend day.
3399
-     *
3400
-     * @return static
3401
-     */
3402
-    public function nextWeekendDay();
3403
-
3404
-    /**
3405
-     * Determines if the instance is not equal to another
3406
-     *
3407
-     * @example
3408
-     * ```
3409
-     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:16'); // false
3410
-     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo(Carbon::parse('2018-07-25 12:45:16')); // false
3411
-     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:17'); // true
3412
-     * ```
3413
-     *
3414
-     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3415
-     *
3416
-     * @return bool
3417
-     */
3418
-    public function notEqualTo($date): bool;
3419
-
3420
-    /**
3421
-     * Get a Carbon instance for the current date and time.
3422
-     *
3423
-     * @param DateTimeZone|string|null $tz
3424
-     *
3425
-     * @return static
3426
-     */
3427
-    public static function now($tz = null);
3428
-
3429
-    /**
3430
-     * Returns a present instance in the same timezone.
3431
-     *
3432
-     * @return static
3433
-     */
3434
-    public function nowWithSameTz();
3435
-
3436
-    /**
3437
-     * Modify to the given occurrence of a given day of the week
3438
-     * in the current month. If the calculated occurrence is outside the scope
3439
-     * of the current month, then return false and no modifications are made.
3440
-     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
3441
-     *
3442
-     * @param int $nth
3443
-     * @param int $dayOfWeek
3444
-     *
3445
-     * @return mixed
3446
-     */
3447
-    public function nthOfMonth($nth, $dayOfWeek);
3448
-
3449
-    /**
3450
-     * Modify to the given occurrence of a given day of the week
3451
-     * in the current quarter. If the calculated occurrence is outside the scope
3452
-     * of the current quarter, then return false and no modifications are made.
3453
-     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
3454
-     *
3455
-     * @param int $nth
3456
-     * @param int $dayOfWeek
3457
-     *
3458
-     * @return mixed
3459
-     */
3460
-    public function nthOfQuarter($nth, $dayOfWeek);
3461
-
3462
-    /**
3463
-     * Modify to the given occurrence of a given day of the week
3464
-     * in the current year. If the calculated occurrence is outside the scope
3465
-     * of the current year, then return false and no modifications are made.
3466
-     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
3467
-     *
3468
-     * @param int $nth
3469
-     * @param int $dayOfWeek
3470
-     *
3471
-     * @return mixed
3472
-     */
3473
-    public function nthOfYear($nth, $dayOfWeek);
3474
-
3475
-    /**
3476
-     * Return a property with its ordinal.
3477
-     *
3478
-     * @param string      $key
3479
-     * @param string|null $period
3480
-     *
3481
-     * @return string
3482
-     */
3483
-    public function ordinal(string $key, ?string $period = null): string;
3484
-
3485
-    /**
3486
-     * Create a carbon instance from a string.
3487
-     *
3488
-     * This is an alias for the constructor that allows better fluent syntax
3489
-     * as it allows you to do Carbon::parse('Monday next week')->fn() rather
3490
-     * than (new Carbon('Monday next week'))->fn().
3491
-     *
3492
-     * @param string|DateTimeInterface|null $time
3493
-     * @param DateTimeZone|string|null      $tz
3494
-     *
3495
-     * @throws InvalidFormatException
3496
-     *
3497
-     * @return static
3498
-     */
3499
-    public static function parse($time = null, $tz = null);
3500
-
3501
-    /**
3502
-     * Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.).
3503
-     *
3504
-     * @param string                   $time   date/time string in the given language (may also contain English).
3505
-     * @param string|null              $locale if locale is null or not specified, current global locale will be
3506
-     *                                         used instead.
3507
-     * @param DateTimeZone|string|null $tz     optional timezone for the new instance.
3508
-     *
3509
-     * @throws InvalidFormatException
3510
-     *
3511
-     * @return static
3512
-     */
3513
-    public static function parseFromLocale($time, $locale = null, $tz = null);
3514
-
3515
-    /**
3516
-     * Returns standardized plural of a given singular/plural unit name (in English).
3517
-     *
3518
-     * @param string $unit
3519
-     *
3520
-     * @return string
3521
-     */
3522
-    public static function pluralUnit(string $unit): string;
3523
-
3524
-    /**
3525
-     * Modify to the previous occurrence of a given modifier such as a day of
3526
-     * the week. If no dayOfWeek is provided, modify to the previous occurrence
3527
-     * of the current day of the week. Use the supplied constants
3528
-     * to indicate the desired dayOfWeek, ex. static::MONDAY.
3529
-     *
3530
-     * @param string|int|null $modifier
3531
-     *
3532
-     * @return static
3533
-     */
3534
-    public function previous($modifier = null);
3535
-
3536
-    /**
3537
-     * Go backward to the previous weekday.
3538
-     *
3539
-     * @return static
3540
-     */
3541
-    public function previousWeekday();
3542
-
3543
-    /**
3544
-     * Go backward to the previous weekend day.
3545
-     *
3546
-     * @return static
3547
-     */
3548
-    public function previousWeekendDay();
3549
-
3550
-    /**
3551
-     * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
3552
-     *
3553
-     * @param \DateTimeInterface|Carbon|CarbonImmutable|null $end      period end date
3554
-     * @param int|\DateInterval|string|null                  $interval period default interval or number of the given $unit
3555
-     * @param string|null                                    $unit     if specified, $interval must be an integer
3556
-     *
3557
-     * @return CarbonPeriod
3558
-     */
3559
-    public function range($end = null, $interval = null, $unit = null);
3560
-
3561
-    /**
3562
-     * Call native PHP DateTime/DateTimeImmutable add() method.
3563
-     *
3564
-     * @param DateInterval $interval
3565
-     *
3566
-     * @return static
3567
-     */
3568
-    public function rawAdd(DateInterval $interval);
3569
-
3570
-    /**
3571
-     * Create a Carbon instance from a specific format.
3572
-     *
3573
-     * @param string                         $format Datetime format
3574
-     * @param string                         $time
3575
-     * @param DateTimeZone|string|false|null $tz
3576
-     *
3577
-     * @throws InvalidFormatException
3578
-     *
3579
-     * @return static|false
3580
-     */
3581
-    public static function rawCreateFromFormat($format, $time, $tz = null);
3582
-
3583
-    /**
3584
-     * @see https://php.net/manual/en/datetime.format.php
3585
-     *
3586
-     * @param string $format
3587
-     *
3588
-     * @return string
3589
-     */
3590
-    public function rawFormat($format);
3591
-
3592
-    /**
3593
-     * Create a carbon instance from a string.
3594
-     *
3595
-     * This is an alias for the constructor that allows better fluent syntax
3596
-     * as it allows you to do Carbon::parse('Monday next week')->fn() rather
3597
-     * than (new Carbon('Monday next week'))->fn().
3598
-     *
3599
-     * @param string|DateTimeInterface|null $time
3600
-     * @param DateTimeZone|string|null      $tz
3601
-     *
3602
-     * @throws InvalidFormatException
3603
-     *
3604
-     * @return static
3605
-     */
3606
-    public static function rawParse($time = null, $tz = null);
3607
-
3608
-    /**
3609
-     * Call native PHP DateTime/DateTimeImmutable sub() method.
3610
-     *
3611
-     * @param DateInterval $interval
3612
-     *
3613
-     * @return static
3614
-     */
3615
-    public function rawSub(DateInterval $interval);
3616
-
3617
-    /**
3618
-     * Remove all macros and generic macros.
3619
-     */
3620
-    public static function resetMacros();
3621
-
3622
-    /**
3623
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3624
-     *             You should rather use the ->settings() method.
3625
-     *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
3626
-     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
3627
-     * @see settings
3628
-     *
3629
-     * Reset the month overflow behavior.
3630
-     *
3631
-     * @return void
3632
-     */
3633
-    public static function resetMonthsOverflow();
3634
-
3635
-    /**
3636
-     * Reset the format used to the default when type juggling a Carbon instance to a string
3637
-     *
3638
-     * @return void
3639
-     */
3640
-    public static function resetToStringFormat();
3641
-
3642
-    /**
3643
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3644
-     *             You should rather use the ->settings() method.
3645
-     *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
3646
-     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
3647
-     * @see settings
3648
-     *
3649
-     * Reset the month overflow behavior.
3650
-     *
3651
-     * @return void
3652
-     */
3653
-    public static function resetYearsOverflow();
3654
-
3655
-    /**
3656
-     * Round the current instance second with given precision if specified.
3657
-     *
3658
-     * @param float|int|string|\DateInterval|null $precision
3659
-     * @param string                              $function
3660
-     *
3661
-     * @return CarbonInterface
3662
-     */
3663
-    public function round($precision = 1, $function = 'round');
3664
-
3665
-    /**
3666
-     * Round the current instance at the given unit with given precision if specified and the given function.
3667
-     *
3668
-     * @param string    $unit
3669
-     * @param float|int $precision
3670
-     * @param string    $function
3671
-     *
3672
-     * @return CarbonInterface
3673
-     */
3674
-    public function roundUnit($unit, $precision = 1, $function = 'round');
3675
-
3676
-    /**
3677
-     * Round the current instance week.
3678
-     *
3679
-     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
3680
-     *
3681
-     * @return CarbonInterface
3682
-     */
3683
-    public function roundWeek($weekStartsAt = null);
3684
-
3685
-    /**
3686
-     * The number of seconds since midnight.
3687
-     *
3688
-     * @return int
3689
-     */
3690
-    public function secondsSinceMidnight();
3691
-
3692
-    /**
3693
-     * The number of seconds until 23:59:59.
3694
-     *
3695
-     * @return int
3696
-     */
3697
-    public function secondsUntilEndOfDay();
3698
-
3699
-    /**
3700
-     * Return a serialized string of the instance.
3701
-     *
3702
-     * @return string
3703
-     */
3704
-    public function serialize();
3705
-
3706
-    /**
3707
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3708
-     *             You should rather transform Carbon object before the serialization.
3709
-     *
3710
-     * JSON serialize all Carbon instances using the given callback.
3711
-     *
3712
-     * @param callable $callback
3713
-     *
3714
-     * @return void
3715
-     */
3716
-    public static function serializeUsing($callback);
3717
-
3718
-    /**
3719
-     * Set a part of the Carbon object
3720
-     *
3721
-     * @param string|array            $name
3722
-     * @param string|int|DateTimeZone $value
3723
-     *
3724
-     * @throws ImmutableException|UnknownSetterException
3725
-     *
3726
-     * @return $this
3727
-     */
3728
-    public function set($name, $value = null);
3729
-
3730
-    /**
3731
-     * Set the date with gregorian year, month and day numbers.
3732
-     *
3733
-     * @see https://php.net/manual/en/datetime.setdate.php
3734
-     *
3735
-     * @param int $year
3736
-     * @param int $month
3737
-     * @param int $day
3738
-     *
3739
-     * @return static
3740
-     */
3741
-    #[ReturnTypeWillChange]
3742
-    public function setDate($year, $month, $day);
3743
-
3744
-    /**
3745
-     * Set the year, month, and date for this instance to that of the passed instance.
3746
-     *
3747
-     * @param Carbon|DateTimeInterface $date now if null
3748
-     *
3749
-     * @return static
3750
-     */
3751
-    public function setDateFrom($date = null);
3752
-
3753
-    /**
3754
-     * Set the date and time all together.
3755
-     *
3756
-     * @param int $year
3757
-     * @param int $month
3758
-     * @param int $day
3759
-     * @param int $hour
3760
-     * @param int $minute
3761
-     * @param int $second
3762
-     * @param int $microseconds
3763
-     *
3764
-     * @return static
3765
-     */
3766
-    public function setDateTime($year, $month, $day, $hour, $minute, $second = 0, $microseconds = 0);
3767
-
3768
-    /**
3769
-     * Set the date and time for this instance to that of the passed instance.
3770
-     *
3771
-     * @param Carbon|DateTimeInterface $date
3772
-     *
3773
-     * @return static
3774
-     */
3775
-    public function setDateTimeFrom($date = null);
3776
-
3777
-    /**
3778
-     * Set the fallback locale.
3779
-     *
3780
-     * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
3781
-     *
3782
-     * @param string $locale
3783
-     */
3784
-    public static function setFallbackLocale($locale);
3785
-
3786
-    /**
3787
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3788
-     *             You should rather use the ->settings() method.
3789
-     * @see settings
3790
-     *
3791
-     * @param int $humanDiffOptions
3792
-     */
3793
-    public static function setHumanDiffOptions($humanDiffOptions);
3794
-
3795
-    /**
3796
-     * Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
3797
-     *
3798
-     * @see https://php.net/manual/en/datetime.setisodate.php
3799
-     *
3800
-     * @param int $year
3801
-     * @param int $week
3802
-     * @param int $day
3803
-     *
3804
-     * @return static
3805
-     */
3806
-    #[ReturnTypeWillChange]
3807
-    public function setISODate($year, $week, $day = 1);
3808
-
3809
-    /**
3810
-     * Set the translator for the current instance.
3811
-     *
3812
-     * @param \Symfony\Component\Translation\TranslatorInterface $translator
3813
-     *
3814
-     * @return $this
3815
-     */
3816
-    public function setLocalTranslator(TranslatorInterface $translator);
3817
-
3818
-    /**
3819
-     * Set the current translator locale and indicate if the source locale file exists.
3820
-     * Pass 'auto' as locale to use closest language from the current LC_TIME locale.
3821
-     *
3822
-     * @param string $locale locale ex. en
3823
-     *
3824
-     * @return bool
3825
-     */
3826
-    public static function setLocale($locale);
3827
-
3828
-    /**
3829
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3830
-     *             You should rather consider mid-day is always 12pm, then if you need to test if it's an other
3831
-     *             hour, test it explicitly:
3832
-     *                 $date->format('G') == 13
3833
-     *             or to set explicitly to a given hour:
3834
-     *                 $date->setTime(13, 0, 0, 0)
3835
-     *
3836
-     * Set midday/noon hour
3837
-     *
3838
-     * @param int $hour midday hour
3839
-     *
3840
-     * @return void
3841
-     */
3842
-    public static function setMidDayAt($hour);
3843
-
3844
-    /**
3845
-     * Set a Carbon instance (real or mock) to be returned when a "now"
3846
-     * instance is created.  The provided instance will be returned
3847
-     * specifically under the following conditions:
3848
-     *   - A call to the static now() method, ex. Carbon::now()
3849
-     *   - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
3850
-     *   - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
3851
-     *   - When a string containing the desired time is passed to Carbon::parse().
3852
-     *
3853
-     * Note the timezone parameter was left out of the examples above and
3854
-     * has no affect as the mock value will be returned regardless of its value.
3855
-     *
3856
-     * Only the moment is mocked with setTestNow(), the timezone will still be the one passed
3857
-     * as parameter of date_default_timezone_get() as a fallback (see setTestNowAndTimezone()).
3858
-     *
3859
-     * To clear the test instance call this method using the default
3860
-     * parameter of null.
3861
-     *
3862
-     * /!\ Use this method for unit tests only.
3863
-     *
3864
-     * @param Closure|static|string|false|null $testNow real or mock Carbon instance
3865
-     */
3866
-    public static function setTestNow($testNow = null);
3867
-
3868
-    /**
3869
-     * Set a Carbon instance (real or mock) to be returned when a "now"
3870
-     * instance is created.  The provided instance will be returned
3871
-     * specifically under the following conditions:
3872
-     *   - A call to the static now() method, ex. Carbon::now()
3873
-     *   - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
3874
-     *   - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
3875
-     *   - When a string containing the desired time is passed to Carbon::parse().
3876
-     *
3877
-     * It will also align default timezone (e.g. call date_default_timezone_set()) with
3878
-     * the second argument or if null, with the timezone of the given date object.
3879
-     *
3880
-     * To clear the test instance call this method using the default
3881
-     * parameter of null.
3882
-     *
3883
-     * /!\ Use this method for unit tests only.
3884
-     *
3885
-     * @param Closure|static|string|false|null $testNow real or mock Carbon instance
3886
-     */
3887
-    public static function setTestNowAndTimezone($testNow = null, $tz = null);
3888
-
3889
-    /**
3890
-     * Resets the current time of the DateTime object to a different time.
3891
-     *
3892
-     * @see https://php.net/manual/en/datetime.settime.php
3893
-     *
3894
-     * @param int $hour
3895
-     * @param int $minute
3896
-     * @param int $second
3897
-     * @param int $microseconds
3898
-     *
3899
-     * @return static
3900
-     */
3901
-    #[ReturnTypeWillChange]
3902
-    public function setTime($hour, $minute, $second = 0, $microseconds = 0);
3903
-
3904
-    /**
3905
-     * Set the hour, minute, second and microseconds for this instance to that of the passed instance.
3906
-     *
3907
-     * @param Carbon|DateTimeInterface $date now if null
3908
-     *
3909
-     * @return static
3910
-     */
3911
-    public function setTimeFrom($date = null);
3912
-
3913
-    /**
3914
-     * Set the time by time string.
3915
-     *
3916
-     * @param string $time
3917
-     *
3918
-     * @return static
3919
-     */
3920
-    public function setTimeFromTimeString($time);
3921
-
3922
-    /**
3923
-     * Set the instance's timestamp.
3924
-     *
3925
-     * Timestamp input can be given as int, float or a string containing one or more numbers.
3926
-     *
3927
-     * @param float|int|string $unixTimestamp
3928
-     *
3929
-     * @return static
3930
-     */
3931
-    #[ReturnTypeWillChange]
3932
-    public function setTimestamp($unixTimestamp);
3933
-
3934
-    /**
3935
-     * Set the instance's timezone from a string or object.
3936
-     *
3937
-     * @param DateTimeZone|string $value
3938
-     *
3939
-     * @return static
3940
-     */
3941
-    #[ReturnTypeWillChange]
3942
-    public function setTimezone($value);
3943
-
3944
-    /**
3945
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3946
-     *             You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
3947
-     *             use other method or custom format passed to format() method if you need to dump an other string
3948
-     *             format.
3949
-     *
3950
-     * Set the default format used when type juggling a Carbon instance to a string
3951
-     *
3952
-     * @param string|Closure|null $format
3953
-     *
3954
-     * @return void
3955
-     */
3956
-    public static function setToStringFormat($format);
3957
-
3958
-    /**
3959
-     * Set the default translator instance to use.
3960
-     *
3961
-     * @param \Symfony\Component\Translation\TranslatorInterface $translator
3962
-     *
3963
-     * @return void
3964
-     */
3965
-    public static function setTranslator(TranslatorInterface $translator);
3966
-
3967
-    /**
3968
-     * Set specified unit to new given value.
3969
-     *
3970
-     * @param string $unit  year, month, day, hour, minute, second or microsecond
3971
-     * @param int    $value new value for given unit
3972
-     *
3973
-     * @return static
3974
-     */
3975
-    public function setUnit($unit, $value = null);
3976
-
3977
-    /**
3978
-     * Set any unit to a new value without overflowing current other unit given.
3979
-     *
3980
-     * @param string $valueUnit    unit name to modify
3981
-     * @param int    $value        new value for the input unit
3982
-     * @param string $overflowUnit unit name to not overflow
3983
-     *
3984
-     * @return static
3985
-     */
3986
-    public function setUnitNoOverflow($valueUnit, $value, $overflowUnit);
3987
-
3988
-    /**
3989
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3990
-     *             You should rather use UTF-8 language packages on every machine.
3991
-     *
3992
-     * Set if UTF8 will be used for localized date/time.
3993
-     *
3994
-     * @param bool $utf8
3995
-     */
3996
-    public static function setUtf8($utf8);
3997
-
3998
-    /**
3999
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4000
-     *             Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek
4001
-     *             or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the
4002
-     *             start of week according to current locale selected and implicitly the end of week.
4003
-     *
4004
-     * Set the last day of week
4005
-     *
4006
-     * @param int|string $day week end day (or 'auto' to get the day before the first day of week
4007
-     *                        from Carbon::getLocale() culture).
4008
-     *
4009
-     * @return void
4010
-     */
4011
-    public static function setWeekEndsAt($day);
4012
-
4013
-    /**
4014
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4015
-     *             Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the
4016
-     *             'first_day_of_week' locale setting to change the start of week according to current locale
4017
-     *             selected and implicitly the end of week.
4018
-     *
4019
-     * Set the first day of week
4020
-     *
4021
-     * @param int|string $day week start day (or 'auto' to get the first day of week from Carbon::getLocale() culture).
4022
-     *
4023
-     * @return void
4024
-     */
4025
-    public static function setWeekStartsAt($day);
4026
-
4027
-    /**
4028
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4029
-     *             You should rather consider week-end is always saturday and sunday, and if you have some custom
4030
-     *             week-end days to handle, give to those days an other name and create a macro for them:
4031
-     *
4032
-     *             ```
4033
-     *             Carbon::macro('isDayOff', function ($date) {
4034
-     *                 return $date->isSunday() || $date->isMonday();
4035
-     *             });
4036
-     *             Carbon::macro('isNotDayOff', function ($date) {
4037
-     *                 return !$date->isDayOff();
4038
-     *             });
4039
-     *             if ($someDate->isDayOff()) ...
4040
-     *             if ($someDate->isNotDayOff()) ...
4041
-     *             // Add 5 not-off days
4042
-     *             $count = 5;
4043
-     *             while ($someDate->isDayOff() || ($count-- > 0)) {
4044
-     *                 $someDate->addDay();
4045
-     *             }
4046
-     *             ```
4047
-     *
4048
-     * Set weekend days
4049
-     *
4050
-     * @param array $days
4051
-     *
4052
-     * @return void
4053
-     */
4054
-    public static function setWeekendDays($days);
4055
-
4056
-    /**
4057
-     * Set specific options.
4058
-     *  - strictMode: true|false|null
4059
-     *  - monthOverflow: true|false|null
4060
-     *  - yearOverflow: true|false|null
4061
-     *  - humanDiffOptions: int|null
4062
-     *  - toStringFormat: string|Closure|null
4063
-     *  - toJsonFormat: string|Closure|null
4064
-     *  - locale: string|null
4065
-     *  - timezone: \DateTimeZone|string|int|null
4066
-     *  - macros: array|null
4067
-     *  - genericMacros: array|null
4068
-     *
4069
-     * @param array $settings
4070
-     *
4071
-     * @return $this|static
4072
-     */
4073
-    public function settings(array $settings);
4074
-
4075
-    /**
4076
-     * Set the instance's timezone from a string or object and add/subtract the offset difference.
4077
-     *
4078
-     * @param DateTimeZone|string $value
4079
-     *
4080
-     * @return static
4081
-     */
4082
-    public function shiftTimezone($value);
4083
-
4084
-    /**
4085
-     * Get the month overflow global behavior (can be overridden in specific instances).
4086
-     *
4087
-     * @return bool
4088
-     */
4089
-    public static function shouldOverflowMonths();
4090
-
4091
-    /**
4092
-     * Get the month overflow global behavior (can be overridden in specific instances).
4093
-     *
4094
-     * @return bool
4095
-     */
4096
-    public static function shouldOverflowYears();
4097
-
4098
-    /**
4099
-     * @alias diffForHumans
4100
-     *
4101
-     * Get the difference in a human readable format in the current locale from current instance to an other
4102
-     * instance given (or now if null given).
4103
-     */
4104
-    public function since($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
4105
-
4106
-    /**
4107
-     * Returns standardized singular of a given singular/plural unit name (in English).
4108
-     *
4109
-     * @param string $unit
4110
-     *
4111
-     * @return string
4112
-     */
4113
-    public static function singularUnit(string $unit): string;
4114
-
4115
-    /**
4116
-     * Modify to start of current given unit.
4117
-     *
4118
-     * @example
4119
-     * ```
4120
-     * echo Carbon::parse('2018-07-25 12:45:16.334455')
4121
-     *   ->startOf('month')
4122
-     *   ->endOf('week', Carbon::FRIDAY);
4123
-     * ```
4124
-     *
4125
-     * @param string            $unit
4126
-     * @param array<int, mixed> $params
4127
-     *
4128
-     * @return static
4129
-     */
4130
-    public function startOf($unit, ...$params);
4131
-
4132
-    /**
4133
-     * Resets the date to the first day of the century and the time to 00:00:00
4134
-     *
4135
-     * @example
4136
-     * ```
4137
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfCentury();
4138
-     * ```
4139
-     *
4140
-     * @return static
4141
-     */
4142
-    public function startOfCentury();
4143
-
4144
-    /**
4145
-     * Resets the time to 00:00:00 start of day
4146
-     *
4147
-     * @example
4148
-     * ```
4149
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfDay();
4150
-     * ```
4151
-     *
4152
-     * @return static
4153
-     */
4154
-    public function startOfDay();
4155
-
4156
-    /**
4157
-     * Resets the date to the first day of the decade and the time to 00:00:00
4158
-     *
4159
-     * @example
4160
-     * ```
4161
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfDecade();
4162
-     * ```
4163
-     *
4164
-     * @return static
4165
-     */
4166
-    public function startOfDecade();
4167
-
4168
-    /**
4169
-     * Modify to start of current hour, minutes and seconds become 0
4170
-     *
4171
-     * @example
4172
-     * ```
4173
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfHour();
4174
-     * ```
4175
-     *
4176
-     * @return static
4177
-     */
4178
-    public function startOfHour();
4179
-
4180
-    /**
4181
-     * Resets the date to the first day of the millennium and the time to 00:00:00
4182
-     *
4183
-     * @example
4184
-     * ```
4185
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMillennium();
4186
-     * ```
4187
-     *
4188
-     * @return static
4189
-     */
4190
-    public function startOfMillennium();
4191
-
4192
-    /**
4193
-     * Modify to start of current minute, seconds become 0
4194
-     *
4195
-     * @example
4196
-     * ```
4197
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMinute();
4198
-     * ```
4199
-     *
4200
-     * @return static
4201
-     */
4202
-    public function startOfMinute();
4203
-
4204
-    /**
4205
-     * Resets the date to the first day of the month and the time to 00:00:00
4206
-     *
4207
-     * @example
4208
-     * ```
4209
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMonth();
4210
-     * ```
4211
-     *
4212
-     * @return static
4213
-     */
4214
-    public function startOfMonth();
4215
-
4216
-    /**
4217
-     * Resets the date to the first day of the quarter and the time to 00:00:00
4218
-     *
4219
-     * @example
4220
-     * ```
4221
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfQuarter();
4222
-     * ```
4223
-     *
4224
-     * @return static
4225
-     */
4226
-    public function startOfQuarter();
4227
-
4228
-    /**
4229
-     * Modify to start of current second, microseconds become 0
4230
-     *
4231
-     * @example
4232
-     * ```
4233
-     * echo Carbon::parse('2018-07-25 12:45:16.334455')
4234
-     *   ->startOfSecond()
4235
-     *   ->format('H:i:s.u');
4236
-     * ```
4237
-     *
4238
-     * @return static
4239
-     */
4240
-    public function startOfSecond();
4241
-
4242
-    /**
4243
-     * Resets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
4244
-     *
4245
-     * @example
4246
-     * ```
4247
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek() . "\n";
4248
-     * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->startOfWeek() . "\n";
4249
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek(Carbon::SUNDAY) . "\n";
4250
-     * ```
4251
-     *
4252
-     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
4253
-     *
4254
-     * @return static
4255
-     */
4256
-    public function startOfWeek($weekStartsAt = null);
4257
-
4258
-    /**
4259
-     * Resets the date to the first day of the year and the time to 00:00:00
4260
-     *
4261
-     * @example
4262
-     * ```
4263
-     * echo Carbon::parse('2018-07-25 12:45:16')->startOfYear();
4264
-     * ```
4265
-     *
4266
-     * @return static
4267
-     */
4268
-    public function startOfYear();
4269
-
4270
-    /**
4271
-     * Subtract given units or interval to the current instance.
4272
-     *
4273
-     * @example $date->sub('hour', 3)
4274
-     * @example $date->sub(15, 'days')
4275
-     * @example $date->sub(CarbonInterval::days(4))
4276
-     *
4277
-     * @param string|DateInterval|Closure|CarbonConverterInterface $unit
4278
-     * @param int                                                  $value
4279
-     * @param bool|null                                            $overflow
4280
-     *
4281
-     * @return static
4282
-     */
4283
-    #[ReturnTypeWillChange]
4284
-    public function sub($unit, $value = 1, $overflow = null);
4285
-
4286
-    public function subRealUnit($unit, $value = 1);
4287
-
4288
-    /**
4289
-     * Subtract given units to the current instance.
4290
-     *
4291
-     * @param string    $unit
4292
-     * @param int       $value
4293
-     * @param bool|null $overflow
4294
-     *
4295
-     * @return static
4296
-     */
4297
-    public function subUnit($unit, $value = 1, $overflow = null);
4298
-
4299
-    /**
4300
-     * Subtract any unit to a new value without overflowing current other unit given.
4301
-     *
4302
-     * @param string $valueUnit    unit name to modify
4303
-     * @param int    $value        amount to subtract to the input unit
4304
-     * @param string $overflowUnit unit name to not overflow
4305
-     *
4306
-     * @return static
4307
-     */
4308
-    public function subUnitNoOverflow($valueUnit, $value, $overflowUnit);
4309
-
4310
-    /**
4311
-     * Subtract given units or interval to the current instance.
4312
-     *
4313
-     * @see sub()
4314
-     *
4315
-     * @param string|DateInterval $unit
4316
-     * @param int                 $value
4317
-     * @param bool|null           $overflow
4318
-     *
4319
-     * @return static
4320
-     */
4321
-    public function subtract($unit, $value = 1, $overflow = null);
4322
-
4323
-    /**
4324
-     * Get the difference in a human readable format in the current locale from current instance to an other
4325
-     * instance given (or now if null given).
4326
-     *
4327
-     * @return string
4328
-     */
4329
-    public function timespan($other = null, $timezone = null);
4330
-
4331
-    /**
4332
-     * Set the instance's timestamp.
4333
-     *
4334
-     * Timestamp input can be given as int, float or a string containing one or more numbers.
4335
-     *
4336
-     * @param float|int|string $unixTimestamp
4337
-     *
4338
-     * @return static
4339
-     */
4340
-    public function timestamp($unixTimestamp);
4341
-
4342
-    /**
4343
-     * @alias setTimezone
4344
-     *
4345
-     * @param DateTimeZone|string $value
4346
-     *
4347
-     * @return static
4348
-     */
4349
-    public function timezone($value);
4350
-
4351
-    /**
4352
-     * Get the difference in a human readable format in the current locale from an other
4353
-     * instance given (or now if null given) to current instance.
4354
-     *
4355
-     * When comparing a value in the past to default now:
4356
-     * 1 hour from now
4357
-     * 5 months from now
4358
-     *
4359
-     * When comparing a value in the future to default now:
4360
-     * 1 hour ago
4361
-     * 5 months ago
4362
-     *
4363
-     * When comparing a value in the past to another value:
4364
-     * 1 hour after
4365
-     * 5 months after
4366
-     *
4367
-     * When comparing a value in the future to another value:
4368
-     * 1 hour before
4369
-     * 5 months before
4370
-     *
4371
-     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
4372
-     *                                                             if null passed, now will be used as comparison reference;
4373
-     *                                                             if any other type, it will be converted to date and used as reference.
4374
-     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
4375
-     *                                                             - 'syntax' entry (see below)
4376
-     *                                                             - 'short' entry (see below)
4377
-     *                                                             - 'parts' entry (see below)
4378
-     *                                                             - 'options' entry (see below)
4379
-     *                                                             - 'join' entry determines how to join multiple parts of the string
4380
-     *                                                             `  - if $join is a string, it's used as a joiner glue
4381
-     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
4382
-     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
4383
-     *                                                             `    will be used instead of the glue for the last item
4384
-     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
4385
-     *                                                             `  - if $join is missing, a space will be used as glue
4386
-     *                                                             - 'other' entry (see above)
4387
-     *                                                             if int passed, it add modifiers:
4388
-     *                                                             Possible values:
4389
-     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
4390
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
4391
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
4392
-     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
4393
-     * @param bool                                        $short   displays short format of time units
4394
-     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
4395
-     * @param int                                         $options human diff options
4396
-     *
4397
-     * @return string
4398
-     */
4399
-    public function to($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
4400
-
4401
-    /**
4402
-     * Get default array representation.
4403
-     *
4404
-     * @example
4405
-     * ```
4406
-     * var_dump(Carbon::now()->toArray());
4407
-     * ```
4408
-     *
4409
-     * @return array
4410
-     */
4411
-    public function toArray();
4412
-
4413
-    /**
4414
-     * Format the instance as ATOM
4415
-     *
4416
-     * @example
4417
-     * ```
4418
-     * echo Carbon::now()->toAtomString();
4419
-     * ```
4420
-     *
4421
-     * @return string
4422
-     */
4423
-    public function toAtomString();
4424
-
4425
-    /**
4426
-     * Format the instance as COOKIE
4427
-     *
4428
-     * @example
4429
-     * ```
4430
-     * echo Carbon::now()->toCookieString();
4431
-     * ```
4432
-     *
4433
-     * @return string
4434
-     */
4435
-    public function toCookieString();
4436
-
4437
-    /**
4438
-     * @alias toDateTime
4439
-     *
4440
-     * Return native DateTime PHP object matching the current instance.
4441
-     *
4442
-     * @example
4443
-     * ```
4444
-     * var_dump(Carbon::now()->toDate());
4445
-     * ```
4446
-     *
4447
-     * @return DateTime
4448
-     */
4449
-    public function toDate();
4450
-
4451
-    /**
4452
-     * Format the instance as date
4453
-     *
4454
-     * @example
4455
-     * ```
4456
-     * echo Carbon::now()->toDateString();
4457
-     * ```
4458
-     *
4459
-     * @return string
4460
-     */
4461
-    public function toDateString();
4462
-
4463
-    /**
4464
-     * Return native DateTime PHP object matching the current instance.
4465
-     *
4466
-     * @example
4467
-     * ```
4468
-     * var_dump(Carbon::now()->toDateTime());
4469
-     * ```
4470
-     *
4471
-     * @return DateTime
4472
-     */
4473
-    public function toDateTime();
4474
-
4475
-    /**
4476
-     * Return native toDateTimeImmutable PHP object matching the current instance.
4477
-     *
4478
-     * @example
4479
-     * ```
4480
-     * var_dump(Carbon::now()->toDateTimeImmutable());
4481
-     * ```
4482
-     *
4483
-     * @return DateTimeImmutable
4484
-     */
4485
-    public function toDateTimeImmutable();
4486
-
4487
-    /**
4488
-     * Format the instance as date and time T-separated with no timezone
4489
-     *
4490
-     * @example
4491
-     * ```
4492
-     * echo Carbon::now()->toDateTimeLocalString();
4493
-     * echo "\n";
4494
-     * echo Carbon::now()->toDateTimeLocalString('minute'); // You can specify precision among: minute, second, millisecond and microsecond
4495
-     * ```
4496
-     *
4497
-     * @param string $unitPrecision
4498
-     *
4499
-     * @return string
4500
-     */
4501
-    public function toDateTimeLocalString($unitPrecision = 'second');
4502
-
4503
-    /**
4504
-     * Format the instance as date and time
4505
-     *
4506
-     * @example
4507
-     * ```
4508
-     * echo Carbon::now()->toDateTimeString();
4509
-     * ```
4510
-     *
4511
-     * @param string $unitPrecision
4512
-     *
4513
-     * @return string
4514
-     */
4515
-    public function toDateTimeString($unitPrecision = 'second');
4516
-
4517
-    /**
4518
-     * Format the instance with day, date and time
4519
-     *
4520
-     * @example
4521
-     * ```
4522
-     * echo Carbon::now()->toDayDateTimeString();
4523
-     * ```
4524
-     *
4525
-     * @return string
4526
-     */
4527
-    public function toDayDateTimeString();
4528
-
4529
-    /**
4530
-     * Format the instance as a readable date
4531
-     *
4532
-     * @example
4533
-     * ```
4534
-     * echo Carbon::now()->toFormattedDateString();
4535
-     * ```
4536
-     *
4537
-     * @return string
4538
-     */
4539
-    public function toFormattedDateString();
4540
-
4541
-    /**
4542
-     * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z, if $keepOffset truthy, offset will be kept:
4543
-     * 1977-04-22T01:00:00-05:00).
4544
-     *
4545
-     * @example
4546
-     * ```
4547
-     * echo Carbon::now('America/Toronto')->toISOString() . "\n";
4548
-     * echo Carbon::now('America/Toronto')->toISOString(true) . "\n";
4549
-     * ```
4550
-     *
4551
-     * @param bool $keepOffset Pass true to keep the date offset. Else forced to UTC.
4552
-     *
4553
-     * @return null|string
4554
-     */
4555
-    public function toISOString($keepOffset = false);
4556
-
4557
-    /**
4558
-     * Return a immutable copy of the instance.
4559
-     *
4560
-     * @return CarbonImmutable
4561
-     */
4562
-    public function toImmutable();
4563
-
4564
-    /**
4565
-     * Format the instance as ISO8601
4566
-     *
4567
-     * @example
4568
-     * ```
4569
-     * echo Carbon::now()->toIso8601String();
4570
-     * ```
4571
-     *
4572
-     * @return string
4573
-     */
4574
-    public function toIso8601String();
4575
-
4576
-    /**
4577
-     * Convert the instance to UTC and return as Zulu ISO8601
4578
-     *
4579
-     * @example
4580
-     * ```
4581
-     * echo Carbon::now()->toIso8601ZuluString();
4582
-     * ```
4583
-     *
4584
-     * @param string $unitPrecision
4585
-     *
4586
-     * @return string
4587
-     */
4588
-    public function toIso8601ZuluString($unitPrecision = 'second');
4589
-
4590
-    /**
4591
-     * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z) with UTC timezone.
4592
-     *
4593
-     * @example
4594
-     * ```
4595
-     * echo Carbon::now('America/Toronto')->toJSON();
4596
-     * ```
4597
-     *
4598
-     * @return null|string
4599
-     */
4600
-    public function toJSON();
4601
-
4602
-    /**
4603
-     * Return a mutable copy of the instance.
4604
-     *
4605
-     * @return Carbon
4606
-     */
4607
-    public function toMutable();
4608
-
4609
-    /**
4610
-     * Get the difference in a human readable format in the current locale from an other
4611
-     * instance given to now
4612
-     *
4613
-     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
4614
-     *                           - 'syntax' entry (see below)
4615
-     *                           - 'short' entry (see below)
4616
-     *                           - 'parts' entry (see below)
4617
-     *                           - 'options' entry (see below)
4618
-     *                           - 'join' entry determines how to join multiple parts of the string
4619
-     *                           `  - if $join is a string, it's used as a joiner glue
4620
-     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
4621
-     *                           `  - if $join is an array, the first item will be the default glue, and the second item
4622
-     *                           `    will be used instead of the glue for the last item
4623
-     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
4624
-     *                           `  - if $join is missing, a space will be used as glue
4625
-     *                           if int passed, it add modifiers:
4626
-     *                           Possible values:
4627
-     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
4628
-     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
4629
-     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
4630
-     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
4631
-     * @param bool      $short   displays short format of time units
4632
-     * @param int       $parts   maximum number of parts to display (default value: 1: single part)
4633
-     * @param int       $options human diff options
4634
-     *
4635
-     * @return string
4636
-     */
4637
-    public function toNow($syntax = null, $short = false, $parts = 1, $options = null);
4638
-
4639
-    /**
4640
-     * Get default object representation.
4641
-     *
4642
-     * @example
4643
-     * ```
4644
-     * var_dump(Carbon::now()->toObject());
4645
-     * ```
4646
-     *
4647
-     * @return object
4648
-     */
4649
-    public function toObject();
4650
-
4651
-    /**
4652
-     * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
4653
-     *
4654
-     * @param \DateTimeInterface|Carbon|CarbonImmutable|int|null $end      period end date or recurrences count if int
4655
-     * @param int|\DateInterval|string|null                      $interval period default interval or number of the given $unit
4656
-     * @param string|null                                        $unit     if specified, $interval must be an integer
4657
-     *
4658
-     * @return CarbonPeriod
4659
-     */
4660
-    public function toPeriod($end = null, $interval = null, $unit = null);
4661
-
4662
-    /**
4663
-     * Format the instance as RFC1036
4664
-     *
4665
-     * @example
4666
-     * ```
4667
-     * echo Carbon::now()->toRfc1036String();
4668
-     * ```
4669
-     *
4670
-     * @return string
4671
-     */
4672
-    public function toRfc1036String();
4673
-
4674
-    /**
4675
-     * Format the instance as RFC1123
4676
-     *
4677
-     * @example
4678
-     * ```
4679
-     * echo Carbon::now()->toRfc1123String();
4680
-     * ```
4681
-     *
4682
-     * @return string
4683
-     */
4684
-    public function toRfc1123String();
4685
-
4686
-    /**
4687
-     * Format the instance as RFC2822
4688
-     *
4689
-     * @example
4690
-     * ```
4691
-     * echo Carbon::now()->toRfc2822String();
4692
-     * ```
4693
-     *
4694
-     * @return string
4695
-     */
4696
-    public function toRfc2822String();
4697
-
4698
-    /**
4699
-     * Format the instance as RFC3339
4700
-     *
4701
-     * @param bool $extended
4702
-     *
4703
-     * @example
4704
-     * ```
4705
-     * echo Carbon::now()->toRfc3339String() . "\n";
4706
-     * echo Carbon::now()->toRfc3339String(true) . "\n";
4707
-     * ```
4708
-     *
4709
-     * @return string
4710
-     */
4711
-    public function toRfc3339String($extended = false);
4712
-
4713
-    /**
4714
-     * Format the instance as RFC7231
4715
-     *
4716
-     * @example
4717
-     * ```
4718
-     * echo Carbon::now()->toRfc7231String();
4719
-     * ```
4720
-     *
4721
-     * @return string
4722
-     */
4723
-    public function toRfc7231String();
4724
-
4725
-    /**
4726
-     * Format the instance as RFC822
4727
-     *
4728
-     * @example
4729
-     * ```
4730
-     * echo Carbon::now()->toRfc822String();
4731
-     * ```
4732
-     *
4733
-     * @return string
4734
-     */
4735
-    public function toRfc822String();
4736
-
4737
-    /**
4738
-     * Format the instance as RFC850
4739
-     *
4740
-     * @example
4741
-     * ```
4742
-     * echo Carbon::now()->toRfc850String();
4743
-     * ```
4744
-     *
4745
-     * @return string
4746
-     */
4747
-    public function toRfc850String();
4748
-
4749
-    /**
4750
-     * Format the instance as RSS
4751
-     *
4752
-     * @example
4753
-     * ```
4754
-     * echo Carbon::now()->toRssString();
4755
-     * ```
4756
-     *
4757
-     * @return string
4758
-     */
4759
-    public function toRssString();
4760
-
4761
-    /**
4762
-     * Returns english human readable complete date string.
4763
-     *
4764
-     * @example
4765
-     * ```
4766
-     * echo Carbon::now()->toString();
4767
-     * ```
4768
-     *
4769
-     * @return string
4770
-     */
4771
-    public function toString();
4772
-
4773
-    /**
4774
-     * Format the instance as time
4775
-     *
4776
-     * @example
4777
-     * ```
4778
-     * echo Carbon::now()->toTimeString();
4779
-     * ```
4780
-     *
4781
-     * @param string $unitPrecision
4782
-     *
4783
-     * @return string
4784
-     */
4785
-    public function toTimeString($unitPrecision = 'second');
4786
-
4787
-    /**
4788
-     * Format the instance as W3C
4789
-     *
4790
-     * @example
4791
-     * ```
4792
-     * echo Carbon::now()->toW3cString();
4793
-     * ```
4794
-     *
4795
-     * @return string
4796
-     */
4797
-    public function toW3cString();
4798
-
4799
-    /**
4800
-     * Create a Carbon instance for today.
4801
-     *
4802
-     * @param DateTimeZone|string|null $tz
4803
-     *
4804
-     * @return static
4805
-     */
4806
-    public static function today($tz = null);
4807
-
4808
-    /**
4809
-     * Create a Carbon instance for tomorrow.
4810
-     *
4811
-     * @param DateTimeZone|string|null $tz
4812
-     *
4813
-     * @return static
4814
-     */
4815
-    public static function tomorrow($tz = null);
4816
-
4817
-    /**
4818
-     * Translate using translation string or callback available.
4819
-     *
4820
-     * @param string                                                  $key
4821
-     * @param array                                                   $parameters
4822
-     * @param string|int|float|null                                   $number
4823
-     * @param \Symfony\Component\Translation\TranslatorInterface|null $translator
4824
-     * @param bool                                                    $altNumbers
4825
-     *
4826
-     * @return string
4827
-     */
4828
-    public function translate(string $key, array $parameters = [], $number = null, ?TranslatorInterface $translator = null, bool $altNumbers = false): string;
4829
-
4830
-    /**
4831
-     * Returns the alternative number for a given integer if available in the current locale.
4832
-     *
4833
-     * @param int $number
4834
-     *
4835
-     * @return string
4836
-     */
4837
-    public function translateNumber(int $number): string;
4838
-
4839
-    /**
4840
-     * Translate a time string from a locale to an other.
4841
-     *
4842
-     * @param string      $timeString date/time/duration string to translate (may also contain English)
4843
-     * @param string|null $from       input locale of the $timeString parameter (`Carbon::getLocale()` by default)
4844
-     * @param string|null $to         output locale of the result returned (`"en"` by default)
4845
-     * @param int         $mode       specify what to translate with options:
4846
-     *                                - self::TRANSLATE_ALL (default)
4847
-     *                                - CarbonInterface::TRANSLATE_MONTHS
4848
-     *                                - CarbonInterface::TRANSLATE_DAYS
4849
-     *                                - CarbonInterface::TRANSLATE_UNITS
4850
-     *                                - CarbonInterface::TRANSLATE_MERIDIEM
4851
-     *                                You can use pipe to group: CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS
4852
-     *
4853
-     * @return string
4854
-     */
4855
-    public static function translateTimeString($timeString, $from = null, $to = null, $mode = self::TRANSLATE_ALL);
4856
-
4857
-    /**
4858
-     * Translate a time string from the current locale (`$date->locale()`) to an other.
4859
-     *
4860
-     * @param string      $timeString time string to translate
4861
-     * @param string|null $to         output locale of the result returned ("en" by default)
4862
-     *
4863
-     * @return string
4864
-     */
4865
-    public function translateTimeStringTo($timeString, $to = null);
4866
-
4867
-    /**
4868
-     * Translate using translation string or callback available.
4869
-     *
4870
-     * @param \Symfony\Component\Translation\TranslatorInterface $translator
4871
-     * @param string                                             $key
4872
-     * @param array                                              $parameters
4873
-     * @param null                                               $number
4874
-     *
4875
-     * @return string
4876
-     */
4877
-    public static function translateWith(TranslatorInterface $translator, string $key, array $parameters = [], $number = null): string;
4878
-
4879
-    /**
4880
-     * Format as ->format() do (using date replacements patterns from https://php.net/manual/en/function.date.php)
4881
-     * but translate words whenever possible (months, day names, etc.) using the current locale.
4882
-     *
4883
-     * @param string $format
4884
-     *
4885
-     * @return string
4886
-     */
4887
-    public function translatedFormat(string $format): string;
4888
-
4889
-    /**
4890
-     * Set the timezone or returns the timezone name if no arguments passed.
4891
-     *
4892
-     * @param DateTimeZone|string $value
4893
-     *
4894
-     * @return static|string
4895
-     */
4896
-    public function tz($value = null);
4897
-
4898
-    /**
4899
-     * @alias getTimestamp
4900
-     *
4901
-     * Returns the UNIX timestamp for the current date.
4902
-     *
4903
-     * @return int
4904
-     */
4905
-    public function unix();
4906
-
4907
-    /**
4908
-     * @alias to
4909
-     *
4910
-     * Get the difference in a human readable format in the current locale from an other
4911
-     * instance given (or now if null given) to current instance.
4912
-     *
4913
-     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
4914
-     *                                                             if null passed, now will be used as comparison reference;
4915
-     *                                                             if any other type, it will be converted to date and used as reference.
4916
-     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
4917
-     *                                                             - 'syntax' entry (see below)
4918
-     *                                                             - 'short' entry (see below)
4919
-     *                                                             - 'parts' entry (see below)
4920
-     *                                                             - 'options' entry (see below)
4921
-     *                                                             - 'join' entry determines how to join multiple parts of the string
4922
-     *                                                             `  - if $join is a string, it's used as a joiner glue
4923
-     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
4924
-     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
4925
-     *                                                             `    will be used instead of the glue for the last item
4926
-     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
4927
-     *                                                             `  - if $join is missing, a space will be used as glue
4928
-     *                                                             - 'other' entry (see above)
4929
-     *                                                             if int passed, it add modifiers:
4930
-     *                                                             Possible values:
4931
-     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
4932
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
4933
-     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
4934
-     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
4935
-     * @param bool                                        $short   displays short format of time units
4936
-     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
4937
-     * @param int                                         $options human diff options
4938
-     *
4939
-     * @return string
4940
-     */
4941
-    public function until($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
4942
-
4943
-    /**
4944
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4945
-     *             You should rather use the ->settings() method.
4946
-     *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
4947
-     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
4948
-     * @see settings
4949
-     *
4950
-     * Indicates if months should be calculated with overflow.
4951
-     *
4952
-     * @param bool $monthsOverflow
4953
-     *
4954
-     * @return void
4955
-     */
4956
-    public static function useMonthsOverflow($monthsOverflow = true);
4957
-
4958
-    /**
4959
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4960
-     *             You should rather use the ->settings() method.
4961
-     * @see settings
4962
-     *
4963
-     * Enable the strict mode (or disable with passing false).
4964
-     *
4965
-     * @param bool $strictModeEnabled
4966
-     */
4967
-    public static function useStrictMode($strictModeEnabled = true);
4968
-
4969
-    /**
4970
-     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4971
-     *             You should rather use the ->settings() method.
4972
-     *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
4973
-     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
4974
-     * @see settings
4975
-     *
4976
-     * Indicates if years should be calculated with overflow.
4977
-     *
4978
-     * @param bool $yearsOverflow
4979
-     *
4980
-     * @return void
4981
-     */
4982
-    public static function useYearsOverflow($yearsOverflow = true);
4983
-
4984
-    /**
4985
-     * Set the instance's timezone to UTC.
4986
-     *
4987
-     * @return static
4988
-     */
4989
-    public function utc();
4990
-
4991
-    /**
4992
-     * Returns the minutes offset to UTC if no arguments passed, else set the timezone with given minutes shift passed.
4993
-     *
4994
-     * @param int|null $minuteOffset
4995
-     *
4996
-     * @return int|static
4997
-     */
4998
-    public function utcOffset(?int $minuteOffset = null);
4999
-
5000
-    /**
5001
-     * Returns the milliseconds timestamps used amongst other by Date javascript objects.
5002
-     *
5003
-     * @return float
5004
-     */
5005
-    public function valueOf();
5006
-
5007
-    /**
5008
-     * Get/set the week number using given first day of week and first
5009
-     * day of year included in the first week. Or use US format if no settings
5010
-     * given (Sunday / Jan 6).
5011
-     *
5012
-     * @param int|null $week
5013
-     * @param int|null $dayOfWeek
5014
-     * @param int|null $dayOfYear
5015
-     *
5016
-     * @return int|static
5017
-     */
5018
-    public function week($week = null, $dayOfWeek = null, $dayOfYear = null);
5019
-
5020
-    /**
5021
-     * Set/get the week number of year using given first day of week and first
5022
-     * day of year included in the first week. Or use US format if no settings
5023
-     * given (Sunday / Jan 6).
5024
-     *
5025
-     * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
5026
-     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
5027
-     * @param int|null $dayOfYear first day of year included in the week #1
5028
-     *
5029
-     * @return int|static
5030
-     */
5031
-    public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null);
5032
-
5033
-    /**
5034
-     * Get/set the weekday from 0 (Sunday) to 6 (Saturday).
5035
-     *
5036
-     * @param int|null $value new value for weekday if using as setter.
5037
-     *
5038
-     * @return static|int
5039
-     */
5040
-    public function weekday($value = null);
5041
-
5042
-    /**
5043
-     * Get the number of weeks of the current week-year using given first day of week and first
5044
-     * day of year included in the first week. Or use US format if no settings
5045
-     * given (Sunday / Jan 6).
5046
-     *
5047
-     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
5048
-     * @param int|null $dayOfYear first day of year included in the week #1
5049
-     *
5050
-     * @return int
5051
-     */
5052
-    public function weeksInYear($dayOfWeek = null, $dayOfYear = null);
5053
-
5054
-    /**
5055
-     * Temporarily sets a static date to be used within the callback.
5056
-     * Using setTestNow to set the date, executing the callback, then
5057
-     * clearing the test instance.
5058
-     *
5059
-     * /!\ Use this method for unit tests only.
5060
-     *
5061
-     * @param Closure|static|string|false|null $testNow  real or mock Carbon instance
5062
-     * @param Closure|null                     $callback
5063
-     *
5064
-     * @return mixed
5065
-     */
5066
-    public static function withTestNow($testNow = null, $callback = null);
5067
-
5068
-    /**
5069
-     * Create a Carbon instance for yesterday.
5070
-     *
5071
-     * @param DateTimeZone|string|null $tz
5072
-     *
5073
-     * @return static
5074
-     */
5075
-    public static function yesterday($tz = null);
5076
-
5077
-    // </methods>
522
+	/**
523
+	 * Diff wording options(expressed in octal).
524
+	 */
525
+	public const NO_ZERO_DIFF = 01;
526
+	public const JUST_NOW = 02;
527
+	public const ONE_DAY_WORDS = 04;
528
+	public const TWO_DAY_WORDS = 010;
529
+	public const SEQUENTIAL_PARTS_ONLY = 020;
530
+	public const ROUND = 040;
531
+	public const FLOOR = 0100;
532
+	public const CEIL = 0200;
533
+
534
+	/**
535
+	 * Diff syntax options.
536
+	 */
537
+	public const DIFF_ABSOLUTE = 1; // backward compatibility with true
538
+	public const DIFF_RELATIVE_AUTO = 0; // backward compatibility with false
539
+	public const DIFF_RELATIVE_TO_NOW = 2;
540
+	public const DIFF_RELATIVE_TO_OTHER = 3;
541
+
542
+	/**
543
+	 * Translate string options.
544
+	 */
545
+	public const TRANSLATE_MONTHS = 1;
546
+	public const TRANSLATE_DAYS = 2;
547
+	public const TRANSLATE_UNITS = 4;
548
+	public const TRANSLATE_MERIDIEM = 8;
549
+	public const TRANSLATE_DIFF = 0x10;
550
+	public const TRANSLATE_ALL = self::TRANSLATE_MONTHS | self::TRANSLATE_DAYS | self::TRANSLATE_UNITS | self::TRANSLATE_MERIDIEM | self::TRANSLATE_DIFF;
551
+
552
+	/**
553
+	 * The day constants.
554
+	 */
555
+	public const SUNDAY = 0;
556
+	public const MONDAY = 1;
557
+	public const TUESDAY = 2;
558
+	public const WEDNESDAY = 3;
559
+	public const THURSDAY = 4;
560
+	public const FRIDAY = 5;
561
+	public const SATURDAY = 6;
562
+
563
+	/**
564
+	 * The month constants.
565
+	 * These aren't used by Carbon itself but exist for
566
+	 * convenience sake alone.
567
+	 */
568
+	public const JANUARY = 1;
569
+	public const FEBRUARY = 2;
570
+	public const MARCH = 3;
571
+	public const APRIL = 4;
572
+	public const MAY = 5;
573
+	public const JUNE = 6;
574
+	public const JULY = 7;
575
+	public const AUGUST = 8;
576
+	public const SEPTEMBER = 9;
577
+	public const OCTOBER = 10;
578
+	public const NOVEMBER = 11;
579
+	public const DECEMBER = 12;
580
+
581
+	/**
582
+	 * Number of X in Y.
583
+	 */
584
+	public const YEARS_PER_MILLENNIUM = 1000;
585
+	public const YEARS_PER_CENTURY = 100;
586
+	public const YEARS_PER_DECADE = 10;
587
+	public const MONTHS_PER_YEAR = 12;
588
+	public const MONTHS_PER_QUARTER = 3;
589
+	public const QUARTERS_PER_YEAR = 4;
590
+	public const WEEKS_PER_YEAR = 52;
591
+	public const WEEKS_PER_MONTH = 4;
592
+	public const DAYS_PER_YEAR = 365;
593
+	public const DAYS_PER_WEEK = 7;
594
+	public const HOURS_PER_DAY = 24;
595
+	public const MINUTES_PER_HOUR = 60;
596
+	public const SECONDS_PER_MINUTE = 60;
597
+	public const MILLISECONDS_PER_SECOND = 1000;
598
+	public const MICROSECONDS_PER_MILLISECOND = 1000;
599
+	public const MICROSECONDS_PER_SECOND = 1000000;
600
+
601
+	/**
602
+	 * Special settings to get the start of week from current locale culture.
603
+	 */
604
+	public const WEEK_DAY_AUTO = 'auto';
605
+
606
+	/**
607
+	 * RFC7231 DateTime format.
608
+	 *
609
+	 * @var string
610
+	 */
611
+	public const RFC7231_FORMAT = 'D, d M Y H:i:s \G\M\T';
612
+
613
+	/**
614
+	 * Default format to use for __toString method when type juggling occurs.
615
+	 *
616
+	 * @var string
617
+	 */
618
+	public const DEFAULT_TO_STRING_FORMAT = 'Y-m-d H:i:s';
619
+
620
+	/**
621
+	 * Format for converting mocked time, includes microseconds.
622
+	 *
623
+	 * @var string
624
+	 */
625
+	public const MOCK_DATETIME_FORMAT = 'Y-m-d H:i:s.u';
626
+
627
+	/**
628
+	 * Pattern detection for ->isoFormat and ::createFromIsoFormat.
629
+	 *
630
+	 * @var string
631
+	 */
632
+	public const ISO_FORMAT_REGEXP = '(O[YMDHhms]|[Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY?|g{1,5}|G{1,5}|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?)';
633
+
634
+	// <methods>
635
+
636
+	/**
637
+	 * Dynamically handle calls to the class.
638
+	 *
639
+	 * @param string $method     magic method name called
640
+	 * @param array  $parameters parameters list
641
+	 *
642
+	 * @throws UnknownMethodException|BadMethodCallException|ReflectionException|Throwable
643
+	 *
644
+	 * @return mixed
645
+	 */
646
+	public function __call($method, $parameters);
647
+
648
+	/**
649
+	 * Dynamically handle calls to the class.
650
+	 *
651
+	 * @param string $method     magic method name called
652
+	 * @param array  $parameters parameters list
653
+	 *
654
+	 * @throws BadMethodCallException
655
+	 *
656
+	 * @return mixed
657
+	 */
658
+	public static function __callStatic($method, $parameters);
659
+
660
+	/**
661
+	 * Update constructedObjectId on cloned.
662
+	 */
663
+	public function __clone();
664
+
665
+	/**
666
+	 * Create a new Carbon instance.
667
+	 *
668
+	 * Please see the testing aids section (specifically static::setTestNow())
669
+	 * for more on the possibility of this constructor returning a test instance.
670
+	 *
671
+	 * @param DateTimeInterface|string|null $time
672
+	 * @param DateTimeZone|string|null      $tz
673
+	 *
674
+	 * @throws InvalidFormatException
675
+	 */
676
+	public function __construct($time = null, $tz = null);
677
+
678
+	/**
679
+	 * Show truthy properties on var_dump().
680
+	 *
681
+	 * @return array
682
+	 */
683
+	public function __debugInfo();
684
+
685
+	/**
686
+	 * Get a part of the Carbon object
687
+	 *
688
+	 * @param string $name
689
+	 *
690
+	 * @throws UnknownGetterException
691
+	 *
692
+	 * @return string|int|bool|DateTimeZone|null
693
+	 */
694
+	public function __get($name);
695
+
696
+	/**
697
+	 * Check if an attribute exists on the object
698
+	 *
699
+	 * @param string $name
700
+	 *
701
+	 * @return bool
702
+	 */
703
+	public function __isset($name);
704
+
705
+	/**
706
+	 * Set a part of the Carbon object
707
+	 *
708
+	 * @param string                  $name
709
+	 * @param string|int|DateTimeZone $value
710
+	 *
711
+	 * @throws UnknownSetterException|ReflectionException
712
+	 *
713
+	 * @return void
714
+	 */
715
+	public function __set($name, $value);
716
+
717
+	/**
718
+	 * The __set_state handler.
719
+	 *
720
+	 * @param string|array $dump
721
+	 *
722
+	 * @return static
723
+	 */
724
+	#[ReturnTypeWillChange]
725
+	public static function __set_state($dump);
726
+
727
+	/**
728
+	 * Returns the list of properties to dump on serialize() called on.
729
+	 *
730
+	 * @return array
731
+	 */
732
+	public function __sleep();
733
+
734
+	/**
735
+	 * Format the instance as a string using the set format
736
+	 *
737
+	 * @example
738
+	 * ```
739
+	 * echo Carbon::now(); // Carbon instances can be casted to string
740
+	 * ```
741
+	 *
742
+	 * @return string
743
+	 */
744
+	public function __toString();
745
+
746
+	/**
747
+	 * Add given units or interval to the current instance.
748
+	 *
749
+	 * @example $date->add('hour', 3)
750
+	 * @example $date->add(15, 'days')
751
+	 * @example $date->add(CarbonInterval::days(4))
752
+	 *
753
+	 * @param string|DateInterval|Closure|CarbonConverterInterface $unit
754
+	 * @param int                                                  $value
755
+	 * @param bool|null                                            $overflow
756
+	 *
757
+	 * @return static
758
+	 */
759
+	#[ReturnTypeWillChange]
760
+	public function add($unit, $value = 1, $overflow = null);
761
+
762
+	/**
763
+	 * Add seconds to the instance using timestamp. Positive $value travels
764
+	 * forward while negative $value travels into the past.
765
+	 *
766
+	 * @param string $unit
767
+	 * @param int    $value
768
+	 *
769
+	 * @return static
770
+	 */
771
+	public function addRealUnit($unit, $value = 1);
772
+
773
+	/**
774
+	 * Add given units to the current instance.
775
+	 *
776
+	 * @param string    $unit
777
+	 * @param int       $value
778
+	 * @param bool|null $overflow
779
+	 *
780
+	 * @return static
781
+	 */
782
+	public function addUnit($unit, $value = 1, $overflow = null);
783
+
784
+	/**
785
+	 * Add any unit to a new value without overflowing current other unit given.
786
+	 *
787
+	 * @param string $valueUnit    unit name to modify
788
+	 * @param int    $value        amount to add to the input unit
789
+	 * @param string $overflowUnit unit name to not overflow
790
+	 *
791
+	 * @return static
792
+	 */
793
+	public function addUnitNoOverflow($valueUnit, $value, $overflowUnit);
794
+
795
+	/**
796
+	 * Get the difference in a human readable format in the current locale from an other
797
+	 * instance given to now
798
+	 *
799
+	 * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
800
+	 *                           - 'syntax' entry (see below)
801
+	 *                           - 'short' entry (see below)
802
+	 *                           - 'parts' entry (see below)
803
+	 *                           - 'options' entry (see below)
804
+	 *                           - 'join' entry determines how to join multiple parts of the string
805
+	 *                           `  - if $join is a string, it's used as a joiner glue
806
+	 *                           `  - if $join is a callable/closure, it get the list of string and should return a string
807
+	 *                           `  - if $join is an array, the first item will be the default glue, and the second item
808
+	 *                           `    will be used instead of the glue for the last item
809
+	 *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
810
+	 *                           `  - if $join is missing, a space will be used as glue
811
+	 *                           if int passed, it add modifiers:
812
+	 *                           Possible values:
813
+	 *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
814
+	 *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
815
+	 *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
816
+	 *                           Default value: CarbonInterface::DIFF_ABSOLUTE
817
+	 * @param bool      $short   displays short format of time units
818
+	 * @param int       $parts   maximum number of parts to display (default value: 1: single part)
819
+	 * @param int       $options human diff options
820
+	 *
821
+	 * @return string
822
+	 */
823
+	public function ago($syntax = null, $short = false, $parts = 1, $options = null);
824
+
825
+	/**
826
+	 * Modify the current instance to the average of a given instance (default now) and the current instance
827
+	 * (second-precision).
828
+	 *
829
+	 * @param \Carbon\Carbon|\DateTimeInterface|null $date
830
+	 *
831
+	 * @return static
832
+	 */
833
+	public function average($date = null);
834
+
835
+	/**
836
+	 * Clone the current instance if it's mutable.
837
+	 *
838
+	 * This method is convenient to ensure you don't mutate the initial object
839
+	 * but avoid to make a useless copy of it if it's already immutable.
840
+	 *
841
+	 * @return static
842
+	 */
843
+	public function avoidMutation();
844
+
845
+	/**
846
+	 * Determines if the instance is between two others.
847
+	 *
848
+	 * The third argument allow you to specify if bounds are included or not (true by default)
849
+	 * but for when you including/excluding bounds may produce different results in your application,
850
+	 * we recommend to use the explicit methods ->betweenIncluded() or ->betweenExcluded() instead.
851
+	 *
852
+	 * @example
853
+	 * ```
854
+	 * Carbon::parse('2018-07-25')->between('2018-07-14', '2018-08-01'); // true
855
+	 * Carbon::parse('2018-07-25')->between('2018-08-01', '2018-08-20'); // false
856
+	 * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01'); // true
857
+	 * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01', false); // false
858
+	 * ```
859
+	 *
860
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
861
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
862
+	 * @param bool                                    $equal Indicates if an equal to comparison should be done
863
+	 *
864
+	 * @return bool
865
+	 */
866
+	public function between($date1, $date2, $equal = true): bool;
867
+
868
+	/**
869
+	 * Determines if the instance is between two others, bounds excluded.
870
+	 *
871
+	 * @example
872
+	 * ```
873
+	 * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-14', '2018-08-01'); // true
874
+	 * Carbon::parse('2018-07-25')->betweenExcluded('2018-08-01', '2018-08-20'); // false
875
+	 * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-25', '2018-08-01'); // false
876
+	 * ```
877
+	 *
878
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
879
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
880
+	 *
881
+	 * @return bool
882
+	 */
883
+	public function betweenExcluded($date1, $date2): bool;
884
+
885
+	/**
886
+	 * Determines if the instance is between two others, bounds included.
887
+	 *
888
+	 * @example
889
+	 * ```
890
+	 * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-14', '2018-08-01'); // true
891
+	 * Carbon::parse('2018-07-25')->betweenIncluded('2018-08-01', '2018-08-20'); // false
892
+	 * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-25', '2018-08-01'); // true
893
+	 * ```
894
+	 *
895
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
896
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
897
+	 *
898
+	 * @return bool
899
+	 */
900
+	public function betweenIncluded($date1, $date2): bool;
901
+
902
+	/**
903
+	 * Returns either day of week + time (e.g. "Last Friday at 3:30 PM") if reference time is within 7 days,
904
+	 * or a calendar date (e.g. "10/29/2017") otherwise.
905
+	 *
906
+	 * Language, date and time formats will change according to the current locale.
907
+	 *
908
+	 * @param Carbon|\DateTimeInterface|string|null $referenceTime
909
+	 * @param array                                 $formats
910
+	 *
911
+	 * @return string
912
+	 */
913
+	public function calendar($referenceTime = null, array $formats = []);
914
+
915
+	/**
916
+	 * Checks if the (date)time string is in a given format and valid to create a
917
+	 * new instance.
918
+	 *
919
+	 * @example
920
+	 * ```
921
+	 * Carbon::canBeCreatedFromFormat('11:12:45', 'h:i:s'); // true
922
+	 * Carbon::canBeCreatedFromFormat('13:12:45', 'h:i:s'); // false
923
+	 * ```
924
+	 *
925
+	 * @param string $date
926
+	 * @param string $format
927
+	 *
928
+	 * @return bool
929
+	 */
930
+	public static function canBeCreatedFromFormat($date, $format);
931
+
932
+	/**
933
+	 * Return the Carbon instance passed through, a now instance in the same timezone
934
+	 * if null given or parse the input if string given.
935
+	 *
936
+	 * @param Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|DateTimeInterface|string|null $date
937
+	 *
938
+	 * @return static
939
+	 */
940
+	public function carbonize($date = null);
941
+
942
+	/**
943
+	 * Cast the current instance into the given class.
944
+	 *
945
+	 * @param string $className The $className::instance() method will be called to cast the current object.
946
+	 *
947
+	 * @return DateTimeInterface
948
+	 */
949
+	public function cast(string $className);
950
+
951
+	/**
952
+	 * Ceil the current instance second with given precision if specified.
953
+	 *
954
+	 * @param float|int|string|\DateInterval|null $precision
955
+	 *
956
+	 * @return CarbonInterface
957
+	 */
958
+	public function ceil($precision = 1);
959
+
960
+	/**
961
+	 * Ceil the current instance at the given unit with given precision if specified.
962
+	 *
963
+	 * @param string    $unit
964
+	 * @param float|int $precision
965
+	 *
966
+	 * @return CarbonInterface
967
+	 */
968
+	public function ceilUnit($unit, $precision = 1);
969
+
970
+	/**
971
+	 * Ceil the current instance week.
972
+	 *
973
+	 * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
974
+	 *
975
+	 * @return CarbonInterface
976
+	 */
977
+	public function ceilWeek($weekStartsAt = null);
978
+
979
+	/**
980
+	 * Similar to native modify() method of DateTime but can handle more grammars.
981
+	 *
982
+	 * @example
983
+	 * ```
984
+	 * echo Carbon::now()->change('next 2pm');
985
+	 * ```
986
+	 *
987
+	 * @link https://php.net/manual/en/datetime.modify.php
988
+	 *
989
+	 * @param string $modifier
990
+	 *
991
+	 * @return static
992
+	 */
993
+	public function change($modifier);
994
+
995
+	/**
996
+	 * Cleanup properties attached to the public scope of DateTime when a dump of the date is requested.
997
+	 * foreach ($date as $_) {}
998
+	 * serializer($date)
999
+	 * var_export($date)
1000
+	 * get_object_vars($date)
1001
+	 */
1002
+	public function cleanupDumpProperties();
1003
+
1004
+	/**
1005
+	 * @alias copy
1006
+	 *
1007
+	 * Get a copy of the instance.
1008
+	 *
1009
+	 * @return static
1010
+	 */
1011
+	public function clone();
1012
+
1013
+	/**
1014
+	 * Get the closest date from the instance (second-precision).
1015
+	 *
1016
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
1017
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
1018
+	 *
1019
+	 * @return static
1020
+	 */
1021
+	public function closest($date1, $date2);
1022
+
1023
+	/**
1024
+	 * Get a copy of the instance.
1025
+	 *
1026
+	 * @return static
1027
+	 */
1028
+	public function copy();
1029
+
1030
+	/**
1031
+	 * Create a new Carbon instance from a specific date and time.
1032
+	 *
1033
+	 * If any of $year, $month or $day are set to null their now() values will
1034
+	 * be used.
1035
+	 *
1036
+	 * If $hour is null it will be set to its now() value and the default
1037
+	 * values for $minute and $second will be their now() values.
1038
+	 *
1039
+	 * If $hour is not null then the default values for $minute and $second
1040
+	 * will be 0.
1041
+	 *
1042
+	 * @param int|null                 $year
1043
+	 * @param int|null                 $month
1044
+	 * @param int|null                 $day
1045
+	 * @param int|null                 $hour
1046
+	 * @param int|null                 $minute
1047
+	 * @param int|null                 $second
1048
+	 * @param DateTimeZone|string|null $tz
1049
+	 *
1050
+	 * @throws InvalidFormatException
1051
+	 *
1052
+	 * @return static|false
1053
+	 */
1054
+	public static function create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null);
1055
+
1056
+	/**
1057
+	 * Create a Carbon instance from just a date. The time portion is set to now.
1058
+	 *
1059
+	 * @param int|null                 $year
1060
+	 * @param int|null                 $month
1061
+	 * @param int|null                 $day
1062
+	 * @param DateTimeZone|string|null $tz
1063
+	 *
1064
+	 * @throws InvalidFormatException
1065
+	 *
1066
+	 * @return static
1067
+	 */
1068
+	public static function createFromDate($year = null, $month = null, $day = null, $tz = null);
1069
+
1070
+	/**
1071
+	 * Create a Carbon instance from a specific format.
1072
+	 *
1073
+	 * @param string                         $format Datetime format
1074
+	 * @param string                         $time
1075
+	 * @param DateTimeZone|string|false|null $tz
1076
+	 *
1077
+	 * @throws InvalidFormatException
1078
+	 *
1079
+	 * @return static|false
1080
+	 */
1081
+	#[ReturnTypeWillChange]
1082
+	public static function createFromFormat($format, $time, $tz = null);
1083
+
1084
+	/**
1085
+	 * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
1086
+	 *
1087
+	 * @param string                                             $format     Datetime format
1088
+	 * @param string                                             $time
1089
+	 * @param DateTimeZone|string|false|null                     $tz         optional timezone
1090
+	 * @param string|null                                        $locale     locale to be used for LTS, LT, LL, LLL, etc. macro-formats (en by fault, unneeded if no such macro-format in use)
1091
+	 * @param \Symfony\Component\Translation\TranslatorInterface $translator optional custom translator to use for macro-formats
1092
+	 *
1093
+	 * @throws InvalidFormatException
1094
+	 *
1095
+	 * @return static|false
1096
+	 */
1097
+	public static function createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null);
1098
+
1099
+	/**
1100
+	 * Create a Carbon instance from a specific format and a string in a given language.
1101
+	 *
1102
+	 * @param string                         $format Datetime format
1103
+	 * @param string                         $locale
1104
+	 * @param string                         $time
1105
+	 * @param DateTimeZone|string|false|null $tz
1106
+	 *
1107
+	 * @throws InvalidFormatException
1108
+	 *
1109
+	 * @return static|false
1110
+	 */
1111
+	public static function createFromLocaleFormat($format, $locale, $time, $tz = null);
1112
+
1113
+	/**
1114
+	 * Create a Carbon instance from a specific ISO format and a string in a given language.
1115
+	 *
1116
+	 * @param string                         $format Datetime ISO format
1117
+	 * @param string                         $locale
1118
+	 * @param string                         $time
1119
+	 * @param DateTimeZone|string|false|null $tz
1120
+	 *
1121
+	 * @throws InvalidFormatException
1122
+	 *
1123
+	 * @return static|false
1124
+	 */
1125
+	public static function createFromLocaleIsoFormat($format, $locale, $time, $tz = null);
1126
+
1127
+	/**
1128
+	 * Create a Carbon instance from just a time. The date portion is set to today.
1129
+	 *
1130
+	 * @param int|null                 $hour
1131
+	 * @param int|null                 $minute
1132
+	 * @param int|null                 $second
1133
+	 * @param DateTimeZone|string|null $tz
1134
+	 *
1135
+	 * @throws InvalidFormatException
1136
+	 *
1137
+	 * @return static
1138
+	 */
1139
+	public static function createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null);
1140
+
1141
+	/**
1142
+	 * Create a Carbon instance from a time string. The date portion is set to today.
1143
+	 *
1144
+	 * @param string                   $time
1145
+	 * @param DateTimeZone|string|null $tz
1146
+	 *
1147
+	 * @throws InvalidFormatException
1148
+	 *
1149
+	 * @return static
1150
+	 */
1151
+	public static function createFromTimeString($time, $tz = null);
1152
+
1153
+	/**
1154
+	 * Create a Carbon instance from a timestamp and set the timezone (use default one if not specified).
1155
+	 *
1156
+	 * Timestamp input can be given as int, float or a string containing one or more numbers.
1157
+	 *
1158
+	 * @param float|int|string          $timestamp
1159
+	 * @param \DateTimeZone|string|null $tz
1160
+	 *
1161
+	 * @return static
1162
+	 */
1163
+	public static function createFromTimestamp($timestamp, $tz = null);
1164
+
1165
+	/**
1166
+	 * Create a Carbon instance from a timestamp in milliseconds.
1167
+	 *
1168
+	 * Timestamp input can be given as int, float or a string containing one or more numbers.
1169
+	 *
1170
+	 * @param float|int|string          $timestamp
1171
+	 * @param \DateTimeZone|string|null $tz
1172
+	 *
1173
+	 * @return static
1174
+	 */
1175
+	public static function createFromTimestampMs($timestamp, $tz = null);
1176
+
1177
+	/**
1178
+	 * Create a Carbon instance from a timestamp in milliseconds.
1179
+	 *
1180
+	 * Timestamp input can be given as int, float or a string containing one or more numbers.
1181
+	 *
1182
+	 * @param float|int|string $timestamp
1183
+	 *
1184
+	 * @return static
1185
+	 */
1186
+	public static function createFromTimestampMsUTC($timestamp);
1187
+
1188
+	/**
1189
+	 * Create a Carbon instance from an timestamp keeping the timezone to UTC.
1190
+	 *
1191
+	 * Timestamp input can be given as int, float or a string containing one or more numbers.
1192
+	 *
1193
+	 * @param float|int|string $timestamp
1194
+	 *
1195
+	 * @return static
1196
+	 */
1197
+	public static function createFromTimestampUTC($timestamp);
1198
+
1199
+	/**
1200
+	 * Create a Carbon instance from just a date. The time portion is set to midnight.
1201
+	 *
1202
+	 * @param int|null                 $year
1203
+	 * @param int|null                 $month
1204
+	 * @param int|null                 $day
1205
+	 * @param DateTimeZone|string|null $tz
1206
+	 *
1207
+	 * @throws InvalidFormatException
1208
+	 *
1209
+	 * @return static
1210
+	 */
1211
+	public static function createMidnightDate($year = null, $month = null, $day = null, $tz = null);
1212
+
1213
+	/**
1214
+	 * Create a new safe Carbon instance from a specific date and time.
1215
+	 *
1216
+	 * If any of $year, $month or $day are set to null their now() values will
1217
+	 * be used.
1218
+	 *
1219
+	 * If $hour is null it will be set to its now() value and the default
1220
+	 * values for $minute and $second will be their now() values.
1221
+	 *
1222
+	 * If $hour is not null then the default values for $minute and $second
1223
+	 * will be 0.
1224
+	 *
1225
+	 * If one of the set values is not valid, an InvalidDateException
1226
+	 * will be thrown.
1227
+	 *
1228
+	 * @param int|null                 $year
1229
+	 * @param int|null                 $month
1230
+	 * @param int|null                 $day
1231
+	 * @param int|null                 $hour
1232
+	 * @param int|null                 $minute
1233
+	 * @param int|null                 $second
1234
+	 * @param DateTimeZone|string|null $tz
1235
+	 *
1236
+	 * @throws InvalidDateException
1237
+	 *
1238
+	 * @return static|false
1239
+	 */
1240
+	public static function createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null);
1241
+
1242
+	/**
1243
+	 * Create a new Carbon instance from a specific date and time using strict validation.
1244
+	 *
1245
+	 * @see create()
1246
+	 *
1247
+	 * @param int|null                 $year
1248
+	 * @param int|null                 $month
1249
+	 * @param int|null                 $day
1250
+	 * @param int|null                 $hour
1251
+	 * @param int|null                 $minute
1252
+	 * @param int|null                 $second
1253
+	 * @param DateTimeZone|string|null $tz
1254
+	 *
1255
+	 * @throws InvalidFormatException
1256
+	 *
1257
+	 * @return static
1258
+	 */
1259
+	public static function createStrict(?int $year = 0, ?int $month = 1, ?int $day = 1, ?int $hour = 0, ?int $minute = 0, ?int $second = 0, $tz = null);
1260
+
1261
+	/**
1262
+	 * Get/set the day of year.
1263
+	 *
1264
+	 * @param int|null $value new value for day of year if using as setter.
1265
+	 *
1266
+	 * @return static|int
1267
+	 */
1268
+	public function dayOfYear($value = null);
1269
+
1270
+	/**
1271
+	 * Get the difference as a CarbonInterval instance.
1272
+	 * Return relative interval (negative if $absolute flag is not set to true and the given date is before
1273
+	 * current one).
1274
+	 *
1275
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1276
+	 * @param bool                                                   $absolute Get the absolute of the difference
1277
+	 *
1278
+	 * @return CarbonInterval
1279
+	 */
1280
+	public function diffAsCarbonInterval($date = null, $absolute = true);
1281
+
1282
+	/**
1283
+	 * Get the difference by the given interval using a filter closure.
1284
+	 *
1285
+	 * @param CarbonInterval                                         $ci       An interval to traverse by
1286
+	 * @param Closure                                                $callback
1287
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1288
+	 * @param bool                                                   $absolute Get the absolute of the difference
1289
+	 *
1290
+	 * @return int
1291
+	 */
1292
+	public function diffFiltered(CarbonInterval $ci, Closure $callback, $date = null, $absolute = true);
1293
+
1294
+	/**
1295
+	 * Get the difference in a human readable format in the current locale from current instance to an other
1296
+	 * instance given (or now if null given).
1297
+	 *
1298
+	 * @example
1299
+	 * ```
1300
+	 * echo Carbon::tomorrow()->diffForHumans() . "\n";
1301
+	 * echo Carbon::tomorrow()->diffForHumans(['parts' => 2]) . "\n";
1302
+	 * echo Carbon::tomorrow()->diffForHumans(['parts' => 3, 'join' => true]) . "\n";
1303
+	 * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday()) . "\n";
1304
+	 * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday(), ['short' => true]) . "\n";
1305
+	 * ```
1306
+	 *
1307
+	 * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
1308
+	 *                                                             if null passed, now will be used as comparison reference;
1309
+	 *                                                             if any other type, it will be converted to date and used as reference.
1310
+	 * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
1311
+	 *                                                             - 'syntax' entry (see below)
1312
+	 *                                                             - 'short' entry (see below)
1313
+	 *                                                             - 'parts' entry (see below)
1314
+	 *                                                             - 'options' entry (see below)
1315
+	 *                                                             - 'skip' entry, list of units to skip (array of strings or a single string,
1316
+	 *                                                             ` it can be the unit name (singular or plural) or its shortcut
1317
+	 *                                                             ` (y, m, w, d, h, min, s, ms, µs).
1318
+	 *                                                             - 'aUnit' entry, prefer "an hour" over "1 hour" if true
1319
+	 *                                                             - 'join' entry determines how to join multiple parts of the string
1320
+	 *                                                             `  - if $join is a string, it's used as a joiner glue
1321
+	 *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
1322
+	 *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
1323
+	 *                                                             `    will be used instead of the glue for the last item
1324
+	 *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
1325
+	 *                                                             `  - if $join is missing, a space will be used as glue
1326
+	 *                                                             - 'other' entry (see above)
1327
+	 *                                                             - 'minimumUnit' entry determines the smallest unit of time to display can be long or
1328
+	 *                                                             `  short form of the units, e.g. 'hour' or 'h' (default value: s)
1329
+	 *                                                             if int passed, it add modifiers:
1330
+	 *                                                             Possible values:
1331
+	 *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
1332
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
1333
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
1334
+	 *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
1335
+	 * @param bool                                        $short   displays short format of time units
1336
+	 * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
1337
+	 * @param int                                         $options human diff options
1338
+	 *
1339
+	 * @return string
1340
+	 */
1341
+	public function diffForHumans($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
1342
+
1343
+	/**
1344
+	 * Get the difference in days rounded down.
1345
+	 *
1346
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1347
+	 * @param bool                                                   $absolute Get the absolute of the difference
1348
+	 *
1349
+	 * @return int
1350
+	 */
1351
+	public function diffInDays($date = null, $absolute = true);
1352
+
1353
+	/**
1354
+	 * Get the difference in days using a filter closure rounded down.
1355
+	 *
1356
+	 * @param Closure                                                $callback
1357
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1358
+	 * @param bool                                                   $absolute Get the absolute of the difference
1359
+	 *
1360
+	 * @return int
1361
+	 */
1362
+	public function diffInDaysFiltered(Closure $callback, $date = null, $absolute = true);
1363
+
1364
+	/**
1365
+	 * Get the difference in hours rounded down.
1366
+	 *
1367
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1368
+	 * @param bool                                                   $absolute Get the absolute of the difference
1369
+	 *
1370
+	 * @return int
1371
+	 */
1372
+	public function diffInHours($date = null, $absolute = true);
1373
+
1374
+	/**
1375
+	 * Get the difference in hours using a filter closure rounded down.
1376
+	 *
1377
+	 * @param Closure                                                $callback
1378
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1379
+	 * @param bool                                                   $absolute Get the absolute of the difference
1380
+	 *
1381
+	 * @return int
1382
+	 */
1383
+	public function diffInHoursFiltered(Closure $callback, $date = null, $absolute = true);
1384
+
1385
+	/**
1386
+	 * Get the difference in microseconds.
1387
+	 *
1388
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1389
+	 * @param bool                                                   $absolute Get the absolute of the difference
1390
+	 *
1391
+	 * @return int
1392
+	 */
1393
+	public function diffInMicroseconds($date = null, $absolute = true);
1394
+
1395
+	/**
1396
+	 * Get the difference in milliseconds rounded down.
1397
+	 *
1398
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1399
+	 * @param bool                                                   $absolute Get the absolute of the difference
1400
+	 *
1401
+	 * @return int
1402
+	 */
1403
+	public function diffInMilliseconds($date = null, $absolute = true);
1404
+
1405
+	/**
1406
+	 * Get the difference in minutes rounded down.
1407
+	 *
1408
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1409
+	 * @param bool                                                   $absolute Get the absolute of the difference
1410
+	 *
1411
+	 * @return int
1412
+	 */
1413
+	public function diffInMinutes($date = null, $absolute = true);
1414
+
1415
+	/**
1416
+	 * Get the difference in months rounded down.
1417
+	 *
1418
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1419
+	 * @param bool                                                   $absolute Get the absolute of the difference
1420
+	 *
1421
+	 * @return int
1422
+	 */
1423
+	public function diffInMonths($date = null, $absolute = true);
1424
+
1425
+	/**
1426
+	 * Get the difference in quarters rounded down.
1427
+	 *
1428
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1429
+	 * @param bool                                                   $absolute Get the absolute of the difference
1430
+	 *
1431
+	 * @return int
1432
+	 */
1433
+	public function diffInQuarters($date = null, $absolute = true);
1434
+
1435
+	/**
1436
+	 * Get the difference in hours rounded down using timestamps.
1437
+	 *
1438
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1439
+	 * @param bool                                                   $absolute Get the absolute of the difference
1440
+	 *
1441
+	 * @return int
1442
+	 */
1443
+	public function diffInRealHours($date = null, $absolute = true);
1444
+
1445
+	/**
1446
+	 * Get the difference in microseconds using timestamps.
1447
+	 *
1448
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1449
+	 * @param bool                                                   $absolute Get the absolute of the difference
1450
+	 *
1451
+	 * @return int
1452
+	 */
1453
+	public function diffInRealMicroseconds($date = null, $absolute = true);
1454
+
1455
+	/**
1456
+	 * Get the difference in milliseconds rounded down using timestamps.
1457
+	 *
1458
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1459
+	 * @param bool                                                   $absolute Get the absolute of the difference
1460
+	 *
1461
+	 * @return int
1462
+	 */
1463
+	public function diffInRealMilliseconds($date = null, $absolute = true);
1464
+
1465
+	/**
1466
+	 * Get the difference in minutes rounded down using timestamps.
1467
+	 *
1468
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1469
+	 * @param bool                                                   $absolute Get the absolute of the difference
1470
+	 *
1471
+	 * @return int
1472
+	 */
1473
+	public function diffInRealMinutes($date = null, $absolute = true);
1474
+
1475
+	/**
1476
+	 * Get the difference in seconds using timestamps.
1477
+	 *
1478
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1479
+	 * @param bool                                                   $absolute Get the absolute of the difference
1480
+	 *
1481
+	 * @return int
1482
+	 */
1483
+	public function diffInRealSeconds($date = null, $absolute = true);
1484
+
1485
+	/**
1486
+	 * Get the difference in seconds rounded down.
1487
+	 *
1488
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1489
+	 * @param bool                                                   $absolute Get the absolute of the difference
1490
+	 *
1491
+	 * @return int
1492
+	 */
1493
+	public function diffInSeconds($date = null, $absolute = true);
1494
+
1495
+	/**
1496
+	 * Get the difference in weekdays rounded down.
1497
+	 *
1498
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1499
+	 * @param bool                                                   $absolute Get the absolute of the difference
1500
+	 *
1501
+	 * @return int
1502
+	 */
1503
+	public function diffInWeekdays($date = null, $absolute = true);
1504
+
1505
+	/**
1506
+	 * Get the difference in weekend days using a filter rounded down.
1507
+	 *
1508
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1509
+	 * @param bool                                                   $absolute Get the absolute of the difference
1510
+	 *
1511
+	 * @return int
1512
+	 */
1513
+	public function diffInWeekendDays($date = null, $absolute = true);
1514
+
1515
+	/**
1516
+	 * Get the difference in weeks rounded down.
1517
+	 *
1518
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1519
+	 * @param bool                                                   $absolute Get the absolute of the difference
1520
+	 *
1521
+	 * @return int
1522
+	 */
1523
+	public function diffInWeeks($date = null, $absolute = true);
1524
+
1525
+	/**
1526
+	 * Get the difference in years
1527
+	 *
1528
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1529
+	 * @param bool                                                   $absolute Get the absolute of the difference
1530
+	 *
1531
+	 * @return int
1532
+	 */
1533
+	public function diffInYears($date = null, $absolute = true);
1534
+
1535
+	/**
1536
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
1537
+	 *             You should rather use the ->settings() method.
1538
+	 * @see settings
1539
+	 *
1540
+	 * @param int $humanDiffOption
1541
+	 */
1542
+	public static function disableHumanDiffOption($humanDiffOption);
1543
+
1544
+	/**
1545
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
1546
+	 *             You should rather use the ->settings() method.
1547
+	 * @see settings
1548
+	 *
1549
+	 * @param int $humanDiffOption
1550
+	 */
1551
+	public static function enableHumanDiffOption($humanDiffOption);
1552
+
1553
+	/**
1554
+	 * Modify to end of current given unit.
1555
+	 *
1556
+	 * @example
1557
+	 * ```
1558
+	 * echo Carbon::parse('2018-07-25 12:45:16.334455')
1559
+	 *   ->startOf('month')
1560
+	 *   ->endOf('week', Carbon::FRIDAY);
1561
+	 * ```
1562
+	 *
1563
+	 * @param string            $unit
1564
+	 * @param array<int, mixed> $params
1565
+	 *
1566
+	 * @return static
1567
+	 */
1568
+	public function endOf($unit, ...$params);
1569
+
1570
+	/**
1571
+	 * Resets the date to end of the century and time to 23:59:59.999999
1572
+	 *
1573
+	 * @example
1574
+	 * ```
1575
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfCentury();
1576
+	 * ```
1577
+	 *
1578
+	 * @return static
1579
+	 */
1580
+	public function endOfCentury();
1581
+
1582
+	/**
1583
+	 * Resets the time to 23:59:59.999999 end of day
1584
+	 *
1585
+	 * @example
1586
+	 * ```
1587
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfDay();
1588
+	 * ```
1589
+	 *
1590
+	 * @return static
1591
+	 */
1592
+	public function endOfDay();
1593
+
1594
+	/**
1595
+	 * Resets the date to end of the decade and time to 23:59:59.999999
1596
+	 *
1597
+	 * @example
1598
+	 * ```
1599
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfDecade();
1600
+	 * ```
1601
+	 *
1602
+	 * @return static
1603
+	 */
1604
+	public function endOfDecade();
1605
+
1606
+	/**
1607
+	 * Modify to end of current hour, minutes and seconds become 59
1608
+	 *
1609
+	 * @example
1610
+	 * ```
1611
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfHour();
1612
+	 * ```
1613
+	 *
1614
+	 * @return static
1615
+	 */
1616
+	public function endOfHour();
1617
+
1618
+	/**
1619
+	 * Resets the date to end of the millennium and time to 23:59:59.999999
1620
+	 *
1621
+	 * @example
1622
+	 * ```
1623
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfMillennium();
1624
+	 * ```
1625
+	 *
1626
+	 * @return static
1627
+	 */
1628
+	public function endOfMillennium();
1629
+
1630
+	/**
1631
+	 * Modify to end of current minute, seconds become 59
1632
+	 *
1633
+	 * @example
1634
+	 * ```
1635
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfMinute();
1636
+	 * ```
1637
+	 *
1638
+	 * @return static
1639
+	 */
1640
+	public function endOfMinute();
1641
+
1642
+	/**
1643
+	 * Resets the date to end of the month and time to 23:59:59.999999
1644
+	 *
1645
+	 * @example
1646
+	 * ```
1647
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfMonth();
1648
+	 * ```
1649
+	 *
1650
+	 * @return static
1651
+	 */
1652
+	public function endOfMonth();
1653
+
1654
+	/**
1655
+	 * Resets the date to end of the quarter and time to 23:59:59.999999
1656
+	 *
1657
+	 * @example
1658
+	 * ```
1659
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfQuarter();
1660
+	 * ```
1661
+	 *
1662
+	 * @return static
1663
+	 */
1664
+	public function endOfQuarter();
1665
+
1666
+	/**
1667
+	 * Modify to end of current second, microseconds become 999999
1668
+	 *
1669
+	 * @example
1670
+	 * ```
1671
+	 * echo Carbon::parse('2018-07-25 12:45:16.334455')
1672
+	 *   ->endOfSecond()
1673
+	 *   ->format('H:i:s.u');
1674
+	 * ```
1675
+	 *
1676
+	 * @return static
1677
+	 */
1678
+	public function endOfSecond();
1679
+
1680
+	/**
1681
+	 * Resets the date to end of week (defined in $weekEndsAt) and time to 23:59:59.999999
1682
+	 *
1683
+	 * @example
1684
+	 * ```
1685
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek() . "\n";
1686
+	 * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->endOfWeek() . "\n";
1687
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek(Carbon::SATURDAY) . "\n";
1688
+	 * ```
1689
+	 *
1690
+	 * @param int $weekEndsAt optional start allow you to specify the day of week to use to end the week
1691
+	 *
1692
+	 * @return static
1693
+	 */
1694
+	public function endOfWeek($weekEndsAt = null);
1695
+
1696
+	/**
1697
+	 * Resets the date to end of the year and time to 23:59:59.999999
1698
+	 *
1699
+	 * @example
1700
+	 * ```
1701
+	 * echo Carbon::parse('2018-07-25 12:45:16')->endOfYear();
1702
+	 * ```
1703
+	 *
1704
+	 * @return static
1705
+	 */
1706
+	public function endOfYear();
1707
+
1708
+	/**
1709
+	 * Determines if the instance is equal to another
1710
+	 *
1711
+	 * @example
1712
+	 * ```
1713
+	 * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:16'); // true
1714
+	 * Carbon::parse('2018-07-25 12:45:16')->eq(Carbon::parse('2018-07-25 12:45:16')); // true
1715
+	 * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:17'); // false
1716
+	 * ```
1717
+	 *
1718
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
1719
+	 *
1720
+	 * @see equalTo()
1721
+	 *
1722
+	 * @return bool
1723
+	 */
1724
+	public function eq($date): bool;
1725
+
1726
+	/**
1727
+	 * Determines if the instance is equal to another
1728
+	 *
1729
+	 * @example
1730
+	 * ```
1731
+	 * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:16'); // true
1732
+	 * Carbon::parse('2018-07-25 12:45:16')->equalTo(Carbon::parse('2018-07-25 12:45:16')); // true
1733
+	 * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:17'); // false
1734
+	 * ```
1735
+	 *
1736
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
1737
+	 *
1738
+	 * @return bool
1739
+	 */
1740
+	public function equalTo($date): bool;
1741
+
1742
+	/**
1743
+	 * Set the current locale to the given, execute the passed function, reset the locale to previous one,
1744
+	 * then return the result of the closure (or null if the closure was void).
1745
+	 *
1746
+	 * @param string   $locale locale ex. en
1747
+	 * @param callable $func
1748
+	 *
1749
+	 * @return mixed
1750
+	 */
1751
+	public static function executeWithLocale($locale, $func);
1752
+
1753
+	/**
1754
+	 * Get the farthest date from the instance (second-precision).
1755
+	 *
1756
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
1757
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
1758
+	 *
1759
+	 * @return static
1760
+	 */
1761
+	public function farthest($date1, $date2);
1762
+
1763
+	/**
1764
+	 * Modify to the first occurrence of a given day of the week
1765
+	 * in the current month. If no dayOfWeek is provided, modify to the
1766
+	 * first day of the current month.  Use the supplied constants
1767
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
1768
+	 *
1769
+	 * @param int|null $dayOfWeek
1770
+	 *
1771
+	 * @return static
1772
+	 */
1773
+	public function firstOfMonth($dayOfWeek = null);
1774
+
1775
+	/**
1776
+	 * Modify to the first occurrence of a given day of the week
1777
+	 * in the current quarter. If no dayOfWeek is provided, modify to the
1778
+	 * first day of the current quarter.  Use the supplied constants
1779
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
1780
+	 *
1781
+	 * @param int|null $dayOfWeek day of the week default null
1782
+	 *
1783
+	 * @return static
1784
+	 */
1785
+	public function firstOfQuarter($dayOfWeek = null);
1786
+
1787
+	/**
1788
+	 * Modify to the first occurrence of a given day of the week
1789
+	 * in the current year. If no dayOfWeek is provided, modify to the
1790
+	 * first day of the current year.  Use the supplied constants
1791
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
1792
+	 *
1793
+	 * @param int|null $dayOfWeek day of the week default null
1794
+	 *
1795
+	 * @return static
1796
+	 */
1797
+	public function firstOfYear($dayOfWeek = null);
1798
+
1799
+	/**
1800
+	 * Get the difference in days as float (microsecond-precision).
1801
+	 *
1802
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1803
+	 * @param bool                                                   $absolute Get the absolute of the difference
1804
+	 *
1805
+	 * @return float
1806
+	 */
1807
+	public function floatDiffInDays($date = null, $absolute = true);
1808
+
1809
+	/**
1810
+	 * Get the difference in hours as float (microsecond-precision).
1811
+	 *
1812
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1813
+	 * @param bool                                                   $absolute Get the absolute of the difference
1814
+	 *
1815
+	 * @return float
1816
+	 */
1817
+	public function floatDiffInHours($date = null, $absolute = true);
1818
+
1819
+	/**
1820
+	 * Get the difference in minutes as float (microsecond-precision).
1821
+	 *
1822
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1823
+	 * @param bool                                                   $absolute Get the absolute of the difference
1824
+	 *
1825
+	 * @return float
1826
+	 */
1827
+	public function floatDiffInMinutes($date = null, $absolute = true);
1828
+
1829
+	/**
1830
+	 * Get the difference in months as float (microsecond-precision).
1831
+	 *
1832
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1833
+	 * @param bool                                                   $absolute Get the absolute of the difference
1834
+	 *
1835
+	 * @return float
1836
+	 */
1837
+	public function floatDiffInMonths($date = null, $absolute = true);
1838
+
1839
+	/**
1840
+	 * Get the difference in days as float (microsecond-precision).
1841
+	 *
1842
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1843
+	 * @param bool                                                   $absolute Get the absolute of the difference
1844
+	 *
1845
+	 * @return float
1846
+	 */
1847
+	public function floatDiffInRealDays($date = null, $absolute = true);
1848
+
1849
+	/**
1850
+	 * Get the difference in hours as float (microsecond-precision) using timestamps.
1851
+	 *
1852
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1853
+	 * @param bool                                                   $absolute Get the absolute of the difference
1854
+	 *
1855
+	 * @return float
1856
+	 */
1857
+	public function floatDiffInRealHours($date = null, $absolute = true);
1858
+
1859
+	/**
1860
+	 * Get the difference in minutes as float (microsecond-precision) using timestamps.
1861
+	 *
1862
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1863
+	 * @param bool                                                   $absolute Get the absolute of the difference
1864
+	 *
1865
+	 * @return float
1866
+	 */
1867
+	public function floatDiffInRealMinutes($date = null, $absolute = true);
1868
+
1869
+	/**
1870
+	 * Get the difference in months as float (microsecond-precision) using timestamps.
1871
+	 *
1872
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1873
+	 * @param bool                                                   $absolute Get the absolute of the difference
1874
+	 *
1875
+	 * @return float
1876
+	 */
1877
+	public function floatDiffInRealMonths($date = null, $absolute = true);
1878
+
1879
+	/**
1880
+	 * Get the difference in seconds as float (microsecond-precision) using timestamps.
1881
+	 *
1882
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1883
+	 * @param bool                                                   $absolute Get the absolute of the difference
1884
+	 *
1885
+	 * @return float
1886
+	 */
1887
+	public function floatDiffInRealSeconds($date = null, $absolute = true);
1888
+
1889
+	/**
1890
+	 * Get the difference in weeks as float (microsecond-precision).
1891
+	 *
1892
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1893
+	 * @param bool                                                   $absolute Get the absolute of the difference
1894
+	 *
1895
+	 * @return float
1896
+	 */
1897
+	public function floatDiffInRealWeeks($date = null, $absolute = true);
1898
+
1899
+	/**
1900
+	 * Get the difference in year as float (microsecond-precision) using timestamps.
1901
+	 *
1902
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1903
+	 * @param bool                                                   $absolute Get the absolute of the difference
1904
+	 *
1905
+	 * @return float
1906
+	 */
1907
+	public function floatDiffInRealYears($date = null, $absolute = true);
1908
+
1909
+	/**
1910
+	 * Get the difference in seconds as float (microsecond-precision).
1911
+	 *
1912
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1913
+	 * @param bool                                                   $absolute Get the absolute of the difference
1914
+	 *
1915
+	 * @return float
1916
+	 */
1917
+	public function floatDiffInSeconds($date = null, $absolute = true);
1918
+
1919
+	/**
1920
+	 * Get the difference in weeks as float (microsecond-precision).
1921
+	 *
1922
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1923
+	 * @param bool                                                   $absolute Get the absolute of the difference
1924
+	 *
1925
+	 * @return float
1926
+	 */
1927
+	public function floatDiffInWeeks($date = null, $absolute = true);
1928
+
1929
+	/**
1930
+	 * Get the difference in year as float (microsecond-precision).
1931
+	 *
1932
+	 * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
1933
+	 * @param bool                                                   $absolute Get the absolute of the difference
1934
+	 *
1935
+	 * @return float
1936
+	 */
1937
+	public function floatDiffInYears($date = null, $absolute = true);
1938
+
1939
+	/**
1940
+	 * Round the current instance second with given precision if specified.
1941
+	 *
1942
+	 * @param float|int|string|\DateInterval|null $precision
1943
+	 *
1944
+	 * @return CarbonInterface
1945
+	 */
1946
+	public function floor($precision = 1);
1947
+
1948
+	/**
1949
+	 * Truncate the current instance at the given unit with given precision if specified.
1950
+	 *
1951
+	 * @param string    $unit
1952
+	 * @param float|int $precision
1953
+	 *
1954
+	 * @return CarbonInterface
1955
+	 */
1956
+	public function floorUnit($unit, $precision = 1);
1957
+
1958
+	/**
1959
+	 * Truncate the current instance week.
1960
+	 *
1961
+	 * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
1962
+	 *
1963
+	 * @return CarbonInterface
1964
+	 */
1965
+	public function floorWeek($weekStartsAt = null);
1966
+
1967
+	/**
1968
+	 * Format the instance with the current locale.  You can set the current
1969
+	 * locale using setlocale() https://php.net/setlocale.
1970
+	 *
1971
+	 * @deprecated It uses OS language package and strftime() which is deprecated since PHP 8.1.
1972
+	 *             Use ->isoFormat() instead.
1973
+	 *             Deprecated since 2.55.0
1974
+	 *
1975
+	 * @param string $format
1976
+	 *
1977
+	 * @return string
1978
+	 */
1979
+	public function formatLocalized($format);
1980
+
1981
+	/**
1982
+	 * @alias diffForHumans
1983
+	 *
1984
+	 * Get the difference in a human readable format in the current locale from current instance to an other
1985
+	 * instance given (or now if null given).
1986
+	 *
1987
+	 * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
1988
+	 *                                                             if null passed, now will be used as comparison reference;
1989
+	 *                                                             if any other type, it will be converted to date and used as reference.
1990
+	 * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
1991
+	 *                                                             - 'syntax' entry (see below)
1992
+	 *                                                             - 'short' entry (see below)
1993
+	 *                                                             - 'parts' entry (see below)
1994
+	 *                                                             - 'options' entry (see below)
1995
+	 *                                                             - 'join' entry determines how to join multiple parts of the string
1996
+	 *                                                             `  - if $join is a string, it's used as a joiner glue
1997
+	 *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
1998
+	 *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
1999
+	 *                                                             `    will be used instead of the glue for the last item
2000
+	 *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
2001
+	 *                                                             `  - if $join is missing, a space will be used as glue
2002
+	 *                                                             - 'other' entry (see above)
2003
+	 *                                                             if int passed, it add modifiers:
2004
+	 *                                                             Possible values:
2005
+	 *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
2006
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
2007
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
2008
+	 *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
2009
+	 * @param bool                                        $short   displays short format of time units
2010
+	 * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
2011
+	 * @param int                                         $options human diff options
2012
+	 *
2013
+	 * @return string
2014
+	 */
2015
+	public function from($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
2016
+
2017
+	/**
2018
+	 * Get the difference in a human readable format in the current locale from current
2019
+	 * instance to now.
2020
+	 *
2021
+	 * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
2022
+	 *                           - 'syntax' entry (see below)
2023
+	 *                           - 'short' entry (see below)
2024
+	 *                           - 'parts' entry (see below)
2025
+	 *                           - 'options' entry (see below)
2026
+	 *                           - 'join' entry determines how to join multiple parts of the string
2027
+	 *                           `  - if $join is a string, it's used as a joiner glue
2028
+	 *                           `  - if $join is a callable/closure, it get the list of string and should return a string
2029
+	 *                           `  - if $join is an array, the first item will be the default glue, and the second item
2030
+	 *                           `    will be used instead of the glue for the last item
2031
+	 *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
2032
+	 *                           `  - if $join is missing, a space will be used as glue
2033
+	 *                           if int passed, it add modifiers:
2034
+	 *                           Possible values:
2035
+	 *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
2036
+	 *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
2037
+	 *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
2038
+	 *                           Default value: CarbonInterface::DIFF_ABSOLUTE
2039
+	 * @param bool      $short   displays short format of time units
2040
+	 * @param int       $parts   maximum number of parts to display (default value: 1: single unit)
2041
+	 * @param int       $options human diff options
2042
+	 *
2043
+	 * @return string
2044
+	 */
2045
+	public function fromNow($syntax = null, $short = false, $parts = 1, $options = null);
2046
+
2047
+	/**
2048
+	 * Create an instance from a serialized string.
2049
+	 *
2050
+	 * @param string $value
2051
+	 *
2052
+	 * @throws InvalidFormatException
2053
+	 *
2054
+	 * @return static
2055
+	 */
2056
+	public static function fromSerialized($value);
2057
+
2058
+	/**
2059
+	 * Register a custom macro.
2060
+	 *
2061
+	 * @param object|callable $macro
2062
+	 * @param int             $priority marco with higher priority is tried first
2063
+	 *
2064
+	 * @return void
2065
+	 */
2066
+	public static function genericMacro($macro, $priority = 0);
2067
+
2068
+	/**
2069
+	 * Get a part of the Carbon object
2070
+	 *
2071
+	 * @param string $name
2072
+	 *
2073
+	 * @throws UnknownGetterException
2074
+	 *
2075
+	 * @return string|int|bool|DateTimeZone|null
2076
+	 */
2077
+	public function get($name);
2078
+
2079
+	/**
2080
+	 * Returns the alternative number for a given date property if available in the current locale.
2081
+	 *
2082
+	 * @param string $key date property
2083
+	 *
2084
+	 * @return string
2085
+	 */
2086
+	public function getAltNumber(string $key): string;
2087
+
2088
+	/**
2089
+	 * Returns the list of internally available locales and already loaded custom locales.
2090
+	 * (It will ignore custom translator dynamic loading.)
2091
+	 *
2092
+	 * @return array
2093
+	 */
2094
+	public static function getAvailableLocales();
2095
+
2096
+	/**
2097
+	 * Returns list of Language object for each available locale. This object allow you to get the ISO name, native
2098
+	 * name, region and variant of the locale.
2099
+	 *
2100
+	 * @return Language[]
2101
+	 */
2102
+	public static function getAvailableLocalesInfo();
2103
+
2104
+	/**
2105
+	 * Returns list of calendar formats for ISO formatting.
2106
+	 *
2107
+	 * @param string|null $locale current locale used if null
2108
+	 *
2109
+	 * @return array
2110
+	 */
2111
+	public function getCalendarFormats($locale = null);
2112
+
2113
+	/**
2114
+	 * Get the days of the week
2115
+	 *
2116
+	 * @return array
2117
+	 */
2118
+	public static function getDays();
2119
+
2120
+	/**
2121
+	 * Get the fallback locale.
2122
+	 *
2123
+	 * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
2124
+	 *
2125
+	 * @return string|null
2126
+	 */
2127
+	public static function getFallbackLocale();
2128
+
2129
+	/**
2130
+	 * List of replacements from date() format to isoFormat().
2131
+	 *
2132
+	 * @return array
2133
+	 */
2134
+	public static function getFormatsToIsoReplacements();
2135
+
2136
+	/**
2137
+	 * Return default humanDiff() options (merged flags as integer).
2138
+	 *
2139
+	 * @return int
2140
+	 */
2141
+	public static function getHumanDiffOptions();
2142
+
2143
+	/**
2144
+	 * Returns list of locale formats for ISO formatting.
2145
+	 *
2146
+	 * @param string|null $locale current locale used if null
2147
+	 *
2148
+	 * @return array
2149
+	 */
2150
+	public function getIsoFormats($locale = null);
2151
+
2152
+	/**
2153
+	 * Returns list of locale units for ISO formatting.
2154
+	 *
2155
+	 * @return array
2156
+	 */
2157
+	public static function getIsoUnits();
2158
+
2159
+	/**
2160
+	 * {@inheritdoc}
2161
+	 *
2162
+	 * @return array
2163
+	 */
2164
+	#[ReturnTypeWillChange]
2165
+	public static function getLastErrors();
2166
+
2167
+	/**
2168
+	 * Get the raw callable macro registered globally or locally for a given name.
2169
+	 *
2170
+	 * @param string $name
2171
+	 *
2172
+	 * @return callable|null
2173
+	 */
2174
+	public function getLocalMacro($name);
2175
+
2176
+	/**
2177
+	 * Get the translator of the current instance or the default if none set.
2178
+	 *
2179
+	 * @return \Symfony\Component\Translation\TranslatorInterface
2180
+	 */
2181
+	public function getLocalTranslator();
2182
+
2183
+	/**
2184
+	 * Get the current translator locale.
2185
+	 *
2186
+	 * @return string
2187
+	 */
2188
+	public static function getLocale();
2189
+
2190
+	/**
2191
+	 * Get the raw callable macro registered globally for a given name.
2192
+	 *
2193
+	 * @param string $name
2194
+	 *
2195
+	 * @return callable|null
2196
+	 */
2197
+	public static function getMacro($name);
2198
+
2199
+	/**
2200
+	 * get midday/noon hour
2201
+	 *
2202
+	 * @return int
2203
+	 */
2204
+	public static function getMidDayAt();
2205
+
2206
+	/**
2207
+	 * Returns the offset hour and minute formatted with +/- and a given separator (":" by default).
2208
+	 * For example, if the time zone is 9 hours 30 minutes, you'll get "+09:30", with "@@" as first
2209
+	 * argument, "+09@@30", with "" as first argument, "+0930". Negative offset will return something
2210
+	 * like "-12:00".
2211
+	 *
2212
+	 * @param string $separator string to place between hours and minutes (":" by default)
2213
+	 *
2214
+	 * @return string
2215
+	 */
2216
+	public function getOffsetString($separator = ':');
2217
+
2218
+	/**
2219
+	 * Returns a unit of the instance padded with 0 by default or any other string if specified.
2220
+	 *
2221
+	 * @param string $unit      Carbon unit name
2222
+	 * @param int    $length    Length of the output (2 by default)
2223
+	 * @param string $padString String to use for padding ("0" by default)
2224
+	 * @param int    $padType   Side(s) to pad (STR_PAD_LEFT by default)
2225
+	 *
2226
+	 * @return string
2227
+	 */
2228
+	public function getPaddedUnit($unit, $length = 2, $padString = '0', $padType = 0);
2229
+
2230
+	/**
2231
+	 * Returns a timestamp rounded with the given precision (6 by default).
2232
+	 *
2233
+	 * @example getPreciseTimestamp()   1532087464437474 (microsecond maximum precision)
2234
+	 * @example getPreciseTimestamp(6)  1532087464437474
2235
+	 * @example getPreciseTimestamp(5)  153208746443747  (1/100000 second precision)
2236
+	 * @example getPreciseTimestamp(4)  15320874644375   (1/10000 second precision)
2237
+	 * @example getPreciseTimestamp(3)  1532087464437    (millisecond precision)
2238
+	 * @example getPreciseTimestamp(2)  153208746444     (1/100 second precision)
2239
+	 * @example getPreciseTimestamp(1)  15320874644      (1/10 second precision)
2240
+	 * @example getPreciseTimestamp(0)  1532087464       (second precision)
2241
+	 * @example getPreciseTimestamp(-1) 153208746        (10 second precision)
2242
+	 * @example getPreciseTimestamp(-2) 15320875         (100 second precision)
2243
+	 *
2244
+	 * @param int $precision
2245
+	 *
2246
+	 * @return float
2247
+	 */
2248
+	public function getPreciseTimestamp($precision = 6);
2249
+
2250
+	/**
2251
+	 * Returns current local settings.
2252
+	 *
2253
+	 * @return array
2254
+	 */
2255
+	public function getSettings();
2256
+
2257
+	/**
2258
+	 * Get the Carbon instance (real or mock) to be returned when a "now"
2259
+	 * instance is created.
2260
+	 *
2261
+	 * @return Closure|static the current instance used for testing
2262
+	 */
2263
+	public static function getTestNow();
2264
+
2265
+	/**
2266
+	 * Return a format from H:i to H:i:s.u according to given unit precision.
2267
+	 *
2268
+	 * @param string $unitPrecision "minute", "second", "millisecond" or "microsecond"
2269
+	 *
2270
+	 * @return string
2271
+	 */
2272
+	public static function getTimeFormatByPrecision($unitPrecision);
2273
+
2274
+	/**
2275
+	 * Returns the timestamp with millisecond precision.
2276
+	 *
2277
+	 * @return int
2278
+	 */
2279
+	public function getTimestampMs();
2280
+
2281
+	/**
2282
+	 * Get the translation of the current week day name (with context for languages with multiple forms).
2283
+	 *
2284
+	 * @param string|null $context      whole format string
2285
+	 * @param string      $keySuffix    "", "_short" or "_min"
2286
+	 * @param string|null $defaultValue default value if translation missing
2287
+	 *
2288
+	 * @return string
2289
+	 */
2290
+	public function getTranslatedDayName($context = null, $keySuffix = '', $defaultValue = null);
2291
+
2292
+	/**
2293
+	 * Get the translation of the current abbreviated week day name (with context for languages with multiple forms).
2294
+	 *
2295
+	 * @param string|null $context whole format string
2296
+	 *
2297
+	 * @return string
2298
+	 */
2299
+	public function getTranslatedMinDayName($context = null);
2300
+
2301
+	/**
2302
+	 * Get the translation of the current month day name (with context for languages with multiple forms).
2303
+	 *
2304
+	 * @param string|null $context      whole format string
2305
+	 * @param string      $keySuffix    "" or "_short"
2306
+	 * @param string|null $defaultValue default value if translation missing
2307
+	 *
2308
+	 * @return string
2309
+	 */
2310
+	public function getTranslatedMonthName($context = null, $keySuffix = '', $defaultValue = null);
2311
+
2312
+	/**
2313
+	 * Get the translation of the current short week day name (with context for languages with multiple forms).
2314
+	 *
2315
+	 * @param string|null $context whole format string
2316
+	 *
2317
+	 * @return string
2318
+	 */
2319
+	public function getTranslatedShortDayName($context = null);
2320
+
2321
+	/**
2322
+	 * Get the translation of the current short month day name (with context for languages with multiple forms).
2323
+	 *
2324
+	 * @param string|null $context whole format string
2325
+	 *
2326
+	 * @return string
2327
+	 */
2328
+	public function getTranslatedShortMonthName($context = null);
2329
+
2330
+	/**
2331
+	 * Returns raw translation message for a given key.
2332
+	 *
2333
+	 * @param string                                             $key        key to find
2334
+	 * @param string|null                                        $locale     current locale used if null
2335
+	 * @param string|null                                        $default    default value if translation returns the key
2336
+	 * @param \Symfony\Component\Translation\TranslatorInterface $translator an optional translator to use
2337
+	 *
2338
+	 * @return string
2339
+	 */
2340
+	public function getTranslationMessage(string $key, ?string $locale = null, ?string $default = null, $translator = null);
2341
+
2342
+	/**
2343
+	 * Returns raw translation message for a given key.
2344
+	 *
2345
+	 * @param \Symfony\Component\Translation\TranslatorInterface $translator the translator to use
2346
+	 * @param string                                             $key        key to find
2347
+	 * @param string|null                                        $locale     current locale used if null
2348
+	 * @param string|null                                        $default    default value if translation returns the key
2349
+	 *
2350
+	 * @return string
2351
+	 */
2352
+	public static function getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null);
2353
+
2354
+	/**
2355
+	 * Get the default translator instance in use.
2356
+	 *
2357
+	 * @return \Symfony\Component\Translation\TranslatorInterface
2358
+	 */
2359
+	public static function getTranslator();
2360
+
2361
+	/**
2362
+	 * Get the last day of week
2363
+	 *
2364
+	 * @return int
2365
+	 */
2366
+	public static function getWeekEndsAt();
2367
+
2368
+	/**
2369
+	 * Get the first day of week
2370
+	 *
2371
+	 * @return int
2372
+	 */
2373
+	public static function getWeekStartsAt();
2374
+
2375
+	/**
2376
+	 * Get weekend days
2377
+	 *
2378
+	 * @return array
2379
+	 */
2380
+	public static function getWeekendDays();
2381
+
2382
+	/**
2383
+	 * Determines if the instance is greater (after) than another
2384
+	 *
2385
+	 * @example
2386
+	 * ```
2387
+	 * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:15'); // true
2388
+	 * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:16'); // false
2389
+	 * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:17'); // false
2390
+	 * ```
2391
+	 *
2392
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2393
+	 *
2394
+	 * @return bool
2395
+	 */
2396
+	public function greaterThan($date): bool;
2397
+
2398
+	/**
2399
+	 * Determines if the instance is greater (after) than or equal to another
2400
+	 *
2401
+	 * @example
2402
+	 * ```
2403
+	 * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:15'); // true
2404
+	 * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:16'); // true
2405
+	 * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:17'); // false
2406
+	 * ```
2407
+	 *
2408
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2409
+	 *
2410
+	 * @return bool
2411
+	 */
2412
+	public function greaterThanOrEqualTo($date): bool;
2413
+
2414
+	/**
2415
+	 * Determines if the instance is greater (after) than another
2416
+	 *
2417
+	 * @example
2418
+	 * ```
2419
+	 * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:15'); // true
2420
+	 * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:16'); // false
2421
+	 * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:17'); // false
2422
+	 * ```
2423
+	 *
2424
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2425
+	 *
2426
+	 * @see greaterThan()
2427
+	 *
2428
+	 * @return bool
2429
+	 */
2430
+	public function gt($date): bool;
2431
+
2432
+	/**
2433
+	 * Determines if the instance is greater (after) than or equal to another
2434
+	 *
2435
+	 * @example
2436
+	 * ```
2437
+	 * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:15'); // true
2438
+	 * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:16'); // true
2439
+	 * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:17'); // false
2440
+	 * ```
2441
+	 *
2442
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2443
+	 *
2444
+	 * @see greaterThanOrEqualTo()
2445
+	 *
2446
+	 * @return bool
2447
+	 */
2448
+	public function gte($date): bool;
2449
+
2450
+	/**
2451
+	 * Checks if the (date)time string is in a given format.
2452
+	 *
2453
+	 * @example
2454
+	 * ```
2455
+	 * Carbon::hasFormat('11:12:45', 'h:i:s'); // true
2456
+	 * Carbon::hasFormat('13:12:45', 'h:i:s'); // false
2457
+	 * ```
2458
+	 *
2459
+	 * @param string $date
2460
+	 * @param string $format
2461
+	 *
2462
+	 * @return bool
2463
+	 */
2464
+	public static function hasFormat($date, $format);
2465
+
2466
+	/**
2467
+	 * Checks if the (date)time string is in a given format.
2468
+	 *
2469
+	 * @example
2470
+	 * ```
2471
+	 * Carbon::hasFormatWithModifiers('31/08/2015', 'd#m#Y'); // true
2472
+	 * Carbon::hasFormatWithModifiers('31/08/2015', 'm#d#Y'); // false
2473
+	 * ```
2474
+	 *
2475
+	 * @param string $date
2476
+	 * @param string $format
2477
+	 *
2478
+	 * @return bool
2479
+	 */
2480
+	public static function hasFormatWithModifiers($date, $format): bool;
2481
+
2482
+	/**
2483
+	 * Checks if macro is registered globally or locally.
2484
+	 *
2485
+	 * @param string $name
2486
+	 *
2487
+	 * @return bool
2488
+	 */
2489
+	public function hasLocalMacro($name);
2490
+
2491
+	/**
2492
+	 * Return true if the current instance has its own translator.
2493
+	 *
2494
+	 * @return bool
2495
+	 */
2496
+	public function hasLocalTranslator();
2497
+
2498
+	/**
2499
+	 * Checks if macro is registered globally.
2500
+	 *
2501
+	 * @param string $name
2502
+	 *
2503
+	 * @return bool
2504
+	 */
2505
+	public static function hasMacro($name);
2506
+
2507
+	/**
2508
+	 * Determine if a time string will produce a relative date.
2509
+	 *
2510
+	 * @param string $time
2511
+	 *
2512
+	 * @return bool true if time match a relative date, false if absolute or invalid time string
2513
+	 */
2514
+	public static function hasRelativeKeywords($time);
2515
+
2516
+	/**
2517
+	 * Determine if there is a valid test instance set. A valid test instance
2518
+	 * is anything that is not null.
2519
+	 *
2520
+	 * @return bool true if there is a test instance, otherwise false
2521
+	 */
2522
+	public static function hasTestNow();
2523
+
2524
+	/**
2525
+	 * Create a Carbon instance from a DateTime one.
2526
+	 *
2527
+	 * @param DateTimeInterface $date
2528
+	 *
2529
+	 * @return static
2530
+	 */
2531
+	public static function instance($date);
2532
+
2533
+	/**
2534
+	 * Returns true if the current date matches the given string.
2535
+	 *
2536
+	 * @example
2537
+	 * ```
2538
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019')); // true
2539
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2018')); // false
2540
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06')); // true
2541
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('06-02')); // true
2542
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06-02')); // true
2543
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); // true
2544
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('June')); // true
2545
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); // true
2546
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:45')); // true
2547
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:00')); // false
2548
+	 * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12h')); // true
2549
+	 * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3pm')); // true
2550
+	 * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3am')); // false
2551
+	 * ```
2552
+	 *
2553
+	 * @param string $tester day name, month name, hour, date, etc. as string
2554
+	 *
2555
+	 * @return bool
2556
+	 */
2557
+	public function is(string $tester);
2558
+
2559
+	/**
2560
+	 * Determines if the instance is greater (after) than another
2561
+	 *
2562
+	 * @example
2563
+	 * ```
2564
+	 * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:15'); // true
2565
+	 * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:16'); // false
2566
+	 * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:17'); // false
2567
+	 * ```
2568
+	 *
2569
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2570
+	 *
2571
+	 * @see greaterThan()
2572
+	 *
2573
+	 * @return bool
2574
+	 */
2575
+	public function isAfter($date): bool;
2576
+
2577
+	/**
2578
+	 * Determines if the instance is less (before) than another
2579
+	 *
2580
+	 * @example
2581
+	 * ```
2582
+	 * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:15'); // false
2583
+	 * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:16'); // false
2584
+	 * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:17'); // true
2585
+	 * ```
2586
+	 *
2587
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
2588
+	 *
2589
+	 * @see lessThan()
2590
+	 *
2591
+	 * @return bool
2592
+	 */
2593
+	public function isBefore($date): bool;
2594
+
2595
+	/**
2596
+	 * Determines if the instance is between two others
2597
+	 *
2598
+	 * @example
2599
+	 * ```
2600
+	 * Carbon::parse('2018-07-25')->isBetween('2018-07-14', '2018-08-01'); // true
2601
+	 * Carbon::parse('2018-07-25')->isBetween('2018-08-01', '2018-08-20'); // false
2602
+	 * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01'); // true
2603
+	 * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01', false); // false
2604
+	 * ```
2605
+	 *
2606
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
2607
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
2608
+	 * @param bool                                    $equal Indicates if an equal to comparison should be done
2609
+	 *
2610
+	 * @return bool
2611
+	 */
2612
+	public function isBetween($date1, $date2, $equal = true): bool;
2613
+
2614
+	/**
2615
+	 * Check if its the birthday. Compares the date/month values of the two dates.
2616
+	 *
2617
+	 * @example
2618
+	 * ```
2619
+	 * Carbon::now()->subYears(5)->isBirthday(); // true
2620
+	 * Carbon::now()->subYears(5)->subDay()->isBirthday(); // false
2621
+	 * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-05')); // true
2622
+	 * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-06')); // false
2623
+	 * ```
2624
+	 *
2625
+	 * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use current day.
2626
+	 *
2627
+	 * @return bool
2628
+	 */
2629
+	public function isBirthday($date = null);
2630
+
2631
+	/**
2632
+	 * Determines if the instance is in the current unit given.
2633
+	 *
2634
+	 * @example
2635
+	 * ```
2636
+	 * Carbon::now()->isCurrentUnit('hour'); // true
2637
+	 * Carbon::now()->subHours(2)->isCurrentUnit('hour'); // false
2638
+	 * ```
2639
+	 *
2640
+	 * @param string $unit The unit to test.
2641
+	 *
2642
+	 * @throws BadMethodCallException
2643
+	 *
2644
+	 * @return bool
2645
+	 */
2646
+	public function isCurrentUnit($unit);
2647
+
2648
+	/**
2649
+	 * Checks if this day is a specific day of the week.
2650
+	 *
2651
+	 * @example
2652
+	 * ```
2653
+	 * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::WEDNESDAY); // true
2654
+	 * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::FRIDAY); // false
2655
+	 * Carbon::parse('2019-07-17')->isDayOfWeek('Wednesday'); // true
2656
+	 * Carbon::parse('2019-07-17')->isDayOfWeek('Friday'); // false
2657
+	 * ```
2658
+	 *
2659
+	 * @param int $dayOfWeek
2660
+	 *
2661
+	 * @return bool
2662
+	 */
2663
+	public function isDayOfWeek($dayOfWeek);
2664
+
2665
+	/**
2666
+	 * Check if the instance is end of day.
2667
+	 *
2668
+	 * @example
2669
+	 * ```
2670
+	 * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(); // true
2671
+	 * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(); // true
2672
+	 * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(); // true
2673
+	 * Carbon::parse('2019-02-28 23:59:58.999999')->isEndOfDay(); // false
2674
+	 * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(true); // true
2675
+	 * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(true); // false
2676
+	 * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(true); // false
2677
+	 * ```
2678
+	 *
2679
+	 * @param bool $checkMicroseconds check time at microseconds precision
2680
+	 *
2681
+	 * @return bool
2682
+	 */
2683
+	public function isEndOfDay($checkMicroseconds = false);
2684
+
2685
+	/**
2686
+	 * Returns true if the date was created using CarbonImmutable::endOfTime()
2687
+	 *
2688
+	 * @return bool
2689
+	 */
2690
+	public function isEndOfTime(): bool;
2691
+
2692
+	/**
2693
+	 * Determines if the instance is in the future, ie. greater (after) than now.
2694
+	 *
2695
+	 * @example
2696
+	 * ```
2697
+	 * Carbon::now()->addHours(5)->isFuture(); // true
2698
+	 * Carbon::now()->subHours(5)->isFuture(); // false
2699
+	 * ```
2700
+	 *
2701
+	 * @return bool
2702
+	 */
2703
+	public function isFuture();
2704
+
2705
+	/**
2706
+	 * Returns true if the current class/instance is immutable.
2707
+	 *
2708
+	 * @return bool
2709
+	 */
2710
+	public static function isImmutable();
2711
+
2712
+	/**
2713
+	 * Check if today is the last day of the Month
2714
+	 *
2715
+	 * @example
2716
+	 * ```
2717
+	 * Carbon::parse('2019-02-28')->isLastOfMonth(); // true
2718
+	 * Carbon::parse('2019-03-28')->isLastOfMonth(); // false
2719
+	 * Carbon::parse('2019-03-30')->isLastOfMonth(); // false
2720
+	 * Carbon::parse('2019-03-31')->isLastOfMonth(); // true
2721
+	 * Carbon::parse('2019-04-30')->isLastOfMonth(); // true
2722
+	 * ```
2723
+	 *
2724
+	 * @return bool
2725
+	 */
2726
+	public function isLastOfMonth();
2727
+
2728
+	/**
2729
+	 * Determines if the instance is a leap year.
2730
+	 *
2731
+	 * @example
2732
+	 * ```
2733
+	 * Carbon::parse('2020-01-01')->isLeapYear(); // true
2734
+	 * Carbon::parse('2019-01-01')->isLeapYear(); // false
2735
+	 * ```
2736
+	 *
2737
+	 * @return bool
2738
+	 */
2739
+	public function isLeapYear();
2740
+
2741
+	/**
2742
+	 * Determines if the instance is a long year
2743
+	 *
2744
+	 * @example
2745
+	 * ```
2746
+	 * Carbon::parse('2015-01-01')->isLongYear(); // true
2747
+	 * Carbon::parse('2016-01-01')->isLongYear(); // false
2748
+	 * ```
2749
+	 *
2750
+	 * @see https://en.wikipedia.org/wiki/ISO_8601#Week_dates
2751
+	 *
2752
+	 * @return bool
2753
+	 */
2754
+	public function isLongYear();
2755
+
2756
+	/**
2757
+	 * Check if the instance is midday.
2758
+	 *
2759
+	 * @example
2760
+	 * ```
2761
+	 * Carbon::parse('2019-02-28 11:59:59.999999')->isMidday(); // false
2762
+	 * Carbon::parse('2019-02-28 12:00:00')->isMidday(); // true
2763
+	 * Carbon::parse('2019-02-28 12:00:00.999999')->isMidday(); // true
2764
+	 * Carbon::parse('2019-02-28 12:00:01')->isMidday(); // false
2765
+	 * ```
2766
+	 *
2767
+	 * @return bool
2768
+	 */
2769
+	public function isMidday();
2770
+
2771
+	/**
2772
+	 * Check if the instance is start of day / midnight.
2773
+	 *
2774
+	 * @example
2775
+	 * ```
2776
+	 * Carbon::parse('2019-02-28 00:00:00')->isMidnight(); // true
2777
+	 * Carbon::parse('2019-02-28 00:00:00.999999')->isMidnight(); // true
2778
+	 * Carbon::parse('2019-02-28 00:00:01')->isMidnight(); // false
2779
+	 * ```
2780
+	 *
2781
+	 * @return bool
2782
+	 */
2783
+	public function isMidnight();
2784
+
2785
+	/**
2786
+	 * Returns true if a property can be changed via setter.
2787
+	 *
2788
+	 * @param string $unit
2789
+	 *
2790
+	 * @return bool
2791
+	 */
2792
+	public static function isModifiableUnit($unit);
2793
+
2794
+	/**
2795
+	 * Returns true if the current class/instance is mutable.
2796
+	 *
2797
+	 * @return bool
2798
+	 */
2799
+	public static function isMutable();
2800
+
2801
+	/**
2802
+	 * Determines if the instance is in the past, ie. less (before) than now.
2803
+	 *
2804
+	 * @example
2805
+	 * ```
2806
+	 * Carbon::now()->subHours(5)->isPast(); // true
2807
+	 * Carbon::now()->addHours(5)->isPast(); // false
2808
+	 * ```
2809
+	 *
2810
+	 * @return bool
2811
+	 */
2812
+	public function isPast();
2813
+
2814
+	/**
2815
+	 * Compares the formatted values of the two dates.
2816
+	 *
2817
+	 * @example
2818
+	 * ```
2819
+	 * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-12-13')); // true
2820
+	 * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-06-14')); // false
2821
+	 * ```
2822
+	 *
2823
+	 * @param string                                        $format date formats to compare.
2824
+	 * @param \Carbon\Carbon|\DateTimeInterface|string|null $date   instance to compare with or null to use current day.
2825
+	 *
2826
+	 * @return bool
2827
+	 */
2828
+	public function isSameAs($format, $date = null);
2829
+
2830
+	/**
2831
+	 * Checks if the passed in date is in the same month as the instance´s month.
2832
+	 *
2833
+	 * @example
2834
+	 * ```
2835
+	 * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-01-01')); // true
2836
+	 * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-02-01')); // false
2837
+	 * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01')); // false
2838
+	 * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01'), false); // true
2839
+	 * ```
2840
+	 *
2841
+	 * @param \Carbon\Carbon|\DateTimeInterface|null $date       The instance to compare with or null to use the current date.
2842
+	 * @param bool                                   $ofSameYear Check if it is the same month in the same year.
2843
+	 *
2844
+	 * @return bool
2845
+	 */
2846
+	public function isSameMonth($date = null, $ofSameYear = true);
2847
+
2848
+	/**
2849
+	 * Checks if the passed in date is in the same quarter as the instance quarter (and year if needed).
2850
+	 *
2851
+	 * @example
2852
+	 * ```
2853
+	 * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-03-01')); // true
2854
+	 * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-04-01')); // false
2855
+	 * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01')); // false
2856
+	 * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01'), false); // true
2857
+	 * ```
2858
+	 *
2859
+	 * @param \Carbon\Carbon|\DateTimeInterface|string|null $date       The instance to compare with or null to use current day.
2860
+	 * @param bool                                          $ofSameYear Check if it is the same month in the same year.
2861
+	 *
2862
+	 * @return bool
2863
+	 */
2864
+	public function isSameQuarter($date = null, $ofSameYear = true);
2865
+
2866
+	/**
2867
+	 * Determines if the instance is in the current unit given.
2868
+	 *
2869
+	 * @example
2870
+	 * ```
2871
+	 * Carbon::parse('2019-01-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // true
2872
+	 * Carbon::parse('2018-12-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // false
2873
+	 * ```
2874
+	 *
2875
+	 * @param string                                 $unit singular unit string
2876
+	 * @param \Carbon\Carbon|\DateTimeInterface|null $date instance to compare with or null to use current day.
2877
+	 *
2878
+	 * @throws BadComparisonUnitException
2879
+	 *
2880
+	 * @return bool
2881
+	 */
2882
+	public function isSameUnit($unit, $date = null);
2883
+
2884
+	/**
2885
+	 * Check if the instance is start of day / midnight.
2886
+	 *
2887
+	 * @example
2888
+	 * ```
2889
+	 * Carbon::parse('2019-02-28 00:00:00')->isStartOfDay(); // true
2890
+	 * Carbon::parse('2019-02-28 00:00:00.999999')->isStartOfDay(); // true
2891
+	 * Carbon::parse('2019-02-28 00:00:01')->isStartOfDay(); // false
2892
+	 * Carbon::parse('2019-02-28 00:00:00.000000')->isStartOfDay(true); // true
2893
+	 * Carbon::parse('2019-02-28 00:00:00.000012')->isStartOfDay(true); // false
2894
+	 * ```
2895
+	 *
2896
+	 * @param bool $checkMicroseconds check time at microseconds precision
2897
+	 *
2898
+	 * @return bool
2899
+	 */
2900
+	public function isStartOfDay($checkMicroseconds = false);
2901
+
2902
+	/**
2903
+	 * Returns true if the date was created using CarbonImmutable::startOfTime()
2904
+	 *
2905
+	 * @return bool
2906
+	 */
2907
+	public function isStartOfTime(): bool;
2908
+
2909
+	/**
2910
+	 * Returns true if the strict mode is globally in use, false else.
2911
+	 * (It can be overridden in specific instances.)
2912
+	 *
2913
+	 * @return bool
2914
+	 */
2915
+	public static function isStrictModeEnabled();
2916
+
2917
+	/**
2918
+	 * Determines if the instance is today.
2919
+	 *
2920
+	 * @example
2921
+	 * ```
2922
+	 * Carbon::today()->isToday(); // true
2923
+	 * Carbon::tomorrow()->isToday(); // false
2924
+	 * ```
2925
+	 *
2926
+	 * @return bool
2927
+	 */
2928
+	public function isToday();
2929
+
2930
+	/**
2931
+	 * Determines if the instance is tomorrow.
2932
+	 *
2933
+	 * @example
2934
+	 * ```
2935
+	 * Carbon::tomorrow()->isTomorrow(); // true
2936
+	 * Carbon::yesterday()->isTomorrow(); // false
2937
+	 * ```
2938
+	 *
2939
+	 * @return bool
2940
+	 */
2941
+	public function isTomorrow();
2942
+
2943
+	/**
2944
+	 * Determines if the instance is a weekday.
2945
+	 *
2946
+	 * @example
2947
+	 * ```
2948
+	 * Carbon::parse('2019-07-14')->isWeekday(); // false
2949
+	 * Carbon::parse('2019-07-15')->isWeekday(); // true
2950
+	 * ```
2951
+	 *
2952
+	 * @return bool
2953
+	 */
2954
+	public function isWeekday();
2955
+
2956
+	/**
2957
+	 * Determines if the instance is a weekend day.
2958
+	 *
2959
+	 * @example
2960
+	 * ```
2961
+	 * Carbon::parse('2019-07-14')->isWeekend(); // true
2962
+	 * Carbon::parse('2019-07-15')->isWeekend(); // false
2963
+	 * ```
2964
+	 *
2965
+	 * @return bool
2966
+	 */
2967
+	public function isWeekend();
2968
+
2969
+	/**
2970
+	 * Determines if the instance is yesterday.
2971
+	 *
2972
+	 * @example
2973
+	 * ```
2974
+	 * Carbon::yesterday()->isYesterday(); // true
2975
+	 * Carbon::tomorrow()->isYesterday(); // false
2976
+	 * ```
2977
+	 *
2978
+	 * @return bool
2979
+	 */
2980
+	public function isYesterday();
2981
+
2982
+	/**
2983
+	 * Format in the current language using ISO replacement patterns.
2984
+	 *
2985
+	 * @param string      $format
2986
+	 * @param string|null $originalFormat provide context if a chunk has been passed alone
2987
+	 *
2988
+	 * @return string
2989
+	 */
2990
+	public function isoFormat(string $format, ?string $originalFormat = null): string;
2991
+
2992
+	/**
2993
+	 * Get/set the week number using given first day of week and first
2994
+	 * day of year included in the first week. Or use ISO format if no settings
2995
+	 * given.
2996
+	 *
2997
+	 * @param int|null $week
2998
+	 * @param int|null $dayOfWeek
2999
+	 * @param int|null $dayOfYear
3000
+	 *
3001
+	 * @return int|static
3002
+	 */
3003
+	public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null);
3004
+
3005
+	/**
3006
+	 * Set/get the week number of year using given first day of week and first
3007
+	 * day of year included in the first week. Or use ISO format if no settings
3008
+	 * given.
3009
+	 *
3010
+	 * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
3011
+	 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
3012
+	 * @param int|null $dayOfYear first day of year included in the week #1
3013
+	 *
3014
+	 * @return int|static
3015
+	 */
3016
+	public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null);
3017
+
3018
+	/**
3019
+	 * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday).
3020
+	 *
3021
+	 * @param int|null $value new value for weekday if using as setter.
3022
+	 *
3023
+	 * @return static|int
3024
+	 */
3025
+	public function isoWeekday($value = null);
3026
+
3027
+	/**
3028
+	 * Get the number of weeks of the current week-year using given first day of week and first
3029
+	 * day of year included in the first week. Or use ISO format if no settings
3030
+	 * given.
3031
+	 *
3032
+	 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
3033
+	 * @param int|null $dayOfYear first day of year included in the week #1
3034
+	 *
3035
+	 * @return int
3036
+	 */
3037
+	public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null);
3038
+
3039
+	/**
3040
+	 * Prepare the object for JSON serialization.
3041
+	 *
3042
+	 * @return array|string
3043
+	 */
3044
+	#[ReturnTypeWillChange]
3045
+	public function jsonSerialize();
3046
+
3047
+	/**
3048
+	 * Modify to the last occurrence of a given day of the week
3049
+	 * in the current month. If no dayOfWeek is provided, modify to the
3050
+	 * last day of the current month.  Use the supplied constants
3051
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
3052
+	 *
3053
+	 * @param int|null $dayOfWeek
3054
+	 *
3055
+	 * @return static
3056
+	 */
3057
+	public function lastOfMonth($dayOfWeek = null);
3058
+
3059
+	/**
3060
+	 * Modify to the last occurrence of a given day of the week
3061
+	 * in the current quarter. If no dayOfWeek is provided, modify to the
3062
+	 * last day of the current quarter.  Use the supplied constants
3063
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
3064
+	 *
3065
+	 * @param int|null $dayOfWeek day of the week default null
3066
+	 *
3067
+	 * @return static
3068
+	 */
3069
+	public function lastOfQuarter($dayOfWeek = null);
3070
+
3071
+	/**
3072
+	 * Modify to the last occurrence of a given day of the week
3073
+	 * in the current year. If no dayOfWeek is provided, modify to the
3074
+	 * last day of the current year.  Use the supplied constants
3075
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
3076
+	 *
3077
+	 * @param int|null $dayOfWeek day of the week default null
3078
+	 *
3079
+	 * @return static
3080
+	 */
3081
+	public function lastOfYear($dayOfWeek = null);
3082
+
3083
+	/**
3084
+	 * Determines if the instance is less (before) than another
3085
+	 *
3086
+	 * @example
3087
+	 * ```
3088
+	 * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:15'); // false
3089
+	 * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:16'); // false
3090
+	 * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:17'); // true
3091
+	 * ```
3092
+	 *
3093
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3094
+	 *
3095
+	 * @return bool
3096
+	 */
3097
+	public function lessThan($date): bool;
3098
+
3099
+	/**
3100
+	 * Determines if the instance is less (before) or equal to another
3101
+	 *
3102
+	 * @example
3103
+	 * ```
3104
+	 * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:15'); // false
3105
+	 * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:16'); // true
3106
+	 * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:17'); // true
3107
+	 * ```
3108
+	 *
3109
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3110
+	 *
3111
+	 * @return bool
3112
+	 */
3113
+	public function lessThanOrEqualTo($date): bool;
3114
+
3115
+	/**
3116
+	 * Get/set the locale for the current instance.
3117
+	 *
3118
+	 * @param string|null $locale
3119
+	 * @param string      ...$fallbackLocales
3120
+	 *
3121
+	 * @return $this|string
3122
+	 */
3123
+	public function locale(?string $locale = null, ...$fallbackLocales);
3124
+
3125
+	/**
3126
+	 * Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow).
3127
+	 * Support is considered enabled if the 3 words are translated in the given locale.
3128
+	 *
3129
+	 * @param string $locale locale ex. en
3130
+	 *
3131
+	 * @return bool
3132
+	 */
3133
+	public static function localeHasDiffOneDayWords($locale);
3134
+
3135
+	/**
3136
+	 * Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after).
3137
+	 * Support is considered enabled if the 4 sentences are translated in the given locale.
3138
+	 *
3139
+	 * @param string $locale locale ex. en
3140
+	 *
3141
+	 * @return bool
3142
+	 */
3143
+	public static function localeHasDiffSyntax($locale);
3144
+
3145
+	/**
3146
+	 * Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow).
3147
+	 * Support is considered enabled if the 2 words are translated in the given locale.
3148
+	 *
3149
+	 * @param string $locale locale ex. en
3150
+	 *
3151
+	 * @return bool
3152
+	 */
3153
+	public static function localeHasDiffTwoDayWords($locale);
3154
+
3155
+	/**
3156
+	 * Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X).
3157
+	 * Support is considered enabled if the 4 sentences are translated in the given locale.
3158
+	 *
3159
+	 * @param string $locale locale ex. en
3160
+	 *
3161
+	 * @return bool
3162
+	 */
3163
+	public static function localeHasPeriodSyntax($locale);
3164
+
3165
+	/**
3166
+	 * Returns true if the given locale is internally supported and has short-units support.
3167
+	 * Support is considered enabled if either year, day or hour has a short variant translated.
3168
+	 *
3169
+	 * @param string $locale locale ex. en
3170
+	 *
3171
+	 * @return bool
3172
+	 */
3173
+	public static function localeHasShortUnits($locale);
3174
+
3175
+	/**
3176
+	 * Determines if the instance is less (before) than another
3177
+	 *
3178
+	 * @example
3179
+	 * ```
3180
+	 * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:15'); // false
3181
+	 * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:16'); // false
3182
+	 * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:17'); // true
3183
+	 * ```
3184
+	 *
3185
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3186
+	 *
3187
+	 * @see lessThan()
3188
+	 *
3189
+	 * @return bool
3190
+	 */
3191
+	public function lt($date): bool;
3192
+
3193
+	/**
3194
+	 * Determines if the instance is less (before) or equal to another
3195
+	 *
3196
+	 * @example
3197
+	 * ```
3198
+	 * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:15'); // false
3199
+	 * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:16'); // true
3200
+	 * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:17'); // true
3201
+	 * ```
3202
+	 *
3203
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3204
+	 *
3205
+	 * @see lessThanOrEqualTo()
3206
+	 *
3207
+	 * @return bool
3208
+	 */
3209
+	public function lte($date): bool;
3210
+
3211
+	/**
3212
+	 * Register a custom macro.
3213
+	 *
3214
+	 * @example
3215
+	 * ```
3216
+	 * $userSettings = [
3217
+	 *   'locale' => 'pt',
3218
+	 *   'timezone' => 'America/Sao_Paulo',
3219
+	 * ];
3220
+	 * Carbon::macro('userFormat', function () use ($userSettings) {
3221
+	 *   return $this->copy()->locale($userSettings['locale'])->tz($userSettings['timezone'])->calendar();
3222
+	 * });
3223
+	 * echo Carbon::yesterday()->hours(11)->userFormat();
3224
+	 * ```
3225
+	 *
3226
+	 * @param string          $name
3227
+	 * @param object|callable $macro
3228
+	 *
3229
+	 * @return void
3230
+	 */
3231
+	public static function macro($name, $macro);
3232
+
3233
+	/**
3234
+	 * Make a Carbon instance from given variable if possible.
3235
+	 *
3236
+	 * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals
3237
+	 * and recurrences). Throw an exception for invalid format, but otherwise return null.
3238
+	 *
3239
+	 * @param mixed $var
3240
+	 *
3241
+	 * @throws InvalidFormatException
3242
+	 *
3243
+	 * @return static|null
3244
+	 */
3245
+	public static function make($var);
3246
+
3247
+	/**
3248
+	 * Get the maximum instance between a given instance (default now) and the current instance.
3249
+	 *
3250
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3251
+	 *
3252
+	 * @return static
3253
+	 */
3254
+	public function max($date = null);
3255
+
3256
+	/**
3257
+	 * Create a Carbon instance for the greatest supported date.
3258
+	 *
3259
+	 * @return static
3260
+	 */
3261
+	public static function maxValue();
3262
+
3263
+	/**
3264
+	 * Get the maximum instance between a given instance (default now) and the current instance.
3265
+	 *
3266
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3267
+	 *
3268
+	 * @see max()
3269
+	 *
3270
+	 * @return static
3271
+	 */
3272
+	public function maximum($date = null);
3273
+
3274
+	/**
3275
+	 * Return the meridiem of the current time in the current locale.
3276
+	 *
3277
+	 * @param bool $isLower if true, returns lowercase variant if available in the current locale.
3278
+	 *
3279
+	 * @return string
3280
+	 */
3281
+	public function meridiem(bool $isLower = false): string;
3282
+
3283
+	/**
3284
+	 * Modify to midday, default to self::$midDayAt
3285
+	 *
3286
+	 * @return static
3287
+	 */
3288
+	public function midDay();
3289
+
3290
+	/**
3291
+	 * Get the minimum instance between a given instance (default now) and the current instance.
3292
+	 *
3293
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3294
+	 *
3295
+	 * @return static
3296
+	 */
3297
+	public function min($date = null);
3298
+
3299
+	/**
3300
+	 * Create a Carbon instance for the lowest supported date.
3301
+	 *
3302
+	 * @return static
3303
+	 */
3304
+	public static function minValue();
3305
+
3306
+	/**
3307
+	 * Get the minimum instance between a given instance (default now) and the current instance.
3308
+	 *
3309
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3310
+	 *
3311
+	 * @see min()
3312
+	 *
3313
+	 * @return static
3314
+	 */
3315
+	public function minimum($date = null);
3316
+
3317
+	/**
3318
+	 * Mix another object into the class.
3319
+	 *
3320
+	 * @example
3321
+	 * ```
3322
+	 * Carbon::mixin(new class {
3323
+	 *   public function addMoon() {
3324
+	 *     return function () {
3325
+	 *       return $this->addDays(30);
3326
+	 *     };
3327
+	 *   }
3328
+	 *   public function subMoon() {
3329
+	 *     return function () {
3330
+	 *       return $this->subDays(30);
3331
+	 *     };
3332
+	 *   }
3333
+	 * });
3334
+	 * $fullMoon = Carbon::create('2018-12-22');
3335
+	 * $nextFullMoon = $fullMoon->addMoon();
3336
+	 * $blackMoon = Carbon::create('2019-01-06');
3337
+	 * $previousBlackMoon = $blackMoon->subMoon();
3338
+	 * echo "$nextFullMoon\n";
3339
+	 * echo "$previousBlackMoon\n";
3340
+	 * ```
3341
+	 *
3342
+	 * @param object|string $mixin
3343
+	 *
3344
+	 * @throws ReflectionException
3345
+	 *
3346
+	 * @return void
3347
+	 */
3348
+	public static function mixin($mixin);
3349
+
3350
+	/**
3351
+	 * Calls \DateTime::modify if mutable or \DateTimeImmutable::modify else.
3352
+	 *
3353
+	 * @see https://php.net/manual/en/datetime.modify.php
3354
+	 *
3355
+	 * @return static|false
3356
+	 */
3357
+	#[ReturnTypeWillChange]
3358
+	public function modify($modify);
3359
+
3360
+	/**
3361
+	 * Determines if the instance is not equal to another
3362
+	 *
3363
+	 * @example
3364
+	 * ```
3365
+	 * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:16'); // false
3366
+	 * Carbon::parse('2018-07-25 12:45:16')->ne(Carbon::parse('2018-07-25 12:45:16')); // false
3367
+	 * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:17'); // true
3368
+	 * ```
3369
+	 *
3370
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3371
+	 *
3372
+	 * @see notEqualTo()
3373
+	 *
3374
+	 * @return bool
3375
+	 */
3376
+	public function ne($date): bool;
3377
+
3378
+	/**
3379
+	 * Modify to the next occurrence of a given modifier such as a day of
3380
+	 * the week. If no modifier is provided, modify to the next occurrence
3381
+	 * of the current day of the week. Use the supplied constants
3382
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
3383
+	 *
3384
+	 * @param string|int|null $modifier
3385
+	 *
3386
+	 * @return static
3387
+	 */
3388
+	public function next($modifier = null);
3389
+
3390
+	/**
3391
+	 * Go forward to the next weekday.
3392
+	 *
3393
+	 * @return static
3394
+	 */
3395
+	public function nextWeekday();
3396
+
3397
+	/**
3398
+	 * Go forward to the next weekend day.
3399
+	 *
3400
+	 * @return static
3401
+	 */
3402
+	public function nextWeekendDay();
3403
+
3404
+	/**
3405
+	 * Determines if the instance is not equal to another
3406
+	 *
3407
+	 * @example
3408
+	 * ```
3409
+	 * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:16'); // false
3410
+	 * Carbon::parse('2018-07-25 12:45:16')->notEqualTo(Carbon::parse('2018-07-25 12:45:16')); // false
3411
+	 * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:17'); // true
3412
+	 * ```
3413
+	 *
3414
+	 * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
3415
+	 *
3416
+	 * @return bool
3417
+	 */
3418
+	public function notEqualTo($date): bool;
3419
+
3420
+	/**
3421
+	 * Get a Carbon instance for the current date and time.
3422
+	 *
3423
+	 * @param DateTimeZone|string|null $tz
3424
+	 *
3425
+	 * @return static
3426
+	 */
3427
+	public static function now($tz = null);
3428
+
3429
+	/**
3430
+	 * Returns a present instance in the same timezone.
3431
+	 *
3432
+	 * @return static
3433
+	 */
3434
+	public function nowWithSameTz();
3435
+
3436
+	/**
3437
+	 * Modify to the given occurrence of a given day of the week
3438
+	 * in the current month. If the calculated occurrence is outside the scope
3439
+	 * of the current month, then return false and no modifications are made.
3440
+	 * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
3441
+	 *
3442
+	 * @param int $nth
3443
+	 * @param int $dayOfWeek
3444
+	 *
3445
+	 * @return mixed
3446
+	 */
3447
+	public function nthOfMonth($nth, $dayOfWeek);
3448
+
3449
+	/**
3450
+	 * Modify to the given occurrence of a given day of the week
3451
+	 * in the current quarter. If the calculated occurrence is outside the scope
3452
+	 * of the current quarter, then return false and no modifications are made.
3453
+	 * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
3454
+	 *
3455
+	 * @param int $nth
3456
+	 * @param int $dayOfWeek
3457
+	 *
3458
+	 * @return mixed
3459
+	 */
3460
+	public function nthOfQuarter($nth, $dayOfWeek);
3461
+
3462
+	/**
3463
+	 * Modify to the given occurrence of a given day of the week
3464
+	 * in the current year. If the calculated occurrence is outside the scope
3465
+	 * of the current year, then return false and no modifications are made.
3466
+	 * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
3467
+	 *
3468
+	 * @param int $nth
3469
+	 * @param int $dayOfWeek
3470
+	 *
3471
+	 * @return mixed
3472
+	 */
3473
+	public function nthOfYear($nth, $dayOfWeek);
3474
+
3475
+	/**
3476
+	 * Return a property with its ordinal.
3477
+	 *
3478
+	 * @param string      $key
3479
+	 * @param string|null $period
3480
+	 *
3481
+	 * @return string
3482
+	 */
3483
+	public function ordinal(string $key, ?string $period = null): string;
3484
+
3485
+	/**
3486
+	 * Create a carbon instance from a string.
3487
+	 *
3488
+	 * This is an alias for the constructor that allows better fluent syntax
3489
+	 * as it allows you to do Carbon::parse('Monday next week')->fn() rather
3490
+	 * than (new Carbon('Monday next week'))->fn().
3491
+	 *
3492
+	 * @param string|DateTimeInterface|null $time
3493
+	 * @param DateTimeZone|string|null      $tz
3494
+	 *
3495
+	 * @throws InvalidFormatException
3496
+	 *
3497
+	 * @return static
3498
+	 */
3499
+	public static function parse($time = null, $tz = null);
3500
+
3501
+	/**
3502
+	 * Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.).
3503
+	 *
3504
+	 * @param string                   $time   date/time string in the given language (may also contain English).
3505
+	 * @param string|null              $locale if locale is null or not specified, current global locale will be
3506
+	 *                                         used instead.
3507
+	 * @param DateTimeZone|string|null $tz     optional timezone for the new instance.
3508
+	 *
3509
+	 * @throws InvalidFormatException
3510
+	 *
3511
+	 * @return static
3512
+	 */
3513
+	public static function parseFromLocale($time, $locale = null, $tz = null);
3514
+
3515
+	/**
3516
+	 * Returns standardized plural of a given singular/plural unit name (in English).
3517
+	 *
3518
+	 * @param string $unit
3519
+	 *
3520
+	 * @return string
3521
+	 */
3522
+	public static function pluralUnit(string $unit): string;
3523
+
3524
+	/**
3525
+	 * Modify to the previous occurrence of a given modifier such as a day of
3526
+	 * the week. If no dayOfWeek is provided, modify to the previous occurrence
3527
+	 * of the current day of the week. Use the supplied constants
3528
+	 * to indicate the desired dayOfWeek, ex. static::MONDAY.
3529
+	 *
3530
+	 * @param string|int|null $modifier
3531
+	 *
3532
+	 * @return static
3533
+	 */
3534
+	public function previous($modifier = null);
3535
+
3536
+	/**
3537
+	 * Go backward to the previous weekday.
3538
+	 *
3539
+	 * @return static
3540
+	 */
3541
+	public function previousWeekday();
3542
+
3543
+	/**
3544
+	 * Go backward to the previous weekend day.
3545
+	 *
3546
+	 * @return static
3547
+	 */
3548
+	public function previousWeekendDay();
3549
+
3550
+	/**
3551
+	 * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
3552
+	 *
3553
+	 * @param \DateTimeInterface|Carbon|CarbonImmutable|null $end      period end date
3554
+	 * @param int|\DateInterval|string|null                  $interval period default interval or number of the given $unit
3555
+	 * @param string|null                                    $unit     if specified, $interval must be an integer
3556
+	 *
3557
+	 * @return CarbonPeriod
3558
+	 */
3559
+	public function range($end = null, $interval = null, $unit = null);
3560
+
3561
+	/**
3562
+	 * Call native PHP DateTime/DateTimeImmutable add() method.
3563
+	 *
3564
+	 * @param DateInterval $interval
3565
+	 *
3566
+	 * @return static
3567
+	 */
3568
+	public function rawAdd(DateInterval $interval);
3569
+
3570
+	/**
3571
+	 * Create a Carbon instance from a specific format.
3572
+	 *
3573
+	 * @param string                         $format Datetime format
3574
+	 * @param string                         $time
3575
+	 * @param DateTimeZone|string|false|null $tz
3576
+	 *
3577
+	 * @throws InvalidFormatException
3578
+	 *
3579
+	 * @return static|false
3580
+	 */
3581
+	public static function rawCreateFromFormat($format, $time, $tz = null);
3582
+
3583
+	/**
3584
+	 * @see https://php.net/manual/en/datetime.format.php
3585
+	 *
3586
+	 * @param string $format
3587
+	 *
3588
+	 * @return string
3589
+	 */
3590
+	public function rawFormat($format);
3591
+
3592
+	/**
3593
+	 * Create a carbon instance from a string.
3594
+	 *
3595
+	 * This is an alias for the constructor that allows better fluent syntax
3596
+	 * as it allows you to do Carbon::parse('Monday next week')->fn() rather
3597
+	 * than (new Carbon('Monday next week'))->fn().
3598
+	 *
3599
+	 * @param string|DateTimeInterface|null $time
3600
+	 * @param DateTimeZone|string|null      $tz
3601
+	 *
3602
+	 * @throws InvalidFormatException
3603
+	 *
3604
+	 * @return static
3605
+	 */
3606
+	public static function rawParse($time = null, $tz = null);
3607
+
3608
+	/**
3609
+	 * Call native PHP DateTime/DateTimeImmutable sub() method.
3610
+	 *
3611
+	 * @param DateInterval $interval
3612
+	 *
3613
+	 * @return static
3614
+	 */
3615
+	public function rawSub(DateInterval $interval);
3616
+
3617
+	/**
3618
+	 * Remove all macros and generic macros.
3619
+	 */
3620
+	public static function resetMacros();
3621
+
3622
+	/**
3623
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3624
+	 *             You should rather use the ->settings() method.
3625
+	 *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
3626
+	 *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
3627
+	 * @see settings
3628
+	 *
3629
+	 * Reset the month overflow behavior.
3630
+	 *
3631
+	 * @return void
3632
+	 */
3633
+	public static function resetMonthsOverflow();
3634
+
3635
+	/**
3636
+	 * Reset the format used to the default when type juggling a Carbon instance to a string
3637
+	 *
3638
+	 * @return void
3639
+	 */
3640
+	public static function resetToStringFormat();
3641
+
3642
+	/**
3643
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3644
+	 *             You should rather use the ->settings() method.
3645
+	 *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
3646
+	 *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
3647
+	 * @see settings
3648
+	 *
3649
+	 * Reset the month overflow behavior.
3650
+	 *
3651
+	 * @return void
3652
+	 */
3653
+	public static function resetYearsOverflow();
3654
+
3655
+	/**
3656
+	 * Round the current instance second with given precision if specified.
3657
+	 *
3658
+	 * @param float|int|string|\DateInterval|null $precision
3659
+	 * @param string                              $function
3660
+	 *
3661
+	 * @return CarbonInterface
3662
+	 */
3663
+	public function round($precision = 1, $function = 'round');
3664
+
3665
+	/**
3666
+	 * Round the current instance at the given unit with given precision if specified and the given function.
3667
+	 *
3668
+	 * @param string    $unit
3669
+	 * @param float|int $precision
3670
+	 * @param string    $function
3671
+	 *
3672
+	 * @return CarbonInterface
3673
+	 */
3674
+	public function roundUnit($unit, $precision = 1, $function = 'round');
3675
+
3676
+	/**
3677
+	 * Round the current instance week.
3678
+	 *
3679
+	 * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
3680
+	 *
3681
+	 * @return CarbonInterface
3682
+	 */
3683
+	public function roundWeek($weekStartsAt = null);
3684
+
3685
+	/**
3686
+	 * The number of seconds since midnight.
3687
+	 *
3688
+	 * @return int
3689
+	 */
3690
+	public function secondsSinceMidnight();
3691
+
3692
+	/**
3693
+	 * The number of seconds until 23:59:59.
3694
+	 *
3695
+	 * @return int
3696
+	 */
3697
+	public function secondsUntilEndOfDay();
3698
+
3699
+	/**
3700
+	 * Return a serialized string of the instance.
3701
+	 *
3702
+	 * @return string
3703
+	 */
3704
+	public function serialize();
3705
+
3706
+	/**
3707
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3708
+	 *             You should rather transform Carbon object before the serialization.
3709
+	 *
3710
+	 * JSON serialize all Carbon instances using the given callback.
3711
+	 *
3712
+	 * @param callable $callback
3713
+	 *
3714
+	 * @return void
3715
+	 */
3716
+	public static function serializeUsing($callback);
3717
+
3718
+	/**
3719
+	 * Set a part of the Carbon object
3720
+	 *
3721
+	 * @param string|array            $name
3722
+	 * @param string|int|DateTimeZone $value
3723
+	 *
3724
+	 * @throws ImmutableException|UnknownSetterException
3725
+	 *
3726
+	 * @return $this
3727
+	 */
3728
+	public function set($name, $value = null);
3729
+
3730
+	/**
3731
+	 * Set the date with gregorian year, month and day numbers.
3732
+	 *
3733
+	 * @see https://php.net/manual/en/datetime.setdate.php
3734
+	 *
3735
+	 * @param int $year
3736
+	 * @param int $month
3737
+	 * @param int $day
3738
+	 *
3739
+	 * @return static
3740
+	 */
3741
+	#[ReturnTypeWillChange]
3742
+	public function setDate($year, $month, $day);
3743
+
3744
+	/**
3745
+	 * Set the year, month, and date for this instance to that of the passed instance.
3746
+	 *
3747
+	 * @param Carbon|DateTimeInterface $date now if null
3748
+	 *
3749
+	 * @return static
3750
+	 */
3751
+	public function setDateFrom($date = null);
3752
+
3753
+	/**
3754
+	 * Set the date and time all together.
3755
+	 *
3756
+	 * @param int $year
3757
+	 * @param int $month
3758
+	 * @param int $day
3759
+	 * @param int $hour
3760
+	 * @param int $minute
3761
+	 * @param int $second
3762
+	 * @param int $microseconds
3763
+	 *
3764
+	 * @return static
3765
+	 */
3766
+	public function setDateTime($year, $month, $day, $hour, $minute, $second = 0, $microseconds = 0);
3767
+
3768
+	/**
3769
+	 * Set the date and time for this instance to that of the passed instance.
3770
+	 *
3771
+	 * @param Carbon|DateTimeInterface $date
3772
+	 *
3773
+	 * @return static
3774
+	 */
3775
+	public function setDateTimeFrom($date = null);
3776
+
3777
+	/**
3778
+	 * Set the fallback locale.
3779
+	 *
3780
+	 * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
3781
+	 *
3782
+	 * @param string $locale
3783
+	 */
3784
+	public static function setFallbackLocale($locale);
3785
+
3786
+	/**
3787
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3788
+	 *             You should rather use the ->settings() method.
3789
+	 * @see settings
3790
+	 *
3791
+	 * @param int $humanDiffOptions
3792
+	 */
3793
+	public static function setHumanDiffOptions($humanDiffOptions);
3794
+
3795
+	/**
3796
+	 * Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
3797
+	 *
3798
+	 * @see https://php.net/manual/en/datetime.setisodate.php
3799
+	 *
3800
+	 * @param int $year
3801
+	 * @param int $week
3802
+	 * @param int $day
3803
+	 *
3804
+	 * @return static
3805
+	 */
3806
+	#[ReturnTypeWillChange]
3807
+	public function setISODate($year, $week, $day = 1);
3808
+
3809
+	/**
3810
+	 * Set the translator for the current instance.
3811
+	 *
3812
+	 * @param \Symfony\Component\Translation\TranslatorInterface $translator
3813
+	 *
3814
+	 * @return $this
3815
+	 */
3816
+	public function setLocalTranslator(TranslatorInterface $translator);
3817
+
3818
+	/**
3819
+	 * Set the current translator locale and indicate if the source locale file exists.
3820
+	 * Pass 'auto' as locale to use closest language from the current LC_TIME locale.
3821
+	 *
3822
+	 * @param string $locale locale ex. en
3823
+	 *
3824
+	 * @return bool
3825
+	 */
3826
+	public static function setLocale($locale);
3827
+
3828
+	/**
3829
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3830
+	 *             You should rather consider mid-day is always 12pm, then if you need to test if it's an other
3831
+	 *             hour, test it explicitly:
3832
+	 *                 $date->format('G') == 13
3833
+	 *             or to set explicitly to a given hour:
3834
+	 *                 $date->setTime(13, 0, 0, 0)
3835
+	 *
3836
+	 * Set midday/noon hour
3837
+	 *
3838
+	 * @param int $hour midday hour
3839
+	 *
3840
+	 * @return void
3841
+	 */
3842
+	public static function setMidDayAt($hour);
3843
+
3844
+	/**
3845
+	 * Set a Carbon instance (real or mock) to be returned when a "now"
3846
+	 * instance is created.  The provided instance will be returned
3847
+	 * specifically under the following conditions:
3848
+	 *   - A call to the static now() method, ex. Carbon::now()
3849
+	 *   - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
3850
+	 *   - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
3851
+	 *   - When a string containing the desired time is passed to Carbon::parse().
3852
+	 *
3853
+	 * Note the timezone parameter was left out of the examples above and
3854
+	 * has no affect as the mock value will be returned regardless of its value.
3855
+	 *
3856
+	 * Only the moment is mocked with setTestNow(), the timezone will still be the one passed
3857
+	 * as parameter of date_default_timezone_get() as a fallback (see setTestNowAndTimezone()).
3858
+	 *
3859
+	 * To clear the test instance call this method using the default
3860
+	 * parameter of null.
3861
+	 *
3862
+	 * /!\ Use this method for unit tests only.
3863
+	 *
3864
+	 * @param Closure|static|string|false|null $testNow real or mock Carbon instance
3865
+	 */
3866
+	public static function setTestNow($testNow = null);
3867
+
3868
+	/**
3869
+	 * Set a Carbon instance (real or mock) to be returned when a "now"
3870
+	 * instance is created.  The provided instance will be returned
3871
+	 * specifically under the following conditions:
3872
+	 *   - A call to the static now() method, ex. Carbon::now()
3873
+	 *   - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
3874
+	 *   - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
3875
+	 *   - When a string containing the desired time is passed to Carbon::parse().
3876
+	 *
3877
+	 * It will also align default timezone (e.g. call date_default_timezone_set()) with
3878
+	 * the second argument or if null, with the timezone of the given date object.
3879
+	 *
3880
+	 * To clear the test instance call this method using the default
3881
+	 * parameter of null.
3882
+	 *
3883
+	 * /!\ Use this method for unit tests only.
3884
+	 *
3885
+	 * @param Closure|static|string|false|null $testNow real or mock Carbon instance
3886
+	 */
3887
+	public static function setTestNowAndTimezone($testNow = null, $tz = null);
3888
+
3889
+	/**
3890
+	 * Resets the current time of the DateTime object to a different time.
3891
+	 *
3892
+	 * @see https://php.net/manual/en/datetime.settime.php
3893
+	 *
3894
+	 * @param int $hour
3895
+	 * @param int $minute
3896
+	 * @param int $second
3897
+	 * @param int $microseconds
3898
+	 *
3899
+	 * @return static
3900
+	 */
3901
+	#[ReturnTypeWillChange]
3902
+	public function setTime($hour, $minute, $second = 0, $microseconds = 0);
3903
+
3904
+	/**
3905
+	 * Set the hour, minute, second and microseconds for this instance to that of the passed instance.
3906
+	 *
3907
+	 * @param Carbon|DateTimeInterface $date now if null
3908
+	 *
3909
+	 * @return static
3910
+	 */
3911
+	public function setTimeFrom($date = null);
3912
+
3913
+	/**
3914
+	 * Set the time by time string.
3915
+	 *
3916
+	 * @param string $time
3917
+	 *
3918
+	 * @return static
3919
+	 */
3920
+	public function setTimeFromTimeString($time);
3921
+
3922
+	/**
3923
+	 * Set the instance's timestamp.
3924
+	 *
3925
+	 * Timestamp input can be given as int, float or a string containing one or more numbers.
3926
+	 *
3927
+	 * @param float|int|string $unixTimestamp
3928
+	 *
3929
+	 * @return static
3930
+	 */
3931
+	#[ReturnTypeWillChange]
3932
+	public function setTimestamp($unixTimestamp);
3933
+
3934
+	/**
3935
+	 * Set the instance's timezone from a string or object.
3936
+	 *
3937
+	 * @param DateTimeZone|string $value
3938
+	 *
3939
+	 * @return static
3940
+	 */
3941
+	#[ReturnTypeWillChange]
3942
+	public function setTimezone($value);
3943
+
3944
+	/**
3945
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3946
+	 *             You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
3947
+	 *             use other method or custom format passed to format() method if you need to dump an other string
3948
+	 *             format.
3949
+	 *
3950
+	 * Set the default format used when type juggling a Carbon instance to a string
3951
+	 *
3952
+	 * @param string|Closure|null $format
3953
+	 *
3954
+	 * @return void
3955
+	 */
3956
+	public static function setToStringFormat($format);
3957
+
3958
+	/**
3959
+	 * Set the default translator instance to use.
3960
+	 *
3961
+	 * @param \Symfony\Component\Translation\TranslatorInterface $translator
3962
+	 *
3963
+	 * @return void
3964
+	 */
3965
+	public static function setTranslator(TranslatorInterface $translator);
3966
+
3967
+	/**
3968
+	 * Set specified unit to new given value.
3969
+	 *
3970
+	 * @param string $unit  year, month, day, hour, minute, second or microsecond
3971
+	 * @param int    $value new value for given unit
3972
+	 *
3973
+	 * @return static
3974
+	 */
3975
+	public function setUnit($unit, $value = null);
3976
+
3977
+	/**
3978
+	 * Set any unit to a new value without overflowing current other unit given.
3979
+	 *
3980
+	 * @param string $valueUnit    unit name to modify
3981
+	 * @param int    $value        new value for the input unit
3982
+	 * @param string $overflowUnit unit name to not overflow
3983
+	 *
3984
+	 * @return static
3985
+	 */
3986
+	public function setUnitNoOverflow($valueUnit, $value, $overflowUnit);
3987
+
3988
+	/**
3989
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3990
+	 *             You should rather use UTF-8 language packages on every machine.
3991
+	 *
3992
+	 * Set if UTF8 will be used for localized date/time.
3993
+	 *
3994
+	 * @param bool $utf8
3995
+	 */
3996
+	public static function setUtf8($utf8);
3997
+
3998
+	/**
3999
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4000
+	 *             Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek
4001
+	 *             or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the
4002
+	 *             start of week according to current locale selected and implicitly the end of week.
4003
+	 *
4004
+	 * Set the last day of week
4005
+	 *
4006
+	 * @param int|string $day week end day (or 'auto' to get the day before the first day of week
4007
+	 *                        from Carbon::getLocale() culture).
4008
+	 *
4009
+	 * @return void
4010
+	 */
4011
+	public static function setWeekEndsAt($day);
4012
+
4013
+	/**
4014
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4015
+	 *             Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the
4016
+	 *             'first_day_of_week' locale setting to change the start of week according to current locale
4017
+	 *             selected and implicitly the end of week.
4018
+	 *
4019
+	 * Set the first day of week
4020
+	 *
4021
+	 * @param int|string $day week start day (or 'auto' to get the first day of week from Carbon::getLocale() culture).
4022
+	 *
4023
+	 * @return void
4024
+	 */
4025
+	public static function setWeekStartsAt($day);
4026
+
4027
+	/**
4028
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4029
+	 *             You should rather consider week-end is always saturday and sunday, and if you have some custom
4030
+	 *             week-end days to handle, give to those days an other name and create a macro for them:
4031
+	 *
4032
+	 *             ```
4033
+	 *             Carbon::macro('isDayOff', function ($date) {
4034
+	 *                 return $date->isSunday() || $date->isMonday();
4035
+	 *             });
4036
+	 *             Carbon::macro('isNotDayOff', function ($date) {
4037
+	 *                 return !$date->isDayOff();
4038
+	 *             });
4039
+	 *             if ($someDate->isDayOff()) ...
4040
+	 *             if ($someDate->isNotDayOff()) ...
4041
+	 *             // Add 5 not-off days
4042
+	 *             $count = 5;
4043
+	 *             while ($someDate->isDayOff() || ($count-- > 0)) {
4044
+	 *                 $someDate->addDay();
4045
+	 *             }
4046
+	 *             ```
4047
+	 *
4048
+	 * Set weekend days
4049
+	 *
4050
+	 * @param array $days
4051
+	 *
4052
+	 * @return void
4053
+	 */
4054
+	public static function setWeekendDays($days);
4055
+
4056
+	/**
4057
+	 * Set specific options.
4058
+	 *  - strictMode: true|false|null
4059
+	 *  - monthOverflow: true|false|null
4060
+	 *  - yearOverflow: true|false|null
4061
+	 *  - humanDiffOptions: int|null
4062
+	 *  - toStringFormat: string|Closure|null
4063
+	 *  - toJsonFormat: string|Closure|null
4064
+	 *  - locale: string|null
4065
+	 *  - timezone: \DateTimeZone|string|int|null
4066
+	 *  - macros: array|null
4067
+	 *  - genericMacros: array|null
4068
+	 *
4069
+	 * @param array $settings
4070
+	 *
4071
+	 * @return $this|static
4072
+	 */
4073
+	public function settings(array $settings);
4074
+
4075
+	/**
4076
+	 * Set the instance's timezone from a string or object and add/subtract the offset difference.
4077
+	 *
4078
+	 * @param DateTimeZone|string $value
4079
+	 *
4080
+	 * @return static
4081
+	 */
4082
+	public function shiftTimezone($value);
4083
+
4084
+	/**
4085
+	 * Get the month overflow global behavior (can be overridden in specific instances).
4086
+	 *
4087
+	 * @return bool
4088
+	 */
4089
+	public static function shouldOverflowMonths();
4090
+
4091
+	/**
4092
+	 * Get the month overflow global behavior (can be overridden in specific instances).
4093
+	 *
4094
+	 * @return bool
4095
+	 */
4096
+	public static function shouldOverflowYears();
4097
+
4098
+	/**
4099
+	 * @alias diffForHumans
4100
+	 *
4101
+	 * Get the difference in a human readable format in the current locale from current instance to an other
4102
+	 * instance given (or now if null given).
4103
+	 */
4104
+	public function since($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
4105
+
4106
+	/**
4107
+	 * Returns standardized singular of a given singular/plural unit name (in English).
4108
+	 *
4109
+	 * @param string $unit
4110
+	 *
4111
+	 * @return string
4112
+	 */
4113
+	public static function singularUnit(string $unit): string;
4114
+
4115
+	/**
4116
+	 * Modify to start of current given unit.
4117
+	 *
4118
+	 * @example
4119
+	 * ```
4120
+	 * echo Carbon::parse('2018-07-25 12:45:16.334455')
4121
+	 *   ->startOf('month')
4122
+	 *   ->endOf('week', Carbon::FRIDAY);
4123
+	 * ```
4124
+	 *
4125
+	 * @param string            $unit
4126
+	 * @param array<int, mixed> $params
4127
+	 *
4128
+	 * @return static
4129
+	 */
4130
+	public function startOf($unit, ...$params);
4131
+
4132
+	/**
4133
+	 * Resets the date to the first day of the century and the time to 00:00:00
4134
+	 *
4135
+	 * @example
4136
+	 * ```
4137
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfCentury();
4138
+	 * ```
4139
+	 *
4140
+	 * @return static
4141
+	 */
4142
+	public function startOfCentury();
4143
+
4144
+	/**
4145
+	 * Resets the time to 00:00:00 start of day
4146
+	 *
4147
+	 * @example
4148
+	 * ```
4149
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfDay();
4150
+	 * ```
4151
+	 *
4152
+	 * @return static
4153
+	 */
4154
+	public function startOfDay();
4155
+
4156
+	/**
4157
+	 * Resets the date to the first day of the decade and the time to 00:00:00
4158
+	 *
4159
+	 * @example
4160
+	 * ```
4161
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfDecade();
4162
+	 * ```
4163
+	 *
4164
+	 * @return static
4165
+	 */
4166
+	public function startOfDecade();
4167
+
4168
+	/**
4169
+	 * Modify to start of current hour, minutes and seconds become 0
4170
+	 *
4171
+	 * @example
4172
+	 * ```
4173
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfHour();
4174
+	 * ```
4175
+	 *
4176
+	 * @return static
4177
+	 */
4178
+	public function startOfHour();
4179
+
4180
+	/**
4181
+	 * Resets the date to the first day of the millennium and the time to 00:00:00
4182
+	 *
4183
+	 * @example
4184
+	 * ```
4185
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfMillennium();
4186
+	 * ```
4187
+	 *
4188
+	 * @return static
4189
+	 */
4190
+	public function startOfMillennium();
4191
+
4192
+	/**
4193
+	 * Modify to start of current minute, seconds become 0
4194
+	 *
4195
+	 * @example
4196
+	 * ```
4197
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfMinute();
4198
+	 * ```
4199
+	 *
4200
+	 * @return static
4201
+	 */
4202
+	public function startOfMinute();
4203
+
4204
+	/**
4205
+	 * Resets the date to the first day of the month and the time to 00:00:00
4206
+	 *
4207
+	 * @example
4208
+	 * ```
4209
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfMonth();
4210
+	 * ```
4211
+	 *
4212
+	 * @return static
4213
+	 */
4214
+	public function startOfMonth();
4215
+
4216
+	/**
4217
+	 * Resets the date to the first day of the quarter and the time to 00:00:00
4218
+	 *
4219
+	 * @example
4220
+	 * ```
4221
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfQuarter();
4222
+	 * ```
4223
+	 *
4224
+	 * @return static
4225
+	 */
4226
+	public function startOfQuarter();
4227
+
4228
+	/**
4229
+	 * Modify to start of current second, microseconds become 0
4230
+	 *
4231
+	 * @example
4232
+	 * ```
4233
+	 * echo Carbon::parse('2018-07-25 12:45:16.334455')
4234
+	 *   ->startOfSecond()
4235
+	 *   ->format('H:i:s.u');
4236
+	 * ```
4237
+	 *
4238
+	 * @return static
4239
+	 */
4240
+	public function startOfSecond();
4241
+
4242
+	/**
4243
+	 * Resets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
4244
+	 *
4245
+	 * @example
4246
+	 * ```
4247
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek() . "\n";
4248
+	 * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->startOfWeek() . "\n";
4249
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek(Carbon::SUNDAY) . "\n";
4250
+	 * ```
4251
+	 *
4252
+	 * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
4253
+	 *
4254
+	 * @return static
4255
+	 */
4256
+	public function startOfWeek($weekStartsAt = null);
4257
+
4258
+	/**
4259
+	 * Resets the date to the first day of the year and the time to 00:00:00
4260
+	 *
4261
+	 * @example
4262
+	 * ```
4263
+	 * echo Carbon::parse('2018-07-25 12:45:16')->startOfYear();
4264
+	 * ```
4265
+	 *
4266
+	 * @return static
4267
+	 */
4268
+	public function startOfYear();
4269
+
4270
+	/**
4271
+	 * Subtract given units or interval to the current instance.
4272
+	 *
4273
+	 * @example $date->sub('hour', 3)
4274
+	 * @example $date->sub(15, 'days')
4275
+	 * @example $date->sub(CarbonInterval::days(4))
4276
+	 *
4277
+	 * @param string|DateInterval|Closure|CarbonConverterInterface $unit
4278
+	 * @param int                                                  $value
4279
+	 * @param bool|null                                            $overflow
4280
+	 *
4281
+	 * @return static
4282
+	 */
4283
+	#[ReturnTypeWillChange]
4284
+	public function sub($unit, $value = 1, $overflow = null);
4285
+
4286
+	public function subRealUnit($unit, $value = 1);
4287
+
4288
+	/**
4289
+	 * Subtract given units to the current instance.
4290
+	 *
4291
+	 * @param string    $unit
4292
+	 * @param int       $value
4293
+	 * @param bool|null $overflow
4294
+	 *
4295
+	 * @return static
4296
+	 */
4297
+	public function subUnit($unit, $value = 1, $overflow = null);
4298
+
4299
+	/**
4300
+	 * Subtract any unit to a new value without overflowing current other unit given.
4301
+	 *
4302
+	 * @param string $valueUnit    unit name to modify
4303
+	 * @param int    $value        amount to subtract to the input unit
4304
+	 * @param string $overflowUnit unit name to not overflow
4305
+	 *
4306
+	 * @return static
4307
+	 */
4308
+	public function subUnitNoOverflow($valueUnit, $value, $overflowUnit);
4309
+
4310
+	/**
4311
+	 * Subtract given units or interval to the current instance.
4312
+	 *
4313
+	 * @see sub()
4314
+	 *
4315
+	 * @param string|DateInterval $unit
4316
+	 * @param int                 $value
4317
+	 * @param bool|null           $overflow
4318
+	 *
4319
+	 * @return static
4320
+	 */
4321
+	public function subtract($unit, $value = 1, $overflow = null);
4322
+
4323
+	/**
4324
+	 * Get the difference in a human readable format in the current locale from current instance to an other
4325
+	 * instance given (or now if null given).
4326
+	 *
4327
+	 * @return string
4328
+	 */
4329
+	public function timespan($other = null, $timezone = null);
4330
+
4331
+	/**
4332
+	 * Set the instance's timestamp.
4333
+	 *
4334
+	 * Timestamp input can be given as int, float or a string containing one or more numbers.
4335
+	 *
4336
+	 * @param float|int|string $unixTimestamp
4337
+	 *
4338
+	 * @return static
4339
+	 */
4340
+	public function timestamp($unixTimestamp);
4341
+
4342
+	/**
4343
+	 * @alias setTimezone
4344
+	 *
4345
+	 * @param DateTimeZone|string $value
4346
+	 *
4347
+	 * @return static
4348
+	 */
4349
+	public function timezone($value);
4350
+
4351
+	/**
4352
+	 * Get the difference in a human readable format in the current locale from an other
4353
+	 * instance given (or now if null given) to current instance.
4354
+	 *
4355
+	 * When comparing a value in the past to default now:
4356
+	 * 1 hour from now
4357
+	 * 5 months from now
4358
+	 *
4359
+	 * When comparing a value in the future to default now:
4360
+	 * 1 hour ago
4361
+	 * 5 months ago
4362
+	 *
4363
+	 * When comparing a value in the past to another value:
4364
+	 * 1 hour after
4365
+	 * 5 months after
4366
+	 *
4367
+	 * When comparing a value in the future to another value:
4368
+	 * 1 hour before
4369
+	 * 5 months before
4370
+	 *
4371
+	 * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
4372
+	 *                                                             if null passed, now will be used as comparison reference;
4373
+	 *                                                             if any other type, it will be converted to date and used as reference.
4374
+	 * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
4375
+	 *                                                             - 'syntax' entry (see below)
4376
+	 *                                                             - 'short' entry (see below)
4377
+	 *                                                             - 'parts' entry (see below)
4378
+	 *                                                             - 'options' entry (see below)
4379
+	 *                                                             - 'join' entry determines how to join multiple parts of the string
4380
+	 *                                                             `  - if $join is a string, it's used as a joiner glue
4381
+	 *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
4382
+	 *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
4383
+	 *                                                             `    will be used instead of the glue for the last item
4384
+	 *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
4385
+	 *                                                             `  - if $join is missing, a space will be used as glue
4386
+	 *                                                             - 'other' entry (see above)
4387
+	 *                                                             if int passed, it add modifiers:
4388
+	 *                                                             Possible values:
4389
+	 *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
4390
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
4391
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
4392
+	 *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
4393
+	 * @param bool                                        $short   displays short format of time units
4394
+	 * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
4395
+	 * @param int                                         $options human diff options
4396
+	 *
4397
+	 * @return string
4398
+	 */
4399
+	public function to($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
4400
+
4401
+	/**
4402
+	 * Get default array representation.
4403
+	 *
4404
+	 * @example
4405
+	 * ```
4406
+	 * var_dump(Carbon::now()->toArray());
4407
+	 * ```
4408
+	 *
4409
+	 * @return array
4410
+	 */
4411
+	public function toArray();
4412
+
4413
+	/**
4414
+	 * Format the instance as ATOM
4415
+	 *
4416
+	 * @example
4417
+	 * ```
4418
+	 * echo Carbon::now()->toAtomString();
4419
+	 * ```
4420
+	 *
4421
+	 * @return string
4422
+	 */
4423
+	public function toAtomString();
4424
+
4425
+	/**
4426
+	 * Format the instance as COOKIE
4427
+	 *
4428
+	 * @example
4429
+	 * ```
4430
+	 * echo Carbon::now()->toCookieString();
4431
+	 * ```
4432
+	 *
4433
+	 * @return string
4434
+	 */
4435
+	public function toCookieString();
4436
+
4437
+	/**
4438
+	 * @alias toDateTime
4439
+	 *
4440
+	 * Return native DateTime PHP object matching the current instance.
4441
+	 *
4442
+	 * @example
4443
+	 * ```
4444
+	 * var_dump(Carbon::now()->toDate());
4445
+	 * ```
4446
+	 *
4447
+	 * @return DateTime
4448
+	 */
4449
+	public function toDate();
4450
+
4451
+	/**
4452
+	 * Format the instance as date
4453
+	 *
4454
+	 * @example
4455
+	 * ```
4456
+	 * echo Carbon::now()->toDateString();
4457
+	 * ```
4458
+	 *
4459
+	 * @return string
4460
+	 */
4461
+	public function toDateString();
4462
+
4463
+	/**
4464
+	 * Return native DateTime PHP object matching the current instance.
4465
+	 *
4466
+	 * @example
4467
+	 * ```
4468
+	 * var_dump(Carbon::now()->toDateTime());
4469
+	 * ```
4470
+	 *
4471
+	 * @return DateTime
4472
+	 */
4473
+	public function toDateTime();
4474
+
4475
+	/**
4476
+	 * Return native toDateTimeImmutable PHP object matching the current instance.
4477
+	 *
4478
+	 * @example
4479
+	 * ```
4480
+	 * var_dump(Carbon::now()->toDateTimeImmutable());
4481
+	 * ```
4482
+	 *
4483
+	 * @return DateTimeImmutable
4484
+	 */
4485
+	public function toDateTimeImmutable();
4486
+
4487
+	/**
4488
+	 * Format the instance as date and time T-separated with no timezone
4489
+	 *
4490
+	 * @example
4491
+	 * ```
4492
+	 * echo Carbon::now()->toDateTimeLocalString();
4493
+	 * echo "\n";
4494
+	 * echo Carbon::now()->toDateTimeLocalString('minute'); // You can specify precision among: minute, second, millisecond and microsecond
4495
+	 * ```
4496
+	 *
4497
+	 * @param string $unitPrecision
4498
+	 *
4499
+	 * @return string
4500
+	 */
4501
+	public function toDateTimeLocalString($unitPrecision = 'second');
4502
+
4503
+	/**
4504
+	 * Format the instance as date and time
4505
+	 *
4506
+	 * @example
4507
+	 * ```
4508
+	 * echo Carbon::now()->toDateTimeString();
4509
+	 * ```
4510
+	 *
4511
+	 * @param string $unitPrecision
4512
+	 *
4513
+	 * @return string
4514
+	 */
4515
+	public function toDateTimeString($unitPrecision = 'second');
4516
+
4517
+	/**
4518
+	 * Format the instance with day, date and time
4519
+	 *
4520
+	 * @example
4521
+	 * ```
4522
+	 * echo Carbon::now()->toDayDateTimeString();
4523
+	 * ```
4524
+	 *
4525
+	 * @return string
4526
+	 */
4527
+	public function toDayDateTimeString();
4528
+
4529
+	/**
4530
+	 * Format the instance as a readable date
4531
+	 *
4532
+	 * @example
4533
+	 * ```
4534
+	 * echo Carbon::now()->toFormattedDateString();
4535
+	 * ```
4536
+	 *
4537
+	 * @return string
4538
+	 */
4539
+	public function toFormattedDateString();
4540
+
4541
+	/**
4542
+	 * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z, if $keepOffset truthy, offset will be kept:
4543
+	 * 1977-04-22T01:00:00-05:00).
4544
+	 *
4545
+	 * @example
4546
+	 * ```
4547
+	 * echo Carbon::now('America/Toronto')->toISOString() . "\n";
4548
+	 * echo Carbon::now('America/Toronto')->toISOString(true) . "\n";
4549
+	 * ```
4550
+	 *
4551
+	 * @param bool $keepOffset Pass true to keep the date offset. Else forced to UTC.
4552
+	 *
4553
+	 * @return null|string
4554
+	 */
4555
+	public function toISOString($keepOffset = false);
4556
+
4557
+	/**
4558
+	 * Return a immutable copy of the instance.
4559
+	 *
4560
+	 * @return CarbonImmutable
4561
+	 */
4562
+	public function toImmutable();
4563
+
4564
+	/**
4565
+	 * Format the instance as ISO8601
4566
+	 *
4567
+	 * @example
4568
+	 * ```
4569
+	 * echo Carbon::now()->toIso8601String();
4570
+	 * ```
4571
+	 *
4572
+	 * @return string
4573
+	 */
4574
+	public function toIso8601String();
4575
+
4576
+	/**
4577
+	 * Convert the instance to UTC and return as Zulu ISO8601
4578
+	 *
4579
+	 * @example
4580
+	 * ```
4581
+	 * echo Carbon::now()->toIso8601ZuluString();
4582
+	 * ```
4583
+	 *
4584
+	 * @param string $unitPrecision
4585
+	 *
4586
+	 * @return string
4587
+	 */
4588
+	public function toIso8601ZuluString($unitPrecision = 'second');
4589
+
4590
+	/**
4591
+	 * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z) with UTC timezone.
4592
+	 *
4593
+	 * @example
4594
+	 * ```
4595
+	 * echo Carbon::now('America/Toronto')->toJSON();
4596
+	 * ```
4597
+	 *
4598
+	 * @return null|string
4599
+	 */
4600
+	public function toJSON();
4601
+
4602
+	/**
4603
+	 * Return a mutable copy of the instance.
4604
+	 *
4605
+	 * @return Carbon
4606
+	 */
4607
+	public function toMutable();
4608
+
4609
+	/**
4610
+	 * Get the difference in a human readable format in the current locale from an other
4611
+	 * instance given to now
4612
+	 *
4613
+	 * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
4614
+	 *                           - 'syntax' entry (see below)
4615
+	 *                           - 'short' entry (see below)
4616
+	 *                           - 'parts' entry (see below)
4617
+	 *                           - 'options' entry (see below)
4618
+	 *                           - 'join' entry determines how to join multiple parts of the string
4619
+	 *                           `  - if $join is a string, it's used as a joiner glue
4620
+	 *                           `  - if $join is a callable/closure, it get the list of string and should return a string
4621
+	 *                           `  - if $join is an array, the first item will be the default glue, and the second item
4622
+	 *                           `    will be used instead of the glue for the last item
4623
+	 *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
4624
+	 *                           `  - if $join is missing, a space will be used as glue
4625
+	 *                           if int passed, it add modifiers:
4626
+	 *                           Possible values:
4627
+	 *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
4628
+	 *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
4629
+	 *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
4630
+	 *                           Default value: CarbonInterface::DIFF_ABSOLUTE
4631
+	 * @param bool      $short   displays short format of time units
4632
+	 * @param int       $parts   maximum number of parts to display (default value: 1: single part)
4633
+	 * @param int       $options human diff options
4634
+	 *
4635
+	 * @return string
4636
+	 */
4637
+	public function toNow($syntax = null, $short = false, $parts = 1, $options = null);
4638
+
4639
+	/**
4640
+	 * Get default object representation.
4641
+	 *
4642
+	 * @example
4643
+	 * ```
4644
+	 * var_dump(Carbon::now()->toObject());
4645
+	 * ```
4646
+	 *
4647
+	 * @return object
4648
+	 */
4649
+	public function toObject();
4650
+
4651
+	/**
4652
+	 * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
4653
+	 *
4654
+	 * @param \DateTimeInterface|Carbon|CarbonImmutable|int|null $end      period end date or recurrences count if int
4655
+	 * @param int|\DateInterval|string|null                      $interval period default interval or number of the given $unit
4656
+	 * @param string|null                                        $unit     if specified, $interval must be an integer
4657
+	 *
4658
+	 * @return CarbonPeriod
4659
+	 */
4660
+	public function toPeriod($end = null, $interval = null, $unit = null);
4661
+
4662
+	/**
4663
+	 * Format the instance as RFC1036
4664
+	 *
4665
+	 * @example
4666
+	 * ```
4667
+	 * echo Carbon::now()->toRfc1036String();
4668
+	 * ```
4669
+	 *
4670
+	 * @return string
4671
+	 */
4672
+	public function toRfc1036String();
4673
+
4674
+	/**
4675
+	 * Format the instance as RFC1123
4676
+	 *
4677
+	 * @example
4678
+	 * ```
4679
+	 * echo Carbon::now()->toRfc1123String();
4680
+	 * ```
4681
+	 *
4682
+	 * @return string
4683
+	 */
4684
+	public function toRfc1123String();
4685
+
4686
+	/**
4687
+	 * Format the instance as RFC2822
4688
+	 *
4689
+	 * @example
4690
+	 * ```
4691
+	 * echo Carbon::now()->toRfc2822String();
4692
+	 * ```
4693
+	 *
4694
+	 * @return string
4695
+	 */
4696
+	public function toRfc2822String();
4697
+
4698
+	/**
4699
+	 * Format the instance as RFC3339
4700
+	 *
4701
+	 * @param bool $extended
4702
+	 *
4703
+	 * @example
4704
+	 * ```
4705
+	 * echo Carbon::now()->toRfc3339String() . "\n";
4706
+	 * echo Carbon::now()->toRfc3339String(true) . "\n";
4707
+	 * ```
4708
+	 *
4709
+	 * @return string
4710
+	 */
4711
+	public function toRfc3339String($extended = false);
4712
+
4713
+	/**
4714
+	 * Format the instance as RFC7231
4715
+	 *
4716
+	 * @example
4717
+	 * ```
4718
+	 * echo Carbon::now()->toRfc7231String();
4719
+	 * ```
4720
+	 *
4721
+	 * @return string
4722
+	 */
4723
+	public function toRfc7231String();
4724
+
4725
+	/**
4726
+	 * Format the instance as RFC822
4727
+	 *
4728
+	 * @example
4729
+	 * ```
4730
+	 * echo Carbon::now()->toRfc822String();
4731
+	 * ```
4732
+	 *
4733
+	 * @return string
4734
+	 */
4735
+	public function toRfc822String();
4736
+
4737
+	/**
4738
+	 * Format the instance as RFC850
4739
+	 *
4740
+	 * @example
4741
+	 * ```
4742
+	 * echo Carbon::now()->toRfc850String();
4743
+	 * ```
4744
+	 *
4745
+	 * @return string
4746
+	 */
4747
+	public function toRfc850String();
4748
+
4749
+	/**
4750
+	 * Format the instance as RSS
4751
+	 *
4752
+	 * @example
4753
+	 * ```
4754
+	 * echo Carbon::now()->toRssString();
4755
+	 * ```
4756
+	 *
4757
+	 * @return string
4758
+	 */
4759
+	public function toRssString();
4760
+
4761
+	/**
4762
+	 * Returns english human readable complete date string.
4763
+	 *
4764
+	 * @example
4765
+	 * ```
4766
+	 * echo Carbon::now()->toString();
4767
+	 * ```
4768
+	 *
4769
+	 * @return string
4770
+	 */
4771
+	public function toString();
4772
+
4773
+	/**
4774
+	 * Format the instance as time
4775
+	 *
4776
+	 * @example
4777
+	 * ```
4778
+	 * echo Carbon::now()->toTimeString();
4779
+	 * ```
4780
+	 *
4781
+	 * @param string $unitPrecision
4782
+	 *
4783
+	 * @return string
4784
+	 */
4785
+	public function toTimeString($unitPrecision = 'second');
4786
+
4787
+	/**
4788
+	 * Format the instance as W3C
4789
+	 *
4790
+	 * @example
4791
+	 * ```
4792
+	 * echo Carbon::now()->toW3cString();
4793
+	 * ```
4794
+	 *
4795
+	 * @return string
4796
+	 */
4797
+	public function toW3cString();
4798
+
4799
+	/**
4800
+	 * Create a Carbon instance for today.
4801
+	 *
4802
+	 * @param DateTimeZone|string|null $tz
4803
+	 *
4804
+	 * @return static
4805
+	 */
4806
+	public static function today($tz = null);
4807
+
4808
+	/**
4809
+	 * Create a Carbon instance for tomorrow.
4810
+	 *
4811
+	 * @param DateTimeZone|string|null $tz
4812
+	 *
4813
+	 * @return static
4814
+	 */
4815
+	public static function tomorrow($tz = null);
4816
+
4817
+	/**
4818
+	 * Translate using translation string or callback available.
4819
+	 *
4820
+	 * @param string                                                  $key
4821
+	 * @param array                                                   $parameters
4822
+	 * @param string|int|float|null                                   $number
4823
+	 * @param \Symfony\Component\Translation\TranslatorInterface|null $translator
4824
+	 * @param bool                                                    $altNumbers
4825
+	 *
4826
+	 * @return string
4827
+	 */
4828
+	public function translate(string $key, array $parameters = [], $number = null, ?TranslatorInterface $translator = null, bool $altNumbers = false): string;
4829
+
4830
+	/**
4831
+	 * Returns the alternative number for a given integer if available in the current locale.
4832
+	 *
4833
+	 * @param int $number
4834
+	 *
4835
+	 * @return string
4836
+	 */
4837
+	public function translateNumber(int $number): string;
4838
+
4839
+	/**
4840
+	 * Translate a time string from a locale to an other.
4841
+	 *
4842
+	 * @param string      $timeString date/time/duration string to translate (may also contain English)
4843
+	 * @param string|null $from       input locale of the $timeString parameter (`Carbon::getLocale()` by default)
4844
+	 * @param string|null $to         output locale of the result returned (`"en"` by default)
4845
+	 * @param int         $mode       specify what to translate with options:
4846
+	 *                                - self::TRANSLATE_ALL (default)
4847
+	 *                                - CarbonInterface::TRANSLATE_MONTHS
4848
+	 *                                - CarbonInterface::TRANSLATE_DAYS
4849
+	 *                                - CarbonInterface::TRANSLATE_UNITS
4850
+	 *                                - CarbonInterface::TRANSLATE_MERIDIEM
4851
+	 *                                You can use pipe to group: CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS
4852
+	 *
4853
+	 * @return string
4854
+	 */
4855
+	public static function translateTimeString($timeString, $from = null, $to = null, $mode = self::TRANSLATE_ALL);
4856
+
4857
+	/**
4858
+	 * Translate a time string from the current locale (`$date->locale()`) to an other.
4859
+	 *
4860
+	 * @param string      $timeString time string to translate
4861
+	 * @param string|null $to         output locale of the result returned ("en" by default)
4862
+	 *
4863
+	 * @return string
4864
+	 */
4865
+	public function translateTimeStringTo($timeString, $to = null);
4866
+
4867
+	/**
4868
+	 * Translate using translation string or callback available.
4869
+	 *
4870
+	 * @param \Symfony\Component\Translation\TranslatorInterface $translator
4871
+	 * @param string                                             $key
4872
+	 * @param array                                              $parameters
4873
+	 * @param null                                               $number
4874
+	 *
4875
+	 * @return string
4876
+	 */
4877
+	public static function translateWith(TranslatorInterface $translator, string $key, array $parameters = [], $number = null): string;
4878
+
4879
+	/**
4880
+	 * Format as ->format() do (using date replacements patterns from https://php.net/manual/en/function.date.php)
4881
+	 * but translate words whenever possible (months, day names, etc.) using the current locale.
4882
+	 *
4883
+	 * @param string $format
4884
+	 *
4885
+	 * @return string
4886
+	 */
4887
+	public function translatedFormat(string $format): string;
4888
+
4889
+	/**
4890
+	 * Set the timezone or returns the timezone name if no arguments passed.
4891
+	 *
4892
+	 * @param DateTimeZone|string $value
4893
+	 *
4894
+	 * @return static|string
4895
+	 */
4896
+	public function tz($value = null);
4897
+
4898
+	/**
4899
+	 * @alias getTimestamp
4900
+	 *
4901
+	 * Returns the UNIX timestamp for the current date.
4902
+	 *
4903
+	 * @return int
4904
+	 */
4905
+	public function unix();
4906
+
4907
+	/**
4908
+	 * @alias to
4909
+	 *
4910
+	 * Get the difference in a human readable format in the current locale from an other
4911
+	 * instance given (or now if null given) to current instance.
4912
+	 *
4913
+	 * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
4914
+	 *                                                             if null passed, now will be used as comparison reference;
4915
+	 *                                                             if any other type, it will be converted to date and used as reference.
4916
+	 * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
4917
+	 *                                                             - 'syntax' entry (see below)
4918
+	 *                                                             - 'short' entry (see below)
4919
+	 *                                                             - 'parts' entry (see below)
4920
+	 *                                                             - 'options' entry (see below)
4921
+	 *                                                             - 'join' entry determines how to join multiple parts of the string
4922
+	 *                                                             `  - if $join is a string, it's used as a joiner glue
4923
+	 *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
4924
+	 *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
4925
+	 *                                                             `    will be used instead of the glue for the last item
4926
+	 *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
4927
+	 *                                                             `  - if $join is missing, a space will be used as glue
4928
+	 *                                                             - 'other' entry (see above)
4929
+	 *                                                             if int passed, it add modifiers:
4930
+	 *                                                             Possible values:
4931
+	 *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
4932
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
4933
+	 *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
4934
+	 *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
4935
+	 * @param bool                                        $short   displays short format of time units
4936
+	 * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
4937
+	 * @param int                                         $options human diff options
4938
+	 *
4939
+	 * @return string
4940
+	 */
4941
+	public function until($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
4942
+
4943
+	/**
4944
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4945
+	 *             You should rather use the ->settings() method.
4946
+	 *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
4947
+	 *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
4948
+	 * @see settings
4949
+	 *
4950
+	 * Indicates if months should be calculated with overflow.
4951
+	 *
4952
+	 * @param bool $monthsOverflow
4953
+	 *
4954
+	 * @return void
4955
+	 */
4956
+	public static function useMonthsOverflow($monthsOverflow = true);
4957
+
4958
+	/**
4959
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4960
+	 *             You should rather use the ->settings() method.
4961
+	 * @see settings
4962
+	 *
4963
+	 * Enable the strict mode (or disable with passing false).
4964
+	 *
4965
+	 * @param bool $strictModeEnabled
4966
+	 */
4967
+	public static function useStrictMode($strictModeEnabled = true);
4968
+
4969
+	/**
4970
+	 * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
4971
+	 *             You should rather use the ->settings() method.
4972
+	 *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
4973
+	 *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
4974
+	 * @see settings
4975
+	 *
4976
+	 * Indicates if years should be calculated with overflow.
4977
+	 *
4978
+	 * @param bool $yearsOverflow
4979
+	 *
4980
+	 * @return void
4981
+	 */
4982
+	public static function useYearsOverflow($yearsOverflow = true);
4983
+
4984
+	/**
4985
+	 * Set the instance's timezone to UTC.
4986
+	 *
4987
+	 * @return static
4988
+	 */
4989
+	public function utc();
4990
+
4991
+	/**
4992
+	 * Returns the minutes offset to UTC if no arguments passed, else set the timezone with given minutes shift passed.
4993
+	 *
4994
+	 * @param int|null $minuteOffset
4995
+	 *
4996
+	 * @return int|static
4997
+	 */
4998
+	public function utcOffset(?int $minuteOffset = null);
4999
+
5000
+	/**
5001
+	 * Returns the milliseconds timestamps used amongst other by Date javascript objects.
5002
+	 *
5003
+	 * @return float
5004
+	 */
5005
+	public function valueOf();
5006
+
5007
+	/**
5008
+	 * Get/set the week number using given first day of week and first
5009
+	 * day of year included in the first week. Or use US format if no settings
5010
+	 * given (Sunday / Jan 6).
5011
+	 *
5012
+	 * @param int|null $week
5013
+	 * @param int|null $dayOfWeek
5014
+	 * @param int|null $dayOfYear
5015
+	 *
5016
+	 * @return int|static
5017
+	 */
5018
+	public function week($week = null, $dayOfWeek = null, $dayOfYear = null);
5019
+
5020
+	/**
5021
+	 * Set/get the week number of year using given first day of week and first
5022
+	 * day of year included in the first week. Or use US format if no settings
5023
+	 * given (Sunday / Jan 6).
5024
+	 *
5025
+	 * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
5026
+	 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
5027
+	 * @param int|null $dayOfYear first day of year included in the week #1
5028
+	 *
5029
+	 * @return int|static
5030
+	 */
5031
+	public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null);
5032
+
5033
+	/**
5034
+	 * Get/set the weekday from 0 (Sunday) to 6 (Saturday).
5035
+	 *
5036
+	 * @param int|null $value new value for weekday if using as setter.
5037
+	 *
5038
+	 * @return static|int
5039
+	 */
5040
+	public function weekday($value = null);
5041
+
5042
+	/**
5043
+	 * Get the number of weeks of the current week-year using given first day of week and first
5044
+	 * day of year included in the first week. Or use US format if no settings
5045
+	 * given (Sunday / Jan 6).
5046
+	 *
5047
+	 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
5048
+	 * @param int|null $dayOfYear first day of year included in the week #1
5049
+	 *
5050
+	 * @return int
5051
+	 */
5052
+	public function weeksInYear($dayOfWeek = null, $dayOfYear = null);
5053
+
5054
+	/**
5055
+	 * Temporarily sets a static date to be used within the callback.
5056
+	 * Using setTestNow to set the date, executing the callback, then
5057
+	 * clearing the test instance.
5058
+	 *
5059
+	 * /!\ Use this method for unit tests only.
5060
+	 *
5061
+	 * @param Closure|static|string|false|null $testNow  real or mock Carbon instance
5062
+	 * @param Closure|null                     $callback
5063
+	 *
5064
+	 * @return mixed
5065
+	 */
5066
+	public static function withTestNow($testNow = null, $callback = null);
5067
+
5068
+	/**
5069
+	 * Create a Carbon instance for yesterday.
5070
+	 *
5071
+	 * @param DateTimeZone|string|null $tz
5072
+	 *
5073
+	 * @return static
5074
+	 */
5075
+	public static function yesterday($tz = null);
5076
+
5077
+	// </methods>
5078 5078
 }
Please login to merge, or discard this patch.
webklex/php-imap/vendor/nesbot/carbon/src/Carbon/PHPStan/AbstractMacro.php 1 patch
Indentation   +183 added lines, -183 removed lines patch added patch discarded remove patch
@@ -26,187 +26,187 @@
 block discarded – undo
26 26
 
27 27
 abstract class AbstractMacro implements BuiltinMethodReflection
28 28
 {
29
-    /**
30
-     * The reflection function/method.
31
-     *
32
-     * @var ReflectionFunction|ReflectionMethod
33
-     */
34
-    protected $reflectionFunction;
35
-
36
-    /**
37
-     * The class name.
38
-     *
39
-     * @var class-string
40
-     */
41
-    private $className;
42
-
43
-    /**
44
-     * The method name.
45
-     *
46
-     * @var string
47
-     */
48
-    private $methodName;
49
-
50
-    /**
51
-     * The parameters.
52
-     *
53
-     * @var ReflectionParameter[]
54
-     */
55
-    private $parameters;
56
-
57
-    /**
58
-     * The is static.
59
-     *
60
-     * @var bool
61
-     */
62
-    private $static = false;
63
-
64
-    /**
65
-     * Macro constructor.
66
-     *
67
-     * @param string $className
68
-     * @phpstan-param class-string $className
69
-     *
70
-     * @param string   $methodName
71
-     * @param callable $macro
72
-     */
73
-    public function __construct(string $className, string $methodName, $macro)
74
-    {
75
-        $this->className = $className;
76
-        $this->methodName = $methodName;
77
-        $this->reflectionFunction = \is_array($macro)
78
-            ? new ReflectionMethod($macro[0], $macro[1])
79
-            : new ReflectionFunction($macro);
80
-        $this->parameters = $this->reflectionFunction->getParameters();
81
-
82
-        if ($this->reflectionFunction->isClosure()) {
83
-            try {
84
-                $closure = $this->reflectionFunction->getClosure();
85
-                $boundClosure = Closure::bind($closure, new stdClass());
86
-                $this->static = (!$boundClosure || (new ReflectionFunction($boundClosure))->getClosureThis() === null);
87
-            } catch (Throwable $e) {
88
-                $this->static = true;
89
-            }
90
-        }
91
-    }
92
-
93
-    /**
94
-     * {@inheritdoc}
95
-     */
96
-    public function getDeclaringClass(): ReflectionClass
97
-    {
98
-        return new ReflectionClass($this->className);
99
-    }
100
-
101
-    /**
102
-     * {@inheritdoc}
103
-     */
104
-    public function isPrivate(): bool
105
-    {
106
-        return false;
107
-    }
108
-
109
-    /**
110
-     * {@inheritdoc}
111
-     */
112
-    public function isPublic(): bool
113
-    {
114
-        return true;
115
-    }
116
-
117
-    /**
118
-     * {@inheritdoc}
119
-     */
120
-    public function isFinal(): bool
121
-    {
122
-        return false;
123
-    }
124
-
125
-    /**
126
-     * {@inheritdoc}
127
-     */
128
-    public function isInternal(): bool
129
-    {
130
-        return false;
131
-    }
132
-
133
-    /**
134
-     * {@inheritdoc}
135
-     */
136
-    public function isAbstract(): bool
137
-    {
138
-        return false;
139
-    }
140
-
141
-    /**
142
-     * {@inheritdoc}
143
-     */
144
-    public function isStatic(): bool
145
-    {
146
-        return $this->static;
147
-    }
148
-
149
-    /**
150
-     * {@inheritdoc}
151
-     */
152
-    public function getDocComment(): ?string
153
-    {
154
-        return $this->reflectionFunction->getDocComment() ?: null;
155
-    }
156
-
157
-    /**
158
-     * {@inheritdoc}
159
-     */
160
-    public function getName(): string
161
-    {
162
-        return $this->methodName;
163
-    }
164
-
165
-    /**
166
-     * {@inheritdoc}
167
-     */
168
-    public function getParameters(): array
169
-    {
170
-        return $this->parameters;
171
-    }
172
-
173
-    /**
174
-     * {@inheritdoc}
175
-     */
176
-    public function getReturnType(): ?ReflectionType
177
-    {
178
-        return $this->reflectionFunction->getReturnType();
179
-    }
180
-
181
-    /**
182
-     * {@inheritdoc}
183
-     */
184
-    public function isDeprecated(): TrinaryLogic
185
-    {
186
-        return TrinaryLogic::createFromBoolean(
187
-            $this->reflectionFunction->isDeprecated() ||
188
-            preg_match('/@deprecated/i', $this->getDocComment() ?: '')
189
-        );
190
-    }
191
-
192
-    /**
193
-     * {@inheritdoc}
194
-     */
195
-    public function isVariadic(): bool
196
-    {
197
-        return $this->reflectionFunction->isVariadic();
198
-    }
199
-
200
-    /**
201
-     * {@inheritdoc}
202
-     */
203
-    public function getPrototype(): BuiltinMethodReflection
204
-    {
205
-        return $this;
206
-    }
207
-
208
-    public function getTentativeReturnType(): ?ReflectionType
209
-    {
210
-        return null;
211
-    }
29
+	/**
30
+	 * The reflection function/method.
31
+	 *
32
+	 * @var ReflectionFunction|ReflectionMethod
33
+	 */
34
+	protected $reflectionFunction;
35
+
36
+	/**
37
+	 * The class name.
38
+	 *
39
+	 * @var class-string
40
+	 */
41
+	private $className;
42
+
43
+	/**
44
+	 * The method name.
45
+	 *
46
+	 * @var string
47
+	 */
48
+	private $methodName;
49
+
50
+	/**
51
+	 * The parameters.
52
+	 *
53
+	 * @var ReflectionParameter[]
54
+	 */
55
+	private $parameters;
56
+
57
+	/**
58
+	 * The is static.
59
+	 *
60
+	 * @var bool
61
+	 */
62
+	private $static = false;
63
+
64
+	/**
65
+	 * Macro constructor.
66
+	 *
67
+	 * @param string $className
68
+	 * @phpstan-param class-string $className
69
+	 *
70
+	 * @param string   $methodName
71
+	 * @param callable $macro
72
+	 */
73
+	public function __construct(string $className, string $methodName, $macro)
74
+	{
75
+		$this->className = $className;
76
+		$this->methodName = $methodName;
77
+		$this->reflectionFunction = \is_array($macro)
78
+			? new ReflectionMethod($macro[0], $macro[1])
79
+			: new ReflectionFunction($macro);
80
+		$this->parameters = $this->reflectionFunction->getParameters();
81
+
82
+		if ($this->reflectionFunction->isClosure()) {
83
+			try {
84
+				$closure = $this->reflectionFunction->getClosure();
85
+				$boundClosure = Closure::bind($closure, new stdClass());
86
+				$this->static = (!$boundClosure || (new ReflectionFunction($boundClosure))->getClosureThis() === null);
87
+			} catch (Throwable $e) {
88
+				$this->static = true;
89
+			}
90
+		}
91
+	}
92
+
93
+	/**
94
+	 * {@inheritdoc}
95
+	 */
96
+	public function getDeclaringClass(): ReflectionClass
97
+	{
98
+		return new ReflectionClass($this->className);
99
+	}
100
+
101
+	/**
102
+	 * {@inheritdoc}
103
+	 */
104
+	public function isPrivate(): bool
105
+	{
106
+		return false;
107
+	}
108
+
109
+	/**
110
+	 * {@inheritdoc}
111
+	 */
112
+	public function isPublic(): bool
113
+	{
114
+		return true;
115
+	}
116
+
117
+	/**
118
+	 * {@inheritdoc}
119
+	 */
120
+	public function isFinal(): bool
121
+	{
122
+		return false;
123
+	}
124
+
125
+	/**
126
+	 * {@inheritdoc}
127
+	 */
128
+	public function isInternal(): bool
129
+	{
130
+		return false;
131
+	}
132
+
133
+	/**
134
+	 * {@inheritdoc}
135
+	 */
136
+	public function isAbstract(): bool
137
+	{
138
+		return false;
139
+	}
140
+
141
+	/**
142
+	 * {@inheritdoc}
143
+	 */
144
+	public function isStatic(): bool
145
+	{
146
+		return $this->static;
147
+	}
148
+
149
+	/**
150
+	 * {@inheritdoc}
151
+	 */
152
+	public function getDocComment(): ?string
153
+	{
154
+		return $this->reflectionFunction->getDocComment() ?: null;
155
+	}
156
+
157
+	/**
158
+	 * {@inheritdoc}
159
+	 */
160
+	public function getName(): string
161
+	{
162
+		return $this->methodName;
163
+	}
164
+
165
+	/**
166
+	 * {@inheritdoc}
167
+	 */
168
+	public function getParameters(): array
169
+	{
170
+		return $this->parameters;
171
+	}
172
+
173
+	/**
174
+	 * {@inheritdoc}
175
+	 */
176
+	public function getReturnType(): ?ReflectionType
177
+	{
178
+		return $this->reflectionFunction->getReturnType();
179
+	}
180
+
181
+	/**
182
+	 * {@inheritdoc}
183
+	 */
184
+	public function isDeprecated(): TrinaryLogic
185
+	{
186
+		return TrinaryLogic::createFromBoolean(
187
+			$this->reflectionFunction->isDeprecated() ||
188
+			preg_match('/@deprecated/i', $this->getDocComment() ?: '')
189
+		);
190
+	}
191
+
192
+	/**
193
+	 * {@inheritdoc}
194
+	 */
195
+	public function isVariadic(): bool
196
+	{
197
+		return $this->reflectionFunction->isVariadic();
198
+	}
199
+
200
+	/**
201
+	 * {@inheritdoc}
202
+	 */
203
+	public function getPrototype(): BuiltinMethodReflection
204
+	{
205
+		return $this;
206
+	}
207
+
208
+	public function getTentativeReturnType(): ?ReflectionType
209
+	{
210
+		return null;
211
+	}
212 212
 }
Please login to merge, or discard this patch.
webklex/php-imap/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroScanner.php 1 patch
Indentation   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -17,47 +17,47 @@
 block discarded – undo
17 17
 
18 18
 final class MacroScanner
19 19
 {
20
-    /**
21
-     * Return true if the given pair class-method is a Carbon macro.
22
-     *
23
-     * @param string $className
24
-     * @phpstan-param class-string $className
25
-     *
26
-     * @param string $methodName
27
-     *
28
-     * @return bool
29
-     */
30
-    public function hasMethod(string $className, string $methodName): bool
31
-    {
32
-        return is_a($className, CarbonInterface::class, true) &&
33
-            \is_callable([$className, 'hasMacro']) &&
34
-            $className::hasMacro($methodName);
35
-    }
20
+	/**
21
+	 * Return true if the given pair class-method is a Carbon macro.
22
+	 *
23
+	 * @param string $className
24
+	 * @phpstan-param class-string $className
25
+	 *
26
+	 * @param string $methodName
27
+	 *
28
+	 * @return bool
29
+	 */
30
+	public function hasMethod(string $className, string $methodName): bool
31
+	{
32
+		return is_a($className, CarbonInterface::class, true) &&
33
+			\is_callable([$className, 'hasMacro']) &&
34
+			$className::hasMacro($methodName);
35
+	}
36 36
 
37
-    /**
38
-     * Return the Macro for a given pair class-method.
39
-     *
40
-     * @param string $className
41
-     * @phpstan-param class-string $className
42
-     *
43
-     * @param string $methodName
44
-     *
45
-     * @throws ReflectionException
46
-     *
47
-     * @return Macro
48
-     */
49
-    public function getMethod(string $className, string $methodName): Macro
50
-    {
51
-        $reflectionClass = new ReflectionClass($className);
52
-        $property = $reflectionClass->getProperty('globalMacros');
37
+	/**
38
+	 * Return the Macro for a given pair class-method.
39
+	 *
40
+	 * @param string $className
41
+	 * @phpstan-param class-string $className
42
+	 *
43
+	 * @param string $methodName
44
+	 *
45
+	 * @throws ReflectionException
46
+	 *
47
+	 * @return Macro
48
+	 */
49
+	public function getMethod(string $className, string $methodName): Macro
50
+	{
51
+		$reflectionClass = new ReflectionClass($className);
52
+		$property = $reflectionClass->getProperty('globalMacros');
53 53
 
54
-        $property->setAccessible(true);
55
-        $macro = $property->getValue()[$methodName];
54
+		$property->setAccessible(true);
55
+		$macro = $property->getValue()[$methodName];
56 56
 
57
-        return new Macro(
58
-            $className,
59
-            $methodName,
60
-            $macro
61
-        );
62
-    }
57
+		return new Macro(
58
+			$className,
59
+			$methodName,
60
+			$macro
61
+		);
62
+	}
63 63
 }
Please login to merge, or discard this patch.