<?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>148733</bug_id>
          
          <creation_ts>2015-09-02 18:12:08 -0700</creation_ts>
          <short_desc>Range.comparePoint shouldn&apos;t throw an exception if the range and the node are in the same detached tree</short_desc>
          <delta_ts>2015-09-03 17:48:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1122992</commentid>
    <comment_count>0</comment_count>
      <attachid>260467</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 18:12:08 -0700</bug_when>
    <thetext>Created attachment 260467
Test case that pass in Firefox and fail in WebKit

comparePoint currently throws WrongDocumentError if the node passed in the first argument is not in the document.
However, DOM4 spec (http://www.w3.org/TR/dom/#dom-range-comparepoint) allows it as long as the range&apos;s boundary point in the same detached tree.

Firefox follows the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122993</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-02 18:13:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/22551214&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123020</commentid>
    <comment_count>2</comment_count>
      <attachid>260474</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 19:27:00 -0700</bug_when>
    <thetext>Created attachment 260474
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123032</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-02 19:56:34 -0700</bug_when>
    <thetext>Regressions: Unexpected text-only failures (2)
  http/tests/w3c/dom/ranges/Range-comparePoint.html [ Failure ]
  http/tests/w3c/dom/ranges/Range-set.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123033</commentid>
    <comment_count>4</comment_count>
      <attachid>260474</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-02 19:58:19 -0700</bug_when>
    <thetext>Comment on attachment 260474
Fixes the bug

r- due to w3c tests failures (may need a simple rebaseline)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123036</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 19:59:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 260474 [details]
&gt; Fixes the bug
&gt; 
&gt; r- due to w3c tests failures (may need a simple rebaseline)

Oh oops, I fixed those tests and forgot to rebase :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123038</commentid>
    <comment_count>6</comment_count>
      <attachid>260478</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 20:04:16 -0700</bug_when>
    <thetext>Created attachment 260478
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123039</commentid>
    <comment_count>7</comment_count>
      <attachid>260479</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 20:05:22 -0700</bug_when>
    <thetext>Created attachment 260479
Fixed a typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123042</commentid>
    <comment_count>8</comment_count>
      <attachid>260479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-02 20:14:23 -0700</bug_when>
    <thetext>Comment on attachment 260479
Fixed a typo

View in context: https://bugs.webkit.org/attachment.cgi?id=260479&amp;action=review

&gt; Source/WebCore/dom/Range.cpp:266
&gt; +        if (!refNode-&gt;inDocument() &amp;&amp; !commonAncestorContainer(refNode, &amp;startContainer()))

This looks odd. Why would we do this check *after* the checkNodeWOffset() call? The spec says:
1. If node’s root is different from the context object’s root, throw a WrongDocumentError exception. (Isn&apos;t this the &amp;refNode-&gt;document() != &amp;ownerDocument() check above)?
2. If node is a doctype, throw an InvalidNodeTypeError exception. (done in checkNodeWOffset)
3. If offset is greater than node’s length, throw an IndexSizeError exception. (done in checkNodeWOffset)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123043</commentid>
    <comment_count>9</comment_count>
      <attachid>260479</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 20:17:01 -0700</bug_when>
    <thetext>Comment on attachment 260479
Fixed a typo

View in context: https://bugs.webkit.org/attachment.cgi?id=260479&amp;action=review

&gt;&gt; Source/WebCore/dom/Range.cpp:266
&gt;&gt; +        if (!refNode-&gt;inDocument() &amp;&amp; !commonAncestorContainer(refNode, &amp;startContainer()))
&gt; 
&gt; This looks odd. Why would we do this check *after* the checkNodeWOffset() call? The spec says:
&gt; 1. If node’s root is different from the context object’s root, throw a WrongDocumentError exception. (Isn&apos;t this the &amp;refNode-&gt;document() != &amp;ownerDocument() check above)?
&gt; 2. If node is a doctype, throw an InvalidNodeTypeError exception. (done in checkNodeWOffset)
&gt; 3. If offset is greater than node’s length, throw an IndexSizeError exception. (done in checkNodeWOffset)

Because checkNodeWOffset is O(1) for text nodes, etc... but commonAncestorContainer is always O(n).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123045</commentid>
    <comment_count>10</comment_count>
      <attachid>260479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-02 20:21:34 -0700</bug_when>
    <thetext>Comment on attachment 260479
Fixed a typo

View in context: https://bugs.webkit.org/attachment.cgi?id=260479&amp;action=review

&gt;&gt;&gt; Source/WebCore/dom/Range.cpp:266
&gt;&gt;&gt; +        if (!refNode-&gt;inDocument() &amp;&amp; !commonAncestorContainer(refNode, &amp;startContainer()))
&gt;&gt; 
&gt;&gt; This looks odd. Why would we do this check *after* the checkNodeWOffset() call? The spec says:
&gt;&gt; 1. If node’s root is different from the context object’s root, throw a WrongDocumentError exception. (Isn&apos;t this the &amp;refNode-&gt;document() != &amp;ownerDocument() check above)?
&gt;&gt; 2. If node is a doctype, throw an InvalidNodeTypeError exception. (done in checkNodeWOffset)
&gt;&gt; 3. If offset is greater than node’s length, throw an IndexSizeError exception. (done in checkNodeWOffset)
&gt; 
&gt; Because checkNodeWOffset is O(1) for text nodes, etc... but commonAncestorContainer is always O(n).

Doing it in this order means you&apos;re going to throw the wrong exception if the offset is wrong AND the nodes don&apos;t have the same root (you will throw an index error instead of a wrong document error).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123048</commentid>
    <comment_count>11</comment_count>
      <attachid>260479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-02 20:23:19 -0700</bug_when>
    <thetext>Comment on attachment 260479
Fixed a typo

View in context: https://bugs.webkit.org/attachment.cgi?id=260479&amp;action=review

&gt;&gt;&gt;&gt; Source/WebCore/dom/Range.cpp:266
&gt;&gt;&gt;&gt; +        if (!refNode-&gt;inDocument() &amp;&amp; !commonAncestorContainer(refNode, &amp;startContainer()))
&gt;&gt;&gt; 
&gt;&gt;&gt; This looks odd. Why would we do this check *after* the checkNodeWOffset() call? The spec says:
&gt;&gt;&gt; 1. If node’s root is different from the context object’s root, throw a WrongDocumentError exception. (Isn&apos;t this the &amp;refNode-&gt;document() != &amp;ownerDocument() check above)?
&gt;&gt;&gt; 2. If node is a doctype, throw an InvalidNodeTypeError exception. (done in checkNodeWOffset)
&gt;&gt;&gt; 3. If offset is greater than node’s length, throw an IndexSizeError exception. (done in checkNodeWOffset)
&gt;&gt; 
&gt;&gt; Because checkNodeWOffset is O(1) for text nodes, etc... but commonAncestorContainer is always O(n).
&gt; 
&gt; Doing it in this order means you&apos;re going to throw the wrong exception if the offset is wrong AND the nodes don&apos;t have the same root (you will throw an index error instead of a wrong document error).

Wait, I misread. Doesn&apos;t this mean you&apos;ll throw the WRONG_DOCUMENT_ERR *only* if the offset is also wrong? What if the nodes are detached, don&apos;t have the same root and the offset is right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123049</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-02 20:25:44 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 260479 [details]
&gt; Fixed a typo
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=260479&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt; Source/WebCore/dom/Range.cpp:266
&gt; &gt;&gt;&gt;&gt; +        if (!refNode-&gt;inDocument() &amp;&amp; !commonAncestorContainer(refNode, &amp;startContainer()))
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; This looks odd. Why would we do this check *after* the checkNodeWOffset() call? The spec says:
&gt; &gt;&gt;&gt; 1. If node’s root is different from the context object’s root, throw a WrongDocumentError exception. (Isn&apos;t this the &amp;refNode-&gt;document() != &amp;ownerDocument() check above)?
&gt; &gt;&gt;&gt; 2. If node is a doctype, throw an InvalidNodeTypeError exception. (done in checkNodeWOffset)
&gt; &gt;&gt;&gt; 3. If offset is greater than node’s length, throw an IndexSizeError exception. (done in checkNodeWOffset)
&gt; &gt;&gt; 
&gt; &gt;&gt; Because checkNodeWOffset is O(1) for text nodes, etc... but commonAncestorContainer is always O(n).
&gt; &gt; 
&gt; &gt; Doing it in this order means you&apos;re going to throw the wrong exception if the offset is wrong AND the nodes don&apos;t have the same root (you will throw an index error instead of a wrong document error).
&gt; 
&gt; Wait, I misread. Doesn&apos;t this mean you&apos;ll throw the WRONG_DOCUMENT_ERR
&gt; *only* if the offset is also wrong? What if the nodes are detached, don&apos;t
&gt; have the same root and the offset is right?

In that case,compareBoundaryPoints will throw WRONG_DOCUMENT_ERR.  I explained all of this in the change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123053</commentid>
    <comment_count>13</comment_count>
      <attachid>260479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-02 20:39:26 -0700</bug_when>
    <thetext>Comment on attachment 260479
Fixed a typo

View in context: https://bugs.webkit.org/attachment.cgi?id=260479&amp;action=review

This makes sense now, sorry for not reading the changelog XD r=me.

&gt; Source/WebCore/ChangeLog:11
&gt; +        WRONG_DOCUMENT_ERR is continued to be thrown by compareBoundaryPoints later in the function when the root

s/continued to be/still/ ?

&gt; Source/WebCore/ChangeLog:14
&gt; +        There is one subtly here that we need to throw WRONG_DOCUMENT_ERR instead of INDEX_SIZE_ERR when refNode

&quot;subtlety&quot;

&gt; LayoutTests/fast/dom/Range/range-comparePoint-detached-nodes-expected.txt:3
&gt; +On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.

Where is my &quot;TEST COMPLETE&quot;? :)

&gt; LayoutTests/fast/dom/Range/range-comparePoint-detached-nodes.html:25
&gt; +shouldThrow(&quot;var range = new Range; range.setStart(detachedDiv, 0); range.comparePoint(detachedP, 0);&quot;);

I think we should specify the exception string as second parameter since we really want to make sure a WrongDocumentError is thrown.

&gt; LayoutTests/fast/dom/Range/range-comparePoint-detached-nodes.html:26
&gt; +shouldThrow(&quot;var range = new Range; range.setStart(spanInDetachedDiv1, 0); range.comparePoint(spanInDetachedP, 0);&quot;);

ditto.

&gt; LayoutTests/fast/dom/Range/range-comparePoint-detached-nodes.html:28
&gt; +&lt;/script&gt;

You&apos;re missing the js-test-post.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123237</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-03 17:48:29 -0700</bug_when>
    <thetext>Committed r189327: &lt;http://trac.webkit.org/changeset/189327&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>260467</attachid>
            <date>2015-09-02 18:12:08 -0700</date>
            <delta_ts>2015-09-02 18:12:08 -0700</delta_ts>
            <desc>Test case that pass in Firefox and fail in WebKit</desc>
            <filename>detached-nodes.html</filename>
            <type>text/html</type>
            <size>753</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vc3ZuLndl
YmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmsvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KPHNjcmlwdD4KCnZhciBkZXRhY2hlZERpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwp2YXIgc3BhbkluRGV0YWNoZWREaXYxID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwp2YXIgc3BhbkluRGV0YWNoZWREaXYyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwpkZXRhY2hlZERpdi5hcHBlbmRDaGlsZChzcGFuSW5E
ZXRhY2hlZERpdjEpOwpkZXRhY2hlZERpdi5hcHBlbmRDaGlsZChzcGFuSW5EZXRhY2hlZERpdjIp
OwoKdmFyIHJhbmdlID0gbmV3IFJhbmdlOwpzaG91bGRCZSgicmFuZ2Uuc2V0U3RhcnQoc3Bhbklu
RGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50KHNwYW5JbkRldGFjaGVkRGl2Miwg
MCk7IiwgIjEiKTsKc2hvdWxkQmUoInJhbmdlLnNldFN0YXJ0KHNwYW5JbkRldGFjaGVkRGl2Miwg
MCk7IHJhbmdlLmNvbXBhcmVQb2ludChzcGFuSW5EZXRhY2hlZERpdjEsIDApOyIsICItMSIpOwpz
aG91bGRCZSgicmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29t
cGFyZVBvaW50KHNwYW5JbkRldGFjaGVkRGl2MSwgMCk7IiwgIjAiKTsKCjwvc2NyaXB0Pgo8L2Jv
ZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260474</attachid>
            <date>2015-09-02 19:27:00 -0700</date>
            <delta_ts>2015-09-02 20:04:11 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-148733-20150902192659.patch</filename>
            <type>text/plain</type>
            <size>5765</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTI2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA5LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJhbmdlLmNvbXBhcmVQb2ludCBz
aG91bGRuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSByYW5nZSBhbmQgdGhlIG5vZGUgYXJl
IGluIHRoZSBzYW1lIGRldGFjaGVkIHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0ODczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIERvbid0IHRocm93IFdST05HX0RPQ1VNRU5UX0VSUiB3aGVuIHJl
Zk5vZGUgaXMgbm90IGluIHRoZSBkb2N1bWVudC4gVGhlIG5ldyBiZWhhdmlvciBtYXRjaGVzIERP
TTQgYXMgd2VsbAorICAgICAgICBhcyB0aGUgYmVoYXZpb3Igb2YgRmlyZWZveC4gU2VlIGh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9tLXJhbmdlLWNvbXBhcmVwb2ludAorCisgICAgICAg
IFdST05HX0RPQ1VNRU5UX0VSUiBpcyBjb250aW51ZWQgdG8gYmUgdGhyb3duIGJ5IGNvbXBhcmVC
b3VuZGFyeVBvaW50cyBsYXRlciBpbiB0aGUgZnVuY3Rpb24gd2hlbiB0aGUgcm9vdAorICAgICAg
ICBub2RlcyBvZiByZWZOb2RlIGFuZCBib3VuZGFyeSBwb2ludHMgYXJlIGRpZmZlcmVudC4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9SYW5nZS9yYW5nZS1jb21wYXJlUG9pbnQtZGV0YWNoZWQt
bm9kZXMuaHRtbAorCisgICAgICAgICogZG9tL1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJhbmdlOjpjb21wYXJlUG9pbnQpOgorCiAyMDE1LTA5LTAyICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc29tZSBIb3VkaW5pIHNwZWNzIHRvIHRoZSBmZWF0
dXJlcyBsaXN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHJldmlzaW9uIDE4OTI2NikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Myw3ICsyNTMs
NyBAQCBzaG9ydCBSYW5nZTo6Y29tcGFyZVBvaW50KE5vZGUqIHJlZk5vZGUsCiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KIAotICAgIGlmICghcmVmTm9kZS0+aW5Eb2N1bWVudCgpIHx8ICZyZWZO
b2RlLT5kb2N1bWVudCgpICE9ICZvd25lckRvY3VtZW50KCkpIHsKKyAgICBpZiAoJnJlZk5vZGUt
PmRvY3VtZW50KCkgIT0gJm93bmVyRG9jdW1lbnQoKSkgewogICAgICAgICBlYyA9IFdST05HX0RP
Q1VNRU5UX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTg5MjY2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTUtMDktMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmFuZ2UuY29tcGFyZVBvaW50IHNob3VsZG4ndCB0aHJvdyBhbiBleGNlcHRpb24g
aWYgdGhlIHJhbmdlIGFuZCB0aGUgbm9kZSBhcmUgaW4gdGhlIHNhbWUgZGV0YWNoZWQgdHJlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NzMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9SYW5nZS9yYW5nZS1jb21wYXJlUG9pbnQtZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9SYW5nZS9yYW5nZS1jb21wYXJlUG9pbnQtZGV0YWNo
ZWQtbm9kZXMuaHRtbDogQWRkZWQuCisKIDIwMTUtMDktMDIgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBhaW50IGNsZWFudXA6CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1jb21wYXJlUG9pbnQtZGV0YWNoZWQtbm9kZXMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNv
bXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1jb21wYXJlUG9pbnQtZGV0YWNoZWQtbm9k
ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKK1RoaXMgdGVz
dCBjYWxscyBjb21wYXJlUG9pbnQgb24gZGV0YWNoZWQgbm9kZXMuIFRoZXkgc2hvdWxkIGNvbXBh
cmUgbm9kZXMgd2hlbiB0aGV5J3JlIGluIHRoZSBzYW1lIGRldGFjaGVkIHRyZWUgYW5kIHRocm93
IG90aGVyd2lzZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdmFyIHJh
bmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNv
bXBhcmVQb2ludChkZXRhY2hlZERpdiwgMCk7IGlzIDAKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJh
bmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChk
ZXRhY2hlZERpdiwgMSk7IGlzIDEKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5z
ZXRTdGFydChkZXRhY2hlZERpdiwgMik7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwg
MSk7IGlzIC0xCitQQVNTIHZhciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3Bh
bkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50KHNwYW5JbkRldGFjaGVkRGl2
MiwgMCk7IGlzIDEKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChz
cGFuSW5EZXRhY2hlZERpdjIsIDApOyByYW5nZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWRE
aXYxLCAwKTsgaXMgLTEKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFy
dChzcGFuSW5EZXRhY2hlZERpdjEsIDApOyByYW5nZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNo
ZWREaXYxLCAwKTsgaXMgMAorUEFTUyB2YXIgcmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0
YXJ0KGRldGFjaGVkRGl2LCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50KGRldGFjaGVkUCwgMCk7IHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogV3JvbmdEb2N1bWVudEVycm9yOiBET00gRXhjZXB0aW9uIDQu
CitQQVNTIHZhciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNo
ZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50KHNwYW5JbkRldGFjaGVkUCwgMCk7IHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogV3JvbmdEb2N1bWVudEVycm9yOiBET00gRXhjZXB0aW9uIDQuCisK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRh
Y2hlZC1ub2Rlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1Jhbmdl
L3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtY29tcGFyZVBvaW50LWRldGFjaGVkLW5v
ZGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNh
bGxzIGNvbXBhcmVQb2ludCBvbiBkZXRhY2hlZCBub2Rlcy4gVGhleSBzaG91bGQgY29tcGFyZSBu
b2RlcyB3aGVuIHRoZXkncmUgaW4gdGhlIHNhbWUgZGV0YWNoZWQgdHJlZSBhbmQgdGhyb3cgb3Ro
ZXJ3aXNlLiIpCisKK3ZhciBkZXRhY2hlZERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwordmFyIHNwYW5JbkRldGFjaGVkRGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Nw
YW4nKTsKK3ZhciBzcGFuSW5EZXRhY2hlZERpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
cGFuJyk7CitkZXRhY2hlZERpdi5hcHBlbmRDaGlsZChzcGFuSW5EZXRhY2hlZERpdjEpOworZGV0
YWNoZWREaXYuYXBwZW5kQ2hpbGQoc3BhbkluRGV0YWNoZWREaXYyKTsKKwordmFyIGRldGFjaGVk
UCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKK3ZhciBzcGFuSW5EZXRhY2hlZFAgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CitkZXRhY2hlZFAuYXBwZW5kQ2hpbGQoc3Bh
bkluRGV0YWNoZWRQKTsKKworc2hvdWxkQmUoInZhciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uu
c2V0U3RhcnQoZGV0YWNoZWREaXYsIDApOyByYW5nZS5jb21wYXJlUG9pbnQoZGV0YWNoZWREaXYs
IDApOyIsICIwIik7CitzaG91bGRCZSgidmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRT
dGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7
IiwgIjEiKTsKK3Nob3VsZEJlKCJ2YXIgcmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0
KGRldGFjaGVkRGl2LCAyKTsgcmFuZ2UuY29tcGFyZVBvaW50KGRldGFjaGVkRGl2LCAxKTsiLCAi
LTEiKTsKK3Nob3VsZEJlKCJ2YXIgcmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KHNw
YW5JbkRldGFjaGVkRGl2MSwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChzcGFuSW5EZXRhY2hlZERp
djIsIDApOyIsICIxIik7CitzaG91bGRCZSgidmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5z
ZXRTdGFydChzcGFuSW5EZXRhY2hlZERpdjIsIDApOyByYW5nZS5jb21wYXJlUG9pbnQoc3Bhbklu
RGV0YWNoZWREaXYxLCAwKTsiLCAiLTEiKTsKK3Nob3VsZEJlKCJ2YXIgcmFuZ2UgPSBuZXcgUmFu
Z2U7IHJhbmdlLnNldFN0YXJ0KHNwYW5JbkRldGFjaGVkRGl2MSwgMCk7IHJhbmdlLmNvbXBhcmVQ
b2ludChzcGFuSW5EZXRhY2hlZERpdjEsIDApOyIsICIwIik7CitzaG91bGRUaHJvdygidmFyIHJh
bmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNv
bXBhcmVQb2ludChkZXRhY2hlZFAsIDApOyIpOworc2hvdWxkVGhyb3coInZhciByYW5nZSA9IG5l
dyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29t
cGFyZVBvaW50KHNwYW5JbkRldGFjaGVkUCwgMCk7Iik7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260478</attachid>
            <date>2015-09-02 20:04:16 -0700</date>
            <delta_ts>2015-09-02 20:05:17 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-148733-20150902200415.patch</filename>
            <type>text/plain</type>
            <size>12180</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTI2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA5LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJhbmdlLmNvbXBhcmVQb2ludCBz
aG91bGRuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSByYW5nZSBhbmQgdGhlIG5vZGUgYXJl
IGluIHRoZSBzYW1lIGRldGFjaGVkIHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0ODczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIERvbid0IHRocm93IFdST05HX0RPQ1VNRU5UX0VSUiB3aGVuIHJl
Zk5vZGUgaXMgbm90IGluIHRoZSBkb2N1bWVudC4gVGhlIG5ldyBiZWhhdmlvciBtYXRjaGVzIERP
TTQgYXMgd2VsbAorICAgICAgICBhcyB0aGUgYmVoYXZpb3Igb2YgRmlyZWZveC4gU2VlIGh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9tLXJhbmdlLWNvbXBhcmVwb2ludAorCisgICAgICAg
IFdST05HX0RPQ1VNRU5UX0VSUiBpcyBjb250aW51ZWQgdG8gYmUgdGhyb3duIGJ5IGNvbXBhcmVC
b3VuZGFyeVBvaW50cyBsYXRlciBpbiB0aGUgZnVuY3Rpb24gd2hlbiB0aGUgcm9vdAorICAgICAg
ICBub2RlcyBvZiByZWZOb2RlIGFuZCBib3VuZGFyeSBwb2ludHMgYXJlIGRpZmZlcmVudC4KKwor
ICAgICAgICBUaGVyZSBpcyBvbmUgc3VidGx5IGhlcmUgdGhhdCB3ZSBuZWVkIHRvIHRocm93IFdS
T05HX0RPQ1VNRU5UX0VSUiBpbnN0ZWFkIG9mIElOREVYX1NJWkVfRVJSIHdoZW4gcmVmTm9kZQor
ICAgICAgICBhbmQgdGhlIGJvdW5kYXJ5IHBvaW50cyBkb24ndCBzaGFyZSB0aGUgc2FtZSByb290
IG5vZGUgZXZlbiBpZiAocmVmTm9kZSwgb2Zmc2V0KSBwYWlyIGlzIGludmFsaWQgc2luY2UKKyAg
ICAgICAgRE9NNCBzcGVjIGNoZWNrcyB0aGUgZm9ybWVyIGNvbmRpdGlvbiBmaXJzdC4gV2UgaW1w
bGVtZW50IHRoaXMgYmVoYXZpb3IgYnkgZmlyc3QgdmFsaWRhdGluZyB0aGUgb2Zmc2V0CisgICAg
ICAgIGFuZCB0aGVuIGV4cGxpY2l0bHkgY2hlY2tpbmcgZm9yIHRoZSByb290IG5vZGUgZGlmZmVy
ZW5jZSBpZiB0aGUgZm9ybWVyIGNoZWNrIGZhaWxlZCB0byBhdm9pZCB0aGUgbGF0dGVyCisgICAg
ICAgIE8obikgY2hlY2sgaW4gY29tbW9uIGNhc2VzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9t
L1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sCisKKyAgICAgICAg
KiBkb20vUmFuZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OmNvbXBhcmVQb2ludCk6
CisKIDIwMTUtMDktMDIgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBzb21lIEhvdWRpbmkgc3BlY3MgdG8gdGhlIGZlYXR1cmVzIGxpc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlLmNwcAkocmV2aXNpb24gMTg5MjY2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Jhbmdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDE1ICsyNTMsMjAgQEAgc2hvcnQgUmFuZ2U6OmNv
bXBhcmVQb2ludChOb2RlKiByZWZOb2RlLAogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAg
ICBpZiAoIXJlZk5vZGUtPmluRG9jdW1lbnQoKSB8fCAmcmVmTm9kZS0+ZG9jdW1lbnQoKSAhPSAm
b3duZXJEb2N1bWVudCgpKSB7CisgICAgaWYgKCZyZWZOb2RlLT5kb2N1bWVudCgpICE9ICZvd25l
ckRvY3VtZW50KCkpIHsKICAgICAgICAgZWMgPSBXUk9OR19ET0NVTUVOVF9FUlI7CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KIAogICAgIGVjID0gMDsKICAgICBjaGVja05vZGVXT2Zmc2V0KHJl
Zk5vZGUsIG9mZnNldCwgZWMpOwotICAgIGlmIChlYykKKyAgICBpZiAoZWMpIHsKKyAgICAgICAg
Ly8gRE9NNCBzcGVjIHJlcXVpcmVzIHVzIHRvIGNoZWNrIHdoZXRoZXIgcmVmTm9kZSBhbmQgc3Rh
cnQgY29udGFpbnJlIGhhcyB0aGUgc2FtZSByb290IGZpcnN0CisgICAgICAgIC8vIGJ1dCB3ZSBk
byBpdCBpbiB0aGUgcmV2ZXJzZSBvcmRlciB0byBhdm9pZCBPKG4pIG9wZXJhdGlvbiBpbiBjb21t
b24gY2FzZS4KKyAgICAgICAgaWYgKCFyZWZOb2RlLT5pbkRvY3VtZW50KCkgJiYgIWNvbW1vbkFu
Y2VzdG9yQ29udGFpbmVyKHJlZk5vZGUsICZzdGFydENvbnRhaW5lcigpKSkKKyAgICAgICAgICAg
IGVjID0gV1JPTkdfRE9DVU1FTlRfRVJSOwogICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKICAg
ICAvLyBjb21wYXJlIHRvIHN0YXJ0LCBhbmQgcG9pbnQgY29tZXMgYmVmb3JlCiAgICAgaWYgKGNv
bXBhcmVCb3VuZGFyeVBvaW50cyhyZWZOb2RlLCBvZmZzZXQsICZzdGFydENvbnRhaW5lcigpLCBt
X3N0YXJ0Lm9mZnNldCgpLCBlYykgPCAwKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTg5MjY2KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTUtMDktMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmFu
Z2UuY29tcGFyZVBvaW50IHNob3VsZG4ndCB0aHJvdyBhbiBleGNlcHRpb24gaWYgdGhlIHJhbmdl
IGFuZCB0aGUgbm9kZSBhcmUgaW4gdGhlIHNhbWUgZGV0YWNoZWQgdHJlZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NzMzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNzaW9uIHRl
c3QgYW5kIHJlYmFzZWxpbmVkIGEgVzNDIHRlc3Qgd2l0aCBtb3JlIHRlc3QgY2FzZXMgcGFzc2lu
Zy4KKworICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hl
ZC1ub2Rlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3Jh
bmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3czYy9kb20vcmFuZ2VzL1JhbmdlLXNldC1leHBlY3RlZC50eHQ6CisKIDIwMTUt
MDktMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBhaW50
IGNsZWFudXA6CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1jb21wYXJl
UG9pbnQtZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5n
ZS1jb21wYXJlUG9pbnQtZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTQgQEAKK1RoaXMgdGVzdCBjYWxscyBjb21wYXJlUG9pbnQgb24gZGV0YWNo
ZWQgbm9kZXMuIFRoZXkgc2hvdWxkIGNvbXBhcmUgbm9kZXMgd2hlbiB0aGV5J3JlIGluIHRoZSBz
YW1lIGRldGFjaGVkIHRyZWUgYW5kIHRocm93IG90aGVyd2lzZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFy
dChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMCk7IGlz
IDAKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERp
diwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7IGlzIDEKK1BBU1MgdmFy
IHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMik7IHJhbmdl
LmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7IGlzIC0xCitQQVNTIHZhciByYW5nZSA9IG5l
dyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29t
cGFyZVBvaW50KHNwYW5JbkRldGFjaGVkRGl2MiwgMCk7IGlzIDEKK1BBU1MgdmFyIHJhbmdlID0g
bmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChzcGFuSW5EZXRhY2hlZERpdjIsIDApOyByYW5nZS5j
b21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgaXMgLTEKK1BBU1MgdmFyIHJhbmdl
ID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChzcGFuSW5EZXRhY2hlZERpdjEsIDApOyByYW5n
ZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgaXMgMAorUEFTUyB2YXIgcmFu
Z2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KGRldGFjaGVkRGl2LCAwKTsgcmFuZ2UuY29t
cGFyZVBvaW50KGRldGFjaGVkUCwgMCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogV3JvbmdEb2N1
bWVudEVycm9yOiBET00gRXhjZXB0aW9uIDQuCitQQVNTIHZhciByYW5nZSA9IG5ldyBSYW5nZTsg
cmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50
KHNwYW5JbkRldGFjaGVkUCwgMCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogV3JvbmdEb2N1bWVu
dEVycm9yOiBET00gRXhjZXB0aW9uIDQuCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1Jh
bmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1u
b2Rlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFu
Z2UtY29tcGFyZVBvaW50LWRldGFjaGVkLW5vZGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNhbGxzIGNvbXBhcmVQb2ludCBvbiBkZXRhY2hlZCBu
b2Rlcy4gVGhleSBzaG91bGQgY29tcGFyZSBub2RlcyB3aGVuIHRoZXkncmUgaW4gdGhlIHNhbWUg
ZGV0YWNoZWQgdHJlZSBhbmQgdGhyb3cgb3RoZXJ3aXNlLiIpCisKK3ZhciBkZXRhY2hlZERpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwordmFyIHNwYW5JbkRldGFjaGVkRGl2MSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKK3ZhciBzcGFuSW5EZXRhY2hlZERpdjIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CitkZXRhY2hlZERpdi5hcHBlbmRDaGls
ZChzcGFuSW5EZXRhY2hlZERpdjEpOworZGV0YWNoZWREaXYuYXBwZW5kQ2hpbGQoc3BhbkluRGV0
YWNoZWREaXYyKTsKKwordmFyIGRldGFjaGVkUCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3An
KTsKK3ZhciBzcGFuSW5EZXRhY2hlZFAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7
CitkZXRhY2hlZFAuYXBwZW5kQ2hpbGQoc3BhbkluRGV0YWNoZWRQKTsKKworc2hvdWxkQmUoInZh
ciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoZGV0YWNoZWREaXYsIDApOyByYW5n
ZS5jb21wYXJlUG9pbnQoZGV0YWNoZWREaXYsIDApOyIsICIwIik7CitzaG91bGRCZSgidmFyIHJh
bmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNv
bXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7IiwgIjEiKTsKK3Nob3VsZEJlKCJ2YXIgcmFuZ2Ug
PSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KGRldGFjaGVkRGl2LCAyKTsgcmFuZ2UuY29tcGFy
ZVBvaW50KGRldGFjaGVkRGl2LCAxKTsiLCAiLTEiKTsKK3Nob3VsZEJlKCJ2YXIgcmFuZ2UgPSBu
ZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KHNwYW5JbkRldGFjaGVkRGl2MSwgMCk7IHJhbmdlLmNv
bXBhcmVQb2ludChzcGFuSW5EZXRhY2hlZERpdjIsIDApOyIsICIxIik7CitzaG91bGRCZSgidmFy
IHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChzcGFuSW5EZXRhY2hlZERpdjIsIDAp
OyByYW5nZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsiLCAiLTEiKTsKK3No
b3VsZEJlKCJ2YXIgcmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KHNwYW5JbkRldGFj
aGVkRGl2MSwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChzcGFuSW5EZXRhY2hlZERpdjEsIDApOyIs
ICIwIik7CitzaG91bGRUaHJvdygidmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFy
dChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZFAsIDApOyIpOwor
c2hvdWxkVGhyb3coInZhciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3Bhbklu
RGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50KHNwYW5JbkRldGFjaGVkUCwgMCk7
Iik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93M2MvZG9tL3Jhbmdlcy9SYW5nZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL2RvbS9yYW5nZXMvUmFuZ2Utc2V0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMTg5MjY2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93M2Mv
ZG9tL3Jhbmdlcy9SYW5nZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01ODEs
OSArNTgxLDkgQEAgUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNiBbZGV0YWNoZWRQYQogUEFT
UyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBk
ZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdLCBwb2ludCAxMyBbcGFyYXNbMV0uZmlyc3RDaGls
ZCwgOV0gCiBQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRhY2hlZFBhcmExLmZpcnN0
Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBvaW50IDE0IFtwYXJhc1sx
XS5maXJzdENoaWxkLCAxMF0gCiBQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRhY2hl
ZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBvaW50
IDE1IFtwYXJhc1sxXS5maXJzdENoaWxkLCA2NTUzNV0gCi1GQUlMIHNldFN0YXJ0KCkgd2l0aCBy
YW5nZSA2IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RD
aGlsZCwgMF0sIHBvaW50IDE2IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdIFdyb25nRG9j
dW1lbnRFcnJvcjogRE9NIEV4Y2VwdGlvbiA0Ci1GQUlMIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2
IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwg
MF0sIHBvaW50IDE3IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDFdIFdyb25nRG9jdW1lbnRF
cnJvcjogRE9NIEV4Y2VwdGlvbiA0Ci1GQUlMIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRh
Y2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBv
aW50IDE4IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdIFdyb25nRG9jdW1lbnRFcnJvcjog
RE9NIEV4Y2VwdGlvbiA0CitQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRhY2hlZFBh
cmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBvaW50IDE2
IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdIAorUEFTUyBzZXRTdGFydCgpIHdpdGggcmFu
Z2UgNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hp
bGQsIDBdLCBwb2ludCAxNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAxXSAKK1BBU1Mgc2V0
U3RhcnQoKSB3aXRoIHJhbmdlIDYgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMCwgZGV0YWNo
ZWRQYXJhMS5maXJzdENoaWxkLCAwXSwgcG9pbnQgMTggW2RldGFjaGVkUGFyYTEuZmlyc3RDaGls
ZCwgOF0gCiBQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRhY2hlZFBhcmExLmZpcnN0
Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBvaW50IDE5IFtkZXRhY2hl
ZFBhcmExLmZpcnN0Q2hpbGQsIDldIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNiBbZGV0
YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdLCBw
b2ludCAyMCBbZm9yZWlnblBhcmExLmZpcnN0Q2hpbGQsIDBdIAogUEFTUyBzZXRTdGFydCgpIHdp
dGggcmFuZ2UgNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBkZXRhY2hlZFBhcmExLmZp
cnN0Q2hpbGQsIDBdLCBwb2ludCAyMSBbZm9yZWlnblBhcmExLmZpcnN0Q2hpbGQsIDFdIApAQCAt
NjY5LDkgKzY2OSw5IEBAIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDcgW2RldGFjaGVkUGEK
IFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwg
MiwgZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4XSwgcG9pbnQgMTMgW3BhcmFzWzFdLmZpcnN0
Q2hpbGQsIDldIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBbZGV0YWNoZWRQYXJhMS5m
aXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdLCBwb2ludCAxNCBbcGFy
YXNbMV0uZmlyc3RDaGlsZCwgMTBdIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBbZGV0
YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdLCBw
b2ludCAxNSBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgNjU1MzVdIAotRkFJTCBzZXRTdGFydCgpIHdp
dGggcmFuZ2UgNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZp
cnN0Q2hpbGQsIDhdLCBwb2ludCAxNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwXSBXcm9u
Z0RvY3VtZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgpIHdpdGggcmFu
Z2UgNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hp
bGQsIDhdLCBwb2ludCAxNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAxXSBXcm9uZ0RvY3Vt
ZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBb
ZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhd
LCBwb2ludCAxOCBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4XSBXcm9uZ0RvY3VtZW50RXJy
b3I6IERPTSBFeGNlcHRpb24gNAorUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBbZGV0YWNo
ZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdLCBwb2lu
dCAxNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwXSAKK1BBU1Mgc2V0U3RhcnQoKSB3aXRo
IHJhbmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMiwgZGV0YWNoZWRQYXJhMS5maXJz
dENoaWxkLCA4XSwgcG9pbnQgMTcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMV0gCitQQVNT
IHNldFN0YXJ0KCkgd2l0aCByYW5nZSA3IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDIsIGRl
dGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgOF0sIHBvaW50IDE4IFtkZXRhY2hlZFBhcmExLmZpcnN0
Q2hpbGQsIDhdIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBbZGV0YWNoZWRQYXJhMS5m
aXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdLCBwb2ludCAxOSBbZGV0
YWNoZWRQYXJhMS5maXJzdENoaWxkLCA5XSAKIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDcg
W2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMiwgZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4
XSwgcG9pbnQgMjAgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAwXSAKIFBBU1Mgc2V0U3RhcnQo
KSB3aXRoIHJhbmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMiwgZGV0YWNoZWRQYXJh
MS5maXJzdENoaWxkLCA4XSwgcG9pbnQgMjEgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAxXSAK
QEAgLTE1NDksOSArMTU0OSw5IEBAIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRh
Y2hlZFAKIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmExLCAwLCBk
ZXRhY2hlZFBhcmExLCAxXSwgcG9pbnQgMTMgW3BhcmFzWzFdLmZpcnN0Q2hpbGQsIDldIAogUEFT
UyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFy
YTEsIDFdLCBwb2ludCAxNCBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgMTBdIAogUEFTUyBzZXRTdGFy
dCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBw
b2ludCAxNSBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgNjU1MzVdIAotRkFJTCBzZXRTdGFydCgpIHdp
dGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBwb2ludCAx
NiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwXSBXcm9uZ0RvY3VtZW50RXJyb3I6IERPTSBF
eGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEs
IDAsIGRldGFjaGVkUGFyYTEsIDFdLCBwb2ludCAxNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxk
LCAxXSBXcm9uZ0RvY3VtZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgp
IHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBwb2lu
dCAxOCBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4XSBXcm9uZ0RvY3VtZW50RXJyb3I6IERP
TSBFeGNlcHRpb24gNAorUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFy
YTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBwb2ludCAxNiBbZGV0YWNoZWRQYXJhMS5maXJzdENo
aWxkLCAwXSAKK1BBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmExLCAw
LCBkZXRhY2hlZFBhcmExLCAxXSwgcG9pbnQgMTcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwg
MV0gCitQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSAxNyBbZGV0YWNoZWRQYXJhMSwgMCwgZGV0
YWNoZWRQYXJhMSwgMV0sIHBvaW50IDE4IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdIAog
UEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVk
UGFyYTEsIDFdLCBwb2ludCAxOSBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA5XSAKIFBBU1Mg
c2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmExLCAwLCBkZXRhY2hlZFBhcmEx
LCAxXSwgcG9pbnQgMjAgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAwXSAKIFBBU1Mgc2V0U3Rh
cnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmExLCAwLCBkZXRhY2hlZFBhcmExLCAxXSwg
cG9pbnQgMjEgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAxXSAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260479</attachid>
            <date>2015-09-02 20:05:22 -0700</date>
            <delta_ts>2015-09-02 20:39:26 -0700</delta_ts>
            <desc>Fixed a typo</desc>
            <filename>bug-148733-20150902200521.patch</filename>
            <type>text/plain</type>
            <size>12186</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTI2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA5LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJhbmdlLmNvbXBhcmVQb2ludCBz
aG91bGRuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSByYW5nZSBhbmQgdGhlIG5vZGUgYXJl
IGluIHRoZSBzYW1lIGRldGFjaGVkIHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0ODczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIERvbid0IHRocm93IFdST05HX0RPQ1VNRU5UX0VSUiB3aGVuIHJl
Zk5vZGUgaXMgbm90IGluIHRoZSBkb2N1bWVudC4gVGhlIG5ldyBiZWhhdmlvciBtYXRjaGVzIERP
TTQgYXMgd2VsbAorICAgICAgICBhcyB0aGUgYmVoYXZpb3Igb2YgRmlyZWZveC4gU2VlIGh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9tLXJhbmdlLWNvbXBhcmVwb2ludAorCisgICAgICAg
IFdST05HX0RPQ1VNRU5UX0VSUiBpcyBjb250aW51ZWQgdG8gYmUgdGhyb3duIGJ5IGNvbXBhcmVC
b3VuZGFyeVBvaW50cyBsYXRlciBpbiB0aGUgZnVuY3Rpb24gd2hlbiB0aGUgcm9vdAorICAgICAg
ICBub2RlcyBvZiByZWZOb2RlIGFuZCBib3VuZGFyeSBwb2ludHMgYXJlIGRpZmZlcmVudC4KKwor
ICAgICAgICBUaGVyZSBpcyBvbmUgc3VidGx5IGhlcmUgdGhhdCB3ZSBuZWVkIHRvIHRocm93IFdS
T05HX0RPQ1VNRU5UX0VSUiBpbnN0ZWFkIG9mIElOREVYX1NJWkVfRVJSIHdoZW4gcmVmTm9kZQor
ICAgICAgICBhbmQgdGhlIGJvdW5kYXJ5IHBvaW50cyBkb24ndCBzaGFyZSB0aGUgc2FtZSByb290
IG5vZGUgZXZlbiBpZiAocmVmTm9kZSwgb2Zmc2V0KSBwYWlyIGlzIGludmFsaWQgc2luY2UKKyAg
ICAgICAgRE9NNCBzcGVjIGNoZWNrcyB0aGUgZm9ybWVyIGNvbmRpdGlvbiBmaXJzdC4gV2UgaW1w
bGVtZW50IHRoaXMgYmVoYXZpb3IgYnkgZmlyc3QgdmFsaWRhdGluZyB0aGUgb2Zmc2V0CisgICAg
ICAgIGFuZCB0aGVuIGV4cGxpY2l0bHkgY2hlY2tpbmcgZm9yIHRoZSByb290IG5vZGUgZGlmZmVy
ZW5jZSBpZiB0aGUgZm9ybWVyIGNoZWNrIGZhaWxlZCB0byBhdm9pZCB0aGUgbGF0dGVyCisgICAg
ICAgIE8obikgY2hlY2sgaW4gY29tbW9uIGNhc2VzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9t
L1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sCisKKyAgICAgICAg
KiBkb20vUmFuZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OmNvbXBhcmVQb2ludCk6
CisKIDIwMTUtMDktMDIgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBzb21lIEhvdWRpbmkgc3BlY3MgdG8gdGhlIGZlYXR1cmVzIGxpc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlLmNwcAkocmV2aXNpb24gMTg5MjY2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Jhbmdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDE1ICsyNTMsMjAgQEAgc2hvcnQgUmFuZ2U6OmNv
bXBhcmVQb2ludChOb2RlKiByZWZOb2RlLAogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAg
ICBpZiAoIXJlZk5vZGUtPmluRG9jdW1lbnQoKSB8fCAmcmVmTm9kZS0+ZG9jdW1lbnQoKSAhPSAm
b3duZXJEb2N1bWVudCgpKSB7CisgICAgaWYgKCZyZWZOb2RlLT5kb2N1bWVudCgpICE9ICZvd25l
ckRvY3VtZW50KCkpIHsKICAgICAgICAgZWMgPSBXUk9OR19ET0NVTUVOVF9FUlI7CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KIAogICAgIGVjID0gMDsKICAgICBjaGVja05vZGVXT2Zmc2V0KHJl
Zk5vZGUsIG9mZnNldCwgZWMpOwotICAgIGlmIChlYykKKyAgICBpZiAoZWMpIHsKKyAgICAgICAg
Ly8gRE9NNCBzcGVjIHJlcXVpcmVzIHVzIHRvIGNoZWNrIHdoZXRoZXIgcmVmTm9kZSBhbmQgc3Rh
cnQgY29udGFpbmVyIGhhdmUgdGhlIHNhbWUgcm9vdCBmaXJzdAorICAgICAgICAvLyBidXQgd2Ug
ZG8gaXQgaW4gdGhlIHJldmVyc2Ugb3JkZXIgdG8gYXZvaWQgTyhuKSBvcGVyYXRpb24gaGVyZSBp
biBjb21tb24gY2FzZS4KKyAgICAgICAgaWYgKCFyZWZOb2RlLT5pbkRvY3VtZW50KCkgJiYgIWNv
bW1vbkFuY2VzdG9yQ29udGFpbmVyKHJlZk5vZGUsICZzdGFydENvbnRhaW5lcigpKSkKKyAgICAg
ICAgICAgIGVjID0gV1JPTkdfRE9DVU1FTlRfRVJSOwogICAgICAgICByZXR1cm4gMDsKKyAgICB9
CiAKICAgICAvLyBjb21wYXJlIHRvIHN0YXJ0LCBhbmQgcG9pbnQgY29tZXMgYmVmb3JlCiAgICAg
aWYgKGNvbXBhcmVCb3VuZGFyeVBvaW50cyhyZWZOb2RlLCBvZmZzZXQsICZzdGFydENvbnRhaW5l
cigpLCBtX3N0YXJ0Lm9mZnNldCgpLCBlYykgPCAwKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTg5MjY2
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTUtMDktMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmFuZ2UuY29tcGFyZVBvaW50IHNob3VsZG4ndCB0aHJvdyBhbiBleGNlcHRpb24gaWYgdGhl
IHJhbmdlIGFuZCB0aGUgbm9kZSBhcmUgaW4gdGhlIHNhbWUgZGV0YWNoZWQgdHJlZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NzMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNz
aW9uIHRlc3QgYW5kIHJlYmFzZWxpbmVkIGEgVzNDIHRlc3Qgd2l0aCBtb3JlIHRlc3QgY2FzZXMg
cGFzc2luZy4KKworICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1k
ZXRhY2hlZC1ub2Rlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Jh
bmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3czYy9kb20vcmFuZ2VzL1JhbmdlLXNldC1leHBlY3RlZC50eHQ6CisK
IDIwMTUtMDktMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXBhaW50IGNsZWFudXA6CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1j
b21wYXJlUG9pbnQtZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rl
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5n
ZS9yYW5nZS1jb21wYXJlUG9pbnQtZGV0YWNoZWQtbm9kZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKK1RoaXMgdGVzdCBjYWxscyBjb21wYXJlUG9pbnQgb24g
ZGV0YWNoZWQgbm9kZXMuIFRoZXkgc2hvdWxkIGNvbXBhcmUgbm9kZXMgd2hlbiB0aGV5J3JlIGlu
IHRoZSBzYW1lIGRldGFjaGVkIHRyZWUgYW5kIHRocm93IG90aGVyd2lzZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5z
ZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwg
MCk7IGlzIDAKK1BBU1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRh
Y2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7IGlzIDEKK1BB
U1MgdmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMik7
IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7IGlzIC0xCitQQVNTIHZhciByYW5n
ZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFu
Z2UuY29tcGFyZVBvaW50KHNwYW5JbkRldGFjaGVkRGl2MiwgMCk7IGlzIDEKK1BBU1MgdmFyIHJh
bmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChzcGFuSW5EZXRhY2hlZERpdjIsIDApOyBy
YW5nZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgaXMgLTEKK1BBU1MgdmFy
IHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChzcGFuSW5EZXRhY2hlZERpdjEsIDAp
OyByYW5nZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgaXMgMAorUEFTUyB2
YXIgcmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KGRldGFjaGVkRGl2LCAwKTsgcmFu
Z2UuY29tcGFyZVBvaW50KGRldGFjaGVkUCwgMCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogV3Jv
bmdEb2N1bWVudEVycm9yOiBET00gRXhjZXB0aW9uIDQuCitQQVNTIHZhciByYW5nZSA9IG5ldyBS
YW5nZTsgcmFuZ2Uuc2V0U3RhcnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFy
ZVBvaW50KHNwYW5JbkRldGFjaGVkUCwgMCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogV3JvbmdE
b2N1bWVudEVycm9yOiBET00gRXhjZXB0aW9uIDQuCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRhY2hlZC1ub2Rlcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNvbXBhcmVQb2ludC1kZXRh
Y2hlZC1ub2Rlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFu
Z2UvcmFuZ2UtY29tcGFyZVBvaW50LWRldGFjaGVkLW5vZGVzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNhbGxzIGNvbXBhcmVQb2ludCBvbiBkZXRh
Y2hlZCBub2Rlcy4gVGhleSBzaG91bGQgY29tcGFyZSBub2RlcyB3aGVuIHRoZXkncmUgaW4gdGhl
IHNhbWUgZGV0YWNoZWQgdHJlZSBhbmQgdGhyb3cgb3RoZXJ3aXNlLiIpCisKK3ZhciBkZXRhY2hl
ZERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwordmFyIHNwYW5JbkRldGFjaGVk
RGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKK3ZhciBzcGFuSW5EZXRhY2hl
ZERpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CitkZXRhY2hlZERpdi5hcHBl
bmRDaGlsZChzcGFuSW5EZXRhY2hlZERpdjEpOworZGV0YWNoZWREaXYuYXBwZW5kQ2hpbGQoc3Bh
bkluRGV0YWNoZWREaXYyKTsKKwordmFyIGRldGFjaGVkUCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3AnKTsKK3ZhciBzcGFuSW5EZXRhY2hlZFAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
cGFuJyk7CitkZXRhY2hlZFAuYXBwZW5kQ2hpbGQoc3BhbkluRGV0YWNoZWRQKTsKKworc2hvdWxk
QmUoInZhciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQoZGV0YWNoZWREaXYsIDAp
OyByYW5nZS5jb21wYXJlUG9pbnQoZGV0YWNoZWREaXYsIDApOyIsICIwIik7CitzaG91bGRCZSgi
dmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJh
bmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZERpdiwgMSk7IiwgIjEiKTsKK3Nob3VsZEJlKCJ2YXIg
cmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KGRldGFjaGVkRGl2LCAyKTsgcmFuZ2Uu
Y29tcGFyZVBvaW50KGRldGFjaGVkRGl2LCAxKTsiLCAiLTEiKTsKK3Nob3VsZEJlKCJ2YXIgcmFu
Z2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KHNwYW5JbkRldGFjaGVkRGl2MSwgMCk7IHJh
bmdlLmNvbXBhcmVQb2ludChzcGFuSW5EZXRhY2hlZERpdjIsIDApOyIsICIxIik7CitzaG91bGRC
ZSgidmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5zZXRTdGFydChzcGFuSW5EZXRhY2hlZERp
djIsIDApOyByYW5nZS5jb21wYXJlUG9pbnQoc3BhbkluRGV0YWNoZWREaXYxLCAwKTsiLCAiLTEi
KTsKK3Nob3VsZEJlKCJ2YXIgcmFuZ2UgPSBuZXcgUmFuZ2U7IHJhbmdlLnNldFN0YXJ0KHNwYW5J
bkRldGFjaGVkRGl2MSwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChzcGFuSW5EZXRhY2hlZERpdjEs
IDApOyIsICIwIik7CitzaG91bGRUaHJvdygidmFyIHJhbmdlID0gbmV3IFJhbmdlOyByYW5nZS5z
ZXRTdGFydChkZXRhY2hlZERpdiwgMCk7IHJhbmdlLmNvbXBhcmVQb2ludChkZXRhY2hlZFAsIDAp
OyIpOworc2hvdWxkVGhyb3coInZhciByYW5nZSA9IG5ldyBSYW5nZTsgcmFuZ2Uuc2V0U3RhcnQo
c3BhbkluRGV0YWNoZWREaXYxLCAwKTsgcmFuZ2UuY29tcGFyZVBvaW50KHNwYW5JbkRldGFjaGVk
UCwgMCk7Iik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93M2MvZG9tL3Jhbmdlcy9SYW5nZS1zZXQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvdzNjL2RvbS9yYW5nZXMvUmFuZ2Utc2V0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTg5MjY2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93M2MvZG9tL3Jhbmdlcy9SYW5nZS1zZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC01ODEsOSArNTgxLDkgQEAgUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNiBbZGV0YWNoZWRQ
YQogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxk
LCAwLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdLCBwb2ludCAxMyBbcGFyYXNbMV0uZmly
c3RDaGlsZCwgOV0gCiBQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRhY2hlZFBhcmEx
LmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBvaW50IDE0IFtw
YXJhc1sxXS5maXJzdENoaWxkLCAxMF0gCiBQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtk
ZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0s
IHBvaW50IDE1IFtwYXJhc1sxXS5maXJzdENoaWxkLCA2NTUzNV0gCi1GQUlMIHNldFN0YXJ0KCkg
d2l0aCByYW5nZSA2IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEu
Zmlyc3RDaGlsZCwgMF0sIHBvaW50IDE2IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdIFdy
b25nRG9jdW1lbnRFcnJvcjogRE9NIEV4Y2VwdGlvbiA0Ci1GQUlMIHNldFN0YXJ0KCkgd2l0aCBy
YW5nZSA2IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RD
aGlsZCwgMF0sIHBvaW50IDE3IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDFdIFdyb25nRG9j
dW1lbnRFcnJvcjogRE9NIEV4Y2VwdGlvbiA0Ci1GQUlMIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2
IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwg
MF0sIHBvaW50IDE4IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdIFdyb25nRG9jdW1lbnRF
cnJvcjogRE9NIEV4Y2VwdGlvbiA0CitQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRh
Y2hlZFBhcmExLmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBv
aW50IDE2IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDBdIAorUEFTUyBzZXRTdGFydCgpIHdp
dGggcmFuZ2UgNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBkZXRhY2hlZFBhcmExLmZp
cnN0Q2hpbGQsIDBdLCBwb2ludCAxNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAxXSAKK1BB
U1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDYgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMCwg
ZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwXSwgcG9pbnQgMTggW2RldGFjaGVkUGFyYTEuZmly
c3RDaGlsZCwgOF0gCiBQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA2IFtkZXRhY2hlZFBhcmEx
LmZpcnN0Q2hpbGQsIDAsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMF0sIHBvaW50IDE5IFtk
ZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDldIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2Ug
NiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQs
IDBdLCBwb2ludCAyMCBbZm9yZWlnblBhcmExLmZpcnN0Q2hpbGQsIDBdIAogUEFTUyBzZXRTdGFy
dCgpIHdpdGggcmFuZ2UgNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwLCBkZXRhY2hlZFBh
cmExLmZpcnN0Q2hpbGQsIDBdLCBwb2ludCAyMSBbZm9yZWlnblBhcmExLmZpcnN0Q2hpbGQsIDFd
IApAQCAtNjY5LDkgKzY2OSw5IEBAIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDcgW2RldGFj
aGVkUGEKIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RD
aGlsZCwgMiwgZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4XSwgcG9pbnQgMTMgW3BhcmFzWzFd
LmZpcnN0Q2hpbGQsIDldIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBbZGV0YWNoZWRQ
YXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdLCBwb2ludCAx
NCBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgMTBdIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2Ug
NyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQs
IDhdLCBwb2ludCAxNSBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgNjU1MzVdIAotRkFJTCBzZXRTdGFy
dCgpIHdpdGggcmFuZ2UgNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBh
cmExLmZpcnN0Q2hpbGQsIDhdLCBwb2ludCAxNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAw
XSBXcm9uZ0RvY3VtZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgpIHdp
dGggcmFuZ2UgNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZp
cnN0Q2hpbGQsIDhdLCBwb2ludCAxNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAxXSBXcm9u
Z0RvY3VtZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgpIHdpdGggcmFu
Z2UgNyBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hp
bGQsIDhdLCBwb2ludCAxOCBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4XSBXcm9uZ0RvY3Vt
ZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAorUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBb
ZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhd
LCBwb2ludCAxNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwXSAKK1BBU1Mgc2V0U3RhcnQo
KSB3aXRoIHJhbmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMiwgZGV0YWNoZWRQYXJh
MS5maXJzdENoaWxkLCA4XSwgcG9pbnQgMTcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMV0g
CitQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSA3IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQs
IDIsIGRldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgOF0sIHBvaW50IDE4IFtkZXRhY2hlZFBhcmEx
LmZpcnN0Q2hpbGQsIDhdIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgNyBbZGV0YWNoZWRQ
YXJhMS5maXJzdENoaWxkLCAyLCBkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQsIDhdLCBwb2ludCAx
OSBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA5XSAKIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJh
bmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMiwgZGV0YWNoZWRQYXJhMS5maXJzdENo
aWxkLCA4XSwgcG9pbnQgMjAgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAwXSAKIFBBU1Mgc2V0
U3RhcnQoKSB3aXRoIHJhbmdlIDcgW2RldGFjaGVkUGFyYTEuZmlyc3RDaGlsZCwgMiwgZGV0YWNo
ZWRQYXJhMS5maXJzdENoaWxkLCA4XSwgcG9pbnQgMjEgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxk
LCAxXSAKQEAgLTE1NDksOSArMTU0OSw5IEBAIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3
IFtkZXRhY2hlZFAKIFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmEx
LCAwLCBkZXRhY2hlZFBhcmExLCAxXSwgcG9pbnQgMTMgW3BhcmFzWzFdLmZpcnN0Q2hpbGQsIDld
IAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFj
aGVkUGFyYTEsIDFdLCBwb2ludCAxNCBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgMTBdIAogUEFTUyBz
ZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEs
IDFdLCBwb2ludCAxNSBbcGFyYXNbMV0uZmlyc3RDaGlsZCwgNjU1MzVdIAotRkFJTCBzZXRTdGFy
dCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBw
b2ludCAxNiBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCAwXSBXcm9uZ0RvY3VtZW50RXJyb3I6
IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVk
UGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBwb2ludCAxNyBbZGV0YWNoZWRQYXJhMS5maXJz
dENoaWxkLCAxXSBXcm9uZ0RvY3VtZW50RXJyb3I6IERPTSBFeGNlcHRpb24gNAotRkFJTCBzZXRT
dGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFd
LCBwb2ludCAxOCBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA4XSBXcm9uZ0RvY3VtZW50RXJy
b3I6IERPTSBFeGNlcHRpb24gNAorUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFj
aGVkUGFyYTEsIDAsIGRldGFjaGVkUGFyYTEsIDFdLCBwb2ludCAxNiBbZGV0YWNoZWRQYXJhMS5m
aXJzdENoaWxkLCAwXSAKK1BBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBh
cmExLCAwLCBkZXRhY2hlZFBhcmExLCAxXSwgcG9pbnQgMTcgW2RldGFjaGVkUGFyYTEuZmlyc3RD
aGlsZCwgMV0gCitQQVNTIHNldFN0YXJ0KCkgd2l0aCByYW5nZSAxNyBbZGV0YWNoZWRQYXJhMSwg
MCwgZGV0YWNoZWRQYXJhMSwgMV0sIHBvaW50IDE4IFtkZXRhY2hlZFBhcmExLmZpcnN0Q2hpbGQs
IDhdIAogUEFTUyBzZXRTdGFydCgpIHdpdGggcmFuZ2UgMTcgW2RldGFjaGVkUGFyYTEsIDAsIGRl
dGFjaGVkUGFyYTEsIDFdLCBwb2ludCAxOSBbZGV0YWNoZWRQYXJhMS5maXJzdENoaWxkLCA5XSAK
IFBBU1Mgc2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmExLCAwLCBkZXRhY2hl
ZFBhcmExLCAxXSwgcG9pbnQgMjAgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAwXSAKIFBBU1Mg
c2V0U3RhcnQoKSB3aXRoIHJhbmdlIDE3IFtkZXRhY2hlZFBhcmExLCAwLCBkZXRhY2hlZFBhcmEx
LCAxXSwgcG9pbnQgMjEgW2ZvcmVpZ25QYXJhMS5maXJzdENoaWxkLCAxXSAK
</data>
<flag name="review"
          id="285664"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="285668"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>