<?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>19937</bug_id>
          
          <creation_ts>2008-07-07 16:36:58 -0700</creation_ts>
          <short_desc>Add beforeprint and afterprint events</short_desc>
          <delta_ts>2022-02-11 11:33:57 -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>Printing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>196478</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Calvin Anderson">anderson.calvin1</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>benwells</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bob.net2005</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgriego</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric</cc>
    
    <cc>hartman.wiki</cc>
    
    <cc>marcoos+bwo</cc>
    
    <cc>martin.hejral</cc>
    
    <cc>mathias</cc>
    
    <cc>rshimazu</cc>
    
    <cc>sam</cc>
    
    <cc>tj.vantoll</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zvika</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>85404</commentid>
    <comment_count>0</comment_count>
    <who name="Calvin Anderson">anderson.calvin1</who>
    <bug_when>2008-07-07 16:36:58 -0700</bug_when>
    <thetext>I. Steps:
 -----------
 
 Documentation for onbeforeprint and onafterprint events: 
 
 onbeforeprint:  http://msdn2.microsoft.com/en-us/library/ms536906(VS.85).aspx
 onafterprint:  http://msdn2.microsoft.com/en-us/library/ms536788(VS.85).aspx
 
 
 
 
 
 II. Issue:
 -----------------
 Safari doesnot support onbeforeprint and onafterprint events
 
 
 
 III. Other browsers:
 -----------------------
 IE7 : ok
 FF3 : not working
 Opera 9.27: not working
 
 IV. Safari nightly tested: version 3.1.1(525.17 )- r34388
 
 Not working properly on Safari.
 
 
 
 V. Safari screenshot : Not Avalible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85414</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-07-07 17:46:59 -0700</bug_when>
    <thetext>&gt;  IV. Safari nightly tested: version 3.1.1(525.17 )- r34388

Note: You tested a WebKit nightly, not a Safari nightly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516893</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-12-07 13:49:28 -0800</bug_when>
    <thetext>*** Bug 26137 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516896</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-12-07 13:50:46 -0800</bug_when>
    <thetext>*** Bug 73973 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516897</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-12-07 13:51:21 -0800</bug_when>
    <thetext>These are now supported by Firefox, and are in HTML5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517179</commentid>
    <comment_count>5</comment_count>
      <attachid>118328</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-12-07 21:44:05 -0800</bug_when>
    <thetext>Created attachment 118328
Premature upload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517183</commentid>
    <comment_count>6</comment_count>
      <attachid>118330</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-12-07 21:58:00 -0800</bug_when>
    <thetext>Created attachment 118330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517187</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-12-07 22:05:04 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=118330) [details]
&gt; Patch

Alexey commented on bug 73973 (dup of this):

&quot;Looking at the patch, it appears that beforeprint will be only dispatched after switching to printing mode. That seems suspicious.&quot;

Indeed, sending the message with enqueue was not correct for javascript calls to window.print (versus user initiated printing via the browser). The new patch fixes this by using dispatch, so handling the event synchronously.

Handling this deep can cause multiple calls to before/after print. It does for Chromium anyway - once before the print dialog comes up, and once after. The previous patch was an attempt to address that but it only worked with javascript printing.

There are no common single entry points to print mode within WebKit that I&apos;m aware of, so avoiding the multiple calls - if necessary - will require browser specific code to dispatch the events. Unless someone has a better idea.

Tests still not done, so not ready for review yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520644</commentid>
    <comment_count>8</comment_count>
      <attachid>119147</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-12-13 20:34:19 -0800</bug_when>
    <thetext>Created attachment 119147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520648</commentid>
    <comment_count>9</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-12-13 20:43:07 -0800</bug_when>
    <thetext>I&apos;ve added a couple of tests for beforeprint, but I have some questions.

1. I&apos;m not sure of the best way to test afterprint. I couldn&apos;t see a way in layoutTestController to enter then exit printing. Should i add a parameter to setPrinting (true by default) to allow this? Or is there a better way?

2. The results have information about the layout, which I think might cause platform differences. If I don&apos;t call layoutTestController.setPrinting, the layout information isn&apos;t there, just plain text. Is there a way to just have plain text output while printing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528657</commentid>
    <comment_count>10</comment_count>
      <attachid>120911</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-02 20:58:27 -0800</bug_when>
    <thetext>Created attachment 120911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532483</commentid>
    <comment_count>11</comment_count>
      <attachid>120911</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-09 13:26:24 -0800</bug_when>
    <thetext>Comment on attachment 120911
Patch

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

&gt; Source/WebCore/page/PrintContext.cpp:172
&gt; +    m_frame-&gt;document()-&gt;dispatchWindowEvent(Event::create(eventNames().beforeprintEvent, false, false));

Javascript can do anything here, including navigate the frame.  Will that cause badness to happen in the rest of this function (or it&apos;s callers)?

&gt; Source/WebCore/page/PrintContext.cpp:222
&gt; +    m_frame-&gt;document()-&gt;dispatchWindowEvent(Event::create(eventNames().afterprintEvent, false, false));

Same problem, since I believe this is going to execute syncrhonous javascript?  Are callers prepared for that case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540392</commentid>
    <comment_count>12</comment_count>
      <attachid>123522</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-22 22:51:02 -0800</bug_when>
    <thetext>Created attachment 123522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542955</commentid>
    <comment_count>13</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-26 01:34:10 -0800</bug_when>
    <thetext>If someone has time to review this patch it would be great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543670</commentid>
    <comment_count>14</comment_count>
      <attachid>124219</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-26 17:06:52 -0800</bug_when>
    <thetext>Created attachment 124219
With tests for navigation during before and afterprint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545537</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-30 16:04:49 -0800</bug_when>
    <thetext>Do you have answers to my arbitrary javascript questions above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545685</commentid>
    <comment_count>16</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-30 18:15:34 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Do you have answers to my arbitrary javascript questions above?

Sorry I should have been clearer. There is another patch up; I think / hope I&apos;ve updated the code to account for that. I&apos;ve used a guard RefPtr on the frame to prevent it being destroyed.

I&apos;ve also added a couple of tests which navigate away from the page being printed in before and afterprint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545807</commentid>
    <comment_count>17</comment_count>
    <who name="">zvika</who>
    <bug_when>2012-01-30 23:34:03 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; Do you have answers to my arbitrary javascript questions above?
&gt; 
&gt; Sorry I should have been clearer. There is another patch up; I think / hope I&apos;ve updated the code to account for that. I&apos;ve used a guard RefPtr on the frame to prevent it being destroyed.
&gt; 
&gt; I&apos;ve also added a couple of tests which navigate away from the page being printed in before and afterprint.

Does the guard RefPtr only prevent the frame from being closed, or are there additional limitations it introduce on the script?

I am asking because I need the event script to modify the frame DOM by adding some divs and iframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545808</commentid>
    <comment_count>18</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-30 23:36:01 -0800</bug_when>
    <thetext>&gt; Does the guard RefPtr only prevent the frame from being closed, or are there additional limitations it introduce on the script?
&gt; 
&gt; I am asking because I need the event script to modify the frame DOM by adding some divs and iframes.

It simply prevents the frame object (in C++) from being destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545814</commentid>
    <comment_count>19</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-30 23:47:51 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; Do you have answers to my arbitrary javascript questions above?
&gt; 
&gt; Sorry I should have been clearer. There is another patch up; I think / hope I&apos;ve updated the code to account for that. I&apos;ve used a guard RefPtr on the frame to prevent it being destroyed.
&gt; 
&gt; I&apos;ve also added a couple of tests which navigate away from the page being printed in before and afterprint.

Eric: on further reading of your question I noted the &apos;on callers&apos; part. I think there is still a problem here, for example the m_frame in PrintContext could get freed in begin() which would cause bad things to happen when end() is called.

I don&apos;t know why this doesn&apos;t make the tests crash but will look more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546774</commentid>
    <comment_count>20</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-01-31 20:48:44 -0800</bug_when>
    <thetext>A record of some findings so far:

- if the events use window.location to navigate, this gets deferred. Also, this doesn&apos;t cause frames to be destroyed in the simple case.

- if the events use window.close to close a window that has been opened, this gets deferred also (DOMWIndow::close calls chrome()-&gt;closeWindowSoon()) and the frame is destroyed after the printing action has finished

I still need to investigate the non-simple case of iframes navigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554888</commentid>
    <comment_count>21</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-02-12 16:53:55 -0800</bug_when>
    <thetext>Update: with the matchMedia api it is fairly simple to have an afterprint and beforeprint event. This eliminates the need I had for these events, so I am not working on this bug anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646948</commentid>
    <comment_count>22</comment_count>
    <who name="TJ VanToll">tj.vantoll</who>
    <bug_when>2012-06-12 08:06:03 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Update: with the matchMedia api it is fairly simple to have an afterprint and beforeprint event. This eliminates the need I had for these events, so I am not working on this bug anymore.

Ben: What syntax could you use to implement these with the matchMedia API?  I&apos;m having issues getting this working.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647575</commentid>
    <comment_count>23</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2012-06-12 18:41:15 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; Update: with the matchMedia api it is fairly simple to have an afterprint and beforeprint event. This eliminates the need I had for these events, so I am not working on this bug anymore.
&gt; 
&gt; Ben: What syntax could you use to implement these with the matchMedia API?  I&apos;m having issues getting this working.
&gt; 
&gt; Thanks.

There is a working attachment on this chromium bug: http://code.google.com/p/chromium/issues/detail?id=105743.

Let me know if that doesn&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920779</commentid>
    <comment_count>24</comment_count>
    <who name="Ryotaro Shimazu">rshimazu</who>
    <bug_when>2013-08-25 04:21:31 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; There is a working attachment on this chromium bug: http://code.google.com/p/chromium/issues/detail?id=105743.
&gt; 
&gt; Let me know if that doesn&apos;t work.

It basically works with Google Chrome and with Mac Safari but with Android (4.1) stock browser it does not work.
It seems that this is because Android stock browser does not support addListener method?
I am wondering how Android stock browser can detect print event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380616</commentid>
    <comment_count>25</comment_count>
    <who name="Derk-Jan Hartman">hartman.wiki</who>
    <bug_when>2017-12-12 02:55:04 -0800</bug_when>
    <thetext>As a note, Chrome added support for this in version v63</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390890</commentid>
    <comment_count>26</comment_count>
    <who name="MH">martin.hejral</who>
    <bug_when>2018-01-19 05:32:37 -0800</bug_when>
    <thetext>it looks like Safari-Webkit is the last big browser that does not have this

PLEASE is there any chance of shifting-upgrading?

-

Browser compatibility:

Chrome	Edge	Firefox (Gecko)	Internet Explorer

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onafterprint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786980</commentid>
    <comment_count>27</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-24 16:00:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/82314326&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840469</commentid>
    <comment_count>28</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-11 11:33:57 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 196478 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118328</attachid>
            <date>2011-12-07 21:44:05 -0800</date>
            <delta_ts>2011-12-07 21:50:28 -0800</delta_ts>
            <desc>Premature upload</desc>
            <filename>bug-19937-20111208164302.patch</filename>
            <type>text/plain</type>
            <size>7842</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVmZWExMzU0NGFlZmU2
MTZkZmZlNjQwZGNiNjAxNjA2MmJkNTk3OS4uNDQ5OGY4MjA2Njg4YmZmMGU0ZjJmYjc3MTVkODgw
MTJlOGVjMzZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTA3ICBCZW4g
V2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9yZXByaW50
IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmlu
dCBldmVudHMuIFRoZXNlIGV2ZW50cworICAgICAgICBmaXJlZCBzeW5jaHJvbm91c2x5IHRvIGFs
bG93IHBhZ2VzIHRvIGNoYW5nZSwgYWRkIG9yIHJlbW92ZSBjb250ZW50CisgICAgICAgIGZvciBw
cmludGluZy4gVGhlc2UgZXZlbnRzIGRvIG5vdCBwcm9wb2dhdGUgb3IgYnViYmxlLCBhbmQgYXJl
CisgICAgICAgIHN1cHBvcnRlZCBvbiB0aGUgYm9keSBlbGVtZW50IGFuZCB0aGUgd2luZG93LiBJ
ZiB0aGUgd2luZG93IGhhcworICAgICAgICBhbiBldmVudCwgYW5kIHRoZSBib2R5IGRvZXMgdG9v
LCBvbmx5IHRoZSBib2R5IGV2ZW50IGlzIGNhbGxlZC4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IChPT1BTISkKKworICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZSk6CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxCb2R5RWxlbWVudC5pZGw6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lOjpwcmludCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTEtMTItMDYgIEFsZXhhbmRyZSBFbGlh
cyAgPGFlbGlhc0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQXBwbHkgc2VudCBk
ZWx0YXMgb24gZmluaXNoQ29tbWl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCBkM2NmM2Zk
YzlkNmI3OTBjMWM2OTUxMDhhYTk3ZjliNTdlNjEwODI3Li5iY2Y2MTBhYmJkOTFjYjMyOGI1NTRk
MDJhMjIwM2VmNDMxOGRlNzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTMyLDEwICsz
MiwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZGVmaW5lIERPTV9FVkVOVF9OQU1FU19GT1Jf
RUFDSChtYWNybykgXAogICAgIFwKICAgICBtYWNybyhhYm9ydCkgXAorICAgIG1hY3JvKGFmdGVy
cHJpbnQpIFwKICAgICBtYWNybyhiZWZvcmVjb3B5KSBcCiAgICAgbWFjcm8oYmVmb3JlY3V0KSBc
CiAgICAgbWFjcm8oYmVmb3JlbG9hZCkgXAogICAgIG1hY3JvKGJlZm9yZXBhc3RlKSBcCisgICAg
bWFjcm8oYmVmb3JlcHJpbnQpIFwKICAgICBtYWNybyhiZWZvcmV1bmxvYWQpIFwKICAgICBtYWNy
byhibG9ja2VkKSBcCiAgICAgbWFjcm8oYmx1cikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgppbmRleCA5YzBhYmM3NzUxMTM1YzdkMmRiYjVmZTYzNGYwMWYzMTZi
ZWI1OWU2Li45ZmQyNTA1YjI5ODhkOWEyNmY0MThkYWY3YmFiOGU2MWM3M2QyYjk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMTYyLDEwICsxNjIsMTIg
QEAgbm92YWxpZGF0ZQogbm93cmFwCiBvYmplY3QKIG9uYWJvcnQKK29uYWZ0ZXJwcmludAogb25i
ZWZvcmVjb3B5CiBvbmJlZm9yZWN1dAogb25iZWZvcmVsb2FkCiBvbmJlZm9yZXBhc3RlCitvbmJl
Zm9yZXByaW50CiBvbmJlZm9yZXVubG9hZAogb25ibHVyCiBvbmNhbnBsYXkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAppbmRleCA2NTU4ZDQ2ZDY0MjY5OGI4MTliYjdjNTI3
ODk5NDI2Yzc4OTZhYTBmLi4yMTY5ZTEwZDk4OGZmN2MwMzEyMDhkODM3NTBhMGJiNmQyNjIzMTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCkBAIC0xNTgsNiArMTU4
LDEwIEBAIHZvaWQgSFRNTEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqIGF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLm9ubGluZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gb25vZmZsaW5lQXR0cikKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkub2ZmbGluZUV2ZW50LCBjcmVhdGVBdHRyaWJ1
dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKKyAgICBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gb25iZWZvcmVwcmludEF0dHIpCisgICAgICAgIGRvY3VtZW50KCkt
PnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmJlZm9yZXByaW50
RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwg
YXR0cikpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmFmdGVycHJpbnRBdHRyKQor
ICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5hZnRlcnByaW50RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9j
dW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlF
bGVtZW50LmgKaW5kZXggNWM2MzI2NDljNmIwYWNiODYzY2NiZjk0NDdiNWE4YjY1ZmFiOTYwMy4u
YWNkNGNmYWM1YTAxNDllYTNiNmM5ODQ0MTRkMDhiNWMwMTBhMjNiMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCb2R5RWxlbWVudC5oCkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKICAgICBERUZJ
TkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihmb2N1cyk7CiAgICAgREVGSU5FX1dJ
TkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9hZCk7CiAKKyAgICBERUZJTkVfV0lORE9X
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhZnRlcnByaW50KTsKKyAgICBERUZJTkVfV0lORE9X
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmVwcmludCk7CiAgICAgREVGSU5FX1dJTkRP
V19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3JldW5sb2FkKTsKICAgICBERUZJTkVfV0lO
RE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihoYXNoY2hhbmdlKTsKICAgICBERUZJTkVfV0lO
RE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJvZHlFbGVtZW50LmlkbAppbmRleCBkNjg1MWQ0OWJkMWQzMDNlOGY3OWY1OWQ2ZWY2Yzdk
MGNiZTA4MmVmLi4wMzBkNmZlYzNhYjBhMGRkN2Y3MDg2YWFmYjljMDc3MWZiZjI2NTg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCkBAIC0zOSw2ICszOSw4IEBAIG1v
ZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0
ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnJlc2l6ZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51
bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnN0b3JhZ2U7CiAgICAgICAg
IGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlzdGVuZXIg
b251bmxvYWQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVu
ZXJdIEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRF
bnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlcHJpbnQ7CiAK
ICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1PUklFTlRBVElPTl9FVkVOVFMsIERvbnRF
bnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ub3JpZW50YXRpb25jaGFu
Z2U7CiAKQEAgLTQ5LDggKzUxLDYgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUg
W0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ubG9hZDsKIAog
ICAgICAgICAvLyBOb3QgaW1wbGVtZW50ZWQgeWV0LgotICAgICAgICAvLyBhdHRyaWJ1dGUgW0Rv
bnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYWZ0ZXJwcmludDsK
LSAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZl
bnRMaXN0ZW5lciBvbmJlZm9yZXByaW50OwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVt
LCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ucmVkbzsKICAgICAgICAgLy8g
YXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBv
bnVuZG87CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCA5NGNkZDljNWZhYWUzYmU5
NDRiZTkxOTE2YmE2OGFmYjY0ODE0YTkwLi4yMjJmM2IwMTZmMjAwMTJiMWM1ZjhkNjJkYzcxNTU4
N2I2YWVjNWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC00MzYsOCArNDM2LDEwIEBAIHZv
aWQgQ2hyb21lOjpzZXRUb29sVGlwKGNvbnN0IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCkKIAogdm9p
ZCBDaHJvbWU6OnByaW50KEZyYW1lKiBmcmFtZSkKIHsKKyAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
ZGlzcGF0Y2hXaW5kb3dFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5iZWZvcmVwcmlu
dEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgaGF2ZSBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIsIGxpa2UgcnVuTW9kYWwoKSBvciBydW5KYXZhU2NyaXB0QWxl
cnQoKSwgYmVjYXN1ZSBpdCdzIG5vIGRpZmZlcmVudCBmcm9tIHRob3NlLgogICAgIG1fY2xpZW50
LT5wcmludChmcmFtZSk7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmRpc3BhdGNoV2luZG93RXZl
bnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWZ0ZXJwcmludEV2ZW50LCBmYWxzZSwgZmFs
c2UpKTsKIH0KIAogdm9pZCBDaHJvbWU6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JG
cmFtZShGcmFtZSogZnJhbWUsIEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCmluZGV4IGI1MDNmNmVjYjU4YzNiOTk0MWZiZmUwYTgyZTIzMWM1ZmNhM2ZmZDYu
LjY3ODY4ZmY5OWM1Y2Q5NjQzZTk0NjI4Yzg0NTllY2Y2ZGRkZTZlZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaApAQCAtMjY5LDYgKzI2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCBkaXNwYXRjaFRpbWVkRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIERvY3Vt
ZW50KiB0YXJnZXQsIGRvdWJsZSogc3RhcnRUaW1lLCBkb3VibGUqIGVuZFRpbWUpOwogCiAgICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOworICAgICAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFmdGVycHJpbnQpOworICAgICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZXByaW50KTsKICAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmV1bmxvYWQpOwogICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGJsdXIpOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGNhbnBsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDIw
OWJmNDM3MzhiOGVmMjdkNjRlYzljMzc2NDU0ZjVlOGE3MzMxMzkuLjBjZGQ3NmVhYmQ3YjFiY2M5
M2E0M2JmNzIxODUyMzA1NzVlMDNmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAg
LTMxNCwxMCArMzE0LDEwIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbnVubG9hZDsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb252
b2x1bWVjaGFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2FpdGluZzsK
KyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OworICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXByaW50OwogCiAgICAgICAgIC8vIE5vdCBp
bXBsZW1lbnRlZCB5ZXQuCi0gICAgICAgIC8vIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWZ0
ZXJwcmludDsKLSAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25iZWZvcmVwcmlu
dDsKICAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25yZWFkeXN0YXRlY2hhbmdl
OwogICAgICAgICAvLyBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlZG87CiAgICAgICAgIC8v
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118330</attachid>
            <date>2011-12-07 21:58:00 -0800</date>
            <delta_ts>2011-12-13 20:34:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-19937-20111208165657.patch</filename>
            <type>text/plain</type>
            <size>8242</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVmZWExMzU0NGFlZmU2
MTZkZmZlNjQwZGNiNjAxNjA2MmJkNTk3OS4uYmQzOTVmZmE1NmFiMjYxNmQxZDIwMjNjYzk5NmMx
ZDEzMTcyOGU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTEyLTA3ICBCZW4g
V2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9yZXByaW50
IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmlu
dCBldmVudHMuIFRoZXNlIGV2ZW50cworICAgICAgICBmaXJlZCBzeW5jaHJvbm91c2x5IHRvIGFs
bG93IHBhZ2VzIHRvIGNoYW5nZSwgYWRkIG9yIHJlbW92ZSBjb250ZW50CisgICAgICAgIGZvciBw
cmludGluZy4gVGhlc2UgZXZlbnRzIGRvIG5vdCBwcm9wb2dhdGUgb3IgYnViYmxlLCBhbmQgYXJl
CisgICAgICAgIHN1cHBvcnRlZCBvbiB0aGUgYm9keSBlbGVtZW50IGFuZCB0aGUgd2luZG93LiBJ
ZiB0aGUgd2luZG93IGhhcworICAgICAgICBhbiBldmVudCwgYW5kIHRoZSBib2R5IGRvZXMgdG9v
LCBvbmx5IHRoZSBib2R5IGV2ZW50IGlzIGNhbGxlZC4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IChPT1BTISkKKworICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZSk6CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxCb2R5RWxlbWVudC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogcGFnZS9QcmludENvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UHJpbnRDb250ZXh0OjpiZWdpbik6CisgICAgICAgIChXZWJDb3Jl
OjpQcmludENvbnRleHQ6OmVuZCk6CisKIDIwMTEtMTItMDYgIEFsZXhhbmRyZSBFbGlhcyAgPGFl
bGlhc0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQXBwbHkgc2VudCBkZWx0YXMg
b24gZmluaXNoQ29tbWl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCBkM2NmM2ZkYzlkNmI3
OTBjMWM2OTUxMDhhYTk3ZjliNTdlNjEwODI3Li5iY2Y2MTBhYmJkOTFjYjMyOGI1NTRkMDJhMjIw
M2VmNDMxOGRlNzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTMyLDEwICszMiwxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZGVmaW5lIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSCht
YWNybykgXAogICAgIFwKICAgICBtYWNybyhhYm9ydCkgXAorICAgIG1hY3JvKGFmdGVycHJpbnQp
IFwKICAgICBtYWNybyhiZWZvcmVjb3B5KSBcCiAgICAgbWFjcm8oYmVmb3JlY3V0KSBcCiAgICAg
bWFjcm8oYmVmb3JlbG9hZCkgXAogICAgIG1hY3JvKGJlZm9yZXBhc3RlKSBcCisgICAgbWFjcm8o
YmVmb3JlcHJpbnQpIFwKICAgICBtYWNybyhiZWZvcmV1bmxvYWQpIFwKICAgICBtYWNybyhibG9j
a2VkKSBcCiAgICAgbWFjcm8oYmx1cikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgppbmRleCA5YzBhYmM3NzUxMTM1YzdkMmRiYjVmZTYzNGYwMWYzMTZiZWI1OWU2
Li45ZmQyNTA1YjI5ODhkOWEyNmY0MThkYWY3YmFiOGU2MWM3M2QyYjk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMTYyLDEwICsxNjIsMTIgQEAgbm92
YWxpZGF0ZQogbm93cmFwCiBvYmplY3QKIG9uYWJvcnQKK29uYWZ0ZXJwcmludAogb25iZWZvcmVj
b3B5CiBvbmJlZm9yZWN1dAogb25iZWZvcmVsb2FkCiBvbmJlZm9yZXBhc3RlCitvbmJlZm9yZXBy
aW50CiBvbmJlZm9yZXVubG9hZAogb25ibHVyCiBvbmNhbnBsYXkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJvZHlFbGVtZW50LmNwcAppbmRleCA2NTU4ZDQ2ZDY0MjY5OGI4MTliYjdjNTI3ODk5NDI2
Yzc4OTZhYTBmLi4yMTY5ZTEwZDk4OGZmN2MwMzEyMDhkODM3NTBhMGJiNmQyNjIzMTFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCkBAIC0xNTgsNiArMTU4LDEwIEBA
IHZvaWQgSFRNTEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0
dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLm9ubGluZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRv
Y3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0g
b25vZmZsaW5lQXR0cikKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZl
bnRMaXN0ZW5lcihldmVudE5hbWVzKCkub2ZmbGluZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKKyAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gb25iZWZvcmVwcmludEF0dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNldFdp
bmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmJlZm9yZXByaW50RXZlbnQs
IGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikp
OworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmFmdGVycHJpbnRBdHRyKQorICAgICAg
ICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS5hZnRlcnByaW50RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQo
KS0+ZnJhbWUoKSwgYXR0cikpOwogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQm9keUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50
LmgKaW5kZXggNWM2MzI2NDljNmIwYWNiODYzY2NiZjk0NDdiNWE4YjY1ZmFiOTYwMy4uYWNkNGNm
YWM1YTAxNDllYTNiNmM5ODQ0MTRkMDhiNWMwMTBhMjNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxCb2R5RWxlbWVudC5oCkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKICAgICBERUZJTkVfV0lO
RE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihmb2N1cyk7CiAgICAgREVGSU5FX1dJTkRPV19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9hZCk7CiAKKyAgICBERUZJTkVfV0lORE9XX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihhZnRlcnByaW50KTsKKyAgICBERUZJTkVfV0lORE9XX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmVwcmludCk7CiAgICAgREVGSU5FX1dJTkRPV19BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3JldW5sb2FkKTsKICAgICBERUZJTkVfV0lORE9XX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihoYXNoY2hhbmdlKTsKICAgICBERUZJTkVfV0lORE9XX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJv
ZHlFbGVtZW50LmlkbAppbmRleCBkNjg1MWQ0OWJkMWQzMDNlOGY3OWY1OWQ2ZWY2YzdkMGNiZTA4
MmVmLi4wMzBkNmZlYzNhYjBhMGRkN2Y3MDg2YWFmYjljMDc3MWZiZjI2NTg4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCkBAIC0zOSw2ICszOSw4IEBAIG1vZHVsZSBo
dG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0g
RXZlbnRMaXN0ZW5lciBvbnJlc2l6ZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgV2lu
ZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnN0b3JhZ2U7CiAgICAgICAgIGF0dHJp
YnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlzdGVuZXIgb251bmxv
YWQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2
ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBX
aW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlcHJpbnQ7CiAKICAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1PUklFTlRBVElPTl9FVkVOVFMsIERvbnRFbnVtLCBX
aW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ub3JpZW50YXRpb25jaGFuZ2U7CiAK
QEAgLTQ5LDggKzUxLDYgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRF
bnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ubG9hZDsKIAogICAgICAg
ICAvLyBOb3QgaW1wbGVtZW50ZWQgeWV0LgotICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVt
LCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYWZ0ZXJwcmludDsKLSAgICAg
ICAgLy8gYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0
ZW5lciBvbmJlZm9yZXByaW50OwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5k
b3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ucmVkbzsKICAgICAgICAgLy8gYXR0cmli
dXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnVuZG87
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGI1MDNmNmVjYjU4YzNiOTk0MWZi
ZmUwYTgyZTIzMWM1ZmNhM2ZmZDYuLjY3ODY4ZmY5OWM1Y2Q5NjQzZTk0NjI4Yzg0NTllY2Y2ZGRk
ZTZlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMjY5LDYgKzI2OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkaXNwYXRjaFRpbWVkRXZlbnQoUGFzc1JlZlB0
cjxFdmVudD4gZXZlbnQsIERvY3VtZW50KiB0YXJnZXQsIGRvdWJsZSogc3RhcnRUaW1lLCBkb3Vi
bGUqIGVuZFRpbWUpOwogCiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
YWJvcnQpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFmdGVycHJp
bnQpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZXByaW50
KTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmV1bmxvYWQp
OwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJsdXIpOwogICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNhbnBsYXkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCmluZGV4IDIwOWJmNDM3MzhiOGVmMjdkNjRlYzljMzc2NDU0ZjVlOGE3MzMx
MzkuLjBjZGQ3NmVhYmQ3YjFiY2M5M2E0M2JmNzIxODUyMzA1NzVlMDNmNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKQEAgLTMxNCwxMCArMzE0LDEwIEBAIG1vZHVsZSB3aW5kb3cgewog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKICAgICAgICAgYXR0cmli
dXRlIEV2ZW50TGlzdGVuZXIgb252b2x1bWVjaGFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ud2FpdGluZzsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25h
ZnRlcnByaW50OworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXByaW50
OwogCiAgICAgICAgIC8vIE5vdCBpbXBsZW1lbnRlZCB5ZXQuCi0gICAgICAgIC8vIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9uYWZ0ZXJwcmludDsKLSAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25iZWZvcmVwcmludDsKICAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25yZWFkeXN0YXRlY2hhbmdlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5l
ciBvbnJlZG87CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcAppbmRleCBhYmI0MTcxMjg0NTQ5NmYzMmIxNmM0
ZGUzZGY3MjU1MGZlYWYwZGU5Li5jYjFhMTRmMjY3NzcwOWU4YThiM2U5ZTEyYjM5NzU0MDIyMmQ0
MmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCkBAIC0xNjksNiArMTY5LDcg
QEAgdm9pZCBQcmludENvbnRleHQ6OmJlZ2luKGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpCiAg
ICAgRmxvYXRTaXplIG1pbkxheW91dFNpemUgPSBtX2ZyYW1lLT5yZXNpemVQYWdlUmVjdHNLZWVw
aW5nUmF0aW8ob3JpZ2luYWxQYWdlU2l6ZSwgRmxvYXRTaXplKHdpZHRoICogcHJpbnRpbmdNaW5p
bXVtU2hyaW5rRmFjdG9yLCBoZWlnaHQgKiBwcmludGluZ01pbmltdW1TaHJpbmtGYWN0b3IpKTsK
IAogICAgIC8vIFRoaXMgY2hhbmdlcyBsYXlvdXQsIHNvIGNhbGxlcnMgbmVlZCB0byBtYWtlIHN1
cmUgdGhhdCB0aGV5IGRvbid0IHBhaW50IHRvIHNjcmVlbiB3aGlsZSBpbiBwcmludGluZyBtb2Rl
LgorICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmRpc3BhdGNoV2luZG93RXZlbnQoRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuYmVmb3JlcHJpbnRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiAgICAg
bV9mcmFtZS0+c2V0UHJpbnRpbmcodHJ1ZSwgbWluTGF5b3V0U2l6ZSwgb3JpZ2luYWxQYWdlU2l6
ZSwgcHJpbnRpbmdNYXhpbXVtU2hyaW5rRmFjdG9yIC8gcHJpbnRpbmdNaW5pbXVtU2hyaW5rRmFj
dG9yLCBBZGp1c3RWaWV3U2l6ZSk7CiB9CiAKQEAgLTIxOCw2ICsyMTksNyBAQCB2b2lkIFByaW50
Q29udGV4dDo6ZW5kKCkKIHsKICAgICBBU1NFUlQobV9pc1ByaW50aW5nKTsKICAgICBtX2lzUHJp
bnRpbmcgPSBmYWxzZTsKKyAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5kaXNwYXRjaFdpbmRvd0V2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFmdGVycHJpbnRFdmVudCwgZmFsc2UsIGZh
bHNlKSk7CiAgICAgbV9mcmFtZS0+c2V0UHJpbnRpbmcoZmFsc2UsIEZsb2F0U2l6ZSgpLCBGbG9h
dFNpemUoKSwgMCwgQWRqdXN0Vmlld1NpemUpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119147</attachid>
            <date>2011-12-13 20:34:19 -0800</date>
            <delta_ts>2012-01-02 20:58:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-19937-20111214153416.patch</filename>
            <type>text/plain</type>
            <size>12532</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFiODU5MGU2MDQ0NGZi
NzNjNGFkZDFjNjFkZmUzNWU3ZjBkNTkyYS4uNjMyMGEyYjBhYjkyZGJkM2QxNTJiNDQ3MWZiZTkz
MzcwN2ZkZmFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDExLTEyLTEzICBCZW4g
V2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9yZXByaW50
IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmlu
dCBldmVudHMuIFRoZXNlIGV2ZW50cworICAgICAgICBmaXJlIHN5bmNocm9ub3VzbHkgdG8gYWxs
b3cgcGFnZXMgdG8gY2hhbmdlLCBhZGQsIG9yIHJlbW92ZSBjb250ZW50CisgICAgICAgIGZvciBw
cmludGluZy4gVGhlc2UgZXZlbnRzIGRvIG5vdCBwcm9wb2dhdGUgb3IgYnViYmxlLCBhbmQgYXJl
CisgICAgICAgIHN1cHBvcnRlZCBvbiB0aGUgYm9keSBlbGVtZW50IGFuZCB0aGUgd2luZG93LiBJ
ZiB0aGUgd2luZG93IGhhcworICAgICAgICBhbiBldmVudCwgYW5kIHRoZSBib2R5IGRvZXMgdG9v
LCBvbmx5IHRoZSBib2R5IGV2ZW50IGlzIGNhbGxlZC4KKworICAgICAgICBUZXN0czogcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5odG1sCisgICAgICAgICAgICAgICBwcmlu
dGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRtbAorCisgICAgICAgICogZG9t
L0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAg
ICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Qm9keUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxC
b2R5RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwYWdlL1ByaW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmludENv
bnRleHQ6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlByaW50Q29udGV4dDo6ZW5kKToKKwog
MjAxMS0xMi0xMyAgUm9iaW4gRHVubiAgPHJvYmluQGFsbGR1bm4uY29tPgogCiAgICAgICAgIERv
bid0IG1ha2UgdGhlIGJpdG1hcCB0cmFuc3BhcmVudCB3aGVuIHVzaW5nIHRoZW1lIGRyYXdpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IGQzY2YzZmRjOWQ2Yjc5MGMxYzY5NTEwOGFhOTdm
OWI1N2U2MTA4MjcuLmJjZjYxMGFiYmQ5MWNiMzI4YjU1NGQwMmEyMjAzZWY0MzE4ZGU3NzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMzIsMTAgKzMyLDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCiAgICAgXAog
ICAgIG1hY3JvKGFib3J0KSBcCisgICAgbWFjcm8oYWZ0ZXJwcmludCkgXAogICAgIG1hY3JvKGJl
Zm9yZWNvcHkpIFwKICAgICBtYWNybyhiZWZvcmVjdXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2Fk
KSBcCiAgICAgbWFjcm8oYmVmb3JlcGFzdGUpIFwKKyAgICBtYWNybyhiZWZvcmVwcmludCkgXAog
ICAgIG1hY3JvKGJlZm9yZXVubG9hZCkgXAogICAgIG1hY3JvKGJsb2NrZWQpIFwKICAgICBtYWNy
byhibHVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVO
YW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4
IDljMGFiYzc3NTExMzVjN2QyZGJiNWZlNjM0ZjAxZjMxNmJlYjU5ZTYuLjlmZDI1MDViMjk4OGQ5
YTI2ZjQxOGRhZjdiYWI4ZTYxYzczZDJiOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluCkBAIC0xNjIsMTAgKzE2MiwxMiBAQCBub3ZhbGlkYXRlCiBub3dyYXAK
IG9iamVjdAogb25hYm9ydAorb25hZnRlcnByaW50CiBvbmJlZm9yZWNvcHkKIG9uYmVmb3JlY3V0
CiBvbmJlZm9yZWxvYWQKIG9uYmVmb3JlcGFzdGUKK29uYmVmb3JlcHJpbnQKIG9uYmVmb3JldW5s
b2FkCiBvbmJsdXIKIG9uY2FucGxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQm9keUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQu
Y3BwCmluZGV4IDY1NThkNDZkNjQyNjk4YjgxOWJiN2M1Mjc4OTk0MjZjNzg5NmFhMGYuLjIxNjll
MTBkOTg4ZmY3YzAzMTIwOGQ4Mzc1MGEwYmI2ZDI2MjMxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCb2R5RWxlbWVudC5jcHAKQEAgLTE1OCw2ICsxNTgsMTAgQEAgdm9pZCBIVE1MQm9keUVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICAgICAgICAgZG9j
dW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkub25s
aW5lRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUo
KSwgYXR0cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbm9mZmxpbmVBdHRyKQog
ICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5vZmZsaW5lRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1l
bnQoKS0+ZnJhbWUoKSwgYXR0cikpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmJl
Zm9yZXByaW50QXR0cikKKyAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZl
bnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYmVmb3JlcHJpbnRFdmVudCwgY3JlYXRlQXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CisgICAgZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IG9uYWZ0ZXJwcmludEF0dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNl
dFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmFmdGVycHJpbnRFdmVu
dCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRy
KSk7CiAgICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
YXR0cik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAppbmRleCA1YzYzMjY0
OWM2YjBhY2I4NjNjY2JmOTQ0N2I1YThiNjVmYWI5NjAzLi5hY2Q0Y2ZhYzVhMDE0OWVhM2I2Yzk4
NDQxNGQwOGI1YzAxMGEyM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgK
QEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGZvY3VzKTsKICAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihsb2FkKTsKIAorICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGFmdGVycHJpbnQpOworICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGJlZm9yZXByaW50KTsKICAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihiZWZvcmV1bmxvYWQpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGhhc2hjaGFuZ2UpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKG1lc3NhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCmlu
ZGV4IGQ2ODUxZDQ5YmQxZDMwM2U4Zjc5ZjU5ZDZlZjZjN2QwY2JlMDgyZWYuLjAzMGQ2ZmVjM2Fi
MGEwZGQ3ZjcwODZhYWZiOWMwNzcxZmJmMjY1ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5pZGwKQEAgLTM5LDYgKzM5LDggQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBh
dHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9u
cmVzaXplOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVy
XSBFdmVudExpc3RlbmVyIG9uc3RvcmFnZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwg
V2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKKyAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbmFm
dGVycHJpbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVu
ZXJdIEV2ZW50TGlzdGVuZXIgb25iZWZvcmVwcmludDsKIAogICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPU9SSUVOVEFUSU9OX0VWRU5UUywgRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVu
ZXJdIEV2ZW50TGlzdGVuZXIgb25vcmllbnRhdGlvbmNoYW5nZTsKIApAQCAtNDksOCArNTEsNiBA
QCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50
TGlzdGVuZXJdIEV2ZW50TGlzdGVuZXIgb25sb2FkOwogCiAgICAgICAgIC8vIE5vdCBpbXBsZW1l
bnRlZCB5ZXQuCi0gICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlz
dGVuZXJdIEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OwotICAgICAgICAvLyBhdHRyaWJ1dGUg
W0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlcHJp
bnQ7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJd
IEV2ZW50TGlzdGVuZXIgb25yZWRvOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBX
aW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9udW5kbzsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKaW5kZXggYzNlN2FjNDUzYTc5NTVlZDRhOTdlNDI2NGEyYWQ4YWRjZDEz
NDgyNC4uYmQ4ZmZlYzMzMzc2Nzc3ZjIyYzViZDhhNjNjMjg0YzI3NjE2MWRmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCkBAIC0yNjksNiArMjY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7CiAKICAgICAgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihhYm9ydCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoYWZ0ZXJwcmludCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoYmVmb3JlcHJpbnQpOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGJlZm9yZXVubG9hZCk7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoYmx1cik7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2Fu
cGxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNGFhNWFjMzgwOGViM2U0NzI2
ZTk2OWE4NzY1MWZlNDRlZTc5YzcxZi4uOWU0YzllYTlhNmYxZDMxOTFmOTg4ZTBiMjI4ZTRlYTBm
ZGI0YzAwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzE1LDEwICszMTUsMTAg
QEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9udW5s
b2FkOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnZvbHVtZWNoYW5nZTsKICAg
ICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253YWl0aW5nOworICAgICAgICBhdHRyaWJ1
dGUgRXZlbnRMaXN0ZW5lciBvbmFmdGVycHJpbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExp
c3RlbmVyIG9uYmVmb3JlcHJpbnQ7CiAKICAgICAgICAgLy8gTm90IGltcGxlbWVudGVkIHlldC4K
LSAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OwotICAgICAg
ICAvLyBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXByaW50OwogICAgICAgICAvLyBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAgICAgICAgIC8vIGF0
dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVkbzsKICAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25zaG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCmluZGV4IGFi
YjQxNzEyODQ1NDk2ZjMyYjE2YzRkZTNkZjcyNTUwZmVhZjBkZTkuLmNiMWExNGYyNjc3NzA5ZThh
OGIzZTllMTJiMzk3NTQwMjIyZDQyZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UHJpbnRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5j
cHAKQEAgLTE2OSw2ICsxNjksNyBAQCB2b2lkIFByaW50Q29udGV4dDo6YmVnaW4oZmxvYXQgd2lk
dGgsIGZsb2F0IGhlaWdodCkKICAgICBGbG9hdFNpemUgbWluTGF5b3V0U2l6ZSA9IG1fZnJhbWUt
PnJlc2l6ZVBhZ2VSZWN0c0tlZXBpbmdSYXRpbyhvcmlnaW5hbFBhZ2VTaXplLCBGbG9hdFNpemUo
d2lkdGggKiBwcmludGluZ01pbmltdW1TaHJpbmtGYWN0b3IsIGhlaWdodCAqIHByaW50aW5nTWlu
aW11bVNocmlua0ZhY3RvcikpOwogCiAgICAgLy8gVGhpcyBjaGFuZ2VzIGxheW91dCwgc28gY2Fs
bGVycyBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgZG9uJ3QgcGFpbnQgdG8gc2NyZWVuIHdo
aWxlIGluIHByaW50aW5nIG1vZGUuCisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+ZGlzcGF0Y2hX
aW5kb3dFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5iZWZvcmVwcmludEV2ZW50LCBm
YWxzZSwgZmFsc2UpKTsKICAgICBtX2ZyYW1lLT5zZXRQcmludGluZyh0cnVlLCBtaW5MYXlvdXRT
aXplLCBvcmlnaW5hbFBhZ2VTaXplLCBwcmludGluZ01heGltdW1TaHJpbmtGYWN0b3IgLyBwcmlu
dGluZ01pbmltdW1TaHJpbmtGYWN0b3IsIEFkanVzdFZpZXdTaXplKTsKIH0KIApAQCAtMjE4LDYg
KzIxOSw3IEBAIHZvaWQgUHJpbnRDb250ZXh0OjplbmQoKQogewogICAgIEFTU0VSVChtX2lzUHJp
bnRpbmcpOwogICAgIG1faXNQcmludGluZyA9IGZhbHNlOworICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmRpc3BhdGNoV2luZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWZ0ZXJw
cmludEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAgICBtX2ZyYW1lLT5zZXRQcmludGluZyhmYWxz
ZSwgRmxvYXRTaXplKCksIEZsb2F0U2l6ZSgpLCAwLCBBZGp1c3RWaWV3U2l6ZSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1YTJhNDdhYmI3NWMxM2YyMjVjMDRmMDhjYjAyNzc2YzFjYzAyN2E4Li5hN2ExMTAzZjc0
OTg0ZTRiMjlhOTZmYWU5YjJhZDg1MTk5ZjMzNDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMTItMTMgIEJlbiBXZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBB
ZGQgYmVmb3JlcHJpbnQgYW5kIGFmdGVycHJpbnQgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkzNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50
LWV2ZW50LWJlZm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJp
bnQtYm9keS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcmludGluZy9wcmludC1ldmVudC1iZWZv
cmVwcmludC13aW5kb3cuaHRtbDogQWRkZWQuCisKIDIwMTEtMTItMTMgIFRvbnkgQ2hhbmcgIDx0
b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSb2xsaW5nIG91dCByMTAyNDYxLCBhIGNoYW5n
ZSB0byBhIGxheW91dCB0ZXN0IHRvIHRyeSB0byByZW1vdmUgZmxha2luZXNzIG9uIENocm9taXVt
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50LWV2
ZW50LWJlZm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE0ZWViNTVkYjMyYWMxMzdkZTZhNzgyZjBiNzc2MzQ2MDlkMGJkNmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZl
bnQtYmVmb3JlcHJpbnQtYm9keS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitsYXllciBh
dCAoMCwwKSBzaXplIDEwMDB4NDQKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDEwMDB4NDQK
K2xheWVyIGF0ICgwLDApIHNpemUgMTAwMHg0NAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSAxMDAweDQ0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA5ODR4
MjAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDk4NHgyMAorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMDB4MTkKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAyMDA6ICJUaGlzIHNob3VsZCBhcHBlYXIgaW4gdGhlIHByaW50b3V0
IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQt
ZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9wcmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3ctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE0ZWViNTVkYjMyYWMxMzdkZTZhNzgyZjBiNzc2MzQ2MDlkMGJkNmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJp
bnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgMTAwMHg0NAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
MTAwMHg0NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDQ0CisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDEwMDB4NDQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDk4NHgyMAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgOTg0eDIwCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIwMHgxOQorICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIwMDogIlRoaXMgc2hvdWxkIGFwcGVhciBpbiB0aGUg
cHJpbnRvdXQiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50
LWJlZm9yZXByaW50LWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50
LWJlZm9yZXByaW50LWJvZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTIyZjlhZTRjN2MxNzMwODQ4M2U2
ZWE0YjdmNmNmYTAxZGU5NTNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorICBmdW5jdGlvbiBiZWZvcmVQcmludCgpIHsKKyAgICB2YXIgZWwgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9sZGVyIik7CisgICAgZWwuaW5uZXJIVE1MID0gIlRo
aXMgc2hvdWxkIGFwcGVhciBpbiB0aGUgcHJpbnRvdXQiOworICB9CisKKyAgZnVuY3Rpb24gYWZ0
ZXJQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9sZGVy
Iik7CisgICAgZWwuaW5uZXJIVE1MID0gIlRoaXMgc2hvdWxkIE5PVCBhcHBlYXIgaW4gdGhlIHBy
aW50b3V0IjsKKyAgfSAgCisKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFByaW50aW5nKCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dChmYWxzZSk7CisgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25iZWZvcmVwcmludD0iYmVmb3JlUHJpbnQoKSIgb25hZnRlcnByaW50PSJhZnRlclByaW50
KCkiPgorPHAgaWQ9ImhvbGRlciI+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjU4MWJhN2M3OGZlOWZhZDQ3YWEwMmRhMTA3ODY5ZTY1NTJlMDExCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3Jl
cHJpbnQtd2luZG93Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgIGZ1
bmN0aW9uIGJlZm9yZVByaW50KCkgeworICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJob2xkZXIiKTsKKyAgICBlbC5pbm5lckhUTUwgPSAiVGhpcyBzaG91bGQgYXBwZWFyIGlu
IHRoZSBwcmludG91dCI7CisgIH0KKworICBmdW5jdGlvbiBhZnRlclByaW50KCkgeworICAgIHZh
ciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBlbC5pbm5lckhU
TUwgPSAiVGhpcyBzaG91bGQgTk9UIGFwcGVhciBpbiB0aGUgcHJpbnRvdXQiOworICB9CisKKyAg
d2luZG93Lm9uYmVmb3JlcHJpbnQgPSBiZWZvcmVQcmludDsKKyAgd2luZG93Lm9uYWZ0ZXJwcmlu
dCA9IGFmdGVyUHJpbnQ7CisKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFByaW50aW5nKCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImhvbGRlciI+PC9wPgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120911</attachid>
            <date>2012-01-02 20:58:27 -0800</date>
            <delta_ts>2012-01-22 22:50:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-19937-20120103155825.patch</filename>
            <type>text/plain</type>
            <size>17982</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjczZDE5MTg4Mjg5N2Yx
NGM3MDI5OTk0ODZkMzc0ZDZkMTdiZjk1MS4uNDUzZTIzN2QyMjFjMzAzMGQxYjYyOGM3MTYyNjQy
MmUzOGZjNGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAxLTAyICBCZW4g
V2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9yZXByaW50
IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmlu
dCBldmVudHMuIFRoZXNlIGV2ZW50cworICAgICAgICBmaXJlIHN5bmNocm9ub3VzbHkgdG8gYWxs
b3cgcGFnZXMgdG8gY2hhbmdlLCBhZGQsIG9yIHJlbW92ZSBjb250ZW50CisgICAgICAgIGZvciBw
cmludGluZy4gVGhlc2UgZXZlbnRzIGRvIG5vdCBwcm9wb2dhdGUgb3IgYnViYmxlLCBhbmQgYXJl
CisgICAgICAgIHN1cHBvcnRlZCBvbiB0aGUgYm9keSBlbGVtZW50IGFuZCB0aGUgd2luZG93LiBJ
ZiB0aGUgd2luZG93IGhhcworICAgICAgICBhbiBldmVudCwgYW5kIHRoZSBib2R5IGRvZXMgdG9v
LCBvbmx5IHRoZSBib2R5IGV2ZW50IGlzIGNhbGxlZC4KKworICAgICAgICBUZXN0czogcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5Lmh0bWwKKyAgICAgICAgICAgICAgIHByaW50
aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIHBy
aW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LWJvZHkuaHRtbAorICAgICAgICAgICAgICAg
cHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93Lmh0bWwKKworICAgICAgICAq
IGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46
CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9I
VE1MQm9keUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5pZGw6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6
CisgICAgICAgICogcGFnZS9QcmludENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJp
bnRDb250ZXh0OjpiZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpQcmludENvbnRleHQ6OmVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpQcmludENvbnRleHQ6OnBhZ2VOdW1iZXJGb3JFbGVtZW50KToK
KwogMjAxMi0wMS0wMiAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgRW5hYmxlIHRoZSBbU3VwcGxlbWVudGFsXSBJREwgb24gR1RLL0dPYmplY3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCmluZGV4IGQzY2YzZmRjOWQ2Yjc5MGMxYzY5NTEwOGFhOTdmOWI1N2U2
MTA4MjcuLmJjZjYxMGFiYmQ5MWNiMzI4YjU1NGQwMmEyMjAzZWY0MzE4ZGU3NzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaApAQCAtMzIsMTAgKzMyLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCiAgICAgXAogICAgIG1h
Y3JvKGFib3J0KSBcCisgICAgbWFjcm8oYWZ0ZXJwcmludCkgXAogICAgIG1hY3JvKGJlZm9yZWNv
cHkpIFwKICAgICBtYWNybyhiZWZvcmVjdXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2FkKSBcCiAg
ICAgbWFjcm8oYmVmb3JlcGFzdGUpIFwKKyAgICBtYWNybyhiZWZvcmVwcmludCkgXAogICAgIG1h
Y3JvKGJlZm9yZXVubG9hZCkgXAogICAgIG1hY3JvKGJsb2NrZWQpIFwKICAgICBtYWNybyhibHVy
KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDc3NmM1
ZTlkOTEyYWFlZTQ3ODg3ZTdiMjAwMjMwOTZjY2YxN2Y2ZGMuLjZiMTFmOTE3ODYzY2M2ZjQzY2Zj
MmZmOTI2NTcxMzIyZjA1OWIxYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCkBAIC0xNjIsMTAgKzE2MiwxMiBAQCBub3ZhbGlkYXRlCiBub3dyYXAKIG9iamVj
dAogb25hYm9ydAorb25hZnRlcnByaW50CiBvbmJlZm9yZWNvcHkKIG9uYmVmb3JlY3V0CiBvbmJl
Zm9yZWxvYWQKIG9uYmVmb3JlcGFzdGUKK29uYmVmb3JlcHJpbnQKIG9uYmVmb3JldW5sb2FkCiBv
bmJsdXIKIG9uY2FucGxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCmlu
ZGV4IDY1NThkNDZkNjQyNjk4YjgxOWJiN2M1Mjc4OTk0MjZjNzg5NmFhMGYuLjIxNjllMTBkOTg4
ZmY3YzAzMTIwOGQ4Mzc1MGEwYmI2ZDI2MjMxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5jcHAKQEAgLTE1OCw2ICsxNTgsMTAgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICAgICAgICAgZG9jdW1lbnQo
KS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkub25saW5lRXZl
bnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0
cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbm9mZmxpbmVBdHRyKQogICAgICAg
ICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS5vZmZsaW5lRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+
ZnJhbWUoKSwgYXR0cikpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmJlZm9yZXBy
aW50QXR0cikKKyAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuYmVmb3JlcHJpbnRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IG9uYWZ0ZXJwcmludEF0dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRv
d0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmFmdGVycHJpbnRFdmVudCwgY3Jl
YXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAg
ICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAppbmRleCA1YzYzMjY0OWM2YjBh
Y2I4NjNjY2JmOTQ0N2I1YThiNjVmYWI5NjAzLi5hY2Q0Y2ZhYzVhMDE0OWVhM2I2Yzk4NDQxNGQw
OGI1YzAxMGEyM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgKQEAgLTUz
LDYgKzUzLDggQEAgcHVibGljOgogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGZvY3VzKTsKICAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihsb2FkKTsKIAorICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFm
dGVycHJpbnQpOworICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJl
Zm9yZXByaW50KTsKICAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihi
ZWZvcmV1bmxvYWQpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGhhc2hjaGFuZ2UpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KG1lc3NhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCmluZGV4IGQ2
ODUxZDQ5YmQxZDMwM2U4Zjc5ZjU5ZDZlZjZjN2QwY2JlMDgyZWYuLjAzMGQ2ZmVjM2FiMGEwZGQ3
ZjcwODZhYWZiOWMwNzcxZmJmMjY1ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJvZHlFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxl
bWVudC5pZGwKQEAgLTM5LDYgKzM5LDggQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ucmVzaXpl
OwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVu
dExpc3RlbmVyIG9uc3RvcmFnZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93
RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKKyAgICAgICAgYXR0cmlidXRl
IFtEb250RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbmFmdGVycHJp
bnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2
ZW50TGlzdGVuZXIgb25iZWZvcmVwcmludDsKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPU9SSUVOVEFUSU9OX0VWRU5UUywgRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2
ZW50TGlzdGVuZXIgb25vcmllbnRhdGlvbmNoYW5nZTsKIApAQCAtNDksOCArNTEsNiBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVu
ZXJdIEV2ZW50TGlzdGVuZXIgb25sb2FkOwogCiAgICAgICAgIC8vIE5vdCBpbXBsZW1lbnRlZCB5
ZXQuCi0gICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJd
IEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OwotICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRF
bnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlcHJpbnQ7CiAg
ICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50
TGlzdGVuZXIgb25yZWRvOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dF
dmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9udW5kbzsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKaW5kZXggYzNlN2FjNDUzYTc5NTVlZDRhOTdlNDI2NGEyYWQ4YWRjZDEzNDgyNC4u
YmQ4ZmZlYzMzMzc2Nzc3ZjIyYzViZDhhNjNjMjg0YzI3NjE2MWRmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCkBAIC0yNjksNiArMjY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7CiAKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihhYm9ydCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoYWZ0ZXJwcmludCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoYmVmb3JlcHJpbnQpOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGJlZm9yZXVubG9hZCk7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Ymx1cik7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2FucGxheSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMmVjOGQ2YTViMDVlNTZkYTAxZWMzZDA0
Nzc0YWMyYTYzZDNmOTM2MS4uYjQ1ZTM0YjZkMzgwZDJhOWM2ZDVmOTk4YjNhOTBiMzkyYjI1NWZm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzE1LDEwICszMTUsMTAgQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9udW5sb2FkOwog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnZvbHVtZWNoYW5nZTsKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253YWl0aW5nOworICAgICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbmFmdGVycHJpbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9uYmVmb3JlcHJpbnQ7CiAKICAgICAgICAgLy8gTm90IGltcGxlbWVudGVkIHlldC4KLSAgICAg
ICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OwotICAgICAgICAvLyBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXByaW50OwogICAgICAgICAvLyBhdHRyaWJ1
dGUgRXZlbnRMaXN0ZW5lciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAgICAgICAgIC8vIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9ucmVkbzsKICAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25zaG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCmluZGV4IGFiYjQxNzEy
ODQ1NDk2ZjMyYjE2YzRkZTNkZjcyNTUwZmVhZjBkZTkuLjU1YTYyYmIzZTRmZTBkZWEwZTVmNWZm
ZWZiZmRhOTkxNWJiZjEyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAKQEAg
LTE2OSw2ICsxNjksNyBAQCB2b2lkIFByaW50Q29udGV4dDo6YmVnaW4oZmxvYXQgd2lkdGgsIGZs
b2F0IGhlaWdodCkKICAgICBGbG9hdFNpemUgbWluTGF5b3V0U2l6ZSA9IG1fZnJhbWUtPnJlc2l6
ZVBhZ2VSZWN0c0tlZXBpbmdSYXRpbyhvcmlnaW5hbFBhZ2VTaXplLCBGbG9hdFNpemUod2lkdGgg
KiBwcmludGluZ01pbmltdW1TaHJpbmtGYWN0b3IsIGhlaWdodCAqIHByaW50aW5nTWluaW11bVNo
cmlua0ZhY3RvcikpOwogCiAgICAgLy8gVGhpcyBjaGFuZ2VzIGxheW91dCwgc28gY2FsbGVycyBu
ZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgZG9uJ3QgcGFpbnQgdG8gc2NyZWVuIHdoaWxlIGlu
IHByaW50aW5nIG1vZGUuCisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+ZGlzcGF0Y2hXaW5kb3dF
dmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5iZWZvcmVwcmludEV2ZW50LCBmYWxzZSwg
ZmFsc2UpKTsKICAgICBtX2ZyYW1lLT5zZXRQcmludGluZyh0cnVlLCBtaW5MYXlvdXRTaXplLCBv
cmlnaW5hbFBhZ2VTaXplLCBwcmludGluZ01heGltdW1TaHJpbmtGYWN0b3IgLyBwcmludGluZ01p
bmltdW1TaHJpbmtGYWN0b3IsIEFkanVzdFZpZXdTaXplKTsKIH0KIApAQCAtMjE4LDYgKzIxOSw3
IEBAIHZvaWQgUHJpbnRDb250ZXh0OjplbmQoKQogewogICAgIEFTU0VSVChtX2lzUHJpbnRpbmcp
OwogICAgIG1faXNQcmludGluZyA9IGZhbHNlOworICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmRp
c3BhdGNoV2luZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWZ0ZXJwcmludEV2
ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAgICBtX2ZyYW1lLT5zZXRQcmludGluZyhmYWxzZSwgRmxv
YXRTaXplKCksIEZsb2F0U2l6ZSgpLCAwLCBBZGp1c3RWaWV3U2l6ZSk7CiB9CiAKQEAgLTI0OSwx
NSArMjUxLDIwIEBAIGludCBQcmludENvbnRleHQ6OnBhZ2VOdW1iZXJGb3JFbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpCiAgICAgc2NhbGVkUGFnZVNpemUu
c2NhbGUoZnJhbWUtPnZpZXcoKS0+Y29udGVudHNTaXplKCkud2lkdGgoKSAvIHBhZ2VSZWN0Lndp
ZHRoKCkpOwogICAgIHByaW50Q29udGV4dC5jb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXplKHNj
YWxlZFBhZ2VTaXplLCBmYWxzZSk7CiAKKyAgICBpbnQgcmV0dmFsID0gLTE7CiAgICAgaW50IHRv
cCA9IGJveC0+b2Zmc2V0VG9wKCk7CiAgICAgaW50IGxlZnQgPSBib3gtPm9mZnNldExlZnQoKTsK
ICAgICBzaXplX3QgcGFnZU51bWJlciA9IDA7CiAgICAgZm9yICg7IHBhZ2VOdW1iZXIgPCBwcmlu
dENvbnRleHQucGFnZUNvdW50KCk7IHBhZ2VOdW1iZXIrKykgewogICAgICAgICBjb25zdCBJbnRS
ZWN0JiBwYWdlID0gcHJpbnRDb250ZXh0LnBhZ2VSZWN0KHBhZ2VOdW1iZXIpOwotICAgICAgICBp
ZiAocGFnZS54KCkgPD0gbGVmdCAmJiBsZWZ0IDwgcGFnZS5tYXhYKCkgJiYgcGFnZS55KCkgPD0g
dG9wICYmIHRvcCA8IHBhZ2UubWF4WSgpKQotICAgICAgICAgICAgcmV0dXJuIHBhZ2VOdW1iZXI7
CisgICAgICAgIGlmIChwYWdlLngoKSA8PSBsZWZ0ICYmIGxlZnQgPCBwYWdlLm1heFgoKSAmJiBw
YWdlLnkoKSA8PSB0b3AgJiYgdG9wIDwgcGFnZS5tYXhZKCkpIHsKKyAgICAgICAgICAgIHJldHZh
bCA9IHBhZ2VOdW1iZXI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KLSAg
ICByZXR1cm4gLTE7CisKKyAgICBwcmludENvbnRleHQuZW5kKCk7CisgICAgcmV0dXJuIHJldHZh
bDsKIH0KIAogU3RyaW5nIFByaW50Q29udGV4dDo6cGFnZVByb3BlcnR5KEZyYW1lKiBmcmFtZSwg
Y29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBpbnQgcGFnZU51bWJlcikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMWE1YzJm
ZjZmOTlhOTI0MzY2MDQ2NzUzMmQ5ODc2OTdhODJiN2UwLi43NzIwNmIxNmMwYTg4NjVhYzFmNDFj
M2I5M2U5NmM5MWFmNWU0Mjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDEtMDIgIEJl
biBXZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYmVmb3JlcHJp
bnQgYW5kIGFmdGVycHJpbnQgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTkzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9y
ZXByaW50LWJvZHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
cHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmlu
dC1ib2R5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVy
cHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJp
bnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
cmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRtbDogQWRkZWQuCisKIDIw
MTItMDEtMDIgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTM0MwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50LWV2ZW50LWJl
Zm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3By
aW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzOTZhNDRlYzg3YTNlY2NkZjliYjQ1YzU5ZjdmMzc2NzM5ZTI1MTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVm
b3JlcHJpbnQtYm9keS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxMDAweDg4CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxMDAweDg4CitsYXll
ciBhdCAoMCwwKSBzaXplIDEwMDB4ODgKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgMTAwMHg4OAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDk4NHg1Ngor
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgOTg0eDIwCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ0OXgxOQorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQ0OTogIlRoZSB0ZXh0IGluIHRoZSBuZXh0IHBhcmFncmFwaCBzaG91bGQg
YmUgcmVwbGFjZWQgYnkgdGhlIGJlZm9yZVByaW50IGV2ZW50LiIKKyAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwzNikgc2l6ZSA5ODR4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTg3eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTg3
OiAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuIgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9wcmludGluZy9wcmludC1l
dmVudC1iZWZvcmVwcmludC13aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzOTZhNDRl
Yzg3YTNlY2NkZjliYjQ1YzU5ZjdmMzc2NzM5ZTI1MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2lu
ZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDEw
MDB4ODgKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDEwMDB4ODgKK2xheWVyIGF0ICgwLDAp
IHNpemUgMTAwMHg4OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxMDAweDg4
CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgOTg0eDU2CisgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA5ODR4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgNDQ5eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNDQ5OiAiVGhlIHRleHQgaW4gdGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBiZSByZXBsYWNl
ZCBieSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDM2KSBzaXplIDk4NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxODd4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODc6ICJSZXBsYWNl
ZCBieSBiZWZvcmVQcmludCBldmVudC4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50
aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtYm9keS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LWJvZHktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQzM2EwMjNlZTcwYzg3MTc0MGUyZmI1YmY5MTdhZDUwMTI0YzFhMTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LWJv
ZHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhlIG5leHQgcGFyYWdyYXBoIHNob3Vs
ZCBjb250YWluIHRoZSBpbml0aWFsIHRleHQsIHRleHQgYWRkZWQgYnkgdGhlIGJlZm9yZVByaW50
IGV2ZW50LCBhbmQgdGV4dCBhZGRlZCBieSB0aGUgYWZ0ZXJQcmludCBldmVudC4KKworSW5pdGlh
bCB0ZXh0LiBBZGRlZCBieSBiZWZvcmVQcmludCBldmVudC4gQWRkZWQgYnkgYWZ0ZXJQcmludCBl
dmVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVy
cHJpbnQtYm9keS5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJw
cmludC1ib2R5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM0ZDUxNjViMGYyNGU0ZmRjZTIyM2MyM2EyYzc3
MDQ2NDVjNDM2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50
LWV2ZW50LWFmdGVycHJpbnQtYm9keS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGJlZm9yZVByaW50KCkg
eworICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBl
bC5pbm5lckhUTUwgKz0gIkFkZGVkIGJ5IGJlZm9yZVByaW50IGV2ZW50LiAiOworICB9CisKKyAg
ZnVuY3Rpb24gYWZ0ZXJQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9sZGVyIik7CisgICAgZWwuaW5uZXJIVE1MICs9ICJBZGRlZCBieSBhZnRlclByaW50
IGV2ZW50LiAiOworICB9CisKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmJlZm9yZXByaW50PSJiZWZvcmVQcmludCgpIiBvbmFmdGVycHJpbnQ9
ImFmdGVyUHJpbnQoKSI+Cis8cD5UaGUgbmV4dCBwYXJhZ3JhcGggc2hvdWxkIGNvbnRhaW4gdGhl
IGluaXRpYWwgdGV4dCwgdGV4dCBhZGRlZCBieSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQsIGFuZCB0
ZXh0IGFkZGVkIGJ5IHRoZSBhZnRlclByaW50IGV2ZW50LjwvcD4KKzxwIGlkPSJob2xkZXIiPklu
aXRpYWwgdGV4dC4gPC9wPgorPHNjcmlwdD4KKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIC8vIFRoaXMgd2lsbCBjYXVzZSBwcmludCBtb2RlIHRvIGJlIGVudGVyZWQg
YW5kIGV4aXRlZC4KKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5wYWdlTnVtYmVyRm9yRWxlbWVu
dEJ5SWQoJ2hvbGRlcicpOworICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJp
bnQtd2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzNhMDIzZWU3MGM4NzE3NDBlMmZi
NWJmOTE3YWQ1MDEyNGMxYTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorVGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBjb250YWluIHRoZSBpbml0aWFsIHRleHQs
IHRleHQgYWRkZWQgYnkgdGhlIGJlZm9yZVByaW50IGV2ZW50LCBhbmQgdGV4dCBhZGRlZCBieSB0
aGUgYWZ0ZXJQcmludCBldmVudC4KKworSW5pdGlhbCB0ZXh0LiBBZGRlZCBieSBiZWZvcmVQcmlu
dCBldmVudC4gQWRkZWQgYnkgYWZ0ZXJQcmludCBldmVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEyMjZhMjNhMmJmYjA5YTVlMWNhNmIyMDdmYjgxODQwYjk5NTliYjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRv
dy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGJlZm9yZVByaW50KCkgeworICAgIHZhciBlbCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBlbC5pbm5lckhUTUwgKz0gIkFkZGVk
IGJ5IGJlZm9yZVByaW50IGV2ZW50LiAiOworICB9CisKKyAgZnVuY3Rpb24gYWZ0ZXJQcmludCgp
IHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9sZGVyIik7CisgICAg
ZWwuaW5uZXJIVE1MICs9ICJBZGRlZCBieSBhZnRlclByaW50IGV2ZW50LiAiOworICB9CisKKyAg
d2luZG93Lm9uYmVmb3JlcHJpbnQgPSBiZWZvcmVQcmludDsKKyAgd2luZG93Lm9uYWZ0ZXJwcmlu
dCA9IGFmdGVyUHJpbnQ7CisKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoZSBuZXh0IHBhcmFncmFwaCBzaG91bGQgY29udGFpbiB0aGUg
aW5pdGlhbCB0ZXh0LCB0ZXh0IGFkZGVkIGJ5IHRoZSBiZWZvcmVQcmludCBldmVudCwgYW5kIHRl
eHQgYWRkZWQgYnkgdGhlIGFmdGVyUHJpbnQgZXZlbnQuPC9wPgorPHAgaWQ9ImhvbGRlciI+SW5p
dGlhbCB0ZXh0LiA8L3A+Cis8c2NyaXB0PgorICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgLy8gVGhpcyB3aWxsIGNhdXNlIHByaW50IG1vZGUgdG8gYmUgZW50ZXJlZCBh
bmQgZXhpdGVkLgorICAgIGxheW91dFRlc3RDb250cm9sbGVyLnBhZ2VOdW1iZXJGb3JFbGVtZW50
QnlJZCgnaG9sZGVyJyk7CisgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5o
dG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM1N2Q1NWRmMzYyZmJhYzBmYmUzZGVhZjZkZDVlMDc0YTRkOTVhM2YK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1iZWZv
cmVwcmludC1ib2R5Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgZnVuY3Rpb24gYmVmb3JlUHJpbnQoKSB7CisgICAgdmFy
IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvbGRlciIpOworICAgIGVsLmlubmVySFRN
TCA9ICJSZXBsYWNlZCBieSBiZWZvcmVQcmludCBldmVudC4iOworICB9CisKKyAgZnVuY3Rpb24g
YWZ0ZXJQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9s
ZGVyIik7CisgICAgZWwuaW5uZXJIVE1MID0gIlJlcGxhY2VkIGJ5IGFmdGVyUHJpbnQgZXZlbnQu
IjsKKyAgfQorCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRQcmludGluZygpOworICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmJlZm9yZXBy
aW50PSJiZWZvcmVQcmludCgpIiBvbmFmdGVycHJpbnQ9ImFmdGVyUHJpbnQoKSI+Cis8cD5UaGUg
dGV4dCBpbiB0aGUgbmV4dCBwYXJhZ3JhcGggc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IHRoZSBiZWZv
cmVQcmludCBldmVudC48L3A+Cis8cCBpZD0iaG9sZGVyIj5BbHJlYWR5IGluIHRoZSBob2xkZXIs
IHNob3VsZCBiZSByZXBsYWNlZC48L3A+Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LXdp
bmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQt
d2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUyODY2NjQzNjlkYjMxMDJiYjViNmFlOWQxMGVjMjMw
MWQ2YjVkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2
ZW50LWJlZm9yZXByaW50LXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGJlZm9yZVByaW50KCkg
eworICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBl
bC5pbm5lckhUTUwgPSAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuIjsKKyAgfQorCisg
IGZ1bmN0aW9uIGFmdGVyUHJpbnQoKSB7CisgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImhvbGRlciIpOworICAgIGVsLmlubmVySFRNTCA9ICJSZXBsYWNlZCBieSBhZnRlclBy
aW50IGV2ZW50LiI7CisgIH0KKworICB3aW5kb3cub25iZWZvcmVwcmludCA9IGJlZm9yZVByaW50
OworICB3aW5kb3cub25hZnRlcnByaW50ID0gYWZ0ZXJQcmludDsKKworICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0UHJpbnRp
bmcoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGUgdGV4dCBpbiB0aGUgbmV4dCBwYXJhZ3JhcGgg
c2hvdWxkIGJlIHJlcGxhY2VkIGJ5IHRoZSBiZWZvcmVQcmludCBldmVudC48L3A+Cis8cCBpZD0i
aG9sZGVyIj5BbHJlYWR5IGluIHRoZSBob2xkZXIsIHNob3VsZCBiZSByZXBsYWNlZC48L3A+Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123522</attachid>
            <date>2012-01-22 22:51:02 -0800</date>
            <delta_ts>2012-01-26 17:06:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-19937-20120123175100.patch</filename>
            <type>text/plain</type>
            <size>18859</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZiNDI0ZDk3NmNhYzcw
YTU2NTQ0NzIxYTEwZWE4ODMxOTM2OWU0Yy4uZGQ3ZWVjOTU0YjAxOWI2ZDEyNjJhNzFhMDlkMjM4
ZTgxNzJlNDJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAxLTIyICBCZW4g
V2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9yZXByaW50
IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmlu
dCBldmVudHMuIFRoZXNlIGV2ZW50cworICAgICAgICBmaXJlIHN5bmNocm9ub3VzbHkgdG8gYWxs
b3cgcGFnZXMgdG8gY2hhbmdlLCBhZGQsIG9yIHJlbW92ZSBjb250ZW50CisgICAgICAgIGZvciBw
cmludGluZy4gVGhlc2UgZXZlbnRzIGRvIG5vdCBwcm9wb2dhdGUgb3IgYnViYmxlLCBhbmQgYXJl
CisgICAgICAgIHN1cHBvcnRlZCBvbiB0aGUgYm9keSBlbGVtZW50IGFuZCB0aGUgd2luZG93LiBJ
ZiB0aGUgd2luZG93IGhhcworICAgICAgICBhbiBldmVudCwgYW5kIHRoZSBib2R5IGRvZXMgdG9v
LCBvbmx5IHRoZSBib2R5IGV2ZW50IGlzIGNhbGxlZC4KKworICAgICAgICBUZXN0czogcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5Lmh0bWwKKyAgICAgICAgICAgICAgIHByaW50
aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIHBy
aW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LWJvZHkuaHRtbAorICAgICAgICAgICAgICAg
cHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2luZG93Lmh0bWwKKworICAgICAgICAq
IGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46
CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEJvZHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9I
VE1MQm9keUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5pZGw6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6
CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0
UHJpbnRpbmcpOgorCiAyMDEyLTAxLTIyICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBVEsgdGV4dC1jYXJldC1tb3ZlZCBhbmQgdGV4
dC1zZWxlY3Rpb24tY2hhbmdlZCBldmVudHMgbm90IGJlaW5nIGVtaXR0ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCmluZGV4IGRhMThiMjk1MWJhN2Q0OTM1NGQ0ZWE3Mjk4M2ZmNGI5NmMxM2M5OTgu
LjkxZWQyYTljMDVhODQzOTYwZjAxNDIyNTU5YjQ0ZTUzOThiNzVkMjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaApAQCAtMzIsMTAgKzMyLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNkZWZp
bmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCiAgICAgXAogICAgIG1hY3JvKGFi
b3J0KSBcCisgICAgbWFjcm8oYWZ0ZXJwcmludCkgXAogICAgIG1hY3JvKGJlZm9yZWNvcHkpIFwK
ICAgICBtYWNybyhiZWZvcmVjdXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2FkKSBcCiAgICAgbWFj
cm8oYmVmb3JlcGFzdGUpIFwKKyAgICBtYWNybyhiZWZvcmVwcmludCkgXAogICAgIG1hY3JvKGJl
Zm9yZXVubG9hZCkgXAogICAgIG1hY3JvKGJsb2NrZWQpIFwKICAgICBtYWNybyhibHVyKSBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDYwZDk2ZDUzZDgy
YmU4MWFhMmJiMDUxYzMxOGRiZTViNjg5YjIxMjIuLjhjNzQ3NTE2NmZhZGM5NDk5MWEyOTdhNzU2
MjYzNTE5YjFiNDUyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCkBAIC0xNjIsMTAgKzE2MiwxMiBAQCBub3ZhbGlkYXRlCiBub3dyYXAKIG9iamVjdAogb25h
Ym9ydAorb25hZnRlcnByaW50CiBvbmJlZm9yZWNvcHkKIG9uYmVmb3JlY3V0CiBvbmJlZm9yZWxv
YWQKIG9uYmVmb3JlcGFzdGUKK29uYmVmb3JlcHJpbnQKIG9uYmVmb3JldW5sb2FkCiBvbmJsdXIK
IG9uY2FucGxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCmluZGV4IDY1
NThkNDZkNjQyNjk4YjgxOWJiN2M1Mjc4OTk0MjZjNzg5NmFhMGYuLjIxNjllMTBkOTg4ZmY3YzAz
MTIwOGQ4Mzc1MGEwYmI2ZDI2MjMxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJvZHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxl
bWVudC5jcHAKQEAgLTE1OCw2ICsxNTgsMTAgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0
V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkub25saW5lRXZlbnQsIGNy
ZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwog
ICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbm9mZmxpbmVBdHRyKQogICAgICAgICBkb2N1
bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5vZmZs
aW5lRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUo
KSwgYXR0cikpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmJlZm9yZXByaW50QXR0
cikKKyAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzKCkuYmVmb3JlcHJpbnRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgp
ID09IG9uYWZ0ZXJwcmludEF0dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmFmdGVycHJpbnRFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAgZWxz
ZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAppbmRleCA1YzYzMjY0OWM2YjBhY2I4NjNj
Y2JmOTQ0N2I1YThiNjVmYWI5NjAzLi5hY2Q0Y2ZhYzVhMDE0OWVhM2I2Yzk4NDQxNGQwOGI1YzAx
MGEyM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgKQEAgLTUzLDYgKzUz
LDggQEAgcHVibGljOgogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGZvY3VzKTsKICAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2Fk
KTsKIAorICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFmdGVycHJp
bnQpOworICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZXBy
aW50KTsKICAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmV1
bmxvYWQpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGhhc2hj
aGFuZ2UpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1lc3Nh
Z2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRs
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCmluZGV4IGQ2ODUxZDQ5
YmQxZDMwM2U4Zjc5ZjU5ZDZlZjZjN2QwY2JlMDgyZWYuLjAzMGQ2ZmVjM2FiMGEwZGQ3ZjcwODZh
YWZiOWMwNzcxZmJmMjY1ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJv
ZHlFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5p
ZGwKQEAgLTM5LDYgKzM5LDggQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgW0Rv
bnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9ucmVzaXplOwogICAg
ICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3Rl
bmVyIG9uc3RvcmFnZTsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZlbnRM
aXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bSwgV2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbmFmdGVycHJpbnQ7Cisg
ICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlz
dGVuZXIgb25iZWZvcmVwcmludDsKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU9S
SUVOVEFUSU9OX0VWRU5UUywgRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlz
dGVuZXIgb25vcmllbnRhdGlvbmNoYW5nZTsKIApAQCAtNDksOCArNTEsNiBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2
ZW50TGlzdGVuZXIgb25sb2FkOwogCiAgICAgICAgIC8vIE5vdCBpbXBsZW1lbnRlZCB5ZXQuCi0g
ICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50
TGlzdGVuZXIgb25hZnRlcnByaW50OwotICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBX
aW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlcHJpbnQ7CiAgICAgICAg
IC8vIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlzdGVu
ZXIgb25yZWRvOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExp
c3RlbmVyXSBFdmVudExpc3RlbmVyIG9udW5kbzsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmgKaW5kZXggYjU4NjY4ZTRkMDFiNDkxZjJlNjNiNDMyYmI2MzViMDQ5MTg4OTg1Yy4uNDhjMjkz
N2VjMDlmMWMwNmNiMGNjOTQ3NzcwMjVhNTI3ZjI3ZGQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5oCkBAIC0yNzMsNiArMjczLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IGRpc3BhdGNoTG9hZEV2ZW50KCk7CiAKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihhYm9ydCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
YWZ0ZXJwcmludCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVm
b3JlcHJpbnQpOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9y
ZXVubG9hZCk7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmx1cik7
CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2FucGxheSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMTQyMjhkNzdlNjI0YmQwNjM4YjRkNDAwY2Y2Yzgw
NDY4YTVhYTVkYy4uMmE2NTA4OWMzZDFkNWFjNWEzMTBlYTRkMjdlMTg3NDcwYzM3ZDBmMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMjk1LDEwICsyOTUsMTAgQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9udW5sb2FkOwogICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnZvbHVtZWNoYW5nZTsKICAgICAgICAgYXR0cmli
dXRlIEV2ZW50TGlzdGVuZXIgb253YWl0aW5nOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0
ZW5lciBvbmFmdGVycHJpbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYmVm
b3JlcHJpbnQ7CiAKICAgICAgICAgLy8gTm90IGltcGxlbWVudGVkIHlldC4KLSAgICAgICAgLy8g
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hZnRlcnByaW50OwotICAgICAgICAvLyBhdHRyaWJ1
dGUgRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXByaW50OwogICAgICAgICAvLyBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ucmVkbzsKICAgICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25z
aG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBlMWY1YmNmOTllYTVjYzg4OWEzZmM5ZGRkZDEx
OTUzYWQ0M2M5ODQ5Li5hZTliMjNmMmUzOTAyM2RiMzVmYjFjYzI5NWNhOWE1ODBmZjY5Y2Q4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtNDk0LDYgKzQ5NCwxMSBAQCB2b2lkIEZyYW1lOjpzZXRQ
cmludGluZyhib29sIHByaW50aW5nLCBjb25zdCBGbG9hdFNpemUmIHBhZ2VTaXplLCBjb25zdCBG
bG9hdFNpegogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDM3MDQKICAgICBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgdmFsaWRhdGlv
blN1cHByZXNzb3IobV9kb2MtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkpOwogCisgICAgLy8gRW5z
dXJlIHRoaXMgZnJhbWUgZG9lc24ndCBnZXQga2lsbGVkIGluIHRoZSBiZWZvcmVwcmludCAvIGFm
dGVycHJpbnQgZXZlbnRzIHdoaWxlIHdlJ3JlIGNoYW5naW5nIHByaW50IG1vZGVzLgorICAgIFJl
ZlB0cjxGcmFtZT4gZ3VhcmQodGhpcyk7CisgICAgaWYgKHByaW50aW5nKQorICAgICAgICBtX2Rv
Yy0+ZGlzcGF0Y2hXaW5kb3dFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5iZWZvcmVw
cmludEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKwogICAgIG1fZG9jLT5zZXRQcmludGluZyhwcmlu
dGluZyk7CiAgICAgdmlldygpLT5hZGp1c3RNZWRpYVR5cGVGb3JQcmludGluZyhwcmludGluZyk7
CiAKQEAgLTUwOSw2ICs1MTQsOSBAQCB2b2lkIEZyYW1lOjpzZXRQcmludGluZyhib29sIHByaW50
aW5nLCBjb25zdCBGbG9hdFNpemUmIHBhZ2VTaXplLCBjb25zdCBGbG9hdFNpegogICAgIC8vIFN1
YmZyYW1lcyBvZiB0aGUgb25lIHdlJ3JlIHByaW50aW5nIGRvbid0IGxheSBvdXQgdG8gdGhlIHBh
Z2Ugc2l6ZS4KICAgICBmb3IgKEZyYW1lKiBjaGlsZCA9IHRyZWUoKS0+Zmlyc3RDaGlsZCgpOyBj
aGlsZDsgY2hpbGQgPSBjaGlsZC0+dHJlZSgpLT5uZXh0U2libGluZygpKQogICAgICAgICBjaGls
ZC0+c2V0UHJpbnRpbmcocHJpbnRpbmcsIEZsb2F0U2l6ZSgpLCBGbG9hdFNpemUoKSwgMCwgc2hv
dWxkQWRqdXN0Vmlld1NpemUpOworCisgICAgaWYgKCFwcmludGluZykKKyAgICAgICAgbV9kb2Mt
PmRpc3BhdGNoV2luZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWZ0ZXJwcmlu
dEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAogRmxvYXRTaXplIEZyYW1lOjpyZXNpemVQYWdl
UmVjdHNLZWVwaW5nUmF0aW8oY29uc3QgRmxvYXRTaXplJiBvcmlnaW5hbFNpemUsIGNvbnN0IEZs
b2F0U2l6ZSYgZXhwZWN0ZWRTaXplKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRlNGIzNTU0YzNkODNlY2VlZjdhMTAwMDVh
ZWM1MmFmYWMzYmYwN2EuLmQzNTg3YTlkMGVhNmVlYzFjOGZkOWQzM2UwYzVkMDk0NDgwYzUxZTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wMS0yMiAgQmVuIFdlbGxzICA8YmVud2VsbHNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmludCBl
dmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
OTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9k
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9wcmludGluZy9w
cmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHByaW50aW5nL3ByaW50LWV2ZW50
LWFmdGVycHJpbnQtYm9keS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByaW50aW5n
L3ByaW50LWV2ZW50LWFmdGVycHJpbnQtYm9keS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcmlu
dGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LWJvZHkuaHRt
bDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2lu
ZG93Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemlt
bWVybWFubkByaW0uY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gRml4IHR5cG8sIHdoaWNo
IG1ha2VzIHRoZSBzdHlsZSBib3Qgd2FybiBvbiBldmVyeSBwYXRjaC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKaW5kZXggOTk1YzMzYTMwYWI1NDhkYWUzMjQwZjM2YmYxMjAzYTU5NjkzMWQxYy4u
NGJkZWM1Njc1MTUxNWFmNDk4NzEyZWIyZGRiYmEwNzZhOGE2N2IzYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1NraXBwZWQKQEAgLTE2MzEsMyArMTYzMSw3IEBAIGh0dHAvdGVzdHMvZG93bmxvYWQKIAog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzIKIGZhc3QvZm9y
bXMvaW1wbGljaXQtc3VibWlzc2lvbi5odG1sCisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB3aW5k
b3cucHJpbnQgdG8gYmUgaW1wbGVtZW50ZWQgaW4gRFJUCitwcmludGluZy9wcmludC1ldmVudC1h
ZnRlcnByaW50LWJvZHkuaHRtbAorcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5k
b3cuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCA0YzZjMzY5YzQzMDJkNmQyZjlk
ZjJiOWY0NzNhNjQwZWRlZjViNGIzLi5hN2JiZmFkY2Q3ZmZhOTI2YjMwMWM2ZmU1YmQxODE1MzFk
ZjZkZTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtNTQ2LDMgKzU0Niw3IEBAIG1l
ZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV90d29faW1wbGllc19vbmVfMy5o
dG1sCiBtZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNf
b25lXzQuaHRtbAogbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19p
bXBsaWVzX29uZV81Lmh0bWwKIG1lZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlw
ZV90d29faW1wbGllc19vbmVfNi5odG1sCisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB3aW5kb3cu
cHJpbnQgdG8gYmUgaW1wbGVtZW50ZWQgaW4gRFJUCitwcmludGluZy9wcmludC1ldmVudC1hZnRl
cnByaW50LWJvZHkuaHRtbAorcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cu
aHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50
LWV2ZW50LWJlZm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LWJvZHktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzOTZhNDRlYzg3YTNlY2NkZjliYjQ1YzU5ZjdmMzc2NzM5ZTI1MTAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQt
ZXZlbnQtYmVmb3JlcHJpbnQtYm9keS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDg4CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxMDAw
eDg4CitsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4ODgKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgMTAwMHg4OAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXpl
IDk4NHg1NgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgOTg0eDIwCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ0OXgxOQorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ0OTogIlRoZSB0ZXh0IGluIHRoZSBuZXh0IHBhcmFncmFw
aCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgdGhlIGJlZm9yZVByaW50IGV2ZW50LiIKKyAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwzNikgc2l6ZSA5ODR4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTg3eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTg3OiAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuIgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJp
bnQtd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9wcmludGlu
Zy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzOTZhNDRlYzg3YTNlY2NkZjliYjQ1YzU5ZjdmMzc2NzM5ZTI1MTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3Jl
cHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCww
KSBzaXplIDEwMDB4ODgKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDEwMDB4ODgKK2xheWVy
IGF0ICgwLDApIHNpemUgMTAwMHg4OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSAxMDAweDg4CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgOTg0eDU2Cisg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA5ODR4MjAKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDQ5eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNDQ5OiAiVGhlIHRleHQgaW4gdGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBi
ZSByZXBsYWNlZCBieSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQuIgorICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDM2KSBzaXplIDk4NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxODd4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODc6
ICJSZXBsYWNlZCBieSBiZWZvcmVQcmludCBldmVudC4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IDNhZTQ1YzRiZmUyYmNmM2MxZmE0OTYwMTZjY2JlMDg1MzJkMDBiMWIuLmE1ZjRhYWQ0
YjRmODg0YTRlZjVlNmMzMzYwNzRmYTk2ODk2YjNkYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMjU5NywzICsyNTk3LDcgQEAgY3NzMy9maWx0ZXJzL2VmZmVjdC1jdXN0b20tZGlzYWJs
ZWQuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODUK
IGNzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1ody5odG1sCiBjc3MzL2ZpbHRlcnMvZWZm
ZWN0LWNvbnRyYXN0LWh3Lmh0bWwKKworIyBUaGVzZSB0ZXN0cyByZXF1aXJlIHdpbmRvdy5wcmlu
dCB0byBiZSBpbXBsZW1lbnRlZCBpbiBEUlQKK3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJp
bnQtYm9keS5odG1sCitwcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50
LWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0
ZXJwcmludC1ib2R5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzNhMDIzZWU3MGM4NzE3NDBl
MmZiNWJmOTE3YWQ1MDEyNGMxYTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJp
bnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKK1RoZSBuZXh0IHBhcmFncmFwaCBzaG91bGQgY29udGFpbiB0aGUgaW5pdGlhbCB0ZXh0
LCB0ZXh0IGFkZGVkIGJ5IHRoZSBiZWZvcmVQcmludCBldmVudCwgYW5kIHRleHQgYWRkZWQgYnkg
dGhlIGFmdGVyUHJpbnQgZXZlbnQuCisKK0luaXRpYWwgdGV4dC4gQWRkZWQgYnkgYmVmb3JlUHJp
bnQgZXZlbnQuIEFkZGVkIGJ5IGFmdGVyUHJpbnQgZXZlbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LWJvZHkuaHRtbCBiL0xheW91dFRl
c3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtYm9keS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM5MmYzYWRlYTNjODVlMmMyYjk2NjcyNDAxNGQzMjc2Mjc2ODFlMjcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LWJvZHkuaHRt
bApAQCAtMCwwICsxLDI3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorICBmdW5jdGlvbiBiZWZvcmVQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaG9sZGVyIik7CisgICAgZWwuaW5uZXJIVE1MICs9ICJBZGRlZCBieSBi
ZWZvcmVQcmludCBldmVudC4gIjsKKyAgfQorCisgIGZ1bmN0aW9uIGFmdGVyUHJpbnQoKSB7Cisg
ICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvbGRlciIpOworICAgIGVsLmlu
bmVySFRNTCArPSAiQWRkZWQgYnkgYWZ0ZXJQcmludCBldmVudC4gIjsKKyAgfQorCisgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25iZWZvcmVwcmlu
dD0iYmVmb3JlUHJpbnQoKSIgb25hZnRlcnByaW50PSJhZnRlclByaW50KCkiPgorPHA+VGhlIG5l
eHQgcGFyYWdyYXBoIHNob3VsZCBjb250YWluIHRoZSBpbml0aWFsIHRleHQsIHRleHQgYWRkZWQg
YnkgdGhlIGJlZm9yZVByaW50IGV2ZW50LCBhbmQgdGV4dCBhZGRlZCBieSB0aGUgYWZ0ZXJQcmlu
dCBldmVudC48L3A+Cis8cCBpZD0iaG9sZGVyIj5Jbml0aWFsIHRleHQuIDwvcD4KKzxzY3JpcHQ+
CisgIHdpbmRvdy5wcmludCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50
LXdpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzYTAyM2VlNzBjODcxNzQwZTJmYjVi
ZjkxN2FkNTAxMjRjMWExMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5n
L3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK1RoZSBuZXh0IHBhcmFncmFwaCBzaG91bGQgY29udGFpbiB0aGUgaW5pdGlhbCB0ZXh0LCB0
ZXh0IGFkZGVkIGJ5IHRoZSBiZWZvcmVQcmludCBldmVudCwgYW5kIHRleHQgYWRkZWQgYnkgdGhl
IGFmdGVyUHJpbnQgZXZlbnQuCisKK0luaXRpYWwgdGV4dC4gQWRkZWQgYnkgYmVmb3JlUHJpbnQg
ZXZlbnQuIEFkZGVkIGJ5IGFmdGVyUHJpbnQgZXZlbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45MTU0Njc5NjU0ODNiYzRmNmM2ODEwZDAzNzViMzE4NzZkMTVmZjM4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgorICBmdW5jdGlvbiBiZWZvcmVQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaG9sZGVyIik7CisgICAgZWwuaW5uZXJIVE1MICs9ICJBZGRlZCBi
eSBiZWZvcmVQcmludCBldmVudC4gIjsKKyAgfQorCisgIGZ1bmN0aW9uIGFmdGVyUHJpbnQoKSB7
CisgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvbGRlciIpOworICAgIGVs
LmlubmVySFRNTCArPSAiQWRkZWQgYnkgYWZ0ZXJQcmludCBldmVudC4gIjsKKyAgfQorCisgIHdp
bmRvdy5vbmJlZm9yZXByaW50ID0gYmVmb3JlUHJpbnQ7CisgIHdpbmRvdy5vbmFmdGVycHJpbnQg
PSBhZnRlclByaW50OworCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGUgbmV4dCBwYXJhZ3JhcGggc2hvdWxkIGNvbnRhaW4gdGhlIGlu
aXRpYWwgdGV4dCwgdGV4dCBhZGRlZCBieSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQsIGFuZCB0ZXh0
IGFkZGVkIGJ5IHRoZSBhZnRlclByaW50IGV2ZW50LjwvcD4KKzxwIGlkPSJob2xkZXIiPkluaXRp
YWwgdGV4dC4gPC9wPgorPHNjcmlwdD4KKyAgd2luZG93LnByaW50KCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2
ZW50LWJlZm9yZXByaW50LWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2
ZW50LWJlZm9yZXByaW50LWJvZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTdkNTVkZjM2MmZiYWMwZmJl
M2RlYWY2ZGQ1ZTA3NGE0ZDk1YTNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJp
bnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5odG1sCkBAIC0wLDAgKzEsMjYgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGJl
Zm9yZVByaW50KCkgeworICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xk
ZXIiKTsKKyAgICBlbC5pbm5lckhUTUwgPSAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQu
IjsKKyAgfQorCisgIGZ1bmN0aW9uIGFmdGVyUHJpbnQoKSB7CisgICAgdmFyIGVsID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImhvbGRlciIpOworICAgIGVsLmlubmVySFRNTCA9ICJSZXBsYWNl
ZCBieSBhZnRlclByaW50IGV2ZW50LiI7CisgIH0KKworICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0UHJpbnRpbmcoKTsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25iZWZvcmVwcmludD0iYmVmb3JlUHJpbnQoKSIgb25hZnRlcnByaW50PSJh
ZnRlclByaW50KCkiPgorPHA+VGhlIHRleHQgaW4gdGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBi
ZSByZXBsYWNlZCBieSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQuPC9wPgorPHAgaWQ9ImhvbGRlciI+
QWxyZWFkeSBpbiB0aGUgaG9sZGVyLCBzaG91bGQgYmUgcmVwbGFjZWQuPC9wPgorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wcmlu
dC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL3ByaW50aW5nL3By
aW50LWV2ZW50LWJlZm9yZXByaW50LXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1Mjg2NjY0MzY5
ZGIzMTAyYmI1YjZhZTlkMTBlYzIzMDFkNmI1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wcmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRtbApAQCAtMCww
ICsxLDI5IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICBm
dW5jdGlvbiBiZWZvcmVQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9sZGVyIik7CisgICAgZWwuaW5uZXJIVE1MID0gIlJlcGxhY2VkIGJ5IGJlZm9yZVBy
aW50IGV2ZW50LiI7CisgIH0KKworICBmdW5jdGlvbiBhZnRlclByaW50KCkgeworICAgIHZhciBl
bCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBlbC5pbm5lckhUTUwg
PSAiUmVwbGFjZWQgYnkgYWZ0ZXJQcmludCBldmVudC4iOworICB9CisKKyAgd2luZG93Lm9uYmVm
b3JlcHJpbnQgPSBiZWZvcmVQcmludDsKKyAgd2luZG93Lm9uYWZ0ZXJwcmludCA9IGFmdGVyUHJp
bnQ7CisKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldFByaW50aW5nKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhlIHRleHQg
aW4gdGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBiZSByZXBsYWNlZCBieSB0aGUgYmVmb3JlUHJp
bnQgZXZlbnQuPC9wPgorPHAgaWQ9ImhvbGRlciI+QWxyZWFkeSBpbiB0aGUgaG9sZGVyLCBzaG91
bGQgYmUgcmVwbGFjZWQuPC9wPgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124219</attachid>
            <date>2012-01-26 17:06:52 -0800</date>
            <delta_ts>2012-01-30 23:48:02 -0800</delta_ts>
            <desc>With tests for navigation during before and afterprint</desc>
            <filename>bug-19937-20120127120648.patch</filename>
            <type>text/plain</type>
            <size>22517</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNiMzcyMWM1OGYwNjAz
MDU2NGM3OTNlOTkyMzk0MGJlZjA3ZTJhYi4uM2ZkNzNkY2Y1NmQ1MGRhZWM2OGZkMTgzOTk4ZGI0
YzY3ZjdlNWMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAxLTIyICBCZW4g
V2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9yZXByaW50
IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBiZWZvcmVwcmludCBhbmQgYWZ0ZXJwcmlu
dCBldmVudHMuIFRoZXNlIGV2ZW50cworICAgICAgICBmaXJlIHN5bmNocm9ub3VzbHkgdG8gYWxs
b3cgcGFnZXMgdG8gY2hhbmdlLCBhZGQsIG9yIHJlbW92ZSBjb250ZW50CisgICAgICAgIGZvciBw
cmludGluZy4gVGhlc2UgZXZlbnRzIGRvIG5vdCBwcm9wb2dhdGUgb3IgYnViYmxlLCBhbmQgYXJl
CisgICAgICAgIHN1cHBvcnRlZCBvbiB0aGUgYm9keSBlbGVtZW50IGFuZCB0aGUgd2luZG93LiBJ
ZiB0aGUgd2luZG93IGhhcworICAgICAgICBhbiBldmVudCwgYW5kIHRoZSBib2R5IGRvZXMgdG9v
LCBvbmx5IHRoZSBib2R5IGV2ZW50IGlzIGNhbGxlZC4KKworICAgICAgICBUZXN0czogcHJpbnRp
bmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5Lmh0bWwKKyAgICAgICAgICAgICAgIHByaW50
aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtbmF2aWdhdGUuaHRtbAorICAgICAgICAgICAgICAg
cHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbAorICAgICAgICAgICAg
ICAgcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5odG1sCisgICAgICAgICAg
ICAgICBwcmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC1uYXZpZ2F0ZS5odG1sCisgICAg
ICAgICAgICAgICBwcmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRtbAor
CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAg
ICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lOjpzZXRQcmludGluZyk6CisKIDIwMTItMDEtMjUgIENyaXMgTmVja2FyICA8Y2RuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgYSBzY2hlbWUgcmVnaXN0cnkgZm9yIENPUlMgcmVx
dWVzdHMuIEFsbG93IHNpbXBsZSBDT1JTIHJlcXVlc3RzIHRvIGJlIG1hZGUgdG8gcmVnaXN0ZXJl
ZCBzY2hlbWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggZGExOGIyOTUxYmE3ZDQ5MzU0
ZDRlYTcyOTgzZmY0Yjk2YzEzYzk5OC4uOTFlZDJhOWMwNWE4NDM5NjBmMDE0MjI1NTliNDRlNTM5
OGI3NWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0zMiwxMCArMzIsMTIgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2RlZmluZSBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gobWFjcm8p
IFwKICAgICBcCiAgICAgbWFjcm8oYWJvcnQpIFwKKyAgICBtYWNybyhhZnRlcnByaW50KSBcCiAg
ICAgbWFjcm8oYmVmb3JlY29weSkgXAogICAgIG1hY3JvKGJlZm9yZWN1dCkgXAogICAgIG1hY3Jv
KGJlZm9yZWxvYWQpIFwKICAgICBtYWNybyhiZWZvcmVwYXN0ZSkgXAorICAgIG1hY3JvKGJlZm9y
ZXByaW50KSBcCiAgICAgbWFjcm8oYmVmb3JldW5sb2FkKSBcCiAgICAgbWFjcm8oYmxvY2tlZCkg
XAogICAgIG1hY3JvKGJsdXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4KaW5kZXggNjBkOTZkNTNkODJiZTgxYWEyYmIwNTFjMzE4ZGJlNWI2ODliMjEyMi4uOGM3
NDc1MTY2ZmFkYzk0OTkxYTI5N2E3NTYyNjM1MTliMWI0NTJlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTE2MiwxMCArMTYyLDEyIEBAIG5vdmFsaWRh
dGUKIG5vd3JhcAogb2JqZWN0CiBvbmFib3J0CitvbmFmdGVycHJpbnQKIG9uYmVmb3JlY29weQog
b25iZWZvcmVjdXQKIG9uYmVmb3JlbG9hZAogb25iZWZvcmVwYXN0ZQorb25iZWZvcmVwcmludAog
b25iZWZvcmV1bmxvYWQKIG9uYmx1cgogb25jYW5wbGF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5jcHAKaW5kZXggNjU1OGQ0NmQ2NDI2OThiODE5YmI3YzUyNzg5OTQyNmM3ODk2
YWEwZi4uMjE2OWUxMGQ5ODhmZjdjMDMxMjA4ZDgzNzUwYTBiYjZkMjYyMzExZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcApAQCAtMTU4LDYgKzE1OCwxMCBAQCB2b2lk
IEhUTUxCb2R5RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQog
ICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5vbmxpbmVFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVu
dCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ub2Zm
bGluZUF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLm9mZmxpbmVFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9uYmVmb3JlcHJpbnRBdHRyKQorICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5iZWZvcmVwcmludEV2ZW50LCBjcmVh
dGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKKyAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25hZnRlcnByaW50QXR0cikKKyAgICAgICAgZG9j
dW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYWZ0
ZXJwcmludEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZy
YW1lKCksIGF0dHIpKTsKICAgICBlbHNlCiAgICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJvZHlFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oCmlu
ZGV4IDVjNjMyNjQ5YzZiMGFjYjg2M2NjYmY5NDQ3YjVhOGI2NWZhYjk2MDMuLmFjZDRjZmFjNWEw
MTQ5ZWEzYjZjOTg0NDE0ZDA4YjVjMDEwYTIzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJvZHlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAgICAgREVGSU5FX1dJTkRPV19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZm9jdXMpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGxvYWQpOwogCisgICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoYWZ0ZXJwcmludCk7CisgICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoYmVmb3JlcHJpbnQpOwogICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGJlZm9yZXVubG9hZCk7CiAgICAgREVGSU5FX1dJTkRPV19BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoaGFzaGNoYW5nZSk7CiAgICAgREVGSU5FX1dJTkRPV19BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIobWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCb2R5RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxl
bWVudC5pZGwKaW5kZXggZDY4NTFkNDliZDFkMzAzZThmNzlmNTlkNmVmNmM3ZDBjYmUwODJlZi4u
MDMwZDZmZWMzYWIwYTBkZDdmNzA4NmFhZmI5YzA3NzFmYmYyNjU4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbApAQCAtMzksNiArMzksOCBAQCBtb2R1bGUgaHRtbCB7
CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50
TGlzdGVuZXIgb25yZXNpemU7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2
ZW50TGlzdGVuZXJdIEV2ZW50TGlzdGVuZXIgb25zdG9yYWdlOwogICAgICAgICBhdHRyaWJ1dGUg
W0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExpc3RlbmVyIG9udW5sb2FkOwor
ICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBXaW5kb3dFdmVudExpc3RlbmVyXSBFdmVudExp
c3RlbmVyIG9uYWZ0ZXJwcmludDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93
RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXByaW50OwogCiAgICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9T1JJRU5UQVRJT05fRVZFTlRTLCBEb250RW51bSwgV2luZG93
RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbm9yaWVudGF0aW9uY2hhbmdlOwogCkBAIC00
OSw4ICs1MSw2IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwg
V2luZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbmxvYWQ7CiAKICAgICAgICAgLy8g
Tm90IGltcGxlbWVudGVkIHlldC4KLSAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bSwgV2lu
ZG93RXZlbnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbmFmdGVycHJpbnQ7Ci0gICAgICAgIC8v
IGF0dHJpYnV0ZSBbRG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlzdGVuZXIg
b25iZWZvcmVwcmludDsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bSwgV2luZG93RXZl
bnRMaXN0ZW5lcl0gRXZlbnRMaXN0ZW5lciBvbnJlZG87CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBb
RG9udEVudW0sIFdpbmRvd0V2ZW50TGlzdGVuZXJdIEV2ZW50TGlzdGVuZXIgb251bmRvOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBiNTg2NjhlNGQwMWI0OTFmMmU2M2I0MzJi
YjYzNWIwNDkxODg5ODVjLi40OGMyOTM3ZWMwOWYxYzA2Y2IwY2M5NDc3NzAyNWE1MjdmMjdkZDM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTI3Myw2ICsyNzMsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hMb2FkRXZlbnQoKTsKIAogICAgICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFib3J0KTsKKyAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihhZnRlcnByaW50KTsKKyAgICAgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmVwcmludCk7CiAgICAgICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoYmVmb3JldW5sb2FkKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihibHVyKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihjYW5wbGF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA5OWUyYmM0
MDI3M2FmZDFhODA0ODdlNTNkYzRlOWMyOTZmOTY3NGJiLi4yNzJmYTMzZDkxODViMjNjYzE5MzRj
ODMxNmI5NjM2NTNhZWVmY2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0yOTUs
MTAgKzI5NSwxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlz
dGVuZXIgb251bmxvYWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9udm9sdW1l
Y2hhbmdlOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndhaXRpbmc7CisgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWZ0ZXJwcmludDsKKyAgICAgICAgYXR0cmli
dXRlIEV2ZW50TGlzdGVuZXIgb25iZWZvcmVwcmludDsKIAogICAgICAgICAvLyBOb3QgaW1wbGVt
ZW50ZWQgeWV0LgotICAgICAgICAvLyBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmFmdGVycHJp
bnQ7Ci0gICAgICAgIC8vIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYmVmb3JlcHJpbnQ7CiAg
ICAgICAgIC8vIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKICAg
ICAgICAgLy8gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25yZWRvOwogICAgICAgICAvLyBhdHRy
aWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNob3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IGUxZjVi
Y2Y5OWVhNWNjODg5YTNmYzlkZGRkMTE5NTNhZDQzYzk4NDkuLmFlOWIyM2YyZTM5MDIzZGIzNWZi
MWNjMjk1Y2E5YTU4MGZmNjljZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC00OTQsNiArNDk0
LDExIEBAIHZvaWQgRnJhbWU6OnNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0IEZsb2F0
U2l6ZSYgcGFnZVNpemUsIGNvbnN0IEZsb2F0U2l6CiAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzcwNAogICAgIFJlc291cmNlQ2FjaGVWYWxpZGF0
aW9uU3VwcHJlc3NvciB2YWxpZGF0aW9uU3VwcHJlc3NvcihtX2RvYy0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKSk7CiAKKyAgICAvLyBFbnN1cmUgdGhpcyBmcmFtZSBkb2Vzbid0IGdldCBraWxsZWQg
aW4gdGhlIGJlZm9yZXByaW50IC8gYWZ0ZXJwcmludCBldmVudHMgd2hpbGUgd2UncmUgY2hhbmdp
bmcgcHJpbnQgbW9kZXMuCisgICAgUmVmUHRyPEZyYW1lPiBndWFyZCh0aGlzKTsKKyAgICBpZiAo
cHJpbnRpbmcpCisgICAgICAgIG1fZG9jLT5kaXNwYXRjaFdpbmRvd0V2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmJlZm9yZXByaW50RXZlbnQsIGZhbHNlLCBmYWxzZSkpOworCiAgICAg
bV9kb2MtPnNldFByaW50aW5nKHByaW50aW5nKTsKICAgICB2aWV3KCktPmFkanVzdE1lZGlhVHlw
ZUZvclByaW50aW5nKHByaW50aW5nKTsKIApAQCAtNTA5LDYgKzUxNCw5IEBAIHZvaWQgRnJhbWU6
OnNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGNv
bnN0IEZsb2F0U2l6CiAgICAgLy8gU3ViZnJhbWVzIG9mIHRoZSBvbmUgd2UncmUgcHJpbnRpbmcg
ZG9uJ3QgbGF5IG91dCB0byB0aGUgcGFnZSBzaXplLgogICAgIGZvciAoRnJhbWUqIGNoaWxkID0g
dHJlZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCktPm5leHRT
aWJsaW5nKCkpCiAgICAgICAgIGNoaWxkLT5zZXRQcmludGluZyhwcmludGluZywgRmxvYXRTaXpl
KCksIEZsb2F0U2l6ZSgpLCAwLCBzaG91bGRBZGp1c3RWaWV3U2l6ZSk7CisKKyAgICBpZiAoIXBy
aW50aW5nKQorICAgICAgICBtX2RvYy0+ZGlzcGF0Y2hXaW5kb3dFdmVudChFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZXMoKS5hZnRlcnByaW50RXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogfQogCiBGbG9h
dFNpemUgRnJhbWU6OnJlc2l6ZVBhZ2VSZWN0c0tlZXBpbmdSYXRpbyhjb25zdCBGbG9hdFNpemUm
IG9yaWdpbmFsU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBleHBlY3RlZFNpemUpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGFj
NGU3ZDUyYWUwOTNjODA5YTJiM2NjMzE2MzkyMGFhMDhmNDBjZS4uYzc2YzRlY2UzZjMzNTQxYTZj
YTQyOGRkNGMyOWQwYmYyYWQ4NWQyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAxLTIy
ICBCZW4gV2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGJlZm9y
ZXByaW50IGFuZCBhZnRlcnByaW50IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9wcmludGluZy9wcmlu
dC1ldmVudC1iZWZvcmVwcmludC1ib2R5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LW5hdmlnYXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3ByaW50aW5nL3ByaW50
LWV2ZW50LWJlZm9yZXByaW50LXdpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0
ZXJwcmludC1ib2R5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJp
bnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByaW50aW5n
L3ByaW50LWV2ZW50LWFmdGVycHJpbnQtbmF2aWdhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LW5hdmlnYXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtd2luZG93LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJw
cmludC13aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcHJpbnQtZXZlbnQt
YmVmb3JlcHJpbnQtYm9keS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcmludGluZy9wcmludC1l
dmVudC1iZWZvcmVwcmludC1uYXZpZ2F0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcmludGlu
Zy9wcmludC1ldmVudC1iZWZvcmVwcmludC13aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICog
cHJpbnRpbmcvcmVzb3VyY2VzL25hdmlnYXRpb24tZGVzdGluYXRpb24uaHRtbDogQWRkZWQuCisK
IDIwMTItMDEtMjYgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIGNvbXBvc2l0aW5nL3NoYWRvd3Mvc2hhZG93LWRyYXdpbmcuaHRtbCBhbmQgc3ZnL2Nzcy9n
cm91cC13aXRoLXNoYWRvdy5zdmcgYXJlIGZhaWxpbmcgb24gQ2hyb21pdW0gV2luCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCmluZGV4IDZlZjMzNzBkNDViZTUyMzczMjVmYWQ0MTE5ZDFiNTQ2ODA0
M2UxZDMuLjY0NjU5YWFlMDZmMmFlZWJjYTc4NjdlZWZmZDMyYTg5ZDg1MGMwNTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0xNjI4LDMgKzE2MjgsOCBAQCBmYXN0L2V2ZW50cy9jbGVh
ci1lZGl0LWRyYWctc3RhdGUuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NzAxOQogaHR0cC90ZXN0cy9tZWRpYS92aWRlby1idWZmZXJpbmctcmVwYWlu
dHMtY29udHJvbHMuaHRtbAorCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgd2luZG93LnByaW50IHRv
IGJlIGltcGxlbWVudGVkIGluIERSVAorcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1i
b2R5Lmh0bWwKK3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtbmF2aWdhdGUuaHRtbAor
cHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZAppbmRleCA3ODMzZWE5NjMxNTgxYTQwZDE5MWQxZTkyMTViMWU1NDllOWRkMmU0
Li4xZDBjYjE5OTVjZjExMWVkNjkxMTJiMDEzYjliMWRkNGMzZTM3ZWExIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZApAQCAtNTM4LDMgKzUzOCw4IEBAIG1lZGlhL1czQy92aWRlby9jYW5QbGF5
VHlwZS9jYW5QbGF5VHlwZV90d29faW1wbGllc19vbmVfMy5odG1sCiBtZWRpYS9XM0MvdmlkZW8v
Y2FuUGxheVR5cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNfb25lXzQuaHRtbAogbWVkaWEvVzND
L3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV81Lmh0bWwKIG1l
ZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV90d29faW1wbGllc19vbmVfNi5o
dG1sCisKKyMgVGhlc2UgdGVzdHMgcmVxdWlyZSB3aW5kb3cucHJpbnQgdG8gYmUgaW1wbGVtZW50
ZWQgaW4gRFJUCitwcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LWJvZHkuaHRtbAorcHJp
bnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1uYXZpZ2F0ZS5odG1sCitwcmludGluZy9wcmlu
dC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtYm9keS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVm
b3JlcHJpbnQtYm9keS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM5NmE0NGVjODdhM2VjY2Rm
OWJiNDVjNTlmN2YzNzY3MzllMjUxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9wcmludGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC1ib2R5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4ODgKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDEwMDB4ODgKK2xheWVyIGF0ICgwLDApIHNpemUgMTAwMHg4
OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxMDAweDg4CisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgOTg0eDU2CisgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMCkgc2l6ZSA5ODR4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNDQ5eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDQ5OiAiVGhl
IHRleHQgaW4gdGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBiZSByZXBsYWNlZCBieSB0aGUgYmVm
b3JlUHJpbnQgZXZlbnQuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM2KSBzaXplIDk4
NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxODd4MTkKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODc6ICJSZXBsYWNlZCBieSBiZWZvcmVQ
cmludCBldmVudC4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9wcmlu
dGluZy9wcmludC1ldmVudC1iZWZvcmVwcmludC1uYXZpZ2F0ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtbmF2
aWdhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0N2RiZWYxYWM0MzQwYWZmYzg1NGMyYzRl
MjE1YWVmZGU2MjE1ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtbmF2aWdhdGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDUyCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSAxMDAweDUyCitsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NTIKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTAwMHg1MgorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDE2KSBzaXplIDk4NHgyMAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgOTg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDE1MngxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1MjogIlRoZXJlIHNo
b3VsZCBiZSBubyBjcmFzaCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LXdpbmRvdy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQt
d2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzk2YTQ0ZWM4N2EzZWNjZGY5YmI0NWM1
OWY3ZjM3NjczOWUyNTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LXdpbmRvdy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDg4CisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSAxMDAweDg4CitsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4ODgKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTAwMHg4OAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDE2KSBzaXplIDk4NHg1NgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgOTg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQ0OXgxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ0OTogIlRoZSB0ZXh0
IGluIHRoZSBuZXh0IHBhcmFncmFwaCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgdGhlIGJlZm9yZVBy
aW50IGV2ZW50LiIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNikgc2l6ZSA5ODR4MjAK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTg3eDE5CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTg3OiAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQg
ZXZlbnQuIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBmODgxNDQzZDUwMjc3NjcwM2Y1
ODg3ZDExZjgyYzU3ZTQyMWMwNTIxLi5hNjM2YTdhOGNjODg3ODI1M2RiY2EzZjhkYTRmM2NhMmVh
ZmFhNmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTI0ODgsMyArMjQ4OCw4IEBAIGZh
c3QvZm9ybXMvcmFkaW8vcmFkaW8tZ3JvdXAuaHRtbAogc3ZnL1czQy1TVkctMS4xLVNFL3BhaW50
aW5nLWNvbnRyb2wtMDQtZi5zdmcKIHN2Zy9jdXN0b20vemVyby1wYXRoLXNxdWFyZS1jYXAtcmVu
ZGVyaW5nLnN2Zwogc3ZnL3N0cm9rZS96ZXJvLWxlbmd0aC1hcmMtbGluZWNhcHMtcmVuZGVyaW5n
LnN2ZworCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgd2luZG93LnByaW50IHRvIGJlIGltcGxlbWVu
dGVkIGluIERSVAorcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5Lmh0bWwKK3By
aW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtbmF2aWdhdGUuaHRtbAorcHJpbnRpbmcvcHJp
bnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJpbnQtYm9keS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDMzYTAyM2VlNzBjODcxNzQwZTJmYjViZjkxN2FkNTAxMjRjMWExMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWFmdGVycHJp
bnQtYm9keS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGUgbmV4dCBwYXJhZ3JhcGgg
c2hvdWxkIGNvbnRhaW4gdGhlIGluaXRpYWwgdGV4dCwgdGV4dCBhZGRlZCBieSB0aGUgYmVmb3Jl
UHJpbnQgZXZlbnQsIGFuZCB0ZXh0IGFkZGVkIGJ5IHRoZSBhZnRlclByaW50IGV2ZW50LgorCitJ
bml0aWFsIHRleHQuIEFkZGVkIGJ5IGJlZm9yZVByaW50IGV2ZW50LiBBZGRlZCBieSBhZnRlclBy
aW50IGV2ZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQt
YWZ0ZXJwcmludC1ib2R5Lmh0bWwgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1h
ZnRlcnByaW50LWJvZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTJmM2FkZWEzYzg1ZTJjMmI5NjY3MjQw
MTRkMzI3NjI3NjgxZTI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcv
cHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1ib2R5Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgZnVuY3Rpb24gYmVmb3JlUHJp
bnQoKSB7CisgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvbGRlciIpOwor
ICAgIGVsLmlubmVySFRNTCArPSAiQWRkZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuICI7CisgIH0K
KworICBmdW5jdGlvbiBhZnRlclByaW50KCkgeworICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBlbC5pbm5lckhUTUwgKz0gIkFkZGVkIGJ5IGFmdGVy
UHJpbnQgZXZlbnQuICI7CisgIH0KKworICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9uYmVmb3JlcHJpbnQ9ImJlZm9yZVByaW50KCkiIG9uYWZ0ZXJw
cmludD0iYWZ0ZXJQcmludCgpIj4KKzxwPlRoZSBuZXh0IHBhcmFncmFwaCBzaG91bGQgY29udGFp
biB0aGUgaW5pdGlhbCB0ZXh0LCB0ZXh0IGFkZGVkIGJ5IHRoZSBiZWZvcmVQcmludCBldmVudCwg
YW5kIHRleHQgYWRkZWQgYnkgdGhlIGFmdGVyUHJpbnQgZXZlbnQuPC9wPgorPHAgaWQ9ImhvbGRl
ciI+SW5pdGlhbCB0ZXh0LiA8L3A+Cis8c2NyaXB0PgorICB3aW5kb3cucHJpbnQoKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcv
cHJpbnQtZXZlbnQtYWZ0ZXJwcmludC1uYXZpZ2F0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LW5hdmlnYXRlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMGJkODhkM2NjYTkyZWRkMTVmZTllMzU2ODc3OWJhYTM0MTNkMDVkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmlu
dC1uYXZpZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhlcmUgc2hvdWxkIGJlIG5v
IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0
ZXJwcmludC1uYXZpZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQt
YWZ0ZXJwcmludC1uYXZpZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlZjk0NDExYjM3N2E0YTFjMzJj
MzEwZDdlYTFhYmZlM2FjOTcwZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcmlu
dGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LW5hdmlnYXRlLmh0bWwKQEAgLTAsMCArMSwyMCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgZnVuY3Rpb24g
YWZ0ZXJQcmludCgpIHsKKyAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdyZXNvdXJjZXMvbmF2
aWdhdGlvbi1kZXN0aW5hdGlvbi5odG1sJzsKKyAgfQorCisgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
IH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25hZnRlcnByaW50PSJhZnRlclByaW50KCki
PgorPHA+VGhlcmUgc2hvdWxkIGJlIG5vIGNyYXNoLjwvcD4KKzxzY3JpcHQ+CisgIHdpbmRvdy5w
cmludCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzYTAyM2VlNzBjODcxNzQwZTJmYjViZjkxN2FkNTAxMjRj
MWExMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50
LWFmdGVycHJpbnQtd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoZSBuZXh0
IHBhcmFncmFwaCBzaG91bGQgY29udGFpbiB0aGUgaW5pdGlhbCB0ZXh0LCB0ZXh0IGFkZGVkIGJ5
IHRoZSBiZWZvcmVQcmludCBldmVudCwgYW5kIHRleHQgYWRkZWQgYnkgdGhlIGFmdGVyUHJpbnQg
ZXZlbnQuCisKK0luaXRpYWwgdGV4dC4gQWRkZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuIEFkZGVk
IGJ5IGFmdGVyUHJpbnQgZXZlbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9w
cmludC1ldmVudC1hZnRlcnByaW50LXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcv
cHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTU0Njc5NjU0
ODNiYzRmNmM2ODEwZDAzNzViMzE4NzZkMTVmZjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYWZ0ZXJwcmludC13aW5kb3cuaHRtbApAQCAtMCww
ICsxLDMwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICBm
dW5jdGlvbiBiZWZvcmVQcmludCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9sZGVyIik7CisgICAgZWwuaW5uZXJIVE1MICs9ICJBZGRlZCBieSBiZWZvcmVQcmlu
dCBldmVudC4gIjsKKyAgfQorCisgIGZ1bmN0aW9uIGFmdGVyUHJpbnQoKSB7CisgICAgdmFyIGVs
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvbGRlciIpOworICAgIGVsLmlubmVySFRNTCAr
PSAiQWRkZWQgYnkgYWZ0ZXJQcmludCBldmVudC4gIjsKKyAgfQorCisgIHdpbmRvdy5vbmJlZm9y
ZXByaW50ID0gYmVmb3JlUHJpbnQ7CisgIHdpbmRvdy5vbmFmdGVycHJpbnQgPSBhZnRlclByaW50
OworCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGUgbmV4dCBwYXJhZ3JhcGggc2hvdWxkIGNvbnRhaW4gdGhlIGluaXRpYWwgdGV4dCwg
dGV4dCBhZGRlZCBieSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQsIGFuZCB0ZXh0IGFkZGVkIGJ5IHRo
ZSBhZnRlclByaW50IGV2ZW50LjwvcD4KKzxwIGlkPSJob2xkZXIiPkluaXRpYWwgdGV4dC4gPC9w
PgorPHNjcmlwdD4KKyAgd2luZG93LnByaW50KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXBy
aW50LWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXBy
aW50LWJvZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTdkNTVkZjM2MmZiYWMwZmJlM2RlYWY2ZGQ1ZTA3
NGE0ZDk1YTNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQt
ZXZlbnQtYmVmb3JlcHJpbnQtYm9keS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGJlZm9yZVByaW50KCkg
eworICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBl
bC5pbm5lckhUTUwgPSAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuIjsKKyAgfQorCisg
IGZ1bmN0aW9uIGFmdGVyUHJpbnQoKSB7CisgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImhvbGRlciIpOworICAgIGVsLmlubmVySFRNTCA9ICJSZXBsYWNlZCBieSBhZnRlclBy
aW50IGV2ZW50LiI7CisgIH0KKworICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0UHJpbnRpbmcoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25iZWZvcmVwcmludD0iYmVmb3JlUHJpbnQoKSIgb25hZnRlcnByaW50PSJhZnRlclByaW50KCki
PgorPHA+VGhlIHRleHQgaW4gdGhlIG5leHQgcGFyYWdyYXBoIHNob3VsZCBiZSByZXBsYWNlZCBi
eSB0aGUgYmVmb3JlUHJpbnQgZXZlbnQuPC9wPgorPHAgaWQ9ImhvbGRlciI+QWxyZWFkeSBpbiB0
aGUgaG9sZGVyLCBzaG91bGQgYmUgcmVwbGFjZWQuPC9wPgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wcmludC1ldmVudC1iZWZv
cmVwcmludC1uYXZpZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQt
YmVmb3JlcHJpbnQtbmF2aWdhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzIzZGNjNjc0ZjE3YmRiODY2
OTNiMjkyOTIxZjlhZjI1ZGQxN2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJp
bnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtbmF2aWdhdGUuaHRtbApAQCAtMCwwICsxLDE5
IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICBmdW5jdGlv
biBiZWZvcmVQcmludCgpIHsKKyAgICB3aW5kb3cubG9jYXRpb24uaHJlZj0icmVzb3VyY2VzL25h
dmlnYXRpb24tZGVzdGluYXRpb24uaHRtbCI7CisgIH0KKworICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0UHJpbnRpbmcoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25iZWZvcmVwcmludD0iYmVmb3JlUHJpbnQoKSI+Cis8cD5UaGVyZSBz
aG91bGQgYmUgbm8gY3Jhc2g8L3A+Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50LWJlZm9yZXByaW50LXdpbmRv
dy5odG1sIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcHJpbnQtZXZlbnQtYmVmb3JlcHJpbnQtd2lu
ZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUyODY2NjQzNjlkYjMxMDJiYjViNmFlOWQxMGVjMjMwMWQ2
YjVkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3ByaW50LWV2ZW50
LWJlZm9yZXByaW50LXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGJlZm9yZVByaW50KCkgewor
ICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob2xkZXIiKTsKKyAgICBlbC5p
bm5lckhUTUwgPSAiUmVwbGFjZWQgYnkgYmVmb3JlUHJpbnQgZXZlbnQuIjsKKyAgfQorCisgIGZ1
bmN0aW9uIGFmdGVyUHJpbnQoKSB7CisgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImhvbGRlciIpOworICAgIGVsLmlubmVySFRNTCA9ICJSZXBsYWNlZCBieSBhZnRlclByaW50
IGV2ZW50LiI7CisgIH0KKworICB3aW5kb3cub25iZWZvcmVwcmludCA9IGJlZm9yZVByaW50Owor
ICB3aW5kb3cub25hZnRlcnByaW50ID0gYWZ0ZXJQcmludDsKKworICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0UHJpbnRpbmco
KTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGUgdGV4dCBpbiB0aGUgbmV4dCBwYXJhZ3JhcGggc2hv
dWxkIGJlIHJlcGxhY2VkIGJ5IHRoZSBiZWZvcmVQcmludCBldmVudC48L3A+Cis8cCBpZD0iaG9s
ZGVyIj5BbHJlYWR5IGluIHRoZSBob2xkZXIsIHNob3VsZCBiZSByZXBsYWNlZC48L3A+Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5n
L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWRlc3RpbmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9wcmlu
dGluZy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1kZXN0aW5hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRl
ZWUyMjBiY2EzNTk5OWFjMWM4MTk0MTA5ZjhhOGYyZjJmN2Q0NzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wcmludGluZy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1kZXN0aW5hdGlvbi5o
dG1sCkBAIC0wLDAgKzEsMiBAQAorPCFkb2N0eXBlIGh0bWw+CitUaGlzIGlzIGEgdGVzdCBwYWdl
Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>