Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122440 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id E714D1ACEBF for ; Tue, 20 Feb 2024 09:05:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1708419932; bh=SOGVW6ypnnnu744JsYa5C3hbbvg3lasWANDVzb7ft38=; h=Date:Subject:To:References:From:In-Reply-To:From; b=IaY6cN1qx7YM8Jt4rZ8VJ6d67NeMaZm0FNDpWYAz+ttQpRzJrZc9wfNqFM+S5y780 ZHE9UHngXaXJOPQ21Vq083mGE7DpttqXA/UaH9Ao90gXmjJnguef3XGXRHjScUJNQE DaY4kW5VXk1XkPgSpFGIyYMaZnwtPa6FfjS64AoPYRodWhExZIlgSqCWzIiiixcU2T zJbTXoodlnStbd40NYUPdBb5ieXTQYtpAOSN2Z5W3Z04DVLe0Nmn/T1w7IkgQyGlz7 A+oZYYZbL66vduTlBdjS3CigdnJxpyoIGPicIk6TfdrwwmJ2JniOLE/2k5A2giDydP CaXVs/0bGi0OQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B90D5180059 for ; Tue, 20 Feb 2024 09:05:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DMARC_MISSING, HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from wp160.webpack.hosteurope.de (wp160.webpack.hosteurope.de [80.237.132.167]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 20 Feb 2024 01:05:31 -0800 (PST) Received: from [2a02:8109:b323:1700:4ebc:556a:a272:e720]; authenticated by wp160.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1rcM46-0007RG-1z; Tue, 20 Feb 2024 10:05:26 +0100 Message-ID: <70da7d53-5f0b-4177-84e7-29fa43b96949@mabe.berlin> Date: Tue, 20 Feb 2024 10:05:25 +0100 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Requesting RFC karma Content-Language: en-US To: internals@lists.php.net References: <176d0694-8b9b-4aa2-abea-9bfe8225b713@mabe.berlin> Autocrypt: addr=marc@mabe.berlin; keydata= xsBNBFby8roBCAD4qHjbk9+V3SmB5DfpkTtX58jYJ9VXVfF54MDoI0fQiYvKyrrghfO78alH c12RsEZxLH2F5kEfu8WO4wA4apg2gBnRRxqPj7krsct1ySOAdMrRVp8Wtaeaznpdcn2gJZyA MSI6LTzebT25N77ksvSrUi1BuCKyOa7SmYff3xGgOwYsHQlT5opMNGPCVegiPmO/K37anwts gj6L7RVtjXtp2Z3wAs6r3EmO318PL48xDLUgYMvEFAPJglth5FGH2En6n6HFIhxh43LqXQiN eHVjLjS2y8huNBswwc9ZVxk3ip5z/GCmpWnNkgGBOSJ7loJRsq2tOaU6yU8KWb5rhOoFABEB AAHNIU1hcmMgQmVubmV3aXR6IDxtYXJjQG1hYmUuYmVybGluPsLAeAQTAQIAIgUCVvLyugIb AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQOTar91O8iM6jzggAwvV6MqU/hcAI6ldp xVjucGz2J9cAWtva8GL+rm9zvEs7EENtamehJiZob/CTw50WiI/zsJzPblktpT0D2AFBEp9k P5/8CmCpZzxYPsxnLtsFM52fOBpO+aP0PSStBpJjndjBH7HPqKcTCXM3ZM+SL6lyRweAJR7G +JXIZbuUrbjB2lbGx3itNZ6TeXqqnE6KTXNKLEbNHfVdzE4sPDkmuZRo/M2h+gmeS1iQb29W BmhvL6czugCQI9rYl7C4Nci9wPii1lTYyfCWQfQKID4/F2HiOv+N/vDMCK1xV8TUeCy8w4X+ nYj+wDog046ki9lUM60oPij6WoSJLqfsXr1kNc7ATQRW8vK6AQgAq7QYLB1Dz+8RSi5AGJP1 tOFQXtcxyOhNVQZsI1mCQiHay4wteQ+5m4EOUuR+FrFIlnbSrPdTkKD2wvQDHVqpZivThBpJ vara/ick0wi2R3dasu1sPMu1P6h1EwUsydhviNJB07aLfPAWD6eoqmGTd8236znIIq7mbnNp OnxIQxviTyELUekrNw38uQtVzR6XZv9PAThA2o1J1JZID7QUpKcNyo9ebYlwxyS+xzhA4DLD qfD6O5sKoKvxEf2fIZeP0ETPpHNYk0WiWnmNoPy8eEY07LriYALVidBwPBcxus0wGoKf8Nun y2aE13SHmj0ioBI1bXMGJx3hEbvzXK6WrwARAQABwsBfBBgBAgAJBQJW8vK6AhsMAAoJEDk2 q/dTvIjOkowIAI70P8U4j3eqyK/7x1bnCZZRcpwZ1aH+LR1yMKTINo9NDqlOBWQTLT69YMfV 4UN+nTSiD/uLw1fSeLSzBwpoalCMLPVOX/d3Mq5JtL5cKtWUTIVf3Vb7VbN4Rvb8HgWjeSnM 1PiG9yQBmLKI68sG/gdgvA/xANdUatkDgG0yj8PCdt+Vy4EblXbIAXZXJ6eRugSKowTjst7i HXKOJxivomHFcmqmkiqjwGTGx/jrhbDtEpPDRk+U9W45D4CbUcyPR6lMSrje5JPGQDv/45M5 wPe286YelBjnb0cWRJpA7GZCWDKZOsQ2H6cCRBi8i4m+vfRk7GLA536XnmvWxKFVP9U= In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------XUFwhdVvAnmh1FYAiINcZe2w" X-bounce-key: webpack.hosteurope.de;marc@mabe.berlin;1708419927;6ba47e18; X-HE-SMSGID: 1rcM46-0007RG-1z From: marc@mabe.berlin (Marc Bennewitz) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------XUFwhdVvAnmh1FYAiINcZe2w Content-Type: multipart/mixed; boundary="------------ODme06w96fVdPfZOa920NdIb"; protected-headers="v1" From: Marc Bennewitz To: internals@lists.php.net Message-ID: <70da7d53-5f0b-4177-84e7-29fa43b96949@mabe.berlin> Subject: Re: [PHP-DEV] Requesting RFC karma References: <176d0694-8b9b-4aa2-abea-9bfe8225b713@mabe.berlin> In-Reply-To: --------------ODme06w96fVdPfZOa920NdIb Content-Type: multipart/mixed; boundary="------------tdsSIzCq4bwqyRzqpuNbuKmg" --------------tdsSIzCq4bwqyRzqpuNbuKmg Content-Type: multipart/alternative; boundary="------------n0mN9Ecn2ubf5PMBF1HLXq5t" --------------n0mN9Ecn2ubf5PMBF1HLXq5t Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAyMC4wMi4yNCAwOTo1OCwgRGVyaWNrIFJldGhhbnMgd3JvdGU6DQo+IE9uIDIwIEZl YnJ1YXJ5IDIwMjQgMDg6NDE6MTkgR01ULCBNYXJjIEJlbm5ld2l0ejxtYXJjQG1hYmUuYmVy bGluPiAgd3JvdGU6DQo+PiBIaSBIYW5zLA0KPj4NCj4+IE9uIDE2LjAyLjI0IDEzOjA1LCBI YW5zIEhlbnJpayBCZXJnYW4gd3JvdGU6DQo+Pj4gTXkgbmFtZSBpcyAiSGFucyBIZW5yaWsg QmVyZ2FuIiwgdXN1YWxseSBnbyBieSB0aGUgbmlja25hbWUNCj4+PiAiZGl2aW5pdHk3NiIs IEkndmUgY29udHJpYnV0ZWQgdG8gT1NTIChpbmNsdWRpbmcgUEhQKSBmb3IgeWVhcnMsIGFu ZA0KPj4+IGFtIGN1cnJlbnRseSBpbnZvbHZlZCBpbiAzIHRoaW5ncyB0aGF0IG1pZ2h0IHJl cXVpcmUgYW4gUkZDLCBhbmQNCj4+PiByZXF1ZXN0aW5nIFJGQyBrYXJtYSBmb3Igd2lraSBh Y2NvdW50ICJkaXZpbml0eTc2Ii4NCj4+Pg0KPj4+IDMvMzogaW50fGZsb2F0IGZvciBEYXRl VGltZTo6c2V0VGltZXN0YW1wLCBzZXRUaW1lc3RhbXAoMC4xMjM0NTYpID0+DQo+Pj4gMTk3 MC0wMS0wMSAwMDowMDowMC4xMjM0NTYgOmh0dHBzOi8vZ2l0aHViLmNvbS9waHAvcGhwLXNy Yy9wdWxsLzEzMzgzDQo+PiBBY3R1YWxseSBJIGFsc28gd2FudCB0byB3b3JrIG9uIHRoaXMg aWYgSSBmaW5kIHRpbWUgLi4uIGJ1dCBhcyB0aGlzIGlzIGEgQkMgYnJlYWsgSSB0aGluayBp dCBtYWtlcyBzZW5zZSB0byByZXZpc2l0IERhdGVUaW1lIChhbmQgZnJpZW5kcykgdG8gYnVu ZGxlIEJDIGJyZWFrcyB0byBhIHNpbmdsZSBQSFAgdmVyc2lvbiAtIHByb2JhYmx5IFBIUCA5 IGFuZCBtb3JlIHN1cmUgdGhlcmUgaXMgYSB3YXkgZm9yIHVzZXJzIHRvIG1ha2UgaXQgd29y ayBpbiBQSFAgKDcrKTgrOS4NCj4+DQo+PiBQZXJzb25hbCBhbmQgaW5jb21wbGV0ZSBsaXN0 IEkgdGhpbmsgbmVlZHMgaW1wcm92ZW1lbnRzOg0KPj4NCj4+ICogYWxsb3cgZmxvYXQgZm9y IGBzZXRUaW1lc3RhbXBgDQo+PiAqIG9wdGlvbiB0byByZXR1cm4gdGltZXN0YW1wIGFzIGZs b2F0IHRvIHNpbXBsaWZ5IHBhc3NpbmcgaXQgdG8gSlMNCj4+ICogTWlzc2luZyBnZXR0ZXIv c2V0dGVyIGZvciBtb3N0IG9mIHRoZSBkYXRlL3RpbWUgcGFydHMgbGlrZSBgZ2V0L3NldFNl Y29uZGAsIGBnZXQvc2V0SG91cmAgZXRjLg0KPj4gIMKgICogRm9yIG5vdyBJIG9ubHkgYWRk ZWQgYGdldC9zZXRNaWNyb3NlY29uZHNgIHRvZ2V0aGVyIHdpdGggYGNyZWF0ZUZyb21UaW1l c3RhbXBgIGJlY2F1c2UgYERhdGVUaW1lOjpjcmVhdGVGcm9tVGltZXN0YW1wKDEyMzQ1Njc4 OSktPnNldE1pY3Jvc2Vjb25kcygxMjM5ODcpYA0KPj4gIMKgICogQWZ0ZXIgdGhpbmtpbmcg YWJvdXQgbmFtaW5nIC0gSSB0aGluayB0aGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHNpbmd1 bGFyIPCfmKwNCj4+ICogQWRkIG1pc3NpbmcgbWV0aG9kcyB0byBEYXRlVGltZUludGVyZmFj ZQ0KPj4gKiBBbGxvdyB1c2VybGFuZCBpbXBsZW1lbnRzIERhdGVUaW1lSW50ZXJmYWNlDQo+ PiAgwqAgKiBEZWZpbmUgaG93IGBjcmVhdGVGcm9tSW50ZXJmYWNlYCBiZWhhdmVzIG9uIHVz ZXJsYW5kIGltcGxlbWVudGF0aW9ucw0KPj4gKiBmaXhpbmcgSVNPIDg2MDEgZm9ybWF0DQo+ PiAqIGZpeGluZyBzb21lIHJldHVybiB0eXBlIGRlZmluaXRpb25zIGZyb20gc2VsZiB0byBz dGF0aWMNCj4+ICogc3RyaWN0IG1vZGUNCj4+ICDCoCAqIGBEYXRlVGltZTo6Y3JlYXRlRnJv bUZvcm1hdCgnWS1tLWQnLCAnMjAyMy0wMi0yOScpYA0KPj4gIMKgICogYERhdGVUaW1lOjpj cmVhdGVGcm9tRm9ybWF0KCdZLW0tZCBIOmknLCAnMjAyNC0wMy0zMSAwMjozMCcsIG5ldyBE YXRlVGltZVpvbmUoJ0V1cm9wZS9CZXJsaW4nKSlgDQo+PiAqIE1pc3NpbmcgY3VycmVudCBt aWNyb3NlY29uZHMgb24gYGNyZWF0ZUZyb21Gb3JtYXRgIGJ1dCBvdGhlciBub24gZGVmaW5l ZCBwYXJ0cyBuZWVkcyB0byBiZSBleHBsaWNpdGx5IHJlc2V0IHVzaW5nIGB8IWANCj4+ICog bGVhcCBzZWNvbmRzIHN1cHBvcnQgb24gVVRDIFRaDQo+PiAgwqAgKiBBcyBvZiBsZWFwIHNl Y29uZHMgLi4uIHdvdWxkbid0IGl0IGJlIGJldHRlciB0byBkZWZhdWx0IHRvICswMDowMCBp bnN0ZWFkIG9mIFVUQyA/DQo+PiAqIFN1cHBvcnQgbmFub3NlY29uZHMNCj4+DQo+Pg0KPj4g SSdtIGZvciBzdXJlIG5vdCBhYmxlIHRvIHdvcmsgb24gYWxsIHRoZXNlIHBvaW50cyBhbmQg dGhhdCdzIHdoeSBJIG9ubHkgc3RhcnRlZCB2ZXJ5IHNtYWxsIGNsb3NlIHRvIG5vIEJDIGlt cHJvdmVtZW50cyB3aXRob3V0IFJGQy4NCj4+DQo+Pg0KPj4gTWFyYw0KPj4NCj4gSU1PLCBk b2luZyB0d2Vha3MgdG8gdGhpcyBiYXNlIGZ1bmN0aW9uYWxpdHkgaXNuJ3QgdGhlIHdheSBm b3J3YXJkcy4gSSd2ZSBiZWVuIGhhdmluZyBvbiBhbmQgb2ZmIGNvbnZlcnNhdGlvbnMgd2l0 aCBGbG9yaWFuIG92ZXIgdGhlIGxhc3QgY291cGxlIG9mIG1vbnRocyB0byBzZWUgaWYgd2Ug Y2FuIGRlc2lnbiBhIGJldHRlciBoaWdoZXIgbGV2ZWwgQVBJIGluc3RlYWQgb2YgcGF0Y2hp bmcgdGhlIG5pdHMuDQoNCkRvIHlvdSBtZWFuIGFkZGluZyBhbiBhZGRpdGlvbmFsIEFQSSBp biBDIG9yIHVzZXJsYW5kPyBJcyB0aGVyZSBhIHdheSB0byANCnBhcnRpY2lwYXRlIG9uIHRo ZSBkaXNjdXNzaW9uPw0KDQo+IGNoZWVycw0KPiBEZXJpY2sNCj4NCkJlc3QsDQpNYXJjDQo= --------------n0mN9Ecn2ubf5PMBF1HLXq5t Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 20.02.24 09:58, Derick Rethans wrote:
On 20 February 2024 08:41:19=
 GMT, Marc Bennewitz <marc@mabe.berlin> wrote:
Hi Hans,

On 16.02.24 13:05, Hans Henrik Bergan wrote:
My name is "Hans Henrik =
Bergan", usually go by the nickname
"divinity76", I've contributed to OSS (including PHP) for years, and
am currently involved in 3 things that might require an RFC, and
requesting RFC karma for wiki account "divinity76".

3/3: int|float for DateTime::setTimestamp, setTimestamp(0.123456) =3D>=

1970-01-01 00:00:00.123456 : https://github.com/php/php-src/=
pull/13383
Actually I also want to work on this if I find time ... but as this is a =
BC break I think it makes sense to revisit DateTime (and friends) to bund=
le BC breaks to a single PHP version - probably PHP 9 and more sure there=
 is a way for users to make it work in PHP (7+)8+9.

Personal and incomplete list I think needs improvements:

* allow float for `setTimestamp`
* option to return timestamp as float to simplify passing it to JS
* Missing getter/setter for most of the date/time parts like `get/setSeco=
nd`, `get/setHour` etc.
=C2=A0 * For now I only added `get/setMicroseconds` together with `create=
FromTimestamp` because `DateTime::createFromTimestamp(123456789)->setM=
icroseconds(123987)`
=C2=A0 * After thinking about naming - I think this should be renamed to =
singular =F0=9F=98=AC
* Add missing methods to DateTimeInterface
* Allow userland implements DateTimeInterface
=C2=A0 * Define how `createFromInterface` behaves on userland implementat=
ions
* fixing ISO 8601 format
* fixing some return type definitions from self to static
* strict mode
=C2=A0 * `DateTime::createFromFormat('Y-m-d', '2023-02-29')`
=C2=A0 * `DateTime::createFromFormat('Y-m-d H:i', '2024-03-31 02:30', new=
 DateTimeZone('Europe/Berlin'))`
* Missing current microseconds on `createFromFormat` but other non define=
d parts needs to be explicitly reset using `|!`
* leap seconds support on UTC TZ
=C2=A0 * As of leap seconds ... wouldn't it be better to default to +00:0=
0 instead of UTC ?
* Support nanoseconds


I'm for sure not able to work on all these points and that's why I only s=
tarted very small close to no BC improvements without RFC.


Marc

IMO, doing tweaks to this base functionality isn't the way forwards. I've=
 been having on and off conversations with Florian over the last couple o=
f months to see if we can design a better higher level API instead of pat=
ching the nits.

Do you mean adding an additional API in C or userland? Is there a way to participate on the discussion?

cheers
Derick=20

Best,
Marc
--------------n0mN9Ecn2ubf5PMBF1HLXq5t-- --------------tdsSIzCq4bwqyRzqpuNbuKmg Content-Type: application/pgp-keys; name="OpenPGP_0x3936ABF753BC88CE.asc" Content-Disposition: attachment; filename="OpenPGP_0x3936ABF753BC88CE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xsBNBFby8roBCAD4qHjbk9+V3SmB5DfpkTtX58jYJ9VXVfF54MDoI0fQiYvKyrrg hfO78alHc12RsEZxLH2F5kEfu8WO4wA4apg2gBnRRxqPj7krsct1ySOAdMrRVp8W taeaznpdcn2gJZyAMSI6LTzebT25N77ksvSrUi1BuCKyOa7SmYff3xGgOwYsHQlT 5opMNGPCVegiPmO/K37anwtsgj6L7RVtjXtp2Z3wAs6r3EmO318PL48xDLUgYMvE FAPJglth5FGH2En6n6HFIhxh43LqXQiNeHVjLjS2y8huNBswwc9ZVxk3ip5z/GCm pWnNkgGBOSJ7loJRsq2tOaU6yU8KWb5rhOoFABEBAAHNIU1hcmMgQmVubmV3aXR6 IDxtYXJjQG1hYmUuYmVybGluPsLAeAQTAQIAIgUCVvLyugIbAwYLCQgHAwIGFQgC CQoLBBYCAwECHgECF4AACgkQOTar91O8iM6jzggAwvV6MqU/hcAI6ldpxVjucGz2 J9cAWtva8GL+rm9zvEs7EENtamehJiZob/CTw50WiI/zsJzPblktpT0D2AFBEp9k P5/8CmCpZzxYPsxnLtsFM52fOBpO+aP0PSStBpJjndjBH7HPqKcTCXM3ZM+SL6ly RweAJR7G+JXIZbuUrbjB2lbGx3itNZ6TeXqqnE6KTXNKLEbNHfVdzE4sPDkmuZRo /M2h+gmeS1iQb29WBmhvL6czugCQI9rYl7C4Nci9wPii1lTYyfCWQfQKID4/F2Hi Ov+N/vDMCK1xV8TUeCy8w4X+nYj+wDog046ki9lUM60oPij6WoSJLqfsXr1kNc7A TQRW8vK6AQgAq7QYLB1Dz+8RSi5AGJP1tOFQXtcxyOhNVQZsI1mCQiHay4wteQ+5 m4EOUuR+FrFIlnbSrPdTkKD2wvQDHVqpZivThBpJvara/ick0wi2R3dasu1sPMu1 P6h1EwUsydhviNJB07aLfPAWD6eoqmGTd8236znIIq7mbnNpOnxIQxviTyELUekr Nw38uQtVzR6XZv9PAThA2o1J1JZID7QUpKcNyo9ebYlwxyS+xzhA4DLDqfD6O5sK oKvxEf2fIZeP0ETPpHNYk0WiWnmNoPy8eEY07LriYALVidBwPBcxus0wGoKf8Nun y2aE13SHmj0ioBI1bXMGJx3hEbvzXK6WrwARAQABwsBfBBgBAgAJBQJW8vK6AhsM AAoJEDk2q/dTvIjOkowIAI70P8U4j3eqyK/7x1bnCZZRcpwZ1aH+LR1yMKTINo9N DqlOBWQTLT69YMfV4UN+nTSiD/uLw1fSeLSzBwpoalCMLPVOX/d3Mq5JtL5cKtWU TIVf3Vb7VbN4Rvb8HgWjeSnM1PiG9yQBmLKI68sG/gdgvA/xANdUatkDgG0yj8PC dt+Vy4EblXbIAXZXJ6eRugSKowTjst7iHXKOJxivomHFcmqmkiqjwGTGx/jrhbDt EpPDRk+U9W45D4CbUcyPR6lMSrje5JPGQDv/45M5wPe286YelBjnb0cWRJpA7GZC WDKZOsQ2H6cCRBi8i4m+vfRk7GLA536XnmvWxKFVP9U=3D =3Doi2m -----END PGP PUBLIC KEY BLOCK----- --------------tdsSIzCq4bwqyRzqpuNbuKmg-- --------------ODme06w96fVdPfZOa920NdIb-- --------------XUFwhdVvAnmh1FYAiINcZe2w Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEENJIbKB0SAX2RmUKbOTar91O8iM4FAmXUa1UFAwAAAAAACgkQOTar91O8iM4T FwgA4UQF+RhDKPJ22XXyCDznLuwYGD2YWYOMPWT18DROR64lfOFV1ddMaZ7PVNed9P+KU5n0u1XY LqIXehSYF3cdfz4yOnAUk/O8AEGTx0yARJIe6tpJ4uvj/BUp5Z5TZtLzLejdXrQMRFmhnvk7r/a9 EAiYwG8s9sIiiEcC9ePl5bNpANh5pBfq27UXCQyLtNHpPS2VYIaLVHgG31i89w8U6RAR6WAIHlJI ymR/S7sbhuDpvMiwQzR0qbSQEJCbj7upXjl+qZmIyw5/KF/+t6d/ETMGoIETe3EPmjNrw8t5Uhw7 0gu+5gaesFghsBLmQRID+DEI4tHH7x9QKZowguypRA== =hLn6 -----END PGP SIGNATURE----- --------------XUFwhdVvAnmh1FYAiINcZe2w--