<?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>101956</bug_id>
          
          <creation_ts>2012-11-12 11:23:19 -0800</creation_ts>
          <short_desc>We should trigger a console warning when we encounter invalid sandbox flags.</short_desc>
          <delta_ts>2012-11-15 05:05:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>97978</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764606</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 11:23:19 -0800</bug_when>
    <thetext>&lt;iframe sandbox=&quot;allowScripts&quot;&gt; just bit me, and should trigger a warning. Perhaps &quot;&apos;allowScripts&apos; is an invalid sandbox flag.&quot; or &quot;&apos;allowScripts&apos;, &apos;allowForms&apos;, and &apos;allowSameOrigin&apos; are invalid sandbox flags.&quot;

Adam, would you rather I approached this by passing in something that let us write to the console from SecurityContext::parseSandboxPolicy, or by adding an out parameter to enable the caller to do the work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764608</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-12 11:25:33 -0800</bug_when>
    <thetext>I would go the out parameter approach, but it&apos;s up to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764676</commentid>
    <comment_count>2</comment_count>
      <attachid>173690</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 12:38:19 -0800</bug_when>
    <thetext>Created attachment 173690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764682</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 12:39:24 -0800</bug_when>
    <thetext>Here&apos;s a pass at the problem. Not entirely sure whether the StringBuilder is appropriate. WDYT, Adam?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764696</commentid>
    <comment_count>4</comment_count>
      <attachid>173690</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-12 12:50:47 -0800</bug_when>
    <thetext>Comment on attachment 173690
Patch

Attachment 173690 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14815278</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764700</commentid>
    <comment_count>5</comment_count>
      <attachid>173690</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-12 12:52:42 -0800</bug_when>
    <thetext>Comment on attachment 173690
Patch

Attachment 173690 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14823084</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764703</commentid>
    <comment_count>6</comment_count>
      <attachid>173690</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-12 12:55:25 -0800</bug_when>
    <thetext>Comment on attachment 173690
Patch

Attachment 173690 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14809532</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764728</commentid>
    <comment_count>7</comment_count>
      <attachid>173690</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-11-12 13:12:48 -0800</bug_when>
    <thetext>Comment on attachment 173690
Patch

Attachment 173690 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/14820232</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764731</commentid>
    <comment_count>8</comment_count>
      <attachid>173690</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-12 13:14:19 -0800</bug_when>
    <thetext>Comment on attachment 173690
Patch

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

&gt; Source/WebCore/dom/SecurityContext.cpp:94
&gt; +    unsigned numTokenErrors = 0;

numTokenErrors -&gt; numberOfTokenErrors

&gt; Source/WebCore/dom/SecurityContext.cpp:122
&gt; +                tokenErrors.append(&quot;, &apos;&quot;);

append -&gt; appendLiteral

&gt; Source/WebCore/dom/SecurityContext.cpp:134
&gt; +    if (numTokenErrors)
&gt; +        invalidTokensErrorMessage = tokenErrors.toString() + ((numTokenErrors &gt; 1) ? &quot; are invalid sandbox flags.&quot; : &quot; is an invalid sandbox flag.&quot;);

You shouldn&apos;t call toString on the StringBuilder until you&apos;re done.  Instead, you should append these last strings and then call toString at the end.

The reason is that the pattern you have here creates an extra allocation and memcpy.  The temporary string you create from calling StringBuilder::toString is a waste.

&gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1663
&gt; +    String message = &quot;Error while parsing the &apos;sandbox&apos; Content Security Policy directive: &quot; + invalidFlags;
&gt; +    logToConsole(message);

No need to name this temporary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764776</commentid>
    <comment_count>9</comment_count>
      <attachid>173713</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 13:47:28 -0800</bug_when>
    <thetext>Created attachment 173713
Take 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764794</commentid>
    <comment_count>10</comment_count>
      <attachid>173713</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-12 13:59:34 -0800</bug_when>
    <thetext>Comment on attachment 173713
Take 2.

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

&gt; Source/WebCore/dom/SecurityContext.cpp:125
&gt; +                tokenErrors.appendLiteral(&quot;&apos;&quot;);

I gave you bad advice.  You can actually just make this tokenErrors.append(&apos;\&apos;&apos;), which is slightly more efficient.

&gt; Source/WebCore/dom/SecurityContext.cpp:127
&gt; +            tokenErrors.appendLiteral(&quot;&apos;&quot;);

Ditto

&gt; Source/WebCore/dom/SecurityContext.cpp:135
&gt; +        tokenErrors.append((numberOfTokenErrors &gt; 1) ? &quot; are invalid sandbox flags.&quot; : &quot; is an invalid sandbox flag.&quot;);

This would be more efficient if you had a real if statement and called appendLiteral separately for the two different constants.

What&apos;s going on here is that appendLiteral uses a compiler trick to figure out the length of the string at compile-time, which means we don&apos;t need to call strlen on these constants.  The way you&apos;ve written this code, we can&apos;t figure out the length at compile time, so we fall back to strlen.

Above, it&apos;s better to use character constants rather than strings because then we don&apos;t need loops or other nonsense to traverse a one-character string.

None of this really matters in this patch.  I just mention it so that you know for future patches where it might matter more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764813</commentid>
    <comment_count>11</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 14:14:57 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; None of this really matters in this patch.  I just mention it so that you know for future patches where it might matter more.

It&apos;s good info! I appreciate you taking the time to explain. I&apos;ll spin up a new patch with these changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764817</commentid>
    <comment_count>12</comment_count>
      <attachid>173723</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 14:16:58 -0800</bug_when>
    <thetext>Created attachment 173723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764833</commentid>
    <comment_count>13</comment_count>
      <attachid>173729</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-12 14:25:50 -0800</bug_when>
    <thetext>Created attachment 173729
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765286</commentid>
    <comment_count>14</comment_count>
      <attachid>173729</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-12 23:03:55 -0800</bug_when>
    <thetext>Comment on attachment 173729
Patch for landing

Regressions: Unexpected text-only failures (3)
  fast/frames/sandboxed-iframe-attribute-parsing.html [ Failure ]
  fast/frames/sandboxed-iframe-parsing-space-characters.html [ Failure ]
  http/tests/security/sandboxed-iframe-modify-self.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767922</commentid>
    <comment_count>15</comment_count>
      <attachid>174398</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-15 03:56:43 -0800</bug_when>
    <thetext>Created attachment 174398
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767969</commentid>
    <comment_count>16</comment_count>
      <attachid>174398</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 05:05:28 -0800</bug_when>
    <thetext>Comment on attachment 174398
Patch.

Clearing flags on attachment: 174398

Committed r134766: &lt;http://trac.webkit.org/changeset/134766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767970</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 05:05:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173690</attachid>
            <date>2012-11-12 12:38:19 -0800</date>
            <delta_ts>2012-11-12 13:47:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101956-20121112213620.patch</filename>
            <type>text/plain</type>
            <size>12821</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmYmYzNmZmYzNlNTEz
YWYxOGRjNzhhZjI3MmJlMTc3M2VhMjhkZS4uOTY5MTVhZmUyZDlhZTVjNDk4YzBkYzRjZGYyMWZl
YTM0ZmEyOGI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTEyICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Ugc2hvdWxkIHRyaWdnZXIg
YSBjb25zb2xlIHdhcm5pbmcgd2hlbiB3ZSBlbmNvdW50ZXIgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBkZXZl
bG9wZXIgd2hvIHdyaXRlcyAnPGlmcmFtZSBzYW5kYm94PSJhbGxvd1NjcmlwdHMiPicgcHJvYmFi
bHkgaGFzCisgICAgICAgIHNvbWV0aGluZyBpbiBtaW5kIG90aGVyIHRoYW4gd2hhdCB0aGUgYnJv
d3NlciBpbnRlcnByZXRzLiBJbiB0aGVzZQorICAgICAgICBzaXR1YXRpb25zLCB3ZSBzaG91bGQg
bG9nIGEgY29uc29sZSB3YXJuaW5nIHRoYXQgbm90ZXMgJ2FsbG93U2NyaXB0cycKKyAgICAgICAg
aXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcgKCdhbGxvdy1zY3JpcHRzJyBpcyBwcm9iYWJseSB3
aGF0IHNoZQorICAgICAgICBtZWFudCkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBz
aW1wbGVzdCB0aGluZyBwb3NzaWJsZTogaXQgdGhyb3dzIGEgd2FybmluZyB0aGF0CisgICAgICAg
IGxpc3RzIHRoZSBpbnZhbGlkIGZsYWdzIGVuY291bnRlcmVkIGZvciBzYW5kYm94IGF0dHJpYnV0
ZXMgb24gaWZyYW1lcywKKyAgICAgICAgYW5kIGZvciBzYW5kYm94IENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQuaHRt
bAorCisgICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSk6CisgICAgICAgICogZG9tL1Nl
Y3VyaXR5Q29udGV4dC5oOgorICAgICAgICAoU2VjdXJpdHlDb250ZXh0KToKKyAgICAgICAgICAg
IEFjY2VwdCBhIG5ldyBvdXQgcGFyYW1ldGVyLCBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlLiBJ
ZiBpbnZhbGlkCisgICAgICAgICAgICB0b2tlbnMgYXJlIGVuY291bnRlcmVkLCBidWlsZCBhbiBl
cnJvciBtZXNzYWdlIHN0cmluZywgYW5kIHBhc3MgaXQKKyAgICAgICAgICAgIGJhY2sgdG8gdGhl
IGNhbGxlciB0aHJvdWdoIHRoaXMgcGFyYW1ldGVyLgorICAgICAgICAqIGh0bWwvSFRNTElGcmFt
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3kpOgor
ICAgICAgICAgICAgV2hlbiBhcHBseWluZyBhIHNhbmRib3ggcG9saWN5LCBwYXNzIGEgc3RyaW5n
IGludG8KKyAgICAgICAgICAgIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5IHRv
IGdyYWIgYW55IGVycm9ycyB0aGF0IG1pZ2h0CisgICAgICAgICAgICBiZSBlbmNvdW50ZXJlZCwg
YW5kIGxvZyBhIHdhcm5pbmcgaW4gdGhhdCBldmVudC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZFNhbmRib3hGbGFncyk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorICAgICAg
ICAgICAgQWRkaW5nIGEgbmV3IG1ldGhvZCB0byByZXBvcnQgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorCiAyMDEyLTExLTEwICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW5jbHVkaW5nIDxDb3JlVGV4dC9Db3JlVGV4dC5oPiBicmVha3MgdGhlIGNocm9taXVtL21h
YyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKaW5kZXggN2U5Zjgz
OTIwYmMwNzFiYWI1MTIyYTU1NzQwYTViYjc4YjFmNmY0Mi4uMjM3YmY2NjlmNGViN2ZjOWEyZmIy
NmRjZjIwMTA0ZGNiMGY3ZDA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3Vy
aXR5Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5j
cHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBTZWN1cml0eUNvbnRleHQ6OmRpZFVwZGF0ZVNlY3Vy
aXR5T3JpZ2luKCkKICAgICAvLyBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzIGZ1bmN0aW9u
IGlmIHRoZSBuZWVkIHRvIGRvIGV4dHJhIHdvcmsgd2hlbiB0aGUgc2VjdXJpdHkgb3JpZ2luIGNo
YW5nZXMuCiB9CiAKLVNhbmRib3hGbGFncyBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBv
bGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKK1NhbmRib3hGbGFncyBTZWN1cml0eUNvbnRleHQ6
OnBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSwgU3RyaW5nJiBpbnZhbGlk
VG9rZW5zRXJyb3JNZXNzYWdlKQogewogICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1
L3RoZS1pZnJhbWUtZWxlbWVudC5odG1sI2F0dHItaWZyYW1lLXNhbmRib3gKICAgICAvLyBQYXJz
ZSB0aGUgdW5vcmRlcmVkIHNldCBvZiB1bmlxdWUgc3BhY2Utc2VwYXJhdGVkIHRva2Vucy4KQEAg
LTkxLDYgKzkxLDggQEAgU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94
UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQogICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJz
ID0gcG9saWN5LmNoYXJhY3RlcnMoKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSBwb2xpY3kubGVu
Z3RoKCk7CiAgICAgdW5zaWduZWQgc3RhcnQgPSAwOworICAgIHVuc2lnbmVkIG51bVRva2VuRXJy
b3JzID0gMDsKKyAgICBTdHJpbmdCdWlsZGVyIHRva2VuRXJyb3JzOwogICAgIHdoaWxlICh0cnVl
KSB7CiAgICAgICAgIHdoaWxlIChzdGFydCA8IGxlbmd0aCAmJiBpc0hUTUxTcGFjZShjaGFyYWN0
ZXJzW3N0YXJ0XSkpCiAgICAgICAgICAgICArK3N0YXJ0OwpAQCAtMTE1LDEwICsxMTcsMjIgQEAg
U2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0
cmluZyYgcG9saWN5KQogICAgICAgICAgICAgZmxhZ3MgJj0gflNhbmRib3hQb3B1cHM7CiAgICAg
ICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHNhbmRib3hUb2tlbiwgImFsbG93LXBvaW50
ZXItbG9jayIpKQogICAgICAgICAgICAgZmxhZ3MgJj0gflNhbmRib3hQb2ludGVyTG9jazsKKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobnVtVG9rZW5FcnJvcnMpCisgICAgICAgICAg
ICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kKCIsICciKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmQoIiciKTsKKyAgICAgICAgICAgIHRva2VuRXJy
b3JzLmFwcGVuZChzYW5kYm94VG9rZW4pOworICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5k
KCInIik7CisgICAgICAgICAgICBudW1Ub2tlbkVycm9ycysrOworICAgICAgICB9CiAKICAgICAg
ICAgc3RhcnQgPSBlbmQgKyAxOwogICAgIH0KIAorICAgIGlmIChudW1Ub2tlbkVycm9ycykKKyAg
ICAgICAgaW52YWxpZFRva2Vuc0Vycm9yTWVzc2FnZSA9IHRva2VuRXJyb3JzLnRvU3RyaW5nKCkg
KyAoKG51bVRva2VuRXJyb3JzID4gMSkgPyAiIGFyZSBpbnZhbGlkIHNhbmRib3ggZmxhZ3MuIiA6
ICIgaXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcuIik7CisKICAgICByZXR1cm4gZmxhZ3M7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaAppbmRleCA5Y2Y0OWQzOThhYTAyODQx
MTJiMDFlZmIyMTJhYjJjOGUxZWNlODJhLi4zNzJmZTRkMGJlMzM5MTA1MmIyN2FkYjkxMDI2N2Q5
OTE0NzJhN2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCkBAIC03MSw3ICs3
MSw3IEBAIHB1YmxpYzoKICAgICAvLyAgICAgICB0aGF0IGFscmVhZHkgY29udGFpbnMgY29udGVu
dC4KICAgICB2b2lkIHNldFNlY3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
KTsKIAotICAgIHN0YXRpYyBTYW5kYm94RmxhZ3MgcGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0
cmluZyYgcG9saWN5KTsKKyAgICBzdGF0aWMgU2FuZGJveEZsYWdzIHBhcnNlU2FuZGJveFBvbGlj
eShjb25zdCBTdHJpbmcmIHBvbGljeSwgU3RyaW5nJiBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdl
KTsKIAogcHJvdGVjdGVkOgogICAgIFNlY3VyaXR5Q29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCAwZWJlMDk0NjljNmMwNDExNWJmOThhYjUw
NTZkZWIyY2ZhMmM4ZWFiLi5hYWUyMjdjMzQ3ODhmNGViMTAyYzY5YTExODA0YjNmM2YyODM0ZGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApAQCAtMzIsNiAr
MzIsOCBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVySUZyYW1lLmgiCisjaW5jbHVkZSAiU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODUsOSArODcsMTQgQEAgdm9pZCBIVE1MSUZyYW1l
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAg
ICAgICAgICBkb2N1bWVudC0+YWRkRXh0cmFOYW1lZEl0ZW0obmV3TmFtZSk7CiAgICAgICAgIH0K
ICAgICAgICAgbV9uYW1lID0gbmV3TmFtZTsKLSAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1l
KCkgPT0gc2FuZGJveEF0dHIpCi0gICAgICAgIHNldFNhbmRib3hGbGFncyhhdHRyaWJ1dGUuaXNO
dWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5
KGF0dHJpYnV0ZS52YWx1ZSgpKSk7Ci0gICAgZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBz
ZWFtbGVzc0F0dHIpIHsKKyAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gc2FuZGJv
eEF0dHIpIHsKKyAgICAgICAgU3RyaW5nIGludmFsaWRUb2tlbnM7CisgICAgICAgIHNldFNhbmRi
b3hGbGFncyhhdHRyaWJ1dGUuaXNOdWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5Q29udGV4
dDo6cGFyc2VTYW5kYm94UG9saWN5KGF0dHJpYnV0ZS52YWx1ZSgpLCBpbnZhbGlkVG9rZW5zKSk7
CisgICAgICAgIGlmICghaW52YWxpZFRva2Vucy5pc051bGwoKSkgeworICAgICAgICAgICAgaW50
IGxpbmUgPSBkb2N1bWVudCgpLT5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKSA/IGRvY3VtZW50
KCktPnNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQo
KSA6IDA7CisgICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hp
bGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMsIGRv
Y3VtZW50KCktPnVybCgpLnN0cmluZygpLCBsaW5lKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBp
ZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBzZWFtbGVzc0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2Un
cmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8g
Zm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2
ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQoKSkKICAgICAgICAgICAgIGNvbnRlbnRE
b2N1bWVudCgpLT5zdHlsZVJlc29sdmVyQ2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA4MWMzN2Zm
MzdjZjA0NDM4YTYzYjViOWY2YTM1NjdiM2NiNDE5MTg4Li44ZjQ5Njg4ODMzYzhhYzQyNGIzMWZl
ZjZhOWY1MmU1M2M2Zjk2OTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCkBAIC0xMjgwLDcgKzEyODAsMTAgQEAgdm9pZCBDU1BEaXJlY3RpdmVM
aXN0OjphcHBseVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHNhbmQKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2hhdmVTYW5kYm94UG9saWN5ID0g
dHJ1ZTsKLSAgICBtX3BvbGljeS0+ZW5mb3JjZVNhbmRib3hGbGFncyhTZWN1cml0eUNvbnRleHQ6
OnBhcnNlU2FuZGJveFBvbGljeShzYW5kYm94UG9saWN5KSk7CisgICAgU3RyaW5nIGludmFsaWRU
b2tlbnM7CisgICAgbV9wb2xpY3ktPmVuZm9yY2VTYW5kYm94RmxhZ3MoU2VjdXJpdHlDb250ZXh0
OjpwYXJzZVNhbmRib3hQb2xpY3koc2FuZGJveFBvbGljeSwgaW52YWxpZFRva2VucykpOworICAg
IGlmICghaW52YWxpZFRva2Vucy5pc051bGwoKSkKKyAgICAgICAgbV9wb2xpY3ktPnJlcG9ydElu
dmFsaWRTYW5kYm94RmxhZ3MoaW52YWxpZFRva2Vucyk7CiB9CiAKIHZvaWQgQ1NQRGlyZWN0aXZl
TGlzdDo6YWRkRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1
ZSkKQEAgLTE2NTQsNiArMTY1NywxMiBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVw
b3J0SW52YWxpZFBsdWdpblR5cGVzKGNvbnN0IFN0cmluZyYgcGx1Z2luVHlwZSkgYwogICAgIGxv
Z1RvQ29uc29sZShtZXNzYWdlKTsKIH0KIAordm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJl
cG9ydEludmFsaWRTYW5kYm94RmxhZ3MoY29uc3QgU3RyaW5nJiBpbnZhbGlkRmxhZ3MpIGNvbnN0
Cit7CisgICAgU3RyaW5nIG1lc3NhZ2UgPSAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRi
b3gnIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIiArIGludmFsaWRGbGFnczsK
KyAgICBsb2dUb0NvbnNvbGUobWVzc2FnZSk7Cit9CisKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpyZXBvcnRJbnZhbGlkRGlyZWN0aXZlVmFsdWVDaGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBk
aXJlY3RpdmVOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogewogICAgIFN0cmluZyBt
ZXNzYWdlID0gbWFrZVN0cmluZygiVGhlIHZhbHVlIGZvciBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSBkaXJlY3RpdmUgJyIsIGRpcmVjdGl2ZU5hbWUsICInIGNvbnRhaW5zIGFuIGludmFsaWQgY2hh
cmFjdGVyOiAnIiwgdmFsdWUsICInLiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNpZGUg
QVNDSUkgMHgyMS0weDdFIG11c3QgYmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQgaW4g
UkZDIDM5ODYsIHNlY3Rpb24gMi4xOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2
I3NlY3Rpb24tMi4xLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmgKaW5kZXggZjA5ZDllNjM5ZmMwYjk0NGZhODdmNzUwYmQ4ZGU1NmM2YmVjMzZlOS4uZDJj
ZjNiNTQwYmY0ZmJlNjZkZDY2NjZhNzA3M2VmZjJjMGQwZmU0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC0xMDcsNiArMTA3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVwb3J0SW52YWxpZFBhdGhDaGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBkaXJl
Y3RpdmVOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBjb25zdCBjaGFyKSBjb25zdDsKICAgICB2
b2lkIHJlcG9ydEludmFsaWROb25jZShjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2b2lkIHJl
cG9ydEludmFsaWRQbHVnaW5UeXBlcyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lkIHJl
cG9ydEludmFsaWRTYW5kYm94RmxhZ3MoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCBy
ZXBvcnRJbnZhbGlkU291cmNlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZU5hbWUs
IGNvbnN0IFN0cmluZyYgc291cmNlKSBjb25zdDsKICAgICB2b2lkIHJlcG9ydFVuc3VwcG9ydGVk
RGlyZWN0aXZlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0VmlvbGF0aW9u
KGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2Fn
ZSwgY29uc3QgS1VSTCYgYmxvY2tlZFVSTCwgY29uc3QgVmVjdG9yPEtVUkw+JiByZXBvcnRVUklz
LCBjb25zdCBTdHJpbmcmIGhlYWRlciwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMID0gU3RyaW5n
KCksIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUgPSBXVEY6Ok9yZGluYWxO
dW1iZXI6OmJlZm9yZUZpcnN0KCksIFNjcmlwdFN0YXRlKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJj
YmUwMWFmOGY5MzUxNGEzM2E3NTA3NzljYjA4ZDQ5OWQ0MzkzYzAuLjhjNTJhYzExZmRiY2MzNjU1
YmY4NjM0Yzc0YTdjMWNhMTAwN2Y2ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0x
MiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlIHNob3VsZCB0
cmlnZ2VyIGEgY29uc29sZSB3YXJuaW5nIHdoZW4gd2UgZW5jb3VudGVyIGludmFsaWQgc2FuZGJv
eCBmbGFncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZh
bGlkLWhlYWRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWlu
dmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0xMCAgQnJ1
bm8gZGUgT2xpdmVpcmEgQWJpbmFkZXIgIDxicnVuby5hYmluYWRlckBiYXN5c2tvbS5jb20+CiAK
ICAgICAgICAgW2Nzc10gdGV4dC1kZWNvcmF0aW9uOm5vbmUgbm8gbG9uZ2VyIHZhbGlkCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1o
ZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5N2M3YzVlM2JkZTdkMTk0NjUyZmUwNjBm
ZTM4ZGMxMTE0OTBkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXJyb3Igd2hpbGUg
cGFyc2luZyB0aGUgJ3NhbmRib3gnIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTog
J2FsbG93U2NyaXB0JyBpcyBhbiBpbnZhbGlkIHNhbmRib3ggZmxhZy4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1pbnZhbGlkLWhlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYxZTA3MGVmNDc0MTgxODI2ODI0ZWU0YTExMDgzZWI0ZjIwODkzNTUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJveD1h
bGxvd1NjcmlwdCI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJh
bWUtaW52YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY3ZWU5ZGY3MDlkOTg3YzQ1MmEx
OGQ0ZGVkYzVhNTExNTlkYTQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogRXJyb3Igd2hpbGUgcGFyc2lu
ZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogJ2FsbG93U2NyaXB0cycgaXMgYW4gaW52YWxpZCBz
YW5kYm94IGZsYWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IEVycm9yIHdoaWxlIHBhcnNp
bmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICdhbGxvd1NjcmlwdHMnLCAnYWxsb3dTYW1lT3Jp
Z2luJywgJ2FsbG93Rm9vYmFyYmxvb3AnIGFyZSBpbnZhbGlkIHNhbmRib3ggZmxhZ3MuCitUZXN0
IHRoYXQgYW4gaWZyYW1lIHdpdGggaW52YWxpZCBzYW5kYm94IGZsYWdzIGdlbmVyYXRlcyBhIHJl
bGV2YW50IHdhcm5pbmcuCisKKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY0ZTc4ZGRhMTAzOWI3NzcyY2Q5NzMzMmQ0NTZhOTE0NmU4N2YyZjMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52
YWxpZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5UZXN0IHRoYXQgYW4gaWZyYW1lIHdpdGgg
aW52YWxpZCBzYW5kYm94IGZsYWdzIGdlbmVyYXRlcyBhIHJlbGV2YW50IHdhcm5pbmcuPC9wPgor
Cis8aWZyYW1lIGlkPSJ0aGVGcmFtZSIgc2FuZGJveD0iYWxsb3dTY3JpcHRzIj48L2lmcmFtZT4K
KzxpZnJhbWUgaWQ9InRoZUZyYW1lMiIgc2FuZGJveD0iYWxsb3dTY3JpcHRzIGFsbG93U2FtZU9y
aWdpbiBhbGxvd0Zvb2JhcmJsb29wIj48L2lmcmFtZT4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173713</attachid>
            <date>2012-11-12 13:47:28 -0800</date>
            <delta_ts>2012-11-12 14:16:53 -0800</delta_ts>
            <desc>Take 2.</desc>
            <filename>bug-101956-20121112224530.patch</filename>
            <type>text/plain</type>
            <size>13047</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmYmYzNmZmYzNlNTEz
YWYxOGRjNzhhZjI3MmJlMTc3M2VhMjhkZS4uOTY5MTVhZmUyZDlhZTVjNDk4YzBkYzRjZGYyMWZl
YTM0ZmEyOGI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTEyICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Ugc2hvdWxkIHRyaWdnZXIg
YSBjb25zb2xlIHdhcm5pbmcgd2hlbiB3ZSBlbmNvdW50ZXIgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBkZXZl
bG9wZXIgd2hvIHdyaXRlcyAnPGlmcmFtZSBzYW5kYm94PSJhbGxvd1NjcmlwdHMiPicgcHJvYmFi
bHkgaGFzCisgICAgICAgIHNvbWV0aGluZyBpbiBtaW5kIG90aGVyIHRoYW4gd2hhdCB0aGUgYnJv
d3NlciBpbnRlcnByZXRzLiBJbiB0aGVzZQorICAgICAgICBzaXR1YXRpb25zLCB3ZSBzaG91bGQg
bG9nIGEgY29uc29sZSB3YXJuaW5nIHRoYXQgbm90ZXMgJ2FsbG93U2NyaXB0cycKKyAgICAgICAg
aXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcgKCdhbGxvdy1zY3JpcHRzJyBpcyBwcm9iYWJseSB3
aGF0IHNoZQorICAgICAgICBtZWFudCkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBz
aW1wbGVzdCB0aGluZyBwb3NzaWJsZTogaXQgdGhyb3dzIGEgd2FybmluZyB0aGF0CisgICAgICAg
IGxpc3RzIHRoZSBpbnZhbGlkIGZsYWdzIGVuY291bnRlcmVkIGZvciBzYW5kYm94IGF0dHJpYnV0
ZXMgb24gaWZyYW1lcywKKyAgICAgICAgYW5kIGZvciBzYW5kYm94IENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQuaHRt
bAorCisgICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSk6CisgICAgICAgICogZG9tL1Nl
Y3VyaXR5Q29udGV4dC5oOgorICAgICAgICAoU2VjdXJpdHlDb250ZXh0KToKKyAgICAgICAgICAg
IEFjY2VwdCBhIG5ldyBvdXQgcGFyYW1ldGVyLCBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlLiBJ
ZiBpbnZhbGlkCisgICAgICAgICAgICB0b2tlbnMgYXJlIGVuY291bnRlcmVkLCBidWlsZCBhbiBl
cnJvciBtZXNzYWdlIHN0cmluZywgYW5kIHBhc3MgaXQKKyAgICAgICAgICAgIGJhY2sgdG8gdGhl
IGNhbGxlciB0aHJvdWdoIHRoaXMgcGFyYW1ldGVyLgorICAgICAgICAqIGh0bWwvSFRNTElGcmFt
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3kpOgor
ICAgICAgICAgICAgV2hlbiBhcHBseWluZyBhIHNhbmRib3ggcG9saWN5LCBwYXNzIGEgc3RyaW5n
IGludG8KKyAgICAgICAgICAgIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5IHRv
IGdyYWIgYW55IGVycm9ycyB0aGF0IG1pZ2h0CisgICAgICAgICAgICBiZSBlbmNvdW50ZXJlZCwg
YW5kIGxvZyBhIHdhcm5pbmcgaW4gdGhhdCBldmVudC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZFNhbmRib3hGbGFncyk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorICAgICAg
ICAgICAgQWRkaW5nIGEgbmV3IG1ldGhvZCB0byByZXBvcnQgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorCiAyMDEyLTExLTEwICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW5jbHVkaW5nIDxDb3JlVGV4dC9Db3JlVGV4dC5oPiBicmVha3MgdGhlIGNocm9taXVtL21h
YyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKaW5kZXggN2U5Zjgz
OTIwYmMwNzFiYWI1MTIyYTU1NzQwYTViYjc4YjFmNmY0Mi4uNGMxYjU4YmJkYmYwMjRkNTk1NDNh
OTllOTZlMWM2ODc0MDNhMmU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3Vy
aXR5Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtODMsNyArODQsNyBAQCB2b2lkIFNlY3VyaXR5Q29udGV4dDo6ZGlkVXBkYXRl
U2VjdXJpdHlPcmlnaW4oKQogICAgIC8vIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMgZnVu
Y3Rpb24gaWYgdGhlIG5lZWQgdG8gZG8gZXh0cmEgd29yayB3aGVuIHRoZSBzZWN1cml0eSBvcmln
aW4gY2hhbmdlcy4KIH0KIAotU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5k
Ym94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQorU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29u
dGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5LCBTdHJpbmcmIGlu
dmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UpCiB7CiAgICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIv
aHRtbDUvdGhlLWlmcmFtZS1lbGVtZW50Lmh0bWwjYXR0ci1pZnJhbWUtc2FuZGJveAogICAgIC8v
IFBhcnNlIHRoZSB1bm9yZGVyZWQgc2V0IG9mIHVuaXF1ZSBzcGFjZS1zZXBhcmF0ZWQgdG9rZW5z
LgpAQCAtOTEsNiArOTIsOCBAQCBTYW5kYm94RmxhZ3MgU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNh
bmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3kpCiAgICAgY29uc3QgVUNoYXIqIGNoYXJh
Y3RlcnMgPSBwb2xpY3kuY2hhcmFjdGVycygpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBvbGlj
eS5sZW5ndGgoKTsKICAgICB1bnNpZ25lZCBzdGFydCA9IDA7CisgICAgdW5zaWduZWQgbnVtYmVy
T2ZUb2tlbkVycm9ycyA9IDA7CisgICAgU3RyaW5nQnVpbGRlciB0b2tlbkVycm9yczsKICAgICB3
aGlsZSAodHJ1ZSkgewogICAgICAgICB3aGlsZSAoc3RhcnQgPCBsZW5ndGggJiYgaXNIVE1MU3Bh
Y2UoY2hhcmFjdGVyc1tzdGFydF0pKQogICAgICAgICAgICAgKytzdGFydDsKQEAgLTExNSwxMCAr
MTE4LDI0IEBAIFNhbmRib3hGbGFncyBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGlj
eShjb25zdCBTdHJpbmcmIHBvbGljeSkKICAgICAgICAgICAgIGZsYWdzICY9IH5TYW5kYm94UG9w
dXBzOwogICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShzYW5kYm94VG9rZW4sICJh
bGxvdy1wb2ludGVyLWxvY2siKSkKICAgICAgICAgICAgIGZsYWdzICY9IH5TYW5kYm94UG9pbnRl
ckxvY2s7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKG51bWJlck9mVG9rZW5FcnJv
cnMpCisgICAgICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kTGl0ZXJhbCgiLCAnIik7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kTGl0ZXJh
bCgiJyIpOworICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kKHNhbmRib3hUb2tlbik7Cisg
ICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmRMaXRlcmFsKCInIik7CisgICAgICAgICAgICBu
dW1iZXJPZlRva2VuRXJyb3JzKys7CisgICAgICAgIH0KIAogICAgICAgICBzdGFydCA9IGVuZCAr
IDE7CiAgICAgfQogCisgICAgaWYgKG51bWJlck9mVG9rZW5FcnJvcnMpIHsKKyAgICAgICAgdG9r
ZW5FcnJvcnMuYXBwZW5kKChudW1iZXJPZlRva2VuRXJyb3JzID4gMSkgPyAiIGFyZSBpbnZhbGlk
IHNhbmRib3ggZmxhZ3MuIiA6ICIgaXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcuIik7CisgICAg
ICAgIGludmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UgPSB0b2tlbkVycm9ycy50b1N0cmluZygpOwor
ICAgIH0KKwogICAgIHJldHVybiBmbGFnczsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29u
dGV4dC5oCmluZGV4IDljZjQ5ZDM5OGFhMDI4NDExMmIwMWVmYjIxMmFiMmM4ZTFlY2U4MmEuLjM3
MmZlNGQwYmUzMzkxMDUyYjI3YWRiOTEwMjY3ZDk5MTQ3MmE3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2VjdXJpdHlDb250ZXh0LmgKQEAgLTcxLDcgKzcxLDcgQEAgcHVibGljOgogICAgIC8vICAgICAg
IHRoYXQgYWxyZWFkeSBjb250YWlucyBjb250ZW50LgogICAgIHZvaWQgc2V0U2VjdXJpdHlPcmln
aW4oUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4pOwogCi0gICAgc3RhdGljIFNhbmRib3hGbGFn
cyBwYXJzZVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3kpOworICAgIHN0YXRpYyBT
YW5kYm94RmxhZ3MgcGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5LCBTdHJp
bmcmIGludmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UpOwogCiBwcm90ZWN0ZWQ6CiAgICAgU2VjdXJp
dHlDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCmlu
ZGV4IDBlYmUwOTQ2OWM2YzA0MTE1YmY5OGFiNTA1NmRlYjJjZmEyYzhlYWIuLmFhZTIyN2MzNDc4
OGY0ZWIxMDJjNjlhMTE4MDRiM2YzZjI4MzRkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElGcmFtZUVsZW1lbnQuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJJ
RnJhbWUuaCIKKyNpbmNsdWRlICJTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04
NSw5ICs4NywxNCBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25z
dCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICAgICAgICAgIGRvY3VtZW50LT5hZGRFeHRyYU5h
bWVkSXRlbShuZXdOYW1lKTsKICAgICAgICAgfQogICAgICAgICBtX25hbWUgPSBuZXdOYW1lOwot
ICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBzYW5kYm94QXR0cikKLSAgICAgICAg
c2V0U2FuZGJveEZsYWdzKGF0dHJpYnV0ZS5pc051bGwoKSA/IFNhbmRib3hOb25lIDogU2VjdXJp
dHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3koYXR0cmlidXRlLnZhbHVlKCkpKTsKLSAgICBl
bHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IHNlYW1sZXNzQXR0cikgeworICAgIH0gZWxzZSBp
ZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBzYW5kYm94QXR0cikgeworICAgICAgICBTdHJpbmcgaW52
YWxpZFRva2VuczsKKyAgICAgICAgc2V0U2FuZGJveEZsYWdzKGF0dHJpYnV0ZS5pc051bGwoKSA/
IFNhbmRib3hOb25lIDogU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3koYXR0cmli
dXRlLnZhbHVlKCksIGludmFsaWRUb2tlbnMpKTsKKyAgICAgICAgaWYgKCFpbnZhbGlkVG9rZW5z
LmlzTnVsbCgpKSB7CisgICAgICAgICAgICBpbnQgbGluZSA9IGRvY3VtZW50KCktPnNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlcigpID8gZG9jdW1lbnQoKS0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KCktPmxpbmVOdW1iZXIoKS5vbmVCYXNlZEludCgpIDogMDsKKyAgICAgICAgICAgIGRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJveCcgYXR0
cmlidXRlOiAiICsgaW52YWxpZFRva2VucywgZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCksIGxp
bmUpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IHNlYW1s
ZXNzQXR0cikgewogICAgICAgICAvLyBJZiB3ZSdyZSBhZGRpbmcgb3IgcmVtb3ZpbmcgdGhlIHNl
YW1sZXNzIGF0dHJpYnV0ZSwgd2UgbmVlZCB0byBmb3JjZSB0aGUgY29udGVudCBkb2N1bWVudCB0
byByZWNhbGN1bGF0ZSBpdHMgU3R5bGVSZXNvbHZlci4KICAgICAgICAgaWYgKGNvbnRlbnREb2N1
bWVudCgpKQogICAgICAgICAgICAgY29udGVudERvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXJDaGFu
Z2VkKERlZmVyUmVjYWxjU3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCmluZGV4IDgxYzM3ZmYzN2NmMDQ0MzhhNjNiNWI5ZjZhMzU2N2IzY2I0
MTkxODguLmJlNzIyZGMxMTA0Yjc5NjZkZWM4ZWI4ZWYwNWM5NjgzNjZjODEyMzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTEyODAsNyAr
MTI4MCwxMCBAQCB2b2lkIENTUERpcmVjdGl2ZUxpc3Q6OmFwcGx5U2FuZGJveFBvbGljeShjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc2FuZAogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIG1faGF2ZVNhbmRib3hQb2xpY3kgPSB0cnVlOwotICAgIG1fcG9saWN5LT5lbmZvcmNl
U2FuZGJveEZsYWdzKFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHNhbmRib3hQ
b2xpY3kpKTsKKyAgICBTdHJpbmcgaW52YWxpZFRva2VuczsKKyAgICBtX3BvbGljeS0+ZW5mb3Jj
ZVNhbmRib3hGbGFncyhTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShzYW5kYm94
UG9saWN5LCBpbnZhbGlkVG9rZW5zKSk7CisgICAgaWYgKCFpbnZhbGlkVG9rZW5zLmlzTnVsbCgp
KQorICAgICAgICBtX3BvbGljeS0+cmVwb3J0SW52YWxpZFNhbmRib3hGbGFncyhpbnZhbGlkVG9r
ZW5zKTsKIH0KIAogdm9pZCBDU1BEaXJlY3RpdmVMaXN0OjphZGREaXJlY3RpdmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtMTY1NCw2ICsxNjU3LDExIEBAIHZv
aWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRJbnZhbGlkUGx1Z2luVHlwZXMoY29uc3Qg
U3RyaW5nJiBwbHVnaW5UeXBlKSBjCiAgICAgbG9nVG9Db25zb2xlKG1lc3NhZ2UpOwogfQogCit2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZFNhbmRib3hGbGFncyhjb25z
dCBTdHJpbmcmIGludmFsaWRGbGFncykgY29uc3QKK3sKKyAgICBsb2dUb0NvbnNvbGUoIkVycm9y
IHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICIgKyBpbnZhbGlkRmxhZ3MpOworfQorCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6cmVwb3J0SW52YWxpZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyKGNvbnN0IFN0cmluZyYgZGly
ZWN0aXZlTmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAgICBTdHJpbmcgbWVz
c2FnZSA9IG1ha2VTdHJpbmcoIlRoZSB2YWx1ZSBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
ZGlyZWN0aXZlICciLCBkaXJlY3RpdmVOYW1lLCAiJyBjb250YWlucyBhbiBpbnZhbGlkIGNoYXJh
Y3RlcjogJyIsIHZhbHVlLCAiJy4gTm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVycyBvdXRzaWRlIEFT
Q0lJIDB4MjEtMHg3RSBtdXN0IGJlIHBlcmNlbnQtZW5jb2RlZCwgYXMgZGVzY3JpYmVkIGluIFJG
QyAzOTg2LCBzZWN0aW9uIDIuMTogaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNz
ZWN0aW9uLTIuMS4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNl
Y3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5oCmluZGV4IGYwOWQ5ZTYzOWZjMGI5NDRmYTg3Zjc1MGJkOGRlNTZjNmJlYzM2ZTkuLmQyY2Yz
YjU0MGJmNGZiZTY2ZGQ2NjY2YTcwNzNlZmYyYzBkMGZlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaApAQCAtMTA3LDYgKzEwNyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJlcG9ydEludmFsaWRQYXRoQ2hhcmFjdGVyKGNvbnN0IFN0cmluZyYgZGlyZWN0
aXZlTmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgY29uc3QgY2hhcikgY29uc3Q7CiAgICAgdm9p
ZCByZXBvcnRJbnZhbGlkTm9uY2UoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCByZXBv
cnRJbnZhbGlkUGx1Z2luVHlwZXMoY29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgdm9pZCByZXBv
cnRJbnZhbGlkU2FuZGJveEZsYWdzKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVw
b3J0SW52YWxpZFNvdXJjZUV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBj
b25zdCBTdHJpbmcmIHNvdXJjZSkgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRVbnN1cHBvcnRlZERp
cmVjdGl2ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2b2lkIHJlcG9ydFZpb2xhdGlvbihj
b25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2Us
IGNvbnN0IEtVUkwmIGJsb2NrZWRVUkwsIGNvbnN0IFZlY3RvcjxLVVJMPiYgcmVwb3J0VVJJcywg
Y29uc3QgU3RyaW5nJiBoZWFkZXIsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9IFN0cmluZygp
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpPcmRpbmFsTnVt
YmVyOjpiZWZvcmVGaXJzdCgpLCBTY3JpcHRTdGF0ZSogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiY2Jl
MDFhZjhmOTM1MTRhMzNhNzUwNzc5Y2IwOGQ0OTlkNDM5M2MwLi44YzUyYWMxMWZkYmNjMzY1NWJm
ODYzNGM3NGE3YzFjYTEwMDdmNjgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTEtMTIg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZSBzaG91bGQgdHJp
Z2dlciBhIGNvbnNvbGUgd2FybmluZyB3aGVuIHdlIGVuY291bnRlciBpbnZhbGlkIHNhbmRib3gg
ZmxhZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDE5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxp
ZC1oZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZh
bGlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW5kYm94ZWQtaWZyYW1lLWludmFsaWQuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTAgIEJydW5v
IGRlIE9saXZlaXJhIEFiaW5hZGVyICA8YnJ1bm8uYWJpbmFkZXJAYmFzeXNrb20uY29tPgogCiAg
ICAgICAgIFtjc3NdIHRleHQtZGVjb3JhdGlvbjpub25lIG5vIGxvbmdlciB2YWxpZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVh
ZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTdjN2M1ZTNiZGU3ZDE5NDY1MmZlMDYwZmUz
OGRjMTExNDkwZDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IEVycm9yIHdoaWxlIHBh
cnNpbmcgdGhlICdzYW5kYm94JyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICdh
bGxvd1NjcmlwdCcgaXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcuCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRi
b3gtaW52YWxpZC1oZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MWUwNzBlZjQ3NDE4MTgyNjgyNGVlNGExMTA4M2ViNGYyMDg5MzU1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NhbmRib3gucGhwP3NhbmRib3g9YWxs
b3dTY3JpcHQiPjwvaWZyYW1lPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1l
LWludmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmN2VlOWRmNzA5ZDk4N2M0NTJhMThk
NGRlZGM1YTUxMTU5ZGE0NDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IEVycm9yIHdoaWxlIHBhcnNpbmcg
dGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICdhbGxvd1NjcmlwdHMnIGlzIGFuIGludmFsaWQgc2Fu
ZGJveCBmbGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBFcnJvciB3aGlsZSBwYXJzaW5n
IHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAnYWxsb3dTY3JpcHRzJywgJ2FsbG93U2FtZU9yaWdp
bicsICdhbGxvd0Zvb2JhcmJsb29wJyBhcmUgaW52YWxpZCBzYW5kYm94IGZsYWdzLgorVGVzdCB0
aGF0IGFuIGlmcmFtZSB3aXRoIGludmFsaWQgc2FuZGJveCBmbGFncyBnZW5lcmF0ZXMgYSByZWxl
dmFudCB3YXJuaW5nLgorCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NGU3OGRkYTEwMzliNzc3MmNkOTczMzJkNDU2YTkxNDZlODdmMmYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFs
aWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCB0aGF0IGFuIGlmcmFtZSB3aXRoIGlu
dmFsaWQgc2FuZGJveCBmbGFncyBnZW5lcmF0ZXMgYSByZWxldmFudCB3YXJuaW5nLjwvcD4KKwor
PGlmcmFtZSBpZD0idGhlRnJhbWUiIHNhbmRib3g9ImFsbG93U2NyaXB0cyI+PC9pZnJhbWU+Cis8
aWZyYW1lIGlkPSJ0aGVGcmFtZTIiIHNhbmRib3g9ImFsbG93U2NyaXB0cyBhbGxvd1NhbWVPcmln
aW4gYWxsb3dGb29iYXJibG9vcCI+PC9pZnJhbWU+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173723</attachid>
            <date>2012-11-12 14:16:58 -0800</date>
            <delta_ts>2012-11-12 14:25:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101956-20121112231500.patch</filename>
            <type>text/plain</type>
            <size>13109</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmYmYzNmZmYzNlNTEz
YWYxOGRjNzhhZjI3MmJlMTc3M2VhMjhkZS4uOTY5MTVhZmUyZDlhZTVjNDk4YzBkYzRjZGYyMWZl
YTM0ZmEyOGI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTEyICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Ugc2hvdWxkIHRyaWdnZXIg
YSBjb25zb2xlIHdhcm5pbmcgd2hlbiB3ZSBlbmNvdW50ZXIgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBkZXZl
bG9wZXIgd2hvIHdyaXRlcyAnPGlmcmFtZSBzYW5kYm94PSJhbGxvd1NjcmlwdHMiPicgcHJvYmFi
bHkgaGFzCisgICAgICAgIHNvbWV0aGluZyBpbiBtaW5kIG90aGVyIHRoYW4gd2hhdCB0aGUgYnJv
d3NlciBpbnRlcnByZXRzLiBJbiB0aGVzZQorICAgICAgICBzaXR1YXRpb25zLCB3ZSBzaG91bGQg
bG9nIGEgY29uc29sZSB3YXJuaW5nIHRoYXQgbm90ZXMgJ2FsbG93U2NyaXB0cycKKyAgICAgICAg
aXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcgKCdhbGxvdy1zY3JpcHRzJyBpcyBwcm9iYWJseSB3
aGF0IHNoZQorICAgICAgICBtZWFudCkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBz
aW1wbGVzdCB0aGluZyBwb3NzaWJsZTogaXQgdGhyb3dzIGEgd2FybmluZyB0aGF0CisgICAgICAg
IGxpc3RzIHRoZSBpbnZhbGlkIGZsYWdzIGVuY291bnRlcmVkIGZvciBzYW5kYm94IGF0dHJpYnV0
ZXMgb24gaWZyYW1lcywKKyAgICAgICAgYW5kIGZvciBzYW5kYm94IENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZXMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQuaHRt
bAorCisgICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSk6CisgICAgICAgICogZG9tL1Nl
Y3VyaXR5Q29udGV4dC5oOgorICAgICAgICAoU2VjdXJpdHlDb250ZXh0KToKKyAgICAgICAgICAg
IEFjY2VwdCBhIG5ldyBvdXQgcGFyYW1ldGVyLCBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlLiBJ
ZiBpbnZhbGlkCisgICAgICAgICAgICB0b2tlbnMgYXJlIGVuY291bnRlcmVkLCBidWlsZCBhbiBl
cnJvciBtZXNzYWdlIHN0cmluZywgYW5kIHBhc3MgaXQKKyAgICAgICAgICAgIGJhY2sgdG8gdGhl
IGNhbGxlciB0aHJvdWdoIHRoaXMgcGFyYW1ldGVyLgorICAgICAgICAqIGh0bWwvSFRNTElGcmFt
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3kpOgor
ICAgICAgICAgICAgV2hlbiBhcHBseWluZyBhIHNhbmRib3ggcG9saWN5LCBwYXNzIGEgc3RyaW5n
IGludG8KKyAgICAgICAgICAgIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5IHRv
IGdyYWIgYW55IGVycm9ycyB0aGF0IG1pZ2h0CisgICAgICAgICAgICBiZSBlbmNvdW50ZXJlZCwg
YW5kIGxvZyBhIHdhcm5pbmcgaW4gdGhhdCBldmVudC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZFNhbmRib3hGbGFncyk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorICAgICAg
ICAgICAgQWRkaW5nIGEgbmV3IG1ldGhvZCB0byByZXBvcnQgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorCiAyMDEyLTExLTEwICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW5jbHVkaW5nIDxDb3JlVGV4dC9Db3JlVGV4dC5oPiBicmVha3MgdGhlIGNocm9taXVtL21h
YyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKaW5kZXggN2U5Zjgz
OTIwYmMwNzFiYWI1MTIyYTU1NzQwYTViYjc4YjFmNmY0Mi4uNmU3Mjg5NTA0NmVmOTE5ZGU3Y2Vk
MjRhZDU2MDA0ZTIzZTgxYWMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3Vy
aXR5Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtODMsNyArODQsNyBAQCB2b2lkIFNlY3VyaXR5Q29udGV4dDo6ZGlkVXBkYXRl
U2VjdXJpdHlPcmlnaW4oKQogICAgIC8vIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMgZnVu
Y3Rpb24gaWYgdGhlIG5lZWQgdG8gZG8gZXh0cmEgd29yayB3aGVuIHRoZSBzZWN1cml0eSBvcmln
aW4gY2hhbmdlcy4KIH0KIAotU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5k
Ym94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQorU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29u
dGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5LCBTdHJpbmcmIGlu
dmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UpCiB7CiAgICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIv
aHRtbDUvdGhlLWlmcmFtZS1lbGVtZW50Lmh0bWwjYXR0ci1pZnJhbWUtc2FuZGJveAogICAgIC8v
IFBhcnNlIHRoZSB1bm9yZGVyZWQgc2V0IG9mIHVuaXF1ZSBzcGFjZS1zZXBhcmF0ZWQgdG9rZW5z
LgpAQCAtOTEsNiArOTIsOCBAQCBTYW5kYm94RmxhZ3MgU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNh
bmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3kpCiAgICAgY29uc3QgVUNoYXIqIGNoYXJh
Y3RlcnMgPSBwb2xpY3kuY2hhcmFjdGVycygpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBvbGlj
eS5sZW5ndGgoKTsKICAgICB1bnNpZ25lZCBzdGFydCA9IDA7CisgICAgdW5zaWduZWQgbnVtYmVy
T2ZUb2tlbkVycm9ycyA9IDA7CisgICAgU3RyaW5nQnVpbGRlciB0b2tlbkVycm9yczsKICAgICB3
aGlsZSAodHJ1ZSkgewogICAgICAgICB3aGlsZSAoc3RhcnQgPCBsZW5ndGggJiYgaXNIVE1MU3Bh
Y2UoY2hhcmFjdGVyc1tzdGFydF0pKQogICAgICAgICAgICAgKytzdGFydDsKQEAgLTExNSwxMCAr
MTE4LDI3IEBAIFNhbmRib3hGbGFncyBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGlj
eShjb25zdCBTdHJpbmcmIHBvbGljeSkKICAgICAgICAgICAgIGZsYWdzICY9IH5TYW5kYm94UG9w
dXBzOwogICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShzYW5kYm94VG9rZW4sICJh
bGxvdy1wb2ludGVyLWxvY2siKSkKICAgICAgICAgICAgIGZsYWdzICY9IH5TYW5kYm94UG9pbnRl
ckxvY2s7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKG51bWJlck9mVG9rZW5FcnJv
cnMpCisgICAgICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kTGl0ZXJhbCgiLCAnIik7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kKCdcJycp
OworICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kKHNhbmRib3hUb2tlbik7CisgICAgICAg
ICAgICB0b2tlbkVycm9ycy5hcHBlbmQoJ1wnJyk7CisgICAgICAgICAgICBudW1iZXJPZlRva2Vu
RXJyb3JzKys7CisgICAgICAgIH0KIAogICAgICAgICBzdGFydCA9IGVuZCArIDE7CiAgICAgfQog
CisgICAgaWYgKG51bWJlck9mVG9rZW5FcnJvcnMpIHsKKyAgICAgICAgaWYgKG51bWJlck9mVG9r
ZW5FcnJvcnMgPiAxKQorICAgICAgICAgICAgdG9rZW5FcnJvcnMuYXBwZW5kTGl0ZXJhbCgiIGFy
ZSBpbnZhbGlkIHNhbmRib3ggZmxhZ3MuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRv
a2VuRXJyb3JzLmFwcGVuZExpdGVyYWwoIiBpcyBhbiBpbnZhbGlkIHNhbmRib3ggZmxhZy4iKTsK
KyAgICAgICAgaW52YWxpZFRva2Vuc0Vycm9yTWVzc2FnZSA9IHRva2VuRXJyb3JzLnRvU3RyaW5n
KCk7CisgICAgfQorCiAgICAgcmV0dXJuIGZsYWdzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJp
dHlDb250ZXh0LmgKaW5kZXggOWNmNDlkMzk4YWEwMjg0MTEyYjAxZWZiMjEyYWIyYzhlMWVjZTgy
YS4uMzcyZmU0ZDBiZTMzOTEwNTJiMjdhZGI5MTAyNjdkOTkxNDcyYTdmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TZWN1cml0eUNvbnRleHQuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgLy8g
ICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5zIGNvbnRlbnQuCiAgICAgdm9pZCBzZXRTZWN1cml0
eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7CiAKLSAgICBzdGF0aWMgU2FuZGJv
eEZsYWdzIHBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSk7CisgICAgc3Rh
dGljIFNhbmRib3hGbGFncyBwYXJzZVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3ks
IFN0cmluZyYgaW52YWxpZFRva2Vuc0Vycm9yTWVzc2FnZSk7CiAKIHByb3RlY3RlZDoKICAgICBT
ZWN1cml0eUNvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElG
cmFtZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5j
cHAKaW5kZXggMGViZTA5NDY5YzZjMDQxMTViZjk4YWI1MDU2ZGViMmNmYTJjOGVhYi4uYWFlMjI3
YzM0Nzg4ZjRlYjEwMmM2OWExMTgwNGIzZjNmMjgzNGRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJl
bmRlcklGcmFtZS5oIgorI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTg1LDkgKzg3LDE0IEBAIHZvaWQgSFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAgICAgICAgICAgZG9jdW1lbnQtPmFkZEV4
dHJhTmFtZWRJdGVtKG5ld05hbWUpOwogICAgICAgICB9CiAgICAgICAgIG1fbmFtZSA9IG5ld05h
bWU7Ci0gICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IHNhbmRib3hBdHRyKQotICAg
ICAgICBzZXRTYW5kYm94RmxhZ3MoYXR0cmlidXRlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBT
ZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShhdHRyaWJ1dGUudmFsdWUoKSkpOwot
ICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gc2VhbWxlc3NBdHRyKSB7CisgICAgfSBl
bHNlIGlmIChhdHRyaWJ1dGUubmFtZSgpID09IHNhbmRib3hBdHRyKSB7CisgICAgICAgIFN0cmlu
ZyBpbnZhbGlkVG9rZW5zOworICAgICAgICBzZXRTYW5kYm94RmxhZ3MoYXR0cmlidXRlLmlzTnVs
bCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShh
dHRyaWJ1dGUudmFsdWUoKSwgaW52YWxpZFRva2VucykpOworICAgICAgICBpZiAoIWludmFsaWRU
b2tlbnMuaXNOdWxsKCkpIHsKKyAgICAgICAgICAgIGludCBsaW5lID0gZG9jdW1lbnQoKS0+c2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyKCkgPyBkb2N1bWVudCgpLT5zY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIoKS0+bGluZU51bWJlcigpLm9uZUJhc2VkSW50KCkgOiAwOworICAgICAgICAgICAgZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94
JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlkVG9rZW5zLCBkb2N1bWVudCgpLT51cmwoKS5zdHJpbmco
KSwgbGluZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0g
c2VhbWxlc3NBdHRyKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1vdmluZyB0
aGUgc2VhbWxlc3MgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50IGRvY3Vt
ZW50IHRvIHJlY2FsY3VsYXRlIGl0cyBTdHlsZVJlc29sdmVyLgogICAgICAgICBpZiAoY29udGVu
dERvY3VtZW50KCkpCiAgICAgICAgICAgICBjb250ZW50RG9jdW1lbnQoKS0+c3R5bGVSZXNvbHZl
ckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggODFjMzdmZjM3Y2YwNDQzOGE2M2I1YjlmNmEzNTY3
YjNjYjQxOTE4OC4uYmU3MjJkYzExMDRiNzk2NmRlYzhlYjhlZjA1Yzk2ODM2NmM4MTIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTI4
MCw3ICsxMjgwLDEwIEBAIHZvaWQgQ1NQRGlyZWN0aXZlTGlzdDo6YXBwbHlTYW5kYm94UG9saWN5
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzYW5kCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgbV9oYXZlU2FuZGJveFBvbGljeSA9IHRydWU7Ci0gICAgbV9wb2xpY3ktPmVu
Zm9yY2VTYW5kYm94RmxhZ3MoU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3koc2Fu
ZGJveFBvbGljeSkpOworICAgIFN0cmluZyBpbnZhbGlkVG9rZW5zOworICAgIG1fcG9saWN5LT5l
bmZvcmNlU2FuZGJveEZsYWdzKFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHNh
bmRib3hQb2xpY3ksIGludmFsaWRUb2tlbnMpKTsKKyAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNO
dWxsKCkpCisgICAgICAgIG1fcG9saWN5LT5yZXBvcnRJbnZhbGlkU2FuZGJveEZsYWdzKGludmFs
aWRUb2tlbnMpOwogfQogCiB2b2lkIENTUERpcmVjdGl2ZUxpc3Q6OmFkZERpcmVjdGl2ZShjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC0xNjU0LDYgKzE2NTcsMTEg
QEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWRQbHVnaW5UeXBlcyhj
b25zdCBTdHJpbmcmIHBsdWdpblR5cGUpIGMKICAgICBsb2dUb0NvbnNvbGUobWVzc2FnZSk7CiB9
CiAKK3ZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRJbnZhbGlkU2FuZGJveEZsYWdz
KGNvbnN0IFN0cmluZyYgaW52YWxpZEZsYWdzKSBjb25zdAoreworICAgIGxvZ1RvQ29uc29sZSgi
RXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IGRpcmVjdGl2ZTogIiArIGludmFsaWRGbGFncyk7Cit9CisKIHZvaWQgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpyZXBvcnRJbnZhbGlkRGlyZWN0aXZlVmFsdWVDaGFyYWN0ZXIoY29uc3QgU3RyaW5n
JiBkaXJlY3RpdmVOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogewogICAgIFN0cmlu
ZyBtZXNzYWdlID0gbWFrZVN0cmluZygiVGhlIHZhbHVlIGZvciBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBkaXJlY3RpdmUgJyIsIGRpcmVjdGl2ZU5hbWUsICInIGNvbnRhaW5zIGFuIGludmFsaWQg
Y2hhcmFjdGVyOiAnIiwgdmFsdWUsICInLiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNp
ZGUgQVNDSUkgMHgyMS0weDdFIG11c3QgYmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQg
aW4gUkZDIDM5ODYsIHNlY3Rpb24gMi4xOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMz
OTg2I3NlY3Rpb24tMi4xLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmgKaW5kZXggZjA5ZDllNjM5ZmMwYjk0NGZhODdmNzUwYmQ4ZGU1NmM2YmVjMzZlOS4u
ZDJjZjNiNTQwYmY0ZmJlNjZkZDY2NjZhNzA3M2VmZjJjMGQwZmU0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC0xMDcsNiArMTA3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcmVwb3J0SW52YWxpZFBhdGhDaGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBk
aXJlY3RpdmVOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBjb25zdCBjaGFyKSBjb25zdDsKICAg
ICB2b2lkIHJlcG9ydEludmFsaWROb25jZShjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2b2lk
IHJlcG9ydEludmFsaWRQbHVnaW5UeXBlcyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lk
IHJlcG9ydEludmFsaWRTYW5kYm94RmxhZ3MoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9p
ZCByZXBvcnRJbnZhbGlkU291cmNlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZU5h
bWUsIGNvbnN0IFN0cmluZyYgc291cmNlKSBjb25zdDsKICAgICB2b2lkIHJlcG9ydFVuc3VwcG9y
dGVkRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0VmlvbGF0
aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVz
c2FnZSwgY29uc3QgS1VSTCYgYmxvY2tlZFVSTCwgY29uc3QgVmVjdG9yPEtVUkw+JiByZXBvcnRV
UklzLCBjb25zdCBTdHJpbmcmIGhlYWRlciwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMID0gU3Ry
aW5nKCksIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUgPSBXVEY6Ok9yZGlu
YWxOdW1iZXI6OmJlZm9yZUZpcnN0KCksIFNjcmlwdFN0YXRlKiA9IDApIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGJjYmUwMWFmOGY5MzUxNGEzM2E3NTA3NzljYjA4ZDQ5OWQ0MzkzYzAuLjhjNTJhYzExZmRiY2Mz
NjU1YmY4NjM0Yzc0YTdjMWNhMTAwN2Y2ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0x
MS0xMiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlIHNob3Vs
ZCB0cmlnZ2VyIGEgY29uc29sZSB3YXJuaW5nIHdoZW4gd2UgZW5jb3VudGVyIGludmFsaWQgc2Fu
ZGJveCBmbGFncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1p
bnZhbGlkLWhlYWRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1l
LWludmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0xMCAg
QnJ1bm8gZGUgT2xpdmVpcmEgQWJpbmFkZXIgIDxicnVuby5hYmluYWRlckBiYXN5c2tvbS5jb20+
CiAKICAgICAgICAgW2Nzc10gdGV4dC1kZWNvcmF0aW9uOm5vbmUgbm8gbG9uZ2VyIHZhbGlkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxp
ZC1oZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5N2M3YzVlM2JkZTdkMTk0NjUyZmUw
NjBmZTM4ZGMxMTE0OTBkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXJyb3Igd2hp
bGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2
ZTogJ2FsbG93U2NyaXB0JyBpcyBhbiBpbnZhbGlkIHNhbmRib3ggZmxhZy4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYxZTA3MGVmNDc0MTgxODI2ODI0ZWU0YTExMDgzZWI0ZjIwODkzNTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLmh0bWwKQEAgLTAsMCArMSw2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJv
eD1hbGxvd1NjcmlwdCI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1p
ZnJhbWUtaW52YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY3ZWU5ZGY3MDlkOTg3YzQ1
MmExOGQ0ZGVkYzVhNTExNTlkYTQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogRXJyb3Igd2hpbGUgcGFy
c2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogJ2FsbG93U2NyaXB0cycgaXMgYW4gaW52YWxp
ZCBzYW5kYm94IGZsYWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IEVycm9yIHdoaWxlIHBh
cnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICdhbGxvd1NjcmlwdHMnLCAnYWxsb3dTYW1l
T3JpZ2luJywgJ2FsbG93Rm9vYmFyYmxvb3AnIGFyZSBpbnZhbGlkIHNhbmRib3ggZmxhZ3MuCitU
ZXN0IHRoYXQgYW4gaWZyYW1lIHdpdGggaW52YWxpZCBzYW5kYm94IGZsYWdzIGdlbmVyYXRlcyBh
IHJlbGV2YW50IHdhcm5pbmcuCisKKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY0ZTc4ZGRhMTAzOWI3NzcyY2Q5NzMzMmQ0NTZhOTE0NmU4N2YyZjMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUt
aW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5UZXN0IHRoYXQgYW4gaWZyYW1lIHdp
dGggaW52YWxpZCBzYW5kYm94IGZsYWdzIGdlbmVyYXRlcyBhIHJlbGV2YW50IHdhcm5pbmcuPC9w
PgorCis8aWZyYW1lIGlkPSJ0aGVGcmFtZSIgc2FuZGJveD0iYWxsb3dTY3JpcHRzIj48L2lmcmFt
ZT4KKzxpZnJhbWUgaWQ9InRoZUZyYW1lMiIgc2FuZGJveD0iYWxsb3dTY3JpcHRzIGFsbG93U2Ft
ZU9yaWdpbiBhbGxvd0Zvb2JhcmJsb29wIj48L2lmcmFtZT4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173729</attachid>
            <date>2012-11-12 14:25:50 -0800</date>
            <delta_ts>2012-11-15 03:56:39 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-101956-20121112232351.patch</filename>
            <type>text/plain</type>
            <size>13101</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmYmYzNmZmYzNlNTEz
YWYxOGRjNzhhZjI3MmJlMTc3M2VhMjhkZS4uNWQyMjA4YzJjYjU3M2E5MTE5YTk5YjhhMWVmZmNi
ZjQ3ZDM4OWRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTEyICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Ugc2hvdWxkIHRyaWdnZXIg
YSBjb25zb2xlIHdhcm5pbmcgd2hlbiB3ZSBlbmNvdW50ZXIgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBBIGRldmVsb3Bl
ciB3aG8gd3JpdGVzICc8aWZyYW1lIHNhbmRib3g9ImFsbG93U2NyaXB0cyI+JyBwcm9iYWJseSBo
YXMKKyAgICAgICAgc29tZXRoaW5nIGluIG1pbmQgb3RoZXIgdGhhbiB3aGF0IHRoZSBicm93c2Vy
IGludGVycHJldHMuIEluIHRoZXNlCisgICAgICAgIHNpdHVhdGlvbnMsIHdlIHNob3VsZCBsb2cg
YSBjb25zb2xlIHdhcm5pbmcgdGhhdCBub3RlcyAnYWxsb3dTY3JpcHRzJworICAgICAgICBpcyBh
biBpbnZhbGlkIHNhbmRib3ggZmxhZyAoJ2FsbG93LXNjcmlwdHMnIGlzIHByb2JhYmx5IHdoYXQg
c2hlCisgICAgICAgIG1lYW50KS4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIHNpbXBs
ZXN0IHRoaW5nIHBvc3NpYmxlOiBpdCB0aHJvd3MgYSB3YXJuaW5nIHRoYXQKKyAgICAgICAgbGlz
dHMgdGhlIGludmFsaWQgZmxhZ3MgZW5jb3VudGVyZWQgZm9yIHNhbmRib3ggYXR0cmlidXRlcyBv
biBpZnJhbWVzLAorICAgICAgICBhbmQgZm9yIHNhbmRib3ggQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgZGlyZWN0aXZlcy4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sCisK
KyAgICAgICAgKiBkb20vU2VjdXJpdHlDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
Y3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KToKKyAgICAgICAgKiBkb20vU2VjdXJp
dHlDb250ZXh0Lmg6CisgICAgICAgIChTZWN1cml0eUNvbnRleHQpOgorICAgICAgICAgICAgQWNj
ZXB0IGEgbmV3IG91dCBwYXJhbWV0ZXIsIGludmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UuIElmIGlu
dmFsaWQKKyAgICAgICAgICAgIHRva2VucyBhcmUgZW5jb3VudGVyZWQsIGJ1aWxkIGFuIGVycm9y
IG1lc3NhZ2Ugc3RyaW5nLCBhbmQgcGFzcyBpdAorICAgICAgICAgICAgYmFjayB0byB0aGUgY2Fs
bGVyIHRocm91Z2ggdGhpcyBwYXJhbWV0ZXIuCisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUpOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFwcGx5U2FuZGJveFBvbGljeSk6CisgICAg
ICAgICAgICBXaGVuIGFwcGx5aW5nIGEgc2FuZGJveCBwb2xpY3ksIHBhc3MgYSBzdHJpbmcgaW50
bworICAgICAgICAgICAgU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3kgdG8gZ3Jh
YiBhbnkgZXJyb3JzIHRoYXQgbWlnaHQKKyAgICAgICAgICAgIGJlIGVuY291bnRlcmVkLCBhbmQg
bG9nIGEgd2FybmluZyBpbiB0aGF0IGV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNl
Y3VyaXR5UG9saWN5OjpyZXBvcnRJbnZhbGlkU2FuZGJveEZsYWdzKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICAg
ICBBZGRpbmcgYSBuZXcgbWV0aG9kIHRvIHJlcG9ydCBpbnZhbGlkIHNhbmRib3ggZmxhZ3MuCisK
IDIwMTItMTEtMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJ
bmNsdWRpbmcgPENvcmVUZXh0L0NvcmVUZXh0Lmg+IGJyZWFrcyB0aGUgY2hyb21pdW0vbWFjIGJ1
aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcAppbmRleCA3ZTlmODM5MjBi
YzA3MWJhYjUxMjJhNTU3NDBhNWJiNzhiMWY2ZjQyLi42ZTcyODk1MDQ2ZWY5MTlkZTdjZWQyNGFk
NTYwMDRlMjNlODFhYzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC04Myw3ICs4NCw3IEBAIHZvaWQgU2VjdXJpdHlDb250ZXh0OjpkaWRVcGRhdGVTZWN1
cml0eU9yaWdpbigpCiAgICAgLy8gU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcyBmdW5jdGlv
biBpZiB0aGUgbmVlZCB0byBkbyBleHRyYSB3b3JrIHdoZW4gdGhlIHNlY3VyaXR5IG9yaWdpbiBj
aGFuZ2VzLgogfQogCi1TYW5kYm94RmxhZ3MgU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQ
b2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3kpCitTYW5kYm94RmxhZ3MgU2VjdXJpdHlDb250ZXh0
OjpwYXJzZVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3ksIFN0cmluZyYgaW52YWxp
ZFRva2Vuc0Vycm9yTWVzc2FnZSkKIHsKICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1s
NS90aGUtaWZyYW1lLWVsZW1lbnQuaHRtbCNhdHRyLWlmcmFtZS1zYW5kYm94CiAgICAgLy8gUGFy
c2UgdGhlIHVub3JkZXJlZCBzZXQgb2YgdW5pcXVlIHNwYWNlLXNlcGFyYXRlZCB0b2tlbnMuCkBA
IC05MSw2ICs5Miw4IEBAIFNhbmRib3hGbGFncyBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJv
eFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKICAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVy
cyA9IHBvbGljeS5jaGFyYWN0ZXJzKCk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gcG9saWN5Lmxl
bmd0aCgpOwogICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKKyAgICB1bnNpZ25lZCBudW1iZXJPZlRv
a2VuRXJyb3JzID0gMDsKKyAgICBTdHJpbmdCdWlsZGVyIHRva2VuRXJyb3JzOwogICAgIHdoaWxl
ICh0cnVlKSB7CiAgICAgICAgIHdoaWxlIChzdGFydCA8IGxlbmd0aCAmJiBpc0hUTUxTcGFjZShj
aGFyYWN0ZXJzW3N0YXJ0XSkpCiAgICAgICAgICAgICArK3N0YXJ0OwpAQCAtMTE1LDEwICsxMTgs
MjcgQEAgU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGNv
bnN0IFN0cmluZyYgcG9saWN5KQogICAgICAgICAgICAgZmxhZ3MgJj0gflNhbmRib3hQb3B1cHM7
CiAgICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHNhbmRib3hUb2tlbiwgImFsbG93
LXBvaW50ZXItbG9jayIpKQogICAgICAgICAgICAgZmxhZ3MgJj0gflNhbmRib3hQb2ludGVyTG9j
azsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobnVtYmVyT2ZUb2tlbkVycm9ycykK
KyAgICAgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmRMaXRlcmFsKCIsICciKTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmQoJ1wnJyk7Cisg
ICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmQoc2FuZGJveFRva2VuKTsKKyAgICAgICAgICAg
IHRva2VuRXJyb3JzLmFwcGVuZCgnXCcnKTsKKyAgICAgICAgICAgIG51bWJlck9mVG9rZW5FcnJv
cnMrKzsKKyAgICAgICAgfQogCiAgICAgICAgIHN0YXJ0ID0gZW5kICsgMTsKICAgICB9CiAKKyAg
ICBpZiAobnVtYmVyT2ZUb2tlbkVycm9ycykgeworICAgICAgICBpZiAobnVtYmVyT2ZUb2tlbkVy
cm9ycyA+IDEpCisgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmRMaXRlcmFsKCIgYXJlIGlu
dmFsaWQgc2FuZGJveCBmbGFncy4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdG9rZW5F
cnJvcnMuYXBwZW5kTGl0ZXJhbCgiIGlzIGFuIGludmFsaWQgc2FuZGJveCBmbGFnLiIpOworICAg
ICAgICBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlID0gdG9rZW5FcnJvcnMudG9TdHJpbmcoKTsK
KyAgICB9CisKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNv
bnRleHQuaAppbmRleCA5Y2Y0OWQzOThhYTAyODQxMTJiMDFlZmIyMTJhYjJjOGUxZWNlODJhLi4z
NzJmZTRkMGJlMzM5MTA1MmIyN2FkYjkxMDI2N2Q5OTE0NzJhN2Y2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NlY3VyaXR5Q29udGV4dC5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICAvLyAgICAg
ICB0aGF0IGFscmVhZHkgY29udGFpbnMgY29udGVudC4KICAgICB2b2lkIHNldFNlY3VyaXR5T3Jp
Z2luKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKIAotICAgIHN0YXRpYyBTYW5kYm94Rmxh
Z3MgcGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KTsKKyAgICBzdGF0aWMg
U2FuZGJveEZsYWdzIHBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSwgU3Ry
aW5nJiBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlKTsKIAogcHJvdGVjdGVkOgogICAgIFNlY3Vy
aXR5Q29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1l
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApp
bmRleCAwZWJlMDk0NjljNmMwNDExNWJmOThhYjUwNTZkZWIyY2ZhMmM4ZWFiLi5hYWUyMjdjMzQ3
ODhmNGViMTAyYzY5YTExODA0YjNmM2YyODM0ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJRnJhbWVFbGVtZW50LmNwcApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVy
SUZyYW1lLmgiCisjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVk
ZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
ODUsOSArODcsMTQgQEAgdm9pZCBIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29u
c3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAgICAgICBkb2N1bWVudC0+YWRkRXh0cmFO
YW1lZEl0ZW0obmV3TmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9uYW1lID0gbmV3TmFtZTsK
LSAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gc2FuZGJveEF0dHIpCi0gICAgICAg
IHNldFNhbmRib3hGbGFncyhhdHRyaWJ1dGUuaXNOdWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3Vy
aXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGF0dHJpYnV0ZS52YWx1ZSgpKSk7Ci0gICAg
ZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBzZWFtbGVzc0F0dHIpIHsKKyAgICB9IGVsc2Ug
aWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gc2FuZGJveEF0dHIpIHsKKyAgICAgICAgU3RyaW5nIGlu
dmFsaWRUb2tlbnM7CisgICAgICAgIHNldFNhbmRib3hGbGFncyhhdHRyaWJ1dGUuaXNOdWxsKCkg
PyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGF0dHJp
YnV0ZS52YWx1ZSgpLCBpbnZhbGlkVG9rZW5zKSk7CisgICAgICAgIGlmICghaW52YWxpZFRva2Vu
cy5pc051bGwoKSkgeworICAgICAgICAgICAgaW50IGxpbmUgPSBkb2N1bWVudCgpLT5zY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIoKSA/IGRvY3VtZW50KCktPnNjcmlwdGFibGVEb2N1bWVudFBhcnNl
cigpLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKSA6IDA7CisgICAgICAgICAgICBkb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0
dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMsIGRvY3VtZW50KCktPnVybCgpLnN0cmluZygpLCBs
aW5lKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBzZWFt
bGVzc0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBz
ZWFtbGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQg
dG8gcmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9j
dW1lbnQoKSkKICAgICAgICAgICAgIGNvbnRlbnREb2N1bWVudCgpLT5zdHlsZVJlc29sdmVyQ2hh
bmdlZChEZWZlclJlY2FsY1N0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNl
Y3VyaXR5UG9saWN5LmNwcAppbmRleCA4MWMzN2ZmMzdjZjA0NDM4YTYzYjViOWY2YTM1NjdiM2Ni
NDE5MTg4Li5iZTcyMmRjMTEwNGI3OTY2ZGVjOGViOGVmMDVjOTY4MzY2YzgxMjMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0xMjgwLDcg
KzEyODAsMTAgQEAgdm9pZCBDU1BEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3koY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHNhbmQKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBtX2hhdmVTYW5kYm94UG9saWN5ID0gdHJ1ZTsKLSAgICBtX3BvbGljeS0+ZW5mb3Jj
ZVNhbmRib3hGbGFncyhTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShzYW5kYm94
UG9saWN5KSk7CisgICAgU3RyaW5nIGludmFsaWRUb2tlbnM7CisgICAgbV9wb2xpY3ktPmVuZm9y
Y2VTYW5kYm94RmxhZ3MoU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3koc2FuZGJv
eFBvbGljeSwgaW52YWxpZFRva2VucykpOworICAgIGlmICghaW52YWxpZFRva2Vucy5pc051bGwo
KSkKKyAgICAgICAgbV9wb2xpY3ktPnJlcG9ydEludmFsaWRTYW5kYm94RmxhZ3MoaW52YWxpZFRv
a2Vucyk7CiB9CiAKIHZvaWQgQ1NQRGlyZWN0aXZlTGlzdDo6YWRkRGlyZWN0aXZlKGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKQEAgLTE2NTQsNiArMTY1NywxMSBAQCB2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZFBsdWdpblR5cGVzKGNvbnN0
IFN0cmluZyYgcGx1Z2luVHlwZSkgYwogICAgIGxvZ1RvQ29uc29sZShtZXNzYWdlKTsKIH0KIAor
dm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWRTYW5kYm94RmxhZ3MoY29u
c3QgU3RyaW5nJiBpbnZhbGlkRmxhZ3MpIGNvbnN0Cit7CisgICAgbG9nVG9Db25zb2xlKCJFcnJv
ciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJveCcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGly
ZWN0aXZlOiAiICsgaW52YWxpZEZsYWdzKTsKK30KKwogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OnJlcG9ydEludmFsaWREaXJlY3RpdmVWYWx1ZUNoYXJhY3Rlcihjb25zdCBTdHJpbmcmIGRp
cmVjdGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgU3RyaW5nIG1l
c3NhZ2UgPSBtYWtlU3RyaW5nKCJUaGUgdmFsdWUgZm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IGRpcmVjdGl2ZSAnIiwgZGlyZWN0aXZlTmFtZSwgIicgY29udGFpbnMgYW4gaW52YWxpZCBjaGFy
YWN0ZXI6ICciLCB2YWx1ZSwgIicuIE5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlcnMgb3V0c2lkZSBB
U0NJSSAweDIxLTB4N0UgbXVzdCBiZSBwZXJjZW50LWVuY29kZWQsIGFzIGRlc2NyaWJlZCBpbiBS
RkMgMzk4Niwgc2VjdGlvbiAyLjE6IGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYj
c2VjdGlvbi0yLjEuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuaAppbmRleCBmMDlkOWU2MzlmYzBiOTQ0ZmE4N2Y3NTBiZDhkZTU2YzZiZWMzNmU5Li5kMmNm
M2I1NDBiZjRmYmU2NmRkNjY2NmE3MDczZWZmMmMwZDBmZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZXBvcnRJbnZhbGlkUGF0aENoYXJhY3Rlcihjb25zdCBTdHJpbmcmIGRpcmVj
dGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGNvbnN0IGNoYXIpIGNvbnN0OwogICAgIHZv
aWQgcmVwb3J0SW52YWxpZE5vbmNlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVw
b3J0SW52YWxpZFBsdWdpblR5cGVzKGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVw
b3J0SW52YWxpZFNhbmRib3hGbGFncyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2b2lkIHJl
cG9ydEludmFsaWRTb3VyY2VFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlTmFtZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2UpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0VW5zdXBwb3J0ZWRE
aXJlY3RpdmUoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24o
Y29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdl
LCBjb25zdCBLVVJMJiBibG9ja2VkVVJMLCBjb25zdCBWZWN0b3I8S1VSTD4mIHJlcG9ydFVSSXMs
IGNvbnN0IFN0cmluZyYgaGVhZGVyLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwgPSBTdHJpbmco
KSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51
bWJlcjo6YmVmb3JlRmlyc3QoKSwgU2NyaXB0U3RhdGUqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmNi
ZTAxYWY4ZjkzNTE0YTMzYTc1MDc3OWNiMDhkNDk5ZDQzOTNjMC4uYzI4Zjc2NWJlNWY1ZWE3M2Zk
NDA0M2ExNGM1YTg3ZWNkMThkODc4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTEy
ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Ugc2hvdWxkIHRy
aWdnZXIgYSBjb25zb2xlIHdhcm5pbmcgd2hlbiB3ZSBlbmNvdW50ZXIgaW52YWxpZCBzYW5kYm94
IGZsYWdzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAxOTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1o
ZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5k
Ym94ZWQtaWZyYW1lLWludmFsaWQuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTAgIEJydW5vIGRl
IE9saXZlaXJhIEFiaW5hZGVyICA8YnJ1bm8uYWJpbmFkZXJAYmFzeXNrb20uY29tPgogCiAgICAg
ICAgIFtjc3NdIHRleHQtZGVjb3JhdGlvbjpub25lIG5vIGxvbmdlciB2YWxpZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c2FuZGJveC1pbnZhbGlkLWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTdjN2M1ZTNiZGU3ZDE5NDY1MmZlMDYwZmUzOGRj
MTExNDkwZDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IEVycm9yIHdoaWxlIHBhcnNp
bmcgdGhlICdzYW5kYm94JyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICdhbGxv
d1NjcmlwdCcgaXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
aW52YWxpZC1oZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MWUwNzBlZjQ3NDE4MTgyNjgyNGVlNGExMTA4M2ViNGYyMDg5MzU1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NhbmRib3gucGhwP3NhbmRib3g9YWxsb3dT
Y3JpcHQiPjwvaWZyYW1lPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWlu
dmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmN2VlOWRmNzA5ZDk4N2M0NTJhMThkNGRl
ZGM1YTUxMTU5ZGE0NDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IEVycm9yIHdoaWxlIHBhcnNpbmcgdGhl
ICdzYW5kYm94JyBhdHRyaWJ1dGU6ICdhbGxvd1NjcmlwdHMnIGlzIGFuIGludmFsaWQgc2FuZGJv
eCBmbGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBFcnJvciB3aGlsZSBwYXJzaW5nIHRo
ZSAnc2FuZGJveCcgYXR0cmlidXRlOiAnYWxsb3dTY3JpcHRzJywgJ2FsbG93U2FtZU9yaWdpbics
ICdhbGxvd0Zvb2JhcmJsb29wJyBhcmUgaW52YWxpZCBzYW5kYm94IGZsYWdzLgorVGVzdCB0aGF0
IGFuIGlmcmFtZSB3aXRoIGludmFsaWQgc2FuZGJveCBmbGFncyBnZW5lcmF0ZXMgYSByZWxldmFu
dCB3YXJuaW5nLgorCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGU3
OGRkYTEwMzliNzc3MmNkOTczMzJkNDU2YTkxNDZlODdmMmYzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQu
aHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCB0aGF0IGFuIGlmcmFtZSB3aXRoIGludmFs
aWQgc2FuZGJveCBmbGFncyBnZW5lcmF0ZXMgYSByZWxldmFudCB3YXJuaW5nLjwvcD4KKworPGlm
cmFtZSBpZD0idGhlRnJhbWUiIHNhbmRib3g9ImFsbG93U2NyaXB0cyI+PC9pZnJhbWU+Cis8aWZy
YW1lIGlkPSJ0aGVGcmFtZTIiIHNhbmRib3g9ImFsbG93U2NyaXB0cyBhbGxvd1NhbWVPcmlnaW4g
YWxsb3dGb29iYXJibG9vcCI+PC9pZnJhbWU+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174398</attachid>
            <date>2012-11-15 03:56:43 -0800</date>
            <delta_ts>2012-11-15 05:05:28 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>bug-101956-20121115125440.patch</filename>
            <type>text/plain</type>
            <size>18321</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQzMzkwODdlNWQzMDM1
ODRkOTEzYjFiMzBmZjg2MWE1YWZmYTAwZS4uZmRlOGUxMjY5OTg5M2RjYjAzNzFjNDEzYmJiZTE3
MjNlZTM5YTk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTE1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Ugc2hvdWxkIHRyaWdnZXIg
YSBjb25zb2xlIHdhcm5pbmcgd2hlbiB3ZSBlbmNvdW50ZXIgaW52YWxpZCBzYW5kYm94IGZsYWdz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBBIGRldmVsb3Bl
ciB3aG8gd3JpdGVzICc8aWZyYW1lIHNhbmRib3g9ImFsbG93U2NyaXB0cyI+JyBwcm9iYWJseSBo
YXMKKyAgICAgICAgc29tZXRoaW5nIGluIG1pbmQgb3RoZXIgdGhhbiB3aGF0IHRoZSBicm93c2Vy
IGludGVycHJldHMuIEluIHRoZXNlCisgICAgICAgIHNpdHVhdGlvbnMsIHdlIHNob3VsZCBsb2cg
YSBjb25zb2xlIHdhcm5pbmcgdGhhdCBub3RlcyAnYWxsb3dTY3JpcHRzJworICAgICAgICBpcyBh
biBpbnZhbGlkIHNhbmRib3ggZmxhZyAoJ2FsbG93LXNjcmlwdHMnIGlzIHByb2JhYmx5IHdoYXQg
c2hlCisgICAgICAgIG1lYW50KS4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIHNpbXBs
ZXN0IHRoaW5nIHBvc3NpYmxlOiBpdCB0aHJvd3MgYSB3YXJuaW5nIHRoYXQKKyAgICAgICAgbGlz
dHMgdGhlIGludmFsaWQgZmxhZ3MgZW5jb3VudGVyZWQgZm9yIHNhbmRib3ggYXR0cmlidXRlcyBv
biBpZnJhbWVzLAorICAgICAgICBhbmQgZm9yIHNhbmRib3ggQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgZGlyZWN0aXZlcy4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC5odG1sCisK
KyAgICAgICAgKiBkb20vU2VjdXJpdHlDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
Y3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KToKKyAgICAgICAgKiBkb20vU2VjdXJp
dHlDb250ZXh0Lmg6CisgICAgICAgIChTZWN1cml0eUNvbnRleHQpOgorICAgICAgICAgICAgQWNj
ZXB0IGEgbmV3IG91dCBwYXJhbWV0ZXIsIGludmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UuIElmIGlu
dmFsaWQKKyAgICAgICAgICAgIHRva2VucyBhcmUgZW5jb3VudGVyZWQsIGJ1aWxkIGFuIGVycm9y
IG1lc3NhZ2Ugc3RyaW5nLCBhbmQgcGFzcyBpdAorICAgICAgICAgICAgYmFjayB0byB0aGUgY2Fs
bGVyIHRocm91Z2ggdGhpcyBwYXJhbWV0ZXIuCisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUpOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFwcGx5U2FuZGJveFBvbGljeSk6CisgICAg
ICAgICAgICBXaGVuIGFwcGx5aW5nIGEgc2FuZGJveCBwb2xpY3ksIHBhc3MgYSBzdHJpbmcgaW50
bworICAgICAgICAgICAgU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3kgdG8gZ3Jh
YiBhbnkgZXJyb3JzIHRoYXQgbWlnaHQKKyAgICAgICAgICAgIGJlIGVuY291bnRlcmVkLCBhbmQg
bG9nIGEgd2FybmluZyBpbiB0aGF0IGV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNl
Y3VyaXR5UG9saWN5OjpyZXBvcnRJbnZhbGlkU2FuZGJveEZsYWdzKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICAg
ICBBZGRpbmcgYSBuZXcgbWV0aG9kIHRvIHJlcG9ydCBpbnZhbGlkIHNhbmRib3ggZmxhZ3MuCisK
IDIwMTItMTEtMTUgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWls
ZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCmluZGV4IDk5MjUyZjY3
MmI2ZDYzODcyNTA3MWNhOTdmMmI4MzJmNDAyNzhhODIuLjM5NjNjNWJkMzA1NjE5MGMzNGJhNTcw
ZWM2YmZiYTc5YmE1MjJkYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0
eUNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1
ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRh
dGlvbi5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC04NCw3ICs4NSw3IEBAIHZvaWQgU2VjdXJpdHlDb250ZXh0OjpkaWRV
cGRhdGVTZWN1cml0eU9yaWdpbigpCiAgICAgLy8gU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhp
cyBmdW5jdGlvbiBpZiB0aGUgbmVlZCB0byBkbyBleHRyYSB3b3JrIHdoZW4gdGhlIHNlY3VyaXR5
IG9yaWdpbiBjaGFuZ2VzLgogfQogCi1TYW5kYm94RmxhZ3MgU2VjdXJpdHlDb250ZXh0OjpwYXJz
ZVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3kpCitTYW5kYm94RmxhZ3MgU2VjdXJp
dHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3ksIFN0cmlu
ZyYgaW52YWxpZFRva2Vuc0Vycm9yTWVzc2FnZSkKIHsKICAgICAvLyBodHRwOi8vd3d3LnczLm9y
Zy9UUi9odG1sNS90aGUtaWZyYW1lLWVsZW1lbnQuaHRtbCNhdHRyLWlmcmFtZS1zYW5kYm94CiAg
ICAgLy8gUGFyc2UgdGhlIHVub3JkZXJlZCBzZXQgb2YgdW5pcXVlIHNwYWNlLXNlcGFyYXRlZCB0
b2tlbnMuCkBAIC05Miw2ICs5Myw4IEBAIFNhbmRib3hGbGFncyBTZWN1cml0eUNvbnRleHQ6OnBh
cnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKICAgICBjb25zdCBVQ2hhciog
Y2hhcmFjdGVycyA9IHBvbGljeS5jaGFyYWN0ZXJzKCk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0g
cG9saWN5Lmxlbmd0aCgpOwogICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKKyAgICB1bnNpZ25lZCBu
dW1iZXJPZlRva2VuRXJyb3JzID0gMDsKKyAgICBTdHJpbmdCdWlsZGVyIHRva2VuRXJyb3JzOwog
ICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIHdoaWxlIChzdGFydCA8IGxlbmd0aCAmJiBpc0hU
TUxTcGFjZShjaGFyYWN0ZXJzW3N0YXJ0XSkpCiAgICAgICAgICAgICArK3N0YXJ0OwpAQCAtMTE2
LDEwICsxMTksMjcgQEAgU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94
UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQogICAgICAgICAgICAgZmxhZ3MgJj0gflNhbmRi
b3hQb3B1cHM7CiAgICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHNhbmRib3hUb2tl
biwgImFsbG93LXBvaW50ZXItbG9jayIpKQogICAgICAgICAgICAgZmxhZ3MgJj0gflNhbmRib3hQ
b2ludGVyTG9jazsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobnVtYmVyT2ZUb2tl
bkVycm9ycykKKyAgICAgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmRMaXRlcmFsKCIsICci
KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmQo
J1wnJyk7CisgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmQoc2FuZGJveFRva2VuKTsKKyAg
ICAgICAgICAgIHRva2VuRXJyb3JzLmFwcGVuZCgnXCcnKTsKKyAgICAgICAgICAgIG51bWJlck9m
VG9rZW5FcnJvcnMrKzsKKyAgICAgICAgfQogCiAgICAgICAgIHN0YXJ0ID0gZW5kICsgMTsKICAg
ICB9CiAKKyAgICBpZiAobnVtYmVyT2ZUb2tlbkVycm9ycykgeworICAgICAgICBpZiAobnVtYmVy
T2ZUb2tlbkVycm9ycyA+IDEpCisgICAgICAgICAgICB0b2tlbkVycm9ycy5hcHBlbmRMaXRlcmFs
KCIgYXJlIGludmFsaWQgc2FuZGJveCBmbGFncy4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdG9rZW5FcnJvcnMuYXBwZW5kTGl0ZXJhbCgiIGlzIGFuIGludmFsaWQgc2FuZGJveCBmbGFn
LiIpOworICAgICAgICBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlID0gdG9rZW5FcnJvcnMudG9T
dHJpbmcoKTsKKyAgICB9CisKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
ZWN1cml0eUNvbnRleHQuaAppbmRleCA3YzA5N2U3ZTk0YjQ0MDk1OTJlYTQzNGNmYTU4ZDZlY2Q3
ZjgwNTYxLi44ZDcxMTA0ZTNiNTE1Yjg5ZDI2MTcyOTRiMzRjNzI3Mzc3OGYzMjZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAg
ICAvLyAgICAgICB0aGF0IGFscmVhZHkgY29udGFpbnMgY29udGVudC4KICAgICB2b2lkIHNldFNl
Y3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKIAotICAgIHN0YXRpYyBT
YW5kYm94RmxhZ3MgcGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KTsKKyAg
ICBzdGF0aWMgU2FuZGJveEZsYWdzIHBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBv
bGljeSwgU3RyaW5nJiBpbnZhbGlkVG9rZW5zRXJyb3JNZXNzYWdlKTsKIAogICAgIHZpcnR1YWwg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKaW5kZXggY2Q3YmNiYjQxMzdhYmU1
MzBkNTE0MjA3M2IzNjJmMjg5NDIyNmNkMS4uYTVmZjZiYTQxMWVmYmZhNWNiODgxYmJjMTQ2NGY0
ZWE5NjdjY2IxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAK
QEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb2Rl
UmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlcklGcmFtZS5oIgorI2luY2x1ZGUg
IlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTg1LDkgKzg3LDE0IEBAIHZvaWQg
SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmli
dXRlKQogICAgICAgICAgICAgZG9jdW1lbnQtPmFkZEV4dHJhTmFtZWRJdGVtKG5ld05hbWUpOwog
ICAgICAgICB9CiAgICAgICAgIG1fbmFtZSA9IG5ld05hbWU7Ci0gICAgfSBlbHNlIGlmIChhdHRy
aWJ1dGUubmFtZSgpID09IHNhbmRib3hBdHRyKQotICAgICAgICBzZXRTYW5kYm94RmxhZ3MoYXR0
cmlidXRlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2Fu
ZGJveFBvbGljeShhdHRyaWJ1dGUudmFsdWUoKSkpOwotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5u
YW1lKCkgPT0gc2VhbWxlc3NBdHRyKSB7CisgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUubmFtZSgp
ID09IHNhbmRib3hBdHRyKSB7CisgICAgICAgIFN0cmluZyBpbnZhbGlkVG9rZW5zOworICAgICAg
ICBzZXRTYW5kYm94RmxhZ3MoYXR0cmlidXRlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1
cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShhdHRyaWJ1dGUudmFsdWUoKSwgaW52YWxp
ZFRva2VucykpOworICAgICAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxsKCkpIHsKKyAgICAg
ICAgICAgIGludCBsaW5lID0gZG9jdW1lbnQoKS0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkg
PyBkb2N1bWVudCgpLT5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKS0+bGluZU51bWJlcigpLm9u
ZUJhc2VkSW50KCkgOiAwOworICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlk
VG9rZW5zLCBkb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSwgbGluZSk7CisgICAgICAgIH0KKyAg
ICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gc2VhbWxlc3NBdHRyKSB7CiAgICAgICAg
IC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1vdmluZyB0aGUgc2VhbWxlc3MgYXR0cmlidXRlLCB3
ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50IGRvY3VtZW50IHRvIHJlY2FsY3VsYXRlIGl0cyBT
dHlsZVJlc29sdmVyLgogICAgICAgICBpZiAoY29udGVudERvY3VtZW50KCkpCiAgICAgICAgICAg
ICBjb250ZW50RG9jdW1lbnQoKS0+c3R5bGVSZXNvbHZlckNoYW5nZWQoRGVmZXJSZWNhbGNTdHls
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5k
ZXggODFjMzdmZjM3Y2YwNDQzOGE2M2I1YjlmNmEzNTY3YjNjYjQxOTE4OC4uYmU3MjJkYzExMDRi
Nzk2NmRlYzhlYjhlZjA1Yzk2ODM2NmM4MTIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTI4MCw3ICsxMjgwLDEwIEBAIHZvaWQgQ1NQ
RGlyZWN0aXZlTGlzdDo6YXBwbHlTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBzYW5kCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9oYXZlU2FuZGJv
eFBvbGljeSA9IHRydWU7Ci0gICAgbV9wb2xpY3ktPmVuZm9yY2VTYW5kYm94RmxhZ3MoU2VjdXJp
dHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3koc2FuZGJveFBvbGljeSkpOworICAgIFN0cmlu
ZyBpbnZhbGlkVG9rZW5zOworICAgIG1fcG9saWN5LT5lbmZvcmNlU2FuZGJveEZsYWdzKFNlY3Vy
aXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHNhbmRib3hQb2xpY3ksIGludmFsaWRUb2tl
bnMpKTsKKyAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxsKCkpCisgICAgICAgIG1fcG9saWN5
LT5yZXBvcnRJbnZhbGlkU2FuZGJveEZsYWdzKGludmFsaWRUb2tlbnMpOwogfQogCiB2b2lkIENT
UERpcmVjdGl2ZUxpc3Q6OmFkZERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdmFsdWUpCkBAIC0xNjU0LDYgKzE2NTcsMTEgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OnJlcG9ydEludmFsaWRQbHVnaW5UeXBlcyhjb25zdCBTdHJpbmcmIHBsdWdpblR5cGUp
IGMKICAgICBsb2dUb0NvbnNvbGUobWVzc2FnZSk7CiB9CiAKK3ZvaWQgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpyZXBvcnRJbnZhbGlkU2FuZGJveEZsYWdzKGNvbnN0IFN0cmluZyYgaW52YWxpZEZs
YWdzKSBjb25zdAoreworICAgIGxvZ1RvQ29uc29sZSgiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUg
J3NhbmRib3gnIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIiArIGludmFsaWRG
bGFncyk7Cit9CisKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRJbnZhbGlkRGly
ZWN0aXZlVmFsdWVDaGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBjb25zdCBT
dHJpbmcmIHZhbHVlKSBjb25zdAogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygi
VGhlIHZhbHVlIGZvciBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJyIsIGRpcmVj
dGl2ZU5hbWUsICInIGNvbnRhaW5zIGFuIGludmFsaWQgY2hhcmFjdGVyOiAnIiwgdmFsdWUsICIn
LiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNpZGUgQVNDSUkgMHgyMS0weDdFIG11c3Qg
YmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQgaW4gUkZDIDM5ODYsIHNlY3Rpb24gMi4x
OiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4xLiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggZjA5ZDllNjM5
ZmMwYjk0NGZhODdmNzUwYmQ4ZGU1NmM2YmVjMzZlOS4uZDJjZjNiNTQwYmY0ZmJlNjZkZDY2NjZh
NzA3M2VmZjJjMGQwZmU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5oCkBAIC0xMDcsNiArMTA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0SW52
YWxpZFBhdGhDaGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBjb25zdCBTdHJp
bmcmIHZhbHVlLCBjb25zdCBjaGFyKSBjb25zdDsKICAgICB2b2lkIHJlcG9ydEludmFsaWROb25j
ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2b2lkIHJlcG9ydEludmFsaWRQbHVnaW5UeXBl
cyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lkIHJlcG9ydEludmFsaWRTYW5kYm94Rmxh
Z3MoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRJbnZhbGlkU291cmNlRXhw
cmVzc2lvbihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgc291cmNl
KSBjb25zdDsKICAgICB2b2lkIHJlcG9ydFVuc3VwcG9ydGVkRGlyZWN0aXZlKGNvbnN0IFN0cmlu
ZyYpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0
aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgS1VSTCYgYmxvY2tl
ZFVSTCwgY29uc3QgVmVjdG9yPEtVUkw+JiByZXBvcnRVUklzLCBjb25zdCBTdHJpbmcmIGhlYWRl
ciwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMID0gU3RyaW5nKCksIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUgPSBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCks
IFNjcmlwdFN0YXRlKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI1NzVmNjI3NTY2MTkzNWUxYThiMTFi
ZDhmNzYxYTRiZmNkYzYxMjAuLjMxYjM2OTU1ZTgwZWQ1NWY5NTJhZTMwOWYwNDAxZmYzZWFjMWU5
NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNSAgTWlrZSBXZXN0ICA8bWt3c3RA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlIHNob3VsZCB0cmlnZ2VyIGEgY29uc29sZSB3YXJu
aW5nIHdoZW4gd2UgZW5jb3VudGVyIGludmFsaWQgc2FuZGJveCBmbGFncy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTk1NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtaW52YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlk
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTE1ICBLcmlzdMOzZiBLb3N6dHnDsyAgPGtrcmlzdG9m
QGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBS
ZWJhc2VsaW5lIGFmdGVyIHIxMzQ2NDkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9zYW5kYm94ZWQtaWZyYW1lLWF0dHJpYnV0ZS1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtYXR0cmlidXRlLXBhcnNpbmct
ZXhwZWN0ZWQudHh0CmluZGV4IGI4ZDY1MDIyNjIwNzE0OGYzOTY0NWJiNGNkY2VhMWFjN2E0MDJi
ZTguLmIxNDczMmMyNTM5OWYwMTRiNjM1ODg4MjBiZjk3MDE3YzAyNDFlNWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtYXR0cmlidXRlLXBhcnNp
bmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1p
ZnJhbWUtYXR0cmlidXRlLXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMTEgQEAKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxMTM6IEVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94
JyBhdHRyaWJ1dGU6ICdGw4PCtnInLCAndmFyJywgJ3ZlcnMsJywgJ2phZycsICdnw4PCtnIsJywg
J0xvdmFyJywgJ2R1JywgJ2VuJywgJ2t5c3MnLCAnbWlnJywgJ2dpdmE7JywgJ0Fya2V0JywgJ2Z1
bGx0JywgJ2phZycsICdib3JkZScsICdza3JpdmEsJywgJ01pbmRyZScsICdoYXInLCAnamFnJywg
J3Nrcml2aXQnLCAnZsODwrZyLicsICdNZW4nLCAnbWFuJywgJ23Dg8Klc3RlJywgJ2jDg8KlbGxh
JywgJ23Dg8KldHRhLCcsICdKYWcnLCAnbWVkJywgJ3ZlcnMsJywgJ21lZCcsICdreXNzYXInLCAn
ZHUuJywgJ0zDg8KldCcsICdtaWcnLCAncsODwqRrbmE6JywgJ0TDg8KkcicsICfDg8KkcicsICdz
anUhJywgJ0VuJywgJ2TDg8KkcnRpbGwnLCAnZGV0JywgJ2fDg8K2cicsICdtaWcnLCAnw4PCpXR0
YS4nLCAnTnVtcm8nLCAnw4PCpXR0YScsICfDg8KkcicsICdmYXRhbCwnLCAnR3Jla2xhbmRzJywg
J3PDg8Klbmdtw4PCtnInLCAndm9ybycsICduaW8sJywgJ09jaCcsICdlbicsICdzdmVuc2snLCAn
ZMODwqRydGlsbCcsICdnw4PCtnInLCAndGlvLicsICfDouKCrOKAnScsICdFbHZhJywgJ3Zhcics
ICdhcG9zdGVsbnMnLCAndGFsLCcsICdUeScsICdqYWcnLCAncsODwqRrbmFyJywgJ2lja2UnLCAn
SnVkYXMsJywgJ0hvbm9tLCcsICdzb20nLCAnaScsICd2w4PCpG5uZXJzJywgJ2xhZycsICdLeXNz
dGUnLCAnZmFsc2t0OycsICdkZXQnLCAnZ8ODwrZyJywgJ2VqJywgJ2phZywnLCAnSGVsc3QnLCAn
bsODwqRyJywgJ3ZhY2tyYScsICdsw4PCpHBwYXInLCAnYmp1ZGFzLicsICdIdXJ1JywgJ3N0w4PC
pXInLCAnbWluJywgJ3LDg8Kka25pbmcnLCAnaMODwqRyPycsICdBZGVydG9uOycsICdkZXQnLCAn
w4PCpHInLCAnZG9jaycsICduw4PCpWdvdC4nLCAnTml0dG9uJywgJ8Oi4oKs4oCdJywgJ3JpbW1l
dCcsICdnw4PCtnInLCAnYmVzdsODwqRyLCcsICdEw4PCpHJmw4PCtnJlJywgJ2phZycsICdmeWxs
ZXInLCAndGpvZ2V0LicsICdTdHJvZmVuJywgJ8ODwqRyJywgJ2VqJywgJ2Z1bGwnLCAnc29tJywg
J2phZywnLCAnSW4nLCAnaScsICdoYW1uZW4nLCAndmlsbCcsICdqYWcnLCAnc3R5cmEsJywgJ0TD
g8KkcmbDg8K2cmUnLCAndGlsbCcsICdnb2RvJywgJ3RhZycsICdEZW5uYScsICdnw4PCpW5nJywg
J21lZCcsICd0anVnb2Z5cmEuJywgJydLeXNzYXJuYScnLCAnKCdUaGUnLCAna2lzc2VzJyksJywg
J0VzYWlhcycsICdUZWduw4PCqXIsJywgJzE3ODItMTg0NicsICdpbnQnLCAnbWFpbih2b2lkKScs
ICd7JywgJ3JldHVybicsICcwOycsICd9JyBhcmUgaW52YWxpZCBzYW5kYm94IGZsYWdzLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDEzMTogRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gn
IGF0dHJpYnV0ZTogJ2FsbG93c2NyaXB0cycgaXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcuCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTM1OiBFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJv
eCcgYXR0cmlidXRlOiAnYWxsb3dzLWNyaXB0cycgaXMgYW4gaW52YWxpZCBzYW5kYm94IGZsYWcu
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM5OiBFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2Fu
ZGJveCcgYXR0cmlidXRlOiAnLWFsbG93LXNjcmlwdHMnIGlzIGFuIGludmFsaWQgc2FuZGJveCBm
bGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MzogRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUg
J3NhbmRib3gnIGF0dHJpYnV0ZTogJ2FsbG93X3NjcmlwdHMnIGlzIGFuIGludmFsaWQgc2FuZGJv
eCBmbGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0NzogRXJyb3Igd2hpbGUgcGFyc2luZyB0
aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogJ2FsbG93U2NyaXB0cycgaXMgYW4gaW52YWxpZCBzYW5k
Ym94IGZsYWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTUxOiBFcnJvciB3aGlsZSBwYXJzaW5n
IHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAnYWFsbG93LXNjcmlwdHMnIGlzIGFuIGludmFsaWQg
c2FuZGJveCBmbGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1NTogRXJyb3Igd2hpbGUgcGFy
c2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogJ2FsbG93LXNjcmlwdHNzJyBpcyBhbiBpbnZh
bGlkIHNhbmRib3ggZmxhZy4KIFRoaXMgdGVzdCBjYXNlIHZlcmlmaWVzIHRoZSBwYXJzaW5nIG9m
IHRoZSBpZnJhbWUgc2FuZGJveCBhdHRyaWJ1dGUuIFR3byBzZXRzIG9mIGlmcmFtZXMgYXJlIHVz
ZWQ6IG9uZSB3aGVyZSBzY3JpcHRpbmcgaXMgYWxsb3dlZCwgYW5kIGFub3RoZXIgb25lIHdoZXJl
IGl0IGlzIGRpc2FsbG93ZWQuIFRoZSB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIGFsbG93ZWQgZnJh
bWVzIGV4ZWN1dGUgc2NyaXB0cyAoYnV0IG90aGVyIHNhbmRib3hlZCBwcm9wZXJ0aWVzIHN0aWxs
IGFwcGx5IC0tIHNwZWNpZmljYWxseSwgZm9ybXMgYXJlIGRpc2FibGVkKSwgYW5kIHRoZSBkaXNh
bGxvd2VkIG9uZXMgZG8gbm90LiBJZiBzdWNjZXNzZnVsIHRoZSB0ZXN0IHByaW50cyAiUEFTUyIu
CiAKICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvc2FuZGJveGVkLWlmcmFtZS1wYXJzaW5nLXNwYWNlLWNoYXJhY3RlcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1wYXJzaW5nLXNwYWNl
LWNoYXJhY3RlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDI4MTc3ZTc0ZDU0Mzk1MzdiMWQ3YzdkYmZm
OTcyOTM5MGJkNjVhMDUuLjQ0NzIzYTQzYWI4ZjE1ZTdiYjdjNTBmZjdiMmMxOTgwZDg4N2JmNTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtcGFy
c2luZy1zcGFjZS1jaGFyYWN0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9zYW5kYm94ZWQtaWZyYW1lLXBhcnNpbmctc3BhY2UtY2hhcmFjdGVycy1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw4IEBACiBBTEVSVDogUEFTUzogRm9ybSBmZWVkIGlzIGEgZGVsaW1p
dGVyLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAn
c2FuZGJveCcgYXR0cmlidXRlOiAnYWxsb3ctc2NyaXB0cwthbGxvdy1mb3JtcycgaXMgYW4gaW52
YWxpZCBzYW5kYm94IGZsYWcuCiBBTEVSVDogUEFTUzogTmV3bGluZSBpcyBhIGRlbGltaXRlci4K
IEFMRVJUOiBQQVNTOiBSZXR1cm4gaXMgYSBkZWxpbWl0ZXIuCitDT05TT0xFIE1FU1NBR0U6IEVy
cm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICdhbGxvdy1zY3JpcHRz
eGFsbG93LWZvcm1zJyBpcyBhbiBpbnZhbGlkIHNhbmRib3ggZmxhZy4KIEFMRVJUOiBQQVNTOiBU
YWIgaXMgYSBkZWxpbWl0ZXIuCiBBTEVSVDogUEFTUzogU3BhY2UgaXMgYSBkZWxpbWl0ZXIgY2hh
cmFjdGVyLgogVGhpcyB0ZXN0cyB3aGV0aGVyIHdlIGNvcnJlY3QgcGFyc2UgdmFyaW91cyBzcGFj
ZSBjaGFyYWN0ZXJzIGluIHRoZSBzYW5kYm94IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
aW52YWxpZC1oZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbnZhbGlkLWhlYWRlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjk3YzdjNWUzYmRlN2QxOTQ2NTJmZTA2MGZlMzhkYzExMTQ5MGQz
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW52YWxpZC1oZWFkZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAn
c2FuZGJveCcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAnYWxsb3dTY3JpcHQn
IGlzIGFuIGludmFsaWQgc2FuZGJveCBmbGFnLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQt
aGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWludmFsaWQtaGVhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFlMDcw
ZWY0NzQxODE4MjY4MjRlZTRhMTEwODNlYjRmMjA4OTM1NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRi
b3gtaW52YWxpZC1oZWFkZXIuaHRtbApAQCAtMCwwICsxLDYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGlmcmFtZSBzcmM9InJlc291cmNlcy9zYW5kYm94LnBocD9zYW5kYm94PWFsbG93U2NyaXB0Ij48
L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjdlZTlkZjcwOWQ5ODdjNDUyYTE4ZDRkZWRjNWE1MTE1
OWRhNDQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zYW5kYm94ZWQtaWZyYW1lLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJv
eCcgYXR0cmlidXRlOiAnYWxsb3dTY3JpcHRzJyBpcyBhbiBpbnZhbGlkIHNhbmRib3ggZmxhZy4K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRi
b3gnIGF0dHJpYnV0ZTogJ2FsbG93U2NyaXB0cycsICdhbGxvd1NhbWVPcmlnaW4nLCAnYWxsb3dG
b29iYXJibG9vcCcgYXJlIGludmFsaWQgc2FuZGJveCBmbGFncy4KK1Rlc3QgdGhhdCBhbiBpZnJh
bWUgd2l0aCBpbnZhbGlkIHNhbmRib3ggZmxhZ3MgZ2VuZXJhdGVzIGEgcmVsZXZhbnQgd2Fybmlu
Zy4KKworIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5k
Ym94ZWQtaWZyYW1lLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRlNzhkZGExMDM5
Yjc3NzJjZDk3MzMyZDQ1NmE5MTQ2ZTg3ZjJmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1pbnZhbGlkLmh0bWwKQEAg
LTAsMCArMSwxNyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorCis8Ym9keT4KKzxwPlRlc3QgdGhhdCBhbiBpZnJhbWUgd2l0aCBpbnZhbGlkIHNhbmRi
b3ggZmxhZ3MgZ2VuZXJhdGVzIGEgcmVsZXZhbnQgd2FybmluZy48L3A+CisKKzxpZnJhbWUgaWQ9
InRoZUZyYW1lIiBzYW5kYm94PSJhbGxvd1NjcmlwdHMiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0i
dGhlRnJhbWUyIiBzYW5kYm94PSJhbGxvd1NjcmlwdHMgYWxsb3dTYW1lT3JpZ2luIGFsbG93Rm9v
YmFyYmxvb3AiPjwvaWZyYW1lPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1p
ZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLWV4
cGVjdGVkLnR4dAppbmRleCBlMDJmMDA2YmYzMjQ1ZTU5MDk4OTQ5ZGRlNzQ0NmM2YWMzNGFjMzY3
Li5iZDIyZTlmZTEzNjc5YjBkZTIwMDdkM2ZkZjlmZWJjODgyNWVhMDM3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hl
ZC1pZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnkt
c2VsZi1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2Fm
ZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgYSBuYXZpZ2F0aW9uIGNoYW5nZSBmb3Ig
ZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3NhbmRib3hlZC1p
ZnJhbWUtZm9ybS10b3AuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mb3JtLXRvcC5odG1sLgot
CiBDT05TT0xFIE1FU1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZlIEphdmFT
Y3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5LXNlbGYuaHRtbCBmcm9tIGZyYW1l
IHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvc2FuZGJv
eGVkLWlmcmFtZS1tb2RpZnktc2VsZi5odG1sLiBUaGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3Mg
aXMgc2FuZGJveGVkIGludG8gYSB1bmlxdWUgb3JpZ2luLgogCiBUaGlzIGlzIGEgInNhbml0eSIg
dGVzdCBjYXNlIHRvIHZlcmlmeSB0aGF0IGEgc2FuZGJveGVkIGZyYW1lIGNhbm5vdCBicmVhayBv
dXQgb2YgaXRzIHNhbmRib3ggYnkgbW9kaWZ5aW5nIGl0cyBvd24gc2FuZGJveCBhdHRyaWJ1dGUu
IFR3byBhdHRlbXB0cyBhcmUgbWFkZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>