<?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>74499</bug_id>
          
          <creation_ts>2011-12-14 04:29:21 -0800</creation_ts>
          <short_desc>GeolocationClient should have a setController() method.</short_desc>
          <delta_ts>2011-12-19 11:28:30 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Færøy">ahf</reporter>
          <assigned_to name="Alexander Færøy">ahf</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520846</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 04:29:21 -0800</bug_when>
    <thetext>The current implementation of GeolocationClient does not have a setController() method, which means that the clients that inherit from GeolocationClient passes the WebPage from which they can get the geolocationController()-&gt;client() from. It would be nicer if the GeolocationController called m_client-&gt;setController(this) upon construction such that keeping a pointer to the WebPage becomes unnecessary. 

Patch coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520848</commentid>
    <comment_count>1</comment_count>
      <attachid>119201</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 04:33:55 -0800</bug_when>
    <thetext>Created attachment 119201
Patch

Initial patch. This is just to see what the EWS says.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520850</commentid>
    <comment_count>2</comment_count>
      <attachid>119201</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-14 04:36:55 -0800</bug_when>
    <thetext>Comment on attachment 119201
Patch

Attachment 119201 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10872239</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520860</commentid>
    <comment_count>3</comment_count>
      <attachid>119204</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 05:03:37 -0800</bug_when>
    <thetext>Created attachment 119204
Patch

Take two, lets see what EWS says.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520865</commentid>
    <comment_count>4</comment_count>
      <attachid>119204</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-14 05:13:40 -0800</bug_when>
    <thetext>Comment on attachment 119204
Patch

Attachment 119204 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10870257</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520869</commentid>
    <comment_count>5</comment_count>
      <attachid>119204</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-14 05:22:39 -0800</bug_when>
    <thetext>Comment on attachment 119204
Patch

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

I&apos;m not sure this change is a good one. It&apos;s common to keep the page as a member of the clients. I also wonder if it&apos;s possible that you might end up holding a different controller than what the page is associated with in some cases. Also, it doesn&apos;t seem to gain much in terms of code simplification. Would you mind arguing the case for going through with this change?

&gt; Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.h:46
&gt; +    void setController(GeolocationController*);
&gt; +

The GTK+ build fails because this class is inside the WebCore namespace and there&apos;s no using namespace WebCore in this file, so you have to prefix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520872</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-14 05:28:03 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 119204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119204&amp;action=review
&gt; 
&gt; I&apos;m not sure this change is a good one. It&apos;s common to keep the page as a member of the clients. I also wonder if it&apos;s possible that you might end up holding a different controller than what the page is associated with in some cases. Also, it doesn&apos;t seem to gain much in terms of code simplification. Would you mind arguing the case for going through with this change?

It makes a lot of sense if you want to reuse your implementation across webkit1 and 2. This is also already how it is done for the DeviceOrientation/Motion clients, and for the Chromium geolocation client if I am not wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520873</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 05:29:19 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;m not sure this change is a good one. It&apos;s common to keep the page as a member of the clients. I also wonder if it&apos;s possible that you might end up holding a different controller than what the page is associated with in some cases. Also, it doesn&apos;t seem to gain much in terms of code simplification. Would you mind arguing the case for going through with this change?

The patch is made to unify this client such that it works more like the DeviceOrientation clients.


&gt; The GTK+ build fails because this class is inside the WebCore namespace and there&apos;s no using namespace WebCore in this file, so you have to prefix it.

Will fix and upload a new version of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520874</commentid>
    <comment_count>8</comment_count>
      <attachid>119209</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 05:31:20 -0800</bug_when>
    <thetext>Created attachment 119209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520878</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-14 05:36:54 -0800</bug_when>
    <thetext>I see, thanks for the clarification, and there you go, gtk is green =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520887</commentid>
    <comment_count>10</comment_count>
      <attachid>119209</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-14 05:56:04 -0800</bug_when>
    <thetext>Comment on attachment 119209
Patch

Attachment 119209 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10830248

New failing tests:
fast/media/media-svg-crash.html
css2.1/20110323/background-intrinsic-007.htm
css2.1/20110323/background-intrinsic-004.htm
css2.1/20110323/background-intrinsic-006.htm
fast/backgrounds/animated-svg-as-mask.html
fast/forms/number/spin-in-multi-column.html
http/tests/security/canvas-remote-read-svg-image.html
compositing/images/direct-svg-image.html
css2.1/20110323/background-intrinsic-009.htm
css3/images/cross-fade-overflow-position.html
css2.1/20110323/background-intrinsic-008.htm
css2.1/20110323/background-intrinsic-002.htm
css2.1/20110323/background-intrinsic-001.htm
css2.1/20110323/background-intrinsic-005.htm
http/tests/security/canvas-remote-read-data-url-svg-image.html
fast/canvas/svg-taint.html
css2.1/20110323/background-intrinsic-003.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520913</commentid>
    <comment_count>11</comment_count>
      <attachid>119216</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 07:18:26 -0800</bug_when>
    <thetext>Created attachment 119216
Patch

Unbreak Windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521224</commentid>
    <comment_count>12</comment_count>
      <attachid>119216</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-14 13:11:36 -0800</bug_when>
    <thetext>Comment on attachment 119216
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        GeolocationClient should have a setController() method.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=74499
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Already covered by existing tests.
&gt; +

You forgot to tell why this change makes sense, what is the reasoning behind it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522754</commentid>
    <comment_count>13</comment_count>
      <attachid>119612</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-16 08:01:26 -0800</bug_when>
    <thetext>Created attachment 119612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523242</commentid>
    <comment_count>14</comment_count>
      <attachid>119612</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 21:14:29 -0800</bug_when>
    <thetext>Comment on attachment 119612
Patch

Attachment 119612 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10929006

New failing tests:
fast/media/media-svg-crash.html
http/tests/inspector-enabled/dedicated-workers-list.html
css2.1/20110323/background-intrinsic-007.htm
css2.1/20110323/background-intrinsic-004.htm
css2.1/20110323/background-intrinsic-006.htm
fast/backgrounds/animated-svg-as-mask.html
css2.1/20110323/background-intrinsic-008.htm
http/tests/security/canvas-remote-read-svg-image.html
compositing/images/direct-svg-image.html
css2.1/20110323/background-intrinsic-009.htm
http/tests/inspector/network-preflight-options.html
css2.1/20110323/background-intrinsic-002.htm
css3/images/cross-fade-overflow-position.html
css2.1/20110323/background-intrinsic-005.htm
http/tests/security/canvas-remote-read-data-url-svg-image.html
css2.1/20110323/background-intrinsic-001.htm
fast/canvas/svg-taint.html
css2.1/20110323/background-intrinsic-003.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523836</commentid>
    <comment_count>15</comment_count>
      <attachid>119612</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-19 04:35:47 -0800</bug_when>
    <thetext>Comment on attachment 119612
Patch

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

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebGeolocationClient.cpp:47
&gt; +void WebGeolocationClient::setController(GeolocationController*)
&gt; +{
&gt; +}

I think the emptyness of this method deserves a comment (i.e. the fact that the update is propagated differently)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523841</commentid>
    <comment_count>16</comment_count>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-19 04:55:41 -0800</bug_when>
    <thetext>After a short discussion on IRC, Simon and I decided not to continue with this patch, since it will be easier to just do a clean reimplementation of this client for WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524059</commentid>
    <comment_count>17</comment_count>
      <attachid>119612</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-19 11:28:30 -0800</bug_when>
    <thetext>Comment on attachment 119612
Patch

Cleared review? from attachment 119612 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119201</attachid>
            <date>2011-12-14 04:33:55 -0800</date>
            <delta_ts>2011-12-14 05:03:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74499-20111214133918.patch</filename>
            <type>text/plain</type>
            <size>12203</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVjNTEyNTZiYjI2Yjll
ZDY0YmY5MWQwYzZjMDRiMmYxMzI3NzUyOC4uZmFjNmJlNWMyZDA1NzI5ZTU0MWM2YjZjODNjM2I1
ZmUwZWE5NjZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdl
b2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiAoT09QUyEpCisKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ2xpZW50Lmg6CisgICAgICAg
ICogcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
bG9jYXRpb25Db250cm9sbGVyOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIpOgorCiAyMDExLTEyLTEz
ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFRyZWVPdXRsaW5lJ3MgaXMgYnJva2VuIHdoZW4gbGkgZWxlbWVudHMgaGF2ZSBw
YWRkaW5nLWxlZnQgZGlmZmVyZW50IGZyb20gMTRweC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNWY0NmEx
ZGM1ZjFjYmQ4YzM4MmViYjk3NTcwNzJkYTUyMTYyNzBmMi4uMzhkZjdlNjBhMmFkZjlmOGY5MDQw
NjQ0MzAwZTY5ZWE3OTNkZTI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMSBAQAogMjAx
MS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkgIDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4K
IAorICAgICAgICBHZW9sb2NhdGlvbkNsaWVudCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIo
KSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQ
cml2YXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xp
ZW50UXQpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c2V0Q29udHJv
bGxlcik6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudFF0Ojpwb3NpdGlvblVw
ZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c3RhcnRVcGRh
dGluZyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oOgor
CisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEu
Y29tPgorCiAgICAgICAgIFtRdF0gRml4IGNvbXBpbGF0aW9uIG9mIFF0V2ViS2l0IHdpdGggLS1v
cmllbnRhdGlvbi1ldmVudHMgd2l0aG91dCBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggMmQzZDBmMWVkMTg0ZTA3NGVkNWJmNTBjNjg5N2ZiNzg4NTAzNTZlZS4uNzI1Njlk
ZjNmNzhlZDdhNjJlYjAxNTI5ZDE5NTEwNGZiNzNhNjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lA
bm9raWEuY29tPgorCisgICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0
Q29udHJvbGxlcigpIG1ldGhvZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRy
b2xsZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRp
b25DbGllbnQuaDoKKwogMjAxMS0xMi0xMyAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdu
b21lLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvR2VvbG9jYXRpb25DbGllbnQuaAppbmRleCA0NGNiOTA5MTcyZDA5N2YxNzIwZGFjZWMzNWU5
ZTVlNGI5YjdiNjQ0Li4wN2ExN2QzNjdkMzI4NDk3NTE0OGQxNjVlNmUwOWRmOGYwZTE1OWMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNsaWVudC5oCkBAIC0zMCwxMSArMzAsMTQg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHZW9sb2NhdGlvbjsKIGNsYXNzIEdlb2xv
Y2F0aW9uUG9zaXRpb247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiAKIGNsYXNzIEdl
b2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25E
ZXN0cm95ZWQoKSA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihHZW9sb2Nh
dGlvbkNvbnRyb2xsZXIqKSA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkgPSAwOwogICAgIC8vIEZJWE1F
OiBUaGUgVjIgR2VvbG9jYXRpb24gc3BlY2lmaWNhdGlvbiBwcm9wb3NlcyB0aGF0IHRoaXMgcHJv
cGVydHkgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNw
cAppbmRleCBiOTUzM2NhM2I1MDM2ZGM5MDJmODE1MjdhMmFiNDVkZTY1OTNmMmRiLi4xOWY3MDU3
OTNlMTU1ODM3YzRhOGU2N2I1OGJhMDk0MDhlNTVmODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0zNyw2ICszNyw4IEBAIEdlb2xvY2F0
aW9uQ29udHJvbGxlcjo6R2VvbG9jYXRpb25Db250cm9sbGVyKFBhZ2UqIHBhZ2UsIEdlb2xvY2F0
aW9uQ2xpZW50KiBjbGllCiAgICAgOiBtX3BhZ2UocGFnZSkKICAgICAsIG1fY2xpZW50KGNsaWVu
dCkKIHsKKyAgICBBU1NFUlQobV9jbGllbnQpOworICAgIG1fY2xpZW50LT5zZXRDb250cm9sbGVy
KHRoaXMpOwogfQogCiBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6On5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDc5ZDRmYzc1OWYyMGEzNzA5MmQ4
ODBlYjMyYzgzZGQ4ZDM1MTkyNDMuLmM4YjhjZDNlNzEyMmNmNWY4ZjM5OWVjZDUyMTMxMzk0MDU2
MWE1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTMzNSw3ICszMzUsNyBAQCBR
V2ViUGFnZVByaXZhdGU6OlFXZWJQYWdlUHJpdmF0ZShRV2ViUGFnZSAqcXEpCiAgICAgaWYgKHVz
ZU1vY2spCiAgICAgICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9uQ2xpZW50ID0gbmV3IEdlb2xv
Y2F0aW9uQ2xpZW50TW9jazsKICAgICBlbHNlCi0gICAgICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0
aW9uQ2xpZW50ID0gbmV3IEdlb2xvY2F0aW9uQ2xpZW50UXQocSk7CisgICAgICAgIHBhZ2VDbGll
bnRzLmdlb2xvY2F0aW9uQ2xpZW50ID0gbmV3IEdlb2xvY2F0aW9uQ2xpZW50UXQ7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBwYWdlQ2xpZW50cy5ub3RpZmljYXRpb25D
bGllbnQgPSBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2Vu
dGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xv
Y2F0aW9uQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9s
b2NhdGlvbkNsaWVudFF0LmNwcAppbmRleCBjZGE1ZjM1MGJhNjI1ZDhjNTEwYzI5MzJlMmNmYmI4
YzM0YzQ1N2E0Li5jNWEyYTZjZDJiNjNkMDAyYTk0ZmY0ZGFlZTM4MTAyN2UyNWY2YWU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50
UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25D
bGllbnRRdC5jcHAKQEAgLTM0LDggKzM0LDYgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAicXdlYmZyYW1lLmgiCiAjaW5jbHVkZSAicXdlYmZyYW1lX3AuaCIKLSNpbmNsdWRlICJxd2Vi
cGFnZS5oIgotI2luY2x1ZGUgInF3ZWJwYWdlX3AuaCIKIAogI2lmIFFUX1ZFUlNJT04gPCBRVF9W
RVJTSU9OX0NIRUNLKDUsIDAsIDApCiAjaW5jbHVkZSA8UUdlb1Bvc2l0aW9uSW5mb1NvdXJjZT4K
QEAgLTQ3LDEwICs0NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBj
aGFyIGZhaWxlZFRvU3RhcnRTZXJ2aWNlRXJyb3JNZXNzYWdlW10gPSAiRmFpbGVkIHRvIHN0YXJ0
IEdlb2xvY2F0aW9uIHNlcnZpY2UiOwogCi1HZW9sb2NhdGlvbkNsaWVudFF0OjpHZW9sb2NhdGlv
bkNsaWVudFF0KGNvbnN0IFFXZWJQYWdlKiBwYWdlKQotICAgIDogbV9wYWdlKHBhZ2UpCi0gICAg
LCBtX2xhc3RQb3NpdGlvbigwKQorR2VvbG9jYXRpb25DbGllbnRRdDo6R2VvbG9jYXRpb25DbGll
bnRRdCgpCisgICAgOiBtX2xhc3RQb3NpdGlvbigwKQogICAgICwgbV9sb2NhdGlvbigwKQorICAg
ICwgbV9jb250cm9sbGVyKDApCiB7CiB9CiAKQEAgLTU4LDYgKzU2LDExIEBAIEdlb2xvY2F0aW9u
Q2xpZW50UXQ6On5HZW9sb2NhdGlvbkNsaWVudFF0KCkKIHsKICAgICBkZWxldGUgbV9sb2NhdGlv
bjsKIH0KK3ZvaWQgR2VvbG9jYXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcihHZW9sb2NhdGlv
bkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7CisgICAgQVNTRVJUKGNvbnRyb2xsZXIpOworICAg
IG1fY29udHJvbGxlciA9IGNvbnRyb2xsZXI7Cit9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRR
dDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQogewpAQCAtNjksMzIgKzcyLDMzIEBAIHZvaWQgR2Vv
bG9jYXRpb25DbGllbnRRdDo6cG9zaXRpb25VcGRhdGVkKGNvbnN0IFFHZW9Qb3NpdGlvbkluZm8m
IGdlb1Bvc2l0aW9uKQogICAgIGlmICghZ2VvUG9zaXRpb24uaXNWYWxpZCgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBRR2VvQ29vcmRpbmF0ZSBjb29yZCA9IGdlb1Bvc2l0aW9uLmNvb3JkaW5h
dGUoKTsKLSAgICBkb3VibGUgbGF0aXR1ZGUgPSBjb29yZC5sYXRpdHVkZSgpOwotICAgIGRvdWJs
ZSBsb25naXR1ZGUgPSBjb29yZC5sb25naXR1ZGUoKTsKLSAgICBib29sIHByb3ZpZGVzQWx0aXR1
ZGUgPSAoZ2VvUG9zaXRpb24uY29vcmRpbmF0ZSgpLnR5cGUoKSA9PSBRR2VvQ29vcmRpbmF0ZTo6
Q29vcmRpbmF0ZTNEKTsKLSAgICBkb3VibGUgYWx0aXR1ZGUgPSBjb29yZC5hbHRpdHVkZSgpOwor
ICAgIGlmIChtX2NvbnRyb2xsZXIpIHsKKyAgICAgICAgUUdlb0Nvb3JkaW5hdGUgY29vcmQgPSBn
ZW9Qb3NpdGlvbi5jb29yZGluYXRlKCk7CisgICAgICAgIGRvdWJsZSBsYXRpdHVkZSA9IGNvb3Jk
LmxhdGl0dWRlKCk7CisgICAgICAgIGRvdWJsZSBsb25naXR1ZGUgPSBjb29yZC5sb25naXR1ZGUo
KTsKKyAgICAgICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlID0gKGdlb1Bvc2l0aW9uLmNvb3JkaW5h
dGUoKS50eXBlKCkgPT0gUUdlb0Nvb3JkaW5hdGU6OkNvb3JkaW5hdGUzRCk7CisgICAgICAgIGRv
dWJsZSBhbHRpdHVkZSA9IGNvb3JkLmFsdGl0dWRlKCk7CiAKLSAgICBkb3VibGUgYWNjdXJhY3kg
PSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6SG9yaXpvbnRhbEFjY3Vy
YWN5KTsKKyAgICAgICAgZG91YmxlIGFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uYXR0cmlidXRlKFFH
ZW9Qb3NpdGlvbkluZm86Okhvcml6b250YWxBY2N1cmFjeSk7CiAKLSAgICBib29sIHByb3ZpZGVz
QWx0aXR1ZGVBY2N1cmFjeSA9IGdlb1Bvc2l0aW9uLmhhc0F0dHJpYnV0ZShRR2VvUG9zaXRpb25J
bmZvOjpWZXJ0aWNhbEFjY3VyYWN5KTsKLSAgICBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSA9IGdl
b1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpWZXJ0aWNhbEFjY3VyYWN5KTsK
KyAgICAgICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlQWNjdXJhY3kgPSBnZW9Qb3NpdGlvbi5oYXNB
dHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6VmVydGljYWxBY2N1cmFjeSk7CisgICAgICAgIGRv
dWJsZSBhbHRpdHVkZUFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3NpdGlv
bkluZm86OlZlcnRpY2FsQWNjdXJhY3kpOwogCi0gICAgYm9vbCBwcm92aWRlc0hlYWRpbmcgPSAg
Z2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OkRpcmVjdGlvbik7Ci0g
ICAgZG91YmxlIGhlYWRpbmcgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5m
bzo6RGlyZWN0aW9uKTsKKyAgICAgICAgYm9vbCBwcm92aWRlc0hlYWRpbmcgPSAgZ2VvUG9zaXRp
b24uaGFzQXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OkRpcmVjdGlvbik7CisgICAgICAgIGRv
dWJsZSBoZWFkaW5nID0gZ2VvUG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OkRp
cmVjdGlvbik7CiAKLSAgICBib29sIHByb3ZpZGVzU3BlZWQgPSBnZW9Qb3NpdGlvbi5oYXNBdHRy
aWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOwotICAgIGRvdWJsZSBzcGVlZCA9
IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpHcm91bmRTcGVlZCk7Cisg
ICAgICAgIGJvb2wgcHJvdmlkZXNTcGVlZCA9IGdlb1Bvc2l0aW9uLmhhc0F0dHJpYnV0ZShRR2Vv
UG9zaXRpb25JbmZvOjpHcm91bmRTcGVlZCk7CisgICAgICAgIGRvdWJsZSBzcGVlZCA9IGdlb1Bv
c2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpHcm91bmRTcGVlZCk7CiAKLSAgICBk
b3VibGUgdGltZVN0YW1wSW5TZWNvbmRzID0gZ2VvUG9zaXRpb24udGltZXN0YW1wKCkudG9NU2Vj
c1NpbmNlRXBvY2goKSAvIDEwMDA7CisgICAgICAgIGRvdWJsZSB0aW1lU3RhbXBJblNlY29uZHMg
PSBnZW9Qb3NpdGlvbi50aW1lc3RhbXAoKS50b01TZWNzU2luY2VFcG9jaCgpIC8gMTAwMDsKIAot
ICAgIG1fbGFzdFBvc2l0aW9uID0gR2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKHRpbWVTdGFt
cEluU2Vjb25kcywgbGF0aXR1ZGUsIGxvbmdpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY2N1cmFjeSwgcHJvdmlkZXNBbHRpdHVkZSwgYWx0
aXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5LCBhbHRpdHVkZUFjY3VyYWN5LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzSGVhZGluZywgaGVh
ZGluZywgcHJvdmlkZXNTcGVlZCwgc3BlZWQpOworICAgICAgICBtX2xhc3RQb3NpdGlvbiA9IEdl
b2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZSh0aW1lU3RhbXBJblNlY29uZHMsIGxhdGl0dWRlLCBs
b25naXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFjY3VyYWN5LCBwcm92aWRlc0FsdGl0dWRlLCBhbHRpdHVkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXNBbHRpdHVk
ZUFjY3VyYWN5LCBhbHRpdHVkZUFjY3VyYWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlc0hlYWRpbmcsIGhlYWRpbmcsIHByb3Zp
ZGVzU3BlZWQsIHNwZWVkKTsKIAotICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBRV2ViUGFnZVBy
aXZhdGU6OmNvcmUobV9wYWdlKTsKLSAgICBwYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+
cG9zaXRpb25DaGFuZ2VkKG1fbGFzdFBvc2l0aW9uLmdldCgpKTsKKyAgICAgICAgbV9jb250cm9s
bGVyLT5wb3NpdGlvbkNoYW5nZWQobV9sYXN0UG9zaXRpb24uZ2V0KCkpOworICAgIH0KIH0KIAog
dm9pZCBHZW9sb2NhdGlvbkNsaWVudFF0OjpzdGFydFVwZGF0aW5nKCkKQEAgLTEwMyw5ICsxMDcs
OSBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6OnN0YXJ0VXBkYXRpbmcoKQogICAgICAgICBj
b25uZWN0KG1fbG9jYXRpb24sIFNJR05BTChwb3NpdGlvblVwZGF0ZWQoUUdlb1Bvc2l0aW9uSW5m
bykpLCB0aGlzLCBTTE9UKHBvc2l0aW9uVXBkYXRlZChRR2VvUG9zaXRpb25JbmZvKSkpOwogCiAg
ICAgaWYgKCFtX2xvY2F0aW9uKSB7Ci0gICAgICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBRV2Vi
UGFnZVByaXZhdGU6OmNvcmUobV9wYWdlKTsKICAgICAgICAgUmVmUHRyPFdlYkNvcmU6Okdlb2xv
Y2F0aW9uRXJyb3I+IGVycm9yID0gR2VvbG9jYXRpb25FcnJvcjo6Y3JlYXRlKEdlb2xvY2F0aW9u
RXJyb3I6OlBvc2l0aW9uVW5hdmFpbGFibGUsIGZhaWxlZFRvU3RhcnRTZXJ2aWNlRXJyb3JNZXNz
YWdlKTsKLSAgICAgICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmVycm9yT2NjdXJy
ZWQoZXJyb3IuZ2V0KCkpOworICAgICAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICAgICAg
bV9jb250cm9sbGVyLT5lcnJvck9jY3VycmVkKGVycm9yLmdldCgpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9H
ZW9sb2NhdGlvbkNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dl
b2xvY2F0aW9uQ2xpZW50UXQuaAppbmRleCA5YTI4MjVkOTQyYjNmYThmYjg1NDQ5YjVkNmQxYzJl
MWRiMjgwNmY2Li41Zjg3N2FhMDczZDAzNmVmYjY0MTljOTllODA0YTdkZGI5M2M4ODNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50
UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xp
ZW50UXQuaApAQCAtNDIsMTkgKzQyLDE5IEBAIHVzaW5nIG5hbWVzcGFjZSBRdE1vYmlsaXR5Owog
Y2xhc3MgUUdlb1Bvc2l0aW9uSW5mb1NvdXJjZTsKICNlbmRpZgogCi0KLWNsYXNzIFFXZWJQYWdl
OwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiAK
IC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYSBHZW9sb2NhdGlv
blNlcnZpY2UgZm9yIFF0V2Via2l0LgogY2xhc3MgR2VvbG9jYXRpb25DbGllbnRRdCA6IHB1Ymxp
YyBRT2JqZWN0LCBwdWJsaWMgR2VvbG9jYXRpb25DbGllbnQgewogICAgIFFfT0JKRUNUCiAKIHB1
YmxpYzoKLSAgICBHZW9sb2NhdGlvbkNsaWVudFF0KGNvbnN0IFFXZWJQYWdlKik7CisgICAgR2Vv
bG9jYXRpb25DbGllbnRRdCgpOwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uQ2xpZW50UXQoKTsK
IAorICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciop
OworCiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCk7CiAgICAgdmlydHVh
bCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7
CkBAIC02OSw5ICs2OSw5IEBAIHByaXZhdGUgUV9TTE9UUzoKICAgICB2b2lkIHBvc2l0aW9uVXBk
YXRlZChjb25zdCBRR2VvUG9zaXRpb25JbmZvJik7CiAKIHByaXZhdGU6Ci0gICAgY29uc3QgUVdl
YlBhZ2UqIG1fcGFnZTsKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9z
aXRpb247CiAgICAgUUdlb1Bvc2l0aW9uSW5mb1NvdXJjZSogbV9sb2NhdGlvbjsKKyAgICBHZW9s
b2NhdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViR2VvbG9jYXRpb25DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHAKaW5kZXggMWY5MjBhMWZiNWJl
M2UzMGNlZWFiMjljNjM0MTU5NDFkYjM2NzliMC4uMzRiMmJkMjRlZDI0MjJkMDkyNTNmYWEzM2Q5
ZGYwYjVlODU4MjAxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHAKQEAgLTQy
LDYgKzQyLDEwIEBAIFdlYkdlb2xvY2F0aW9uQ2xpZW50Ojp+V2ViR2VvbG9jYXRpb25DbGllbnQo
KQogewogfQogCit2b2lkIFdlYkdlb2xvY2F0aW9uQ2xpZW50OjpzZXRDb250cm9sbGVyKEdlb2xv
Y2F0aW9uQ29udHJvbGxlciopCit7Cit9CisKIHZvaWQgV2ViR2VvbG9jYXRpb25DbGllbnQ6Omdl
b2xvY2F0aW9uRGVzdHJveWVkKCkKIHsKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5nZW9sb2Nh
dGlvbk1hbmFnZXIoKS51bnJlZ2lzdGVyV2ViUGFnZShtX3BhZ2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2Nh
dGlvbkNsaWVudC5oCmluZGV4IDIxZmM0MzgzZjliNTRjNTg0YjMyMTczMzFkODM2MDI3NThjNDIy
YzguLmMxMmU4MzJlYzFlOGM0NjYxYmIxOWFlYTIzZGE4NWViZDY3NjhiMWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25D
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykdlb2xvY2F0aW9uQ2xpZW50LmgKQEAgLTMwLDYgKzMwLDEwIEBACiAKICNpbmNsdWRlIDxXZWJD
b3JlL0dlb2xvY2F0aW9uQ2xpZW50Lmg+CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEdl
b2xvY2F0aW9uQ29udHJvbGxlcjsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdl
YlBhZ2U7CkBAIC00MSw2ICs0NSw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisgICAgdmly
dHVhbCB2b2lkIHNldENvbnRyb2xsZXIoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyKikg
T1ZFUlJJREU7CisKICAgICB2aXJ0dWFsIH5XZWJHZW9sb2NhdGlvbkNsaWVudCgpOwogCiBwcml2
YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119204</attachid>
            <date>2011-12-14 05:03:37 -0800</date>
            <delta_ts>2011-12-14 05:31:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74499-20111214140900.patch</filename>
            <type>text/plain</type>
            <size>20899</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVjNTEyNTZiYjI2Yjll
ZDY0YmY5MWQwYzZjMDRiMmYxMzI3NzUyOC4uNGU4MzBhMjJmOTRjMDdkZWYxMjQ5YjZhYzZhMDIz
N2JiOTM3MDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdl
b2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNsaWVu
dC5oOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6R2VvbG9jYXRpb25Db250cm9sbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oOgorCiAyMDEx
LTEyLTEzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFRyZWVPdXRsaW5lJ3MgaXMgYnJva2VuIHdoZW4gbGkgZWxlbWVudHMg
aGF2ZSBwYWRkaW5nLWxlZnQgZGlmZmVyZW50IGZyb20gMTRweC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggZWNmYjhiMmJkNTc5ZDUzMjgxNGNjOTMyNGEyODc4NzM4OGY5ODNmNi4uMGE3
NTg3YzU5NzdhMWExYzAxMzExMGEzMTUyNTJmOTc3OThkMjE5NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkg
IDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVu
dCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJv
eHkuaDoKKwogMjAxMS0xMi0xMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBjaHJvbWl1bSBwb3J0IC0gcmVtb3ZlIG5hY2wgaGFjayBpbiBERVBTL2d5cF93
ZWJraXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBlYWQ4Y2UxNmZlOWFiMzZjNTM2ZTg4MDYzMmQ5MjNk
MmQ4M2E0MmU0Li4xYWY4ZDc3NWIwNDgwMTk2NjBlNDIyZmMzNGJlMzk5YTAwNzNiOGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMTQgIEFsZXhhbmRlciBGw6Zy
w7h5ICA8YWxleGFuZGVyLmZhZXJveUBub2tpYS5jb20+CisKKyAgICAgICAgR2VvbG9jYXRpb25D
bGllbnQgc2hvdWxkIGhhdmUgYSBzZXRDb250cm9sbGVyKCkgbWV0aG9kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0dlb2xv
Y2F0aW9uQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6
Okdlb2xvY2F0aW9uQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6
OnNldENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpHZW9sb2NhdGlvbkNsaWVudDo6dXBk
YXRlUG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpHZW9sb2NhdGlvbkNsaWVudDo6ZXJyb3JP
Y2N1cmVkKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5o
OgorCiAyMDExLTEyLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFdlYktpdCBjb2RlIHNob3VsZG4ndCBiZSBjYWxsaW5nIGFwcGx5Q29tbWFuZCBkaXJlY3Rs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3ZWM3YjhkOWRjZDNiYmNlODU1NGY2ZGUyYmZjNmQ5ZTZi
OTMwMTkuLjQwNGZmZTQzYjMyYjQ5YzIzMWM1YzQ0Mzg1ZTRhODYwOTcxMWIwNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkg
IDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVu
dCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9j
YXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBXZWJLaXQgY29kZSBzaG91bGRuJ3QgYmUgY2FsbGluZyBhcHBseUNv
bW1hbmQgZGlyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNWY0NmExZGM1ZjFjYmQ4YzM4MmViYjk3
NTcwNzJkYTUyMTYyNzBmMi4uMzhkZjdlNjBhMmFkZjlmOGY5MDQwNjQ0MzAwZTY5ZWE3OTNkZTI0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMSBAQAogMjAxMS0xMi0xNCAgQWxleGFuZGVy
IEbDpnLDuHkgIDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KIAorICAgICAgICBHZW9sb2Nh
dGlvbkNsaWVudCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQpOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudFF0Ojpwb3NpdGlvblVwZGF0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oOgorCisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCiAgICAgICAgIFtR
dF0gRml4IGNvbXBpbGF0aW9uIG9mIFF0V2ViS2l0IHdpdGggLS1vcmllbnRhdGlvbi1ldmVudHMg
d2l0aG91dCBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZDA2
ZjljN2UzMTI0OWJiOGI0YmRjMmNiMzIyZTM5YWIxZDIwNjNiMC4uZmI3MjM1NmRjZjU5OTUyMGM0
MzQ4ODJiY2E3ZDEyYmJiNWU3YjcyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEu
Y29tPgorCisgICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJv
bGxlcigpIG1ldGhvZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc0NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oOgorICAgICAgICAo
V2ViR2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorCiAyMDExLTEyLTA3ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgQ2hhbmdlIGZ1bmN0
aW9uIG5hbWUgSW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5IHRvIGZvbGxvdyBj
b2Rpbmcgc3R5bGUgZ3VpZGVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmQzZDBmMWVkMTg0ZTA3NGVkNWJm
NTBjNjg5N2ZiNzg4NTAzNTZlZS4uNzI1NjlkZjNmNzhlZDdhNjJlYjAxNTI5ZDE5NTEwNGZiNzNh
NjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIg
RsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdlb2xvY2F0
aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xMyAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGllbnQuaAppbmRleCA0
NGNiOTA5MTcyZDA5N2YxNzIwZGFjZWMzNWU5ZTVlNGI5YjdiNjQ0Li5lZDhkZWM4YjlhZGE5YmFh
ZWIyOTFhZGM1YjU1NGI5ZDU3MjE2ODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0dlb2xvY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bkNsaWVudC5oCkBAIC0yOSwxMiArMjksMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgR2VvbG9jYXRpb247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9s
b2NhdGlvblBvc2l0aW9uOwogCiBjbGFzcyBHZW9sb2NhdGlvbkNsaWVudCB7CiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCkgPSAwOwogCisgICAgdmlydHVh
bCB2b2lkIHNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKikgPSAwOworCiAgICAg
dmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpID0gMDsKICAgICAvLyBGSVhNRTogVGhlIFYyIEdlb2xvY2F0aW9uIHNwZWNpZmlj
YXRpb24gcHJvcG9zZXMgdGhhdCB0aGlzIHByb3BlcnR5IGlzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggYjk1MzNjYTNiNTAzNmRjOTAyZjgx
NTI3YTJhYjQ1ZGU2NTkzZjJkYi4uMTlmNzA1NzkzZTE1NTgzN2M0YThlNjdiNThiYTA5NDA4ZTU1
Zjg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNw
cApAQCAtMzcsNiArMzcsOCBAQCBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6Okdlb2xvY2F0aW9uQ29u
dHJvbGxlcihQYWdlKiBwYWdlLCBHZW9sb2NhdGlvbkNsaWVudCogY2xpZQogICAgIDogbV9wYWdl
KHBhZ2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiB7CisgICAgQVNTRVJUKG1fY2xpZW50KTsK
KyAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlzKTsKIH0KIAogR2VvbG9jYXRpb25Db250
cm9sbGVyOjp+R2VvbG9jYXRpb25Db250cm9sbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCmluZGV4IGI0MDAxNjYxNjIz
ZDM4YmRhODQxOWQxM2I0OTc0ZWQ2YjQ4ZDQxNDMuLjVjNDliMzEyZjc4ZDg0OWI4YzEzMGU1ZWVh
NGQ5NzQwNjg1YTQwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+R2VvbG9jYXRpb25DbGllbnRNb2NrKCk7CiAKICAgICB2b2lkIHJlc2V0KCk7Ci0g
ICAgdm9pZCBzZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciopOwogCiAgICAgdm9p
ZCBzZXRFcnJvcihQYXNzUmVmUHRyPEdlb2xvY2F0aW9uRXJyb3I+KTsKICAgICB2b2lkIHNldFBv
c2l0aW9uKFBhc3NSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4pOwpAQCAtNjIsNiArNjEsNyBA
QCBwdWJsaWM6CiAgICAgaW50IG51bWJlck9mUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cygpIGNv
bnN0OwogCiAgICAgLy8gR2VvbG9jYXRpb25DbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9j
YXRpb25EZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHkuaAppbmRleCBlZTE3NWRjMGRjMTM5Zjk2
Y2NlZmM4MDEwOTg4NzIzMzNkNWZkYzIyLi42N2I5NzgzZGZmNGZmZGQzYmRkY2Y3ZTEyNDAzOGQ0
ZmRjNTgwN2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HZW9sb2Nh
dGlvbkNsaWVudFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR2VvbG9j
YXRpb25DbGllbnRQcm94eS5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ2xp
ZW50UHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnQgewogcHVibGljOgog
ICAgIEdlb2xvY2F0aW9uQ2xpZW50UHJveHkoV2ViR2VvbG9jYXRpb25DbGllbnQqIGNsaWVudCk7
CiAgICAgfkdlb2xvY2F0aW9uQ2xpZW50UHJveHkoKTsKLSAgICB2b2lkIHNldENvbnRyb2xsZXIo
V2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyICpjb250cm9sbGVyKTsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25EZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnRVcGRhdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50
R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xp
ZW50R3RrLmNwcAppbmRleCBmYWMxZDczYWZlM2E1MDgyMmEwZDEzZjkxODM0MjJjOTdmMzM5NTRl
Li5kYTFlMjFiYTBlZGJhNzRjNGYyZTFiNWVhOTUyZTg2NTRkOTc2OWY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRH
dGsuY3BwCkBAIC02MCw5ICs2MCwxNiBAQCBHZW9sb2NhdGlvbkNsaWVudDo6R2VvbG9jYXRpb25D
bGllbnQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAsIG1fdGltZXN0YW1wKDApCiAgICAg
LCBtX2VuYWJsZUhpZ2hBY2N1cmFjeShmYWxzZSkKICAgICAsIG1faXNVcGRhdGluZyhmYWxzZSkK
KyAgICAsIG1fY29udHJvbGxlcigwKQogewogfQogCit2b2lkIEdlb2xvY2F0aW9uQ2xpZW50Ojpz
ZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciogY29udHJvbGxlcikKK3sKKyAgICBB
U1NFUlQoY29udHJvbGxlcik7CisgICAgbV9jb250cm9sbGVyID0gY29udHJvbGxlcjsKK30KKwog
dm9pZCBHZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQogewogICAgIGRl
bGV0ZSB0aGlzOwpAQCAtMTY2LDEzICsxNzMsMTYgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudDo6
dXBkYXRlUG9zaXRpb24oKQogewogICAgIG1fbGFzdFBvc2l0aW9uID0gV2ViQ29yZTo6R2VvbG9j
YXRpb25Qb3NpdGlvbjo6Y3JlYXRlKHN0YXRpY19jYXN0PGRvdWJsZT4obV90aW1lc3RhbXApLCBt
X2xhdGl0dWRlLCBtX2xvbmdpdHVkZSwgbV9hY2N1cmFjeSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCBtX2FsdGl0dWRlLCB0
cnVlLCBtX2FsdGl0dWRlQWNjdXJhY3ksIGZhbHNlLCAwLCBmYWxzZSwgMCk7Ci0gICAgY29yZSht
X3dlYlZpZXcpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+cG9zaXRpb25DaGFuZ2VkKG1fbGFz
dFBvc2l0aW9uLmdldCgpKTsKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRy
b2xsZXItPnBvc2l0aW9uQ2hhbmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CiB9CiAKIHZvaWQg
R2VvbG9jYXRpb25DbGllbnQ6OmVycm9yT2NjdXJlZChjb25zdCBjaGFyKiBtZXNzYWdlKQogewog
ICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IFdlYkNvcmU6Okdl
b2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yOjpQb3NpdGlv
blVuYXZhaWxhYmxlLCBtZXNzYWdlKTsKLSAgICBjb3JlKG1fd2ViVmlldyktPmdlb2xvY2F0aW9u
Q29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdldCgpKTsKKworICAgIGlmIChtX2Nv
bnRyb2xsZXIpCisgICAgICAgIG1fY29udHJvbGxlci0+ZXJyb3JPY2N1cnJlZChlcnJvci5nZXQo
KSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0dlb2xvY2F0aW9uQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9HZW9sb2NhdGlvbkNsaWVudEd0ay5oCmluZGV4IGJmMTdjNzEzNWFhNWRjMzBmYzVjMGMxYjY3
OWQ4YWY1ZDk5ZTk2N2UuLjViOTg3M2ZkNjNjYTlkZDU2NjMzY2YxMTQ4NjJmMWM4YjA3MzIxNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9u
Q2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9j
YXRpb25DbGllbnRHdGsuaApAQCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0
V2ViVmlldyBXZWJLaXRXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHZW9s
b2NhdGlvbjsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlcjsKIH0KIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC00MSw2ICs0Miw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ2xpZW50IDogcHVibGlj
IFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBHZW9sb2NhdGlvbkNs
aWVudChXZWJLaXRXZWJWaWV3Kik7CiAKKyAgICB2b2lkIHNldENvbnRyb2xsZXIoR2VvbG9jYXRp
b25Db250cm9sbGVyKik7CisKICAgICB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCk7CiAKICAg
ICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKQEAgLTc0LDYgKzc3LDggQEAgcHJpdmF0ZToKIAogICAg
IGJvb2wgbV9lbmFibGVIaWdoQWNjdXJhY3k7CiAgICAgYm9vbCBtX2lzVXBkYXRpbmc7CisKKyAg
ICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKIH07CiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViR2VvbG9jYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXggNTQ0MzYyMmY5YTU0N2M2OWI1NjJlZGZmMjQw
YTA3ZjcyMDc1YzhlYy4uMzdjZmIxZDZhNWI0M2RlOTcxMTc0ZjBlOTg2M2E2OWZiNDBhMGI4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRp
b25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9s
b2NhdGlvbkNsaWVudC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEdlb2xvY2F0aW9uOworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOwogY2xhc3Mg
R2VvbG9jYXRpb25Qb3NpdGlvbjsKIH0KIApAQCAtMzcsNiArMzgsNyBAQCBwdWJsaWM6CiAgICAg
V2ViR2VvbG9jYXRpb25DbGllbnQoV2ViVmlldyAqKTsKICAgICBXZWJWaWV3ICp3ZWJWaWV3KCkg
eyByZXR1cm4gbV93ZWJWaWV3OyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZ2Vv
bG9jYXRpb25EZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRh
dGluZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSBPVkVSUklE
RTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA3OWQ0ZmM3NTlmMjBhMzcwOTJkODgw
ZWIzMmM4M2RkOGQzNTE5MjQzLi5jOGI4Y2QzZTcxMjJjZjVmOGYzOTllY2Q1MjEzMTM5NDA1NjFh
NTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgUVdl
YlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAgIGlmICh1c2VN
b2NrKQogICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2Nh
dGlvbkNsaWVudE1vY2s7CiAgICAgZWxzZQotICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlv
bkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudFF0KHEpOworICAgICAgICBwYWdlQ2xpZW50
cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudFF0OwogI2VuZGlmCiAj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcGFnZUNsaWVudHMubm90aWZpY2F0aW9uQ2xp
ZW50ID0gTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2Nh
dGlvbkNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9j
YXRpb25DbGllbnRRdC5jcHAKaW5kZXggY2RhNWYzNTBiYTYyNWQ4YzUxMGMyOTMyZTJjZmJiOGMz
NGM0NTdhNC4uYzVhMmE2Y2QyYjYzZDAwMmE5NGZmNGRhZWUzODEwMjdlMjVmNmFlNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xp
ZW50UXQuY3BwCkBAIC0zNCw4ICszNCw2IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
InF3ZWJmcmFtZS5oIgogI2luY2x1ZGUgInF3ZWJmcmFtZV9wLmgiCi0jaW5jbHVkZSAicXdlYnBh
Z2UuaCIKLSNpbmNsdWRlICJxd2VicGFnZV9wLmgiCiAKICNpZiBRVF9WRVJTSU9OIDwgUVRfVkVS
U0lPTl9DSEVDSyg1LCAwLCAwKQogI2luY2x1ZGUgPFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U+CkBA
IC00NywxMCArNDUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgY2hh
ciBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2FnZVtdID0gIkZhaWxlZCB0byBzdGFydCBH
ZW9sb2NhdGlvbiBzZXJ2aWNlIjsKIAotR2VvbG9jYXRpb25DbGllbnRRdDo6R2VvbG9jYXRpb25D
bGllbnRRdChjb25zdCBRV2ViUGFnZSogcGFnZSkKLSAgICA6IG1fcGFnZShwYWdlKQotICAgICwg
bV9sYXN0UG9zaXRpb24oMCkKK0dlb2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50
UXQoKQorICAgIDogbV9sYXN0UG9zaXRpb24oMCkKICAgICAsIG1fbG9jYXRpb24oMCkKKyAgICAs
IG1fY29udHJvbGxlcigwKQogewogfQogCkBAIC01OCw2ICs1NiwxMSBAQCBHZW9sb2NhdGlvbkNs
aWVudFF0Ojp+R2VvbG9jYXRpb25DbGllbnRRdCgpCiB7CiAgICAgZGVsZXRlIG1fbG9jYXRpb247
CiB9Cit2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25D
b250cm9sbGVyKiBjb250cm9sbGVyKQoreworICAgIEFTU0VSVChjb250cm9sbGVyKTsKKyAgICBt
X2NvbnRyb2xsZXIgPSBjb250cm9sbGVyOworfQogCiB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6
Omdlb2xvY2F0aW9uRGVzdHJveWVkKCkKIHsKQEAgLTY5LDMyICs3MiwzMyBAQCB2b2lkIEdlb2xv
Y2F0aW9uQ2xpZW50UXQ6OnBvc2l0aW9uVXBkYXRlZChjb25zdCBRR2VvUG9zaXRpb25JbmZvJiBn
ZW9Qb3NpdGlvbikKICAgICBpZiAoIWdlb1Bvc2l0aW9uLmlzVmFsaWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgUUdlb0Nvb3JkaW5hdGUgY29vcmQgPSBnZW9Qb3NpdGlvbi5jb29yZGluYXRl
KCk7Ci0gICAgZG91YmxlIGxhdGl0dWRlID0gY29vcmQubGF0aXR1ZGUoKTsKLSAgICBkb3VibGUg
bG9uZ2l0dWRlID0gY29vcmQubG9uZ2l0dWRlKCk7Ci0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRl
ID0gKGdlb1Bvc2l0aW9uLmNvb3JkaW5hdGUoKS50eXBlKCkgPT0gUUdlb0Nvb3JkaW5hdGU6OkNv
b3JkaW5hdGUzRCk7Ci0gICAgZG91YmxlIGFsdGl0dWRlID0gY29vcmQuYWx0aXR1ZGUoKTsKKyAg
ICBpZiAobV9jb250cm9sbGVyKSB7CisgICAgICAgIFFHZW9Db29yZGluYXRlIGNvb3JkID0gZ2Vv
UG9zaXRpb24uY29vcmRpbmF0ZSgpOworICAgICAgICBkb3VibGUgbGF0aXR1ZGUgPSBjb29yZC5s
YXRpdHVkZSgpOworICAgICAgICBkb3VibGUgbG9uZ2l0dWRlID0gY29vcmQubG9uZ2l0dWRlKCk7
CisgICAgICAgIGJvb2wgcHJvdmlkZXNBbHRpdHVkZSA9IChnZW9Qb3NpdGlvbi5jb29yZGluYXRl
KCkudHlwZSgpID09IFFHZW9Db29yZGluYXRlOjpDb29yZGluYXRlM0QpOworICAgICAgICBkb3Vi
bGUgYWx0aXR1ZGUgPSBjb29yZC5hbHRpdHVkZSgpOwogCi0gICAgZG91YmxlIGFjY3VyYWN5ID0g
Z2VvUG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86Okhvcml6b250YWxBY2N1cmFj
eSk7CisgICAgICAgIGRvdWJsZSBhY2N1cmFjeSA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2Vv
UG9zaXRpb25JbmZvOjpIb3Jpem9udGFsQWNjdXJhY3kpOwogCi0gICAgYm9vbCBwcm92aWRlc0Fs
dGl0dWRlQWNjdXJhY3kgPSBnZW9Qb3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5m
bzo6VmVydGljYWxBY2N1cmFjeSk7Ci0gICAgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3kgPSBnZW9Q
b3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6VmVydGljYWxBY2N1cmFjeSk7Cisg
ICAgICAgIGJvb2wgcHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uaGFzQXR0
cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OlZlcnRpY2FsQWNjdXJhY3kpOworICAgICAgICBkb3Vi
bGUgYWx0aXR1ZGVBY2N1cmFjeSA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25J
bmZvOjpWZXJ0aWNhbEFjY3VyYWN5KTsKIAotICAgIGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdl
b1Bvc2l0aW9uLmhhc0F0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOwotICAg
IGRvdWJsZSBoZWFkaW5nID0gZ2VvUG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86
OkRpcmVjdGlvbik7CisgICAgICAgIGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9u
Lmhhc0F0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOworICAgICAgICBkb3Vi
bGUgaGVhZGluZyA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJl
Y3Rpb24pOwogCi0gICAgYm9vbCBwcm92aWRlc1NwZWVkID0gZ2VvUG9zaXRpb24uaGFzQXR0cmli
dXRlKFFHZW9Qb3NpdGlvbkluZm86Okdyb3VuZFNwZWVkKTsKLSAgICBkb3VibGUgc3BlZWQgPSBn
ZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOworICAg
ICAgICBib29sIHByb3ZpZGVzU3BlZWQgPSBnZW9Qb3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bv
c2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOworICAgICAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3Np
dGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOwogCi0gICAgZG91
YmxlIHRpbWVTdGFtcEluU2Vjb25kcyA9IGdlb1Bvc2l0aW9uLnRpbWVzdGFtcCgpLnRvTVNlY3NT
aW5jZUVwb2NoKCkgLyAxMDAwOworICAgICAgICBkb3VibGUgdGltZVN0YW1wSW5TZWNvbmRzID0g
Z2VvUG9zaXRpb24udGltZXN0YW1wKCkudG9NU2Vjc1NpbmNlRXBvY2goKSAvIDEwMDA7CiAKLSAg
ICBtX2xhc3RQb3NpdGlvbiA9IEdlb2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZSh0aW1lU3RhbXBJ
blNlY29uZHMsIGxhdGl0dWRlLCBsb25naXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWNjdXJhY3ksIHByb3ZpZGVzQWx0aXR1ZGUsIGFsdGl0
dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
b3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeSwgYWx0aXR1ZGVBY2N1cmFjeSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlc0hlYWRpbmcsIGhlYWRp
bmcsIHByb3ZpZGVzU3BlZWQsIHNwZWVkKTsKKyAgICAgICAgbV9sYXN0UG9zaXRpb24gPSBHZW9s
b2NhdGlvblBvc2l0aW9uOjpjcmVhdGUodGltZVN0YW1wSW5TZWNvbmRzLCBsYXRpdHVkZSwgbG9u
Z2l0dWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY2N1cmFjeSwgcHJvdmlkZXNBbHRpdHVkZSwgYWx0aXR1ZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzQWx0aXR1ZGVB
Y2N1cmFjeSwgYWx0aXR1ZGVBY2N1cmFjeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXNIZWFkaW5nLCBoZWFkaW5nLCBwcm92aWRl
c1NwZWVkLCBzcGVlZCk7CiAKLSAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2
YXRlOjpjb3JlKG1fcGFnZSk7Ci0gICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPnBv
c2l0aW9uQ2hhbmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CisgICAgICAgIG1fY29udHJvbGxl
ci0+cG9zaXRpb25DaGFuZ2VkKG1fbGFzdFBvc2l0aW9uLmdldCgpKTsKKyAgICB9CiB9CiAKIHZv
aWQgR2VvbG9jYXRpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZygpCkBAIC0xMDMsOSArMTA3LDkg
QEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudFF0OjpzdGFydFVwZGF0aW5nKCkKICAgICAgICAgY29u
bmVjdChtX2xvY2F0aW9uLCBTSUdOQUwocG9zaXRpb25VcGRhdGVkKFFHZW9Qb3NpdGlvbkluZm8p
KSwgdGhpcywgU0xPVChwb3NpdGlvblVwZGF0ZWQoUUdlb1Bvc2l0aW9uSW5mbykpKTsKIAogICAg
IGlmICghbV9sb2NhdGlvbikgewotICAgICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBh
Z2VQcml2YXRlOjpjb3JlKG1fcGFnZSk7CiAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2Nh
dGlvbkVycm9yPiBlcnJvciA9IEdlb2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVy
cm9yOjpQb3NpdGlvblVuYXZhaWxhYmxlLCBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2Fn
ZSk7Ci0gICAgICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3VycmVk
KGVycm9yLmdldCgpKTsKKyAgICAgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgICAgIG1f
Y29udHJvbGxlci0+ZXJyb3JPY2N1cnJlZChlcnJvci5nZXQoKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2Vv
bG9jYXRpb25DbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9s
b2NhdGlvbkNsaWVudFF0LmgKaW5kZXggOWEyODI1ZDk0MmIzZmE4ZmI4NTQ0OWI1ZDZkMWMyZTFk
YjI4MDZmNi4uNWY4NzdhYTA3M2QwMzZlZmI2NDE5Yzk5ZTgwNGE3ZGRiOTNjODgzZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVu
dFF0LmgKQEAgLTQyLDE5ICs0MiwxOSBAQCB1c2luZyBuYW1lc3BhY2UgUXRNb2JpbGl0eTsKIGNs
YXNzIFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U7CiAjZW5kaWYKIAotCi1jbGFzcyBRV2ViUGFnZTsK
LQogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOwogCiAv
LyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFuIGltcGxlbWVudGF0aW9uIG9mIGEgR2VvbG9jYXRpb25T
ZXJ2aWNlIGZvciBRdFdlYmtpdC4KIGNsYXNzIEdlb2xvY2F0aW9uQ2xpZW50UXQgOiBwdWJsaWMg
UU9iamVjdCwgcHVibGljIEdlb2xvY2F0aW9uQ2xpZW50IHsKICAgICBRX09CSkVDVAogCiBwdWJs
aWM6Ci0gICAgR2VvbG9jYXRpb25DbGllbnRRdChjb25zdCBRV2ViUGFnZSopOworICAgIEdlb2xv
Y2F0aW9uQ2xpZW50UXQoKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvbkNsaWVudFF0KCk7CiAK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsK
KwogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwg
dm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpA
QCAtNjksOSArNjksOSBAQCBwcml2YXRlIFFfU0xPVFM6CiAgICAgdm9pZCBwb3NpdGlvblVwZGF0
ZWQoY29uc3QgUUdlb1Bvc2l0aW9uSW5mbyYpOwogCiBwcml2YXRlOgotICAgIGNvbnN0IFFXZWJQ
YWdlKiBtX3BhZ2U7CiAgICAgUmVmUHRyPEdlb2xvY2F0aW9uUG9zaXRpb24+IG1fbGFzdFBvc2l0
aW9uOwogICAgIFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2UqIG1fbG9jYXRpb247CisgICAgR2VvbG9j
YXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9s
b2NhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViR2Vv
bG9jYXRpb25DbGllbnQuaAppbmRleCAyYmQyOWFmN2ZhNTc1MTAwMGJiMTgxNjUwYjA4ZGRiNjZj
MjYxYzM1Li43NGMwODM3YzlkYjU1NDgyNjAzZGZiMzhlMzJjMjAyOGIxMjcxMDRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9u
Q2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R2VvbG9jYXRpb247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9sb2Nh
dGlvblBvc2l0aW9uOwogfQogCkBAIC00MCw2ICs0MSw4IEBAIGNsYXNzIFdlYkdlb2xvY2F0aW9u
Q2xpZW50IDogcHVibGljIFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAg
ICBXZWJHZW9sb2NhdGlvbkNsaWVudChXZWJWaWV3Kik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSB7IH0KKwogICAgIHZpcnR1YWwgdm9p
ZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5n
KCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0
aW9uQ2xpZW50LmNwcAppbmRleCAxZjkyMGExZmI1YmUzZTMwY2VlYWIyOWM2MzQxNTk0MWRiMzY3
OWIwLi4zNGIyYmQyNGVkMjQyMmQwOTI1M2ZhYTMzZDlkZjBiNWU4NTgyMDFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9u
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcApAQCAtNDIsNiArNDIsMTAgQEAgV2ViR2VvbG9jYXRp
b25DbGllbnQ6On5XZWJHZW9sb2NhdGlvbkNsaWVudCgpCiB7CiB9CiAKK3ZvaWQgV2ViR2VvbG9j
YXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKikKK3sKK30K
Kwogdm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQogewog
ICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmdlb2xvY2F0aW9uTWFuYWdlcigpLnVucmVnaXN0ZXJX
ZWJQYWdlKG1fcGFnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXggMjFmYzQz
ODNmOWI1NGM1ODRiMzIxNzMzMWQ4MzYwMjc1OGM0MjJjOC4uYzEyZTgzMmVjMWU4YzQ2NjFiYjE5
YWVhMjNkYTg1ZWJkNjc2OGIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaApAQCAt
MzAsNiArMzAsMTAgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvR2VvbG9jYXRpb25DbGllbnQuaD4K
IAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOworfQor
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKQEAgLTQxLDYgKzQ1LDggQEAg
cHVibGljOgogICAgIHsKICAgICB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihX
ZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSBPVkVSUklERTsKKwogICAgIHZpcnR1YWwg
fldlYkdlb2xvY2F0aW9uQ2xpZW50KCk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119209</attachid>
            <date>2011-12-14 05:31:20 -0800</date>
            <delta_ts>2011-12-14 07:18:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74499-20111214143644.patch</filename>
            <type>text/plain</type>
            <size>20926</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVjNTEyNTZiYjI2Yjll
ZDY0YmY5MWQwYzZjMDRiMmYxMzI3NzUyOC4uNGU4MzBhMjJmOTRjMDdkZWYxMjQ5YjZhYzZhMDIz
N2JiOTM3MDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdl
b2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNsaWVu
dC5oOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6R2VvbG9jYXRpb25Db250cm9sbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oOgorCiAyMDEx
LTEyLTEzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFRyZWVPdXRsaW5lJ3MgaXMgYnJva2VuIHdoZW4gbGkgZWxlbWVudHMg
aGF2ZSBwYWRkaW5nLWxlZnQgZGlmZmVyZW50IGZyb20gMTRweC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggZWNmYjhiMmJkNTc5ZDUzMjgxNGNjOTMyNGEyODc4NzM4OGY5ODNmNi4uMGE3
NTg3YzU5NzdhMWExYzAxMzExMGEzMTUyNTJmOTc3OThkMjE5NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkg
IDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVu
dCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJv
eHkuaDoKKwogMjAxMS0xMi0xMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBjaHJvbWl1bSBwb3J0IC0gcmVtb3ZlIG5hY2wgaGFjayBpbiBERVBTL2d5cF93
ZWJraXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBlYWQ4Y2UxNmZlOWFiMzZjNTM2ZTg4MDYzMmQ5MjNk
MmQ4M2E0MmU0Li4xYWY4ZDc3NWIwNDgwMTk2NjBlNDIyZmMzNGJlMzk5YTAwNzNiOGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMTQgIEFsZXhhbmRlciBGw6Zy
w7h5ICA8YWxleGFuZGVyLmZhZXJveUBub2tpYS5jb20+CisKKyAgICAgICAgR2VvbG9jYXRpb25D
bGllbnQgc2hvdWxkIGhhdmUgYSBzZXRDb250cm9sbGVyKCkgbWV0aG9kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0dlb2xv
Y2F0aW9uQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6
Okdlb2xvY2F0aW9uQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6
OnNldENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpHZW9sb2NhdGlvbkNsaWVudDo6dXBk
YXRlUG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpHZW9sb2NhdGlvbkNsaWVudDo6ZXJyb3JP
Y2N1cmVkKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5o
OgorCiAyMDExLTEyLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFdlYktpdCBjb2RlIHNob3VsZG4ndCBiZSBjYWxsaW5nIGFwcGx5Q29tbWFuZCBkaXJlY3Rs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3ZWM3YjhkOWRjZDNiYmNlODU1NGY2ZGUyYmZjNmQ5ZTZi
OTMwMTkuLjQwNGZmZTQzYjMyYjQ5YzIzMWM1YzQ0Mzg1ZTRhODYwOTcxMWIwNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkg
IDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVu
dCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9j
YXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBXZWJLaXQgY29kZSBzaG91bGRuJ3QgYmUgY2FsbGluZyBhcHBseUNv
bW1hbmQgZGlyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNWY0NmExZGM1ZjFjYmQ4YzM4MmViYjk3
NTcwNzJkYTUyMTYyNzBmMi4uMzhkZjdlNjBhMmFkZjlmOGY5MDQwNjQ0MzAwZTY5ZWE3OTNkZTI0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMSBAQAogMjAxMS0xMi0xNCAgQWxleGFuZGVy
IEbDpnLDuHkgIDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KIAorICAgICAgICBHZW9sb2Nh
dGlvbkNsaWVudCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQpOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudFF0Ojpwb3NpdGlvblVwZGF0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oOgorCisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCiAgICAgICAgIFtR
dF0gRml4IGNvbXBpbGF0aW9uIG9mIFF0V2ViS2l0IHdpdGggLS1vcmllbnRhdGlvbi1ldmVudHMg
d2l0aG91dCBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZDA2
ZjljN2UzMTI0OWJiOGI0YmRjMmNiMzIyZTM5YWIxZDIwNjNiMC4uZmI3MjM1NmRjZjU5OTUyMGM0
MzQ4ODJiY2E3ZDEyYmJiNWU3YjcyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEu
Y29tPgorCisgICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJv
bGxlcigpIG1ldGhvZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc0NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oOgorICAgICAgICAo
V2ViR2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorCiAyMDExLTEyLTA3ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgQ2hhbmdlIGZ1bmN0
aW9uIG5hbWUgSW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5IHRvIGZvbGxvdyBj
b2Rpbmcgc3R5bGUgZ3VpZGVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmQzZDBmMWVkMTg0ZTA3NGVkNWJm
NTBjNjg5N2ZiNzg4NTAzNTZlZS4uNzI1NjlkZjNmNzhlZDdhNjJlYjAxNTI5ZDE5NTEwNGZiNzNh
NjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIg
RsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdlb2xvY2F0
aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xMyAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGllbnQuaAppbmRleCA0
NGNiOTA5MTcyZDA5N2YxNzIwZGFjZWMzNWU5ZTVlNGI5YjdiNjQ0Li5lZDhkZWM4YjlhZGE5YmFh
ZWIyOTFhZGM1YjU1NGI5ZDU3MjE2ODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0dlb2xvY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bkNsaWVudC5oCkBAIC0yOSwxMiArMjksMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgR2VvbG9jYXRpb247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9s
b2NhdGlvblBvc2l0aW9uOwogCiBjbGFzcyBHZW9sb2NhdGlvbkNsaWVudCB7CiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCkgPSAwOwogCisgICAgdmlydHVh
bCB2b2lkIHNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKikgPSAwOworCiAgICAg
dmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpID0gMDsKICAgICAvLyBGSVhNRTogVGhlIFYyIEdlb2xvY2F0aW9uIHNwZWNpZmlj
YXRpb24gcHJvcG9zZXMgdGhhdCB0aGlzIHByb3BlcnR5IGlzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggYjk1MzNjYTNiNTAzNmRjOTAyZjgx
NTI3YTJhYjQ1ZGU2NTkzZjJkYi4uMTlmNzA1NzkzZTE1NTgzN2M0YThlNjdiNThiYTA5NDA4ZTU1
Zjg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNw
cApAQCAtMzcsNiArMzcsOCBAQCBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6Okdlb2xvY2F0aW9uQ29u
dHJvbGxlcihQYWdlKiBwYWdlLCBHZW9sb2NhdGlvbkNsaWVudCogY2xpZQogICAgIDogbV9wYWdl
KHBhZ2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiB7CisgICAgQVNTRVJUKG1fY2xpZW50KTsK
KyAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlzKTsKIH0KIAogR2VvbG9jYXRpb25Db250
cm9sbGVyOjp+R2VvbG9jYXRpb25Db250cm9sbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCmluZGV4IGI0MDAxNjYxNjIz
ZDM4YmRhODQxOWQxM2I0OTc0ZWQ2YjQ4ZDQxNDMuLjVjNDliMzEyZjc4ZDg0OWI4YzEzMGU1ZWVh
NGQ5NzQwNjg1YTQwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+R2VvbG9jYXRpb25DbGllbnRNb2NrKCk7CiAKICAgICB2b2lkIHJlc2V0KCk7Ci0g
ICAgdm9pZCBzZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciopOwogCiAgICAgdm9p
ZCBzZXRFcnJvcihQYXNzUmVmUHRyPEdlb2xvY2F0aW9uRXJyb3I+KTsKICAgICB2b2lkIHNldFBv
c2l0aW9uKFBhc3NSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4pOwpAQCAtNjIsNiArNjEsNyBA
QCBwdWJsaWM6CiAgICAgaW50IG51bWJlck9mUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cygpIGNv
bnN0OwogCiAgICAgLy8gR2VvbG9jYXRpb25DbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9j
YXRpb25EZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHkuaAppbmRleCBlZTE3NWRjMGRjMTM5Zjk2
Y2NlZmM4MDEwOTg4NzIzMzNkNWZkYzIyLi42N2I5NzgzZGZmNGZmZGQzYmRkY2Y3ZTEyNDAzOGQ0
ZmRjNTgwN2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HZW9sb2Nh
dGlvbkNsaWVudFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR2VvbG9j
YXRpb25DbGllbnRQcm94eS5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ2xp
ZW50UHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnQgewogcHVibGljOgog
ICAgIEdlb2xvY2F0aW9uQ2xpZW50UHJveHkoV2ViR2VvbG9jYXRpb25DbGllbnQqIGNsaWVudCk7
CiAgICAgfkdlb2xvY2F0aW9uQ2xpZW50UHJveHkoKTsKLSAgICB2b2lkIHNldENvbnRyb2xsZXIo
V2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyICpjb250cm9sbGVyKTsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25EZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnRVcGRhdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50
R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xp
ZW50R3RrLmNwcAppbmRleCBmYWMxZDczYWZlM2E1MDgyMmEwZDEzZjkxODM0MjJjOTdmMzM5NTRl
Li41ZGQ0Y2I3YjllMzc0ZWIzMTAzNzI4YjhmYzQ0MDZlMDMyZDI3N2EwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRH
dGsuY3BwCkBAIC02MCw5ICs2MCwxNiBAQCBHZW9sb2NhdGlvbkNsaWVudDo6R2VvbG9jYXRpb25D
bGllbnQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAsIG1fdGltZXN0YW1wKDApCiAgICAg
LCBtX2VuYWJsZUhpZ2hBY2N1cmFjeShmYWxzZSkKICAgICAsIG1faXNVcGRhdGluZyhmYWxzZSkK
KyAgICAsIG1fY29udHJvbGxlcigwKQogewogfQogCit2b2lkIEdlb2xvY2F0aW9uQ2xpZW50Ojpz
ZXRDb250cm9sbGVyKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlciogY29udHJvbGxlcikK
K3sKKyAgICBBU1NFUlQoY29udHJvbGxlcik7CisgICAgbV9jb250cm9sbGVyID0gY29udHJvbGxl
cjsKK30KKwogdm9pZCBHZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQog
ewogICAgIGRlbGV0ZSB0aGlzOwpAQCAtMTY2LDEzICsxNzMsMTYgQEAgdm9pZCBHZW9sb2NhdGlv
bkNsaWVudDo6dXBkYXRlUG9zaXRpb24oKQogewogICAgIG1fbGFzdFBvc2l0aW9uID0gV2ViQ29y
ZTo6R2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKHN0YXRpY19jYXN0PGRvdWJsZT4obV90aW1l
c3RhbXApLCBtX2xhdGl0dWRlLCBtX2xvbmdpdHVkZSwgbV9hY2N1cmFjeSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCBtX2Fs
dGl0dWRlLCB0cnVlLCBtX2FsdGl0dWRlQWNjdXJhY3ksIGZhbHNlLCAwLCBmYWxzZSwgMCk7Ci0g
ICAgY29yZShtX3dlYlZpZXcpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+cG9zaXRpb25DaGFu
Z2VkKG1fbGFzdFBvc2l0aW9uLmdldCgpKTsKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAg
ICBtX2NvbnRyb2xsZXItPnBvc2l0aW9uQ2hhbmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CiB9
CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnQ6OmVycm9yT2NjdXJlZChjb25zdCBjaGFyKiBtZXNz
YWdlKQogewogICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IFdl
YkNvcmU6Okdlb2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9y
OjpQb3NpdGlvblVuYXZhaWxhYmxlLCBtZXNzYWdlKTsKLSAgICBjb3JlKG1fd2ViVmlldyktPmdl
b2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdldCgpKTsKKworICAg
IGlmIChtX2NvbnRyb2xsZXIpCisgICAgICAgIG1fY29udHJvbGxlci0+ZXJyb3JPY2N1cnJlZChl
cnJvci5nZXQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5oCmluZGV4IGJmMTdjNzEzNWFhNWRjMzBm
YzVjMGMxYjY3OWQ4YWY1ZDk5ZTk2N2UuLjY4OTllZTUxMzc3NTg1MDk1OTM0NzVkMGUxY2ZiNzk4
YTMwM2QyMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dl
b2xvY2F0aW9uQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvR2VvbG9jYXRpb25DbGllbnRHdGsuaApAQCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0V2ViVmlldyBXZWJLaXRXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBHZW9sb2NhdGlvbjsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlcjsKIH0KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00MSw2ICs0Miw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ2xpZW50
IDogcHVibGljIFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBHZW9s
b2NhdGlvbkNsaWVudChXZWJLaXRXZWJWaWV3Kik7CiAKKyAgICB2b2lkIHNldENvbnRyb2xsZXIo
V2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyKik7CisKICAgICB2b2lkIGdlb2xvY2F0aW9u
RGVzdHJveWVkKCk7CiAKICAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKQEAgLTc0LDYgKzc3LDgg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9lbmFibGVIaWdoQWNjdXJhY3k7CiAgICAgYm9vbCBt
X2lzVXBkYXRpbmc7CisKKyAgICBXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIG1fY29u
dHJvbGxlcjsKIH07CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXgg
NTQ0MzYyMmY5YTU0N2M2OWI1NjJlZGZmMjQwYTA3ZjcyMDc1YzhlYy4uMzdjZmIxZDZhNWI0M2Rl
OTcxMTc0ZjBlOTg2M2E2OWZiNDBhMGI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCkBAIC0yNyw2ICsyNyw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdlb2xvY2F0aW9uOworY2xhc3MgR2Vv
bG9jYXRpb25Db250cm9sbGVyOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIH0KIApAQCAt
MzcsNiArMzgsNyBAQCBwdWJsaWM6CiAgICAgV2ViR2VvbG9jYXRpb25DbGllbnQoV2ViVmlldyAq
KTsKICAgICBXZWJWaWV3ICp3ZWJWaWV3KCkgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSBPVkVSUklE
RSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25EZXN0cm95ZWQoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBzdG9wVXBkYXRpbmcoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApp
bmRleCA3OWQ0ZmM3NTlmMjBhMzcwOTJkODgwZWIzMmM4M2RkOGQzNTE5MjQzLi5jOGI4Y2QzZTcx
MjJjZjVmOGYzOTllY2Q1MjEzMTM5NDA1NjFhNTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUo
UVdlYlBhZ2UgKnFxKQogICAgIGlmICh1c2VNb2NrKQogICAgICAgICBwYWdlQ2xpZW50cy5nZW9s
b2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudE1vY2s7CiAgICAgZWxzZQotICAg
ICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVu
dFF0KHEpOworICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9s
b2NhdGlvbkNsaWVudFF0OwogI2VuZGlmCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
cGFnZUNsaWVudHMubm90aWZpY2F0aW9uQ2xpZW50ID0gTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xp
ZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAKaW5kZXggY2RhNWYz
NTBiYTYyNWQ4YzUxMGMyOTMyZTJjZmJiOGMzNGM0NTdhNC4uYzVhMmE2Y2QyYjYzZDAwMmE5NGZm
NGRhZWUzODEwMjdlMjVmNmFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCkBAIC0zNCw4ICszNCw2IEBACiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgogI2luY2x1ZGUgInF3ZWJm
cmFtZV9wLmgiCi0jaW5jbHVkZSAicXdlYnBhZ2UuaCIKLSNpbmNsdWRlICJxd2VicGFnZV9wLmgi
CiAKICNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQogI2luY2x1ZGUg
PFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U+CkBAIC00NywxMCArNDUsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdGF0aWMgY29uc3QgY2hhciBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVz
c2FnZVtdID0gIkZhaWxlZCB0byBzdGFydCBHZW9sb2NhdGlvbiBzZXJ2aWNlIjsKIAotR2VvbG9j
YXRpb25DbGllbnRRdDo6R2VvbG9jYXRpb25DbGllbnRRdChjb25zdCBRV2ViUGFnZSogcGFnZSkK
LSAgICA6IG1fcGFnZShwYWdlKQotICAgICwgbV9sYXN0UG9zaXRpb24oMCkKK0dlb2xvY2F0aW9u
Q2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQoKQorICAgIDogbV9sYXN0UG9zaXRpb24oMCkK
ICAgICAsIG1fbG9jYXRpb24oMCkKKyAgICAsIG1fY29udHJvbGxlcigwKQogewogfQogCkBAIC01
OCw2ICs1NiwxMSBAQCBHZW9sb2NhdGlvbkNsaWVudFF0Ojp+R2VvbG9jYXRpb25DbGllbnRRdCgp
CiB7CiAgICAgZGVsZXRlIG1fbG9jYXRpb247CiB9Cit2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6
OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyKQoreworICAg
IEFTU0VSVChjb250cm9sbGVyKTsKKyAgICBtX2NvbnRyb2xsZXIgPSBjb250cm9sbGVyOworfQog
CiB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6Omdlb2xvY2F0aW9uRGVzdHJveWVkKCkKIHsKQEAg
LTY5LDMyICs3MiwzMyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6OnBvc2l0aW9uVXBkYXRl
ZChjb25zdCBRR2VvUG9zaXRpb25JbmZvJiBnZW9Qb3NpdGlvbikKICAgICBpZiAoIWdlb1Bvc2l0
aW9uLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUUdlb0Nvb3JkaW5hdGUgY29v
cmQgPSBnZW9Qb3NpdGlvbi5jb29yZGluYXRlKCk7Ci0gICAgZG91YmxlIGxhdGl0dWRlID0gY29v
cmQubGF0aXR1ZGUoKTsKLSAgICBkb3VibGUgbG9uZ2l0dWRlID0gY29vcmQubG9uZ2l0dWRlKCk7
Ci0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlID0gKGdlb1Bvc2l0aW9uLmNvb3JkaW5hdGUoKS50
eXBlKCkgPT0gUUdlb0Nvb3JkaW5hdGU6OkNvb3JkaW5hdGUzRCk7Ci0gICAgZG91YmxlIGFsdGl0
dWRlID0gY29vcmQuYWx0aXR1ZGUoKTsKKyAgICBpZiAobV9jb250cm9sbGVyKSB7CisgICAgICAg
IFFHZW9Db29yZGluYXRlIGNvb3JkID0gZ2VvUG9zaXRpb24uY29vcmRpbmF0ZSgpOworICAgICAg
ICBkb3VibGUgbGF0aXR1ZGUgPSBjb29yZC5sYXRpdHVkZSgpOworICAgICAgICBkb3VibGUgbG9u
Z2l0dWRlID0gY29vcmQubG9uZ2l0dWRlKCk7CisgICAgICAgIGJvb2wgcHJvdmlkZXNBbHRpdHVk
ZSA9IChnZW9Qb3NpdGlvbi5jb29yZGluYXRlKCkudHlwZSgpID09IFFHZW9Db29yZGluYXRlOjpD
b29yZGluYXRlM0QpOworICAgICAgICBkb3VibGUgYWx0aXR1ZGUgPSBjb29yZC5hbHRpdHVkZSgp
OwogCi0gICAgZG91YmxlIGFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3Np
dGlvbkluZm86Okhvcml6b250YWxBY2N1cmFjeSk7CisgICAgICAgIGRvdWJsZSBhY2N1cmFjeSA9
IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpIb3Jpem9udGFsQWNjdXJh
Y3kpOwogCi0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlQWNjdXJhY3kgPSBnZW9Qb3NpdGlvbi5o
YXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6VmVydGljYWxBY2N1cmFjeSk7Ci0gICAgZG91
YmxlIGFsdGl0dWRlQWNjdXJhY3kgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9u
SW5mbzo6VmVydGljYWxBY2N1cmFjeSk7CisgICAgICAgIGJvb2wgcHJvdmlkZXNBbHRpdHVkZUFj
Y3VyYWN5ID0gZ2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OlZlcnRp
Y2FsQWNjdXJhY3kpOworICAgICAgICBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSA9IGdlb1Bvc2l0
aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpWZXJ0aWNhbEFjY3VyYWN5KTsKIAotICAg
IGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9uLmhhc0F0dHJpYnV0ZShRR2VvUG9z
aXRpb25JbmZvOjpEaXJlY3Rpb24pOwotICAgIGRvdWJsZSBoZWFkaW5nID0gZ2VvUG9zaXRpb24u
YXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OkRpcmVjdGlvbik7CisgICAgICAgIGJvb2wgcHJv
dmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9uLmhhc0F0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZv
OjpEaXJlY3Rpb24pOworICAgICAgICBkb3VibGUgaGVhZGluZyA9IGdlb1Bvc2l0aW9uLmF0dHJp
YnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOwogCi0gICAgYm9vbCBwcm92aWRlc1Nw
ZWVkID0gZ2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86Okdyb3VuZFNw
ZWVkKTsKLSAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0
aW9uSW5mbzo6R3JvdW5kU3BlZWQpOworICAgICAgICBib29sIHByb3ZpZGVzU3BlZWQgPSBnZW9Q
b3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOworICAg
ICAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5m
bzo6R3JvdW5kU3BlZWQpOwogCi0gICAgZG91YmxlIHRpbWVTdGFtcEluU2Vjb25kcyA9IGdlb1Bv
c2l0aW9uLnRpbWVzdGFtcCgpLnRvTVNlY3NTaW5jZUVwb2NoKCkgLyAxMDAwOworICAgICAgICBk
b3VibGUgdGltZVN0YW1wSW5TZWNvbmRzID0gZ2VvUG9zaXRpb24udGltZXN0YW1wKCkudG9NU2Vj
c1NpbmNlRXBvY2goKSAvIDEwMDA7CiAKLSAgICBtX2xhc3RQb3NpdGlvbiA9IEdlb2xvY2F0aW9u
UG9zaXRpb246OmNyZWF0ZSh0aW1lU3RhbXBJblNlY29uZHMsIGxhdGl0dWRlLCBsb25naXR1ZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjdXJh
Y3ksIHByb3ZpZGVzQWx0aXR1ZGUsIGFsdGl0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeSwgYWx0aXR1
ZGVBY2N1cmFjeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwcm92aWRlc0hlYWRpbmcsIGhlYWRpbmcsIHByb3ZpZGVzU3BlZWQsIHNwZWVkKTsKKyAg
ICAgICAgbV9sYXN0UG9zaXRpb24gPSBHZW9sb2NhdGlvblBvc2l0aW9uOjpjcmVhdGUodGltZVN0
YW1wSW5TZWNvbmRzLCBsYXRpdHVkZSwgbG9uZ2l0dWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2N1cmFjeSwgcHJvdmlkZXNBbHRpdHVk
ZSwgYWx0aXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeSwgYWx0aXR1ZGVBY2N1cmFjeSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlk
ZXNIZWFkaW5nLCBoZWFkaW5nLCBwcm92aWRlc1NwZWVkLCBzcGVlZCk7CiAKLSAgICBXZWJDb3Jl
OjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKG1fcGFnZSk7Ci0gICAgcGFnZS0+
Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPnBvc2l0aW9uQ2hhbmdlZChtX2xhc3RQb3NpdGlvbi5n
ZXQoKSk7CisgICAgICAgIG1fY29udHJvbGxlci0+cG9zaXRpb25DaGFuZ2VkKG1fbGFzdFBvc2l0
aW9uLmdldCgpKTsKKyAgICB9CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRRdDo6c3RhcnRV
cGRhdGluZygpCkBAIC0xMDMsOSArMTA3LDkgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudFF0Ojpz
dGFydFVwZGF0aW5nKCkKICAgICAgICAgY29ubmVjdChtX2xvY2F0aW9uLCBTSUdOQUwocG9zaXRp
b25VcGRhdGVkKFFHZW9Qb3NpdGlvbkluZm8pKSwgdGhpcywgU0xPVChwb3NpdGlvblVwZGF0ZWQo
UUdlb1Bvc2l0aW9uSW5mbykpKTsKIAogICAgIGlmICghbV9sb2NhdGlvbikgewotICAgICAgICBX
ZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKG1fcGFnZSk7CiAgICAg
ICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IEdlb2xvY2F0aW9u
RXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVycm9yOjpQb3NpdGlvblVuYXZhaWxhYmxlLCBmYWls
ZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2FnZSk7Ci0gICAgICAgIHBhZ2UtPmdlb2xvY2F0aW9u
Q29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdldCgpKTsKKyAgICAgICAgaWYgKG1f
Y29udHJvbGxlcikKKyAgICAgICAgICAgIG1fY29udHJvbGxlci0+ZXJyb3JPY2N1cnJlZChlcnJv
ci5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKaW5kZXggOWEyODI1
ZDk0MmIzZmE4ZmI4NTQ0OWI1ZDZkMWMyZTFkYjI4MDZmNi4uNWY4NzdhYTA3M2QwMzZlZmI2NDE5
Yzk5ZTgwNGE3ZGRiOTNjODgzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKQEAgLTQyLDE5ICs0MiwxOSBAQCB1c2lu
ZyBuYW1lc3BhY2UgUXRNb2JpbGl0eTsKIGNsYXNzIFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U7CiAj
ZW5kaWYKIAotCi1jbGFzcyBRV2ViUGFnZTsKLQogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
R2VvbG9jYXRpb25Db250cm9sbGVyOwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFuIGltcGxl
bWVudGF0aW9uIG9mIGEgR2VvbG9jYXRpb25TZXJ2aWNlIGZvciBRdFdlYmtpdC4KIGNsYXNzIEdl
b2xvY2F0aW9uQ2xpZW50UXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIEdlb2xvY2F0aW9uQ2xp
ZW50IHsKICAgICBRX09CSkVDVAogCiBwdWJsaWM6Ci0gICAgR2VvbG9jYXRpb25DbGllbnRRdChj
b25zdCBRV2ViUGFnZSopOworICAgIEdlb2xvY2F0aW9uQ2xpZW50UXQoKTsKICAgICB2aXJ0dWFs
IH5HZW9sb2NhdGlvbkNsaWVudFF0KCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxl
cihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKKwogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlv
bkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdmly
dHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpAQCAtNjksOSArNjksOSBAQCBwcml2YXRlIFFfU0xP
VFM6CiAgICAgdm9pZCBwb3NpdGlvblVwZGF0ZWQoY29uc3QgUUdlb1Bvc2l0aW9uSW5mbyYpOwog
CiBwcml2YXRlOgotICAgIGNvbnN0IFFXZWJQYWdlKiBtX3BhZ2U7CiAgICAgUmVmUHRyPEdlb2xv
Y2F0aW9uUG9zaXRpb24+IG1fbGFzdFBvc2l0aW9uOwogICAgIFFHZW9Qb3NpdGlvbkluZm9Tb3Vy
Y2UqIG1fbG9jYXRpb247CisgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaAppbmRleCAyYmQyOWFm
N2ZhNTc1MTAwMGJiMTgxNjUwYjA4ZGRiNjZjMjYxYzM1Li43NGMwODM3YzlkYjU1NDgyNjAzZGZi
MzhlMzJjMjAyOGIxMjcxMDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR2VvbG9jYXRpb247CitjbGFzcyBHZW9sb2NhdGlv
bkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwogfQogCkBAIC00MCw2ICs0
MSw4IEBAIGNsYXNzIFdlYkdlb2xvY2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Okdlb2xv
Y2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJHZW9sb2NhdGlvbkNsaWVudChXZWJWaWV3
Kik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIqKSB7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwogICAg
IHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRh
dGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcAppbmRleCAxZjkyMGExZmI1
YmUzZTMwY2VlYWIyOWM2MzQxNTk0MWRiMzY3OWIwLi4zNGIyYmQyNGVkMjQyMmQwOTI1M2ZhYTMz
ZDlkZjBiNWU4NTgyMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcApAQCAt
NDIsNiArNDIsMTAgQEAgV2ViR2VvbG9jYXRpb25DbGllbnQ6On5XZWJHZW9sb2NhdGlvbkNsaWVu
dCgpCiB7CiB9CiAKK3ZvaWQgV2ViR2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIoR2Vv
bG9jYXRpb25Db250cm9sbGVyKikKK3sKK30KKwogdm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6
Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQogewogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmdlb2xv
Y2F0aW9uTWFuYWdlcigpLnVucmVnaXN0ZXJXZWJQYWdlKG1fcGFnZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xv
Y2F0aW9uQ2xpZW50LmgKaW5kZXggMjFmYzQzODNmOWI1NGM1ODRiMzIxNzMzMWQ4MzYwMjc1OGM0
MjJjOC4uYzEyZTgzMmVjMWU4YzQ2NjFiYjE5YWVhMjNkYTg1ZWJkNjc2OGIxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlv
bkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViR2VvbG9jYXRpb25DbGllbnQuaApAQCAtMzAsNiArMzAsMTAgQEAKIAogI2luY2x1ZGUgPFdl
YkNvcmUvR2VvbG9jYXRpb25DbGllbnQuaD4KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
R2VvbG9jYXRpb25Db250cm9sbGVyOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViUGFnZTsKQEAgLTQxLDYgKzQ1LDggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIq
KSBPVkVSUklERTsKKwogICAgIHZpcnR1YWwgfldlYkdlb2xvY2F0aW9uQ2xpZW50KCk7CiAKIHBy
aXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119216</attachid>
            <date>2011-12-14 07:18:26 -0800</date>
            <delta_ts>2011-12-16 08:01:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74499-20111214162349.patch</filename>
            <type>text/plain</type>
            <size>20944</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVjNTEyNTZiYjI2Yjll
ZDY0YmY5MWQwYzZjMDRiMmYxMzI3NzUyOC4uNGU4MzBhMjJmOTRjMDdkZWYxMjQ5YjZhYzZhMDIz
N2JiOTM3MDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdl
b2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNsaWVu
dC5oOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6R2VvbG9jYXRpb25Db250cm9sbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oOgorCiAyMDEx
LTEyLTEzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFRyZWVPdXRsaW5lJ3MgaXMgYnJva2VuIHdoZW4gbGkgZWxlbWVudHMg
aGF2ZSBwYWRkaW5nLWxlZnQgZGlmZmVyZW50IGZyb20gMTRweC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggZWNmYjhiMmJkNTc5ZDUzMjgxNGNjOTMyNGEyODc4NzM4OGY5ODNmNi4uMGE3
NTg3YzU5NzdhMWExYzAxMzExMGEzMTUyNTJmOTc3OThkMjE5NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkg
IDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVu
dCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJv
eHkuaDoKKwogMjAxMS0xMi0xMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBjaHJvbWl1bSBwb3J0IC0gcmVtb3ZlIG5hY2wgaGFjayBpbiBERVBTL2d5cF93
ZWJraXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBlYWQ4Y2UxNmZlOWFiMzZjNTM2ZTg4MDYzMmQ5MjNk
MmQ4M2E0MmU0Li4xYWY4ZDc3NWIwNDgwMTk2NjBlNDIyZmMzNGJlMzk5YTAwNzNiOGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMTQgIEFsZXhhbmRlciBGw6Zy
w7h5ICA8YWxleGFuZGVyLmZhZXJveUBub2tpYS5jb20+CisKKyAgICAgICAgR2VvbG9jYXRpb25D
bGllbnQgc2hvdWxkIGhhdmUgYSBzZXRDb250cm9sbGVyKCkgbWV0aG9kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0dlb2xv
Y2F0aW9uQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6
Okdlb2xvY2F0aW9uQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6
OnNldENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpHZW9sb2NhdGlvbkNsaWVudDo6dXBk
YXRlUG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpHZW9sb2NhdGlvbkNsaWVudDo6ZXJyb3JP
Y2N1cmVkKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5o
OgorCiAyMDExLTEyLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFdlYktpdCBjb2RlIHNob3VsZG4ndCBiZSBjYWxsaW5nIGFwcGx5Q29tbWFuZCBkaXJlY3Rs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3ZWM3YjhkOWRjZDNiYmNlODU1NGY2ZGUyYmZjNmQ5ZTZi
OTMwMTkuLjQwNGZmZTQzYjMyYjQ5YzIzMWM1YzQ0Mzg1ZTRhODYwOTcxMWIwNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkg
IDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVu
dCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9j
YXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBXZWJLaXQgY29kZSBzaG91bGRuJ3QgYmUgY2FsbGluZyBhcHBseUNv
bW1hbmQgZGlyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNWY0NmExZGM1ZjFjYmQ4YzM4MmViYjk3
NTcwNzJkYTUyMTYyNzBmMi4uMzhkZjdlNjBhMmFkZjlmOGY5MDQwNjQ0MzAwZTY5ZWE3OTNkZTI0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMSBAQAogMjAxMS0xMi0xNCAgQWxleGFuZGVy
IEbDpnLDuHkgIDxhbGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KIAorICAgICAgICBHZW9sb2Nh
dGlvbkNsaWVudCBzaG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQpOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudFF0Ojpwb3NpdGlvblVwZGF0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oOgorCisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCiAgICAgICAgIFtR
dF0gRml4IGNvbXBpbGF0aW9uIG9mIFF0V2ViS2l0IHdpdGggLS1vcmllbnRhdGlvbi1ldmVudHMg
d2l0aG91dCBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZDA2
ZjljN2UzMTI0OWJiOGI0YmRjMmNiMzIyZTM5YWIxZDIwNjNiMC4uZmI3MjM1NmRjZjU5OTUyMGM0
MzQ4ODJiY2E3ZDEyYmJiNWU3YjcyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEu
Y29tPgorCisgICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJv
bGxlcigpIG1ldGhvZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc0NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oOgorICAgICAgICAo
V2ViR2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorCiAyMDExLTEyLTA3ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgQ2hhbmdlIGZ1bmN0
aW9uIG5hbWUgSW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5IHRvIGZvbGxvdyBj
b2Rpbmcgc3R5bGUgZ3VpZGVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmQzZDBmMWVkMTg0ZTA3NGVkNWJm
NTBjNjg5N2ZiNzg4NTAzNTZlZS4uNzI1NjlkZjNmNzhlZDdhNjJlYjAxNTI5ZDE5NTEwNGZiNzNh
NjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIg
RsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdlb2xvY2F0
aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xMyAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGllbnQuaAppbmRleCA0
NGNiOTA5MTcyZDA5N2YxNzIwZGFjZWMzNWU5ZTVlNGI5YjdiNjQ0Li5lZDhkZWM4YjlhZGE5YmFh
ZWIyOTFhZGM1YjU1NGI5ZDU3MjE2ODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0dlb2xvY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bkNsaWVudC5oCkBAIC0yOSwxMiArMjksMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgR2VvbG9jYXRpb247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9s
b2NhdGlvblBvc2l0aW9uOwogCiBjbGFzcyBHZW9sb2NhdGlvbkNsaWVudCB7CiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCkgPSAwOwogCisgICAgdmlydHVh
bCB2b2lkIHNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKikgPSAwOworCiAgICAg
dmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpID0gMDsKICAgICAvLyBGSVhNRTogVGhlIFYyIEdlb2xvY2F0aW9uIHNwZWNpZmlj
YXRpb24gcHJvcG9zZXMgdGhhdCB0aGlzIHByb3BlcnR5IGlzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggYjk1MzNjYTNiNTAzNmRjOTAyZjgx
NTI3YTJhYjQ1ZGU2NTkzZjJkYi4uMTlmNzA1NzkzZTE1NTgzN2M0YThlNjdiNThiYTA5NDA4ZTU1
Zjg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNw
cApAQCAtMzcsNiArMzcsOCBAQCBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6Okdlb2xvY2F0aW9uQ29u
dHJvbGxlcihQYWdlKiBwYWdlLCBHZW9sb2NhdGlvbkNsaWVudCogY2xpZQogICAgIDogbV9wYWdl
KHBhZ2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiB7CisgICAgQVNTRVJUKG1fY2xpZW50KTsK
KyAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlzKTsKIH0KIAogR2VvbG9jYXRpb25Db250
cm9sbGVyOjp+R2VvbG9jYXRpb25Db250cm9sbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCmluZGV4IGI0MDAxNjYxNjIz
ZDM4YmRhODQxOWQxM2I0OTc0ZWQ2YjQ4ZDQxNDMuLjVjNDliMzEyZjc4ZDg0OWI4YzEzMGU1ZWVh
NGQ5NzQwNjg1YTQwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+R2VvbG9jYXRpb25DbGllbnRNb2NrKCk7CiAKICAgICB2b2lkIHJlc2V0KCk7Ci0g
ICAgdm9pZCBzZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciopOwogCiAgICAgdm9p
ZCBzZXRFcnJvcihQYXNzUmVmUHRyPEdlb2xvY2F0aW9uRXJyb3I+KTsKICAgICB2b2lkIHNldFBv
c2l0aW9uKFBhc3NSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4pOwpAQCAtNjIsNiArNjEsNyBA
QCBwdWJsaWM6CiAgICAgaW50IG51bWJlck9mUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cygpIGNv
bnN0OwogCiAgICAgLy8gR2VvbG9jYXRpb25DbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9j
YXRpb25EZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHkuaAppbmRleCBlZTE3NWRjMGRjMTM5Zjk2
Y2NlZmM4MDEwOTg4NzIzMzNkNWZkYzIyLi42N2I5NzgzZGZmNGZmZGQzYmRkY2Y3ZTEyNDAzOGQ0
ZmRjNTgwN2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HZW9sb2Nh
dGlvbkNsaWVudFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR2VvbG9j
YXRpb25DbGllbnRQcm94eS5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ2xp
ZW50UHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnQgewogcHVibGljOgog
ICAgIEdlb2xvY2F0aW9uQ2xpZW50UHJveHkoV2ViR2VvbG9jYXRpb25DbGllbnQqIGNsaWVudCk7
CiAgICAgfkdlb2xvY2F0aW9uQ2xpZW50UHJveHkoKTsKLSAgICB2b2lkIHNldENvbnRyb2xsZXIo
V2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyICpjb250cm9sbGVyKTsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25EZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnRVcGRhdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50
R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xp
ZW50R3RrLmNwcAppbmRleCBmYWMxZDczYWZlM2E1MDgyMmEwZDEzZjkxODM0MjJjOTdmMzM5NTRl
Li41ZGQ0Y2I3YjllMzc0ZWIzMTAzNzI4YjhmYzQ0MDZlMDMyZDI3N2EwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRH
dGsuY3BwCkBAIC02MCw5ICs2MCwxNiBAQCBHZW9sb2NhdGlvbkNsaWVudDo6R2VvbG9jYXRpb25D
bGllbnQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAsIG1fdGltZXN0YW1wKDApCiAgICAg
LCBtX2VuYWJsZUhpZ2hBY2N1cmFjeShmYWxzZSkKICAgICAsIG1faXNVcGRhdGluZyhmYWxzZSkK
KyAgICAsIG1fY29udHJvbGxlcigwKQogewogfQogCit2b2lkIEdlb2xvY2F0aW9uQ2xpZW50Ojpz
ZXRDb250cm9sbGVyKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlciogY29udHJvbGxlcikK
K3sKKyAgICBBU1NFUlQoY29udHJvbGxlcik7CisgICAgbV9jb250cm9sbGVyID0gY29udHJvbGxl
cjsKK30KKwogdm9pZCBHZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQog
ewogICAgIGRlbGV0ZSB0aGlzOwpAQCAtMTY2LDEzICsxNzMsMTYgQEAgdm9pZCBHZW9sb2NhdGlv
bkNsaWVudDo6dXBkYXRlUG9zaXRpb24oKQogewogICAgIG1fbGFzdFBvc2l0aW9uID0gV2ViQ29y
ZTo6R2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKHN0YXRpY19jYXN0PGRvdWJsZT4obV90aW1l
c3RhbXApLCBtX2xhdGl0dWRlLCBtX2xvbmdpdHVkZSwgbV9hY2N1cmFjeSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCBtX2Fs
dGl0dWRlLCB0cnVlLCBtX2FsdGl0dWRlQWNjdXJhY3ksIGZhbHNlLCAwLCBmYWxzZSwgMCk7Ci0g
ICAgY29yZShtX3dlYlZpZXcpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+cG9zaXRpb25DaGFu
Z2VkKG1fbGFzdFBvc2l0aW9uLmdldCgpKTsKKyAgICBpZiAobV9jb250cm9sbGVyKQorICAgICAg
ICBtX2NvbnRyb2xsZXItPnBvc2l0aW9uQ2hhbmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CiB9
CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnQ6OmVycm9yT2NjdXJlZChjb25zdCBjaGFyKiBtZXNz
YWdlKQogewogICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IFdl
YkNvcmU6Okdlb2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9y
OjpQb3NpdGlvblVuYXZhaWxhYmxlLCBtZXNzYWdlKTsKLSAgICBjb3JlKG1fd2ViVmlldyktPmdl
b2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdldCgpKTsKKworICAg
IGlmIChtX2NvbnRyb2xsZXIpCisgICAgICAgIG1fY29udHJvbGxlci0+ZXJyb3JPY2N1cnJlZChl
cnJvci5nZXQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5oCmluZGV4IGJmMTdjNzEzNWFhNWRjMzBm
YzVjMGMxYjY3OWQ4YWY1ZDk5ZTk2N2UuLjY4OTllZTUxMzc3NTg1MDk1OTM0NzVkMGUxY2ZiNzk4
YTMwM2QyMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dl
b2xvY2F0aW9uQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvR2VvbG9jYXRpb25DbGllbnRHdGsuaApAQCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0V2ViVmlldyBXZWJLaXRXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBHZW9sb2NhdGlvbjsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlcjsKIH0KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00MSw2ICs0Miw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ2xpZW50
IDogcHVibGljIFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBHZW9s
b2NhdGlvbkNsaWVudChXZWJLaXRXZWJWaWV3Kik7CiAKKyAgICB2b2lkIHNldENvbnRyb2xsZXIo
V2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyKik7CisKICAgICB2b2lkIGdlb2xvY2F0aW9u
RGVzdHJveWVkKCk7CiAKICAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKQEAgLTc0LDYgKzc3LDgg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9lbmFibGVIaWdoQWNjdXJhY3k7CiAgICAgYm9vbCBt
X2lzVXBkYXRpbmc7CisKKyAgICBXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIG1fY29u
dHJvbGxlcjsKIH07CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXgg
NTQ0MzYyMmY5YTU0N2M2OWI1NjJlZGZmMjQwYTA3ZjcyMDc1YzhlYy4uNmMwOTI5NmY4NzQ3ODg1
YjlhNjcxMDQ0YTdlMzFmNmFlYTkyMGFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCkBAIC0yNyw2ICsyNyw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdlb2xvY2F0aW9uOworY2xhc3MgR2Vv
bG9jYXRpb25Db250cm9sbGVyOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIH0KIApAQCAt
MzcsNiArMzgsNyBAQCBwdWJsaWM6CiAgICAgV2ViR2VvbG9jYXRpb25DbGllbnQoV2ViVmlldyAq
KTsKICAgICBXZWJWaWV3ICp3ZWJWaWV3KCkgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIq
KSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25EZXN0cm95ZWQoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcAppbmRleCA3OWQ0ZmM3NTlmMjBhMzcwOTJkODgwZWIzMmM4M2RkOGQzNTE5MjQzLi5j
OGI4Y2QzZTcxMjJjZjVmOGYzOTllY2Q1MjEzMTM5NDA1NjFhNTA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFn
ZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAgIGlmICh1c2VNb2NrKQogICAgICAgICBwYWdlQ2xp
ZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudE1vY2s7CiAgICAg
ZWxzZQotICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2Nh
dGlvbkNsaWVudFF0KHEpOworICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9
IG5ldyBHZW9sb2NhdGlvbkNsaWVudFF0OwogI2VuZGlmCiAjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgcGFnZUNsaWVudHMubm90aWZpY2F0aW9uQ2xpZW50ID0gTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAKaW5k
ZXggY2RhNWYzNTBiYTYyNWQ4YzUxMGMyOTMyZTJjZmJiOGMzNGM0NTdhNC4uYzVhMmE2Y2QyYjYz
ZDAwMmE5NGZmNGRhZWUzODEwMjdlMjVmNmFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCkBAIC0zNCw4ICsz
NCw2IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgogI2luY2x1
ZGUgInF3ZWJmcmFtZV9wLmgiCi0jaW5jbHVkZSAicXdlYnBhZ2UuaCIKLSNpbmNsdWRlICJxd2Vi
cGFnZV9wLmgiCiAKICNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQog
I2luY2x1ZGUgPFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U+CkBAIC00NywxMCArNDUsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgY2hhciBmYWlsZWRUb1N0YXJ0U2Vydmlj
ZUVycm9yTWVzc2FnZVtdID0gIkZhaWxlZCB0byBzdGFydCBHZW9sb2NhdGlvbiBzZXJ2aWNlIjsK
IAotR2VvbG9jYXRpb25DbGllbnRRdDo6R2VvbG9jYXRpb25DbGllbnRRdChjb25zdCBRV2ViUGFn
ZSogcGFnZSkKLSAgICA6IG1fcGFnZShwYWdlKQotICAgICwgbV9sYXN0UG9zaXRpb24oMCkKK0dl
b2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQoKQorICAgIDogbV9sYXN0UG9z
aXRpb24oMCkKICAgICAsIG1fbG9jYXRpb24oMCkKKyAgICAsIG1fY29udHJvbGxlcigwKQogewog
fQogCkBAIC01OCw2ICs1NiwxMSBAQCBHZW9sb2NhdGlvbkNsaWVudFF0Ojp+R2VvbG9jYXRpb25D
bGllbnRRdCgpCiB7CiAgICAgZGVsZXRlIG1fbG9jYXRpb247CiB9Cit2b2lkIEdlb2xvY2F0aW9u
Q2xpZW50UXQ6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVy
KQoreworICAgIEFTU0VSVChjb250cm9sbGVyKTsKKyAgICBtX2NvbnRyb2xsZXIgPSBjb250cm9s
bGVyOworfQogCiB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6Omdlb2xvY2F0aW9uRGVzdHJveWVk
KCkKIHsKQEAgLTY5LDMyICs3MiwzMyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6OnBvc2l0
aW9uVXBkYXRlZChjb25zdCBRR2VvUG9zaXRpb25JbmZvJiBnZW9Qb3NpdGlvbikKICAgICBpZiAo
IWdlb1Bvc2l0aW9uLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUUdlb0Nvb3Jk
aW5hdGUgY29vcmQgPSBnZW9Qb3NpdGlvbi5jb29yZGluYXRlKCk7Ci0gICAgZG91YmxlIGxhdGl0
dWRlID0gY29vcmQubGF0aXR1ZGUoKTsKLSAgICBkb3VibGUgbG9uZ2l0dWRlID0gY29vcmQubG9u
Z2l0dWRlKCk7Ci0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlID0gKGdlb1Bvc2l0aW9uLmNvb3Jk
aW5hdGUoKS50eXBlKCkgPT0gUUdlb0Nvb3JkaW5hdGU6OkNvb3JkaW5hdGUzRCk7Ci0gICAgZG91
YmxlIGFsdGl0dWRlID0gY29vcmQuYWx0aXR1ZGUoKTsKKyAgICBpZiAobV9jb250cm9sbGVyKSB7
CisgICAgICAgIFFHZW9Db29yZGluYXRlIGNvb3JkID0gZ2VvUG9zaXRpb24uY29vcmRpbmF0ZSgp
OworICAgICAgICBkb3VibGUgbGF0aXR1ZGUgPSBjb29yZC5sYXRpdHVkZSgpOworICAgICAgICBk
b3VibGUgbG9uZ2l0dWRlID0gY29vcmQubG9uZ2l0dWRlKCk7CisgICAgICAgIGJvb2wgcHJvdmlk
ZXNBbHRpdHVkZSA9IChnZW9Qb3NpdGlvbi5jb29yZGluYXRlKCkudHlwZSgpID09IFFHZW9Db29y
ZGluYXRlOjpDb29yZGluYXRlM0QpOworICAgICAgICBkb3VibGUgYWx0aXR1ZGUgPSBjb29yZC5h
bHRpdHVkZSgpOwogCi0gICAgZG91YmxlIGFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uYXR0cmlidXRl
KFFHZW9Qb3NpdGlvbkluZm86Okhvcml6b250YWxBY2N1cmFjeSk7CisgICAgICAgIGRvdWJsZSBh
Y2N1cmFjeSA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpIb3Jpem9u
dGFsQWNjdXJhY3kpOwogCi0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlQWNjdXJhY3kgPSBnZW9Q
b3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6VmVydGljYWxBY2N1cmFjeSk7
Ci0gICAgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3kgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdl
b1Bvc2l0aW9uSW5mbzo6VmVydGljYWxBY2N1cmFjeSk7CisgICAgICAgIGJvb2wgcHJvdmlkZXNB
bHRpdHVkZUFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFHZW9Qb3NpdGlvbklu
Zm86OlZlcnRpY2FsQWNjdXJhY3kpOworICAgICAgICBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSA9
IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpWZXJ0aWNhbEFjY3VyYWN5
KTsKIAotICAgIGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9uLmhhc0F0dHJpYnV0
ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOwotICAgIGRvdWJsZSBoZWFkaW5nID0gZ2Vv
UG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OkRpcmVjdGlvbik7CisgICAgICAg
IGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9uLmhhc0F0dHJpYnV0ZShRR2VvUG9z
aXRpb25JbmZvOjpEaXJlY3Rpb24pOworICAgICAgICBkb3VibGUgaGVhZGluZyA9IGdlb1Bvc2l0
aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOwogCi0gICAgYm9vbCBw
cm92aWRlc1NwZWVkID0gZ2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86
Okdyb3VuZFNwZWVkKTsKLSAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUo
UUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOworICAgICAgICBib29sIHByb3ZpZGVzU3Bl
ZWQgPSBnZW9Qb3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3Bl
ZWQpOworICAgICAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3NpdGlvbi5hdHRyaWJ1dGUoUUdlb1Bv
c2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOwogCi0gICAgZG91YmxlIHRpbWVTdGFtcEluU2Vjb25k
cyA9IGdlb1Bvc2l0aW9uLnRpbWVzdGFtcCgpLnRvTVNlY3NTaW5jZUVwb2NoKCkgLyAxMDAwOwor
ICAgICAgICBkb3VibGUgdGltZVN0YW1wSW5TZWNvbmRzID0gZ2VvUG9zaXRpb24udGltZXN0YW1w
KCkudG9NU2Vjc1NpbmNlRXBvY2goKSAvIDEwMDA7CiAKLSAgICBtX2xhc3RQb3NpdGlvbiA9IEdl
b2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZSh0aW1lU3RhbXBJblNlY29uZHMsIGxhdGl0dWRlLCBs
b25naXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWNjdXJhY3ksIHByb3ZpZGVzQWx0aXR1ZGUsIGFsdGl0dWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFj
eSwgYWx0aXR1ZGVBY2N1cmFjeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcm92aWRlc0hlYWRpbmcsIGhlYWRpbmcsIHByb3ZpZGVzU3BlZWQsIHNw
ZWVkKTsKKyAgICAgICAgbV9sYXN0UG9zaXRpb24gPSBHZW9sb2NhdGlvblBvc2l0aW9uOjpjcmVh
dGUodGltZVN0YW1wSW5TZWNvbmRzLCBsYXRpdHVkZSwgbG9uZ2l0dWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2N1cmFjeSwgcHJvdmlk
ZXNBbHRpdHVkZSwgYWx0aXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeSwgYWx0aXR1ZGVBY2N1
cmFjeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHJvdmlkZXNIZWFkaW5nLCBoZWFkaW5nLCBwcm92aWRlc1NwZWVkLCBzcGVlZCk7CiAKLSAg
ICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKG1fcGFnZSk7Ci0g
ICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPnBvc2l0aW9uQ2hhbmdlZChtX2xhc3RQ
b3NpdGlvbi5nZXQoKSk7CisgICAgICAgIG1fY29udHJvbGxlci0+cG9zaXRpb25DaGFuZ2VkKG1f
bGFzdFBvc2l0aW9uLmdldCgpKTsKKyAgICB9CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRR
dDo6c3RhcnRVcGRhdGluZygpCkBAIC0xMDMsOSArMTA3LDkgQEAgdm9pZCBHZW9sb2NhdGlvbkNs
aWVudFF0OjpzdGFydFVwZGF0aW5nKCkKICAgICAgICAgY29ubmVjdChtX2xvY2F0aW9uLCBTSUdO
QUwocG9zaXRpb25VcGRhdGVkKFFHZW9Qb3NpdGlvbkluZm8pKSwgdGhpcywgU0xPVChwb3NpdGlv
blVwZGF0ZWQoUUdlb1Bvc2l0aW9uSW5mbykpKTsKIAogICAgIGlmICghbV9sb2NhdGlvbikgewot
ICAgICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKG1fcGFn
ZSk7CiAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IEdl
b2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVycm9yOjpQb3NpdGlvblVuYXZhaWxh
YmxlLCBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2FnZSk7Ci0gICAgICAgIHBhZ2UtPmdl
b2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdldCgpKTsKKyAgICAg
ICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgICAgIG1fY29udHJvbGxlci0+ZXJyb3JPY2N1
cnJlZChlcnJvci5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKaW5k
ZXggOWEyODI1ZDk0MmIzZmE4ZmI4NTQ0OWI1ZDZkMWMyZTFkYjI4MDZmNi4uNWY4NzdhYTA3M2Qw
MzZlZmI2NDE5Yzk5ZTgwNGE3ZGRiOTNjODgzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKQEAgLTQyLDE5ICs0Miwx
OSBAQCB1c2luZyBuYW1lc3BhY2UgUXRNb2JpbGl0eTsKIGNsYXNzIFFHZW9Qb3NpdGlvbkluZm9T
b3VyY2U7CiAjZW5kaWYKIAotCi1jbGFzcyBRV2ViUGFnZTsKLQogbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVz
IGFuIGltcGxlbWVudGF0aW9uIG9mIGEgR2VvbG9jYXRpb25TZXJ2aWNlIGZvciBRdFdlYmtpdC4K
IGNsYXNzIEdlb2xvY2F0aW9uQ2xpZW50UXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIEdlb2xv
Y2F0aW9uQ2xpZW50IHsKICAgICBRX09CSkVDVAogCiBwdWJsaWM6Ci0gICAgR2VvbG9jYXRpb25D
bGllbnRRdChjb25zdCBRV2ViUGFnZSopOworICAgIEdlb2xvY2F0aW9uQ2xpZW50UXQoKTsKICAg
ICB2aXJ0dWFsIH5HZW9sb2NhdGlvbkNsaWVudFF0KCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKKwogICAgIHZpcnR1YWwgdm9pZCBn
ZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7
CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpAQCAtNjksOSArNjksOSBAQCBwcml2
YXRlIFFfU0xPVFM6CiAgICAgdm9pZCBwb3NpdGlvblVwZGF0ZWQoY29uc3QgUUdlb1Bvc2l0aW9u
SW5mbyYpOwogCiBwcml2YXRlOgotICAgIGNvbnN0IFFXZWJQYWdlKiBtX3BhZ2U7CiAgICAgUmVm
UHRyPEdlb2xvY2F0aW9uUG9zaXRpb24+IG1fbGFzdFBvc2l0aW9uOwogICAgIFFHZW9Qb3NpdGlv
bkluZm9Tb3VyY2UqIG1fbG9jYXRpb247CisgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBtX2Nv
bnRyb2xsZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oIGIvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaAppbmRl
eCAyYmQyOWFmN2ZhNTc1MTAwMGJiMTgxNjUwYjA4ZGRiNjZjMjYxYzM1Li44MTBmOWUxN2YxYjA4
NThmNmY4NWU1YTRkMzdhYWUzNjM5MDc1ZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKQEAgLTMxLDYgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR2VvbG9jYXRpb247CitjbGFzcyBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwogfQogCkBA
IC00MCw2ICs0MSw4IEBAIGNsYXNzIFdlYkdlb2xvY2F0aW9uQ2xpZW50IDogcHVibGljIFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJHZW9sb2NhdGlvbkNsaWVu
dChXZWJWaWV3Kik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSB7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlv
bkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdmly
dHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNw
cAppbmRleCAxZjkyMGExZmI1YmUzZTMwY2VlYWIyOWM2MzQxNTk0MWRiMzY3OWIwLi4zNGIyYmQy
NGVkMjQyMmQwOTI1M2ZhYTMzZDlkZjBiNWU4NTgyMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0
aW9uQ2xpZW50LmNwcApAQCAtNDIsNiArNDIsMTAgQEAgV2ViR2VvbG9jYXRpb25DbGllbnQ6On5X
ZWJHZW9sb2NhdGlvbkNsaWVudCgpCiB7CiB9CiAKK3ZvaWQgV2ViR2VvbG9jYXRpb25DbGllbnQ6
OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKikKK3sKK30KKwogdm9pZCBXZWJH
ZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQogewogICAgIFdlYlByb2Nl
c3M6OnNoYXJlZCgpLmdlb2xvY2F0aW9uTWFuYWdlcigpLnVucmVnaXN0ZXJXZWJQYWdlKG1fcGFn
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXggMjFmYzQzODNmOWI1NGM1ODRi
MzIxNzMzMWQ4MzYwMjc1OGM0MjJjOC4uYzEyZTgzMmVjMWU4YzQ2NjFiYjE5YWVhMjNkYTg1ZWJk
Njc2OGIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaApAQCAtMzAsNiArMzAsMTAg
QEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvR2VvbG9jYXRpb25DbGllbnQuaD4KIAorbmFtZXNwYWNl
IFdlYkNvcmUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOworfQorCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKQEAgLTQxLDYgKzQ1LDggQEAgcHVibGljOgogICAg
IHsKICAgICB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9s
b2NhdGlvbkNvbnRyb2xsZXIqKSBPVkVSUklERTsKKwogICAgIHZpcnR1YWwgfldlYkdlb2xvY2F0
aW9uQ2xpZW50KCk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119612</attachid>
            <date>2011-12-16 08:01:26 -0800</date>
            <delta_ts>2011-12-19 11:28:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74499-20111216170653.patch</filename>
            <type>text/plain</type>
            <size>21184</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhkOTc0MGRiZTRhNjE3
MzY3ZTljZjRmMmRiNjk3ZjJhNzAxZGM5NC4uNDlhYmJkNzg5OTEwYzQ3ZjJhZmRkNmI4OWEzZGVk
MmE2MDY0OWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdl
b2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCB1
bmlmaWVzIHRoZSBHZW9sb2NhdGlvbkNsaWVudCBzdWNoIHRoYXQgaXQgd29ya3MgdGhlIHNhbWUK
KyAgICAgICAgd2F5IGFzIHRoZSB2YXJpb3VzIERldmljZSogY2xpZW50J3MgYnkgbWFraW5nIHN1
cmUgdGhlIGNvbnRyb2xsZXIgc2V0cworICAgICAgICB0aGUgcG9pbnRlciB0byBpdHNlbGYgZm9y
IHRoZSBjbGllbnQncyB1cG9uIGNvbnN0cnVjdGlvbi4KKworICAgICAgICBGb3IgdGhlIFF0IHBv
cnQsIHRoaXMgbWVhbnMgdGhhdCB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgY29kZSBiZXR3ZWVuCisg
ICAgICAgIFdlYktpdDEgYW5kIFdlYktpdDIgc2luY2Ugd2Ugd29udCBoYXZlIHRvIHN0b3JlIGEg
cG9pbnRlciB0byBhCisgICAgICAgIFFXZWJQYWdlLgorCisgICAgICAgIEFscmVhZHkgY292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25DbGllbnQu
aDoKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXI6Okdlb2xvY2F0aW9uQ29udHJvbGxlcik6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaDoKKwogMjAxMS0x
Mi0xNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwMzA2Mi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggMDc0Y2RmODhhNDhkMDBlZGNiZmI4NWQ5YTU3ZjI4NGRmZDRiYzBiNS4uOTZiOGU2
ZmJlNTdkNWQ5NWEzOTgxOTVhNTA4Zjg1MzIxOGUyMzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkgIDxh
bGV4YW5kZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVudCBz
aG91bGQgaGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0dlb2xvY2F0aW9uQ2xpZW50UHJveHku
aDoKKwogMjAxMS0xMi0xNSAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBFbmFibGUgQ1NTX0ZJTFRFUlMgaW4gQ2hyb21pdW0uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKaW5kZXggNTA4M2U0ZTUxZTc3ZTg4NzY3MGIzODk3YWRiNGEyNzZiYjNjMzFhNS4uZGM2YTY0
NjAwOGU1OGQ0NjcyM2MwZmI2ODllMjhkMjdmOGFkYjkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5m
YWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50IHNob3VsZCBoYXZl
IGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5j
cHA6CisgICAgICAgIChXZWJLaXQ6Okdlb2xvY2F0aW9uQ2xpZW50OjpHZW9sb2NhdGlvbkNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6Okdlb2xvY2F0aW9uQ2xpZW50OjpzZXRDb250cm9sbGVyKToK
KyAgICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6OnVwZGF0ZVBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6R2VvbG9jYXRpb25DbGllbnQ6OmVycm9yT2NjdXJlZCk6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRHdGsuaDoKKwogMjAxMS0xMi0xNiAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S10gVXBkYXRlIE5FV1MgYW5kIGNvbmZpZ3VyZS5hYyBmb3IgMS43LjMgcmVsZWFzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IGIxMzA2MTdkOTE0MjNmYzk2MWE5ODYyZTc1OGIxZjM2ZTg5NjBhZDAuLjIz
ZTVhNWU0ZTBhNzgwZTllMWVjMGEyMTc4NWUyMzM3YjdlOTc0ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0xNCAgQWxleGFuZGVyIEbDpnLDuHkgIDxhbGV4YW5k
ZXIuZmFlcm95QG5va2lhLmNvbT4KKworICAgICAgICBHZW9sb2NhdGlvbkNsaWVudCBzaG91bGQg
aGF2ZSBhIHNldENvbnRyb2xsZXIoKSBtZXRob2QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGll
bnQuaDoKKwogMjAxMS0xMi0xNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBNYWMgYnVpbGQgZml4IGFmdGVyIHIxMDI4NzQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYx
ZjhhNTgwODU4YjljOTVlY2VjODI2MGE2ODViZDNhZDY1OWNjOTguLjYyMDYxNTExOGQxMjc2NDBl
OGUxNDBmZWIxNTZkNzEwNGYxZjczODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTItMTQgIEFsZXhhbmRlciBGw6Zyw7h5ICA8YWxleGFuZGVyLmZhZXJveUBub2tpYS5j
b20+CisKKyAgICAgICAgR2VvbG9jYXRpb25DbGllbnQgc2hvdWxkIGhhdmUgYSBzZXRDb250cm9s
bGVyKCkgbWV0aG9kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzQ0OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFXZWJQ
YWdlUHJpdmF0ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudFF0OjpHZW9sb2NhdGlv
bkNsaWVudFF0KToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50UXQ6OnNldENv
bnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRRdDo6cG9zaXRp
b25VcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50UXQ6OnN0YXJ0
VXBkYXRpbmcpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQu
aDoKKwogMjAxMS0xMi0xNCAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tp
YS5jb20+CiAKICAgICAgICAgW1F0XSBHZXQgcmlkIG9mIGxheWVyaW5nIHZpb2xhdGlvbiBpbiBQ
bHVnaW5WaWV3UXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxZDNiNzQxZGJlYjE0Yzc4NGVjZjU4NTJh
ZDRhODY5YjNhMWY3ZTI0Li5kYTk1ZmI5YTdjM2E2ODMyOWQ0NTJkYThhOWJhYWE2YzY1MGJiNmM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMTQgIEFsZXhhbmRl
ciBGw6Zyw7h5ICA8YWxleGFuZGVyLmZhZXJveUBub2tpYS5jb20+CisKKyAgICAgICAgR2VvbG9j
YXRpb25DbGllbnQgc2hvdWxkIGhhdmUgYSBzZXRDb250cm9sbGVyKCkgbWV0aG9kLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkdlb2xvY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJHZW9sb2NhdGlvbkNsaWVudDo6
c2V0Q29udHJvbGxlcik6CisKIDIwMTEtMTItMTQgIEppbmcgWmhhbyAgPGppbmd6aGFvQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBPcGVuaW5nIHR3byBwb3B1cCBtZW51cyBieSBkaXNwYXRjaEV2
ZW50KCkgbWFrZXMgcHJvYmxlbXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjhjNDI1MTI0NGU3M2U2ZmY4ODMz
YTZjOThiZWEwNDA4YjNhYmEyNC4uYTZkNjVjNDQ5NDE2NTk4ODVjMmEwZDdiNGQ3MTBkY2MxNDRh
NTNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIg
RsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIEdlb2xvY2F0
aW9uQ2xpZW50IHNob3VsZCBoYXZlIGEgc2V0Q29udHJvbGxlcigpIG1ldGhvZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R2VvbG9jYXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaDoKKwogMjAxMS0xMi0xNiAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
VXNlIGJpdCBmaWVsZCBmb3IgYm9vbCBtZW1iZXJzIG9mIFdlYktpdFdpbmRvd1Byb3BlcnRpZXNQ
cml2YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXggNDRjYjkw
OTE3MmQwOTdmMTcyMGRhY2VjMzVlOWU1ZTRiOWI3YjY0NC4uZWQ4ZGVjOGI5YWRhOWJhYWViMjkx
YWRjNWI1NTRiOWQ1NzIxNjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9s
b2NhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGll
bnQuaApAQCAtMjksMTIgKzI5LDE1IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdl
b2xvY2F0aW9uOworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOwogY2xhc3MgR2VvbG9jYXRp
b25Qb3NpdGlvbjsKIAogY2xhc3MgR2VvbG9jYXRpb25DbGllbnQgewogcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpID0gMDsKIAorICAgIHZpcnR1YWwgdm9p
ZCBzZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciopID0gMDsKKwogICAgIHZpcnR1
YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRp
bmcoKSA9IDA7CiAgICAgLy8gRklYTUU6IFRoZSBWMiBHZW9sb2NhdGlvbiBzcGVjaWZpY2F0aW9u
IHByb3Bvc2VzIHRoYXQgdGhpcyBwcm9wZXJ0eSBpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9H
ZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGI5NTMzY2EzYjUwMzZkYzkwMmY4MTUyN2Ey
YWI0NWRlNjU5M2YyZGIuLjE5ZjcwNTc5M2UxNTU4MzdjNGE4ZTY3YjU4YmEwOTQwOGU1NWY4NWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKQEAg
LTM3LDYgKzM3LDggQEAgR2VvbG9jYXRpb25Db250cm9sbGVyOjpHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoUGFnZSogcGFnZSwgR2VvbG9jYXRpb25DbGllbnQqIGNsaWUKICAgICA6IG1fcGFnZShwYWdl
KQogICAgICwgbV9jbGllbnQoY2xpZW50KQogeworICAgIEFTU0VSVChtX2NsaWVudCk7CisgICAg
bV9jbGllbnQtPnNldENvbnRyb2xsZXIodGhpcyk7CiB9CiAKIEdlb2xvY2F0aW9uQ29udHJvbGxl
cjo6fkdlb2xvY2F0aW9uQ29udHJvbGxlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaAppbmRleCBiNDAwMTY2MTYyM2QzOGJk
YTg0MTlkMTNiNDk3NGVkNmI0OGQ0MTQzLi41YzQ5YjMxMmY3OGQ4NDliOGMxMzBlNWVlYTRkOTc0
MDY4NWE0MGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xv
Y2F0aW9uQ2xpZW50TW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2Vv
bG9jYXRpb25DbGllbnRNb2NrLmgKQEAgLTU0LDcgKzU0LDYgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgfkdlb2xvY2F0aW9uQ2xpZW50TW9jaygpOwogCiAgICAgdm9pZCByZXNldCgpOwotICAgIHZv
aWQgc2V0Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKIAogICAgIHZvaWQgc2V0
RXJyb3IoUGFzc1JlZlB0cjxHZW9sb2NhdGlvbkVycm9yPik7CiAgICAgdm9pZCBzZXRQb3NpdGlv
bihQYXNzUmVmUHRyPEdlb2xvY2F0aW9uUG9zaXRpb24+KTsKQEAgLTYyLDYgKzYxLDcgQEAgcHVi
bGljOgogICAgIGludCBudW1iZXJPZlBlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoKSBjb25zdDsK
IAogICAgIC8vIEdlb2xvY2F0aW9uQ2xpZW50CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRyb2xs
ZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9u
RGVzdHJveWVkKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9HZW9sb2NhdGlvbkNsaWVudFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9HZW9sb2NhdGlvbkNsaWVudFByb3h5LmgKaW5kZXggZWUxNzVkYzBkYzEzOWY5NmNjZWZj
ODAxMDk4ODcyMzMzZDVmZGMyMi4uNjdiOTc4M2RmZjRmZmRkM2JkZGNmN2UxMjQwMzhkNGZkYzU4
MDdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR2VvbG9jYXRpb25D
bGllbnRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dlb2xvY2F0aW9u
Q2xpZW50UHJveHkuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBHZW9sb2NhdGlvbkNsaWVudFBy
b3h5IDogcHVibGljIFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBH
ZW9sb2NhdGlvbkNsaWVudFByb3h5KFdlYkdlb2xvY2F0aW9uQ2xpZW50KiBjbGllbnQpOwogICAg
IH5HZW9sb2NhdGlvbkNsaWVudFByb3h5KCk7Ci0gICAgdm9pZCBzZXRDb250cm9sbGVyKFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlciAqY29udHJvbGxlcik7CisgICAgdmlydHVhbCB2b2lk
IHNldENvbnRyb2xsZXIoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyKik7CiAgICAgdmly
dHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0
VXBkYXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0
ay5jcHAKaW5kZXggZmFjMWQ3M2FmZTNhNTA4MjJhMGQxM2Y5MTgzNDIyYzk3ZjMzOTU0ZS4uNWRk
NGNiN2I5ZTM3NGViMzEwMzcyOGI4ZmM0NDA2ZTAzMmQyNzdhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRHdGsuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50R3RrLmNw
cApAQCAtNjAsOSArNjAsMTYgQEAgR2VvbG9jYXRpb25DbGllbnQ6Okdlb2xvY2F0aW9uQ2xpZW50
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgLCBtX3RpbWVzdGFtcCgwKQogICAgICwgbV9l
bmFibGVIaWdoQWNjdXJhY3koZmFsc2UpCiAgICAgLCBtX2lzVXBkYXRpbmcoZmFsc2UpCisgICAg
LCBtX2NvbnRyb2xsZXIoMCkKIHsKIH0KIAordm9pZCBHZW9sb2NhdGlvbkNsaWVudDo6c2V0Q29u
dHJvbGxlcihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7Cisg
ICAgQVNTRVJUKGNvbnRyb2xsZXIpOworICAgIG1fY29udHJvbGxlciA9IGNvbnRyb2xsZXI7Cit9
CisKIHZvaWQgR2VvbG9jYXRpb25DbGllbnQ6Omdlb2xvY2F0aW9uRGVzdHJveWVkKCkKIHsKICAg
ICBkZWxldGUgdGhpczsKQEAgLTE2NiwxMyArMTczLDE2IEBAIHZvaWQgR2VvbG9jYXRpb25DbGll
bnQ6OnVwZGF0ZVBvc2l0aW9uKCkKIHsKICAgICBtX2xhc3RQb3NpdGlvbiA9IFdlYkNvcmU6Okdl
b2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZShzdGF0aWNfY2FzdDxkb3VibGU+KG1fdGltZXN0YW1w
KSwgbV9sYXRpdHVkZSwgbV9sb25naXR1ZGUsIG1fYWNjdXJhY3ksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgbV9hbHRpdHVk
ZSwgdHJ1ZSwgbV9hbHRpdHVkZUFjY3VyYWN5LCBmYWxzZSwgMCwgZmFsc2UsIDApOwotICAgIGNv
cmUobV93ZWJWaWV3KS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPnBvc2l0aW9uQ2hhbmdlZCht
X2xhc3RQb3NpdGlvbi5nZXQoKSk7CisgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgbV9j
b250cm9sbGVyLT5wb3NpdGlvbkNoYW5nZWQobV9sYXN0UG9zaXRpb24uZ2V0KCkpOwogfQogCiB2
b2lkIEdlb2xvY2F0aW9uQ2xpZW50OjplcnJvck9jY3VyZWQoY29uc3QgY2hhciogbWVzc2FnZSkK
IHsKICAgICBSZWZQdHI8V2ViQ29yZTo6R2VvbG9jYXRpb25FcnJvcj4gZXJyb3IgPSBXZWJDb3Jl
OjpHZW9sb2NhdGlvbkVycm9yOjpjcmVhdGUoV2ViQ29yZTo6R2VvbG9jYXRpb25FcnJvcjo6UG9z
aXRpb25VbmF2YWlsYWJsZSwgbWVzc2FnZSk7Ci0gICAgY29yZShtX3dlYlZpZXcpLT5nZW9sb2Nh
dGlvbkNvbnRyb2xsZXIoKS0+ZXJyb3JPY2N1cnJlZChlcnJvci5nZXQoKSk7CisKKyAgICBpZiAo
bV9jb250cm9sbGVyKQorICAgICAgICBtX2NvbnRyb2xsZXItPmVycm9yT2NjdXJyZWQoZXJyb3Iu
Z2V0KCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvR2VvbG9jYXRpb25DbGllbnRHdGsuaAppbmRleCBiZjE3YzcxMzVhYTVkYzMwZmM1YzBj
MWI2NzlkOGFmNWQ5OWU5NjdlLi42ODk5ZWU1MTM3NzU4NTA5NTkzNDc1ZDBlMWNmYjc5OGEzMDNk
MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2Nh
dGlvbkNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dl
b2xvY2F0aW9uQ2xpZW50R3RrLmgKQEAgLTMzLDYgKzMzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFdlYlZpZXcgV2ViS2l0V2ViVmlldzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R2VvbG9jYXRpb247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiB9CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNDEsNiArNDIsOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkNsaWVudCA6IHB1
YmxpYyBXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudCB7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRp
b25DbGllbnQoV2ViS2l0V2ViVmlldyopOwogCisgICAgdm9pZCBzZXRDb250cm9sbGVyKFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlciopOworCiAgICAgdm9pZCBnZW9sb2NhdGlvbkRlc3Ry
b3llZCgpOwogCiAgICAgdm9pZCBzdGFydFVwZGF0aW5nKCk7CkBAIC03NCw2ICs3Nyw4IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIG1fZW5hYmxlSGlnaEFjY3VyYWN5OwogICAgIGJvb2wgbV9pc1Vw
ZGF0aW5nOworCisgICAgV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xs
ZXI7CiB9OwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCmluZGV4IDU0NDM2
MjJmOWE1NDdjNjliNTYyZWRmZjI0MGEwN2Y3MjA3NWM4ZWMuLjZjMDkyOTZmODc0Nzg4NWI5YTY3
MTA0NGE3ZTMxZjZhZWE5MjBhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaApAQCAtMjcsNiArMjcsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHZW9sb2NhdGlvbjsKK2NsYXNzIEdlb2xvY2F0
aW9uQ29udHJvbGxlcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiB9CiAKQEAgLTM3LDYg
KzM4LDcgQEAgcHVibGljOgogICAgIFdlYkdlb2xvY2F0aW9uQ2xpZW50KFdlYlZpZXcgKik7CiAg
ICAgV2ViVmlldyAqd2ViVmlldygpIHsgcmV0dXJuIG1fd2ViVmlldzsgfQogCisgICAgdmlydHVh
bCB2b2lkIHNldENvbnRyb2xsZXIoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyKikgT1ZF
UlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAKaW5kZXggNzlkNGZjNzU5ZjIwYTM3MDkyZDg4MGViMzJjODNkZDhkMzUxOTI0My4uYzhiOGNk
M2U3MTIyY2Y1ZjhmMzk5ZWNkNTIxMzEzOTQwNTYxYTUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcApAQCAtMzM1LDcgKzMzNSw3IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2
YXRlKFFXZWJQYWdlICpxcSkKICAgICBpZiAodXNlTW9jaykKICAgICAgICAgcGFnZUNsaWVudHMu
Z2VvbG9jYXRpb25DbGllbnQgPSBuZXcgR2VvbG9jYXRpb25DbGllbnRNb2NrOwogICAgIGVsc2UK
LSAgICAgICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgR2VvbG9jYXRpb25D
bGllbnRRdChxKTsKKyAgICAgICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcg
R2VvbG9jYXRpb25DbGllbnRRdDsKICNlbmRpZgogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
ICAgIHBhZ2VDbGllbnRzLm5vdGlmaWNhdGlvbkNsaWVudCA9IE5vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCmluZGV4IGNk
YTVmMzUwYmE2MjVkOGM1MTBjMjkzMmUyY2ZiYjhjMzRjNDU3YTQuLjhmNGYyNWY2MWUzMmExZTQy
ZmVlYTQyOWM3MjE5NGUyMTMxNTU5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcApAQCAtMzQsOCArMzQsNiBA
QAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJxd2ViZnJhbWUuaCIKICNpbmNsdWRlICJx
d2ViZnJhbWVfcC5oIgotI2luY2x1ZGUgInF3ZWJwYWdlLmgiCi0jaW5jbHVkZSAicXdlYnBhZ2Vf
cC5oIgogCiAjaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKICNpbmNs
dWRlIDxRR2VvUG9zaXRpb25JbmZvU291cmNlPgpAQCAtNDcsMTAgKzQ1LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIgZmFpbGVkVG9TdGFydFNlcnZpY2VFcnJv
ck1lc3NhZ2VbXSA9ICJGYWlsZWQgdG8gc3RhcnQgR2VvbG9jYXRpb24gc2VydmljZSI7CiAKLUdl
b2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQoY29uc3QgUVdlYlBhZ2UqIHBh
Z2UpCi0gICAgOiBtX3BhZ2UocGFnZSkKLSAgICAsIG1fbGFzdFBvc2l0aW9uKDApCitHZW9sb2Nh
dGlvbkNsaWVudFF0OjpHZW9sb2NhdGlvbkNsaWVudFF0KCkKKyAgICA6IG1fbGFzdFBvc2l0aW9u
KDApCiAgICAgLCBtX2xvY2F0aW9uKDApCisgICAgLCBtX2NvbnRyb2xsZXIoMCkKIHsKIH0KIApA
QCAtNTksNiArNTcsMTIgQEAgR2VvbG9jYXRpb25DbGllbnRRdDo6fkdlb2xvY2F0aW9uQ2xpZW50
UXQoKQogICAgIGRlbGV0ZSBtX2xvY2F0aW9uOwogfQogCit2b2lkIEdlb2xvY2F0aW9uQ2xpZW50
UXQ6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyKQorewor
ICAgIEFTU0VSVChjb250cm9sbGVyKTsKKyAgICBtX2NvbnRyb2xsZXIgPSBjb250cm9sbGVyOwor
fQorCiB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50UXQ6Omdlb2xvY2F0aW9uRGVzdHJveWVkKCkKIHsK
ICAgICBkZWxldGUgdGhpczsKQEAgLTY5LDMyICs3MywzMyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xp
ZW50UXQ6OnBvc2l0aW9uVXBkYXRlZChjb25zdCBRR2VvUG9zaXRpb25JbmZvJiBnZW9Qb3NpdGlv
bikKICAgICBpZiAoIWdlb1Bvc2l0aW9uLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgUUdlb0Nvb3JkaW5hdGUgY29vcmQgPSBnZW9Qb3NpdGlvbi5jb29yZGluYXRlKCk7Ci0gICAg
ZG91YmxlIGxhdGl0dWRlID0gY29vcmQubGF0aXR1ZGUoKTsKLSAgICBkb3VibGUgbG9uZ2l0dWRl
ID0gY29vcmQubG9uZ2l0dWRlKCk7Ci0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlID0gKGdlb1Bv
c2l0aW9uLmNvb3JkaW5hdGUoKS50eXBlKCkgPT0gUUdlb0Nvb3JkaW5hdGU6OkNvb3JkaW5hdGUz
RCk7Ci0gICAgZG91YmxlIGFsdGl0dWRlID0gY29vcmQuYWx0aXR1ZGUoKTsKKyAgICBpZiAobV9j
b250cm9sbGVyKSB7CisgICAgICAgIFFHZW9Db29yZGluYXRlIGNvb3JkID0gZ2VvUG9zaXRpb24u
Y29vcmRpbmF0ZSgpOworICAgICAgICBkb3VibGUgbGF0aXR1ZGUgPSBjb29yZC5sYXRpdHVkZSgp
OworICAgICAgICBkb3VibGUgbG9uZ2l0dWRlID0gY29vcmQubG9uZ2l0dWRlKCk7CisgICAgICAg
IGJvb2wgcHJvdmlkZXNBbHRpdHVkZSA9IChnZW9Qb3NpdGlvbi5jb29yZGluYXRlKCkudHlwZSgp
ID09IFFHZW9Db29yZGluYXRlOjpDb29yZGluYXRlM0QpOworICAgICAgICBkb3VibGUgYWx0aXR1
ZGUgPSBjb29yZC5hbHRpdHVkZSgpOwogCi0gICAgZG91YmxlIGFjY3VyYWN5ID0gZ2VvUG9zaXRp
b24uYXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86Okhvcml6b250YWxBY2N1cmFjeSk7CisgICAg
ICAgIGRvdWJsZSBhY2N1cmFjeSA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25J
bmZvOjpIb3Jpem9udGFsQWNjdXJhY3kpOwogCi0gICAgYm9vbCBwcm92aWRlc0FsdGl0dWRlQWNj
dXJhY3kgPSBnZW9Qb3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6VmVydGlj
YWxBY2N1cmFjeSk7Ci0gICAgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3kgPSBnZW9Qb3NpdGlvbi5h
dHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6VmVydGljYWxBY2N1cmFjeSk7CisgICAgICAgIGJv
b2wgcHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5ID0gZ2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFH
ZW9Qb3NpdGlvbkluZm86OlZlcnRpY2FsQWNjdXJhY3kpOworICAgICAgICBkb3VibGUgYWx0aXR1
ZGVBY2N1cmFjeSA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpWZXJ0
aWNhbEFjY3VyYWN5KTsKIAotICAgIGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9u
Lmhhc0F0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOwotICAgIGRvdWJsZSBo
ZWFkaW5nID0gZ2VvUG9zaXRpb24uYXR0cmlidXRlKFFHZW9Qb3NpdGlvbkluZm86OkRpcmVjdGlv
bik7CisgICAgICAgIGJvb2wgcHJvdmlkZXNIZWFkaW5nID0gIGdlb1Bvc2l0aW9uLmhhc0F0dHJp
YnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOworICAgICAgICBkb3VibGUgaGVhZGlu
ZyA9IGdlb1Bvc2l0aW9uLmF0dHJpYnV0ZShRR2VvUG9zaXRpb25JbmZvOjpEaXJlY3Rpb24pOwog
Ci0gICAgYm9vbCBwcm92aWRlc1NwZWVkID0gZ2VvUG9zaXRpb24uaGFzQXR0cmlidXRlKFFHZW9Q
b3NpdGlvbkluZm86Okdyb3VuZFNwZWVkKTsKLSAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3NpdGlv
bi5hdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOworICAgICAgICBib29s
IHByb3ZpZGVzU3BlZWQgPSBnZW9Qb3NpdGlvbi5oYXNBdHRyaWJ1dGUoUUdlb1Bvc2l0aW9uSW5m
bzo6R3JvdW5kU3BlZWQpOworICAgICAgICBkb3VibGUgc3BlZWQgPSBnZW9Qb3NpdGlvbi5hdHRy
aWJ1dGUoUUdlb1Bvc2l0aW9uSW5mbzo6R3JvdW5kU3BlZWQpOwogCi0gICAgZG91YmxlIHRpbWVT
dGFtcEluU2Vjb25kcyA9IGdlb1Bvc2l0aW9uLnRpbWVzdGFtcCgpLnRvTVNlY3NTaW5jZUVwb2No
KCkgLyAxMDAwOworICAgICAgICBkb3VibGUgdGltZVN0YW1wSW5TZWNvbmRzID0gZ2VvUG9zaXRp
b24udGltZXN0YW1wKCkudG9NU2Vjc1NpbmNlRXBvY2goKSAvIDEwMDA7CiAKLSAgICBtX2xhc3RQ
b3NpdGlvbiA9IEdlb2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZSh0aW1lU3RhbXBJblNlY29uZHMs
IGxhdGl0dWRlLCBsb25naXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWNjdXJhY3ksIHByb3ZpZGVzQWx0aXR1ZGUsIGFsdGl0dWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzQWx0
aXR1ZGVBY2N1cmFjeSwgYWx0aXR1ZGVBY2N1cmFjeSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlc0hlYWRpbmcsIGhlYWRpbmcsIHByb3Zp
ZGVzU3BlZWQsIHNwZWVkKTsKKyAgICAgICAgbV9sYXN0UG9zaXRpb24gPSBHZW9sb2NhdGlvblBv
c2l0aW9uOjpjcmVhdGUodGltZVN0YW1wSW5TZWNvbmRzLCBsYXRpdHVkZSwgbG9uZ2l0dWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2N1
cmFjeSwgcHJvdmlkZXNBbHRpdHVkZSwgYWx0aXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeSwg
YWx0aXR1ZGVBY2N1cmFjeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHJvdmlkZXNIZWFkaW5nLCBoZWFkaW5nLCBwcm92aWRlc1NwZWVkLCBz
cGVlZCk7CiAKLSAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3Jl
KG1fcGFnZSk7Ci0gICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPnBvc2l0aW9uQ2hh
bmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CisgICAgICAgIG1fY29udHJvbGxlci0+cG9zaXRp
b25DaGFuZ2VkKG1fbGFzdFBvc2l0aW9uLmdldCgpKTsKKyAgICB9CiB9CiAKIHZvaWQgR2VvbG9j
YXRpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZygpCkBAIC0xMDMsOSArMTA4LDkgQEAgdm9pZCBH
ZW9sb2NhdGlvbkNsaWVudFF0OjpzdGFydFVwZGF0aW5nKCkKICAgICAgICAgY29ubmVjdChtX2xv
Y2F0aW9uLCBTSUdOQUwocG9zaXRpb25VcGRhdGVkKFFHZW9Qb3NpdGlvbkluZm8pKSwgdGhpcywg
U0xPVChwb3NpdGlvblVwZGF0ZWQoUUdlb1Bvc2l0aW9uSW5mbykpKTsKIAogICAgIGlmICghbV9s
b2NhdGlvbikgewotICAgICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRl
Ojpjb3JlKG1fcGFnZSk7CiAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9y
PiBlcnJvciA9IEdlb2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVycm9yOjpQb3Np
dGlvblVuYXZhaWxhYmxlLCBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2FnZSk7Ci0gICAg
ICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdl
dCgpKTsKKyAgICAgICAgaWYgKG1fY29udHJvbGxlcikKKyAgICAgICAgICAgIG1fY29udHJvbGxl
ci0+ZXJyb3JPY2N1cnJlZChlcnJvci5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25D
bGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNs
aWVudFF0LmgKaW5kZXggOWEyODI1ZDk0MmIzZmE4ZmI4NTQ0OWI1ZDZkMWMyZTFkYjI4MDZmNi4u
NWY4NzdhYTA3M2QwMzZlZmI2NDE5Yzk5ZTgwNGE3ZGRiOTNjODgzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKKysrIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKQEAg
LTQyLDE5ICs0MiwxOSBAQCB1c2luZyBuYW1lc3BhY2UgUXRNb2JpbGl0eTsKIGNsYXNzIFFHZW9Q
b3NpdGlvbkluZm9Tb3VyY2U7CiAjZW5kaWYKIAotCi1jbGFzcyBRV2ViUGFnZTsKLQogbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOwogCiAvLyBUaGlzIGNs
YXNzIHByb3ZpZGVzIGFuIGltcGxlbWVudGF0aW9uIG9mIGEgR2VvbG9jYXRpb25TZXJ2aWNlIGZv
ciBRdFdlYmtpdC4KIGNsYXNzIEdlb2xvY2F0aW9uQ2xpZW50UXQgOiBwdWJsaWMgUU9iamVjdCwg
cHVibGljIEdlb2xvY2F0aW9uQ2xpZW50IHsKICAgICBRX09CSkVDVAogCiBwdWJsaWM6Ci0gICAg
R2VvbG9jYXRpb25DbGllbnRRdChjb25zdCBRV2ViUGFnZSopOworICAgIEdlb2xvY2F0aW9uQ2xp
ZW50UXQoKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvbkNsaWVudFF0KCk7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKKwogICAgIHZp
cnR1YWwgdm9pZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdGFy
dFVwZGF0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpAQCAtNjksOSAr
NjksOSBAQCBwcml2YXRlIFFfU0xPVFM6CiAgICAgdm9pZCBwb3NpdGlvblVwZGF0ZWQoY29uc3Qg
UUdlb1Bvc2l0aW9uSW5mbyYpOwogCiBwcml2YXRlOgotICAgIGNvbnN0IFFXZWJQYWdlKiBtX3Bh
Z2U7CiAgICAgUmVmUHRyPEdlb2xvY2F0aW9uUG9zaXRpb24+IG1fbGFzdFBvc2l0aW9uOwogICAg
IFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2UqIG1fbG9jYXRpb247CisgICAgR2VvbG9jYXRpb25Db250
cm9sbGVyKiBtX2NvbnRyb2xsZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNs
aWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25D
bGllbnQuaAppbmRleCAyYmQyOWFmN2ZhNTc1MTAwMGJiMTgxNjUwYjA4ZGRiNjZjMjYxYzM1Li44
MTBmOWUxN2YxYjA4NThmNmY4NWU1YTRkMzdhYWUzNjM5MDc1ZjA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgK
QEAgLTMxLDYgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR2VvbG9jYXRp
b247CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0
aW9uOwogfQogCkBAIC00MCw2ICs0MSw4IEBAIGNsYXNzIFdlYkdlb2xvY2F0aW9uQ2xpZW50IDog
cHVibGljIFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJHZW9s
b2NhdGlvbkNsaWVudChXZWJWaWV3Kik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxl
cihXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSB7IH0KKwogICAgIHZpcnR1YWwgdm9p
ZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5n
KCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0
aW9uQ2xpZW50LmNwcAppbmRleCAxZjkyMGExZmI1YmUzZTMwY2VlYWIyOWM2MzQxNTk0MWRiMzY3
OWIwLi4zNGIyYmQyNGVkMjQyMmQwOTI1M2ZhYTMzZDlkZjBiNWU4NTgyMDFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9u
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcApAQCAtNDIsNiArNDIsMTAgQEAgV2ViR2VvbG9jYXRp
b25DbGllbnQ6On5XZWJHZW9sb2NhdGlvbkNsaWVudCgpCiB7CiB9CiAKK3ZvaWQgV2ViR2VvbG9j
YXRpb25DbGllbnQ6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyKikKK3sKK30K
Kwogdm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9jYXRpb25EZXN0cm95ZWQoKQogewog
ICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmdlb2xvY2F0aW9uTWFuYWdlcigpLnVucmVnaXN0ZXJX
ZWJQYWdlKG1fcGFnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgKaW5kZXggMjFmYzQz
ODNmOWI1NGM1ODRiMzIxNzMzMWQ4MzYwMjc1OGM0MjJjOC4uYzEyZTgzMmVjMWU4YzQ2NjFiYjE5
YWVhMjNkYTg1ZWJkNjc2OGIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaApAQCAt
MzAsNiArMzAsMTAgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvR2VvbG9jYXRpb25DbGllbnQuaD4K
IAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyOworfQor
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKQEAgLTQxLDYgKzQ1LDggQEAg
cHVibGljOgogICAgIHsKICAgICB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihX
ZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKSBPVkVSUklERTsKKwogICAgIHZpcnR1YWwg
fldlYkdlb2xvY2F0aW9uQ2xpZW50KCk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>