<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>33689</bug_id>
          
          <creation_ts>2010-01-14 14:20:14 -0800</creation_ts>
          <short_desc>WebSocket: Missing Request-URI, when no tralling slash in host</short_desc>
          <delta_ts>2010-01-20 18:41:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>y8</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>ukai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180923</commentid>
    <comment_count>0</comment_count>
    <who name="">y8</who>
    <bug_when>2010-01-14 14:20:14 -0800</bug_when>
    <thetext>If host provided to WebSocket constructor does&apos;n have tralling slash, for example &quot;ws://domain:port&quot; or &quot;ws://domain&quot;, WebSocket send GET request without Request-URI.

var ws = new WebSocket(&quot;ws://domain&quot;) 

Produces: 

GET HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost
Origin: http://localhost</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181077</commentid>
    <comment_count>1</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-01-14 19:00:17 -0800</bug_when>
    <thetext>Confirmed it on Safari nightly build.
(no problem with Chromium, though)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181131</commentid>
    <comment_count>2</comment_count>
      <attachid>46648</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-01-15 00:28:24 -0800</bug_when>
    <thetext>Created attachment 46648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181242</commentid>
    <comment_count>3</comment_count>
      <attachid>46648</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-01-15 08:47:22 -0800</bug_when>
    <thetext>Comment on attachment 46648
Patch

Code changes look good, but I think I&apos;ll ask to rework the test. It has absolutely no reason to be script-tests-based - it doesn&apos;t have even a single shouldBe anywhere! A bigger issue is that test output doesn&apos;t really mention pass/fail criteria, and that it relies on assertions that may be gone at the same time the bug is reintroduced.

A more reliable way to test this would be for the server to report invalid requests in some manner (possibly by setting a state that can be retrieved later, or maybe by intercepting these and forwarding to a specific handler whose response we could check).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182663</commentid>
    <comment_count>4</comment_count>
      <attachid>46989</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-01-20 01:14:59 -0800</bug_when>
    <thetext>Created attachment 46989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182818</commentid>
    <comment_count>5</comment_count>
      <attachid>46989</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-01-20 08:36:59 -0800</bug_when>
    <thetext>Comment on attachment 46989
Patch

&gt; +    print STDERR &quot;args: @args\n&quot;;

Did you mean to leave this in?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183026</commentid>
    <comment_count>6</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-01-20 18:41:36 -0800</bug_when>
    <thetext>Committed r53592: &lt;http://trac.webkit.org/changeset/53592&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46648</attachid>
            <date>2010-01-15 00:28:24 -0800</date>
            <delta_ts>2010-01-20 01:14:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33689-20100115172821.patch</filename>
            <type>text/plain</type>
            <size>4294</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmOGMwMjg5Li5jZDk0OThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDEt
MTUgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0OiBSZXF1ZXN0LVVSSSBz
aG91bGQgbm90IGJlIGVtcHR5IHdoZW4gbm8gdHJhbGxpbmcgc2xhc2ggaW4gaG9zdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM2ODkKKworICAgICAg
ICAqIHdlYnNvY2tldC90ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmpz
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJzb2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNo
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL3VybC1uby10
cmFpbGluZy1zbGFzaC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMS0xNCAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3NjcmlwdC10ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guanMgYi9MYXlvdXRUZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDkwZWY3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NjcmlwdC10ZXN0cy91cmwtbm8tdHJh
aWxpbmctc2xhc2guanMKQEAgLTAsMCArMSwyNiBAQAorZGVzY3JpcHRpb24oIlVSTCB0aGF0IGRv
ZXNuJ3QgaGF2ZSB0cmFpbGluZyBzbGFzaCBzaG91bGQgbm90IGVtaXQgZW1wdHkgUmVxdWVzdC1V
UkkuIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisvLyBTaG91bGQgbm90IGZhaWwgYXNzZXJ0
aW9uIGluIFdlYlNvY2tldEhhbmRzaGFrZS5jcHA6cmVzb3VyY2VOYW1lKCkKKy8vIHJlc291cmNl
TmFtZSgpIHNob3VsZCBub3QgcmV0dXJuIGVtcHR5IHN0cmluZy4KK3ZhciB1cmwgPSAid3M6Ly8x
MjcuMC4wLjE6ODg4MCI7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGlzU3VjY2Vzc2Z1
bGx5UGFyc2VkKCk7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCisKK3ZhciB3cyA9IG5l
dyBXZWJTb2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICB3cy5jbG9z
ZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZW5kVGVzdCgpOworfTsK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJzb2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYTlmNjcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNs
YXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAw
OiBVbmV4cGVjdGVkIHJlc3BvbnNlIGNvZGU6MjAwCitVUkwgdGhhdCBkb2Vzbid0IGhhdmUgdHJh
aWxpbmcgc2xhc2ggc2hvdWxkIG5vdCBlbWl0IGVtcHR5IFJlcXVlc3QtVVJJLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMv
dXJsLW5vLXRyYWlsaW5nLXNsYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMv
dXJsLW5vLXRyYWlsaW5nLXNsYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYTQ5M2E2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnNvY2tldC90
ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMzFlZDZiLi5hMGNlMjUxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEwLTAxLTE1ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYlNvY2tldDogUmVxdWVz
dC1VUkkgc2hvdWxkIG5vdCBiZSBlbXB0eSB3aGVuIG5vIHRyYWxsaW5nIHNsYXNoIGluIGhvc3QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNjg5CisK
KyAgICAgICAgVGVzdDogd2Vic29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1s
CisKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpyZXNvdXJjZU5hbWUpOgorCiAyMDEwLTAxLTE0ICBHYXZpbiBCYXJyYWNsb3Vn
aCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAppbmRl
eCBhNTY4YzJiLi5mMmQ2NDM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmNwcApAQCAtNzYsOSArNzYsMTQgQEAgc3RhdGljIFN0cmluZyBleHRyYWN0UmVzcG9uc2VD
b2RlKGNvbnN0IGNoYXIqIGhlYWRlciwgaW50IGxlbikKIAogc3RhdGljIFN0cmluZyByZXNvdXJj
ZU5hbWUoY29uc3QgS1VSTCYgdXJsKQogewotICAgIGlmICh1cmwucXVlcnkoKS5pc051bGwoKSkK
LSAgICAgICAgcmV0dXJuIHVybC5wYXRoKCk7Ci0gICAgcmV0dXJuIHVybC5wYXRoKCkgKyAiPyIg
KyB1cmwucXVlcnkoKTsKKyAgICBTdHJpbmcgbmFtZSA9IHVybC5wYXRoKCk7CisgICAgaWYgKG5h
bWUuaXNFbXB0eSgpKQorICAgICAgICBuYW1lID0gIi8iOworICAgIGlmICghdXJsLnF1ZXJ5KCku
aXNOdWxsKCkpCisgICAgICAgIG5hbWUgKz0gIj8iICsgdXJsLnF1ZXJ5KCk7CisgICAgQVNTRVJU
KCFuYW1lLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKCFuYW1lLmNvbnRhaW5zKCcgJykpOworICAg
IHJldHVybiBuYW1lOwogfQogCiBXZWJTb2NrZXRIYW5kc2hha2U6OldlYlNvY2tldEhhbmRzaGFr
ZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46989</attachid>
            <date>2010-01-20 01:14:59 -0800</date>
            <delta_ts>2010-01-20 08:36:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33689-20100120181457.patch</filename>
            <type>text/plain</type>
            <size>14978</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDJjM2VjLi40ODgwMDRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MjAgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU29ja2V0OiBSZXF1ZXN0LVVSSSBz
aG91bGQgbm90IGJlIGVtcHR5IHdoZW4gbm8gdHJhbGxpbmcgc2xhc2ggaW4gaG9zdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM2ODkKKworICAgICAg
ICAqIHdlYnNvY2tldC90ZXN0cy9oYW5kbGVyX21hcC50eHQ6IEFkZGVkLgorICAgICAgICAgIHVz
ZSB3ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2NhdGlvbl93c2gucHkgdG8gaGFuZGxlIHJlcXVlc3Qg
Zm9yCisgICAgICAgICAgd3M6Ly8xMjcuMC4wLjE6ODg4MAorICAgICAgICAqIHdlYnNvY2tldC90
ZXN0cy9zY3JpcHQtdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJzb2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2Vic29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5o
dG1sOiBBZGRlZC4KKwogMjAxMC0wMS0yMCAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRsZXJfbWFwLnR4dCBiL0xh
eW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kbGVyX21hcC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNjY0OWRjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kbGVyX21hcC50eHQKQEAgLTAsMCArMSwzIEBACisjIHdl
YnNvY2tldCBoYW5kbGVyIG1hcCBmaWxlLgorIyByZXF1ZXN0IHRvICcvJyB3aWxsIGJlIGhhbmRs
ZWQgYnkgZWNoby1sb2NhdGlvbl93c2gucHkKKy8gL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0
aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3Rz
L3VybC1uby10cmFpbGluZy1zbGFzaC5qcyBiL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy9z
Y3JpcHQtdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjRlOGQ5MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJzb2NrZXQvdGVzdHMvc2NyaXB0LXRlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5qcwpAQCAt
MCwwICsxLDM1IEBACitkZXNjcmlwdGlvbigiVVJMIHRoYXQgZG9lc24ndCBoYXZlIHRyYWlsaW5n
IHNsYXNoIHNob3VsZCBub3QgZW1pdCBlbXB0eSBSZXF1ZXN0LVVSSS4iKTsKKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisKK3ZhciB1cmwgPSAid3M6Ly8xMjcuMC4wLjE6ODg4MCI7Cit2YXIgaGFuZHNo
YWtlX3N1Y2Nlc3MgPSBmYWxzZTsKK3ZhciB3c19sb2NhdGlvbjsKKworZnVuY3Rpb24gZW5kVGVz
dCgpCit7CisgICAgc2hvdWxkQmVUcnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAgIHNob3Vs
ZEJlKCJ3c19sb2NhdGlvbiIsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC8iJyk7CisgICAgaXNTdWNj
ZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKKwordmFyIHdz
ID0gbmV3IFdlYlNvY2tldCh1cmwpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRl
YnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOworICAgIGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsK
K307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgd3NfbG9jYXRpb24gPSBl
dnQuZGF0YTsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsKKyAgICB3cy5j
bG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNv
Y2tldCBpcyBjbG9zZWQiKTsKKyAgICBlbmRUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnNvY2tldC90ZXN0cy91
cmwtbm8tdHJhaWxpbmctc2xhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNzVjOTBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2gtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1VSTCB0aGF0IGRvZXNuJ3QgaGF2ZSB0cmFpbGluZyBzbGFzaCBzaG91
bGQgbm90IGVtaXQgZW1wdHkgUmVxdWVzdC1VUkkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOndzOi8vMTI3LjAuMC4xOjg4ODAvCitX
ZWJTb2NrZXQgaXMgY2xvc2VkCitQQVNTIGhhbmRzaGFrZV9zdWNjZXNzIGlzIHRydWUKK1BBU1Mg
d3NfbG9jYXRpb24gaXMgIndzOi8vMTI3LjAuMC4xOjg4ODAvIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbCBiL0xheW91dFRlc3Rz
L3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDkzYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1sCkBAIC0wLDAg
KzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3VybC1uby10cmFpbGlu
Zy1zbGFzaC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDE4YTcwMmEuLjhmNThiNTYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMjAgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2ViU29ja2V0OiBSZXF1ZXN0LVVSSSBzaG91bGQgbm90IGJlIGVtcHR5IHdoZW4gbm8gdHJhbGxp
bmcgc2xhc2ggaW4gaG9zdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM2ODkKKworICAgICAgICBUZXN0OiB3ZWJzb2NrZXQvdGVzdHMvdXJsLW5vLXRy
YWlsaW5nLXNsYXNoLmh0bWwKKworICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlc291cmNlTmFtZSk6CisKIDIwMTAtMDEtMjAg
IFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhh
bmRzaGFrZS5jcHAKaW5kZXggYTU2OGMyYi4uZjJkNjQzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAgLTc2LDkgKzc2LDE0IEBAIHN0YXRpYyBTdHJpbmcg
ZXh0cmFjdFJlc3BvbnNlQ29kZShjb25zdCBjaGFyKiBoZWFkZXIsIGludCBsZW4pCiAKIHN0YXRp
YyBTdHJpbmcgcmVzb3VyY2VOYW1lKGNvbnN0IEtVUkwmIHVybCkKIHsKLSAgICBpZiAodXJsLnF1
ZXJ5KCkuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiB1cmwucGF0aCgpOwotICAgIHJldHVybiB1
cmwucGF0aCgpICsgIj8iICsgdXJsLnF1ZXJ5KCk7CisgICAgU3RyaW5nIG5hbWUgPSB1cmwucGF0
aCgpOworICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgbmFtZSA9ICIvIjsKKyAgICBp
ZiAoIXVybC5xdWVyeSgpLmlzTnVsbCgpKQorICAgICAgICBuYW1lICs9ICI/IiArIHVybC5xdWVy
eSgpOworICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkpOworICAgIEFTU0VSVCghbmFtZS5jb250
YWlucygnICcpKTsKKyAgICByZXR1cm4gbmFtZTsKIH0KIAogV2ViU29ja2V0SGFuZHNoYWtlOjpX
ZWJTb2NrZXRIYW5kc2hha2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29s
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGU3MDVmYTEuLjQ4NzFl
ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMS0yMCAgRnVtaXRvc2hpIFVrYWkgIDx1
a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZWJTb2NrZXQ6IE1pc3NpbmcgUmVxdWVzdC1VUkksIHdoZW4gbm8gdHJhbGxp
bmcgc2xhc2ggaW4gaG9zdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM2ODkKKworICAgICAgICBVcGRhdGUgcHl3ZWJzb2NrZXQgdG8gMC40LjcuMSwg
d2hpY2ggc3VwcG9ydHMgYWxpYXMgZm9yIHJlc291cmNlCisgICAgICAgIG5hbWUsIHNvIHRoYXQg
d2UgY291bGQgdGVzdCBmb3Igd3M6Ly8xMjcuMC4wLjE6ODg4MAorCisgICAgICAgICogU2NyaXB0
cy9ydW4td2Via2l0LXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmtpdC13ZWJzb2Nr
ZXRzZXJ2ZXI6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L2Rpc3BhdGNo
LnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UucHk6
CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHk6Cisg
ICAgICAgICogcHl3ZWJzb2NrZXQvc2V0dXAucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvdGVz
dC90ZXN0X2Rpc3BhdGNoLnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L3Rlc3QvdGVzdF9oYW5k
c2hha2UucHk6CisKIDIwMTAtMDEtMTkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cyBiL1dlYktpdFRvb2xzL1NjcmlwdHMv
cnVuLXdlYmtpdC10ZXN0cwppbmRleCAzOWVkNTAxLi45MDJkMDE2IDEwMDc1NQotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9ydW4td2Via2l0LXRlc3RzCkBAIC0xNDQ1LDYgKzE0NDUsNyBAQCBzdWIgb3BlbldlYlNvY2tl
dFNlcnZlcklmTmVlZGVkKCkKICAgICBteSAkd2ViU29ja2V0UHl0aG9uUGF0aCA9ICJXZWJLaXRU
b29scy9weXdlYnNvY2tldCI7CiAgICAgbXkgJHdlYlNvY2tldEhhbmRsZXJEaXIgPSAiJHRlc3RE
aXJlY3RvcnkiOwogICAgIG15ICR3ZWJTb2NrZXRIYW5kbGVyU2NhbkRpciA9ICIkdGVzdERpcmVj
dG9yeS93ZWJzb2NrZXQvdGVzdHMiOworICAgIG15ICR3ZWJTb2NrZXRIYW5kbGVyTWFwRmlsZSA9
ICIkd2ViU29ja2V0SGFuZGxlclNjYW5EaXIvaGFuZGxlcl9tYXAudHh0IjsKICAgICBteSAkc3Ns
Q2VydGlmaWNhdGUgPSAiJHRlc3REaXJlY3RvcnkvaHR0cC9jb25mL3dlYmtpdC1odHRwZC5wZW0i
OwogICAgIG15ICRhYnNUZXN0UmVzdWx0c0RpcmVjdG9yeSA9IHJlc29sdmVBbmRNYWtlVGVzdFJl
c3VsdHNEaXJlY3RvcnkoKTsKICAgICBteSAkbG9nRmlsZSA9ICIkYWJzVGVzdFJlc3VsdHNEaXJl
Y3RvcnkvcHl3ZWJzb2NrZXRfbG9nLnR4dCI7CkBAIC0xNDU0LDkgKzE0NTUsMTEgQEAgc3ViIG9w
ZW5XZWJTb2NrZXRTZXJ2ZXJJZk5lZWRlZCgpCiAgICAgICAgICItcCIsICIkd2ViU29ja2V0UG9y
dCIsCiAgICAgICAgICItZCIsICIkd2ViU29ja2V0SGFuZGxlckRpciIsCiAgICAgICAgICItcyIs
ICIkd2ViU29ja2V0SGFuZGxlclNjYW5EaXIiLAorICAgICAgICAiLW0iLCAiJHdlYlNvY2tldEhh
bmRsZXJNYXBGaWxlIiwKICAgICAgICAgIi1sIiwgIiRsb2dGaWxlIiwKICAgICAgICAgIi0tc3Ry
aWN0IiwKICAgICApOworICAgIHByaW50IFNUREVSUiAiYXJnczogQGFyZ3NcbiI7CiAgICAgIyB3
c3MgaXMgZGlzYWJsZWQgdW50aWwgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IHB5T3BlblNTTC4KICAg
ICAjIG15IEBhcmdzU2VjdXJlID0gKAogICAgICMgICAgICJXZWJLaXRUb29scy9weXdlYnNvY2tl
dC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weSIsCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3J1bi13ZWJraXQtd2Vic29ja2V0c2VydmVyIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9ydW4td2Via2l0LXdlYnNvY2tldHNlcnZlcgppbmRleCBlMDUzMDNhLi5iYmM1YWY2IDEwMDc1
NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtd2Vic29ja2V0c2VydmVyCisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC13ZWJzb2NrZXRzZXJ2ZXIKQEAgLTY3
LDEyICs2NywxNCBAQCBzdWIgb3BlbldlYlNvY2tldFNlcnZlcigpCiAgICAgbXkgJHdlYlNvY2tl
dFB5dGhvblBhdGggPSAiJHNyY0Rpci9XZWJLaXRUb29scy9weXdlYnNvY2tldCI7CiAgICAgbXkg
JHdlYlNvY2tldEhhbmRsZXJEaXIgPSAiJHRlc3REaXJlY3RvcnkiOwogICAgIG15ICR3ZWJTb2Nr
ZXRIYW5kbGVyU2NhbkRpciA9ICIkdGVzdERpcmVjdG9yeS93ZWJzb2NrZXQvdGVzdHMiOworICAg
IG15ICR3ZWJTb2NrZXRIYW5kbGVyTWFwRmlsZSA9ICIkd2ViU29ja2V0SGFuZGxlclNjYW5EaXIv
aGFuZGxlcl9tYXAudHh0IjsKIAogICAgIG15IEBhcmdzID0gKAogICAgICAgICAiJHNyY0Rpci9X
ZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weSIsCiAg
ICAgICAgICItcCIsICIkd2ViU29ja2V0UG9ydCIsCiAgICAgICAgICItZCIsICIkd2ViU29ja2V0
SGFuZGxlckRpciIsCiAgICAgICAgICItcyIsICIkd2ViU29ja2V0SGFuZGxlclNjYW5EaXIiLAor
ICAgICAgICAiLW0iLCAiJHdlYlNvY2tldEhhbmRsZXJNYXBGaWxlIiwKICAgICApOwogCiAgICAg
JEVOVnsiUFlUSE9OUEFUSCJ9ID0gJHdlYlNvY2tldFB5dGhvblBhdGg7CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvZGlzcGF0Y2gucHkgYi9XZWJL
aXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvZGlzcGF0Y2gucHkKaW5kZXggYmY5
YTg1Ni4uYzUyZTllYiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5
d2Vic29ja2V0L2Rpc3BhdGNoLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9w
eXdlYnNvY2tldC9kaXNwYXRjaC5weQpAQCAtMTQyLDYgKzE0MiwyMyBAQCBjbGFzcyBEaXNwYXRj
aGVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb290X2Rpcjol
cy4nICUgKHNjYW5fZGlyLCByb290X2RpcikpCiAgICAgICAgIHNlbGYuX3NvdXJjZV9maWxlc19p
bl9kaXIocm9vdF9kaXIsIHNjYW5fZGlyKQogCisgICAgZGVmIGFkZF9yZXNvdXJjZV9wYXRoX2Fs
aWFzKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzX3Jlc291cmNl
X3BhdGgsIGV4aXN0aW5nX3Jlc291cmNlX3BhdGgpOgorICAgICAgICAiIiJBZGQgcmVzb3VyY2Ug
cGF0aCBhbGlhcy4KKworICAgICAgICBPbmNlIGFkZGVkLCByZXF1ZXN0IHRvIGFsaWFzX3Jlc291
cmNlX3BhdGggd291bGQgYmUgaGFuZGxlZCBieQorICAgICAgICBoYW5kbGVyIHJlZ2lzdGVyZWQg
Zm9yIGV4aXN0aW5nX3Jlc291cmNlX3BhdGguCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAg
IGFsaWFzX3Jlc291cmNlX3BhdGg6IGFsaWFzIHJlc291cmNlIHBhdGgKKyAgICAgICAgICAgIGV4
aXN0aW5nX3Jlc291cmNlX3BhdGg6IGV4aXN0aW5nIHJlc291cmNlIHBhdGgKKyAgICAgICAgIiIi
CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGhhbmRsZXIgPSBzZWxmLl9oYW5kbGVyc1tleGlz
dGluZ19yZXNvdXJjZV9wYXRoXQorICAgICAgICAgICAgc2VsZi5faGFuZGxlcnNbYWxpYXNfcmVz
b3VyY2VfcGF0aF0gPSBoYW5kbGVyCisgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAg
ICAgIHJhaXNlIERpc3BhdGNoRXJyb3IoJ05vIGhhbmRsZXIgZm9yOiAlcicgJSBleGlzdGluZ19y
ZXNvdXJjZV9wYXRoKQorCiAgICAgZGVmIHNvdXJjZV93YXJuaW5ncyhzZWxmKToKICAgICAgICAg
IiIiUmV0dXJuIHdhcm5pbmdzIGluIHNvdXJjaW5nIGhhbmRsZXJzLiIiIgogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlLnB5IGIv
V2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L2hhbmRzaGFrZS5weQppbmRl
eCA1MGQ4YzgwLi5iODYyNzhlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9t
b2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0
L21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UucHkKQEAgLTU2LDcgKzU2LDcgQEAgX01BTkRBVE9S
WV9IRUFERVJTID0gWwogXQogCiBfRklSU1RfRklWRV9MSU5FUyA9IG1hcChyZS5jb21waWxlLCBb
Ci0gICAgcideR0VUIC9bXFNdKyBIVFRQLzEuMVxyXG4kJywKKyAgICByJ15HRVQgL1tcU10qIEhU
VFAvMS4xXHJcbiQnLAogICAgIHInXlVwZ3JhZGU6IFdlYlNvY2tldFxyXG4kJywKICAgICByJ15D
b25uZWN0aW9uOiBVcGdyYWRlXHJcbiQnLAogICAgIHInXkhvc3Q6IFtcU10rXHJcbiQnLApkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxv
bmUucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9u
ZS5weQppbmRleCA5ODIyYTc1Li4wZTZhMzQ5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdl
YnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQorKysgYi9XZWJLaXRUb29scy9w
eXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQpAQCAtMzgsNiArMzgsNyBA
QCBVc2FnZToKICAgICBweXRob24gc3RhbmRhbG9uZS5weSBbLXAgPHdzX3BvcnQ+XSBbLXcgPHdl
YnNvY2tfaGFuZGxlcnM+XQogICAgICAgICAgICAgICAgICAgICAgICAgIFstcyA8c2Nhbl9kaXI+
XQogICAgICAgICAgICAgICAgICAgICAgICAgIFstZCA8ZG9jdW1lbnRfcm9vdD5dCisgICAgICAg
ICAgICAgICAgICAgICAgICAgWy1tIDx3ZWJzb2NrX2hhbmRsZXJzX21hcF9maWxlPl0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAuLi4gZm9yIG90aGVyIG9wdGlvbnMsIHNlZSBfbWFpbiBiZWxv
dyAuLi4KIAogPHdzX3BvcnQ+IGlzIHRoZSBwb3J0IG51bWJlciB0byB1c2UgZm9yIHdzOi8vIGNv
bm5lY3Rpb24uCkBAIC02Myw2ICs2NCw3IEBAIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgbG9nZ2lu
Zy5oYW5kbGVycwogaW1wb3J0IG9wdHBhcnNlCiBpbXBvcnQgb3MKK2ltcG9ydCByZQogaW1wb3J0
IHNvY2tldAogaW1wb3J0IHN5cwogCkBAIC0yODAsNiArMjgyLDMxIEBAIGRlZiBfY29uZmlndXJl
X2xvZ2dpbmcob3B0aW9ucyk6CiAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQog
ICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCiAKK2RlZiBfYWxpYXNfaGFuZGxlcnMoZGlz
cGF0Y2hlciwgd2Vic29ja19oYW5kbGVyc19tYXBfZmlsZSk6CisgICAgIiIiU2V0IGFsaWFzZXMg
c3BlY2lmaWVkIGluIHdlYnNvY2tfaGFuZGxlcl9tYXBfZmlsZSBpbiBkaXNwYXRjaGVyLgorCisg
ICAgQXJnczoKKyAgICAgICAgZGlzcGF0Y2hlcjogZGlzcGF0Y2guRGlzcGF0Y2hlciBpbnN0YW5j
ZQorICAgICAgICB3ZWJzb2NrX2hhbmRsZXJfbWFwX2ZpbGU6IGFsaWFzIG1hcCBmaWxlCisgICAg
IiIiCisgICAgZnAgPSBvcGVuKHdlYnNvY2tfaGFuZGxlcnNfbWFwX2ZpbGUpCisgICAgdHJ5Ogor
ICAgICAgICBmb3IgbGluZSBpbiBmcDoKKyAgICAgICAgICAgIGlmIGxpbmVbMF0gPT0gJyMnIG9y
IGxpbmUuaXNzcGFjZSgpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBt
ID0gcmUubWF0Y2goJyhcUyspXHMrKFxTKyknLCBsaW5lKQorICAgICAgICAgICAgaWYgbm90IG06
CisgICAgICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5nKCdXcm9uZyBmb3JtYXQgaW4gbWFwIGZp
bGU6JyArIGxpbmUpCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHRyeToK
KyAgICAgICAgICAgICAgICBkaXNwYXRjaGVyLmFkZF9yZXNvdXJjZV9wYXRoX2FsaWFzKAorICAg
ICAgICAgICAgICAgICAgICBtLmdyb3VwKDEpLCBtLmdyb3VwKDIpKQorICAgICAgICAgICAgZXhj
ZXB0IGRpc3BhdGNoLkRpc3BhdGNoRXJyb3IsIGU6CisgICAgICAgICAgICAgICAgbG9nZ2luZy5l
cnJvcihzdHIoZSkpCisgICAgZmluYWxseToKKyAgICAgICAgZnAuY2xvc2UoKQorCisKIAogZGVm
IF9tYWluKCk6CiAgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKQEAgLTI4OSw2
ICszMTYsMTIgQEAgZGVmIF9tYWluKCk6CiAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy13JywgJy0t
d2Vic29ja19oYW5kbGVycycsIGRlc3Q9J3dlYnNvY2tfaGFuZGxlcnMnLAogICAgICAgICAgICAg
ICAgICAgICAgIGRlZmF1bHQ9Jy4nLAogICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1dlYiBT
b2NrZXQgaGFuZGxlcnMgcm9vdCBkaXJlY3RvcnkuJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbign
LW0nLCAnLS13ZWJzb2NrX2hhbmRsZXJzX21hcF9maWxlJywKKyAgICAgICAgICAgICAgICAgICAg
ICBkZXN0PSd3ZWJzb2NrX2hhbmRsZXJzX21hcF9maWxlJywKKyAgICAgICAgICAgICAgICAgICAg
ICBkZWZhdWx0PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ1dlYiBTb2NrZXQg
aGFuZGxlcnMgbWFwIGZpbGUuICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRWFjaCBs
aW5lIGNvbnNpc3RzIG9mIGFsaWFzX3Jlc291cmNlX3BhdGggYW5kICcKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnZXhpc3RpbmdfcmVzb3VyY2VfcGF0aCwgc2VwYXJhdGVkIGJ5IHNwYWNl
cy4nKSkKICAgICBwYXJzZXIuYWRkX29wdGlvbignLXMnLCAnLS1zY2FuX2RpcicsIGRlc3Q9J3Nj
YW5fZGlyJywKICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0oJ1dlYiBTb2NrZXQgaGFuZGxlcnMgc2NhbiBkaXJlY3RvcnkuICcK
QEAgLTM0NCw2ICszNzcsOSBAQCBkZWYgX21haW4oKToKICAgICAgICAgIyBpbnN0YW50aWF0aW9u
LiAgRGlzcGF0Y2hlciBjYW4gYmUgc2hhcmVkIGJlY2F1c2UgaXQgaXMgdGhyZWFkLXNhZmUuCiAg
ICAgICAgIG9wdGlvbnMuZGlzcGF0Y2hlciA9IGRpc3BhdGNoLkRpc3BhdGNoZXIob3B0aW9ucy53
ZWJzb2NrX2hhbmRsZXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbnMuc2Nhbl9kaXIpCisgICAgICAgIGlmIG9wdGlvbnMud2Vic29ja19o
YW5kbGVyc19tYXBfZmlsZToKKyAgICAgICAgICAgIF9hbGlhc19oYW5kbGVycyhvcHRpb25zLmRp
c3BhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy53ZWJzb2NrX2hh
bmRsZXJzX21hcF9maWxlKQogICAgICAgICBfcHJpbnRfd2FybmluZ3NfaWZfYW55KG9wdGlvbnMu
ZGlzcGF0Y2hlcikKIAogICAgICAgICBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlci5vcHRpb25zID0g
b3B0aW9ucwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvc2V0dXAucHkgYi9X
ZWJLaXRUb29scy9weXdlYnNvY2tldC9zZXR1cC5weQppbmRleCA2ZjZhY2M2Li5hNDljOTQzIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9zZXR1cC5weQorKysgYi9XZWJLaXRU
b29scy9weXdlYnNvY2tldC9zZXR1cC5weQpAQCAtNTYsNyArNTYsNyBAQCBzZXR1cChhdXRob3I9
J1l1em8gRnVqaXNoaW1hJywKICAgICAgIG5hbWU9X1BBQ0tBR0VfTkFNRSwKICAgICAgIHBhY2th
Z2VzPVtfUEFDS0FHRV9OQU1FXSwKICAgICAgIHVybD0naHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9w
L3B5d2Vic29ja2V0LycsCi0gICAgICB2ZXJzaW9uPScwLjQuNicsCisgICAgICB2ZXJzaW9uPScw
LjQuNy4xJywKICAgICAgICkKIAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tl
dC90ZXN0L3Rlc3RfZGlzcGF0Y2gucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rl
c3RfZGlzcGF0Y2gucHkKaW5kZXggYjE5ZDcwNi4uNTQwMzIyOCAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5CisrKyBiL1dlYktpdFRvb2xz
L3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9kaXNwYXRjaC5weQpAQCAtMjI1LDYgKzIyNSwxNyBAQCBj
bGFzcyBEaXNwYXRjaGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNz
ZXJ0UmFpc2VzKGRpc3BhdGNoLkRpc3BhdGNoRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRpc3BhdGNoLkRpc3BhdGNoZXIsICdhL2IvYycsICdhL2InKQogCisgICAgZGVmIHRlc3Rf
cmVzb3VyY2VfcGF0aF9hbGlhcyhzZWxmKToKKyAgICAgICAgZGlzcCA9IGRpc3BhdGNoLkRpc3Bh
dGNoZXIoX1RFU1RfSEFORExFUlNfRElSLCBOb25lKQorICAgICAgICBkaXNwLmFkZF9yZXNvdXJj
ZV9wYXRoX2FsaWFzKCcvJywgJy9vcmlnaW5fY2hlY2snKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKDQsIGxlbihkaXNwLl9oYW5kbGVycykpCisgICAgICAgIHNlbGYuZmFpbFVubGVzcyhkaXNw
Ll9oYW5kbGVycy5oYXNfa2V5KCcvb3JpZ2luX2NoZWNrJykpCisgICAgICAgIHNlbGYuZmFpbFVu
bGVzcyhkaXNwLl9oYW5kbGVycy5oYXNfa2V5KCcvc3ViL2V4Y2VwdGlvbl9pbl90cmFuc2Zlcicp
KQorICAgICAgICBzZWxmLmZhaWxVbmxlc3MoZGlzcC5faGFuZGxlcnMuaGFzX2tleSgnL3N1Yi9w
bGFpbicpKQorICAgICAgICBzZWxmLmZhaWxVbmxlc3MoZGlzcC5faGFuZGxlcnMuaGFzX2tleSgn
LycpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhkaXNwYXRjaC5EaXNwYXRjaEVycm9yLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwLmFkZF9yZXNvdXJjZV9wYXRoX2FsaWFzLCAn
L2FsaWFzJywgJy9ub3QtZXhpc3QnKQorCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAg
ICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC90
ZXN0L3Rlc3RfaGFuZHNoYWtlLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0
X2hhbmRzaGFrZS5weQppbmRleCAxZDY5YjJkLi44YmYwN2JlIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfaGFuZHNoYWtlLnB5CisrKyBiL1dlYktpdFRvb2xz
L3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9oYW5kc2hha2UucHkKQEAgLTI1OCw2ICsyNTgsMTQgQEAg
X1NUUklDVExZX0dPT0RfUkVRVUVTVFMgPSAoCiAgICAgICAgICdDb29raWU6IGFiY1xyXG4nCiAg
ICAgICAgICdcclxuJywKICAgICApLAorICAgICgKKyAgICAgICAgJ0dFVCAvIEhUVFAvMS4xXHJc
bicsCisgICAgICAgICdVcGdyYWRlOiBXZWJTb2NrZXRcclxuJywKKyAgICAgICAgJ0Nvbm5lY3Rp
b246IFVwZ3JhZGVcclxuJywKKyAgICAgICAgJ0hvc3Q6IGV4YW1wbGUuY29tXHJcbicsCisgICAg
ICAgICdPcmlnaW46IGh0dHA6Ly9leGFtcGxlLmNvbVxyXG4nLAorICAgICAgICAnXHJcbicsCisg
ICAgKSwKICkKIAogX05PVF9TVFJJQ1RMWV9HT09EX1JFUVVFU1RTID0gKAo=
</data>
<flag name="review"
          id="29343"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>