<?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>39249</bug_id>
          
          <creation_ts>2010-05-17 16:18:55 -0700</creation_ts>
          <short_desc>REGRESSION (r56295): Can&apos;t create a new wave on Google Wave</short_desc>
          <delta_ts>2010-05-24 01:15:20 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>InRadar, Regression, XSSAuditor</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>abarth</cc>
    
    <cc>ain</cc>
    
    <cc>alin0steglinski</cc>
    
    <cc>ap</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>226977</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-17 16:18:55 -0700</bug_when>
    <thetext>Observed with r59204 nightly.

Steps to reproduce:
1. Log in to Google Wave.
2. Click &quot;New Wave&quot; at the right.

Results: window navigates to about:blank.
Expected results: a new wave should appear at the right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226978</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-17 16:19:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/7994854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226996</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-17 17:10:11 -0700</bug_when>
    <thetext>Works in r56294, fails in r56295.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227012</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-17 17:24:17 -0700</bug_when>
    <thetext>The main resource has &quot; X-Xss-Protection:1; mode=block&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227051</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-17 19:04:19 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Observed with r59204 nightly.
&gt; 
&gt; Steps to reproduce:
&gt; 1. Log in to Google Wave.
&gt; 2. Click &quot;New Wave&quot; at the right.
&gt; 
&gt; Results: window navigates to about:blank.
&gt; Expected results: a new wave should appear at the right.

I am unable to reproduce following the aforementioned steps with r59204 nightly and using my Google account. I tried resetting Safari (Safari-&gt;Reset Safari), then following the steps, to no avail. Do you happen to have a copy of the console messages when this occurred? Do you have any additional information on this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227056</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-17 19:12:54 -0700</bug_when>
    <thetext>It seems to only happen for some people, maybe Google serves different code versions?

The link is &lt;a href=&quot;javascript:;&quot;&gt; with some even listeners installed. 

Below is JS Console output:

HTML WARN: The page at https://wave.google.com/wave/ displayed insecure content from http://lh3.ggpht.com/__n9uIWxqWWk/SwXq4UxcJjI/AAAAAAAAA9k/Jk0EV1lvgMc/s104-c/IMG_1611.jpg.

HTML WARN: The page at https://wave.google.com/wave/ displayed insecure content from http://lh3.ggpht.com/__n9uIWxqWWk/SwXq4UxcJjI/AAAAAAAAA9k/Jk0EV1lvgMc/s104-c/IMG_1611.jpg.

JS ERROR: Refused to execute a JavaScript script. Source code of script found within request.

https://wave.google.com/wave/static/5DEB8B560FCA74C2AA4974967ED07055.cache.js:4218: JS ERROR: TypeError: Result of expression &apos;(v.Y?$doc.getElementById(d):Upb(v,d))&apos; [null] is not an object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227058</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-17 19:20:52 -0700</bug_when>
    <thetext>I know! I have a semicolon in my Google Wave password - this is why others can&apos;t reproduce.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227172</commentid>
    <comment_count>7</comment_count>
      <attachid>56332</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-18 00:50:07 -0700</bug_when>
    <thetext>Created attachment 56332
Patch with test case

Pass the schema portion of a JavaScript URL to the XSSAuditor as additional context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227173</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-18 01:04:24 -0700</bug_when>
    <thetext>Attachment 56332 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/2287234</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227174</commentid>
    <comment_count>9</comment_count>
      <attachid>56332</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-18 01:07:26 -0700</bug_when>
    <thetext>Comment on attachment 56332
Patch with test case

Need to add the equivalent changes to the v8 bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227705</commentid>
    <comment_count>10</comment_count>
      <attachid>56464</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-18 23:37:22 -0700</bug_when>
    <thetext>Created attachment 56464
Patch with test case

Updated patch with changes to V8 bindings and added missing file &quot;http/tests/security/xssAuditor/resources/javascript-link-safe.html&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227732</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-19 00:47:21 -0700</bug_when>
    <thetext>Attachment 56464 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/2273312</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227735</commentid>
    <comment_count>12</comment_count>
      <attachid>56473</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-19 01:05:10 -0700</bug_when>
    <thetext>Created attachment 56473
Patch with test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227737</commentid>
    <comment_count>13</comment_count>
      <attachid>56474</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-19 01:10:00 -0700</bug_when>
    <thetext>Created attachment 56474
Patch with test case

Fixed V8 prototype for ScriptController::executeIfJavaScriptURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228485</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-20 11:34:22 -0700</bug_when>
    <thetext>Adam, is this something you&apos;d be willing to review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228505</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-20 12:33:47 -0700</bug_when>
    <thetext>I&apos;d be happy to.  I&apos;m at W2SP today, but I&apos;ll try to review it tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229115</commentid>
    <comment_count>16</comment_count>
      <attachid>56474</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-21 15:03:55 -0700</bug_when>
    <thetext>Comment on attachment 56474
Patch with test case

Very nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229316</commentid>
    <comment_count>17</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-05-22 13:51:00 -0700</bug_when>
    <thetext>Committed r60014: &lt;http://trac.webkit.org/changeset/60014&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229562</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-23 18:40:35 -0700</bug_when>
    <thetext>*** Bug 38137 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229647</commentid>
    <comment_count>19</comment_count>
    <who name="Ain Tohvri">ain</who>
    <bug_when>2010-05-24 01:15:20 -0700</bug_when>
    <thetext>Behaviour described in bug 39186 is still there in latest r60027.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56332</attachid>
            <date>2010-05-18 00:50:07 -0700</date>
            <delta_ts>2010-05-18 23:37:22 -0700</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug39249.patch</filename>
            <type>text/plain</type>
            <size>10915</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTY1OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDUtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI0OQorCisgICAgICAgIEluc3Rl
YWQgb2YganVzdCB1c2luZyB0aGUgc291cmNlIGNvZGUgcG9ydGlvbiBvZiBhIEphdmFTY3JpcHQg
VVJMIHRvCisgICAgICAgIGRldGVjdCBhbiBYU1MgYXR0YWNrLCB3ZSBub3cgaW5jbHVkZSB0aGUg
SmF2YVNjcmlwdCBVUkwgc2NoZW1hLiBUaGlzCisgICAgICAgIHJlZHVjZXMgdGhlIGNoYW5jZSBv
ZiBhIGZhbHNlIHBvc2l0aXZlIGJ5IHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGlu
ay1zYWZlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IFVwZGF0ZWQgZXhwb3J0
ZWQgc3ltYm9scyBhcyBuZWNlc3NhcnkuCisgICAgICAgICogYmluZGluZ3MvU2NyaXB0Q29udHJv
bGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcmlwdCk6IEFkZGVkIHBhcmFtZXRlciBzaG91bGRBbGxvd1hTUy4KKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwpOiBEaXR0by4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKTogRGl0dG8uCisg
ICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6KTogQWRkZWQgZW51bSBTaG91bGRBbGxvd1hTUy4KKwogMjAxMC0wNS0xOCAgQWRhbSBCYXJ0
aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
V2ViQ29yZS5iYXNlLmV4cAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL1dlYkNvcmUuYmFz
ZS5leHAJKHdvcmtpbmcgY29weSkKQEAgLTM5Miw5ICszOTIsOSBAQCBfX1pON1dlYkNvcmUxNk5h
dmlnYXRpb25BY3Rpb25DMUVSS05TXzRLCiBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rpb25D
MUV2CiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxMGluaXRTY3JpcHRFUE5TXzE1RE9N
V3JhcHBlcldvcmxkRQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTFjcmVhdGVXb3Js
ZEV2Ci1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxM2V4ZWN1dGVTY3JpcHRFUktOU182
U3RyaW5nRWIKK19fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjEzZXhlY3V0ZVNjcmlwdEVS
S05TXzZTdHJpbmdFYk5TXzE0U2hvdWxkQWxsb3dYU1NFCiBfX1pON1dlYkNvcmUxNlNjcmlwdENv
bnRyb2xsZXIxOHdpbmRvd1NjcmlwdE9iamVjdEV2Ci1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRy
b2xsZXIyMGV4ZWN1dGVTY3JpcHRJbldvcmxkRVBOU18xNURPTVdyYXBwZXJXb3JsZEVSS05TXzZT
dHJpbmdFYgorX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjBleGVjdXRlU2NyaXB0SW5X
b3JsZEVQTlNfMTVET01XcmFwcGVyV29ybGRFUktOU182U3RyaW5nRWJOU18xNFNob3VsZEFsbG93
WFNTRQogX19aTjdXZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhMTBzdGF0aWNEYXRhRQogX19aTjdX
ZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhQzFFdgogX19aTjdXZWJDb3JlMTZUaHJlYWRHbG9iYWxE
YXRhRDFFdgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJ
KHJldmlzaW9uIDU5NjMzKQorKysgV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEyICs0NCwxMiBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzCiAgICAgcmV0dXJuIGFsbG93ZWQ7CiB9CiAKLVNjcmlw
dFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3Jp
cHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6
OmV4ZWN1dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVy
ZSwgU2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxsb3dYU1MpCiB7Ci0gICAgcmV0dXJuIGV4ZWN1dGVT
Y3JpcHQoU2NyaXB0U291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdlc3R1cmUgPyBLVVJMKCkg
OiBtX2ZyYW1lLT5sb2FkZXIoKS0+dXJsKCkpKTsKKyAgICByZXR1cm4gZXhlY3V0ZVNjcmlwdChT
Y3JpcHRTb3VyY2VDb2RlKHNjcmlwdCwgZm9yY2VVc2VyR2VzdHVyZSA/IEtVUkwoKSA6IG1fZnJh
bWUtPmxvYWRlcigpLT51cmwoKSksIHNob3VsZEFsbG93WFNTKTsKIH0KIAotU2NyaXB0VmFsdWUg
U2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlKQorU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdChj
b25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxvd1hTUyBzaG91bGRB
bGxvd1hTUykKIHsKICAgICBpZiAoIWNhbkV4ZWN1dGVTY3JpcHRzKEFib3V0VG9FeGVjdXRlU2Ny
aXB0KSB8fCBpc1BhdXNlZCgpKQogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUoKTsKQEAgLTU3
LDcgKzU3LDcgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAg
IGJvb2wgd2FzSW5FeGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4
ZWN1dGVTY3JpcHQgPSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUo
c291cmNlQ29kZSk7CisgICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29k
ZSwgc2hvdWxkQWxsb3dYU1MpOwogCiAgICAgaWYgKCF3YXNJbkV4ZWN1dGVTY3JpcHQpIHsKICAg
ICAgICAgbV9pbkV4ZWN1dGVTY3JpcHQgPSBmYWxzZTsKQEAgLTgwLDEwICs4MCwxMCBAQCBib29s
IFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpCiAKICAgICBjb25zdCBpbnQgamF2
YXNjcmlwdFNjaGVtZUxlbmd0aCA9IHNpemVvZigiamF2YXNjcmlwdDoiKSAtIDE7CiAKLSAgICBT
dHJpbmcgc2NyaXB0ID0gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKS5zdWJz
dHJpbmcoamF2YXNjcmlwdFNjaGVtZUxlbmd0aCkpOworICAgIFN0cmluZyBkZWNvZGVkVVJMID0g
ZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKSk7CiAgICAgU2NyaXB0VmFsdWUg
cmVzdWx0OwotICAgIGlmICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChz
Y3JpcHQpKQotICAgICAgICByZXN1bHQgPSBleGVjdXRlU2NyaXB0KHNjcmlwdCwgdXNlckdlc3R1
cmUpOworICAgIGlmICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChkZWNv
ZGVkVVJMKSkKKyAgICAgICAgcmVzdWx0ID0gZXhlY3V0ZVNjcmlwdChkZWNvZGVkVVJMLnN1YnN0
cmluZyhqYXZhc2NyaXB0U2NoZW1lTGVuZ3RoKSwgdXNlckdlc3R1cmUsIEFsbG93WFNTKTsKIAog
ICAgIFN0cmluZyBzY3JpcHRSZXN1bHQ7CiAjaWYgVVNFKEpTQykKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAs
MTIgKzExMCwxMiBAQCBKU0RPTVdpbmRvd1NoZWxsKiBTY3JpcHRDb250cm9sbGVyOjpjcmVhCiAg
ICAgcmV0dXJuIHdpbmRvd1NoZWxsOwogfQogCi1TY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVy
OjpldmFsdWF0ZUluV29ybGQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgRE9N
V3JhcHBlcldvcmxkKiB3b3JsZCkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1
YXRlSW5Xb3JsZChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBET01XcmFwcGVy
V29ybGQqIHdvcmxkLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBjb25z
dCBTb3VyY2VDb2RlJiBqc1NvdXJjZUNvZGUgPSBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpOwog
ICAgIFN0cmluZyBzb3VyY2VVUkwgPSB1c3RyaW5nVG9TdHJpbmcoanNTb3VyY2VDb2RlLnByb3Zp
ZGVyKCktPnVybCgpKTsKIAotICAgIGlmICghbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3Vy
Y2VDb2RlLnNvdXJjZSgpKSkgeworICAgIGlmIChzaG91bGRBbGxvd1hTUyA9PSBEb05vdEFsbG93
WFNTICYmICFtX1hTU0F1ZGl0b3ItPmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7
CiAgICAgICAgIC8vIFRoaXMgc2NyaXB0IGlzIG5vdCBzYWZlIHRvIGJlIGV2YWx1YXRlZC4KICAg
ICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICB9CkBAIC0xNjYsOSArMTY2LDkgQEAgU2NyaXB0
VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogICAgIHJldHVybiBKU1ZhbHVlKCk7
CiB9CiAKLVNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlw
dFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpIAorU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6
ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU2hvdWxkQWxsb3dY
U1Mgc2hvdWxkQWxsb3dYU1MpIAogewotICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNl
Q29kZSwgbWFpblRocmVhZE5vcm1hbFdvcmxkKCkpOworICAgIHJldHVybiBldmFsdWF0ZUluV29y
bGQoc291cmNlQ29kZSwgbWFpblRocmVhZE5vcm1hbFdvcmxkKCksIHNob3VsZEFsbG93WFNTKTsK
IH0KIAogUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0
ZVdvcmxkKCkKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmNsZWFy
U2NyaXB0T2JqZWN0CiAjZW5kaWYKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6
ZXhlY3V0ZVNjcmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5n
JiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRy
b2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0
IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIFNob3VsZEFsbG93WFNTIHNo
b3VsZEFsbG93WFNTKQogewogICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShzY3JpcHQs
IGZvcmNlVXNlckdlc3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5sb2FkZXIoKS0+dXJsKCkpOwog
CkBAIC00NTEsNyArNDUxLDcgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcgogICAgIGJvb2wgd2FzSW5FeGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAg
ICAgbV9pbkV4ZWN1dGVTY3JpcHQgPSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0g
ZXZhbHVhdGVJbldvcmxkKHNvdXJjZUNvZGUsIHdvcmxkKTsKKyAgICBTY3JpcHRWYWx1ZSByZXN1
bHQgPSBldmFsdWF0ZUluV29ybGQoc291cmNlQ29kZSwgd29ybGQsIHNob3VsZEFsbG93WFNTKTsK
IAogICAgIGlmICghd2FzSW5FeGVjdXRlU2NyaXB0KSB7CiAgICAgICAgIG1faW5FeGVjdXRlU2Ny
aXB0ID0gZmFsc2U7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAko
cmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsMTIgQEAgZW51bSBSZWFzb25Gb3JDYWxsaW5n
Q2FuRXhlY3V0ZVNjcmlwdHMgewogICAgIE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0CiB9OwogCisv
LyBXaGV0aGVyIHRvIGNhbGwgdGhlIFhTU0F1ZGl0b3IgdG8gYXVkaXQgYSBzY3JpcHQgYmVmb3Jl
IHBhc3NpbmcgaXQgdG8gdGhlIEphdmFTY3JpcHQgZW5naW5lLgorZW51bSBTaG91bGRBbGxvd1hT
UyB7CisgICAgQWxsb3dYU1MsCisgICAgRG9Ob3RBbGxvd1hTUworfTsKKwogY2xhc3MgU2NyaXB0
Q29udHJvbGxlciB7CiAgICAgZnJpZW5kIGNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YTsKICAg
ICB0eXBlZGVmIFdURjo6SGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJv
dGVjdGVkUHRyPEpTRE9NV2luZG93U2hlbGw+ID4gU2hlbGxNYXA7CkBAIC05Nyw5ICsxMDMsOSBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBw
ZXJXb3JsZCo+Jik7CiAKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlw
dFNvdXJjZUNvZGUmKTsKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSk7Ci0gICAgU2NyaXB0VmFs
dWUgZXhlY3V0ZVNjcmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3Ry
aW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlKTsKKyAgICBTY3JpcHRW
YWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTaG91bGRBbGxvd1hT
UyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVlIGV4ZWN1
dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZh
bHNlLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOworICAg
IFNjcmlwdFZhbHVlIGV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQs
IGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSwgU2hv
dWxkQWxsb3dYU1Mgc2hvdWxkQWxsb3dYU1MgPSBEb05vdEFsbG93WFNTKTsKIAogICAgIC8vIFJl
dHVybnMgdHJ1ZSBpZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgIGJvb2wgZXhl
Y3V0ZUlmSmF2YVNjcmlwdFVSTChjb25zdCBLVVJMJiwgYm9vbCB1c2VyR2VzdHVyZSA9IGZhbHNl
LCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3Vt
ZW50SWZKYXZhU2NyaXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKTsKQEAg
LTEwOCw4ICsxMTQsOCBAQCBwdWJsaWM6CiAgICAgLy8gRGFyd2luIGlzIGFuIGV4Y2VwdGlvbiB0
byB0aGlzIHJ1bGU6IGl0IGlzIE9LIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGFueSB0aHJl
YWQsIGV2ZW4gcmVlbnRyYW50bHkuCiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwogCi0gICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYp
OwotICAgIFNjcmlwdFZhbHVlIGV2YWx1YXRlSW5Xb3JsZChjb25zdCBTY3JpcHRTb3VyY2VDb2Rl
JiwgRE9NV3JhcHBlcldvcmxkKik7CisgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2Ny
aXB0U291cmNlQ29kZSYsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNTID0gRG9Ob3RBbGxv
d1hTUyk7CisgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGVJbldvcmxkKGNvbnN0IFNjcmlwdFNvdXJj
ZUNvZGUmLCBET01XcmFwcGVyV29ybGQqLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9
IERvTm90QWxsb3dYU1MpOwogCiAgICAgdm9pZCBzZXRFdmVudEhhbmRsZXJMaW5lTnVtYmVyKGlu
dCBsaW5lbm8pIHsgbV9oYW5kbGVyTGluZU51bWJlciA9IGxpbmVubzsgfQogICAgIGludCBldmVu
dEhhbmRsZXJMaW5lTnVtYmVyKCkgeyByZXR1cm4gbV9oYW5kbGVyTGluZU51bWJlcjsgfQpJbmRl
eDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkocmV2aXNpb24gNTk2NTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wNS0xOCAgRGFuaWVsIEJhdGVzICA8ZGJhdGVz
QHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MjQ5CisKKyAgICAg
ICAgQWRkZWQgYSB0ZXN0IHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IHJhaXNlIGFuIGFsYXJtIHdo
ZW4gdGhlIHNvdXJjZSBjb2RlCisgICAgICAgIHBvcnRpb24gb2YgYSBKYXZhU2NyaXB0IFVSTCBt
YXRjaGVzIHNvbWUgc3Vic3RyaW5nIG9mIHRoZSBwYWdlIFVSTCBvcgorICAgICAgICBwb3N0IGRh
dGEuCisKKyAgICAgICAgT3VyIGV4aXN0aW5nIHRlc3QgY292ZXJhZ2UgZW5zdXJlcyB0aGF0IHdl
IHJhaXNlIGFuIGFsYXJtIHdoZW4gdGhlIGVudGlyZQorICAgICAgICBKYXZhU2NyaXB0IFVSTCBt
YXRjaGVzIHNvbWUgc3Vic3RyaW5nIG9mIHRoZSBwYWdlIFVSTCBvciBwb3N0IGRhdGEuCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNh
ZmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hz
c0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbDogQWRkZWQuCisKIDIwMTAtMDUtMTcg
IERyZXcgV2lsc29uICA8YXR3aWxzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgdGVzdCBleHBlY3RhdGlvbnMgdXBkYXRlIGZvciBjaHJvbWl1bS4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9qYXZhc2NyaXB0LWxpbmstc2FmZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9qYXZhc2Ny
aXB0LWxpbmstc2FmZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAor
QUxFUlQ6IFRoaXMgaXMgYSBzYWZlIHNjcmlwdC4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFz
Y3JpcHQtbGluay1zYWZlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFhTU0F1ZGl0b3JFbmFi
bGVkKHRydWUpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWUgc3JjPSJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvamF2YXNj
cmlwdC1saW5rLXNhZmUuaHRtbD9xPWFsZXJ0KCdUaGlzIGlzIGEgc2FmZSBzY3JpcHQuJykiPgor
PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56464</attachid>
            <date>2010-05-18 23:37:22 -0700</date>
            <delta_ts>2010-05-19 01:05:10 -0700</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug39249_1.patch</filename>
            <type>text/plain</type>
            <size>14553</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTc0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDUtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI0OQorCisgICAgICAgIEluc3Rl
YWQgb2YganVzdCB1c2luZyB0aGUgc291cmNlIGNvZGUgcG9ydGlvbiBvZiBhIEphdmFTY3JpcHQg
VVJMIHRvCisgICAgICAgIGRldGVjdCBhbiBYU1MgYXR0YWNrLCB3ZSBub3cgaW5jbHVkZSB0aGUg
SmF2YVNjcmlwdCBVUkwgc2NoZW1hLiBUaGlzCisgICAgICAgIHJlZHVjZXMgdGhlIGNoYW5jZSBv
ZiBhIGZhbHNlIHBvc2l0aXZlIGJ5IHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGlu
ay1zYWZlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IFVwZGF0ZWQgZXhwb3J0
ZWQgc3ltYm9scyBhcyBuZWNlc3NhcnkuCisgICAgICAgICogYmluZGluZ3MvU2NyaXB0Q29udHJv
bGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcmlwdCk6IEFkZGVkIHBhcmFtZXRlciBzaG91bGRBbGxvd1hTUy4KKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwpOiBEaXR0by4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKTogRGl0dG8uCisg
ICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOiBBZGRlZCBlbnVtIFNob3Vs
ZEFsbG93WFNTLgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6
OmV2YWx1YXRlKTogQWRkZWQgcGFyYW1ldGVyIHNob3VsZEFsbG93WFNTLgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaDogQWRkZWQgZW51bSBTaG91bGRBbGxvd1hTUy4K
KyAgICAgICAgKFdlYkNvcmU6Oik6CisKIDIwMTAtMDUtMTggIFRvbnkgQ2hhbmcgIDx0b255QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5iYXNl
LmV4cAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHdvcmtp
bmcgY29weSkKQEAgLTM5Miw5ICszOTIsOSBAQCBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rp
b25DMUVSS05TXzRLCiBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rpb25DMUV2CiBfX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxMGluaXRTY3JpcHRFUE5TXzE1RE9NV3JhcHBlcldvcmxk
RQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTFjcmVhdGVXb3JsZEV2Ci1fX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxM2V4ZWN1dGVTY3JpcHRFUktOU182U3RyaW5nRWIKK19f
Wk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjEzZXhlY3V0ZVNjcmlwdEVSS05TXzZTdHJpbmdF
Yk5TXzE0U2hvdWxkQWxsb3dYU1NFCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxOHdp
bmRvd1NjcmlwdE9iamVjdEV2Ci1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyMGV4ZWN1
dGVTY3JpcHRJbldvcmxkRVBOU18xNURPTVdyYXBwZXJXb3JsZEVSS05TXzZTdHJpbmdFYgorX19a
TjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjBleGVjdXRlU2NyaXB0SW5Xb3JsZEVQTlNfMTVE
T01XcmFwcGVyV29ybGRFUktOU182U3RyaW5nRWJOU18xNFNob3VsZEFsbG93WFNTRQogX19aTjdX
ZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhMTBzdGF0aWNEYXRhRQogX19aTjdXZWJDb3JlMTZUaHJl
YWRHbG9iYWxEYXRhQzFFdgogX19aTjdXZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhRDFFdgpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJKHJldmlzaW9uIDU5
NjMzKQorKysgV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDEyICs0NCwxMiBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4
ZWN1dGVTY3JpcHRzCiAgICAgcmV0dXJuIGFsbG93ZWQ7CiB9CiAKLVNjcmlwdFZhbHVlIFNjcmlw
dENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9y
Y2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSwgU2hvdWxkQWxs
b3dYU1Mgc2hvdWxkQWxsb3dYU1MpCiB7Ci0gICAgcmV0dXJuIGV4ZWN1dGVTY3JpcHQoU2NyaXB0
U291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdlc3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5s
b2FkZXIoKS0+dXJsKCkpKTsKKyAgICByZXR1cm4gZXhlY3V0ZVNjcmlwdChTY3JpcHRTb3VyY2VD
b2RlKHNjcmlwdCwgZm9yY2VVc2VyR2VzdHVyZSA/IEtVUkwoKSA6IG1fZnJhbWUtPmxvYWRlcigp
LT51cmwoKSksIHNob3VsZEFsbG93WFNTKTsKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJv
bGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQor
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRT
b3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsK
ICAgICBpZiAoIWNhbkV4ZWN1dGVTY3JpcHRzKEFib3V0VG9FeGVjdXRlU2NyaXB0KSB8fCBpc1Bh
dXNlZCgpKQogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUoKTsKQEAgLTU3LDcgKzU3LDcgQEAg
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAgIGJvb2wgd2FzSW5F
eGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4ZWN1dGVTY3JpcHQg
PSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29kZSk7
CisgICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29kZSwgc2hvdWxkQWxs
b3dYU1MpOwogCiAgICAgaWYgKCF3YXNJbkV4ZWN1dGVTY3JpcHQpIHsKICAgICAgICAgbV9pbkV4
ZWN1dGVTY3JpcHQgPSBmYWxzZTsKQEAgLTgwLDEwICs4MCwxMCBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpCiAKICAgICBjb25zdCBpbnQgamF2YXNjcmlwdFNjaGVt
ZUxlbmd0aCA9IHNpemVvZigiamF2YXNjcmlwdDoiKSAtIDE7CiAKLSAgICBTdHJpbmcgc2NyaXB0
ID0gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKS5zdWJzdHJpbmcoamF2YXNj
cmlwdFNjaGVtZUxlbmd0aCkpOworICAgIFN0cmluZyBkZWNvZGVkVVJMID0gZGVjb2RlVVJMRXNj
YXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKSk7CiAgICAgU2NyaXB0VmFsdWUgcmVzdWx0OwotICAg
IGlmICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChzY3JpcHQpKQotICAg
ICAgICByZXN1bHQgPSBleGVjdXRlU2NyaXB0KHNjcmlwdCwgdXNlckdlc3R1cmUpOworICAgIGlm
ICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChkZWNvZGVkVVJMKSkKKyAg
ICAgICAgcmVzdWx0ID0gZXhlY3V0ZVNjcmlwdChkZWNvZGVkVVJMLnN1YnN0cmluZyhqYXZhc2Ny
aXB0U2NoZW1lTGVuZ3RoKSwgdXNlckdlc3R1cmUsIEFsbG93WFNTKTsKIAogICAgIFN0cmluZyBz
Y3JpcHRSZXN1bHQ7CiAjaWYgVVNFKEpTQykKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsMTIgKzExMCwxMiBA
QCBKU0RPTVdpbmRvd1NoZWxsKiBTY3JpcHRDb250cm9sbGVyOjpjcmVhCiAgICAgcmV0dXJuIHdp
bmRvd1NoZWxsOwogfQogCi1TY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUlu
V29ybGQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgRE9NV3JhcHBlcldvcmxk
KiB3b3JsZCkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZChj
b25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBET01XcmFwcGVyV29ybGQqIHdvcmxk
LCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBjb25zdCBTb3VyY2VDb2Rl
JiBqc1NvdXJjZUNvZGUgPSBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpOwogICAgIFN0cmluZyBz
b3VyY2VVUkwgPSB1c3RyaW5nVG9TdHJpbmcoanNTb3VyY2VDb2RlLnByb3ZpZGVyKCktPnVybCgp
KTsKIAotICAgIGlmICghbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3VyY2VDb2RlLnNvdXJj
ZSgpKSkgeworICAgIGlmIChzaG91bGRBbGxvd1hTUyA9PSBEb05vdEFsbG93WFNTICYmICFtX1hT
U0F1ZGl0b3ItPmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7CiAgICAgICAgIC8v
IFRoaXMgc2NyaXB0IGlzIG5vdCBzYWZlIHRvIGJlIGV2YWx1YXRlZC4KICAgICAgICAgcmV0dXJu
IEpTVmFsdWUoKTsKICAgICB9CkBAIC0xNjYsOSArMTY2LDkgQEAgU2NyaXB0VmFsdWUgU2NyaXB0
Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogICAgIHJldHVybiBKU1ZhbHVlKCk7CiB9CiAKLVNjcmlw
dFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
IHNvdXJjZUNvZGUpIAorU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29u
c3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxs
b3dYU1MpIAogewotICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNlQ29kZSwgbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCkpOworICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNlQ29k
ZSwgbWFpblRocmVhZE5vcm1hbFdvcmxkKCksIHNob3VsZEFsbG93WFNTKTsKIH0KIAogUGFzc1Jl
ZlB0cjxET01XcmFwcGVyV29ybGQ+IFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVdvcmxkKCkKQEAg
LTQ0MSw3ICs0NDEsNyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmNsZWFyU2NyaXB0T2JqZWN0
CiAjZW5kaWYKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlw
dEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJv
b2wgZm9yY2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1
dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNT
KQogewogICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdl
c3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5sb2FkZXIoKS0+dXJsKCkpOwogCkBAIC00NTEsNyAr
NDUxLDcgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAgIGJv
b2wgd2FzSW5FeGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4ZWN1
dGVTY3JpcHQgPSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGVJbldv
cmxkKHNvdXJjZUNvZGUsIHdvcmxkKTsKKyAgICBTY3JpcHRWYWx1ZSByZXN1bHQgPSBldmFsdWF0
ZUluV29ybGQoc291cmNlQ29kZSwgd29ybGQsIHNob3VsZEFsbG93WFNTKTsKIAogICAgIGlmICgh
d2FzSW5FeGVjdXRlU2NyaXB0KSB7CiAgICAgICAgIG1faW5FeGVjdXRlU2NyaXB0ID0gZmFsc2U7
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAkocmV2aXNpb24gNTk2
MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtNjcsNiArNjcsMTIgQEAgZW51bSBSZWFzb25Gb3JDYWxsaW5nQ2FuRXhlY3V0ZVNj
cmlwdHMgewogICAgIE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0CiB9OwogCisvLyBXaGV0aGVyIHRv
IGNhbGwgdGhlIFhTU0F1ZGl0b3IgdG8gYXVkaXQgYSBzY3JpcHQgYmVmb3JlIHBhc3NpbmcgaXQg
dG8gdGhlIEphdmFTY3JpcHQgZW5naW5lLgorZW51bSBTaG91bGRBbGxvd1hTUyB7CisgICAgQWxs
b3dYU1MsCisgICAgRG9Ob3RBbGxvd1hTUworfTsKKwogY2xhc3MgU2NyaXB0Q29udHJvbGxlciB7
CiAgICAgZnJpZW5kIGNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YTsKICAgICB0eXBlZGVmIFdU
Rjo6SGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpT
RE9NV2luZG93U2hlbGw+ID4gU2hlbGxNYXA7CkBAIC05Nyw5ICsxMDMsOSBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7
CiAKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
KTsKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBi
b29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSk7Ci0gICAgU2NyaXB0VmFsdWUgZXhlY3V0ZVNj
cmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQs
IGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlKTsKKyAgICBTY3JpcHRWYWx1ZSBleGVjdXRl
U2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxv
d1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVlIGV4ZWN1dGVTY3JpcHQoY29u
c3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRB
bGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVl
IGV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSwgU2hvdWxkQWxsb3dYU1Mg
c2hvdWxkQWxsb3dYU1MgPSBEb05vdEFsbG93WFNTKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgIGJvb2wgZXhlY3V0ZUlmSmF2YVNj
cmlwdFVSTChjb25zdCBLVVJMJiwgYm9vbCB1c2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKTsKQEAgLTEwOCw4ICsxMTQs
OCBAQCBwdWJsaWM6CiAgICAgLy8gRGFyd2luIGlzIGFuIGV4Y2VwdGlvbiB0byB0aGlzIHJ1bGU6
IGl0IGlzIE9LIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGFueSB0aHJlYWQsIGV2ZW4gcmVl
bnRyYW50bHkuCiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOwogCi0gICAg
U2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotICAgIFNjcmlw
dFZhbHVlIGV2YWx1YXRlSW5Xb3JsZChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgRE9NV3JhcHBl
cldvcmxkKik7CisgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29k
ZSYsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNTID0gRG9Ob3RBbGxvd1hTUyk7CisgICAg
U2NyaXB0VmFsdWUgZXZhbHVhdGVJbldvcmxkKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBET01X
cmFwcGVyV29ybGQqLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dY
U1MpOwogCiAgICAgdm9pZCBzZXRFdmVudEhhbmRsZXJMaW5lTnVtYmVyKGludCBsaW5lbm8pIHsg
bV9oYW5kbGVyTGluZU51bWJlciA9IGxpbmVubzsgfQogICAgIGludCBldmVudEhhbmRsZXJMaW5l
TnVtYmVyKCkgeyByZXR1cm4gbV9oYW5kbGVyTGluZU51bWJlcjsgfQpJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1OTYzMykKKysrIFdlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIx
OSwxMyArMjE5LDEzIEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbklzb2xhdGUK
IH0KIAogLy8gRXZhbHVhdGUgYSBzY3JpcHQgZmlsZSBpbiB0aGUgZW52aXJvbm1lbnQgb2YgdGhp
cyBwcm94eS4KLVNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCitTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVy
OjpldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxv
d1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBTdHJpbmcgc291cmNlVVJMID0gc291cmNlQ29k
ZS51cmwoKTsKICAgICBjb25zdCBTdHJpbmcqIHNhdmVkU291cmNlVVJMID0gbV9zb3VyY2VVUkw7
CiAgICAgbV9zb3VyY2VVUkwgPSAmc291cmNlVVJMOwogCi0gICAgaWYgKCFtX1hTU0F1ZGl0b3It
PmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7CisgICAgaWYgKCFzaG91bGRBbGxv
d1hTUyAmJiAhbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3VyY2VDb2RlLnNvdXJjZSgpKSkg
ewogICAgICAgICAvLyBUaGlzIHNjcmlwdCBpcyBub3Qgc2FmZSB0byBiZSBldmFsdWF0ZWQuCiAg
ICAgICAgIHJldHVybiBTY3JpcHRWYWx1ZSgpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiA1OTYzMykKKysrIFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMiBA
QCBlbnVtIFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyB7CiAgICAgTm90QWJvdXRU
b0V4ZWN1dGVTY3JpcHQKIH07CiAKKy8vIFdoZXRoZXIgdG8gY2FsbCB0aGUgWFNTQXVkaXRvciB0
byBhdWRpdCBhIHNjcmlwdCBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgSmF2YVNjcmlwdCBlbmdp
bmUuCitlbnVtIFNob3VsZEFsbG93WFNTIHsKKyAgICBBbGxvd1hTUywKKyAgICBEb05vdEFsbG93
WFNTCit9OworCiBjbGFzcyBTY3JpcHRDb250cm9sbGVyIHsKIHB1YmxpYzoKICAgICBTY3JpcHRD
b250cm9sbGVyKEZyYW1lKik7CkBAIC03Myw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICBTY3JpcHRW
YWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdl
c3R1cmUgPSBmYWxzZSk7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgaXMgYSBK
YXZhU2NyaXB0IFVSTC4KLSAgICBib29sIGV4ZWN1dGVJZkphdmFTY3JpcHRVUkwoY29uc3QgS1VS
TCYsIGJvb2wgdXNlckdlc3R1cmUgPSBmYWxzZSwgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCA9IFJlcGxhY2VE
b2N1bWVudElmSmF2YVNjcmlwdFVSTCk7CisgICAgYm9vbCBleGVjdXRlSWZKYXZhU2NyaXB0VVJM
KGNvbnN0IEtVUkwmLCBib29sIHVzZXJHZXN0dXJlID0gZmFsc2UsIFNob3VsZFJlcGxhY2VEb2N1
bWVudElmSmF2YVNjcmlwdFVSTCBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwg
PSBSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwsIFNob3VsZEFsbG93WFNTIHNob3VsZEFs
bG93WFNTID0gRG9Ob3RBbGxvd1hTUyk7CiAKICAgICAvLyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUg
Y2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLiBJdCBpcyBzYWZlIHRvIGNhbGwgaXQgcmVwZWF0
ZWRseS4KICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nKCk7CkBAIC04MSw3ICs4
Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBFdmFsdWF0ZSBhIHNjcmlwdCBmaWxlIGluIHRoZSBlbnZp
cm9ubWVudCBvZiB0aGlzIHByb3h5LgogICAgIC8vIElmIHN1Y2NlZWRlZCwgJ3N1Y2MnIGlzIHNl
dCB0byB0cnVlIGFuZCByZXN1bHQgaXMgcmV0dXJuZWQKICAgICAvLyBhcyBhIHN0cmluZy4KLSAg
ICBTY3JpcHRWYWx1ZSBldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJik7CisgICAgU2Ny
aXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIFNob3VsZEFsbG93WFNT
IHNob3VsZEFsbG93WFNTID0gRG9Ob3RBbGxvd1hTUyk7CiAKICAgICB2b2lkIGV2YWx1YXRlSW5J
c29sYXRlZFdvcmxkKHVuc2lnbmVkIHdvcmxkSUQsIGNvbnN0IFZlY3RvcjxTY3JpcHRTb3VyY2VD
b2RlPiYpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1OTc0MCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEwLTA1LTE4ICBEYW5pZWwg
QmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzkyNDkKKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8gZW5zdXJlIHRoYXQgd2UgZG9uJ3QgcmFp
c2UgYW4gYWxhcm0gd2hlbiB0aGUgc291cmNlIGNvZGUKKyAgICAgICAgcG9ydGlvbiBvZiBhIEph
dmFTY3JpcHQgVVJMIG1hdGNoZXMgc29tZSBzdWJzdHJpbmcgb2YgdGhlIHBhZ2UgVVJMIG9yCisg
ICAgICAgIHBvc3QgZGF0YS4KKworICAgICAgICBPdXIgZXhpc3RpbmcgdGVzdCBjb3ZlcmFnZSBl
bnN1cmVzIHRoYXQgd2UgcmFpc2UgYW4gYWxhcm0gd2hlbiB0aGUgZW50aXJlCisgICAgICAgIEph
dmFTY3JpcHQgVVJMIG1hdGNoZXMgc29tZSBzdWJzdHJpbmcgb2YgdGhlIHBhZ2UgVVJMIG9yIHBv
c3QgZGF0YS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9qYXZh
c2NyaXB0LWxpbmstc2FmZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkveHNzQXVkaXRvci9qYXZhc2NyaXB0LWxpbmstc2FmZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2phdmFz
Y3JpcHQtbGluay1zYWZlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA1LTE4ICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9qYXZhc2NyaXB0
LWxpbmstc2FmZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVk
aXRvci9qYXZhc2NyaXB0LWxpbmstc2FmZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMiBAQAorQUxFUlQ6IFRoaXMgaXMgYSBzYWZlIHNjcmlwdC4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NB
dWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNhZmUu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFhT
U0F1ZGl0b3JFbmFibGVkKHRydWUpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxp
ZnJhbWUgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNv
dXJjZXMvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbD9xPWFsZXJ0KCdUaGlzIGlzIGEgc2FmZSBz
Y3JpcHQuJykiPgorPC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2phdmFzY3JpcHQtbGlu
ay1zYWZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL3Jlc291cmNlcy9qYXZhc2NyaXB0LWxpbmstc2FmZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291
cmNlcy9qYXZhc2NyaXB0LWxpbmstc2FmZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxh
IGlkPSJhbmNob3JMaW5rIiBocmVmPSJqYXZhc2NyaXB0OmFsZXJ0KCdUaGlzIGlzIGEgc2FmZSBz
Y3JpcHQuJykiPnRlc3Q8L2E+Cis8c2NyaXB0PgorICAgIHZhciBldmVudCA9IGRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdNb3VzZUV2ZW50Jyk7CisgICAgZXZlbnQuaW5pdEV2ZW50KCdjbGljaycsIHRy
dWUsIHRydWUpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbmNob3JMaW5rJykuZGlz
cGF0Y2hFdmVudChldmVudCk7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56473</attachid>
            <date>2010-05-19 01:05:10 -0700</date>
            <delta_ts>2010-05-19 01:10:00 -0700</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug39249_2.patch</filename>
            <type>text/plain</type>
            <size>14947</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTc0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDUtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI0OQorCisgICAgICAgIEluc3Rl
YWQgb2YganVzdCB1c2luZyB0aGUgc291cmNlIGNvZGUgcG9ydGlvbiBvZiBhIEphdmFTY3JpcHQg
VVJMIHRvCisgICAgICAgIGRldGVjdCBhbiBYU1MgYXR0YWNrLCB3ZSBub3cgaW5jbHVkZSB0aGUg
SmF2YVNjcmlwdCBVUkwgc2NoZW1hLiBUaGlzCisgICAgICAgIHJlZHVjZXMgdGhlIGNoYW5jZSBv
ZiBhIGZhbHNlIHBvc2l0aXZlIGJ5IHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGlu
ay1zYWZlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IFVwZGF0ZWQgZXhwb3J0
ZWQgc3ltYm9scyBhcyBuZWNlc3NhcnkuCisgICAgICAgICogYmluZGluZ3MvU2NyaXB0Q29udHJv
bGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcmlwdCk6IEFkZGVkIHBhcmFtZXRlciBzaG91bGRBbGxvd1hTUy4KKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwpOiBEaXR0by4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKTogRGl0dG8uCisg
ICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOiBBZGRlZCBlbnVtIFNob3Vs
ZEFsbG93WFNTLgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6
OmV2YWx1YXRlKTogQWRkZWQgcGFyYW1ldGVyIHNob3VsZEFsbG93WFNTLgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaDogQWRkZWQgZW51bSBTaG91bGRBbGxvd1hTUy4K
KyAgICAgICAgKFdlYkNvcmU6Oik6CisKIDIwMTAtMDUtMTggIFRvbnkgQ2hhbmcgIDx0b255QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5iYXNl
LmV4cAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHdvcmtp
bmcgY29weSkKQEAgLTM5Miw5ICszOTIsOSBAQCBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rp
b25DMUVSS05TXzRLCiBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rpb25DMUV2CiBfX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxMGluaXRTY3JpcHRFUE5TXzE1RE9NV3JhcHBlcldvcmxk
RQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTFjcmVhdGVXb3JsZEV2Ci1fX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxM2V4ZWN1dGVTY3JpcHRFUktOU182U3RyaW5nRWIKK19f
Wk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjEzZXhlY3V0ZVNjcmlwdEVSS05TXzZTdHJpbmdF
Yk5TXzE0U2hvdWxkQWxsb3dYU1NFCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxOHdp
bmRvd1NjcmlwdE9iamVjdEV2Ci1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyMGV4ZWN1
dGVTY3JpcHRJbldvcmxkRVBOU18xNURPTVdyYXBwZXJXb3JsZEVSS05TXzZTdHJpbmdFYgorX19a
TjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjBleGVjdXRlU2NyaXB0SW5Xb3JsZEVQTlNfMTVE
T01XcmFwcGVyV29ybGRFUktOU182U3RyaW5nRWJOU18xNFNob3VsZEFsbG93WFNTRQogX19aTjdX
ZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhMTBzdGF0aWNEYXRhRQogX19aTjdXZWJDb3JlMTZUaHJl
YWRHbG9iYWxEYXRhQzFFdgogX19aTjdXZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhRDFFdgpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJKHJldmlzaW9uIDU5
NjMzKQorKysgV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDEyICs0NCwxMiBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4
ZWN1dGVTY3JpcHRzCiAgICAgcmV0dXJuIGFsbG93ZWQ7CiB9CiAKLVNjcmlwdFZhbHVlIFNjcmlw
dENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9y
Y2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSwgU2hvdWxkQWxs
b3dYU1Mgc2hvdWxkQWxsb3dYU1MpCiB7Ci0gICAgcmV0dXJuIGV4ZWN1dGVTY3JpcHQoU2NyaXB0
U291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdlc3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5s
b2FkZXIoKS0+dXJsKCkpKTsKKyAgICByZXR1cm4gZXhlY3V0ZVNjcmlwdChTY3JpcHRTb3VyY2VD
b2RlKHNjcmlwdCwgZm9yY2VVc2VyR2VzdHVyZSA/IEtVUkwoKSA6IG1fZnJhbWUtPmxvYWRlcigp
LT51cmwoKSksIHNob3VsZEFsbG93WFNTKTsKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJv
bGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQor
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRT
b3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsK
ICAgICBpZiAoIWNhbkV4ZWN1dGVTY3JpcHRzKEFib3V0VG9FeGVjdXRlU2NyaXB0KSB8fCBpc1Bh
dXNlZCgpKQogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUoKTsKQEAgLTU3LDcgKzU3LDcgQEAg
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAgIGJvb2wgd2FzSW5F
eGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4ZWN1dGVTY3JpcHQg
PSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29kZSk7
CisgICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29kZSwgc2hvdWxkQWxs
b3dYU1MpOwogCiAgICAgaWYgKCF3YXNJbkV4ZWN1dGVTY3JpcHQpIHsKICAgICAgICAgbV9pbkV4
ZWN1dGVTY3JpcHQgPSBmYWxzZTsKQEAgLTgwLDEwICs4MCwxMCBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpCiAKICAgICBjb25zdCBpbnQgamF2YXNjcmlwdFNjaGVt
ZUxlbmd0aCA9IHNpemVvZigiamF2YXNjcmlwdDoiKSAtIDE7CiAKLSAgICBTdHJpbmcgc2NyaXB0
ID0gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKS5zdWJzdHJpbmcoamF2YXNj
cmlwdFNjaGVtZUxlbmd0aCkpOworICAgIFN0cmluZyBkZWNvZGVkVVJMID0gZGVjb2RlVVJMRXNj
YXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKSk7CiAgICAgU2NyaXB0VmFsdWUgcmVzdWx0OwotICAg
IGlmICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChzY3JpcHQpKQotICAg
ICAgICByZXN1bHQgPSBleGVjdXRlU2NyaXB0KHNjcmlwdCwgdXNlckdlc3R1cmUpOworICAgIGlm
ICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChkZWNvZGVkVVJMKSkKKyAg
ICAgICAgcmVzdWx0ID0gZXhlY3V0ZVNjcmlwdChkZWNvZGVkVVJMLnN1YnN0cmluZyhqYXZhc2Ny
aXB0U2NoZW1lTGVuZ3RoKSwgdXNlckdlc3R1cmUsIEFsbG93WFNTKTsKIAogICAgIFN0cmluZyBz
Y3JpcHRSZXN1bHQ7CiAjaWYgVVNFKEpTQykKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsMTIgKzExMCwxMiBA
QCBKU0RPTVdpbmRvd1NoZWxsKiBTY3JpcHRDb250cm9sbGVyOjpjcmVhCiAgICAgcmV0dXJuIHdp
bmRvd1NoZWxsOwogfQogCi1TY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUlu
V29ybGQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgRE9NV3JhcHBlcldvcmxk
KiB3b3JsZCkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZChj
b25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBET01XcmFwcGVyV29ybGQqIHdvcmxk
LCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBjb25zdCBTb3VyY2VDb2Rl
JiBqc1NvdXJjZUNvZGUgPSBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpOwogICAgIFN0cmluZyBz
b3VyY2VVUkwgPSB1c3RyaW5nVG9TdHJpbmcoanNTb3VyY2VDb2RlLnByb3ZpZGVyKCktPnVybCgp
KTsKIAotICAgIGlmICghbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3VyY2VDb2RlLnNvdXJj
ZSgpKSkgeworICAgIGlmIChzaG91bGRBbGxvd1hTUyA9PSBEb05vdEFsbG93WFNTICYmICFtX1hT
U0F1ZGl0b3ItPmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7CiAgICAgICAgIC8v
IFRoaXMgc2NyaXB0IGlzIG5vdCBzYWZlIHRvIGJlIGV2YWx1YXRlZC4KICAgICAgICAgcmV0dXJu
IEpTVmFsdWUoKTsKICAgICB9CkBAIC0xNjYsOSArMTY2LDkgQEAgU2NyaXB0VmFsdWUgU2NyaXB0
Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogICAgIHJldHVybiBKU1ZhbHVlKCk7CiB9CiAKLVNjcmlw
dFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
IHNvdXJjZUNvZGUpIAorU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29u
c3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxs
b3dYU1MpIAogewotICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNlQ29kZSwgbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCkpOworICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNlQ29k
ZSwgbWFpblRocmVhZE5vcm1hbFdvcmxkKCksIHNob3VsZEFsbG93WFNTKTsKIH0KIAogUGFzc1Jl
ZlB0cjxET01XcmFwcGVyV29ybGQ+IFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVdvcmxkKCkKQEAg
LTQ0MSw3ICs0NDEsNyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmNsZWFyU2NyaXB0T2JqZWN0
CiAjZW5kaWYKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlw
dEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJv
b2wgZm9yY2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1
dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNT
KQogewogICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdl
c3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5sb2FkZXIoKS0+dXJsKCkpOwogCkBAIC00NTEsNyAr
NDUxLDcgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAgIGJv
b2wgd2FzSW5FeGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4ZWN1
dGVTY3JpcHQgPSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGVJbldv
cmxkKHNvdXJjZUNvZGUsIHdvcmxkKTsKKyAgICBTY3JpcHRWYWx1ZSByZXN1bHQgPSBldmFsdWF0
ZUluV29ybGQoc291cmNlQ29kZSwgd29ybGQsIHNob3VsZEFsbG93WFNTKTsKIAogICAgIGlmICgh
d2FzSW5FeGVjdXRlU2NyaXB0KSB7CiAgICAgICAgIG1faW5FeGVjdXRlU2NyaXB0ID0gZmFsc2U7
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAkocmV2aXNpb24gNTk2
MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtNjcsNiArNjcsMTIgQEAgZW51bSBSZWFzb25Gb3JDYWxsaW5nQ2FuRXhlY3V0ZVNj
cmlwdHMgewogICAgIE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0CiB9OwogCisvLyBXaGV0aGVyIHRv
IGNhbGwgdGhlIFhTU0F1ZGl0b3IgdG8gYXVkaXQgYSBzY3JpcHQgYmVmb3JlIHBhc3NpbmcgaXQg
dG8gdGhlIEphdmFTY3JpcHQgZW5naW5lLgorZW51bSBTaG91bGRBbGxvd1hTUyB7CisgICAgQWxs
b3dYU1MsCisgICAgRG9Ob3RBbGxvd1hTUworfTsKKwogY2xhc3MgU2NyaXB0Q29udHJvbGxlciB7
CiAgICAgZnJpZW5kIGNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YTsKICAgICB0eXBlZGVmIFdU
Rjo6SGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpT
RE9NV2luZG93U2hlbGw+ID4gU2hlbGxNYXA7CkBAIC05Nyw5ICsxMDMsOSBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7
CiAKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
KTsKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBi
b29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSk7Ci0gICAgU2NyaXB0VmFsdWUgZXhlY3V0ZVNj
cmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQs
IGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlKTsKKyAgICBTY3JpcHRWYWx1ZSBleGVjdXRl
U2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxv
d1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVlIGV4ZWN1dGVTY3JpcHQoY29u
c3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRB
bGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVl
IGV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSwgU2hvdWxkQWxsb3dYU1Mg
c2hvdWxkQWxsb3dYU1MgPSBEb05vdEFsbG93WFNTKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgIGJvb2wgZXhlY3V0ZUlmSmF2YVNj
cmlwdFVSTChjb25zdCBLVVJMJiwgYm9vbCB1c2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKTsKQEAgLTEwOCw4ICsxMTQs
OCBAQCBwdWJsaWM6CiAgICAgLy8gRGFyd2luIGlzIGFuIGV4Y2VwdGlvbiB0byB0aGlzIHJ1bGU6
IGl0IGlzIE9LIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGFueSB0aHJlYWQsIGV2ZW4gcmVl
bnRyYW50bHkuCiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOwogCi0gICAg
U2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotICAgIFNjcmlw
dFZhbHVlIGV2YWx1YXRlSW5Xb3JsZChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgRE9NV3JhcHBl
cldvcmxkKik7CisgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29k
ZSYsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNTID0gRG9Ob3RBbGxvd1hTUyk7CisgICAg
U2NyaXB0VmFsdWUgZXZhbHVhdGVJbldvcmxkKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBET01X
cmFwcGVyV29ybGQqLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dY
U1MpOwogCiAgICAgdm9pZCBzZXRFdmVudEhhbmRsZXJMaW5lTnVtYmVyKGludCBsaW5lbm8pIHsg
bV9oYW5kbGVyTGluZU51bWJlciA9IGxpbmVubzsgfQogICAgIGludCBldmVudEhhbmRsZXJMaW5l
TnVtYmVyKCkgeyByZXR1cm4gbV9oYW5kbGVyTGluZU51bWJlcjsgfQpJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1OTYzMykKKysrIFdlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIx
OSwxMyArMjE5LDEzIEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbklzb2xhdGUK
IH0KIAogLy8gRXZhbHVhdGUgYSBzY3JpcHQgZmlsZSBpbiB0aGUgZW52aXJvbm1lbnQgb2YgdGhp
cyBwcm94eS4KLVNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCitTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVy
OjpldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxv
d1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBTdHJpbmcgc291cmNlVVJMID0gc291cmNlQ29k
ZS51cmwoKTsKICAgICBjb25zdCBTdHJpbmcqIHNhdmVkU291cmNlVVJMID0gbV9zb3VyY2VVUkw7
CiAgICAgbV9zb3VyY2VVUkwgPSAmc291cmNlVVJMOwogCi0gICAgaWYgKCFtX1hTU0F1ZGl0b3It
PmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7CisgICAgaWYgKCFzaG91bGRBbGxv
d1hTUyAmJiAhbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3VyY2VDb2RlLnNvdXJjZSgpKSkg
ewogICAgICAgICAvLyBUaGlzIHNjcmlwdCBpcyBub3Qgc2FmZSB0byBiZSBldmFsdWF0ZWQuCiAg
ICAgICAgIHJldHVybiBTY3JpcHRWYWx1ZSgpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiA1OTYzMykKKysrIFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMiBA
QCBlbnVtIFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyB7CiAgICAgTm90QWJvdXRU
b0V4ZWN1dGVTY3JpcHQKIH07CiAKKy8vIFdoZXRoZXIgdG8gY2FsbCB0aGUgWFNTQXVkaXRvciB0
byBhdWRpdCBhIHNjcmlwdCBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgSmF2YVNjcmlwdCBlbmdp
bmUuCitlbnVtIFNob3VsZEFsbG93WFNTIHsKKyAgICBBbGxvd1hTUywKKyAgICBEb05vdEFsbG93
WFNTCit9OworCiBjbGFzcyBTY3JpcHRDb250cm9sbGVyIHsKIHB1YmxpYzoKICAgICBTY3JpcHRD
b250cm9sbGVyKEZyYW1lKik7CkBAIC02OSwxMSArNzUsMTEgQEAgcHVibGljOgogICAgIC8vIG9y
IHRoaXMgYWNjZXNzb3Igc2hvdWxkIGJlIG1hZGUgSlNQcm94eSoKICAgICBWOFByb3h5KiBwcm94
eSgpIHsgcmV0dXJuIG1fcHJveHkuZ2V0KCk7IH0KIAotICAgIFNjcmlwdFZhbHVlIGV4ZWN1dGVT
Y3JpcHQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotICAgIFNjcmlwdFZhbHVlIGV4ZWN1dGVT
Y3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNl
KTsKKyAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
LCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNj
cmlwdFZhbHVlIGV4ZWN1dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VV
c2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90
QWxsb3dYU1MpOwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGFyZ3VtZW50IGlzIGEgSmF2YVNj
cmlwdCBVUkwuCi0gICAgYm9vbCBleGVjdXRlSWZKYXZhU2NyaXB0VVJMKGNvbnN0IEtVUkwmLCBi
b29sIHVzZXJHZXN0dXJlID0gZmFsc2UsIFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlw
dFVSTCBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgPSBSZXBsYWNlRG9jdW1l
bnRJZkphdmFTY3JpcHRVUkwpOworICAgIGJvb2wgZXhlY3V0ZUlmSmF2YVNjcmlwdFVSTChjb25z
dCBLVVJMJiwgYm9vbCB1c2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJ
ZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMID0gUmVw
bGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hT
UyA9IERvTm90QWxsb3dYU1MpOwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxl
ZCBmcm9tIHRoZSBtYWluIHRocmVhZC4gSXQgaXMgc2FmZSB0byBjYWxsIGl0IHJlcGVhdGVkbHku
CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOwpAQCAtODEsNyArODcsNyBA
QCBwdWJsaWM6CiAgICAgLy8gRXZhbHVhdGUgYSBzY3JpcHQgZmlsZSBpbiB0aGUgZW52aXJvbm1l
bnQgb2YgdGhpcyBwcm94eS4KICAgICAvLyBJZiBzdWNjZWVkZWQsICdzdWNjJyBpcyBzZXQgdG8g
dHJ1ZSBhbmQgcmVzdWx0IGlzIHJldHVybmVkCiAgICAgLy8gYXMgYSBzdHJpbmcuCi0gICAgU2Ny
aXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOworICAgIFNjcmlwdFZh
bHVlIGV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTaG91bGRBbGxvd1hTUyBzaG91
bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOwogCiAgICAgdm9pZCBldmFsdWF0ZUluSXNvbGF0
ZWRXb3JsZCh1bnNpZ25lZCB3b3JsZElELCBjb25zdCBWZWN0b3I8U2NyaXB0U291cmNlQ29kZT4m
KTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTk3NDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNS0xOCAgRGFuaWVsIEJhdGVz
ICA8ZGJhdGVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MjQ5
CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IHJhaXNlIGFu
IGFsYXJtIHdoZW4gdGhlIHNvdXJjZSBjb2RlCisgICAgICAgIHBvcnRpb24gb2YgYSBKYXZhU2Ny
aXB0IFVSTCBtYXRjaGVzIHNvbWUgc3Vic3RyaW5nIG9mIHRoZSBwYWdlIFVSTCBvcgorICAgICAg
ICBwb3N0IGRhdGEuCisKKyAgICAgICAgT3VyIGV4aXN0aW5nIHRlc3QgY292ZXJhZ2UgZW5zdXJl
cyB0aGF0IHdlIHJhaXNlIGFuIGFsYXJtIHdoZW4gdGhlIGVudGlyZQorICAgICAgICBKYXZhU2Ny
aXB0IFVSTCBtYXRjaGVzIHNvbWUgc3Vic3RyaW5nIG9mIHRoZSBwYWdlIFVSTCBvciBwb3N0IGRh
dGEuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlw
dC1saW5rLXNhZmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9qYXZhc2NyaXB0
LWxpbmstc2FmZS5odG1sOiBBZGRlZC4KKwogMjAxMC0wNS0xOCAgVG9ueSBDaGFuZyAgPHRvbnlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlwdC1saW5r
LXNhZmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkveHNzQXVkaXRvci9qYXZhc2NyaXB0LWxpbmstc2FmZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Iv
amF2YXNjcmlwdC1saW5rLXNhZmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIgQEAKK0FMRVJUOiBUaGlzIGlzIGEgc2FmZSBzY3JpcHQuCisKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9qYXZhc2NyaXB0LWxpbmstc2FmZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRv
ci9qYXZhc2NyaXB0LWxpbmstc2FmZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRYU1NBdWRp
dG9yRW5hYmxlZCh0cnVlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aWZyYW1l
IHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2Vz
L2phdmFzY3JpcHQtbGluay1zYWZlLmh0bWw/cT1hbGVydCgnVGhpcyBpcyBhIHNhZmUgc2NyaXB0
LicpIj4KKzwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9qYXZhc2NyaXB0LWxpbmstc2Fm
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvci9yZXNvdXJjZXMvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMv
amF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8YSBpZD0i
YW5jaG9yTGluayIgaHJlZj0iamF2YXNjcmlwdDphbGVydCgnVGhpcyBpcyBhIHNhZmUgc2NyaXB0
LicpIj50ZXN0PC9hPgorPHNjcmlwdD4KKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVF
dmVudCgnTW91c2VFdmVudCcpOworICAgIGV2ZW50LmluaXRFdmVudCgnY2xpY2snLCB0cnVlLCB0
cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5jaG9yTGluaycpLmRpc3BhdGNo
RXZlbnQoZXZlbnQpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56474</attachid>
            <date>2010-05-19 01:10:00 -0700</date>
            <delta_ts>2010-05-21 15:03:54 -0700</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug39249_2.patch</filename>
            <type>text/plain</type>
            <size>14582</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTc0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDUtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI0OQorCisgICAgICAgIEluc3Rl
YWQgb2YganVzdCB1c2luZyB0aGUgc291cmNlIGNvZGUgcG9ydGlvbiBvZiBhIEphdmFTY3JpcHQg
VVJMIHRvCisgICAgICAgIGRldGVjdCBhbiBYU1MgYXR0YWNrLCB3ZSBub3cgaW5jbHVkZSB0aGUg
SmF2YVNjcmlwdCBVUkwgc2NoZW1hLiBUaGlzCisgICAgICAgIHJlZHVjZXMgdGhlIGNoYW5jZSBv
ZiBhIGZhbHNlIHBvc2l0aXZlIGJ5IHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGlu
ay1zYWZlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IFVwZGF0ZWQgZXhwb3J0
ZWQgc3ltYm9scyBhcyBuZWNlc3NhcnkuCisgICAgICAgICogYmluZGluZ3MvU2NyaXB0Q29udHJv
bGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcmlwdCk6IEFkZGVkIHBhcmFtZXRlciBzaG91bGRBbGxvd1hTUy4KKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwpOiBEaXR0by4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKTogRGl0dG8uCisg
ICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOiBBZGRlZCBlbnVtIFNob3Vs
ZEFsbG93WFNTLgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6
OmV2YWx1YXRlKTogQWRkZWQgcGFyYW1ldGVyIHNob3VsZEFsbG93WFNTLgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaDogQWRkZWQgZW51bSBTaG91bGRBbGxvd1hTUy4K
KyAgICAgICAgKFdlYkNvcmU6Oik6CisKIDIwMTAtMDUtMTggIFRvbnkgQ2hhbmcgIDx0b255QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5iYXNl
LmV4cAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHdvcmtp
bmcgY29weSkKQEAgLTM5Miw5ICszOTIsOSBAQCBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rp
b25DMUVSS05TXzRLCiBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25BY3Rpb25DMUV2CiBfX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxMGluaXRTY3JpcHRFUE5TXzE1RE9NV3JhcHBlcldvcmxk
RQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTFjcmVhdGVXb3JsZEV2Ci1fX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxM2V4ZWN1dGVTY3JpcHRFUktOU182U3RyaW5nRWIKK19f
Wk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjEzZXhlY3V0ZVNjcmlwdEVSS05TXzZTdHJpbmdF
Yk5TXzE0U2hvdWxkQWxsb3dYU1NFCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxOHdp
bmRvd1NjcmlwdE9iamVjdEV2Ci1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyMGV4ZWN1
dGVTY3JpcHRJbldvcmxkRVBOU18xNURPTVdyYXBwZXJXb3JsZEVSS05TXzZTdHJpbmdFYgorX19a
TjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjBleGVjdXRlU2NyaXB0SW5Xb3JsZEVQTlNfMTVE
T01XcmFwcGVyV29ybGRFUktOU182U3RyaW5nRWJOU18xNFNob3VsZEFsbG93WFNTRQogX19aTjdX
ZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhMTBzdGF0aWNEYXRhRQogX19aTjdXZWJDb3JlMTZUaHJl
YWRHbG9iYWxEYXRhQzFFdgogX19aTjdXZWJDb3JlMTZUaHJlYWRHbG9iYWxEYXRhRDFFdgpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJKHJldmlzaW9uIDU5
NjMzKQorKysgV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDEyICs0NCwxMiBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4
ZWN1dGVTY3JpcHRzCiAgICAgcmV0dXJuIGFsbG93ZWQ7CiB9CiAKLVNjcmlwdFZhbHVlIFNjcmlw
dENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9y
Y2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSwgU2hvdWxkQWxs
b3dYU1Mgc2hvdWxkQWxsb3dYU1MpCiB7Ci0gICAgcmV0dXJuIGV4ZWN1dGVTY3JpcHQoU2NyaXB0
U291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdlc3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5s
b2FkZXIoKS0+dXJsKCkpKTsKKyAgICByZXR1cm4gZXhlY3V0ZVNjcmlwdChTY3JpcHRTb3VyY2VD
b2RlKHNjcmlwdCwgZm9yY2VVc2VyR2VzdHVyZSA/IEtVUkwoKSA6IG1fZnJhbWUtPmxvYWRlcigp
LT51cmwoKSksIHNob3VsZEFsbG93WFNTKTsKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJv
bGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQor
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRT
b3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsK
ICAgICBpZiAoIWNhbkV4ZWN1dGVTY3JpcHRzKEFib3V0VG9FeGVjdXRlU2NyaXB0KSB8fCBpc1Bh
dXNlZCgpKQogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUoKTsKQEAgLTU3LDcgKzU3LDcgQEAg
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAgIGJvb2wgd2FzSW5F
eGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4ZWN1dGVTY3JpcHQg
PSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29kZSk7
CisgICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGUoc291cmNlQ29kZSwgc2hvdWxkQWxs
b3dYU1MpOwogCiAgICAgaWYgKCF3YXNJbkV4ZWN1dGVTY3JpcHQpIHsKICAgICAgICAgbV9pbkV4
ZWN1dGVTY3JpcHQgPSBmYWxzZTsKQEAgLTgwLDEwICs4MCwxMCBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpCiAKICAgICBjb25zdCBpbnQgamF2YXNjcmlwdFNjaGVt
ZUxlbmd0aCA9IHNpemVvZigiamF2YXNjcmlwdDoiKSAtIDE7CiAKLSAgICBTdHJpbmcgc2NyaXB0
ID0gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKS5zdWJzdHJpbmcoamF2YXNj
cmlwdFNjaGVtZUxlbmd0aCkpOworICAgIFN0cmluZyBkZWNvZGVkVVJMID0gZGVjb2RlVVJMRXNj
YXBlU2VxdWVuY2VzKHVybC5zdHJpbmcoKSk7CiAgICAgU2NyaXB0VmFsdWUgcmVzdWx0OwotICAg
IGlmICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChzY3JpcHQpKQotICAg
ICAgICByZXN1bHQgPSBleGVjdXRlU2NyaXB0KHNjcmlwdCwgdXNlckdlc3R1cmUpOworICAgIGlm
ICh4c3NBdWRpdG9yKCktPmNhbkV2YWx1YXRlSmF2YVNjcmlwdFVSTChkZWNvZGVkVVJMKSkKKyAg
ICAgICAgcmVzdWx0ID0gZXhlY3V0ZVNjcmlwdChkZWNvZGVkVVJMLnN1YnN0cmluZyhqYXZhc2Ny
aXB0U2NoZW1lTGVuZ3RoKSwgdXNlckdlc3R1cmUsIEFsbG93WFNTKTsKIAogICAgIFN0cmluZyBz
Y3JpcHRSZXN1bHQ7CiAjaWYgVVNFKEpTQykKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNTk2MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsMTIgKzExMCwxMiBA
QCBKU0RPTVdpbmRvd1NoZWxsKiBTY3JpcHRDb250cm9sbGVyOjpjcmVhCiAgICAgcmV0dXJuIHdp
bmRvd1NoZWxsOwogfQogCi1TY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUlu
V29ybGQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgRE9NV3JhcHBlcldvcmxk
KiB3b3JsZCkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZChj
b25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBET01XcmFwcGVyV29ybGQqIHdvcmxk
LCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBjb25zdCBTb3VyY2VDb2Rl
JiBqc1NvdXJjZUNvZGUgPSBzb3VyY2VDb2RlLmpzU291cmNlQ29kZSgpOwogICAgIFN0cmluZyBz
b3VyY2VVUkwgPSB1c3RyaW5nVG9TdHJpbmcoanNTb3VyY2VDb2RlLnByb3ZpZGVyKCktPnVybCgp
KTsKIAotICAgIGlmICghbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3VyY2VDb2RlLnNvdXJj
ZSgpKSkgeworICAgIGlmIChzaG91bGRBbGxvd1hTUyA9PSBEb05vdEFsbG93WFNTICYmICFtX1hT
U0F1ZGl0b3ItPmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7CiAgICAgICAgIC8v
IFRoaXMgc2NyaXB0IGlzIG5vdCBzYWZlIHRvIGJlIGV2YWx1YXRlZC4KICAgICAgICAgcmV0dXJu
IEpTVmFsdWUoKTsKICAgICB9CkBAIC0xNjYsOSArMTY2LDkgQEAgU2NyaXB0VmFsdWUgU2NyaXB0
Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogICAgIHJldHVybiBKU1ZhbHVlKCk7CiB9CiAKLVNjcmlw
dFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
IHNvdXJjZUNvZGUpIAorU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29u
c3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNlQ29kZSwgU2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxs
b3dYU1MpIAogewotICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNlQ29kZSwgbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCkpOworICAgIHJldHVybiBldmFsdWF0ZUluV29ybGQoc291cmNlQ29k
ZSwgbWFpblRocmVhZE5vcm1hbFdvcmxkKCksIHNob3VsZEFsbG93WFNTKTsKIH0KIAogUGFzc1Jl
ZlB0cjxET01XcmFwcGVyV29ybGQ+IFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVdvcmxkKCkKQEAg
LTQ0MSw3ICs0NDEsNyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmNsZWFyU2NyaXB0T2JqZWN0
CiAjZW5kaWYKIH0KIAotU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlw
dEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGJv
b2wgZm9yY2VVc2VyR2VzdHVyZSkKK1NjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1
dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNT
KQogewogICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShzY3JpcHQsIGZvcmNlVXNlckdl
c3R1cmUgPyBLVVJMKCkgOiBtX2ZyYW1lLT5sb2FkZXIoKS0+dXJsKCkpOwogCkBAIC00NTEsNyAr
NDUxLDcgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcgogICAgIGJv
b2wgd2FzSW5FeGVjdXRlU2NyaXB0ID0gbV9pbkV4ZWN1dGVTY3JpcHQ7CiAgICAgbV9pbkV4ZWN1
dGVTY3JpcHQgPSB0cnVlOwogCi0gICAgU2NyaXB0VmFsdWUgcmVzdWx0ID0gZXZhbHVhdGVJbldv
cmxkKHNvdXJjZUNvZGUsIHdvcmxkKTsKKyAgICBTY3JpcHRWYWx1ZSByZXN1bHQgPSBldmFsdWF0
ZUluV29ybGQoc291cmNlQ29kZSwgd29ybGQsIHNob3VsZEFsbG93WFNTKTsKIAogICAgIGlmICgh
d2FzSW5FeGVjdXRlU2NyaXB0KSB7CiAgICAgICAgIG1faW5FeGVjdXRlU2NyaXB0ID0gZmFsc2U7
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAkocmV2aXNpb24gNTk2
MzMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtNjcsNiArNjcsMTIgQEAgZW51bSBSZWFzb25Gb3JDYWxsaW5nQ2FuRXhlY3V0ZVNj
cmlwdHMgewogICAgIE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0CiB9OwogCisvLyBXaGV0aGVyIHRv
IGNhbGwgdGhlIFhTU0F1ZGl0b3IgdG8gYXVkaXQgYSBzY3JpcHQgYmVmb3JlIHBhc3NpbmcgaXQg
dG8gdGhlIEphdmFTY3JpcHQgZW5naW5lLgorZW51bSBTaG91bGRBbGxvd1hTUyB7CisgICAgQWxs
b3dYU1MsCisgICAgRG9Ob3RBbGxvd1hTUworfTsKKwogY2xhc3MgU2NyaXB0Q29udHJvbGxlciB7
CiAgICAgZnJpZW5kIGNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YTsKICAgICB0eXBlZGVmIFdU
Rjo6SGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpT
RE9NV2luZG93U2hlbGw+ID4gU2hlbGxNYXA7CkBAIC05Nyw5ICsxMDMsOSBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7
CiAKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUm
KTsKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBi
b29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSk7Ci0gICAgU2NyaXB0VmFsdWUgZXhlY3V0ZVNj
cmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQs
IGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlKTsKKyAgICBTY3JpcHRWYWx1ZSBleGVjdXRl
U2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxv
d1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVlIGV4ZWN1dGVTY3JpcHQoY29u
c3QgU3RyaW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRB
bGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOworICAgIFNjcmlwdFZhbHVl
IGV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSwgU2hvdWxkQWxsb3dYU1Mg
c2hvdWxkQWxsb3dYU1MgPSBEb05vdEFsbG93WFNTKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgIGJvb2wgZXhlY3V0ZUlmSmF2YVNj
cmlwdFVSTChjb25zdCBLVVJMJiwgYm9vbCB1c2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKTsKQEAgLTEwOCw4ICsxMTQs
OCBAQCBwdWJsaWM6CiAgICAgLy8gRGFyd2luIGlzIGFuIGV4Y2VwdGlvbiB0byB0aGlzIHJ1bGU6
IGl0IGlzIE9LIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIGFueSB0aHJlYWQsIGV2ZW4gcmVl
bnRyYW50bHkuCiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOwogCi0gICAg
U2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYpOwotICAgIFNjcmlw
dFZhbHVlIGV2YWx1YXRlSW5Xb3JsZChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwgRE9NV3JhcHBl
cldvcmxkKik7CisgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29k
ZSYsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNTID0gRG9Ob3RBbGxvd1hTUyk7CisgICAg
U2NyaXB0VmFsdWUgZXZhbHVhdGVJbldvcmxkKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBET01X
cmFwcGVyV29ybGQqLCBTaG91bGRBbGxvd1hTUyBzaG91bGRBbGxvd1hTUyA9IERvTm90QWxsb3dY
U1MpOwogCiAgICAgdm9pZCBzZXRFdmVudEhhbmRsZXJMaW5lTnVtYmVyKGludCBsaW5lbm8pIHsg
bV9oYW5kbGVyTGluZU51bWJlciA9IGxpbmVubzsgfQogICAgIGludCBldmVudEhhbmRsZXJMaW5l
TnVtYmVyKCkgeyByZXR1cm4gbV9oYW5kbGVyTGluZU51bWJlcjsgfQpJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1OTYzMykKKysrIFdlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIx
OSwxMyArMjE5LDEzIEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbklzb2xhdGUK
IH0KIAogLy8gRXZhbHVhdGUgYSBzY3JpcHQgZmlsZSBpbiB0aGUgZW52aXJvbm1lbnQgb2YgdGhp
cyBwcm94eS4KLVNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNj
cmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCitTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVy
OjpldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBTaG91bGRBbGxv
d1hTUyBzaG91bGRBbGxvd1hTUykKIHsKICAgICBTdHJpbmcgc291cmNlVVJMID0gc291cmNlQ29k
ZS51cmwoKTsKICAgICBjb25zdCBTdHJpbmcqIHNhdmVkU291cmNlVVJMID0gbV9zb3VyY2VVUkw7
CiAgICAgbV9zb3VyY2VVUkwgPSAmc291cmNlVVJMOwogCi0gICAgaWYgKCFtX1hTU0F1ZGl0b3It
PmNhbkV2YWx1YXRlKHNvdXJjZUNvZGUuc291cmNlKCkpKSB7CisgICAgaWYgKCFzaG91bGRBbGxv
d1hTUyAmJiAhbV9YU1NBdWRpdG9yLT5jYW5FdmFsdWF0ZShzb3VyY2VDb2RlLnNvdXJjZSgpKSkg
ewogICAgICAgICAvLyBUaGlzIHNjcmlwdCBpcyBub3Qgc2FmZSB0byBiZSBldmFsdWF0ZWQuCiAg
ICAgICAgIHJldHVybiBTY3JpcHRWYWx1ZSgpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiA1OTYzMykKKysrIFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMiBA
QCBlbnVtIFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyB7CiAgICAgTm90QWJvdXRU
b0V4ZWN1dGVTY3JpcHQKIH07CiAKKy8vIFdoZXRoZXIgdG8gY2FsbCB0aGUgWFNTQXVkaXRvciB0
byBhdWRpdCBhIHNjcmlwdCBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgSmF2YVNjcmlwdCBlbmdp
bmUuCitlbnVtIFNob3VsZEFsbG93WFNTIHsKKyAgICBBbGxvd1hTUywKKyAgICBEb05vdEFsbG93
WFNTCit9OworCiBjbGFzcyBTY3JpcHRDb250cm9sbGVyIHsKIHB1YmxpYzoKICAgICBTY3JpcHRD
b250cm9sbGVyKEZyYW1lKik7CkBAIC02OSw4ICs3NSw4IEBAIHB1YmxpYzoKICAgICAvLyBvciB0
aGlzIGFjY2Vzc29yIHNob3VsZCBiZSBtYWRlIEpTUHJveHkqCiAgICAgVjhQcm94eSogcHJveHko
KSB7IHJldHVybiBtX3Byb3h5LmdldCgpOyB9CiAKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2Ny
aXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmKTsKLSAgICBTY3JpcHRWYWx1ZSBleGVjdXRlU2Ny
aXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgPSBmYWxzZSk7
CisgICAgU2NyaXB0VmFsdWUgZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiwg
U2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxsb3dYU1MgPSBEb05vdEFsbG93WFNTKTsKKyAgICBTY3Jp
cHRWYWx1ZSBleGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNl
ckdlc3R1cmUgPSBmYWxzZSwgU2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxsb3dYU1MgPSBEb05vdEFs
bG93WFNTKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCBpcyBhIEphdmFTY3Jp
cHQgVVJMLgogICAgIGJvb2wgZXhlY3V0ZUlmSmF2YVNjcmlwdFVSTChjb25zdCBLVVJMJiwgYm9v
bCB1c2VyR2VzdHVyZSA9IGZhbHNlLCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRV
Ukwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMID0gUmVwbGFjZURvY3VtZW50
SWZKYXZhU2NyaXB0VVJMKTsKQEAgLTgxLDcgKzg3LDcgQEAgcHVibGljOgogICAgIC8vIEV2YWx1
YXRlIGEgc2NyaXB0IGZpbGUgaW4gdGhlIGVudmlyb25tZW50IG9mIHRoaXMgcHJveHkuCiAgICAg
Ly8gSWYgc3VjY2VlZGVkLCAnc3VjYycgaXMgc2V0IHRvIHRydWUgYW5kIHJlc3VsdCBpcyByZXR1
cm5lZAogICAgIC8vIGFzIGEgc3RyaW5nLgotICAgIFNjcmlwdFZhbHVlIGV2YWx1YXRlKGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmKTsKKyAgICBTY3JpcHRWYWx1ZSBldmFsdWF0ZShjb25zdCBTY3Jp
cHRTb3VyY2VDb2RlJiwgU2hvdWxkQWxsb3dYU1Mgc2hvdWxkQWxsb3dYU1MgPSBEb05vdEFsbG93
WFNTKTsKIAogICAgIHZvaWQgZXZhbHVhdGVJbklzb2xhdGVkV29ybGQodW5zaWduZWQgd29ybGRJ
RCwgY29uc3QgVmVjdG9yPFNjcmlwdFNvdXJjZUNvZGU+Jik7CiAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDU5NzQwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTAtMDUtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI0OQorCisgICAgICAgIEFkZGVkIGEgdGVz
dCB0byBlbnN1cmUgdGhhdCB3ZSBkb24ndCByYWlzZSBhbiBhbGFybSB3aGVuIHRoZSBzb3VyY2Ug
Y29kZQorICAgICAgICBwb3J0aW9uIG9mIGEgSmF2YVNjcmlwdCBVUkwgbWF0Y2hlcyBzb21lIHN1
YnN0cmluZyBvZiB0aGUgcGFnZSBVUkwgb3IKKyAgICAgICAgcG9zdCBkYXRhLgorCisgICAgICAg
IE91ciBleGlzdGluZyB0ZXN0IGNvdmVyYWdlIGVuc3VyZXMgdGhhdCB3ZSByYWlzZSBhbiBhbGFy
bSB3aGVuIHRoZSBlbnRpcmUKKyAgICAgICAgSmF2YVNjcmlwdCBVUkwgbWF0Y2hlcyBzb21lIHN1
YnN0cmluZyBvZiB0aGUgcGFnZSBVUkwgb3IgcG9zdCBkYXRhLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFz
Y3JpcHQtbGluay1zYWZlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkveHNzQXVkaXRvci9yZXNvdXJjZXMvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbDogQWRkZWQu
CisKIDIwMTAtMDUtMTggIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2
YXNjcmlwdC1saW5rLXNhZmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2phdmFzY3JpcHQtbGluay1zYWZlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBTEVSVDogVGhpcyBpcyBh
IHNhZmUgc2NyaXB0LgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hz
c0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvamF2YXNjcmlwdC1saW5rLXNhZmUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvci9qYXZhc2NyaXB0LWxpbmstc2FmZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0WFNTQXVkaXRvckVuYWJsZWQodHJ1ZSk7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9qYXZhc2NyaXB0LWxpbmstc2FmZS5o
dG1sP3E9YWxlcnQoJ1RoaXMgaXMgYSBzYWZlIHNjcmlwdC4nKSI+Cis8L2lmcmFtZT4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVk
aXRvci9yZXNvdXJjZXMvamF2YXNjcmlwdC1saW5rLXNhZmUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2phdmFz
Y3JpcHQtbGluay1zYWZlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2phdmFzY3JpcHQtbGluay1zYWZlLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGEgaWQ9ImFuY2hvckxpbmsiIGhyZWY9ImphdmFz
Y3JpcHQ6YWxlcnQoJ1RoaXMgaXMgYSBzYWZlIHNjcmlwdC4nKSI+dGVzdDwvYT4KKzxzY3JpcHQ+
CisgICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ01vdXNlRXZlbnQnKTsKKyAg
ICBldmVudC5pbml0RXZlbnQoJ2NsaWNrJywgdHJ1ZSwgdHJ1ZSk7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2FuY2hvckxpbmsnKS5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKKworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="40893"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>