From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/116443 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?b?6buE5aSN6ZuEIHZpYSBudGctY29udGV4dA==?= Newsgroups: gmane.comp.tex.context Subject: how to simulate \hss in luametatex? Date: Fri, 11 Nov 2022 10:37:32 +0800 Message-ID: Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000007c497a05ed28c786" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12524"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?UTF-8?B?6buE5aSN6ZuE?= To: ntg-context Original-X-From: ntg-context-bounces@ntg.nl Fri Nov 11 03:38:51 2022 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1otJwQ-00030e-9z for gctc-ntg-context-518@m.gmane-mx.org; Fri, 11 Nov 2022 03:38:50 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 9DE5D2A491D; Fri, 11 Nov 2022 03:38:11 +0100 (CET) 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 a_F5u57Y56yU; Fri, 11 Nov 2022 03:38:10 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 86DEC2A49AC; Fri, 11 Nov 2022 03:38:10 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 5A7132A49AC for ; Fri, 11 Nov 2022 03:38:09 +0100 (CET) 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 iiNW6N4xJD2O for ; Fri, 11 Nov 2022 03:38:07 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.214.179; helo=mail-pl1-f179.google.com; envelope-from=aahuaang@gmail.com; receiver= Original-Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 461992A491D for ; Fri, 11 Nov 2022 03:38:07 +0100 (CET) Original-Received: by mail-pl1-f179.google.com with SMTP id l2so3132994pld.13 for ; Thu, 10 Nov 2022 18:38:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=CalLEjOEdFuEE7GHJ82ZR/IDLqyaGI1ljNQ7jruIZb0=; b=m9/tHDtLQpJXBInDYLcPz1hIeMF747Xq8Jnpna/gdl5+xYf9e0RGFggR833TY74YnB pI9iILlY7EIIn2Hf+iZXnnnH59i81f4lIzAsYbfzDr+Dr6zinheUXsPEwf5g8RNOna/A KWP3WVQ+jUJe49oaoZYtmtOPRXuDx37mRU6bcUxx25aV3EvwHkyVoJsK7FLqnXbqn0U3 if6nlakFXR3YimGt5jCfem1Zj2U7Z2errFCwn1b/dtYHHjCFbcqiMttCZ1riajya5139 rCP2yNvOCIGRdlTlZL7+DNhLDKU7++nix8FZu2SL8ErMTHN1GifBLfj24gvmH8505ABw cifA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=CalLEjOEdFuEE7GHJ82ZR/IDLqyaGI1ljNQ7jruIZb0=; b=plaqHRSTsb/6BYzmkJGmR/W5w90nL+TxbFwS1wOaXvSX3/Midtl0ecMonketgVcczo jDhqFEXobe6IyxPUuSpPiR2ZtOVSuj7JU6Gcwsy+sy+O8Ooqe6ms9hLSX1C7qiIhZMyz n2BjXmGDKtW6L9EO7laLcyjH0jmRcxsW1HP/pe3FcSQfrrVwfS3Fox9PsuVQly5KiXV9 tmQufwjw+ZKRjQU5qHp9dgCrPUhfM0jq70RBElk9RffoXLvWucFszgFqwRErAS77xBmb MwAGUIMfJH2otRLxYVHRjnwHgmOF1ZHHYw1sUAbQS0INAr23WqGmFr+h5p73+/1ntjwR +T/A== X-Gm-Message-State: ANoB5pm3ov0/BLKZMASHODyEeg2b6V/fZLCFS+oWjufboOeaa6ikXQm6 eYJDilBWT0gGFBOH5k0Zk7DCDewQRZqKHh5XX0HpUnwQftU= X-Google-Smtp-Source: AA0mqf6tIpWFAws0rAhdR058cG7fWSE16P3yI3c9AvgojMre0BMmbvalK+9SELYr/CSss3NFH3XzrUYGNKIaFCyc8js= X-Received: by 2002:a17:902:c203:b0:186:4f38:dd3f with SMTP id 3-20020a170902c20300b001864f38dd3fmr360030pll.172.1668134284826; Thu, 10 Nov 2022 18:38:04 -0800 (PST) X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 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.io gmane.comp.tex.context:116443 Archived-At: --0000000000007c497a05ed28c786 Content-Type: text/plain; charset="UTF-8" Hi list, I want to simulate \hss in lua end in ConTeXt/luametatex environment. For example, ```ConTeXt a{\raise 1.5ex\hbox to 0pt{\hss b}}c ``` should get 'b' on top of 'a', as follows: ```pdf b ac ``` and in lua, I see a before "b" node, width width:0, stretch:65536, shrink:65536, stretchorder:2, shrinkorder:2 And in lua, I do as follows(part of my app seen in attachment): ```lua local hss = node_new(glue_id) hss.stretch = 65536 hss.stretchorder = 2 hss.shrink = 65536 hss.shrinkorder = 2 hss.width = 0 list,_ = node_insertbefore(list, list, hss) -- b is in the list -- I got a with width:0, stretch:65536, shrink:65536, stretchorder:2, shrinkorder:2 local box = node_new(hlist_id, "box") box.head = list box.width = 0 box.shift = -tex_sp("1ex") -- I got width:0 height:0 deep:0 shift: -503424 head, current = node_insertbefore(head,current, box) -- current is 'c' node ``` And got 'b' on top of 'c' in pdf as follows: ```pdf b ac ``` How can I get 'b' on top of 'a' as \hss do? ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ --0000000000007c497a05ed28c786 Content-Type: application/octet-stream; name="t-zhpunc.lua" Content-Disposition: attachment; filename="t-zhpunc.lua" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_labvsqma0 TW9kdWxlZGF0YSA9IE1vZHVsZWRhdGEgb3Ige30NCk1vZHVsZWRhdGEuemhwdW5jID0gTW9kdWxl ZGF0YS56aHB1bmMgb3Ige30NCi0tIOmFjeWQiOerluaOkg0KLS0g56uW5o6S5qih5Z2X77yI5Yik 5pat5piv5ZCm5oyC6L2956uW5o6S77yM5Lul5L6/5aSE55CG5peL6L2s55qE5qCH54K577yJDQpN b2R1bGVkYXRhLnZ0eXBlc2V0ID0gTW9kdWxlZGF0YS52dHlwZXNldCBvciB7fQ0KTW9kdWxlZGF0 YS52dHlwZXNldC5hcHBlbmRlZCA9IE1vZHVsZWRhdGEudnR5cGVzZXQuYXBwZW5kZWQgb3IgZmFs c2UNCg0KLS0g5qCH54K55qih5byP6YWN572u77yM6buY6K6k5YWo6KeSDQpsb2NhbCBxdWFuamlh bywga2FpbWluZywgYmFuamlhbywgeXVhbnlhbmcgPSAicXVhbmppYW8iLCAia2FpbWluZyIsICJi YW5qaWFvIiwieXVhbnlhbmciDQoNCmxvY2FsIGhsaXN0X2lkICAgPSBub2Rlcy5ub2RlY29kZXMu aGxpc3QNCmxvY2FsIHZsaXN0X2lkICAgPSBub2Rlcy5ub2RlY29kZXMudmxpc3QNCmxvY2FsIHJ1 bGVfaWQgICAgPSBub2Rlcy5ub2RlY29kZXMucnVsZQ0KbG9jYWwgZ2x5cGhfaWQgICA9IG5vZGVz Lm5vZGVjb2Rlcy5nbHlwaCAtLW5vZGUuaWQgKCdnbHlwaCcpDQpsb2NhbCBnbHVlX2lkICAgID0g bm9kZXMubm9kZWNvZGVzLmdsdWUNCmxvY2FsIGtlcm5faWQgICAgPSBub2Rlcy5ub2RlY29kZXMu a2Vybg0KbG9jYWwgaW5kZW50c2tpcF9pZCA9IG5vZGVzLnN1YnR5cGVzLmdsdWUuaW5kZW50c2tp cA0KDQpsb2NhbCBmb250aGFzaGVzID0gZm9udHMuaGFzaGVzDQpsb2NhbCBmb250ZGF0YSAgID0g Zm9udGhhc2hlcy5pZGVudGlmaWVycyAtLeWtl+S9k+i6q+S7veihqA0KDQpsb2NhbCBub2RlX3Ry YXZlcnNlID0gbm9kZS50cmF2ZXJzZQ0KbG9jYWwgbm9kZV90YWlsID0gbm9kZS50YWlsDQpsb2Nh bCBub2RlX2hwYWNrID0gbm9kZS5ocGFjaw0KbG9jYWwgbm9kZV9pbnNlcnRiZWZvcmUgPSBub2Rl Lmluc2VydGJlZm9yZQ0KbG9jYWwgbm9kZV9pbnNlcnRhZnRlciA9IG5vZGUuaW5zZXJ0YWZ0ZXIN CmxvY2FsIG5vZGVzX3Bvb2xfa2VybiA9IG5vZGVzLnBvb2wua2Vybg0KbG9jYWwgbm9kZV9uZXcg PSBub2RlLm5ldw0KbG9jYWwgbm9kZV9jb3B5ID0gbm9kZS5jb3B5DQpsb2NhbCBub2RlX2NvcHls aXN0ID0gbm9kZS5jb3B5bGlzdA0KbG9jYWwgbm9kZV9yZW1vdmUgPSBub2RlLnJlbW92ZQ0KbG9j YWwgbm9kZV9mcmVlID0gbm9kZS5mcmVlDQpsb2NhbCBub2Rlc190YXNrc19hcHBlbmRhY3Rpb24g PSBub2Rlcy50YXNrcy5hcHBlbmRhY3Rpb24NCmxvY2FsIHRleF9zcCA9IHRleC5zcA0KDQotLS1b WyDnu5Pngrnot5/ouKrlt6XlhbcNCmxvY2FsIGZ1bmN0aW9uIHNob3dfZGV0YWlsKG4sIGxhYmVs KQ0KICAgIGxvY2FsIGwgPSBsYWJlbCBvciAiPT09PT09PSINCiAgICBwcmludCgiPj4+Pj4+Pj4+ Ii4ubC4uIjw8PDw8PDw8PDwiKQ0KICAgIHByaW50KG5vZGVzLnRvdXRmKG4pKQ0KICAgIGZvciBp IGluIG5vZGUudHJhdmVyc2UobikgZG8NCiAgICAgICAgbG9jYWwgY2hhcg0KICAgICAgICBpZiBp LmlkID09IGdseXBoX2lkIHRoZW4NCiAgICAgICAgICAgIGNoYXIgPSB1dGY4LmNoYXIoaS5jaGFy KQ0KICAgICAgICAgICAgcHJpbnQoaSwgY2hhcikNCiAgICAgICAgZWxzZWlmIGkuaWQgPT0gbm9k ZXMubm9kZWNvZGVzLnBlbmFsdHkgdGhlbg0KICAgICAgICAgICAgcHJpbnQoaSwgaS5wZW5hbHR5 KQ0KICAgICAgICBlbHNlaWYgaS5pZCA9PSBub2Rlcy5ub2RlY29kZXMuZ2x1ZSB0aGVuDQogICAg ICAgICAgICBwcmludChpLCBpLndpZHRoLCBpLnN0cmV0Y2gsIGkuc2hyaW5rLCBpLnN0cmV0Y2hv cmRlciwgaS5zaHJpbmtvcmRlcikNCiAgICAgICAgZWxzZWlmIGkuaWQgPT0gbm9kZXMubm9kZWNv ZGVzLmhsaXN0IHRoZW4NCiAgICAgICAgICAgIHByaW50KGksIG5vZGVzLnRvdXRmKGkubGlzdCks aS53aWR0aCxpLmhlaWdodCxpLmRlcHRoLGkuc2hpZnQsaS5nbHVlX3NldCxpLmdsdWVfc2lnbixp LmdsdWVfb3JkZXIpDQogICAgICAgIGVsc2VpZiBpLmlkID09IG5vZGVzLm5vZGVjb2Rlcy5rZXJu IHRoZW4NCiAgICAgICAgICAgIHByaW50KGksIGkua2VybiwgaS5leHBlbnNpb24pDQogICAgICAg IGVsc2UNCiAgICAgICAgICAgIHByaW50KGkpDQogICAgICAgIGVuZA0KICAgIGVuZA0KZW5kDQot LV1dDQoNCg0KLS0g5qCH54K557yT5a2Y5pWw5o2uDQotLSB7DQotLSAgICAgZm9udD17DQotLSAg ICAgICAgIFsweDIwMThdPXtrZXJuX2wsIGtlcm5fciwgb25lX3NpZGVfc3BhY2UsIGZpbmFsX3F1 YWR9LCAtLSDlt6ZrZXJu44CB5Y+za2VybuOAgeWNleS+p+epuu+8iOW3puWPs+Wvuem9kOeUqO+8 ieOAgeacgOe7iOW6lOeUqOWuveW6pu+8iOinku+8jOeUqOS6juWIpOaWreaYr+WQpuWKoOepuu+8 iQ0KLS0gICAgICAgICAuLi4NCi0tICAgICB9LA0KLS0gICAgIC4uLg0KLS0gfQ0KbG9jYWwgcHVu Y3NfZm9udCA9IHt9DQoNCi0tIOagh+eCueWIhuexuw0KLS0g6K+t5LmJ5Y2V5YWD5YmNDQpsb2Nh bCBwdW5jc19sZWZ0X3NpZ24gICAgID0gJ3B1bmNzX2xlZnRfc2lnbicgICAgIC0tIOW3puWNiuag h+WPt++8jOWmguOAig0KLS0g6K+t5LmJ5Y2V5YWD5ZCODQpsb2NhbCBwdW5jc19yaWdodF9zaWdu ICAgID0gJ3B1bmNzX3JpZ2h0X3NpZ24nICAgIC0tIOWPs+WNiuagh+WPt++8jOWmguOAiw0KbG9j YWwgcHVuY3NfaW5uZXJfcG9pbnQgICA9ICdwdW5jc19pbm5lcl9wb2ludCcgICAtLSDlj6XlhoXn grnlj7fvvIzlpoLjgIENCmxvY2FsIHB1bmNzX2VuZGluZ19wb2ludCAgPSAncHVuY3NfZW5kaW5n X3BvaW50JyAgLS0g5Y+l5pyr54K55Y+377yM5aaC44CCDQotLSDor63kuYnljZXlhYPkuK0o6KeG 5ZCMKQ0KbG9jYWwgcHVuY3NfZWxsaXBzaXMgICAgICA9ICdwdW5jc19lbGxpcHNpcycgICAgICAt LSDnnIHnlaXlj7figKYNCmxvY2FsIHB1bmNzX2Rhc2ggICAgICAgICAgPSAncHVuY3NfZGFzaCcg ICAgICAgICAgLS0g56C05oqY5Y+34oCUDQotLSDor63kuYnljZXlhYPkuK0NCmxvY2FsIHB1bmNz X2Z1bGxfanVuY3Rpb24gPSAncHVuY3NfZnVsbF9qdW5jdGlvbicgLS0g5YWo6KeS6L+e5o6l5Y+3 772eDQpsb2NhbCBwdW5jc19oYWxmX2p1bmN0aW9uID0gJ3B1bmNzX2hhbGZfanVuY3Rpb24nIC0t IOWNiuinkui/nuaOpeWPt++8jOWmgi0NCi0tIOmdng0KbG9jYWwgcHVuY3Nfbm8gICAgICAgICAg ICA9ICdwdW5jc19ubycgICAgICAgICAgLS0g6Z2e5qCH54K555qE5Y+v6KeG57uT54K5DQoNCi0t IOWKoOepuueahOe7hOWQiOS4juaVsOmHjw0KbG9jYWwgaW5zZXJ0aW5nX3NwYWNlID0gew0KICAg IC0tIOW8gOaYjg0KICAgIFtrYWltaW5nXSA9IHsNCiAgICAgICAgW3B1bmNzX2VuZGluZ19wb2lu dF0gPSAgIHtwdW5jc19sZWZ0X3NpZ24gPSAxLCAgLS3jgILjgIoNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwdW5jc19ubyAgICAgICAgPSAxfSwgLS3jgILlm5cNCiAgICB9LA0K ICAgIC0tIOWFqOinkg0KICAgIFtxdWFuamlhb10gPSB7DQogICAgICAgIFtwdW5jc19ub10gICAg ICAgICAgID0gICB7cHVuY3NfbGVmdF9zaWduID0gMX0sIC0t5ZuX44CKDQogICAgICAgIFtwdW5j c19yaWdodF9zaWduXSAgID0gICB7cHVuY3NfbGVmdF9zaWduID0gMSwgIC0t44CL44CKDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVuY3Nfbm8gICAgICAgID0gMX0sIC0t44CL 5ZuXDQogICAgICAgIFtwdW5jc19pbm5lcl9wb2ludF0gID0gICB7cHVuY3NfbGVmdF9zaWduID0g MSwgIC0t44CB44CKDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVuY3Nfbm8g ICAgICAgID0gMX0sIC0t44CB5ZuXDQogICAgICAgIFtwdW5jc19lbmRpbmdfcG9pbnRdID0gICB7 cHVuY3NfbGVmdF9zaWduID0gMSwgIC0t44CC44CKDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcHVuY3Nfbm8gICAgICAgID0gMX0sIC0t44CC5ZuXDQogICAgfSwNCn0NCg0KLS0g 5omA5pyJ5qCH54K5DQpsb2NhbCBwdW5jcyA9IHsNCiAgICAtLSDlt6bljYrmoIflj7cNCiAgICBb MHgyMDE4XSA9IHB1bmNzX2xlZnRfc2lnbiwgLS0g4oCYDQogICAgWzB4MjAxQ10gPSBwdW5jc19s ZWZ0X3NpZ24sIC0tIOKAnA0KICAgIFsweDMwMDhdID0gcHVuY3NfbGVmdF9zaWduLCAtLSDjgIgN CiAgICBbMHgzMDBBXSA9IHB1bmNzX2xlZnRfc2lnbiwgLS0g44CKDQogICAgWzB4MzAxMF0gPSBw dW5jc19sZWZ0X3NpZ24sIC0tIOOAkA0KICAgIFsweDMwMTRdID0gcHVuY3NfbGVmdF9zaWduLCAt LSDjgJQNCiAgICBbMHhGRjA4XSA9IHB1bmNzX2xlZnRfc2lnbiwgLS0g77yIDQogICAgWzB4RkYz Ql0gPSBwdW5jc19sZWZ0X3NpZ24sIC0tIO+8uw0KICAgIC0tIGV4dA0KICAgIFsweDMwMENdID0g cHVuY3NfbGVmdF9zaWduLCAtLSDjgIwNCiAgICBbMHgzMDBFXSA9IHB1bmNzX2xlZnRfc2lnbiwg LS0g44CODQogICAgWzB4MzAxNl0gPSBwdW5jc19sZWZ0X3NpZ24sIC0tIOOAlg0KICAgIFsweEZG NUJdID0gcHVuY3NfbGVmdF9zaWduLCAtLSDvvZsNCg0KICAgIC0tIOWPs+WNiuagh+WPtw0KICAg IFsweDIwMTldID0gcHVuY3NfcmlnaHRfc2lnbiwgLS0g4oCZDQogICAgWzB4MjAxRF0gPSBwdW5j c19yaWdodF9zaWduLCAtLSDigJ0NCiAgICBbMHgzMDA5XSA9IHB1bmNzX3JpZ2h0X3NpZ24sIC0t IOOAiQ0KICAgIFsweDMwMEJdID0gcHVuY3NfcmlnaHRfc2lnbiwgLS0g44CLDQogICAgWzB4MzAx MV0gPSBwdW5jc19yaWdodF9zaWduLCAtLSDjgJENCiAgICBbMHgzMDE1XSA9IHB1bmNzX3JpZ2h0 X3NpZ24sIC0tIOOAlQ0KICAgIFsweEZGMDldID0gcHVuY3NfcmlnaHRfc2lnbiwgLS0g77yJDQog ICAgWzB4RkYzRF0gPSBwdW5jc19yaWdodF9zaWduLCAtLSDvvL0NCiAgICAtLSBleHQNCiAgICBb MHgzMDBEXSA9IHB1bmNzX3JpZ2h0X3NpZ24sIC0tIOOAjQ0KICAgIFsweDMwMEZdID0gcHVuY3Nf cmlnaHRfc2lnbiwgLS0g44CPDQogICAgWzB4MzAxN10gPSBwdW5jc19yaWdodF9zaWduLCAtLSDj gJcNCiAgICBbMHhGRjVEXSA9IHB1bmNzX3JpZ2h0X3NpZ24sIC0tIO+9nQ0KDQogICAgLS0g5Y+l 5YaF54K55Y+3DQogICAgWzB4MzAwMV0gPSBwdW5jc19pbm5lcl9wb2ludCwgICAtLSDjgIENCiAg ICBbMHhGRjBDXSA9IHB1bmNzX2lubmVyX3BvaW50LCAgIC0tIO+8jA0KICAgIFsweEZGMUFdID0g cHVuY3NfaW5uZXJfcG9pbnQsICAgLS0g77yaDQogICAgWzB4RkYxQl0gPSBwdW5jc19pbm5lcl9w b2ludCwgICAtLSDvvJsNCg0KICAgIC0tIOWPpeacq+eCueWPtw0KICAgIFsweEZGMDFdID0gcHVu Y3NfZW5kaW5nX3BvaW50LCAgIC0tIO+8gQ0KICAgIFsweEZGMUZdID0gcHVuY3NfZW5kaW5nX3Bv aW50LCAgIC0tIO+8nw0KICAgIFsweDMwMDJdID0gcHVuY3NfZW5kaW5nX3BvaW50LCAgIC0tIOOA gg0KICAgIC0tIGV4dA0KICAgIFsweEZGMEVdID0gcHVuY3NfZW5kaW5nX3BvaW50LCAgIC0tIO+8 jg0KDQogICAgLS0g55yB55Wl5Y+3DQogICAgWzB4MjAyNl0gPSBwdW5jc19lbGxpcHNpcywgLS0g 4oCmDQoNCiAgICAtLSDnoLTmipjlj7cNCiAgICBbMHgyMDE0XSA9IHB1bmNzX2Rhc2gsIC0tIOKA lCDljYrlrZfnur/vvIzlhbxwdW5jc19mdWxsX2p1bmN0aW9uDQoNCiAgICAtLSDlhajop5Lov57m jqXlj7cNCiAgICBbMHhmZjVlXSA9IHB1bmNzX2Z1bGxfanVuY3Rpb24sIC0tIO+9niDljYrlrZfn ur8NCg0KICAgIC0tIOWNiuinkui/nuaOpeWPtw0KICAgIFsweDAwYjddID0gcHVuY3NfaGFsZl9q dW5jdGlvbiwgLS0gwrcgICBNSURETEUgRE9UDQogICAgWzB4MDAyRF0gPSBwdW5jc19oYWxmX2p1 bmN0aW9uLCAtLSAtICAgSHlwaGVuLU1pbnVzLiBXaWxsIHRoZXJlIGJlIGFueSBzaWRlIGVmZmVj dHM/DQogICAgWzB4MDAyRl0gPSBwdW5jc19oYWxmX2p1bmN0aW9uLCAtLSAvICAgU29saWR1cw0K ICAgIC0tIGV4dA0KICAgIFsweGZmMGZdID0gcHVuY3NfaGFsZl9qdW5jdGlvbiwgLS0g77yPICAg U29saWR1cw0KfQ0KDQotLSDnq5bmjpLml7bopoHml4vovaznmoTmoIfngrkv56uW5o6S5qCH54K5 77yI6KOF5ZyoaGxpc3TkuK3vvIkNCmxvY2FsIHB1bmNzX3RvX3JvdGF0ZSA9IHsNCiAgICBbMHgz MDAxXSA9IHRydWUsICAgLS0g44CBDQogICAgWzB4RkYwQ10gPSB0cnVlLCAgIC0tIO+8jA0KICAg IFsweDMwMDJdID0gdHJ1ZSwgICAtLSDjgIINCiAgICBbMHhGRjBFXSA9IHRydWUsICAgLS0g77yO DQogICAgWzB4RkYxQV0gPSB0cnVlLCAgIC0tIO+8mg0KICAgIC0tIOS7peS4i++8jOWQjuS4pOS9 jeWOi+e8qeWAvOS4juWJjeS4pOS9jeebuOS5mOWQjuebuOetie+8jOWNs+S4juerluaOkuaooeWd l+eahOKAnOWxheS4reKAneS4gOiHtA0KICAgIFsweEZGMDFdID0gdHJ1ZSwgICAtLSDvvIENCiAg ICBbMHhGRjFCXSA9IHRydWUsICAgLS0g77ybDQogICAgWzB4RkYxRl0gPSB0cnVlLCAgIC0tIO+8 nw0KfQ0KDQotLSDooYzpl7TnrKblj7cNCmxvY2FsIHB1bmNzX3RvX2hhbmdqaWFuID0gew0KICAg IFsweDMwMDFdID0gdHJ1ZSwgICAtLSDjgIENCiAgICBbMHhGRjBDXSA9IHRydWUsICAgLS0g77yM DQogICAgWzB4MzAwMl0gPSB0cnVlLCAgIC0tIOOAgg0KICAgIFsweEZGMEVdID0gdHJ1ZSwgICAt LSDvvI4NCiAgICBbMHhGRjFBXSA9IHRydWUsICAgLS0g77yaDQoNCiAgICBbMHhGRjAxXSA9IHRy dWUsICAgLS0g77yBDQogICAgWzB4RkYxQl0gPSB0cnVlLCAgIC0tIO+8mw0KICAgIFsweEZGMUZd ID0gdHJ1ZSwgICAtLSDvvJ8NCg0KICAgIFsweDIwMThdID0gdHJ1ZSwgIC0tIOKAmA0KICAgIFsw eDIwMTldID0gdHJ1ZSwgIC0tIOKAmQ0KICAgIFsweDIwMUNdID0gdHJ1ZSwgIC0tIOKAnA0KICAg IFsweDIwMURdID0gdHJ1ZSwgIC0tIOKAnQ0KfQ0KDQotLSDmmK/moIfngrnnu5PngrkNCi0tIEBu OiBnbHlwaCB8IGhsaXN0DQotLSBAcmV0dXJuOiBmYWxzZSB8IDEgfCAyIO+8iOS4jeaYr+agh+eC uSB8IOS4gOiIrOagh+eCuSB8IOWwhuimgeaXi+i9rOeahOagh+eCue+8iQ0KbG9jYWwgZnVuY3Rp b24gaXNfcHVuYyhuKQ0KICAgIGlmIG4uaWQgPT0gZ2x5cGhfaWQgdGhlbg0KICAgICAgICAtLSDn q5bmjpLml4vovazmoIfngrkNCiAgICAgICAgaWYgTW9kdWxlZGF0YS52dHlwZXNldC5hcHBlbmRl ZCBhbmQgcHVuY3NfdG9fcm90YXRlW24uY2hhcl0gdGhlbg0KICAgICAgICAgICAgcmV0dXJuIDIN CiAgICAgICAgZWxzZWlmIHB1bmNzW24uY2hhcl0gdGhlbg0KICAgICAgICAgICAgcmV0dXJuIDEN CiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgIGVuZA0KICAg IGVsc2UNCiAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgZW5kDQplbmQNCg0KLS0g5piv5bem5qCH 5Y+3DQpsb2NhbCBmdW5jdGlvbiBpc19sZWZ0X3NpZ24obikNCiAgICBpZiBwdW5jc1tuLmNoYXJd ID09IHB1bmNzX2xlZnRfc2lnbiB0aGVuDQogICAgICAgIHJldHVybiB0cnVlDQogICAgZWxzZQ0K ICAgICAgICByZXR1cm4gZmFsc2UNCiAgICBlbmQNCmVuZA0KDQotLSDmmK/lj7PmoIflj7cNCmxv Y2FsIGZ1bmN0aW9uIGlzX3JpZ2h0X3NpZ24obikNCiAgICBsb2NhbCBwX2NsYXNzID0gcHVuY3Nb bi5jaGFyXQ0KICAgIGlmIHBfY2xhc3MgPT0gcHVuY3NfcmlnaHRfc2lnbg0KICAgIG9yIHBfY2xh c3MgPT0gcHVuY3NfaW5uZXJfcG9pbnQNCiAgICBvciBwX2NsYXNzID09IHB1bmNzX2VuZGluZ19w b2ludA0KICAgIHRoZW4NCiAgICAgICAgcmV0dXJuIHRydWUNCiAgICBlbHNlDQogICAgICAgIHJl dHVybiBmYWxzZQ0KICAgIGVuZA0KZW5kDQoNCi0tIOWQjOe7hOacq+Wwvue7k+eCuQ0KDQpsb2Nh bCBmdW5jdGlvbiBpc192aXNpYmxlX25vZGUobikNCiAgICBsb2NhbCBpZHMgPSB7DQogICAgICAg IFtobGlzdF9pZF0gPSB0cnVlLA0KICAgICAgICBbdmxpc3RfaWRdID0gdHJ1ZSwNCiAgICAgICAg W3J1bGVfaWQgXSA9IHRydWUsDQogICAgICAgIFtnbHlwaF9pZF0gPSB0cnVlLA0KICAgIH0NCiAg ICBpZiBpZHNbbi5pZF0gdGhlbiAtLSAgYW5kIG4ud2lkdGggPiAw5LiU5pyJ5a6e6ZmF5a695bqm 77yI5b+F6KaB5ZCX77yf77yf77yf77yJDQogICAgICAgIHJldHVybiB0cnVlDQogICAgZWxzZQ0K ICAgICAgICByZXR1cm4gZmFsc2UNCiAgICBlbmQNCmVuZA0KDQotLSDlkI7kuIDkuKrlj6/op4Ho ioLngrnmmK/moIfngrkNCmxvY2FsIGZ1bmN0aW9uIG5leHRfcHVuYyhuKQ0KICAgIGxvY2FsIG5l eHRfbiA9IG4ubmV4dA0KICAgIHdoaWxlIG5leHRfbiBkbw0KICAgICAgICBpZiBpc192aXNpYmxl X25vZGUobmV4dF9uKSB0aGVuDQogICAgICAgICAgICBpZiBpc19wdW5jKG5leHRfbikgdGhlbg0K ICAgICAgICAgICAgICAgIHJldHVybiBuZXh0X24NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAg ICAgICAgICByZXR1cm4gZmFsc2UNCiAgICAgICAgICAgIGVuZA0KICAgICAgICBlbmQNCiAgICAg ICAgbmV4dF9uID0gbmV4dF9uLm5leHQNCiAgICBlbmQNCiAgICByZXR1cm4gbmlsIC0tIG7pobbl pLQNCmVuZA0KDQotLSDliY3kuIDkuKrlj6/op4HoioLngrnmmK/moIfngrkNCmxvY2FsIGZ1bmN0 aW9uIHByZXZfcHVuYyhuKQ0KICAgIGxvY2FsIHByZXZfbiA9IG4ucHJldg0KICAgIHdoaWxlIHBy ZXZfbiBkbw0KICAgICAgICBpZiBpc192aXNpYmxlX25vZGUocHJldl9uKSB0aGVuDQogICAgICAg ICAgICBpZiBpc19wdW5jKHByZXZfbikgdGhlbg0KICAgICAgICAgICAgICAgIHJldHVybiBwcmV2 X24NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UNCiAgICAg ICAgICAgIGVuZA0KICAgICAgICBlbmQNCiAgICAgICAgcHJldl9uID0gcHJldl9uLnByZXYNCiAg ICBlbmQNCiAgICByZXR1cm4gbmlsIC0tbumhtuWktA0KZW5kDQoNCi0tIOagh+eCueexu+WIq++8 jC0x77ya5bem77ybMO+8muS4re+8mzHvvJrlj7MNCmxvY2FsIGZ1bmN0aW9uIHB1bmNfY2xhc3Mo bikNCiAgICBpZiBpc19sZWZ0X3NpZ24obikgdGhlbg0KICAgICAgICByZXR1cm4gIC0xDQogICAg ZWxzZWlmIGlzX3JpZ2h0X3NpZ24obikgdGhlbg0KICAgICAgICByZXR1cm4gMQ0KICAgIGVsc2UN CiAgICAgICAgcmV0dXJuIDANCiAgICBlbmQNCmVuZA0KDQpsb2NhbCBmdW5jdGlvbiBub2RlX3Jl bW92ZV9saXN0KGhlYWQsIG4sIG0pDQogICAgbG9jYWwgdG9fZnJlZWQNCiAgICB3aGlsZSBuIGFu ZCBuIH49IG0gZG8NCiAgICAgICAgaWYgdG9fZnJlZWQgdGhlbg0KICAgICAgICAgICAgbm9kZV9m cmVlKHRvX2ZyZWVkKQ0KICAgICAgICBlbmQNCiAgICAgICAgdG9fZnJlZWQgPSBuDQogICAgICAg IGhlYWQsbiA9IG5vZGVfcmVtb3ZlKGhlYWQsIG4pDQogICAgZW5kDQogICAgcmV0dXJuIGhlYWQs IG4NCmVuZA0KDQotLSDliarliIfku47mn5DkuKrotbflp4vnmoTlkIznsbvmoIfngrnvvIjlt6bm oIfngrnjgIHlj7PmoIfngrnjgIHlhbbkvZkv5Lit5qCH54K577yJ57uE55qE5pyr5bC+DQpsb2Nh bCBmdW5jdGlvbiBjdXRfcHVuY19ncm91cChoZWFkLCBuKQ0KICAgIGxvY2FsIGJlZ2luID0gbg0K ICAgIGxvY2FsIHBfY2xhc3MgPSBwdW5jX2NsYXNzKG4pDQogICAgbG9jYWwgdGhlX2VuZCA9IG4u bmV4dA0KICAgIG4gPSBuZXh0X3B1bmMobikNCiAgICB3aGlsZSBuIGRvDQogICAgICAgIGlmIHB1 bmNzX3RvX2hhbmdqaWFuW24uY2hhcl0gYW5kIHBfY2xhc3MgPT0gcHVuY19jbGFzcyhuKSB0aGVu DQogICAgICAgICAgICB0aGVfZW5kID0gbi5uZXh0DQogICAgICAgICAgICBuID0gbmV4dF9wdW5j KG4pDQogICAgICAgIGVsc2UNCiAgICAgICAgICAgIGJyZWFrDQogICAgICAgIGVuZA0KICAgIGVu ZA0KDQogICAgLS0g6KaG55uW5YmN5ZCO55qEa2VybiBUT0RPIOabtOWPr+mdoOeahOmAu+i+kQ0K ICAgIGxvY2FsIHByZSA9IGJlZ2luLnByZXYNCiAgICBpZiBwcmUgYW5kIHByZS5pZCA9PSBrZXJu X2lkIHRoZW4NCiAgICAgICAgYmVnaW4gPSBwcmUNCiAgICBlbmQNCiAgICBpZiB0aGVfZW5kIGFu ZCB0aGVfZW5kLmlkID09IGtlcm5faWQgdGhlbg0KICAgICAgICB0aGVfZW5kID0gdGhlX2VuZC5u ZXh0DQogICAgZW5kDQogICAgbG9jYWwgY29weWVkX2xpc3QgPSBub2RlX2NvcHlsaXN0KGJlZ2lu LCB0aGVfZW5kKQ0KICAgIGxvY2FsIGN1cnJlbnQNCiAgICBoZWFkLCBjdXJyZW50ID0gbm9kZV9y ZW1vdmVfbGlzdChoZWFkLCBiZWdpbiwgdGhlX2VuZCkNCiAgICByZXR1cm4gaGVhZCwgY3VycmVu dCwgY29weWVkX2xpc3QsIHBfY2xhc3MNCmVuZA0KDQotLSDku6VobGlzdOW9ouW8j+aPkuWFpeWI l+ihqA0KbG9jYWwgZnVuY3Rpb24gaW5zZXJ0X2xpc3RfYmVmb3JlKGhlYWQsIGN1cnJlbnQsIGxp c3QsIHBfY2xhc3MpDQogICAgLS0gbG9jYWwgbCA9IG5vZGVfbmV3KGhsaXN0X2lkKQ0KICAgIC0t IGwuaGVhZCA9IGxpc3QNCg0KICAgIC0tIOaooeaLn1xoc3PvvIzmj5LlhaXliJfooajpppblsL4N CiAgICBsb2NhbCBoc3MgPSBub2RlX25ldyhnbHVlX2lkKQ0KICAgIGhzcy5zdHJldGNoID0gNjU1 MzYNCiAgICBoc3Muc3RyZXRjaG9yZGVyID0gMg0KICAgIGhzcy5zaHJpbmsgPSA2NTUzNg0KICAg IGhzcy5zaHJpbmtvcmRlciA9IDINCiAgICBoc3Mud2lkdGggPSAwDQogICAgaWYgcF9jbGFzcyA9 PSAxIHRoZW4NCiAgICAgICAgbGlzdCxfID0gbm9kZV9pbnNlcnRiZWZvcmUobGlzdCwgbGlzdCwg aHNzKQ0KICAgIGVsc2VpZiBwX2NsYXNzID09IC0xIHRoZW4NCiAgICAgICAgbGlzdCxfID0gbm9k ZV9pbnNlcnRhZnRlcihsaXN0LCBub2RlX3RhaWwobGlzdCksIGhzcykNCiAgICBlbmQNCg0KICAg IC0tIOaKiuWIl+ihqOijheWFpTDlrr3luqbnmoTnm5LlrZDkuK0NCiAgICBsb2NhbCBib3ggPSBu b2RlX25ldyhobGlzdF9pZCwgImJveCIpDQogICAgYm94LmhlYWQgPSBsaXN0DQogICAgLS0gbG9j YWwgYm94LCBfID0gbm9kZV9ocGFjayhsaXN0KQ0KICAgIGJveC53aWR0aCA9IDANCiAgICBib3gu c2hpZnQgPSAtdGV4X3NwKCIxZXgiKQ0KDQogICAgaGVhZCwgY3VycmVudCA9IG5vZGVfaW5zZXJ0 YmVmb3JlKGhlYWQsY3VycmVudCwgYm94KQ0KDQogICAgc2hvd19kZXRhaWwoYm94LmhlYWQsICJi b3hoZWFkIikNCiAgICBzaG93X2RldGFpbChjdXJyZW50LCAiY3VycmVudCIpDQoNCiAgICByZXR1 cm4gaGVhZCwgY3VycmVudA0KZW5kDQoNCi0tIOWkhOeQhuavj+S4quagh+eCueWJjeWQjueahGtl cm4NCmxvY2FsIGZ1bmN0aW9uIHByb2Nlc3NfcHVuYyAoaGVhZCwgbikNCiAgICANCiAgICAtLSDl j5blvpfnu5PngrnlrZfkvZPnmoTmj4/ov7DvvIjmnKrnvKnmlL7nmoTljp/lp4vlrZfmqKHkv6Hm ga/vvIkNCiAgICBsb2NhbCBjaGFyID0gbi5jaGFyDQogICAgbG9jYWwgZm9udCA9IG4uZm9udA0K DQogICAgLS0g5bem5Y+z5a6e6ZmFa2Vybg0KICAgIGxvY2FsIGxfa2Vybg0KICAgIGxvY2FsIHJf a2Vybg0KICAgIC0tIOWNleS+p+epuueZve+8iOS4pOS+p+ebuOWQjO+8iQ0KICAgIGxvY2FsIG9u ZV9zaWRlX3NwYWNlDQogICAgLS0g5pyA57uI5bqU55So5a695bqmDQogICAgbG9jYWwgZmluYWxf cXVhZA0KDQogICAgcHVuY3NfZm9udFtmb250XSA9IHB1bmNzX2ZvbnRbZm9udF0gb3Ige30NCiAg ICAtLSDnqbrpk4UNCiAgICBwdW5jc19mb250W2ZvbnRdWyJxdWFkIl0gPSBwdW5jc19mb250W2Zv bnRdWyJxdWFkIl0gb3IgZm9udGRhdGFbZm9udF0ucGFyYW1ldGVycy5xdWFkIC0tIOeUqOe7k+eC ueWuveW6puS7o+abv++8n++8n++8nw0KICAgIGxvY2FsIHF1YWQgPSBwdW5jc19mb250W2ZvbnRd WyJxdWFkIl0NCg0KICAgIHB1bmNzX2ZvbnRbZm9udF1bY2hhcl0gPSBwdW5jc19mb250W2ZvbnRd W2NoYXJdIG9yIHt9DQogICAgaWYgICNwdW5jc19mb250W2ZvbnRdW2NoYXJdID4wIHRoZW4gLS0g 5LuO6KGo5Lit5Y+W55SoDQogICAgICAgIGxfa2VybiA9ICBwdW5jc19mb250W2ZvbnRdW2NoYXJd WzFdDQogICAgICAgIHJfa2VybiA9ICBwdW5jc19mb250W2ZvbnRdW2NoYXJdWzJdDQogICAgICAg IG9uZV9zaWRlX3NwYWNlID0gcHVuY3NfZm9udFtmb250XVtjaGFyXVszXQ0KICAgICAgICBmaW5h bF9xdWFkID0gcHVuY3NfZm9udFtmb250XVtjaGFyXVs0XQ0KICAgIGVsc2UgLS0g6K6h566X5bm2 57yT5a2YDQogICAgICAgIGxvY2FsIGRlc2MgPSBmb250ZGF0YVtmb250XS5kZXNjcmlwdGlvbnNb Y2hhcl0NCiAgICAgICAgbG9jYWwgZGVzY193aWR0aCA9IGRlc2Mud2lkdGgNCiAgICAgICAgDQog ICAgICAgIGlmIG5vdCBkZXNjIHRoZW4gcmV0dXJuIGVuZCAtLT8/Pw0KICAgICAgICBsb2NhbCBi b3VuZGluZ2JveCA9IGRlc2MuYm91bmRpbmdib3gNCiAgICAgICAgbG9jYWwgeDEgPSAgYm91bmRp bmdib3hbMV0NCiAgICAgICAgbG9jYWwgeDIgPSAgYm91bmRpbmdib3hbM10NCiAgICAgICAgbG9j YWwgd19pbiAtLeWGheahhuWuveW6pg0KICAgICAgICBsb2NhbCBsZWZ0X3NwYWNlIC0t5YmN56m6 DQogICAgICAgIGxvY2FsIHJpZ2h0X3NwYWNlIC0tIOWQjuepug0KICAgICAgICBpZiBpc19wdW5j KG4pID09IDEgdGhlbiAtLSDkuIDoiKzmoIfngrkNCiAgICAgICAgICAgIGxlZnRfc3BhY2UgPSB4 MQ0KICAgICAgICAgICAgcmlnaHRfc3BhY2UgPSBkZXNjX3dpZHRoIC0geDINCiAgICAgICAgICAg IHdfaW4gPSB4MiAtIHgxDQogICAgICAgIGVsc2VpZiBpc19wdW5jKG4pID09IDIgdGhlbiAtLeaX i+i9rOeahOagh+eCuQ0KICAgICAgICAgICAgbGVmdF9zcGFjZSA9IHgxDQogICAgICAgICAgICAt LSDmnInkupvlrZfkvZPlj6/og73msqHmnInmt7HluqbvvIjmlbTkvZPlnKjnur/kuIrml7bvvInj gIHpq5jluqbvvIjmlbTkvZPlnKjnur/kuIvml7bvvInmlbDmja4NCiAgICAgICAgICAgIGxvY2Fs IGRlc2NfZGVwdGggPSBkZXNjLmRlcHRoIG9yIC1kZXNjLmJvdW5kaW5nYm94WzJdDQogICAgICAg ICAgICByaWdodF9zcGFjZSA9IGRlc2Nfd2lkdGggLSBsZWZ0X3NwYWNlIC0gZGVzY19kZXB0aCAt IGRlc2MuaGVpZ2h0DQogICAgICAgICAgICB3X2luID0gIGRlc2NfZGVwdGggKyBkZXNjLmhlaWdo dA0KICAgICAgICBlbmQNCiAgICAgICAgDQogICAgICAgIGxvY2FsIHR3b19zcGFjZSAtLSDkuKTk vqfmgLvnqboNCiAgICAgICAgaWYgd19pbiA8IChkZXNjX3dpZHRoIC8gMikgdGhlbg0KICAgICAg ICAgICAgLS0g5Y2K6KeS5qCH54K577yM5Y2K5a2X5a69DQogICAgICAgICAgICB0d29fc3BhY2Ug PSAoZGVzY193aWR0aCAvIDIpIC0gd19pbg0KICAgICAgICAgICAgZmluYWxfcXVhZCA9IDAuNQ0K ICAgICAgICBlbHNlDQogICAgICAgICAgICAtLSDlhajop5LmoIfngrnvvIzmlbTlrZflrr0NCiAg ICAgICAgICAgIHR3b19zcGFjZSA9IGRlc2Nfd2lkdGggLSB3X2luDQogICAgICAgICAgICBmaW5h bF9xdWFkID0gMQ0KICAgICAgICBlbmQNCiAgICAgICAgLS0g5YaN5bGF5LitDQogICAgICAgIGxf a2VybiA9ICh0d29fc3BhY2UvMiAtIGxlZnRfc3BhY2UpIC8gZGVzY193aWR0aCAqIHF1YWQgIC0t 5bema2VybuavlOS+iw0KICAgICAgICBwdW5jc19mb250W2ZvbnRdW2NoYXJdWzFdID0gbF9rZXJu DQogICAgICAgIHJfa2VybiA9ICh0d29fc3BhY2UvMiAtIHJpZ2h0X3NwYWNlKSAvIGRlc2Nfd2lk dGggKiBxdWFkIC0t5Y+za2VybuavlOS+iw0KICAgICAgICBwdW5jc19mb250W2ZvbnRdW2NoYXJd WzJdID0gcl9rZXJuDQoNCiAgICAgICAgLS0g5bem44CB5Y+z5L6n56m655m977yI5L6b5a+56b2Q 6KGM5aS044CB5Y+z5L6n5pS257yp55So77yJICBUT0RPDQogICAgICAgIG9uZV9zaWRlX3NwYWNl ID0gKHR3b19zcGFjZS8yKSAvIGRlc2Nfd2lkdGggKiBxdWFkDQogICAgICAgIHB1bmNzX2ZvbnRb Zm9udF1bY2hhcl1bM10gPSBvbmVfc2lkZV9zcGFjZQ0KDQogICAgICAgIC0tIOWunumZheWtl+Wu ve+8iOinku+8iQ0KICAgICAgICBwdW5jc19mb250W2ZvbnRdW2NoYXJdWzRdID0gZmluYWxfcXVh ZA0KICAgIGVuZA0KDQoNCiAgICBsb2NhbCBwcmV2ID0gcHJldl9wdW5jKG4pDQogICAgbG9jYWwg bmV4dCA9IG5leHRfcHVuYyhuKQ0KDQogICAgLS0g5a6e6ZmF5Y2g5L2N5Y2K6KeS55qE5qCH54K5 5Y+v6IO95Yqg56m6DQogICAgaWYgIGZpbmFsX3F1YWQgPT0gMC41DQogICAgICAgIGFuZCAoTW9k dWxlZGF0YS56aHB1bmMubW9kZWwgPT0gcXVhbmppYW8gb3IgIE1vZHVsZWRhdGEuemhwdW5jLm1v ZGVsID09IGthaW1pbmcpDQogICAgICAgICAgICB0aGVuDQogICAgICAgIA0KICAgICAgICBsb2Nh bCBzcGFjZV90YWJsZSA9IGluc2VydGluZ19zcGFjZVsgTW9kdWxlZGF0YS56aHB1bmMubW9kZWxd DQogICAgICAgIA0KICAgICAgICAtLSDlkI7liqDnqboNCiAgICAgICAgbG9jYWwgbmV4dF9zcGFj ZQ0KICAgICAgICBsb2NhbCBuZXh0X3NwYWNlX3RhYmxlID0gc3BhY2VfdGFibGVbcHVuY3Nbbi5j aGFyXV0NCiAgICAgICAgaWYgbmV4dF9zcGFjZV90YWJsZSB0aGVuDQogICAgICAgICAgICBpZiBu ZXh0IHRoZW4gLS0g5ZCO6Z2i5piv5qCH54K5DQogICAgICAgICAgICAgICAgbmV4dF9zcGFjZSA9 IG5leHRfc3BhY2VfdGFibGVbcHVuY3NbbmV4dC5jaGFyXV0NCiAgICAgICAgICAgIGVsc2VpZiBu ZXh0ID09IGZhbHNlIHRoZW4gLS0g5piv6Z2e5qCH54K55Y+v6KeB57uT54K577yI5LiN5piv5pyr 5bC+bmls77yJDQogICAgICAgICAgICAgICAgbmV4dF9zcGFjZSA9IG5leHRfc3BhY2VfdGFibGVb cHVuY3Nfbm9dDQogICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIGlmIG5leHRfc3BhY2UgdGhl bg0KICAgICAgICAgICAgICAgIGxvY2FsIHNwYWNlID0gbm9kZV9uZXcoZ2x1ZV9pZCkNCiAgICAg ICAgICAgICAgICBzcGFjZS53aWR0aCA9IG5leHRfc3BhY2UgKiBxdWFkICogTW9kdWxlZGF0YS56 aHB1bmMuc3BhY2VfcXVhZA0KICAgICAgICAgICAgICAgIGhlYWQsXyA9IG5vZGVfaW5zZXJ0YWZ0 ZXIgKGhlYWQsIG4sIHNwYWNlKQ0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KICAgICAg ICANCiAgICAgICAgLS0g5YWo6KeSKOWJjemdouaXoOagh+eCueOAgeS4jeaYr+ihjOWktOaXtinl iY3liqDnqboNCiAgICAgICAgaWYgIE1vZHVsZWRhdGEuemhwdW5jLm1vZGVsID09IHF1YW5qaWFv IHRoZW4NCiAgICAgICAgICAgIGxvY2FsIHByZV9zcGFjZQ0KICAgICAgICAgICAgaWYgcHJldiA9 PSBmYWxzZSB0aGVuDQogICAgICAgICAgICAgICAgcHJlX3NwYWNlID0gc3BhY2VfdGFibGVbcHVu Y3Nfbm9dW3B1bmNzW24uY2hhcl1dDQogICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIGlmIHBy ZV9zcGFjZSB0aGVuDQogICAgICAgICAgICAgICAgbG9jYWwgc3BhY2UgPSBub2RlX25ldyhnbHVl X2lkKQ0KICAgICAgICAgICAgICAgIHNwYWNlLndpZHRoID0gcHJlX3NwYWNlICogcXVhZCAqIE1v ZHVsZWRhdGEuemhwdW5jLnNwYWNlX3F1YWQNCiAgICAgICAgICAgICAgICBoZWFkLF8gPSBub2Rl X2luc2VydGJlZm9yZSAoaGVhZCwgbiwgc3BhY2UpDQogICAgICAgICAgICBlbmQNCiAgICAgICAg ZW5kDQogICAgZW5kDQoNCiAgICAtLSDlsL3lj6/og73osIPmlbTkuLrljYrlrZfmoIfngrkNCiAg ICBpZiAgTW9kdWxlZGF0YS56aHB1bmMubW9kZWwgfj0geXVhbnlhbmcgdGhlbg0KICAgICAgICAt LSDmj5LlhaVrZXJuDQogICAgICAgIGxvY2FsIGsNCiAgICAgICAgaGVhZCxrID0gbm9kZV9pbnNl cnRiZWZvcmUgKGhlYWQsIG4sIG5vZGVzX3Bvb2xfa2VybiAobF9rZXJuKSkNCiAgICAgICAgaGVh ZCxrID0gbm9kZV9pbnNlcnRhZnRlciAoaGVhZCwgbiwgbm9kZXNfcG9vbF9rZXJuIChyX2tlcm4p KQ0KDQogICAgICAgIC0tIOabtOaUueezu+e7n+aPkuWFpeWPs+agh+eCueWQjuOAgeaJgOacieag h+eCueWJjeeahOWNiuWtl+aUtue8qeiDtiBUT0RPIOaIluabtOaUuXNjcnAtY2prLmx1YQ0KICAg ICAgICBpZiBuZXh0IG9yIHByZXYgdGhlbg0KICAgICAgICAgICAgbG9jYWwgZyA9IGsubmV4dA0K ICAgICAgICAgICAgd2hpbGUgZyBkbw0KICAgICAgICAgICAgICAgIGlmIGcuaWQgPT0gZ2x5cGhf aWQgdGhlbg0KICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgIGVsc2Vp ZiBnLmlkID09IGdsdWVfaWQgYW5kIGcuc2hyaW5rIHRoZW4NCiAgICAgICAgICAgICAgICAgICAg Zy5zaHJpbmsgPSBvbmVfc2lkZV9zcGFjZQ0KICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAg ICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGcgPSBnLm5leHQNCiAgICAgICAgICAg IGVuZA0KICAgICAgICBlbmQNCiAgICBlbmQNCg0KICAgIHJldHVybiBoZWFkDQoNCmVuZA0KDQot LSDljovnvKnmoIfngrkNCmxvY2FsIGZ1bmN0aW9uIGNvbXByZXNzX3B1bmMgKGhlYWQpDQogICAg LS0gc2hvd19kZXRhaWwoaGVhZCwiMTExMTExMTExMSIpDQogICAgZm9yIG4gaW4gbm9kZV90cmF2 ZXJzZShoZWFkKSBkbw0KICAgICAgICBpZiBpc19wdW5jKG4pIHRoZW4NCiAgICAgICAgICAgIGhl YWQgPSBwcm9jZXNzX3B1bmMgKGhlYWQsIG4pDQogICAgICAgIGVuZA0KICAgIGVuZA0KICAgIHJl dHVybiBoZWFkDQplbmQNCg0KLS0g5a6e546w6KGM6Ze05qCH54K5DQpsb2NhbCBmdW5jdGlvbiBy YWlzZV9wdW5jX3RvX2hhbmdqaWFuKGhlYWQpDQogICAgc2hvd19kZXRhaWwoaGVhZCwiMTExMTEx MTExMSIpDQogICAgbG9jYWwgbiA9IGhlYWQNCiAgICB3aGlsZSBuIGRvDQogICAgICAgIGlmIHB1 bmNzX3RvX2hhbmdqaWFuW24uY2hhcl0gdGhlbg0KICAgICAgICAgICAgbG9jYWwgbGlzdCwgcF9j bGFzcw0KICAgICAgICAgICAgaGVhZCwgbiwgbGlzdCwgcF9jbGFzcyA9IGN1dF9wdW5jX2dyb3Vw KGhlYWQsbikNCiAgICAgICAgICAgIHNob3dfZGV0YWlsKGxpc3QsImxpc3QiKQ0KICAgICAgICAg ICAgaGVhZCwgbiA9IGluc2VydF9saXN0X2JlZm9yZShoZWFkLCBuLCBsaXN0LCBwX2NsYXNzKQ0K ICAgICAgICBlbHNlDQogICAgICAgICAgICBuID0gbi5uZXh0DQogICAgICAgIGVuZA0KICAgIGVu ZA0KICAgIHJldHVybiBoZWFkDQplbmQNCg0KLS0g5YyF6KOF5Zue6LCD5Lu75Yqh77ya5YiG6KGM 5YmN55qE6L+H5ruk5ZmoDQpmdW5jdGlvbiBNb2R1bGVkYXRhLnpocHVuYy5teV9saW5lYnJlYWtf ZmlsdGVyIChoZWFkKQ0KICAgIHNob3dfZGV0YWlsKGhlYWQsICJoZWFkIikNCiAgICBoZWFkID0g Y29tcHJlc3NfcHVuYyAoaGVhZCkNCiAgICBpZiBNb2R1bGVkYXRhLnpocHVuYy5oYW5namlhbiB0 aGVuDQogICAgICAgIGhlYWQgPSByYWlzZV9wdW5jX3RvX2hhbmdqaWFuKGhlYWQpDQogICAgZW5k DQogICAgcmV0dXJuIGhlYWQsIHRydWUNCmVuZA0KDQotLSDliIbooYzlkI7lpITnkIblr7npvZAN CmZ1bmN0aW9uIE1vZHVsZWRhdGEuemhwdW5jLmFsaWduX2xlZnRfcHVuY3MoaGVhZCkNCiAgICBs b2NhbCBpdCA9IGhlYWQNCiAgICB3aGlsZSBpdCBkbw0KICAgICAgICBpZiBpdC5pZCA9PSBobGlz dF9pZCB0aGVuDQogICAgICAgICAgICAtLSBzaG93X2RldGFpbChpdC5oZWFkLCJhbGlnbiBiZWZv cmUiKQ0KICAgICAgICAgICAgbG9jYWwgZSA9IGl0LmhlYWQNCiAgICAgICAgICAgIGxvY2FsIG5l Z19rZXJuID0gbmlsDQogICAgICAgICAgICBsb2NhbCBoaXQgPSBuaWwNCiAgICAgICAgICAgIHdo aWxlIGUgZG8NCiAgICAgICAgICAgICAgICBpZiBpc19wdW5jKGUpIHRoZW4NCiAgICAgICAgICAg ICAgICAgICAgaWYgaXNfbGVmdF9zaWduKGUpIHRoZW4NCiAgICAgICAgICAgICAgICAgICAgICAg IGhpdCA9IGUNCiAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgIGJy ZWFrDQogICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgZSA9IGUubmV4dA0KICAg ICAgICAgICAgZW5kDQogICAgICAgICAgICBpZiBoaXQgfj0gbmlsIHRoZW4NCiAgICAgICAgICAg ICAgICAtLSDmlofmnKzooYzmlbTkvZPlkJHlt6blgY/np7sNCiAgICAgICAgICAgICAgICAgICAg LS0gbG9jYWwgcXVhZCA9IHF1YWRkYXRhW2ZvbnRdDQogICAgICAgICAgICAgICAgbmVnX2tlcm4g PSAtcHVuY3NfZm9udFtoaXQuZm9udF1baGl0LmNoYXJdWzNdIC0tYWgyMQ0KICAgICAgICAgICAg ICAgIC0tIG5lZ19rZXJuID0gLWxlZnRfcHVuY3NbaGl0LmNoYXJdICogZm9udGRhdGFbaGl0LmZv bnRdLnBhcmFtZXRlcnMucXVhZCAtLWFoMjENCiAgICAgICAgICAgICAgICBub2RlX2luc2VydGJl Zm9yZShoZWFkLCBoaXQsIG5vZGVzX3Bvb2xfa2VybihuZWdfa2VybikpDQogICAgICAgICAgICAg ICAgLS0g57uf6K6h5a2X56ym5Liq5pWwDQogICAgICAgICAgICAgICAgbG9jYWwgdyA9IDANCiAg ICAgICAgICAgICAgICBsb2NhbCB4ID0gaGl0DQogICAgICAgICAgICAgICAgd2hpbGUgeCBkbw0K ICAgICAgICAgICAgICAgICAgICBpZiBpc19wdW5jKHgpIHRoZW4gdyA9IHcgKyAxIGVuZA0KICAg ICAgICAgICAgICAgICAgICB4ID0geC5uZXh0DQogICAgICAgICAgICAgICAgZW5kDQogICAgICAg ICAgICAgICAgaWYgdyA9PSAwIHRoZW4gdyA9IDEgZW5kDQogICAgICAgICAgICAgICAgLS0g5bCG IG5lZ19rZXJuIOWIhuaRiuWHuuWOuw0KICAgICAgICAgICAgICAgIHggPSBpdC5oZWFkIC0tIOmH jeaWsOmBjeWOhg0KICAgICAgICAgICAgICAgIGxvY2FsIGF2X25lZ19rZXJuID0gLW5lZ19rZXJu L3cNCiAgICAgICAgICAgICAgICBsb2NhbCBpID0gMA0KICAgICAgICAgICAgICAgIHdoaWxlIHgg ZG8NCiAgICAgICAgICAgICAgICAgICAgaWYgaXNfcHVuYyh4KSB0aGVuDQogICAgICAgICAgICAg ICAgICAgICAgICBpID0gaSArIDENCiAgICAgICAgICAgICAgICAgICAgICAgIC0tIOacgOWQjuS4 gOS4quWtl+espuS5i+WQjuS4jeaPkuWFpSBrZXJuDQogICAgICAgICAgICAgICAgICAgICAgICBp ZiBpIDwgdyB0aGVuIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVfaW5zZXJ0YWZ0 ZXIoaGVhZCwgeCwgbm9kZXNfcG9vbF9rZXJuKGF2X25lZ19rZXJuKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgICAgICAg ICAgeCA9IHgubmV4dA0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAg ICAgIGVuZA0KICAgICAgICBpdCA9IGl0Lm5leHQNCg0KICAgICAgICAtLSBzaG93X2RldGFpbChp dC5oZWFkLCJhbGlnbiBhZnRlciIpDQogICAgZW5kDQoNCiAgICByZXR1cm4gaGVhZCwgZG9uZQ0K ZW5kDQoNCi0tIOS8oOWPguiuvue9rg0KZnVuY3Rpb24gTW9kdWxlZGF0YS56aHB1bmMuc2V0KHBh dHRlcm4sIHNwYWNlcXVhZCwgaGFuZ2ppYW4pDQogICAgTW9kdWxlZGF0YS56aHB1bmMubW9kZWwg PSBwYXR0ZXJuDQogICAgaWYgaGFuZ2ppYW4gPT0gImZhbHNlIiB0aGVuDQogICAgICAgIGhhbmdq aWFuID0gZmFsc2UNCiAgICBlbHNlaWYgaGFuZ2ppYW4gPT0gInRydWUiIHRoZW4NCiAgICAgICAg aGFuZ2ppYW4gPSB0cnVlDQogICAgZWxzZQ0KICAgICAgICBoYW5namlhbiA9IGZhbHNlDQogICAg ZW5kDQogICAgTW9kdWxlZGF0YS56aHB1bmMuaGFuZ2ppYW4gPSBoYW5namlhbg0KICAgIE1vZHVs ZWRhdGEuemhwdW5jLnNwYWNlX3F1YWQgPSBzcGFjZXF1YWQNCmVuZA0KDQotLSDmjILovb0v5ZCv 5Yqo5Lu75YqhDQpmdW5jdGlvbiBNb2R1bGVkYXRhLnpocHVuYy5hcHBlbmQoKQ0KICAgIC0tIOau teiQveWIhuihjOWJjeWbnuiwg++8iOacgOWQjuiwg+eUqO+8iQ0KICAgIG5vZGVzX3Rhc2tzX2Fw cGVuZGFjdGlvbigicHJvY2Vzc29ycyIsImFmdGVyIiwiTW9kdWxlZGF0YS56aHB1bmMubXlfbGlu ZWJyZWFrX2ZpbHRlciIpDQogICAgLS0g5q616JC95YiG6KGM5ZCO5Zue6LCD77yI5pyA5ZCO6LCD 55So77yJDQogICAgbm9kZXNfdGFza3NfYXBwZW5kYWN0aW9uKCJmaW5hbGl6ZXJzIiwgImFmdGVy IiwgIk1vZHVsZWRhdGEuemhwdW5jLmFsaWduX2xlZnRfcHVuY3MiKQ0KZW5kDQoNCg0KDQpsb2Nh bCBmdW5jdGlvbiB1cGRhdGVfcHJvdHJ1c2lvbnMoKQ0KICAgIA0KICAgIC0tIOWQiOW5tuS4pOih qOWIsOaWsOihqG15dmVjdG9y77yM6ICM5LiN5piv5L+u5pS5Zm9udC1leHQubHVh5Lit55qEdmVj dG9ycy5xdWFsaXR5DQogICAgLS0gVE9ETyDooaXpvZDvvIzkvb/nlKjlrp7mtYvmlbDmja7lubbn vJPlrZgNCiAgICAtLSDmqKrmjpLml7YgICAgDQogICAgbG9jYWwgbXlfdmVjdG9yc19xdWFsaXR5 ID0gew0KICAgICAgICBbMHgyMDE4XSA9IHsgMC42MCwgMCB9LCAgLS0g4oCYDQogICAgICAgIFsw eDIwMTldID0geyAwLCAwLjYwIH0sICAtLSDigJkNCiAgICAgICAgWzB4MjAxQ10gPSB7IDAuNTAs IDAgfSwgIC0tIOKAnA0KICAgICAgICBbMHgyMDFEXSA9IHsgMCwgMC4zNSB9LCAgLS0g4oCdDQog ICAgICAgIFsweDMwMENdID0geyAwLjUwLCAwIH0sIC0tIOOAjA0KICAgICAgICBbMHgzMDBFXSA9 IHsgMC41MCwgMCB9LCAtLSDjgI4NCiAgICAgICAgWzB4MzAwQV0gPSB7IDAuNDAsIDAgfSwgIC0t IOOAig0KICAgICAgICBbMHgzMDBCXSA9IHsgMCwgMC42MCB9LCAgLS0g44CLDQogICAgICAgIFsw eDMwMDldID0geyAwLCAwLjYwIH0sIC0tIOOAiQ0KICAgICAgICBbMHgzMDExXSA9IHsgMCwgMC41 MCB9LCAtLSDjgJENCiAgICAgICAgWzB4RkYwOF0gPSB7IDAuNTAsIDAgfSwgIC0tIO+8iA0KICAg ICAgICBbMHhGRjA5XSA9IHsgMCwgMC42MCB9LCAgLS0g77yJDQogICAgICAgIFsweDMwMDFdID0g eyAwLCAwLjY1IH0sICAtLSDjgIENCiAgICAgICAgWzB4RkYwY10gPSB7IDAsIDAuNjUgfSwgIC0t IO+8jA0KICAgICAgICBbMHgzMDAyXSA9IHsgMCwgMC42MCB9LCAgLS0g44CCDQogICAgICAgIFsw eEZGMEVdID0geyAwLCAwLjUwIH0sICAtLSDvvI4NCiAgICAgICAgWzB4RkYwMV0gPSB7IDAsIDAu NjUgfSwgICAtLSDvvIENCiAgICAgICAgWzB4RkYxRl0gPSB7IDAsIDAuNjUgfSwgIC0tIO+8nw0K ICAgICAgICBbMHhGRjFCXSA9IHsgMCwgMC4xNyB9LCAgIC0tIO+8mw0KICAgICAgICBbMHhGRjFB XSA9IHsgMCwgMC42NSB9LCAgIC0tIO+8mg0KICAgIH0NCiAgICAtLSDnq5bmjpLml7bmm7TmlrAN CiAgICBpZiBNb2R1bGVkYXRhLnZ0eXBlc2V0LmFwcGVuZGVkIHRoZW4NCiAgICAgICAgbG9jYWwg cHVuY3NfdG9fcm90YXRlZCA9IHsNCiAgICAgICAgICAgIFsweDMwMDFdID0gezAsIDAuNjV9LCAg IC0tIOOAgQ0KICAgICAgICAgICAgWzB4RkYwQ10gPSB7MCwgMC41fSwgICAtLSDvvIwNCiAgICAg ICAgICAgIFsweDMwMDJdID0gezAsIDAuNn0sICAgLS0g44CCDQogICAgICAgICAgICBbMHhGRjBF XSA9IHswLCAwLjZ9LCAgIC0tIO+8jg0KICAgICAgICAgICAgWzB4RkYxQV0gPSB7MCwgMC4zfSwg ICAtLSDvvJoNCiAgICAgICAgICAgIFsweEZGMDFdID0gezAsIDAuMX0sICAgLS0g77yBDQogICAg ICAgICAgICBbMHhGRjFCXSA9IHswLCAwLjE1fSwgICAtLSDvvJsNCiAgICAgICAgICAgIFsweEZG MUZdID0gezAsIDAuMX0sICAgLS0g77yfDQogICAgICAgIH0NCiAgICAgICAgbXlfdmVjdG9yc19x dWFsaXR5ID0gdGFibGUubWVyZ2VkIChteV92ZWN0b3JzX3F1YWxpdHksIHB1bmNzX3RvX3JvdGF0 ZWQpDQogICAgZW5kDQoNCiAgICAtLSDmjILovb3mgqzmjILooajjgIHms6jlhozmgqzmjILnsbsN CiAgICBsb2NhbCBjbGFzc2VzID0gZm9udHMucHJvdHJ1c2lvbnMuY2xhc3Nlcw0KICAgIGNsYXNz ZXMubXl2ZWN0b3IgPSB7DQogICAgICAgIHZlY3RvciA9ICdteXZlY3RvcicsDQogICAgICAgIGZh Y3RvciA9IDEsDQogICAgfQ0KICAgIA0KICAgIC0tIOagh+eCueaCrOaMgi/nqoHlh7oNCiAgICBs b2NhbCB2ZWN0b3JzID0gZm9udHMucHJvdHJ1c2lvbnMudmVjdG9ycw0KICAgIHZlY3RvcnMubXl2 ZWN0b3IgPSB0YWJsZS5tZXJnZWQgKHZlY3RvcnMucXVhbGl0eSxteV92ZWN0b3JzX3F1YWxpdHkp DQogICAgDQogICAgLS0g5omp5bGV5Y6f5pyJ55qE5a2X5L2T54m55oCnZGVmYXVsdCjlkI4p5Li6 ZGVmYXVsdCjliY0pDQogICAgY29udGV4dC5kZWZpbmVmb250ZmVhdHVyZSh7ImRlZmF1bHQifSx7 ImRlZmF1bHQifSx7bW9kZT0ibm9kZSIscHJvdHJ1c2lvbj0ibXl2ZWN0b3IiLGxpZ2E9InllcyJ9 KQ0KICAgIC0tIOWcqOWtl+S9k+WumuS5ieS4reW6lOeUqOaIlueri+WNs+W6lOeUqO+8iCDms6jm hI/ohJrmnKznmoTlvJXnlKjml7bmnLo7IOWPquiDveS4gOenjeWtl+S9k++8n++8nyBUT0RP77yJ DQogICAgY29udGV4dC5kZWZpbmVkZm9udCh7IlNlcmlmKmRlZmF1bHQifSkNCg0KZW5kDQp1cGRh dGVfcHJvdHJ1c2lvbnMoKSAtLeabtOaWsOagh+eCueaCrOaMguaVsOaNrg0KDQpyZXR1cm4gTW9k dWxlZGF0YS56aHB1bmMNCg0KDQo= --0000000000007c497a05ed28c786 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cHM6Ly93d3cubnRnLm5sL21haWxtYW4v bGlzdGluZm8vbnRnLWNvbnRleHQKd2VicGFnZSAgOiBodHRwczovL3d3dy5wcmFnbWEtYWRlLm5s IC8gaHR0cDovL2NvbnRleHQuYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHBzOi8vYml0YnVja2V0 Lm9yZy9waGcvY29udGV4dC1taXJyb3IvY29tbWl0cy8Kd2lraSAgICAgOiBodHRwczovL2NvbnRl eHRnYXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --0000000000007c497a05ed28c786--