From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/98382 Path: news.gmane.org!.POSTED!not-for-mail From: Newsgroups: gmane.comp.tex.context Subject: Re: how to hyphenate SHA512? Date: Sat, 8 Jul 2017 10:20:20 +0200 Message-ID: <596095c2.82b5df0a.66205.b2e7@mx.google.com> References: <595feee6.c5d51c0a.cf0df.3bea@mx.google.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3466153876212240599==" X-Trace: blaine.gmane.org 1499502055 19207 195.159.176.226 (8 Jul 2017 08:20:55 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 8 Jul 2017 08:20:55 +0000 (UTC) To: Pablo Rodriguez , "ntg-context@ntg.nl" Original-X-From: ntg-context-bounces@ntg.nl Sat Jul 08 10:20:48 2017 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dTkyu-0004eb-7x for gctc-ntg-context-518@m.gmane.org; Sat, 08 Jul 2017 10:20:48 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 11D2887039; Sat, 8 Jul 2017 10:20:35 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id weCCKjLhgmqJ; Sat, 8 Jul 2017 10:20:34 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [IPv6:::1]) by zapf.ntg.nl (Postfix) with ESMTP id 4DBEB8710D; Sat, 8 Jul 2017 10:20:34 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id CC1788710D for ; Sat, 8 Jul 2017 10:20:32 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3dTydb_Gkp5w for ; Sat, 8 Jul 2017 10:20:30 +0200 (CEST) Original-Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 3465887039 for ; Sat, 8 Jul 2017 10:20:19 +0200 (CEST) Original-Received: by mail-wr0-f176.google.com with SMTP id r103so74880219wrb.0 for ; Sat, 08 Jul 2017 01:20:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:mime-version:to:from:subject:date:importance:in-reply-to :references; bh=BcOFOYaof8l++zeHPZz04bnzVlfYJqQzDRvCzD4Rxug=; b=ivaUUubhFE1yFpq8uPhqL6Qsnknu9zBaKjth4zm62EXEzMGk6D54Y2+MCW3NVNZclL a1mXzpI5J5cdNmGSV+e1+bFKSMGfP+rh3GjDacsKNAN57ASRyuqFtI/FMPHbKDSsnFP6 tr6+dZ2tfq8Rh6btQe5gj0oRkeuuPmlGJsZZr/+t2MfMyk408JTKuZcjOkItNc/8T85v u1uCLTxTyVuSBSPPI5q6fM2bsXKwnCNBs6OX+Pcgd14JpMSLBGzDOvUK1wpgSERUYd7O TR87fULA1Kc6sPP7RPm5cLAe/WYq+mpuDAc+13+gEUpiDfgHpb2cwTfjXD1PW6d382TD qHRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:mime-version:to:from:subject:date :importance:in-reply-to:references; bh=BcOFOYaof8l++zeHPZz04bnzVlfYJqQzDRvCzD4Rxug=; b=S5RwZPwh82Lfxm3WYh5Qhi33sXY6oXXJhMEtIcL6z5nuI9lpiAiBLhMIAby155Kfjn s/OFdBzPLM026y0NaI1kcQI6ml3ygOCvyq+zF62WWJ9gei7/c8AZnr6mM7MaYXGJLasB fnaps1QQHG5k0P8TVnduVOYTmLssqpT1FU1Y7cUXV9KA90a+o0p2zqkF4ntUy4lOL5Rk riV1OzC0iGdogdq1SYZCI7S59Z+CamuBYYMvlz+ikFKE1jEdaoFNgdpeJ1Aib5D3TW/Z zifr5jbuCJsBdK/lOKHGxOcKmqJqZ0e/OkY5c36hIBwhJA62GZcwIZm/UM1Yml01mFXH zNEA== X-Gm-Message-State: AIVw113+1+Bi29AWD6ef6IK76b1zwKgCd1HezwtBK1FJ1c9jefKQniLs sYhjf5n+l8yUxw== X-Received: by 10.28.94.201 with SMTP id s192mr1646504wmb.100.1499502019288; Sat, 08 Jul 2017 01:20:19 -0700 (PDT) Original-Received: from ?IPv6:2a01:cb00:6ae:7f00:49d6:461b:24c8:9f93? (2a01cb0006ae7f0049d6461b24c89f93.ipv6.abo.wanadoo.fr. [2a01:cb00:6ae:7f00:49d6:461b:24c8:9f93]) by smtp.gmail.com with ESMTPSA id c2sm4155161wre.22.2017.07.08.01.20.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 08 Jul 2017 01:20:18 -0700 (PDT) Importance: normal X-Priority: 3 In-Reply-To: X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.16 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.org gmane.comp.tex.context:98382 Archived-At: --===============3466153876212240599== Content-Type: multipart/alternative; boundary="_0DD7EB67-6D64-458B-97D0-A74441B43E19_" --_0DD7EB67-6D64-458B-97D0-A74441B43E19_ Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If I am not mistaken SHA is only hexadecimal digits, so you probably need o= nly to have a =C2=AB=C2=A0language=C2=A0=C2=BB that hyphenates between any = pair of those. Should be much simpler I guess, but I do not really know how= to add such setting I am afraid. Joseph De=C2=A0: Pablo Rodriguez Envoy=C3=A9 le=C2=A0:samedi 8 juillet 2017 08:56 =C3=80=C2=A0: ntg-context@ntg.nl Objet=C2=A0:Re: [NTG-context] how to hyphenate SHA512? Many thanks for your reply, Joseph. The underscore I want to use should be placed below the previous character, such as in (code from Hans): \startluacode function document.addfunnyhyphen(tfmdata) local underscore =3D utf.byte("_") local char =3D tfmdata.characters[underscore] if not char then return end tfmdata.characters[0xFE000] =3D { width =3D 0, height =3D 0, depth =3D 0, commands =3D { { "right", -char.width }, { "down", char.depth }, { "slot", 1, underscore }, } } end utilities.sequencers.appendaction("aftercopyingcharacters", "after","document.addfunnyhyphen") \stopluacode \definehyphenationfeatures [underscore] [righthyphenchar=3D"FE000] \setuphyphenation [method=3Dtraditional] \sethyphenationfeatures [underscore] \starttext \hsize\zeropoint hyphenation \stoptext Is there no way to define a language that hyphenates any pair of characters= ? Many thanks for your help, Pablo On 07/07/2017 10:28 PM, josephcanedo@gmail.com wrote: > A probably quick and dirty =C2=AB solution =C2=BB, which consists in inse= rting a > \discretionary node between each digit using some lua code. There are > mostly likely better solutions for this. >=20 > Joseph >=20 > \startluacode >=20 > function sha(s) > local out =3D {} > for i =3D 1, s:len() do > out[#out + 1] =3D s:sub(i, i) > end > context(table.concat(out, '\\discretionary{_}{}{}')) > end >=20 > \stopluacode >=20 > \starttext >=20 > \hyphenation > =20 > \ctxlua{sha([[8b2f3c087046c3943ace0dc4f958ef2138e58a51b40eef6fab6fa1aeb84= 5cc257a410ab1b914bc399b4293f31c76fc2c73e5be5ea4d329f9e6820984688efec2]])} >=20 > \stoptext > =20 >=20 > *De : *Pablo Rodriguez > *Envoy=C3=A9 le :*jeudi 6 juillet 2017 12:00 > *=C3=80 : *mailing list for ConTeXt users > *Objet :*[NTG-context] how to hyphenate SHA512? >=20 > Dear list, >=20 > I have the following sample: >=20 > \starttext > \hsize\zeropoint > hyphenation >=20 > 8b2f3c087046c3943ace0dc4f958ef2138e58a51b40eef6fab6fa1aeb845cc25% > 7a410ab1b914bc399b4293f31c76fc2c73e5be5ea4d329f9e6820984688efec2 > \stoptext >=20 > I plan to use underscore hyphenation. How can I get the SHA512 string > hyphenated in any of its points? >=20 > Many thanks for your help, >=20 > Pablo --=20 http://www.ousia.tk ___________________________________________________________________________= ________ If your question is of interest to others as well, please add an entry to t= he Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-cont= ext webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________= ________ --_0DD7EB67-6D64-458B-97D0-A74441B43E19_ Content-Transfer-Encoding: base64 Content-Type: text/html; charset="utf-8" PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4 bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PUNv bnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9 R2VuZXJhdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj48 c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZh bWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBm b250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIg NCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05v cm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFw dDsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm O30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K CWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNw YW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9y OiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQouTXNvQ2hwRGVmYXVsdA0K CXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6 ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcwLjg1cHQgNzAuODVwdCA3MC44NXB0IDcwLjg1 cHQ7fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxl PjwvaGVhZD48Ym9keSBsYW5nPUZSIGxpbms9Ymx1ZSB2bGluaz0iIzk1NEY3MiI+PGRpdiBjbGFz cz1Xb3JkU2VjdGlvbjE+PHAgY2xhc3M9TXNvTm9ybWFsPklmIEkgYW0gbm90IG1pc3Rha2VuIFNI QSBpcyBvbmx5IGhleGFkZWNpbWFsIGRpZ2l0cywgc28geW91IHByb2JhYmx5IG5lZWQgb25seSB0 byBoYXZlIGEgwqsmbmJzcDtsYW5ndWFnZSZuYnNwO8K7IHRoYXQgaHlwaGVuYXRlcyBiZXR3ZWVu IGFueSBwYWlyIG9mIHRob3NlLiBTaG91bGQgYmUgbXVjaCBzaW1wbGVyIEkgZ3Vlc3MsIGJ1dCBJ IGRvIG5vdCByZWFsbHkga25vdyBob3cgdG8gYWRkIHN1Y2ggc2V0dGluZyBJIGFtIGFmcmFpZC48 L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05v cm1hbD5Kb3NlcGg8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxk aXYgc3R5bGU9J21zby1lbGVtZW50OnBhcmEtYm9yZGVyLWRpdjtib3JkZXI6bm9uZTtib3JkZXIt dG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSc+PHAgY2xh c3M9TXNvTm9ybWFsIHN0eWxlPSdib3JkZXI6bm9uZTtwYWRkaW5nOjBjbSc+PGI+RGUmbmJzcDs6 IDwvYj48YSBocmVmPSJtYWlsdG86b2lub3NAZ214LmVzIj5QYWJsbyBSb2RyaWd1ZXo8L2E+PGJy PjxiPkVudm95w6kgbGUmbmJzcDs6PC9iPnNhbWVkaSA4IGp1aWxsZXQgMjAxNyAwODo1Njxicj48 Yj7DgCZuYnNwOzogPC9iPjxhIGhyZWY9Im1haWx0bzpudGctY29udGV4dEBudGcubmwiPm50Zy1j b250ZXh0QG50Zy5ubDwvYT48YnI+PGI+T2JqZXQmbmJzcDs6PC9iPlJlOiBbTlRHLWNvbnRleHRd IGhvdyB0byBoeXBoZW5hdGUgU0hBNTEyPzwvcD48L2Rpdj48cCBjbGFzcz1Nc29Ob3JtYWw+PG86 cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPk1hbnkgdGhhbmtzIGZvciB5b3Vy IHJlcGx5LCBKb3NlcGguPC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwv cD48cCBjbGFzcz1Nc29Ob3JtYWw+VGhlIHVuZGVyc2NvcmUgSSB3YW50IHRvIHVzZSBzaG91bGQg YmUgcGxhY2VkIGJlbG93IHRoZSBwcmV2aW91czwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Y2hhcmFj dGVyLCBzdWNoIGFzIGluIChjb2RlIGZyb20gSGFucyk6PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48 bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgIFxzdGFydGx1YWNv ZGU8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1z b05vcm1hbD7CoMKgwqDCoMKgwqDCoCBmdW5jdGlvbiBkb2N1bWVudC5hZGRmdW5ueWh5cGhlbih0 Zm1kYXRhKTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2Nh bCB1bmRlcnNjb3JlID0gdXRmLmJ5dGUoJnF1b3Q7XyZxdW90Oyk8L3A+PHAgY2xhc3M9TXNvTm9y bWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9jYWwgY2hhcsKgwqDCoMKgwqDCoCA9IHRmbWRh dGEuY2hhcmFjdGVyc1t1bmRlcnNjb3JlXTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBpZiBub3QgY2hhciB0aGVuIHJldHVybiBlbmQ8L3A+PHAgY2xhc3M9TXNv Tm9ybWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGZtZGF0YS5jaGFyYWN0ZXJzWzB4RkUwMDBd wqDCoCA9IHs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB3aWR0aMKgwqDCoCA9IDAsPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaGVpZ2h0wqDCoCA9IDAsPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7C oMKgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGVwdGjCoMKgwqAgPSAwLDwvcD48cCBjbGFz cz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbW1hbmRzID0gezwv cD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgeyAmcXVvdDtyaWdodCZxdW90OywgLWNoYXIud2lkdGggfSw8L3A+PHAgY2xhc3M9TXNvTm9y bWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsgJnF1b3Q7ZG93biZx dW90OywgY2hhci5kZXB0aCB9LDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyAmcXVvdDtzbG90JnF1b3Q7LCAxLCB1bmRlcnNjb3Jl IH0sPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9PC9wPjxwIGNs YXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoCBlbmQ8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxv OnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwv cD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgIHV0aWxpdGllcy5zZXF1ZW5jZXJzLmFwcGVuZGFj dGlvbigmcXVvdDthZnRlcmNvcHlpbmdjaGFyYWN0ZXJzJnF1b3Q7LDwvcD48cCBjbGFzcz1Nc29O b3JtYWw+wqDCoMKgICZxdW90O2FmdGVyJnF1b3Q7LCZxdW90O2RvY3VtZW50LmFkZGZ1bm55aHlw aGVuJnF1b3Q7KTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAg Y2xhc3M9TXNvTm9ybWFsPsKgwqDCoCBcc3RvcGx1YWNvZGU8L3A+PHAgY2xhc3M9TXNvTm9ybWFs PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqAgXGRlZmluZWh5 cGhlbmF0aW9uZmVhdHVyZXM8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDCoMKgIFt1 bmRlcnNjb3JlXTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqAgW3JpZ2h0aHlw aGVuY2hhcj0mcXVvdDtGRTAwMF08L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqAgXHNldHVwaHlwaGVuYXRpb248L3A+PHAg Y2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDCoMKgIFttZXRob2Q9dHJhZGl0aW9uYWxdPC9wPjxw IGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+ wqDCoMKgIFxzZXRoeXBoZW5hdGlvbmZlYXR1cmVzPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKg wqDCoMKgwqDCoCBbdW5kZXJzY29yZV08L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoCBcc3Rh cnR0ZXh0PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqAgXGhzaXplXHplcm9wb2ludDwvcD48 cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFs PsKgwqDCoCBoeXBoZW5hdGlvbjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgIFxzdG9wdGV4 dDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNv Tm9ybWFsPklzIHRoZXJlIG5vIHdheSB0byBkZWZpbmUgYSBsYW5ndWFnZSB0aGF0IGh5cGhlbmF0 ZXMgYW55IHBhaXIgb2YgY2hhcmFjdGVycz88L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD5NYW55IHRoYW5rcyBmb3IgeW91ciBoZWxw LDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNv Tm9ybWFsPlBhYmxvPC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48 cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFs Pk9uIDA3LzA3LzIwMTcgMTA6MjggUE0sIGpvc2VwaGNhbmVkb0BnbWFpbC5jb20gd3JvdGU6PC9w PjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7IEEgcHJvYmFibHkgcXVpY2sgYW5kIGRpcnR5IMKrIHNv bHV0aW9uIMK7LCB3aGljaCBjb25zaXN0cyBpbiBpbnNlcnRpbmcgYTwvcD48cCBjbGFzcz1Nc29O b3JtYWw+Jmd0OyBcZGlzY3JldGlvbmFyeSBub2RlIGJldHdlZW4gZWFjaCBkaWdpdCB1c2luZyBz b21lIGx1YSBjb2RlLiBUaGVyZSBhcmU8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsgbW9zdGx5 IGxpa2VseSBiZXR0ZXIgc29sdXRpb25zIGZvciB0aGlzLjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+ Jmd0OyA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsgSm9zZXBoPC9wPjxwIGNsYXNzPU1zb05v cm1hbD4mZ3Q7IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyBcc3RhcnRsdWFjb2RlPC9wPjxw IGNsYXNzPU1zb05vcm1hbD4mZ3Q7IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyBmdW5jdGlv biBzaGEocyk8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDvCoMKgwqAgbG9jYWwgb3V0ID0ge308 L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDvCoMKgwqAgZm9yIGkgPSAxLCBzOmxlbigpIGRvPC9w PjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7wqDCoMKgwqDCoMKgIG91dFsjb3V0ICsgMV0gPSBzOnN1 YihpLCBpKTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0O8KgwqDCoCBlbmQ8L3A+PHAgY2xhc3M9 TXNvTm9ybWFsPiZndDvCoMKgwqAgY29udGV4dCh0YWJsZS5jb25jYXQob3V0LCAnXFxkaXNjcmV0 aW9uYXJ5e199e317fScpKTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyBlbmQ8L3A+PHAgY2xh c3M9TXNvTm9ybWFsPiZndDsgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7IFxzdG9wbHVhY29k ZTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsg XHN0YXJ0dGV4dDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyA8L3A+PHAgY2xhc3M9TXNvTm9y bWFsPiZndDsgXGh5cGhlbmF0aW9uPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7wqAgPC9wPjxw IGNsYXNzPU1zb05vcm1hbD4mZ3Q7IFxjdHhsdWF7c2hhKFtbOGIyZjNjMDg3MDQ2YzM5NDNhY2Uw ZGM0Zjk1OGVmMjEzOGU1OGE1MWI0MGVlZjZmYWI2ZmExYWViODQ1Y2MyNTdhNDEwYWIxYjkxNGJj Mzk5YjQyOTNmMzFjNzZmYzJjNzNlNWJlNWVhNGQzMjlmOWU2ODIwOTg0Njg4ZWZlYzJdXSl9PC9w PjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyBcc3Rv cHRleHQ8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDvCoCA8L3A+PHAgY2xhc3M9TXNvTm9ybWFs PiZndDsgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7ICpEZSA6ICpQYWJsbyBSb2RyaWd1ZXog Jmx0O21haWx0bzpvaW5vc0BnbXguZXMmZ3Q7PC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7ICpF bnZvecOpIGxlIDoqamV1ZGkgNiBqdWlsbGV0IDIwMTcgMTI6MDA8L3A+PHAgY2xhc3M9TXNvTm9y bWFsPiZndDsgKsOAIDogKm1haWxpbmcgbGlzdCBmb3IgQ29uVGVYdCB1c2VycyAmbHQ7bWFpbHRv Om50Zy1jb250ZXh0QG50Zy5ubCZndDs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsgKk9iamV0 IDoqW05URy1jb250ZXh0XSBob3cgdG8gaHlwaGVuYXRlIFNIQTUxMj88L3A+PHAgY2xhc3M9TXNv Tm9ybWFsPiZndDsgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7IERlYXIgbGlzdCw8L3A+PHAg Y2xhc3M9TXNvTm9ybWFsPiZndDsgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7IEkgaGF2ZSB0 aGUgZm9sbG93aW5nIHNhbXBsZTo8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsgPC9wPjxwIGNs YXNzPU1zb05vcm1hbD4mZ3Q7wqDCoMKgwqAgXHN0YXJ0dGV4dDwvcD48cCBjbGFzcz1Nc29Ob3Jt YWw+Jmd0O8KgwqDCoMKgIFxoc2l6ZVx6ZXJvcG9pbnQ8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZn dDvCoMKgwqDCoCBoeXBoZW5hdGlvbjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyA8L3A+PHAg Y2xhc3M9TXNvTm9ybWFsPiZndDvCoMKgwqDCoCA4YjJmM2MwODcwNDZjMzk0M2FjZTBkYzRmOTU4 ZWYyMTM4ZTU4YTUxYjQwZWVmNmZhYjZmYTFhZWI4NDVjYzI1JTwvcD48cCBjbGFzcz1Nc29Ob3Jt YWw+Jmd0O8KgwqDCoMKgIDdhNDEwYWIxYjkxNGJjMzk5YjQyOTNmMzFjNzZmYzJjNzNlNWJlNWVh NGQzMjlmOWU2ODIwOTg0Njg4ZWZlYzI8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDvCoMKgwqDC oCBcc3RvcHRleHQ8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsgPC9wPjxwIGNsYXNzPU1zb05v cm1hbD4mZ3Q7IEkgcGxhbiB0byB1c2UgdW5kZXJzY29yZSBoeXBoZW5hdGlvbi4gSG93IGNhbiBJ IGdldCB0aGUgU0hBNTEyIHN0cmluZzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyBoeXBoZW5h dGVkIGluIGFueSBvZiBpdHMgcG9pbnRzPzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+Jmd0OyA8L3A+ PHAgY2xhc3M9TXNvTm9ybWFsPiZndDsgTWFueSB0aGFua3MgZm9yIHlvdXIgaGVscCw8L3A+PHAg Y2xhc3M9TXNvTm9ybWFsPiZndDsgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4mZ3Q7IFBhYmxvPC9w PjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3Jt YWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD4tLSA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPmh0dHA6 Ly93d3cub3VzaWEudGs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fPC9wPjxwIGNsYXNzPU1zb05vcm1hbD5JZiB5b3VyIHF1ZXN0aW9uIGlzIG9mIGludGVy ZXN0IHRvIG90aGVycyBhcyB3ZWxsLCBwbGVhc2UgYWRkIGFuIGVudHJ5IHRvIHRoZSBXaWtpITwv cD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9y bWFsPm1haWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFp bG1hbi9saXN0aW5mby9udGctY29udGV4dDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+d2VicGFnZcKg IDogaHR0cDovL3d3dy5wcmFnbWEtYWRlLm5sIC8gaHR0cDovL2NvbnRleHQuYWFuaGV0Lm5ldDwv cD48cCBjbGFzcz1Nc29Ob3JtYWw+YXJjaGl2ZcKgIDogaHR0cHM6Ly9iaXRidWNrZXQub3JnL3Bo Zy9jb250ZXh0LW1pcnJvci9jb21taXRzLzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+d2lracKgwqDC oMKgIDogaHR0cDovL2NvbnRleHRnYXJkZW4ubmV0PC9wPjxwIGNsYXNzPU1zb05vcm1hbD5fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8 L286cD48L3A+PC9kaXY+PC9ib2R5PjwvaHRtbD4= --_0DD7EB67-6D64-458B-97D0-A74441B43E19_-- --===============3466153876212240599== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5v cmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRn YXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f --===============3466153876212240599==--