<?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>113627</bug_id>
          
          <creation_ts>2013-03-29 16:29:06 -0700</creation_ts>
          <short_desc>[EFL][WK2] --no-tiled-backing-store build fails because of not used #if USE(ACCELERATED_COMPOSITING)</short_desc>
          <delta_ts>2013-09-11 07:14:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>113153</blocked>
    
    <blocked>121159</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Ed Bartosh">bartosh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>rakuco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tmpsantos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>866472</commentid>
    <comment_count>0</comment_count>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-03-29 16:29:06 -0700</bug_when>
    <thetext>Here is just one example of compilation error:
WebCore/platform/graphics/TextTrackRepresentation.h:55:13: error: `PlatformLayer&apos; does not name a type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866487</commentid>
    <comment_count>1</comment_count>
      <attachid>195820</attachid>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-03-29 16:51:15 -0700</bug_when>
    <thetext>Created attachment 195820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866604</commentid>
    <comment_count>2</comment_count>
      <attachid>195854</attachid>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-03-30 04:43:35 -0700</bug_when>
    <thetext>Created attachment 195854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866973</commentid>
    <comment_count>3</comment_count>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-01 01:06:18 -0700</bug_when>
    <thetext>Reverting back to UNCONFIRMED after reading https://bugs.webkit.org/page.cgi?id=fields.html#status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867032</commentid>
    <comment_count>4</comment_count>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-01 04:09:41 -0700</bug_when>
    <thetext>Added WK2 reviewer as patch also changes WK2 code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868213</commentid>
    <comment_count>5</comment_count>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-02 13:37:41 -0700</bug_when>
    <thetext>Please, review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869346</commentid>
    <comment_count>6</comment_count>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-04 14:04:46 -0700</bug_when>
    <thetext>Is there anything wrong with the patch? Why it&apos;s not reviewed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869349</commentid>
    <comment_count>7</comment_count>
      <attachid>195854</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-04-04 14:07:55 -0700</bug_when>
    <thetext>Comment on attachment 195854
Patch

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

&gt; Source/WebCore/testing/Internals.cpp:267
&gt; +#else
&gt; +        { }

Why the #else block?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869366</commentid>
    <comment_count>8</comment_count>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-04 14:27:21 -0700</bug_when>
    <thetext>&gt; Why the #else block?
Well, actually it&apos;s not needed as mainFrameView is not used further in the code. I&apos;ll update the patch this way:
#if USE(ACCELERATED_COMPOSITING)
    FrameView* mainFrameView = page-&gt;mainFrame()-&gt;view();
    if (mainFrameView) {
         mainFrameView-&gt;setHeaderHeight(0);
         mainFrameView-&gt;setFooterHeight(0);
#endif

I&apos;ll also rebase it as it&apos;s quite old and might not apply.

Thank you for review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869371</commentid>
    <comment_count>9</comment_count>
      <attachid>196531</attachid>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-04 14:38:35 -0700</bug_when>
    <thetext>Created attachment 196531
Patch

Updated according to reviewer comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869926</commentid>
    <comment_count>10</comment_count>
      <attachid>196531</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-04-05 11:54:52 -0700</bug_when>
    <thetext>Comment on attachment 196531
Patch

Pleaes request cq? when you request r? next time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869933</commentid>
    <comment_count>11</comment_count>
      <attachid>196531</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-05 12:00:15 -0700</bug_when>
    <thetext>Comment on attachment 196531
Patch

Rejecting attachment 196531 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 196531, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
k #1 succeeded at 228 (offset 21 lines).
Hunk #2 succeeded at 531 (offset 13 lines).
Hunk #3 succeeded at 541 (offset 13 lines).
Hunk #4 succeeded at 556 (offset 13 lines).
Hunk #5 succeeded at 567 (offset 13 lines).
patching file Source/cmake/OptionsEfl.cmake
Hunk #1 succeeded at 176 (offset 1 line).
Hunk #2 succeeded at 251 (offset 1 line).

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Simon Fraser&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-commit-queue.appspot.com/results/17420352</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869945</commentid>
    <comment_count>12</comment_count>
      <attachid>196665</attachid>
    <who name="Ed Bartosh">bartosh</who>
    <bug_when>2013-04-05 12:19:35 -0700</bug_when>
    <thetext>Created attachment 196665
Patch

I&apos;m sorry. My fault. 

Rebased. Requested r? and cq?.

Please, review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870047</commentid>
    <comment_count>13</comment_count>
      <attachid>196665</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-05 13:28:10 -0700</bug_when>
    <thetext>Comment on attachment 196665
Patch

Clearing flags on attachment: 196665

Committed r147792: &lt;http://trac.webkit.org/changeset/147792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870048</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-05 13:28:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195820</attachid>
            <date>2013-03-29 16:51:15 -0700</date>
            <delta_ts>2013-03-30 04:43:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113627-20130330015110.patch</filename>
            <type>text/plain</type>
            <size>27056</size>
            <attacher name="Ed Bartosh">bartosh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdmMTQ4ZTVkM2JjN2U4
OGYwY2U5YTQ4ZmFjNDhkMWM1Mjk2YTkyYi4uODYyYjQ3Y2RkZDc5Mzg0NzdjYmMyOGUyZmU0ZTQ4
NTUyNWQwMDNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTI5ICBFZCBC
YXJ0b3NoICA8YmFydG9zaEBnbWFpbC5jb20+CisKKyAgICAgICAgW0VGTF0gLS1uby10aWxlZC1i
YWNraW5nLXN0b3JlIGJ1aWxkIGZhaWxzIGJlY2F1c2Ugb2Ygbm90IHVzZWQgI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMzYyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgV3JhcHBlZCBjb2RlIHdpdGggI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykgdG8gbWFrZSBpdCBjb21waWxhYmxlCisgICAgICAgd2l0aCAtLW5vLXRpbGVkLWJhY2tp
bmctc3RvcmUgYnVpbGQgb3B0aW9uOiAKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9JbXBsaWNp
dEFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbXBsaWNpdEFuaW1hdGlvbjo6YW5p
bWF0ZSk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVBbmltYXRpb246OmFuaW1hdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcDoKKyAgICAgICAg
KE51bGxUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaDoKKyAgICAgICAgKFRleHRUcmFja1JlcHJlc2Vu
dGF0aW9uKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpzZXRIZWFkZXJIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpzZXRGb290ZXJIZWlnaHQpOgorCiAyMDEzLTAzLTI5ICBKb3NodWEgQmVsbCAgPGpzYmVs
bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBJbmRleGVkREI6IEV4Y2VwdGlvbnMgdGhy
b3duIGluY29uc2lzdGVudGx5IGZvciBub24tY2xvbmVhYmxlIHZhbHVlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IGZjYmQxYjIwZTUzZDZjZGUzNmYwZWQyNjBhM2FhYzg1NzZiODU3MDEuLjRmMzBjMTk3YTYyN2Ni
M2EwNmJhYmFjYTFjOGZjNTg3N2I4MGFkMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAor
MjAxMy0wMy0yOSAgRWQgQmFydG9zaCAgPGJhcnRvc2hAZ21haWwuY29tPgorCisgICAgICAgIFtF
RkxdIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBmYWlscyBiZWNhdXNlIG9mIG5vdCB1
c2VkICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXcmFwcGVkIGNvZGUgd2l0aCAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKSB0byBtYWtlIGl0IGNvbXBpbGFibGUKKyAgICAgICAgd2l0
aCAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQgb3B0aW9uOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9F
dmFzR0xDb250ZXh0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250
ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmlldzo6RXdrVmlldyk6
CisgICAgICAgIChFd2tWaWV3OjpkaXNwbGF5VGltZXJGaXJlZCk6CisgICAgICAgIChFd2tWaWV3
Ojp0YWtlU25hcHNob3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL1NuYXBzaG90SW1hZ2VHTC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVu
dEVmbC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dXBkYXRlVmll
d3BvcnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6ZGlkQ2hhbmdlVmlld3BvcnRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6cGFnZURpZFJlcXVlc3RTY3Jv
bGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpkaWRSZW5kZXJGcmFtZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXc6OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSk6CisKIDIwMTMt
MDMtMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFdlIGxl
YWsgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mgb2JqZWN0cy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAppbmRleCAzN2Ey
ZjcyNGQzMTk3NjhhYzZjYWU4YmVlMTExMjk1MTIzNjQxYzFjLi4yNTQxNTAyZTk4YjRlMjEyNGVi
MjI0YTdhODg3ZGY0MTAzMDkxMjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCkBAIC03OCwxMCArNzgsMTAgQEAgdm9pZCBJ
bXBsaWNpdEFuaW1hdGlvbjo6YW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJPYmpl
Y3QqLCBjb25zdCBSZW5kZXIKICAgICBpZiAoIWFuaW1hdGVkU3R5bGUpCiAgICAgICAgIGFuaW1h
dGVkU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUodGFyZ2V0U3R5bGUpOwogCisjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wgbmVlZHNBbmltID0gQ1NTUHJvcGVydHlB
bmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCBtX2FuaW1hdGluZ1Byb3BlcnR5LCBhbmlt
YXRlZFN0eWxlLmdldCgpLCBtX2Zyb21TdHlsZS5nZXQoKSwgbV90b1N0eWxlLmdldCgpLCBwcm9n
cmVzcygxLCAwLCAwKSk7CiAgICAgLy8gRklYTUU6IHdlIGFsc28gbmVlZCB0byBkZXRlY3QgY2Fz
ZXMgd2hlcmUgd2UgaGF2ZSB0byBzb2Z0d2FyZSBhbmltYXRlIGZvciBvdGhlciByZWFzb25zLAog
ICAgIC8vIHN1Y2ggYXMgYSBjaGlsZCB1c2luZyBpbmhlcml0aW5nIHRoZSB0cmFuc2Zvcm0uIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwMgotI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAoIW5lZWRzQW5pbSkKICAgICAgICAgLy8gSWYg
d2UgYXJlIHJ1bm5pbmcgYW4gYWNjZWxlcmF0ZWQgYW5pbWF0aW9uLCBzZXQgYSBmbGFnIGluIHRo
ZSBzdHlsZSB3aGljaCBjYXVzZXMgdGhlIHN0eWxlCiAgICAgICAgIC8vIHRvIGNvbXBhcmUgYXMg
ZGlmZmVyZW50IHRvIGFueSBvdGhlciBzdHlsZS4gVGhpcyBlbnN1cmVzIHRoYXQgY2hhbmdlcyB0
byB0aGUgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0tleWZyYW1lQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tl
eWZyYW1lQW5pbWF0aW9uLmNwcAppbmRleCAwNDI1YTUyZjY1ZGE1NDFmYWI1MWMwMDc1Yjg0MDEx
ZjFiOTc0Yjg5Li41MzhlZjA0NzRlMmVlNmZiODI4MDIyZGZkMTA5MjY0YWFlZjExNjZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24u
Y3BwCkBAIC0xODUsOSArMTg1LDggQEAgdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6YW5pbWF0ZShD
b21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXIKICAgICAgICAg
Y29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUgPSAwOwogICAgICAgICBkb3VibGUgcHJvZ3Jlc3Mg
PSAwLjA7CiAgICAgICAgIGZldGNoSW50ZXJ2YWxFbmRwb2ludHNGb3JQcm9wZXJ0eSgqaXQsIGZy
b21TdHlsZSwgdG9TdHlsZSwgcHJvZ3Jlc3MpOwotICAgIAotICAgICAgICBib29sIG5lZWRzQW5p
bSA9IENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXModGhpcywgKml0LCBhbmlt
YXRlZFN0eWxlLmdldCgpLCBmcm9tU3R5bGUsIHRvU3R5bGUsIHByb2dyZXNzKTsKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAgIGJvb2wgbmVlZHNBbmltID0gQ1NTUHJv
cGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCAqaXQsIGFuaW1hdGVkU3R5bGUu
Z2V0KCksIGZyb21TdHlsZSwgdG9TdHlsZSwgcHJvZ3Jlc3MpOwogICAgICAgICBpZiAoIW5lZWRz
QW5pbSkKICAgICAgICAgICAgIC8vIElmIHdlIGFyZSBydW5uaW5nIGFuIGFjY2VsZXJhdGVkIGFu
aW1hdGlvbiwgc2V0IGEgZmxhZyBpbiB0aGUgc3R5bGUKICAgICAgICAgICAgIC8vIHRvIGluZGlj
YXRlIGl0LiBUaGlzIGNhbiBiZSB1c2VkIHRvIG1ha2Ugc3VyZSB3ZSBnZXQgYW4gdXBkYXRlZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVw
cmVzZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRy
YWNrUmVwcmVzZW50YXRpb24uY3BwCmluZGV4IDNjMzQyM2JjYjMyNWQwNjYwMDllNTk1ZTM2YzUz
YTBlNDA3MDQ4NmMuLjY4ZTRjMmQ0YTMwOTM1NWVhODM0MzRlZGI1ZDk4MzdlZDdmYTU2NWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJl
c2VudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
VHJhY2tSZXByZXNlbnRhdGlvbi5jcHAKQEAgLTM1LDcgKzM1LDkgQEAgY2xhc3MgTnVsbFRleHRU
cmFja1JlcHJlc2VudGF0aW9uIDogcHVibGljIFRleHRUcmFja1JlcHJlc2VudGF0aW9uIHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5OdWxsVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlKCkgeyB9CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIHsgcmV0dXJu
IDA7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50U2NhbGUoZmxvYXQpIHsg
fQogICAgIHZpcnR1YWwgSW50UmVjdCBib3VuZHMoKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KCk7
IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCAyYTRmNTI3NjA1N2NhMmQwYTE3OGRjOTI4
MmIyN2EyOGFlYjM0ZDJiLi42MzkyM2JjMGZhODM0ZGE3NWM5ZDhjOWQ2NGU0YzhmMzYzZjJmNTE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRUcmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTUyLDcgKzUyLDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgflRleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlKCkgPSAwOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0
dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSA9IDA7CisjZW5kaWYKICAgICB2aXJ0
dWFsIHZvaWQgc2V0Q29udGVudFNjYWxlKGZsb2F0KSA9IDA7CiAgICAgdmlydHVhbCBJbnRSZWN0
IGJvdW5kcygpIGNvbnN0ID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
aW5kZXggOGRkMzZkNjM1MmVjMGFkNzU2NzRjOWQ4OTg5OGQxZjMwY2E3YmJjNy4uZjUxNDYwMzA2
OWJhMWVhYmEzY2E4MzViZDJjMDNlMDhkNjBkYmNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtMjU3LDkgKzI1NywxNSBAQCB2b2lkIEludGVybmFsczo6cmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZShQYWdlKiBwYWdlKQogCiAgICAgcGFnZS0+c2V0UGFnZVNjYWxlRmFjdG9y
KDEsIEludFBvaW50KDAsIDApKTsKICAgICBwYWdlLT5zZXRQYWdpbmF0aW9uKFBhZ2luYXRpb24o
KSk7Ci0gICAgaWYgKEZyYW1lVmlldyogbWFpbkZyYW1lVmlldyA9IHBhZ2UtPm1haW5GcmFtZSgp
LT52aWV3KCkpIHsKKworICAgIEZyYW1lVmlldyogbWFpbkZyYW1lVmlldyA9IHBhZ2UtPm1haW5G
cmFtZSgpLT52aWV3KCk7CisgICAgaWYgKG1haW5GcmFtZVZpZXcpIHsKKyNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIG1haW5GcmFtZVZpZXctPnNldEhlYWRlckhlaWdo
dCgwKTsKICAgICAgICAgbWFpbkZyYW1lVmlldy0+c2V0Rm9vdGVySGVpZ2h0KDApOworI2Vsc2UK
KyAgICAgICAgeyB9CisjZW5kaWYKICAgICB9CiAgICAgVGV4dFJ1bjo6c2V0QWxsb3dzUm91bmRp
bmdIYWNrcyhmYWxzZSk7CiAgICAgV2ViQ29yZTo6b3ZlcnJpZGVVc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKFZlY3RvcjxTdHJpbmc+KCkpOwpAQCAtMTg0OCwxOCArMTg1NCwyMCBAQCB2b2lkIEludGVy
bmFsczo6c2V0SGVhZGVySGVpZ2h0KERvY3VtZW50KiBkb2N1bWVudCwgZmxvYXQgaGVpZ2h0KQog
ewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT52aWV3KCkpCiAgICAgICAgIHJldHVy
bjsKLQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBGcmFtZVZpZXcqIGZy
YW1lVmlldyA9IGRvY3VtZW50LT52aWV3KCk7CiAgICAgZnJhbWVWaWV3LT5zZXRIZWFkZXJIZWln
aHQoaGVpZ2h0KTsKKyNlbmRpZgogfQogCiB2b2lkIEludGVybmFsczo6c2V0Rm9vdGVySGVpZ2h0
KERvY3VtZW50KiBkb2N1bWVudCwgZmxvYXQgaGVpZ2h0KQogewogICAgIGlmICghZG9jdW1lbnQg
fHwgIWRvY3VtZW50LT52aWV3KCkpCiAgICAgICAgIHJldHVybjsKLQorI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGRvY3VtZW50LT52
aWV3KCk7CiAgICAgZnJhbWVWaWV3LT5zZXRGb290ZXJIZWlnaHQoaGVpZ2h0KTsKKyNlbmRpZgog
fQogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCmluZGV4IDY5MWY2YTFhMTM1ZjUxNzA2ODg4YjFjMTdi
NGVlZjFhOWM5NWMyZjkuLmYyNjIxZTZhYmIwNTQ4OWZjNmU2YWVjYWRmOGFkZjBhZThjYjk4Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAKQEAg
LTU2LDEwICs1NiwxMiBAQCBXS1BvaW50IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoV0tW
aWV3UmVmIHZpZXdSZWYsIFdLUG9pbnQgcG9pbnQpCiAgICAgcmV0dXJuIFdLUG9pbnRNYWtlKHJl
c3VsdC54KCksIHJlc3VsdC55KCkpOwogfQogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogdm9pZCBXS1ZpZXdQYWludFRvQ3VycmVudEdMQ29udGV4dChXS1ZpZXdSZWYgdmlld1Jl
ZikKIHsKICAgICB0b0ltcGwodmlld1JlZiktPnBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7CiB9
CisjZW5kaWYKIAogdm9pZCBXS1ZpZXdQYWludFRvQ2Fpcm9TdXJmYWNlKFdLVmlld1JlZiB2aWV3
UmVmLCBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwCmluZGV4IDgxOThkNjFlYThiODMw
ZDZkMGZkZjY1YTQ2NDJlYTk3NDhhZDVmYjAuLjg2MmRkYmIzOWUxMWNhMGMzMWI0NmQ4YTEzNDdi
NWYyOWYwYzliOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V2YXNHTENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V2YXNHTENvbnRleHQuY3BwCkBAIC0yNCw2ICsyNCw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorCiAjaW5jbHVkZSAi
RXZhc0dMQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQyLDMgKzQ1LDQgQEAg
RXZhc0dMQ29udGV4dDo6fkV2YXNHTENvbnRleHQoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXZhc0dMQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dM
Q29udGV4dC5oCmluZGV4IDg4NjE1OWI5MjMyNTU1NDFlMjljZGY0Mjg2ZGYyOTVmZTQzMTEwMmMu
LjJlZjczNjRkY2EzYzc4OGI5NWY1ZWI3NTA5MWI2MThjOGVkZDJlMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmgKQEAgLTI1LDYgKzI1
LDcgQEAKIAogI2lmbmRlZiBFdmFzR0xDb250ZXh0X2gKICNkZWZpbmUgRXZhc0dMQ29udGV4dF9o
CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiAjaW5jbHVkZSA8RXZhc19HTC5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC01Niw0ICs1Nyw1IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQogI2VuZGlmIC8vIEV2YXNHTENvbnRleHRfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNwcAppbmRleCAxNjMwMWNhZmJh
NWYxNmM4OGYyYzc2NzE5ZmM4ZTY1YzExZGFkODFkLi5jN2VjMTNjOGUwMDkyMTM1NmU0MTE0YmI4
ZTk0NmEzOWMyOWJiY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FdmFzR0xTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FdmFzR0xTdXJmYWNlLmNwcApAQCAtMjQsNiArMjQsOCBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRl
ICJFdmFzR0xTdXJmYWNlLmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsMyArNDQsNCBA
QCBFdmFzR0xTdXJmYWNlOjp+RXZhc0dMU3VyZmFjZSgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9FdmFzR0xTdXJmYWNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFz
R0xTdXJmYWNlLmgKaW5kZXggZGE3NmIxYzFkMzUwYTMxM2RkMWI2ZGFjNDIyNTY2MDBkN2VhYTUy
Mi4uZjZmYjJiNWIwZTM0NzQ1YzZkOTZkYTY4MjhkMjJkYTNkZDlkNTBhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuaApAQCAtMjUsNiAr
MjUsNyBAQAogCiAjaWZuZGVmIEV2YXNHTFN1cmZhY2VfaAogI2RlZmluZSBFdmFzR0xTdXJmYWNl
X2gKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKICNpbmNsdWRlIDxFdmFzX0dM
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CkBAIC02NCw0ICs2NSw1IEBAIHByaXZh
dGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogI2VuZGlmIC8vIEV2YXNHTFN1cmZhY2VfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCAwNjJhMzkyY2YyNzRlYWZkMDUx
NjBkYjc1M2UyNmIyNzAwNmZjN2E4Li5jNTgzNjE1ZjZjYjY1MzUyMTZhMjdhMTcxMGM5NjkyMTI1
YmNjZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cApAQCAtNjQsNyArNjQsOSBAQAogI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KICNpbmNsdWRlIDxF
Y29yZV9YLmg+CiAjaW5jbHVkZSA8RWRqZS5oPgorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKICNpbmNsdWRlIDxFdmFzX0dMLmg+CisjZW5kaWYKICNpbmNsdWRlIDxXZWJDb3JlL0Nh
aXJvVXRpbGl0aWVzRWZsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1BsYXRmb3JtQ29udGV4dENhaXJvLmg+CkBAIC0yNjMsOCArMjY1LDEwIEBAIEV3
a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZpZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQog
I2VuZGlmCiAgICAgLCBtX2Rpc3BsYXlUaW1lcih0aGlzLCAmRXdrVmlldzo6ZGlzcGxheVRpbWVy
RmlyZWQpCiAgICAgLCBtX2lucHV0TWV0aG9kQ29udGV4dChJbnB1dE1ldGhvZENvbnRleHRFZmw6
OmNyZWF0ZSh0aGlzLCBzbWFydERhdGEoKS0+YmFzZS5ldmFzKSkKKyNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQoUGFn
ZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6Y3JlYXRlKHRoaXMpKQogICAgICwgbV9wYWdl
Vmlld3BvcnRDb250cm9sbGVyKGFkb3B0UHRyKG5ldyBQYWdlVmlld3BvcnRDb250cm9sbGVyKHBh
Z2UoKSwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmdldCgpKSkpCisjZW5kaWYKICAg
ICAsIG1faXNBY2NlbGVyYXRlZCh0cnVlKQogewogICAgIEFTU0VSVChtX2V2YXNPYmplY3QpOwpA
QCAtMjcyLDcgKzI3Niw3IEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZpZXcsIEV2YXNf
T2JqZWN0KiBldmFzT2JqZWN0KQogCiAgICAgLy8gRklYTUU6IFJlbW92ZSB3aGVuIHBvc3NpYmxl
LgogICAgIHdlYlZpZXcoKS0+c2V0RXdrVmlldyh0aGlzKTsKLQorI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKICAgICBtX2V2YXNHTCA9IGFkb3B0UHRyKGV2YXNfZ2xfbmV3KGV2YXNf
b2JqZWN0X2V2YXNfZ2V0KG1fZXZhc09iamVjdCkpKTsKICAgICBpZiAobV9ldmFzR0wpCiAgICAg
ICAgIG1fZXZhc0dMQ29udGV4dCA9IEV2YXNHTENvbnRleHQ6OmNyZWF0ZShtX2V2YXNHTC5nZXQo
KSk7CkBAIC0yODEsMTMgKzI4NSwxNCBAQCBFd2tWaWV3OjpFd2tWaWV3KFdLVmlld1JlZiB2aWV3
LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKICAgICAgICAgV0FSTigiRmFpbGVkIHRvIGNyZWF0
ZSBFdmFzX0dMLCBmYWxsaW5nIGJhY2sgdG8gc29mdHdhcmUgbW9kZS4iKTsKICAgICAgICAgbV9p
c0FjY2VsZXJhdGVkID0gZmFsc2U7CiAgICAgfQotCisjZW5kaWYKICAgICBXS1ZpZXdJbml0aWFs
aXplKHdrVmlldygpKTsKIAogICAgIFdLUGFnZUdyb3VwUmVmIHdrUGFnZUdyb3VwID0gV0tQYWdl
R2V0UGFnZUdyb3VwKHdrUGFnZSgpKTsKICAgICBXS1ByZWZlcmVuY2VzUmVmIHdrUHJlZmVyZW5j
ZXMgPSBXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHdrUGFnZUdyb3VwKTsKLQorI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBXS1ByZWZlcmVuY2VzU2V0V2ViR0xFbmFibGVk
KHdrUHJlZmVyZW5jZXMsIHRydWUpOworI2VuZGlmCiAgICAgV0tQcmVmZXJlbmNlc1NldEZ1bGxT
Y3JlZW5FbmFibGVkKHdrUHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRX
ZWJBdWRpb0VuYWJsZWQod2tQcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCh3a1ByZWZlcmVuY2VzLCB0cnVlKTsK
QEAgLTU0NCwxMCArNTQ5LDExIEBAIHZvaWQgRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQoVGlt
ZXI8RXdrVmlldz4qKQogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7
CiAKICAgICBpZiAobV9wZW5kaW5nU3VyZmFjZVJlc2l6ZSkgeworI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKICAgICAgICAgLy8gQ3JlYXRlIGEgR0wgc3VyZmFjZSBoZXJlIHNvIHRo
YXQgRXZhcyBoYXMgbm8gY2hhbmNlIG9mIHBhaW50aW5nIHRvIGFuIGVtcHR5IEdMIHN1cmZhY2Uu
CiAgICAgICAgIGlmICghY3JlYXRlR0xTdXJmYWNlKCkpCiAgICAgICAgICAgICByZXR1cm47Ci0K
KyNlbmRpZgogICAgICAgICBtX3BlbmRpbmdTdXJmYWNlUmVzaXplID0gZmFsc2U7CiAgICAgfQog
CkBAIC01NjAsMTEgKzU2NiwxMSBAQCB2b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKFRp
bWVyPEV3a1ZpZXc+KikKICAgICAgICAgZXZhc19vYmplY3RfaW1hZ2VfZGF0YV91cGRhdGVfYWRk
KHNkLT5pbWFnZSwgMCwgMCwgc2QtPnZpZXcudywgc2QtPnZpZXcuaCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0KKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgZXZhc19n
bF9tYWtlX2N1cnJlbnQobV9ldmFzR0wuZ2V0KCksIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgp
LCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CiAKICAgICBXS1ZpZXdQYWludFRvQ3VycmVu
dEdMQ29udGV4dCh3a1ZpZXcoKSk7Ci0KKyNlbmRpZgogICAgIC8vIHNkLT5pbWFnZSBpcyB0aWVk
IHRvIGEgbmF0aXZlIHN1cmZhY2UsIHdoaWNoIGlzIGluIHRoZSBwYXJlbnQncyBjb29yZGluYXRl
cy4KICAgICBldmFzX29iamVjdF9pbWFnZV9kYXRhX3VwZGF0ZV9hZGQoc2QtPmltYWdlLCBzZC0+
dmlldy54LCBzZC0+dmlldy55LCBzZC0+dmlldy53LCBzZC0+dmlldy5oKTsKIH0KQEAgLTc0NCw2
ICs3NTAsNyBAQCB2b2lkIEV3a1ZpZXc6OnNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB9CiAjZW5kaWYKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIGJvb2wg
RXdrVmlldzo6Y3JlYXRlR0xTdXJmYWNlKCkKIHsKICAgICBpZiAoIW1faXNBY2NlbGVyYXRlZCkK
QEAgLTc3Nyw2ICs3ODQsNyBAQCBib29sIEV3a1ZpZXc6OmNyZWF0ZUdMU3VyZmFjZSgpCiAKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KKyNlbmRpZgogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1Ip
CiAvKioKQEAgLTEyOTEsMTUgKzEyOTksMTYgQEAgUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+
IEV3a1ZpZXc6OnRha2VTbmFwc2hvdCgpCiAgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRl
KCk7CiAKICAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzZCA9IHNtYXJ0RGF0YSgpOwotICAgIGlm
ICghbV9pc0FjY2VsZXJhdGVkKSB7Ci0gICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHNu
YXBzaG90ID0gY3JlYXRlU3VyZmFjZUZvckltYWdlKHNkLT5pbWFnZSk7CisjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlmIChtX2lzQWNjZWxlcmF0ZWQpIHsKKyAgICAgICAg
UmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc25hcHNob3QgPSBnZXRJbWFnZVN1cmZhY2VGcm9tRnJh
bWVCdWZmZXIoMCwgMCwgc2QtPnZpZXcudywgc2QtPnZpZXcuaCk7CiAgICAgICAgIC8vIFJlc3Vt
ZSBhbGwgYW5pbWF0aW9ucy4KICAgICAgICAgV0tWaWV3UmVzdW1lQWN0aXZlRE9NT2JqZWN0c0Fu
ZEFuaW1hdGlvbnMod2tWaWV3KCkpOwogCiAgICAgICAgIHJldHVybiBzbmFwc2hvdC5yZWxlYXNl
KCk7CiAgICAgfQotCi0gICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc25hcHNob3QgPSBnZXRJ
bWFnZVN1cmZhY2VGcm9tRnJhbWVCdWZmZXIoMCwgMCwgc2QtPnZpZXcudywgc2QtPnZpZXcuaCk7
CisjZW5kaWYKKyAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGNyZWF0ZVN1
cmZhY2VGb3JJbWFnZShzZC0+aW1hZ2UpOwogICAgIC8vIFJlc3VtZSBhbGwgYW5pbWF0aW9ucy4K
ICAgICBXS1ZpZXdSZXN1bWVBY3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9ucyh3a1ZpZXcoKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCAwMWVj
NTQ4YjFiZTU3NDZlMDlmZTM0N2FhODgzNzgwYjdiODE5NWVmLi42YzBkMGNlNDc3M2NkM2JiYjVk
NDMwMDVjNTkzOWVkNmIzODdlZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5oCkBAIC02Miw4ICs2MiwxMCBAQCBjbGFzcyBQYWdlTG9hZENsaWVudEVmbDsK
IGNsYXNzIFBhZ2VQb2xpY3lDbGllbnRFZmw7CiBjbGFzcyBQYWdlVUlDbGllbnRFZmw7CiBjbGFz
cyBWaWV3Q2xpZW50RWZsOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIGNsYXNz
IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI7CiBjbGFzcyBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50RWZsOworI2VuZGlmCiBjbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwogY2xhc3MgV2Vi
Q29udGV4dE1lbnVQcm94eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKQEAgLTkyLDggKzk0LDEw
IEBAIGNsYXNzIEV3a1BvcHVwTWVudTsKIGNsYXNzIEV3a1NldHRpbmdzOwogY2xhc3MgRXdrV2lu
ZG93RmVhdHVyZXM7CiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB0eXBlZGVm
IHN0cnVjdCBfRXZhc19HTF9Db250ZXh0IEV2YXNfR0xfQ29udGV4dDsKIHR5cGVkZWYgc3RydWN0
IF9FdmFzX0dMX1N1cmZhY2UgRXZhc19HTF9TdXJmYWNlOworI2VuZGlmCiAKIHR5cGVkZWYgc3Ry
dWN0IEV3a19WaWV3X1NtYXJ0X0RhdGEgRXdrX1ZpZXdfU21hcnRfRGF0YTsKIHR5cGVkZWYgc3Ry
dWN0IEV3a19WaWV3X1NtYXJ0X0NsYXNzIEV3a19WaWV3X1NtYXJ0X0NsYXNzOwpAQCAtMTE3LDgg
KzEyMSw5IEBAIHB1YmxpYzoKICAgICBFd2tTZXR0aW5ncyogc2V0dGluZ3MoKSB7IHJldHVybiBt
X3NldHRpbmdzLmdldCgpOyB9CiAgICAgRXdrQmFja0ZvcndhcmRMaXN0KiBiYWNrRm9yd2FyZExp
c3QoKSB7IHJldHVybiBtX2JhY2tGb3J3YXJkTGlzdC5nZXQoKTsgfQogICAgIEV3a1dpbmRvd0Zl
YXR1cmVzKiB3aW5kb3dGZWF0dXJlcygpOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICBXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXIqIHBhZ2VWaWV3cG9ydENvbnRy
b2xsZXIoKSB7IHJldHVybiBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuZ2V0KCk7IH0KLQorI2Vu
ZGlmCiAgICAgYm9vbCBpc0ZvY3VzZWQoKSBjb25zdDsKICAgICBib29sIGlzVmlzaWJsZSgpIGNv
bnN0OwogCkBAIC0xNTksOCArMTY0LDkgQEAgcHVibGljOgogCiAgICAgV0tSZWN0IHdpbmRvd0dl
b21ldHJ5KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRXaW5kb3dHZW9tZXRyeShjb25zdCBXS1JlY3Qm
KTsKLQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBib29sIGNyZWF0ZUdM
U3VyZmFjZSgpOworI2VuZGlmCiAgICAgdm9pZCBzZXROZWVkc1N1cmZhY2VSZXNpemUoKSB7IG1f
cGVuZGluZ1N1cmZhY2VSZXNpemUgPSB0cnVlOyB9CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9D
T0xPUikKQEAgLTI0OCw5ICsyNTQsMTEgQEAgcHJpdmF0ZToKICAgICBFdmFzX09iamVjdCogbV9l
dmFzT2JqZWN0OwogICAgIFJlZlB0cjxFd2tDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgUmVmUHRy
PEV3a1BhZ2VHcm91cD4gbV9wYWdlR3JvdXA7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIE93blB0cjxFdmFzX0dMPiBtX2V2YXNHTDsKICAgICBPd25QdHI8V2ViS2l0OjpF
dmFzR0xDb250ZXh0PiBtX2V2YXNHTENvbnRleHQ7CiAgICAgT3duUHRyPFdlYktpdDo6RXZhc0dM
U3VyZmFjZT4gbV9ldmFzR0xTdXJmYWNlOworI2VuZGlmCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBt
X2RldmljZVNpemU7CiAgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggbV91c2VyVmll
d3BvcnRUcmFuc2Zvcm07CiAgICAgYm9vbCBtX3BlbmRpbmdTdXJmYWNlUmVzaXplOwpAQCAtMjg1
LDggKzI5MywxMCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAg
IE93blB0cjxFd2tDb2xvclBpY2tlcj4gbV9jb2xvclBpY2tlcjsKICNlbmRpZgorI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBPd25QdHI8V2ViS2l0OjpQYWdlVmlld3BvcnRD
b250cm9sbGVyQ2xpZW50RWZsPiBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQ7CiAgICAg
T3duUHRyPFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcj4gbV9wYWdlVmlld3BvcnRDb250
cm9sbGVyOworI2VuZGlmCiAgICAgYm9vbCBtX2lzQWNjZWxlcmF0ZWQ7CiAKICAgICBzdGF0aWMg
RXZhc19TbWFydF9DbGFzcyBwYXJlbnRTbWFydENsYXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHAKaW5kZXggZWZkMjYxOTQ4
YjkzYjNiYmJmMjNlMzk5YzU2MjI0YzIwYmE4ZDA2MS4uOGUwYjlkODMzMjU4ZGM3ZTI5MzczZWZm
YjlhMzliNDEwMzg4ZWU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvU25hcHNob3RJbWFnZUdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCkBAIC0yNCw2ICsyNCw5IEBACiAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNp
bmNsdWRlICJTbmFwc2hvdEltYWdlR0wuaCIKIAogI2lmIFVTRShPUEVOR0xfRVNfMikKQEAgLTcw
LDMgKzczLDQgQEAgUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGdldEltYWdlU3VyZmFjZUZy
b21GcmFtZUJ1ZmZlcihpbnQgeCwgaW50IHksIGludCB3aWQKICAgICBjYWlyb19zdXJmYWNlX21h
cmtfZGlydHkobmV3U3VyZmFjZS5nZXQoKSk7CiAgICAgcmV0dXJuIG5ld1N1cmZhY2U7CiB9Cisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1NuYXBz
aG90SW1hZ2VHTC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJ
bWFnZUdMLmgKaW5kZXggYWJjZDc4NzRlYzg3ODdhMzFmOTkyY2Q4ZjNhNWE1NjQzYzhlMzRlNC4u
NjhjMTQyOGFlMjA5ZTFiMzAwNDAwZTZhOTJhZDdkM2RhYzI1OTlhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmgKQEAgLTI2LDkg
KzI2LDEyIEBACiAjaWZuZGVmIFNuYXBzaG90SW1hZ2VHTF9oCiAjZGVmaW5lIFNuYXBzaG90SW1h
Z2VHTF9oCiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlIDxS
ZWZQdHJDYWlyby5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogCiBQYXNzUmVmUHRy
PGNhaXJvX3N1cmZhY2VfdD4gZ2V0SW1hZ2VTdXJmYWNlRnJvbUZyYW1lQnVmZmVyKGludCB4LCBp
bnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIAorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKICNlbmRpZiAvLyBTbmFwc2hvdEltYWdlR0xfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4IGUx
MTU2YWJkMjRhMjc1N2RjNzQ3NmIwY2E0Y2FmZTAyOWYxMTkzYWMuLjU2MDE3ZGRmODM0NmQ5NDRj
ZjNjMmNhOThkMjdmMTRkNmQyYzcwNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKQEAgLTIwLDkgKzIwLDkgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlci5o
IgogCi0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQorI2luY2x1ZGUgIlBhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaCIKIAogI2luY2x1
ZGUgIlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJv
eHkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5oCmluZGV4IDMxNjRlZmRhN2I3YTRhMWIwNzg1ZDk1YmQxNDRlYjFjZDdiOWM0ZTguLmI4
OTczYWJiZDg5ZTJlYTRmNGZiZjNlZjllMzRlNjFmN2U4ZGM0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaApAQCAtMjIsNiArMjIs
OCBAQAogI2lmbmRlZiBQYWdlVmlld3BvcnRDb250cm9sbGVyX2gKICNkZWZpbmUgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcl9oCiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNp
bmNsdWRlIDxXZWJDb3JlL0Zsb2F0UG9pbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVj
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CkBAIC0xMTAsNCArMTEyLDUgQEAg
Ym9vbCBmdXp6eUNvbXBhcmUoZmxvYXQsIGZsb2F0LCBmbG9hdCBlcHNpbG9uKTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CiAjZW5kaWYgLy8gUGFnZVZpZXdwb3J0Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50RWZsLmNwcAppbmRleCA4MWUwYTE5NTNhYTAzNWJiOWM2MjdlNWEwNmVhNjIxOWJhMGYzZWU5
Li4yOTUyZDdjOGQyYzgzNzVmMGVmODZlOWVkMDg1NzZlYjFjYmQ1YjU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlckNsaWVudEVmbC5jcHAKQEAgLTI1LDYgKzI1LDkgQEAKICAqLwogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRl
ICJQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsLmgiCiAKICNpbmNsdWRlICJFd2tWaWV3
LmgiCkBAIC03NywzICs4MCw0IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVm
bDo6c2V0Q29udHJvbGxlcihQYWdlVmlld3BvcnRDb250cm9sbGVyKiBjb250CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4
IGQ5ZWJiMzJjZjU2MzcxNzcwNmUwYmQ2ZjM3MTM2ZTI0ZDliMDBhYzkuLjUyYjNkYmIyNGVlZWU5
OWJlNWRlMmQ5N2E5MTRiMGVjZGNjZDI1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcApAQCAtNDksNyArNDksMTEgQEAgdm9pZCBWaWV3Q2xp
ZW50RWZsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUoV0tWaWV3UmVmLCBXS1NpemUgc2l6ZSwgY29u
c3Qgdm9pZCogY2wKIHsKICAgICBFd2tWaWV3KiBld2tWaWV3ID0gdG9Fd2tWaWV3KGNsaWVudElu
Zm8pOwogICAgIGlmIChXS1BhZ2VVc2VGaXhlZExheW91dChld2tWaWV3LT53a1BhZ2UoKSkpCisj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAgICBld2tWaWV3LT5wYWdlVmll
d3BvcnRDb250cm9sbGVyKCktPmRpZENoYW5nZUNvbnRlbnRzU2l6ZSh0b0ludFNpemUoc2l6ZSkp
OworI2Vsc2UKKyAgICAgICAgeyB9CisjZW5kaWYKICAgICBlbHNlCiAgICAgICAgIGV3a1ZpZXct
PnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9X
ZWJWaWV3LmNwcAppbmRleCBlNWU4MGMyNDYyZjU1ZjFkOThlNjI2NDZjY2M5MWVhNGI3ZmI3MjIz
Li5mYzVmOTlhZDgxOGVjZGNhNDE3OWMxODkzYmU5Y2FmNGJhYzhkZDRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKQEAgLTIwMCw3ICsyMDAsOSBAQCB2b2lkIFdl
YlZpZXc6OmluaXRpYWxpemVDbGllbnQoY29uc3QgV0tWaWV3Q2xpZW50KiBjbGllbnQpCiB2b2lk
IFdlYlZpZXc6OmRpZENvbW1pdExvYWQoKQogewogICAgIGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5
b3V0KCkpIHsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIG1fZXdr
Vmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5kaWRDb21taXRMb2FkKCk7CisjZW5kaWYK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2V3a1ZpZXctPnNjaGVkdWxlVXBkYXRlRGlz
cGxheSgpOwpAQCAtMjA5LDcgKzIxMSw5IEBAIHZvaWQgV2ViVmlldzo6ZGlkQ29tbWl0TG9hZCgp
CiB2b2lkIFdlYlZpZXc6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiB7CiAgICAgaWYgKG1fcGFnZS0+
dXNlRml4ZWRMYXlvdXQoKSkgeworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICAgICAgbV9ld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPmRpZENoYW5nZVZpZXdw
b3J0U2l6ZShtX2V3a1ZpZXctPnNpemUoKSk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBGbG9hdFBvaW50IHVpUG9zaXRpb24obV9ld2tWaWV3LT5wYWdlUG9zaXRpb24oKSk7
CkBAIC01MDMsNyArNTA3LDkgQEAgRmxvYXRSZWN0IFdlYlZpZXc6OmNvbnZlcnRUb1VzZXJTcGFj
ZShjb25zdCBGbG9hdFJlY3QmIGRldmljZVJlY3QpCiB2b2lkIFdlYlZpZXc6OmRpZENoYW5nZVZp
ZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmIGF0dHIp
CiB7CiAgICAgaWYgKG1fcGFnZS0+dXNlRml4ZWRMYXlvdXQoKSkgeworI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICAgICAgbV9ld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9s
bGVyKCktPmRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhhdHRyKTsKKyNlbmRpZgogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmlldy0+c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7
CkBAIC01MTEsOCArNTE3LDEwIEBAIHZvaWQgV2ViVmlldzo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9w
ZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYgYXR0CiAKIHZvaWQgV2Vi
Vmlldzo6cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKQogewot
ICAgIGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsgICAgICAgIAorICAgIGlmIChtX3Bh
Z2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CiAgICAgICAgIG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5wYWdlRGlkUmVx
dWVzdFNjcm9sbChwb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBGbG9hdFBvaW50IHVpUG9zaXRpb24ocG9zaXRpb24pOwpAQCAtNTI0LDcgKzUzMiw5IEBAIHZv
aWQgV2ViVmlldzo6cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9u
KQogdm9pZCBXZWJWaWV3OjpkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBj
b250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KQogewogICAg
IGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgICAgIG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5k
aWRSZW5kZXJGcmFtZShjb250ZW50c1NpemUsIGNvdmVyZWRSZWN0KTsKKyNlbmRpZgogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmlldy0+c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7
CkBAIC01MzMsNyArNTQzLDkgQEAgdm9pZCBXZWJWaWV3OjpkaWRSZW5kZXJGcmFtZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmUKIHZvaWQgV2ViVmll
dzo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkKIHsKICAgICBpZiAobV9wYWdlLT51c2VG
aXhlZExheW91dCgpKSB7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAg
ICBtX2V3a1ZpZXctPnBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoKS0+cGFnZVRyYW5zaXRpb25WaWV3
cG9ydFJlYWR5KCk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2V3a1Zp
ZXctPnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCBmZjEw
MDBlZjQyZjQ4MThhZjkxMmE2M2EzYmU3YTljN2EyNTE5NThmLi44YTkxZTZiZjRlZDQ2MzEwYzk5
OWNmY2Q4YmY2MmY2MTE2MjM3OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTczLDYgKzE3
MywyNiBAQCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgZmluZF9w
YWNrYWdlKEdTdHJlYW1lciBSRVFVSVJFRCBDT01QT05FTlRTICR7R1NUUkVBTUVSX0NPTVBPTkVO
VFN9KQogZW5kaWYgKCkKIAoraWYgKFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBh
ZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HPTEpCisKKyAg
ICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTPTEpCisKKyAg
ICBzZXQoV1RGX1VTRV9URVhUVVJFX01BUFBFUiAxKQorICAgIGFkZF9kZWZpbml0aW9ucygtRFdU
Rl9VU0VfVEVYVFVSRV9NQVBQRVI9MSkKKworICAgIHNldChXVEZfVVNFXzNEX0dSQVBISUNTIDEp
CisgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV8zRF9HUkFQSElDUz0xKQorCisgICAgc2V0
KEVOQUJMRV8zRF9SRU5ERVJJTkcgMSkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURFTkFCTEVfM0Rf
UkVOREVSSU5HPTEpCitlbHNlICgpCisgICAgIyBEaXNhYmxlIDNEIGdyYXBoaWNzIGFuZCBXRUJH
TCBpZiB0aWxlZCBiYWNraW5nIGlzIGRpc2FibGVkCisgICAgc2V0KEVOQUJMRV9XRUJHTCAwKQor
ICAgIHNldChXVEZfVVNFXzNEX0dSQVBISUNTIDApCisgICAgYWRkX2RlZmluaXRpb25zKC1EV1RG
X1VTRV8zRF9HUkFQSElDUz0wKQorZW5kaWYgKCkKKwogaWYgKEVOQUJMRV9XRUJHTCBPUiBXVEZf
VVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgZmluZF9wYWNrYWdlKE9wZW5HTCBSRVFVSVJF
RCkKICAgICBDSEVDS19JTkNMVURFX0ZJTEVTKCJHTC9nbHguaCIgT1BFTkdMWF9GT1VORCkKQEAg
LTIyOCwyMSArMjQ4LDYgQEAgaWYgKENNQUtFX0JVSUxEX1RZUEUgU1RSRVFVQUwgcmVsZWFzZSBB
TkQgQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MgQU5EIFVOSVggQU5EIE4KICAgICBzZXQoQ01BS0Vf
U0hBUkVEX0xJTktFUl9GTEFHUyAiLVdsLC0tZ2Mtc2VjdGlvbnMgJHtDTUFLRV9TSEFSRURfTElO
S0VSX0ZMQUdTfSIpCiBlbmRpZiAoKQogCi1pZiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JF
KQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkc9
MSkKLQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQ09PUkRJTkFURURfR1JBUEhJQ1M9
MSkKLQotICAgIHNldChXVEZfVVNFX1RFWFRVUkVfTUFQUEVSIDEpCi0gICAgYWRkX2RlZmluaXRp
b25zKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUj0xKQotCi0gICAgc2V0KFdURl9VU0VfM0RfR1JB
UEhJQ1MgMSkKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFXzNEX0dSQVBISUNTPTEpCi0K
LSAgICBzZXQoRU5BQkxFXzNEX1JFTkRFUklORyAxKQotICAgIGFkZF9kZWZpbml0aW9ucygtREVO
QUJMRV8zRF9SRU5ERVJJTkc9MSkKLWVuZGlmICgpCi0KIGlmIChFTkFCTEVfV0VCR0wpCiAgICAg
c2V0KEVOQUJMRV9XRUJHTCAxKQogICAgIGlmIChVU0VfR1JBUEhJQ1NfU1VSRkFDRSkKZGlmZiAt
LWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2NDc2YTk4NTE1MGU2Mzc3MTkyYjJl
MDQ0NDAwMWI2NmU5ZGEwNzQ1Li43NmY5YjdiODkyYTBkYTlmZWIyNTViMzQ0YjBlN2QzZWUyODM3
ZTNlIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTMtMDMtMjkgIEVkIEJhcnRvc2ggIDxiYXJ0b3NoQGdtYWlsLmNvbT4KKworICAgICAg
ICBbRUZMXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQgZmFpbHMgYmVjYXVzZSBvZiBu
b3QgdXNlZCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZTogRGlzYWJsZWQgM0RfR1JBUEhJQ1MgYW5kIFdFQl9HTCB3aGVuIGFjY2VsZXJhdGVk
IGNvbXBvc2l0aW5nIGlzIG9uCisKIDIwMTMtMDMtMjkgIENoYXJsZXMgV2VpICA8Y2hhcmxlcy53
ZWlAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBDbGVhbnVwIHRo
ZSBDT05URVhUX01FTlVTIGluIEJsYWNrQmVycnkgcG9ydGluZwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195854</attachid>
            <date>2013-03-30 04:43:35 -0700</date>
            <delta_ts>2013-04-04 14:38:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113627-20130330134329.patch</filename>
            <type>text/plain</type>
            <size>27055</size>
            <attacher name="Ed Bartosh">bartosh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdmMTQ4ZTVkM2JjN2U4
OGYwY2U5YTQ4ZmFjNDhkMWM1Mjk2YTkyYi4uMWE2YTE3ZjFhZWNiM2M5MTM4MGY4OTEyOWJjNzI5
ZGRiNTA5NTg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTI5ICBFZCBC
YXJ0b3NoICA8YmFydG9zaEBnbWFpbC5jb20+CisKKyAgICAgICAgW0VGTF0gLS1uby10aWxlZC1i
YWNraW5nLXN0b3JlIGJ1aWxkIGZhaWxzIGJlY2F1c2Ugb2Ygbm90IHVzZWQgI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMzYyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgV3JhcHBlZCBjb2RlIHdpdGggI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykgdG8gbWFrZSBpdCBjb21waWxhYmxlCisgICAgICAgd2l0aCAtLW5vLXRpbGVkLWJhY2tp
bmctc3RvcmUgYnVpbGQgb3B0aW9uOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0
QW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjphbmlt
YXRlKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6YW5pbWF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwOgorICAgICAgICAo
TnVsbFRleHRUcmFja1JlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oOgorICAgICAgICAoVGV4dFRyYWNrUmVwcmVzZW50
YXRpb24pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OnNldEhlYWRlckhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEZvb3RlckhlaWdodCk6CisKIDIwMTMtMDMtMjkgIEpvc2h1YSBCZWxsICA8anNiZWxs
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIEluZGV4ZWREQjogRXhjZXB0aW9ucyB0aHJv
d24gaW5jb25zaXN0ZW50bHkgZm9yIG5vbi1jbG9uZWFibGUgdmFsdWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
ZmNiZDFiMjBlNTNkNmNkZTM2ZjBlZDI2MGEzYWFjODU3NmI4NTcwMS4uNGYzMGMxOTdhNjI3Y2Iz
YTA2YmFiYWNhMWM4ZmM1ODc3YjgwYWQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisy
MDEzLTAzLTI5ICBFZCBCYXJ0b3NoICA8YmFydG9zaEBnbWFpbC5jb20+CisKKyAgICAgICAgW0VG
TF0gLS1uby10aWxlZC1iYWNraW5nLXN0b3JlIGJ1aWxkIGZhaWxzIGJlY2F1c2Ugb2Ygbm90IHVz
ZWQgI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdyYXBwZWQgY29kZSB3aXRoICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpIHRvIG1ha2UgaXQgY29tcGlsYWJsZQorICAgICAgICB3aXRo
IC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBvcHRpb246CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V2
YXNHTENvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRl
eHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpFd2tWaWV3KToK
KyAgICAgICAgKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKEV3a1ZpZXc6
OnRha2VTbmFwc2hvdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEV3a1ZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvU25hcHNob3RJbWFnZUdMLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50
RWZsLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXc6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1cGRhdGVWaWV3
cG9ydFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3cG9ydFBy
b3BlcnRpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9s
bCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZFJlbmRlckZyYW1lKToKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlldzo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KToKKwogMjAxMy0w
My0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2UgbGVh
ayBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBvYmplY3RzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCmluZGV4IDM3YTJm
NzI0ZDMxOTc2OGFjNmNhZThiZWUxMTEyOTUxMjM2NDFjMWMuLjI1NDE1MDJlOThiNGUyMTI0ZWIy
MjRhN2E4ODdkZjQxMDMwOTEyMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKQEAgLTc4LDEwICs3OCwxMCBAQCB2b2lkIElt
cGxpY2l0QW5pbWF0aW9uOjphbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiosIFJlbmRlck9iamVj
dCosIGNvbnN0IFJlbmRlcgogICAgIGlmICghYW5pbWF0ZWRTdHlsZSkKICAgICAgICAgYW5pbWF0
ZWRTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZSh0YXJnZXRTdHlsZSk7CiAKKyNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgYm9vbCBuZWVkc0FuaW0gPSBDU1NQcm9wZXJ0eUFu
aW1hdGlvbjo6YmxlbmRQcm9wZXJ0aWVzKHRoaXMsIG1fYW5pbWF0aW5nUHJvcGVydHksIGFuaW1h
dGVkU3R5bGUuZ2V0KCksIG1fZnJvbVN0eWxlLmdldCgpLCBtX3RvU3R5bGUuZ2V0KCksIHByb2dy
ZXNzKDEsIDAsIDApKTsKICAgICAvLyBGSVhNRTogd2UgYWxzbyBuZWVkIHRvIGRldGVjdCBjYXNl
cyB3aGVyZSB3ZSBoYXZlIHRvIHNvZnR3YXJlIGFuaW1hdGUgZm9yIG90aGVyIHJlYXNvbnMsCiAg
ICAgLy8gc3VjaCBhcyBhIGNoaWxkIHVzaW5nIGluaGVyaXRpbmcgdGhlIHRyYW5zZm9ybS4gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTAyCi0jaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmICghbmVlZHNBbmltKQogICAgICAgICAvLyBJZiB3
ZSBhcmUgcnVubmluZyBhbiBhY2NlbGVyYXRlZCBhbmltYXRpb24sIHNldCBhIGZsYWcgaW4gdGhl
IHN0eWxlIHdoaWNoIGNhdXNlcyB0aGUgc3R5bGUKICAgICAgICAgLy8gdG8gY29tcGFyZSBhcyBk
aWZmZXJlbnQgdG8gYW55IG90aGVyIHN0eWxlLiBUaGlzIGVuc3VyZXMgdGhhdCBjaGFuZ2VzIHRv
IHRoZSBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
S2V5ZnJhbWVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uY3BwCmluZGV4IDA0MjVhNTJmNjVkYTU0MWZhYjUxYzAwNzViODQwMTFm
MWI5NzRiODkuLjUzOGVmMDQ3NGUyZWU2ZmI4MjgwMjJkZmQxMDkyNjRhYWVmMTE2NmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5j
cHAKQEAgLTE4NSw5ICsxODUsOCBAQCB2b2lkIEtleWZyYW1lQW5pbWF0aW9uOjphbmltYXRlKENv
bXBvc2l0ZUFuaW1hdGlvbiosIFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlcgogICAgICAgICBj
b25zdCBSZW5kZXJTdHlsZSogdG9TdHlsZSA9IDA7CiAgICAgICAgIGRvdWJsZSBwcm9ncmVzcyA9
IDAuMDsKICAgICAgICAgZmV0Y2hJbnRlcnZhbEVuZHBvaW50c0ZvclByb3BlcnR5KCppdCwgZnJv
bVN0eWxlLCB0b1N0eWxlLCBwcm9ncmVzcyk7Ci0gICAgCi0gICAgICAgIGJvb2wgbmVlZHNBbmlt
ID0gQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCAqaXQsIGFuaW1h
dGVkU3R5bGUuZ2V0KCksIGZyb21TdHlsZSwgdG9TdHlsZSwgcHJvZ3Jlc3MpOwogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgYm9vbCBuZWVkc0FuaW0gPSBDU1NQcm9w
ZXJ0eUFuaW1hdGlvbjo6YmxlbmRQcm9wZXJ0aWVzKHRoaXMsICppdCwgYW5pbWF0ZWRTdHlsZS5n
ZXQoKSwgZnJvbVN0eWxlLCB0b1N0eWxlLCBwcm9ncmVzcyk7CiAgICAgICAgIGlmICghbmVlZHNB
bmltKQogICAgICAgICAgICAgLy8gSWYgd2UgYXJlIHJ1bm5pbmcgYW4gYWNjZWxlcmF0ZWQgYW5p
bWF0aW9uLCBzZXQgYSBmbGFnIGluIHRoZSBzdHlsZQogICAgICAgICAgICAgLy8gdG8gaW5kaWNh
dGUgaXQuIFRoaXMgY2FuIGJlIHVzZWQgdG8gbWFrZSBzdXJlIHdlIGdldCBhbiB1cGRhdGVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbi5jcHAKaW5kZXggM2MzNDIzYmNiMzI1ZDA2NjAwOWU1OTVlMzZjNTNh
MGU0MDcwNDg2Yy4uNjhlNGMyZDRhMzA5MzU1ZWE4MzQzNGVkYjVkOTgzN2VkN2ZhNTY1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRU
cmFja1JlcHJlc2VudGF0aW9uLmNwcApAQCAtMzUsNyArMzUsOSBAQCBjbGFzcyBOdWxsVGV4dFRy
YWNrUmVwcmVzZW50YXRpb24gOiBwdWJsaWMgVGV4dFRyYWNrUmVwcmVzZW50YXRpb24gewogcHVi
bGljOgogICAgIHZpcnR1YWwgfk51bGxUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGUoKSB7IH0KKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgeyByZXR1cm4g
MDsgfQorI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRTY2FsZShmbG9hdCkgeyB9
CiAgICAgdmlydHVhbCBJbnRSZWN0IGJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoKTsg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRU
cmFja1JlcHJlc2VudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCmluZGV4IDJhNGY1Mjc2MDU3Y2EyZDBhMTc4ZGM5Mjgy
YjI3YTI4YWViMzRkMmIuLjYzOTIzYmMwZmE4MzRkYTc1YzlkOGM5ZDY0ZTRjOGYzNjNmMmY1MTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1Jl
cHJlc2VudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4
dFRyYWNrUmVwcmVzZW50YXRpb24uaApAQCAtNTIsNyArNTIsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB+VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCB1
cGRhdGUoKSA9IDA7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1
YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpID0gMDsKKyNlbmRpZgogICAgIHZpcnR1
YWwgdm9pZCBzZXRDb250ZW50U2NhbGUoZmxvYXQpID0gMDsKICAgICB2aXJ0dWFsIEludFJlY3Qg
Ym91bmRzKCkgY29uc3QgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCA4ZGQzNmQ2MzUyZWMwYWQ3NTY3NGM5ZDg5ODk4ZDFmMzBjYTdiYmM3Li5mNTE0NjAzMDY5
YmExZWFiYTNjYTgzNWJkMmMwM2UwOGQ2MGRiY2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC0yNTcsOSArMjU3LDE1IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlKFBhZ2UqIHBhZ2UpCiAKICAgICBwYWdlLT5zZXRQYWdlU2NhbGVGYWN0b3Io
MSwgSW50UG9pbnQoMCwgMCkpOwogICAgIHBhZ2UtPnNldFBhZ2luYXRpb24oUGFnaW5hdGlvbigp
KTsKLSAgICBpZiAoRnJhbWVWaWV3KiBtYWluRnJhbWVWaWV3ID0gcGFnZS0+bWFpbkZyYW1lKCkt
PnZpZXcoKSkgeworCisgICAgRnJhbWVWaWV3KiBtYWluRnJhbWVWaWV3ID0gcGFnZS0+bWFpbkZy
YW1lKCktPnZpZXcoKTsKKyAgICBpZiAobWFpbkZyYW1lVmlldykgeworI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICAgICAgbWFpbkZyYW1lVmlldy0+c2V0SGVhZGVySGVpZ2h0
KDApOwogICAgICAgICBtYWluRnJhbWVWaWV3LT5zZXRGb290ZXJIZWlnaHQoMCk7CisjZWxzZQor
ICAgICAgICB7IH0KKyNlbmRpZgogICAgIH0KICAgICBUZXh0UnVuOjpzZXRBbGxvd3NSb3VuZGlu
Z0hhY2tzKGZhbHNlKTsKICAgICBXZWJDb3JlOjpvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFn
ZXMoVmVjdG9yPFN0cmluZz4oKSk7CkBAIC0xODQ4LDE4ICsxODU0LDIwIEBAIHZvaWQgSW50ZXJu
YWxzOjpzZXRIZWFkZXJIZWlnaHQoRG9jdW1lbnQqIGRvY3VtZW50LCBmbG9hdCBoZWlnaHQpCiB7
CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkKICAgICAgICAgcmV0dXJu
OwotCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIEZyYW1lVmlldyogZnJh
bWVWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKICAgICBmcmFtZVZpZXctPnNldEhlYWRlckhlaWdo
dChoZWlnaHQpOworI2VuZGlmCiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpzZXRGb290ZXJIZWlnaHQo
RG9jdW1lbnQqIGRvY3VtZW50LCBmbG9hdCBoZWlnaHQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCB8
fCAhZG9jdW1lbnQtPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwotCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZp
ZXcoKTsKICAgICBmcmFtZVZpZXctPnNldEZvb3RlckhlaWdodChoZWlnaHQpOworI2VuZGlmCiB9
CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLVmlldy5jcHAKaW5kZXggNjkxZjZhMWExMzVmNTE3MDY4ODhiMWMxN2I0
ZWVmMWE5Yzk1YzJmOS4uZjI2MjFlNmFiYjA1NDg5ZmM2ZTZhZWNhZGY4YWRmMGFlOGNiOThjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcApAQCAt
NTYsMTAgKzU2LDEyIEBAIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyhXS1Zp
ZXdSZWYgdmlld1JlZiwgV0tQb2ludCBwb2ludCkKICAgICByZXR1cm4gV0tQb2ludE1ha2UocmVz
dWx0LngoKSwgcmVzdWx0LnkoKSk7CiB9CiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCiB2b2lkIFdLVmlld1BhaW50VG9DdXJyZW50R0xDb250ZXh0KFdLVmlld1JlZiB2aWV3UmVm
KQogewogICAgIHRvSW1wbCh2aWV3UmVmKS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoKTsKIH0K
KyNlbmRpZgogCiB2b2lkIFdLVmlld1BhaW50VG9DYWlyb1N1cmZhY2UoV0tWaWV3UmVmIHZpZXdS
ZWYsIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5jcHAKaW5kZXggODE5OGQ2MWVhOGI4MzBk
NmQwZmRmNjVhNDY0MmVhOTc0OGFkNWZiMC4uODYyZGRiYjM5ZTExY2EwYzMxYjQ2ZDhhMTM0N2I1
ZjI5ZjBjOWI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXZhc0dMQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXZhc0dMQ29udGV4dC5jcHAKQEAgLTI0LDYgKzI0LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJF
dmFzR0xDb250ZXh0LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsMyArNDUsNCBAQCBF
dmFzR0xDb250ZXh0Ojp+RXZhc0dMQ29udGV4dCgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
dmFzR0xDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xD
b250ZXh0LmgKaW5kZXggODg2MTU5YjkyMzI1NTU0MWUyOWNkZjQyODZkZjI5NWZlNDMxMTAyYy4u
MmVmNzM2NGRjYTNjNzg4Yjk1ZjVlYjc1MDkxYjYxOGM4ZWRkMmUwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuaApAQCAtMjUsNiArMjUs
NyBAQAogCiAjaWZuZGVmIEV2YXNHTENvbnRleHRfaAogI2RlZmluZSBFdmFzR0xDb250ZXh0X2gK
KyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKICNpbmNsdWRlIDxFdmFzX0dMLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTU2LDQgKzU3LDUgQEAgcHJpdmF0ZToK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAjZW5kaWYgLy8gRXZhc0dMQ29udGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuY3BwCmluZGV4IDE2MzAxY2FmYmE1
ZjE2Yzg4ZjJjNzY3MTlmYzhlNjVjMTFkYWQ4MWQuLmM3ZWMxM2M4ZTAwOTIxMzU2ZTQxMTRiYjhl
OTQ2YTM5YzI5YmJjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V2YXNHTFN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V2YXNHTFN1cmZhY2UuY3BwCkBAIC0yNCw2ICsyNCw4IEBACiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2luY2x1ZGUg
IkV2YXNHTFN1cmZhY2UuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MiwzICs0NCw0IEBA
IEV2YXNHTFN1cmZhY2U6On5FdmFzR0xTdXJmYWNlKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V2YXNHTFN1cmZhY2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNH
TFN1cmZhY2UuaAppbmRleCBkYTc2YjFjMWQzNTBhMzEzZGQxYjZkYWM0MjI1NjYwMGQ3ZWFhNTIy
Li5mNmZiMmI1YjBlMzQ3NDVjNmQ5NmRhNjgyOGQyMmRhM2RkOWQ1MGE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5oCkBAIC0yNSw2ICsy
NSw3IEBACiAKICNpZm5kZWYgRXZhc0dMU3VyZmFjZV9oCiAjZGVmaW5lIEV2YXNHTFN1cmZhY2Vf
aAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2luY2x1ZGUgPEV2YXNfR0wu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFNpemUuaD4KQEAgLTY0LDQgKzY1LDUgQEAgcHJpdmF0
ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCiAjZW5kaWYgLy8gRXZhc0dMU3VyZmFjZV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDA2MmEzOTJjZjI3NGVhZmQwNTE2
MGRiNzUzZTI2YjI3MDA2ZmM3YTguLmM1ODM2MTVmNmNiNjUzNTIxNmEyN2ExNzEwYzk2OTIxMjVi
Y2NlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3Bw
CkBAIC02NCw3ICs2NCw5IEBACiAjaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgogI2luY2x1ZGUgPEVj
b3JlX1guaD4KICNpbmNsdWRlIDxFZGplLmg+CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogI2luY2x1ZGUgPEV2YXNfR0wuaD4KKyNlbmRpZgogI2luY2x1ZGUgPFdlYkNvcmUvQ2Fp
cm9VdGlsaXRpZXNFZmwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGxhdGZvcm1Db250ZXh0Q2Fpcm8uaD4KQEAgLTI2Myw4ICsyNjUsMTAgQEAgRXdr
Vmlldzo6RXdrVmlldyhXS1ZpZXdSZWYgdmlldywgRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCiAj
ZW5kaWYKICAgICAsIG1fZGlzcGxheVRpbWVyKHRoaXMsICZFd2tWaWV3OjpkaXNwbGF5VGltZXJG
aXJlZCkKICAgICAsIG1faW5wdXRNZXRob2RDb250ZXh0KElucHV0TWV0aG9kQ29udGV4dEVmbDo6
Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgpLT5iYXNlLmV2YXMpKQorI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKICAgICAsIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudChQYWdl
Vmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX3BhZ2VW
aWV3cG9ydENvbnRyb2xsZXIoYWRvcHRQdHIobmV3IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXIocGFn
ZSgpLCBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuZ2V0KCkpKSkKKyNlbmRpZgogICAg
ICwgbV9pc0FjY2VsZXJhdGVkKHRydWUpCiB7CiAgICAgQVNTRVJUKG1fZXZhc09iamVjdCk7CkBA
IC0yNzIsNyArMjc2LDcgQEAgRXdrVmlldzo6RXdrVmlldyhXS1ZpZXdSZWYgdmlldywgRXZhc19P
YmplY3QqIGV2YXNPYmplY3QpCiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gcG9zc2libGUu
CiAgICAgd2ViVmlldygpLT5zZXRFd2tWaWV3KHRoaXMpOwotCisjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgIG1fZXZhc0dMID0gYWRvcHRQdHIoZXZhc19nbF9uZXcoZXZhc19v
YmplY3RfZXZhc19nZXQobV9ldmFzT2JqZWN0KSkpOwogICAgIGlmIChtX2V2YXNHTCkKICAgICAg
ICAgbV9ldmFzR0xDb250ZXh0ID0gRXZhc0dMQ29udGV4dDo6Y3JlYXRlKG1fZXZhc0dMLmdldCgp
KTsKQEAgLTI4MSwxMyArMjg1LDE0IEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZpZXcs
IEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQogICAgICAgICBXQVJOKCJGYWlsZWQgdG8gY3JlYXRl
IEV2YXNfR0wsIGZhbGxpbmcgYmFjayB0byBzb2Z0d2FyZSBtb2RlLiIpOwogICAgICAgICBtX2lz
QWNjZWxlcmF0ZWQgPSBmYWxzZTsKICAgICB9Ci0KKyNlbmRpZgogICAgIFdLVmlld0luaXRpYWxp
emUod2tWaWV3KCkpOwogCiAgICAgV0tQYWdlR3JvdXBSZWYgd2tQYWdlR3JvdXAgPSBXS1BhZ2VH
ZXRQYWdlR3JvdXAod2tQYWdlKCkpOwogICAgIFdLUHJlZmVyZW5jZXNSZWYgd2tQcmVmZXJlbmNl
cyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMod2tQYWdlR3JvdXApOwotCisjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIFdLUHJlZmVyZW5jZXNTZXRXZWJHTEVuYWJsZWQo
d2tQcmVmZXJlbmNlcywgdHJ1ZSk7CisjZW5kaWYKICAgICBXS1ByZWZlcmVuY2VzU2V0RnVsbFNj
cmVlbkVuYWJsZWQod2tQcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFdl
YkF1ZGlvRW5hYmxlZCh3a1ByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0
T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHdrUHJlZmVyZW5jZXMsIHRydWUpOwpA
QCAtNTQ0LDEwICs1NDksMTEgQEAgdm9pZCBFd2tWaWV3OjpkaXNwbGF5VGltZXJGaXJlZChUaW1l
cjxFd2tWaWV3PiopCiAgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsK
IAogICAgIGlmIChtX3BlbmRpbmdTdXJmYWNlUmVzaXplKSB7CisjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgICAgICAvLyBDcmVhdGUgYSBHTCBzdXJmYWNlIGhlcmUgc28gdGhh
dCBFdmFzIGhhcyBubyBjaGFuY2Ugb2YgcGFpbnRpbmcgdG8gYW4gZW1wdHkgR0wgc3VyZmFjZS4K
ICAgICAgICAgaWYgKCFjcmVhdGVHTFN1cmZhY2UoKSkKICAgICAgICAgICAgIHJldHVybjsKLQor
I2VuZGlmCiAgICAgICAgIG1fcGVuZGluZ1N1cmZhY2VSZXNpemUgPSBmYWxzZTsKICAgICB9CiAK
QEAgLTU2MCwxMSArNTY2LDExIEBAIHZvaWQgRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQoVGlt
ZXI8RXdrVmlldz4qKQogICAgICAgICBldmFzX29iamVjdF9pbWFnZV9kYXRhX3VwZGF0ZV9hZGQo
c2QtPmltYWdlLCAwLCAwLCBzZC0+dmlldy53LCBzZC0+dmlldy5oKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBldmFzX2ds
X21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCks
IG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKIAogICAgIFdLVmlld1BhaW50VG9DdXJyZW50
R0xDb250ZXh0KHdrVmlldygpKTsKLQorI2VuZGlmCiAgICAgLy8gc2QtPmltYWdlIGlzIHRpZWQg
dG8gYSBuYXRpdmUgc3VyZmFjZSwgd2hpY2ggaXMgaW4gdGhlIHBhcmVudCdzIGNvb3JkaW5hdGVz
LgogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChzZC0+aW1hZ2UsIHNkLT52
aWV3LngsIHNkLT52aWV3LnksIHNkLT52aWV3LncsIHNkLT52aWV3LmgpOwogfQpAQCAtNzQ0LDYg
Kzc1MCw3IEBAIHZvaWQgRXdrVmlldzo6c2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKIH0KICNlbmRpZgogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogYm9vbCBF
d2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UoKQogewogICAgIGlmICghbV9pc0FjY2VsZXJhdGVkKQpA
QCAtNzc3LDYgKzc4NCw3IEBAIGJvb2wgRXdrVmlldzo6Y3JlYXRlR0xTdXJmYWNlKCkKIAogICAg
IHJldHVybiB0cnVlOwogfQorI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikK
IC8qKgpAQCAtMTI5MSwxNSArMTI5OSwxNiBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4g
RXdrVmlldzo6dGFrZVNuYXBzaG90KCkKICAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUo
KTsKIAogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7Ci0gICAgaWYg
KCFtX2lzQWNjZWxlcmF0ZWQpIHsKLSAgICAgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc25h
cHNob3QgPSBjcmVhdGVTdXJmYWNlRm9ySW1hZ2Uoc2QtPmltYWdlKTsKKyNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCisgICAgaWYgKG1faXNBY2NlbGVyYXRlZCkgeworICAgICAgICBS
ZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGdldEltYWdlU3VyZmFjZUZyb21GcmFt
ZUJ1ZmZlcigwLCAwLCBzZC0+dmlldy53LCBzZC0+dmlldy5oKTsKICAgICAgICAgLy8gUmVzdW1l
IGFsbCBhbmltYXRpb25zLgogICAgICAgICBXS1ZpZXdSZXN1bWVBY3RpdmVET01PYmplY3RzQW5k
QW5pbWF0aW9ucyh3a1ZpZXcoKSk7CiAKICAgICAgICAgcmV0dXJuIHNuYXBzaG90LnJlbGVhc2Uo
KTsKICAgICB9Ci0KLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGdldElt
YWdlU3VyZmFjZUZyb21GcmFtZUJ1ZmZlcigwLCAwLCBzZC0+dmlldy53LCBzZC0+dmlldy5oKTsK
KyNlbmRpZgorICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHNuYXBzaG90ID0gY3JlYXRlU3Vy
ZmFjZUZvckltYWdlKHNkLT5pbWFnZSk7CiAgICAgLy8gUmVzdW1lIGFsbCBhbmltYXRpb25zLgog
ICAgIFdLVmlld1Jlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKHdrVmlldygpKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCmluZGV4IDAxZWM1
NDhiMWJlNTc0NmUwOWZlMzQ3YWE4ODM3ODBiN2I4MTk1ZWYuLjZjMGQwY2U0NzczY2QzYmJiNWQ0
MzAwNWM1OTM5ZWQ2YjM4N2VmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmgKQEAgLTYyLDggKzYyLDEwIEBAIGNsYXNzIFBhZ2VMb2FkQ2xpZW50RWZsOwog
Y2xhc3MgUGFnZVBvbGljeUNsaWVudEVmbDsKIGNsYXNzIFBhZ2VVSUNsaWVudEVmbDsKIGNsYXNz
IFZpZXdDbGllbnRFZmw7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogY2xhc3Mg
UGFnZVZpZXdwb3J0Q29udHJvbGxlcjsKIGNsYXNzIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGll
bnRFZmw7CisjZW5kaWYKIGNsYXNzIFdlYkNvbnRleHRNZW51SXRlbURhdGE7CiBjbGFzcyBXZWJD
b250ZXh0TWVudVByb3h5RWZsOwogY2xhc3MgV2ViUGFnZUdyb3VwOwpAQCAtOTIsOCArOTQsMTAg
QEAgY2xhc3MgRXdrUG9wdXBNZW51OwogY2xhc3MgRXdrU2V0dGluZ3M7CiBjbGFzcyBFd2tXaW5k
b3dGZWF0dXJlczsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHR5cGVkZWYg
c3RydWN0IF9FdmFzX0dMX0NvbnRleHQgRXZhc19HTF9Db250ZXh0OwogdHlwZWRlZiBzdHJ1Y3Qg
X0V2YXNfR0xfU3VyZmFjZSBFdmFzX0dMX1N1cmZhY2U7CisjZW5kaWYKIAogdHlwZWRlZiBzdHJ1
Y3QgRXdrX1ZpZXdfU21hcnRfRGF0YSBFd2tfVmlld19TbWFydF9EYXRhOwogdHlwZWRlZiBzdHJ1
Y3QgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgRXdrX1ZpZXdfU21hcnRfQ2xhc3M7CkBAIC0xMTcsOCAr
MTIxLDkgQEAgcHVibGljOgogICAgIEV3a1NldHRpbmdzKiBzZXR0aW5ncygpIHsgcmV0dXJuIG1f
c2V0dGluZ3MuZ2V0KCk7IH0KICAgICBFd2tCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlz
dCgpIHsgcmV0dXJuIG1fYmFja0ZvcndhcmRMaXN0LmdldCgpOyB9CiAgICAgRXdrV2luZG93RmVh
dHVyZXMqIHdpbmRvd0ZlYXR1cmVzKCk7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQogICAgIFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlciogcGFnZVZpZXdwb3J0Q29udHJv
bGxlcigpIHsgcmV0dXJuIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlci5nZXQoKTsgfQotCisjZW5k
aWYKICAgICBib29sIGlzRm9jdXNlZCgpIGNvbnN0OwogICAgIGJvb2wgaXNWaXNpYmxlKCkgY29u
c3Q7CiAKQEAgLTE1OSw4ICsxNjQsOSBAQCBwdWJsaWM6CiAKICAgICBXS1JlY3Qgd2luZG93R2Vv
bWV0cnkoKSBjb25zdDsKICAgICB2b2lkIHNldFdpbmRvd0dlb21ldHJ5KGNvbnN0IFdLUmVjdCYp
OwotCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wgY3JlYXRlR0xT
dXJmYWNlKCk7CisjZW5kaWYKICAgICB2b2lkIHNldE5lZWRzU3VyZmFjZVJlc2l6ZSgpIHsgbV9w
ZW5kaW5nU3VyZmFjZVJlc2l6ZSA9IHRydWU7IH0KIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQpAQCAtMjQ4LDkgKzI1NCwxMSBAQCBwcml2YXRlOgogICAgIEV2YXNfT2JqZWN0KiBtX2V2
YXNPYmplY3Q7CiAgICAgUmVmUHRyPEV3a0NvbnRleHQ+IG1fY29udGV4dDsKICAgICBSZWZQdHI8
RXdrUGFnZUdyb3VwPiBtX3BhZ2VHcm91cDsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCiAgICAgT3duUHRyPEV2YXNfR0w+IG1fZXZhc0dMOwogICAgIE93blB0cjxXZWJLaXQ6OkV2
YXNHTENvbnRleHQ+IG1fZXZhc0dMQ29udGV4dDsKICAgICBPd25QdHI8V2ViS2l0OjpFdmFzR0xT
dXJmYWNlPiBtX2V2YXNHTFN1cmZhY2U7CisjZW5kaWYKICAgICBXZWJDb3JlOjpJbnRTaXplIG1f
ZGV2aWNlU2l6ZTsKICAgICBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3VzZXJWaWV3
cG9ydFRyYW5zZm9ybTsKICAgICBib29sIG1fcGVuZGluZ1N1cmZhY2VSZXNpemU7CkBAIC0yODUs
OCArMjkzLDEwIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAg
T3duUHRyPEV3a0NvbG9yUGlja2VyPiBtX2NvbG9yUGlja2VyOwogI2VuZGlmCisjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIE93blB0cjxXZWJLaXQ6OlBhZ2VWaWV3cG9ydENv
bnRyb2xsZXJDbGllbnRFZmw+IG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudDsKICAgICBP
d25QdHI8V2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyPiBtX3BhZ2VWaWV3cG9ydENvbnRy
b2xsZXI7CisjZW5kaWYKICAgICBib29sIG1faXNBY2NlbGVyYXRlZDsKIAogICAgIHN0YXRpYyBF
dmFzX1NtYXJ0X0NsYXNzIHBhcmVudFNtYXJ0Q2xhc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmNwcAppbmRleCBlZmQyNjE5NDhi
OTNiM2JiYmYyM2UzOTljNTYyMjRjMjBiYThkMDYxLi44ZTBiOWQ4MzMyNThkYzdlMjkzNzNlZmZi
OWEzOWI0MTAzODhlZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHAKQEAgLTI0LDYgKzI0LDkgQEAKICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2lu
Y2x1ZGUgIlNuYXBzaG90SW1hZ2VHTC5oIgogCiAjaWYgVVNFKE9QRU5HTF9FU18yKQpAQCAtNzAs
MyArNzMsNCBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gZ2V0SW1hZ2VTdXJmYWNlRnJv
bUZyYW1lQnVmZmVyKGludCB4LCBpbnQgeSwgaW50IHdpZAogICAgIGNhaXJvX3N1cmZhY2VfbWFy
a19kaXJ0eShuZXdTdXJmYWNlLmdldCgpKTsKICAgICByZXR1cm4gbmV3U3VyZmFjZTsKIH0KKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNo
b3RJbWFnZUdMLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdElt
YWdlR0wuaAppbmRleCBhYmNkNzg3NGVjODc4N2EzMWY5OTJjZDhmM2E1YTU2NDNjOGUzNGU0Li42
OGMxNDI4YWUyMDllMWIzMDA0MDBlNmE5MmFkN2QzZGFjMjU5OWFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuaApAQCAtMjYsOSAr
MjYsMTIgQEAKICNpZm5kZWYgU25hcHNob3RJbWFnZUdMX2gKICNkZWZpbmUgU25hcHNob3RJbWFn
ZUdMX2gKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2luY2x1ZGUgPFJl
ZlB0ckNhaXJvLmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAKIFBhc3NSZWZQdHI8
Y2Fpcm9fc3VyZmFjZV90PiBnZXRJbWFnZVN1cmZhY2VGcm9tRnJhbWVCdWZmZXIoaW50IHgsIGlu
dCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogCisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogI2VuZGlmIC8vIFNuYXBzaG90SW1hZ2VHTF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKaW5kZXggZTEx
NTZhYmQyNGEyNzU3ZGM3NDc2YjBjYTRjYWZlMDI5ZjExOTNhYy4uNTYwMTdkZGY4MzQ2ZDk0NGNm
M2MyY2E5OGQyN2YxNGQ2ZDJjNzA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApAQCAtMjAsOSArMjAsOSBAQAogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyLmgi
CiAKLSNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCisjaW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIgogCiAjaW5jbHVk
ZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94
eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9s
bGVyLmgKaW5kZXggMzE2NGVmZGE3YjdhNGExYjA3ODVkOTViZDE0NGViMWNkN2I5YzRlOC4uYjg5
NzNhYmJkODllMmVhNGY0ZmJmM2VmOWUzNGU2MWY3ZThkYzRlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oCkBAIC0yMiw2ICsyMiw4
IEBACiAjaWZuZGVmIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJfaAogI2RlZmluZSBQYWdlVmlld3Bv
cnRDb250cm9sbGVyX2gKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2lu
Y2x1ZGUgPFdlYkNvcmUvRmxvYXRQb2ludC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFNpemUuaD4KQEAgLTExMCw0ICsxMTIsNSBAQCBi
b29sIGZ1enp5Q29tcGFyZShmbG9hdCwgZmxvYXQsIGZsb2F0IGVwc2lsb24pOwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICNlbmRpZiAvLyBQYWdlVmlld3BvcnRDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGll
bnRFZmwuY3BwCmluZGV4IDgxZTBhMTk1M2FhMDM1YmI5YzYyN2U1YTA2ZWE2MjE5YmEwZjNlZTku
LjI5NTJkN2M4ZDJjODM3NWYwZWY4NmU5ZWQwODU3NmViMWNiZDViNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250
cm9sbGVyQ2xpZW50RWZsLmNwcApAQCAtMjUsNiArMjUsOSBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2luY2x1ZGUg
IlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuaCIKIAogI2luY2x1ZGUgIkV3a1ZpZXcu
aCIKQEAgLTc3LDMgKzgwLDQgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZs
OjpzZXRDb250cm9sbGVyKFBhZ2VWaWV3cG9ydENvbnRyb2xsZXIqIGNvbnQKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKaW5kZXgg
ZDllYmIzMmNmNTYzNzE3NzA2ZTBiZDZmMzcxMzZlMjRkOWIwMGFjOS4uNTJiM2RiYjI0ZWVlZTk5
YmU1ZGUyZDk3YTkxNGIwZWNkY2NkMjVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCkBAIC00OSw3ICs0OSwxMSBAQCB2b2lkIFZpZXdDbGll
bnRFZmw6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShXS1ZpZXdSZWYsIFdLU2l6ZSBzaXplLCBjb25z
dCB2b2lkKiBjbAogewogICAgIEV3a1ZpZXcqIGV3a1ZpZXcgPSB0b0V3a1ZpZXcoY2xpZW50SW5m
byk7CiAgICAgaWYgKFdLUGFnZVVzZUZpeGVkTGF5b3V0KGV3a1ZpZXctPndrUGFnZSgpKSkKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIGV3a1ZpZXctPnBhZ2VWaWV3
cG9ydENvbnRyb2xsZXIoKS0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHRvSW50U2l6ZShzaXplKSk7
CisjZWxzZQorICAgICAgICB7IH0KKyNlbmRpZgogICAgIGVsc2UKICAgICAgICAgZXdrVmlldy0+
c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXcuY3BwCmluZGV4IGU1ZTgwYzI0NjJmNTVmMWQ5OGU2MjY0NmNjYzkxZWE0YjdmYjcyMjMu
LmZjNWY5OWFkODE4ZWNkY2E0MTc5YzE4OTNiZTljYWY0YmFjOGRkNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcApAQCAtMjAwLDcgKzIwMCw5IEBAIHZvaWQgV2Vi
Vmlldzo6aW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS1ZpZXdDbGllbnQqIGNsaWVudCkKIHZvaWQg
V2ViVmlldzo6ZGlkQ29tbWl0TG9hZCgpCiB7CiAgICAgaWYgKG1fcGFnZS0+dXNlRml4ZWRMYXlv
dXQoKSkgeworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAgICAgbV9ld2tW
aWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPmRpZENvbW1pdExvYWQoKTsKKyNlbmRpZgog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmlldy0+c2NoZWR1bGVVcGRhdGVEaXNw
bGF5KCk7CkBAIC0yMDksNyArMjExLDkgQEAgdm9pZCBXZWJWaWV3OjpkaWRDb21taXRMb2FkKCkK
IHZvaWQgV2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXplKCkKIHsKICAgICBpZiAobV9wYWdlLT51
c2VGaXhlZExheW91dCgpKSB7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
ICAgICBtX2V3a1ZpZXctPnBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoKS0+ZGlkQ2hhbmdlVmlld3Bv
cnRTaXplKG1fZXdrVmlldy0+c2l6ZSgpKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIEZsb2F0UG9pbnQgdWlQb3NpdGlvbihtX2V3a1ZpZXctPnBhZ2VQb3NpdGlvbigpKTsK
QEAgLTUwMyw3ICs1MDcsOSBAQCBGbG9hdFJlY3QgV2ViVmlldzo6Y29udmVydFRvVXNlclNwYWNl
KGNvbnN0IEZsb2F0UmVjdCYgZGV2aWNlUmVjdCkKIHZvaWQgV2ViVmlldzo6ZGlkQ2hhbmdlVmll
d3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYgYXR0cikK
IHsKICAgICBpZiAobV9wYWdlLT51c2VGaXhlZExheW91dCgpKSB7CisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgICAgICBtX2V3a1ZpZXctPnBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXIoKS0+ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKGF0dHIpOworI2VuZGlmCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgbV9ld2tWaWV3LT5zY2hlZHVsZVVwZGF0ZURpc3BsYXkoKTsK
QEAgLTUxMSw4ICs1MTcsMTAgQEAgdm9pZCBXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3Bl
cnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJiBhdHQKIAogdm9pZCBXZWJW
aWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24pCiB7Ci0g
ICAgaWYgKG1fcGFnZS0+dXNlRml4ZWRMYXlvdXQoKSkgeyAgICAgICAgCisgICAgaWYgKG1fcGFn
ZS0+dXNlRml4ZWRMYXlvdXQoKSkgeworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICAgICAgICAgbV9ld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPnBhZ2VEaWRSZXF1
ZXN0U2Nyb2xsKHBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IEZsb2F0UG9pbnQgdWlQb3NpdGlvbihwb3NpdGlvbik7CkBAIC01MjQsNyArNTMyLDkgQEAgdm9p
ZCBXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24p
CiB2b2lkIFdlYlZpZXc6OmRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNv
bnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpCiB7CiAgICAg
aWYgKG1fcGFnZS0+dXNlRml4ZWRMYXlvdXQoKSkgeworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKICAgICAgICAgbV9ld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPmRp
ZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpOworI2VuZGlmCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgbV9ld2tWaWV3LT5zY2hlZHVsZVVwZGF0ZURpc3BsYXkoKTsK
QEAgLTUzMyw3ICs1NDMsOSBAQCB2b2lkIFdlYlZpZXc6OmRpZFJlbmRlckZyYW1lKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZQogdm9pZCBXZWJWaWV3
OjpwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKQogewogICAgIGlmIChtX3BhZ2UtPnVzZUZp
eGVkTGF5b3V0KCkpIHsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAg
IG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5wYWdlVHJhbnNpdGlvblZpZXdw
b3J0UmVhZHkoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmll
dy0+c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IGZmMTAw
MGVmNDJmNDgxOGFmOTEyYTYzYTNiZTdhOWM3YTI1MTk1OGYuLjhhOTFlNmJmNGVkNDYzMTBjOTk5
Y2ZjZDhiZjYyZjYxMTYyMzc5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZs
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0xNzMsNiArMTcz
LDI2IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICBmaW5kX3Bh
Y2thZ2UoR1N0cmVhbWVyIFJFUVVJUkVEIENPTVBPTkVOVFMgJHtHU1RSRUFNRVJfQ09NUE9ORU5U
U30pCiBlbmRpZiAoKQogCitpZiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIGFk
ZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkc9MSkKKworICAg
IGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQ09PUkRJTkFURURfR1JBUEhJQ1M9MSkKKworICAg
IHNldChXVEZfVVNFX1RFWFRVUkVfTUFQUEVSIDEpCisgICAgYWRkX2RlZmluaXRpb25zKC1EV1RG
X1VTRV9URVhUVVJFX01BUFBFUj0xKQorCisgICAgc2V0KFdURl9VU0VfM0RfR1JBUEhJQ1MgMSkK
KyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFXzNEX0dSQVBISUNTPTEpCisKKyAgICBzZXQo
RU5BQkxFXzNEX1JFTkRFUklORyAxKQorICAgIGFkZF9kZWZpbml0aW9ucygtREVOQUJMRV8zRF9S
RU5ERVJJTkc9MSkKK2Vsc2UgKCkKKyAgICAjIERpc2FibGUgM0QgZ3JhcGhpY3MgYW5kIFdFQkdM
IGlmIHRpbGVkIGJhY2tpbmcgaXMgZGlzYWJsZWQKKyAgICBzZXQoRU5BQkxFX1dFQkdMIDApCisg
ICAgc2V0KFdURl9VU0VfM0RfR1JBUEhJQ1MgMCkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZf
VVNFXzNEX0dSQVBISUNTPTApCitlbmRpZiAoKQorCiBpZiAoRU5BQkxFX1dFQkdMIE9SIFdURl9V
U0VfVElMRURfQkFDS0lOR19TVE9SRSkKICAgICBmaW5kX3BhY2thZ2UoT3BlbkdMIFJFUVVJUkVE
KQogICAgIENIRUNLX0lOQ0xVREVfRklMRVMoIkdML2dseC5oIiBPUEVOR0xYX0ZPVU5EKQpAQCAt
MjI4LDIxICsyNDgsNiBAQCBpZiAoQ01BS0VfQlVJTERfVFlQRSBTVFJFUVVBTCByZWxlYXNlIEFO
RCBDTUFLRV9DT01QSUxFUl9JU19HTlVDQyBBTkQgVU5JWCBBTkQgTgogICAgIHNldChDTUFLRV9T
SEFSRURfTElOS0VSX0ZMQUdTICItV2wsLS1nYy1zZWN0aW9ucyAke0NNQUtFX1NIQVJFRF9MSU5L
RVJfRkxBR1N9IikKIGVuZGlmICgpCiAKLWlmIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUp
Ci0gICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORz0x
KQotCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElDUz0x
KQotCi0gICAgc2V0KFdURl9VU0VfVEVYVFVSRV9NQVBQRVIgMSkKLSAgICBhZGRfZGVmaW5pdGlv
bnMoLURXVEZfVVNFX1RFWFRVUkVfTUFQUEVSPTEpCi0KLSAgICBzZXQoV1RGX1VTRV8zRF9HUkFQ
SElDUyAxKQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfM0RfR1JBUEhJQ1M9MSkKLQot
ICAgIHNldChFTkFCTEVfM0RfUkVOREVSSU5HIDEpCi0gICAgYWRkX2RlZmluaXRpb25zKC1ERU5B
QkxFXzNEX1JFTkRFUklORz0xKQotZW5kaWYgKCkKLQogaWYgKEVOQUJMRV9XRUJHTCkKICAgICBz
ZXQoRU5BQkxFX1dFQkdMIDEpCiAgICAgaWYgKFVTRV9HUkFQSElDU19TVVJGQUNFKQpkaWZmIC0t
Z2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDY0NzZhOTg1MTUwZTYzNzcxOTJiMmUw
NDQ0MDAxYjY2ZTlkYTA3NDUuLjc2ZjliN2I4OTJhMGRhOWZlYjI1NWIzNDRiMGU3ZDNlZTI4Mzdl
M2UgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxMy0wMy0yOSAgRWQgQmFydG9zaCAgPGJhcnRvc2hAZ21haWwuY29tPgorCisgICAgICAg
IFtFRkxdIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBmYWlscyBiZWNhdXNlIG9mIG5v
dCB1c2VkICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MjcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZs
LmNtYWtlOiBEaXNhYmxlZCAzRF9HUkFQSElDUyBhbmQgV0VCX0dMIHdoZW4gYWNjZWxlcmF0ZWQg
Y29tcG9zaXRpbmcgaXMgb24KKwogMjAxMy0wMy0yOSAgQ2hhcmxlcyBXZWkgIDxjaGFybGVzLndl
aUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgW0JsYWNrQmVycnldIENsZWFudXAgdGhl
IENPTlRFWFRfTUVOVVMgaW4gQmxhY2tCZXJyeSBwb3J0aW5nCg==
</data>
<flag name="review"
          id="217824"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="218251"
          type_id="3"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196531</attachid>
            <date>2013-04-04 14:38:35 -0700</date>
            <delta_ts>2013-04-05 12:19:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.113627</filename>
            <type>text/plain</type>
            <size>25593</size>
            <attacher name="Ed Bartosh">bartosh</attacher>
            
              <data encoding="base64">Y29tbWl0IDg2YTg4MTU2OTM5NTBjYTFmN2YzZGZiYzFlNzhlZjJjNTY1MTNkYTkKQXV0aG9yOiBF
ZCBCYXJ0b3NoIDxiYXJ0b3NoQGdtYWlsLmNvbT4KRGF0ZTogICBTYXQgTWFyIDMwIDEzOjQ0OjMx
IDIwMTMgKzAyMDAKCiAgICBGaXhlZCAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQKICAg
IAogICAgV3JhcHBlZCBjb2RlIHdpdGggI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykg
dG8gbWFrZSBpdCBjb21waWxhYmxlCiAgICB3aXRoIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBi
dWlsZCBvcHRpb24KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRWQgQmFydG9zaCA8YmFydG9zaEBn
bWFpbC5jb20+CgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDM5OTNm
M2EuLmZhYTFhY2UgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wMy0yOSAgRWQgQmFydG9zaCAgPGJhcnRvc2hAZ21haWwuY29tPgor
CisgICAgICAgIFtFRkxdIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBmYWlscyBiZWNh
dXNlIG9mIG5vdCB1c2VkICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlOiBEaXNhYmxlZCAzRF9HUkFQSElDUyBhbmQgV0VCX0dMIHdoZW4gYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgb24KKwogMjAxMy0wNC0wNCAgWGFiaWVyIFJvZHJpZ3Vl
eiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIFZp
cnR1YWwgbW9kaWZpZXIgZm9yIE1lZGlhUGxheWVyOjpzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9u
IG11c3QgZ28KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NTMyNzg4Li5kOTBmNjA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTMtMDMtMjkgIEVkIEJhcnRvc2ggIDxiYXJ0b3NoQGdtYWlsLmNvbT4K
KworICAgICAgICBbRUZMXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQgZmFpbHMgYmVj
YXVzZSBvZiBub3QgdXNlZCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICBXcmFwcGVkIGNvZGUgd2l0
aCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSB0byBtYWtlIGl0IGNvbXBpbGFibGUK
KyAgICAgICB3aXRoIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBvcHRpb246CisgICAg
ICAgICogcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1wbGljaXRBbmltYXRpb246OmFuaW1hdGUpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0
aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lQW5p
bWF0aW9uOjphbmltYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5jcHA6CisgICAgICAgIChOdWxsVGV4dFRyYWNrUmVwcmVzZW50YXRpb24p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmg6
CisgICAgICAgIChUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lz
dGVudFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0SGVhZGVySGVpZ2h0
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0Rm9vdGVySGVpZ2h0KToKKwogMjAx
My0wNC0wNCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gUmVtb3ZlIHRoZSBneXAgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAppbmRleCAzN2EyZjcyLi4yNTQxNTAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1h
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmlt
YXRpb24uY3BwCkBAIC03OCwxMCArNzgsMTAgQEAgdm9pZCBJbXBsaWNpdEFuaW1hdGlvbjo6YW5p
bWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXIKICAg
ICBpZiAoIWFuaW1hdGVkU3R5bGUpCiAgICAgICAgIGFuaW1hdGVkU3R5bGUgPSBSZW5kZXJTdHls
ZTo6Y2xvbmUodGFyZ2V0U3R5bGUpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQogICAgIGJvb2wgbmVlZHNBbmltID0gQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVy
dGllcyh0aGlzLCBtX2FuaW1hdGluZ1Byb3BlcnR5LCBhbmltYXRlZFN0eWxlLmdldCgpLCBtX2Zy
b21TdHlsZS5nZXQoKSwgbV90b1N0eWxlLmdldCgpLCBwcm9ncmVzcygxLCAwLCAwKSk7CiAgICAg
Ly8gRklYTUU6IHdlIGFsc28gbmVlZCB0byBkZXRlY3QgY2FzZXMgd2hlcmUgd2UgaGF2ZSB0byBz
b2Z0d2FyZSBhbmltYXRlIGZvciBvdGhlciByZWFzb25zLAogICAgIC8vIHN1Y2ggYXMgYSBjaGls
ZCB1c2luZyBpbmhlcml0aW5nIHRoZSB0cmFuc2Zvcm0uIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzkwMgotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICAgICBpZiAoIW5lZWRzQW5pbSkKICAgICAgICAgLy8gSWYgd2UgYXJlIHJ1bm5pbmcgYW4gYWNj
ZWxlcmF0ZWQgYW5pbWF0aW9uLCBzZXQgYSBmbGFnIGluIHRoZSBzdHlsZSB3aGljaCBjYXVzZXMg
dGhlIHN0eWxlCiAgICAgICAgIC8vIHRvIGNvbXBhcmUgYXMgZGlmZmVyZW50IHRvIGFueSBvdGhl
ciBzdHlsZS4gVGhpcyBlbnN1cmVzIHRoYXQgY2hhbmdlcyB0byB0aGUgcHJvcGVydHkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcApp
bmRleCAwNDI1YTUyLi41MzhlZjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCkBAIC0xODUsOSArMTg1LDggQEAgdm9pZCBL
ZXlmcmFtZUFuaW1hdGlvbjo6YW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJPYmpl
Y3QqLCBjb25zdCBSZW5kZXIKICAgICAgICAgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUgPSAw
OwogICAgICAgICBkb3VibGUgcHJvZ3Jlc3MgPSAwLjA7CiAgICAgICAgIGZldGNoSW50ZXJ2YWxF
bmRwb2ludHNGb3JQcm9wZXJ0eSgqaXQsIGZyb21TdHlsZSwgdG9TdHlsZSwgcHJvZ3Jlc3MpOwot
ICAgIAotICAgICAgICBib29sIG5lZWRzQW5pbSA9IENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVu
ZFByb3BlcnRpZXModGhpcywgKml0LCBhbmltYXRlZFN0eWxlLmdldCgpLCBmcm9tU3R5bGUsIHRv
U3R5bGUsIHByb2dyZXNzKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAg
ICAgIGJvb2wgbmVlZHNBbmltID0gQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGll
cyh0aGlzLCAqaXQsIGFuaW1hdGVkU3R5bGUuZ2V0KCksIGZyb21TdHlsZSwgdG9TdHlsZSwgcHJv
Z3Jlc3MpOwogICAgICAgICBpZiAoIW5lZWRzQW5pbSkKICAgICAgICAgICAgIC8vIElmIHdlIGFy
ZSBydW5uaW5nIGFuIGFjY2VsZXJhdGVkIGFuaW1hdGlvbiwgc2V0IGEgZmxhZyBpbiB0aGUgc3R5
bGUKICAgICAgICAgICAgIC8vIHRvIGluZGljYXRlIGl0LiBUaGlzIGNhbiBiZSB1c2VkIHRvIG1h
a2Ugc3VyZSB3ZSBnZXQgYW4gdXBkYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwCmluZGV4IDNj
MzQyM2IuLjY4ZTRjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5jcHAKQEAgLTM1LDcgKzM1LDkg
QEAgY2xhc3MgTnVsbFRleHRUcmFja1JlcHJlc2VudGF0aW9uIDogcHVibGljIFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5OdWxsVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24oKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKCkgeyB9CisjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZv
cm1MYXllcigpIHsgcmV0dXJuIDA7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250
ZW50U2NhbGUoZmxvYXQpIHsgfQogICAgIHZpcnR1YWwgSW50UmVjdCBib3VuZHMoKSBjb25zdCB7
IHJldHVybiBJbnRSZWN0KCk7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCAyYTRmNTI3
Li42MzkyM2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTUyLDcgKzUyLDkgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgflRleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgeyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlKCkgPSAwOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSA9IDA7CisjZW5kaWYK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudFNjYWxlKGZsb2F0KSA9IDA7CiAgICAgdmlydHVh
bCBJbnRSZWN0IGJvdW5kcygpIGNvbnN0ID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKaW5kZXggMzg2M2NjZC4uYmJhMDk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtMjU5LDEwICsyNTksMTQgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc2V0VG9D
b25zaXN0ZW50U3RhdGUoUGFnZSogcGFnZSkKIAogICAgIHBhZ2UtPnNldFBhZ2VTY2FsZUZhY3Rv
cigxLCBJbnRQb2ludCgwLCAwKSk7CiAgICAgcGFnZS0+c2V0UGFnaW5hdGlvbihQYWdpbmF0aW9u
KCkpOwotICAgIGlmIChGcmFtZVZpZXcqIG1haW5GcmFtZVZpZXcgPSBwYWdlLT5tYWluRnJhbWUo
KS0+dmlldygpKSB7CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgRnJh
bWVWaWV3KiBtYWluRnJhbWVWaWV3ID0gcGFnZS0+bWFpbkZyYW1lKCktPnZpZXcoKTsKKyAgICBp
ZiAobWFpbkZyYW1lVmlldykgewogICAgICAgICBtYWluRnJhbWVWaWV3LT5zZXRIZWFkZXJIZWln
aHQoMCk7CiAgICAgICAgIG1haW5GcmFtZVZpZXctPnNldEZvb3RlckhlaWdodCgwKTsKICAgICB9
CisjZW5kaWYKICAgICBUZXh0UnVuOjpzZXRBbGxvd3NSb3VuZGluZ0hhY2tzKGZhbHNlKTsKICAg
ICBXZWJDb3JlOjpvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoVmVjdG9yPFN0cmluZz4o
KSk7CiAgICAgV2ViQ29yZTo6U2V0dGluZ3M6OnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyhmYWxz
ZSk7CkBAIC0xODUwLDE4ICsxODU0LDIwIEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRIZWFkZXJIZWln
aHQoRG9jdW1lbnQqIGRvY3VtZW50LCBmbG9hdCBoZWlnaHQpCiB7CiAgICAgaWYgKCFkb2N1bWVu
dCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwotCisjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1lbnQt
PnZpZXcoKTsKICAgICBmcmFtZVZpZXctPnNldEhlYWRlckhlaWdodChoZWlnaHQpOworI2VuZGlm
CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpzZXRGb290ZXJIZWlnaHQoRG9jdW1lbnQqIGRvY3VtZW50
LCBmbG9hdCBoZWlnaHQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXco
KSkKICAgICAgICAgcmV0dXJuOwotCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKICAgICBmcmFtZVZp
ZXctPnNldEZvb3RlckhlaWdodChoZWlnaHQpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTkzZTQ1Ni4uYzkzNzgxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTI5ICBFZCBCYXJ0b3NoICA8YmFydG9zaEBnbWFpbC5j
b20+CisKKyAgICAgICAgW0VGTF0gLS1uby10aWxlZC1iYWNraW5nLXN0b3JlIGJ1aWxkIGZhaWxz
IGJlY2F1c2Ugb2Ygbm90IHVzZWQgI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdyYXBwZWQgY29k
ZSB3aXRoICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpIHRvIG1ha2UgaXQgY29tcGls
YWJsZQorICAgICAgICB3aXRoIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBvcHRpb246
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL0V2YXNHTENvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFz
R0xTdXJmYWNlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChF
d2tWaWV3OjpFd2tWaWV3KToKKyAgICAgICAgKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKToK
KyAgICAgICAgKEV3a1ZpZXc6OnRha2VTbmFwc2hvdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEV3a1ZpZXcpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdl
Vmlld3BvcnRDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdlVmlld3Bv
cnRDb250cm9sbGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdD
bGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpkaWRDaGFuZ2VD
b250ZW50c1NpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3Ojp1cGRhdGVWaWV3cG9ydFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpk
aWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpw
YWdlRGlkUmVxdWVzdFNjcm9sbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZFJlbmRl
ckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6cGFnZVRyYW5zaXRpb25WaWV3cG9y
dFJlYWR5KToKKwogMjAxMy0wNC0wMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAK
ICAgICAgICAgRXhwb3NlIHNldHRpbmdzIHRvIGRpc2FibGUgcGx1Z2luIHNuYXBzaG90dGluZyBh
dXRvc3RhcnQgYW5kIHByaW1hcnkgZGV0ZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLVmlldy5jcHAKaW5kZXggNzg3NjZjZS4uNWE0YWUxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcApAQCAtNjYsMTAgKzY2
LDEyIEBAIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0VG9Db250ZW50cyhXS1ZpZXdSZWYgdmll
d1JlZiwgV0tQb2ludCBwb2ludCkKICAgICByZXR1cm4gV0tQb2ludE1ha2UocmVzdWx0LngoKSwg
cmVzdWx0LnkoKSk7CiB9CiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lk
IFdLVmlld1BhaW50VG9DdXJyZW50R0xDb250ZXh0KFdLVmlld1JlZiB2aWV3UmVmKQogewogICAg
IHRvSW1wbCh2aWV3UmVmKS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoKTsKIH0KKyNlbmRpZgog
CiB2b2lkIFdLVmlld1BhaW50VG9DYWlyb1N1cmZhY2UoV0tWaWV3UmVmIHZpZXdSZWYsIGNhaXJv
X3N1cmZhY2VfdCogc3VyZmFjZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXZhc0dMQ29udGV4dC5jcHAKaW5kZXggODE5OGQ2MS4uODYyZGRiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5jcHAK
QEAgLTI0LDYgKzI0LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJFdmFzR0xDb250ZXh0LmgiCiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsMyArNDUsNCBAQCBFdmFzR0xDb250ZXh0Ojp+RXZh
c0dMQ29udGV4dCgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmgKaW5kZXggODg2
MTU5Yi4uMmVmNzM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXZhc0dMQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V2YXNHTENvbnRleHQuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjaWZuZGVmIEV2YXNHTENvbnRl
eHRfaAogI2RlZmluZSBFdmFzR0xDb250ZXh0X2gKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiAKICNpbmNsdWRlIDxFdmFzX0dMLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KQEAgLTU2LDQgKzU3LDUgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
KyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAjZW5kaWYgLy8gRXZhc0dM
Q29udGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
dmFzR0xTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNH
TFN1cmZhY2UuY3BwCmluZGV4IDE2MzAxY2EuLmM3ZWMxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuY3BwCkBAIC0yNCw2ICsyNCw4
IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKKwogI2luY2x1ZGUgIkV2YXNHTFN1cmZhY2UuaCIKIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC00MiwzICs0NCw0IEBAIEV2YXNHTFN1cmZhY2U6On5FdmFzR0xTdXJmYWNlKCkKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuaAppbmRleCBkYTc2YjFjLi5mNmZiMmI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5o
CkBAIC0yNSw2ICsyNSw3IEBACiAKICNpZm5kZWYgRXZhc0dMU3VyZmFjZV9oCiAjZGVmaW5lIEV2
YXNHTFN1cmZhY2VfaAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2luY2x1
ZGUgPEV2YXNfR0wuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFNpemUuaD4KQEAgLTY0LDQgKzY1
LDUgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAjZW5kaWYgLy8gRXZhc0dMU3VyZmFjZV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGNhMzRhZWQu
LmJjOTFjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwCkBAIC02NCw3ICs2NCw5IEBACiAjaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgogI2luY2x1ZGUg
PEVjb3JlX1guaD4KICNpbmNsdWRlIDxFZGplLmg+CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogI2luY2x1ZGUgPEV2YXNfR0wuaD4KKyNlbmRpZgogI2luY2x1ZGUgPFdlYkNvcmUv
Q2Fpcm9VdGlsaXRpZXNFZmwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUGxhdGZvcm1Db250ZXh0Q2Fpcm8uaD4KQEAgLTI2Myw4ICsyNjUsMTAgQEAg
RXdrVmlldzo6RXdrVmlldyhXS1ZpZXdSZWYgdmlldywgRXZhc19PYmplY3QqIGV2YXNPYmplY3Qp
CiAjZW5kaWYKICAgICAsIG1fZGlzcGxheVRpbWVyKHRoaXMsICZFd2tWaWV3OjpkaXNwbGF5VGlt
ZXJGaXJlZCkKICAgICAsIG1faW5wdXRNZXRob2RDb250ZXh0KElucHV0TWV0aG9kQ29udGV4dEVm
bDo6Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgpLT5iYXNlLmV2YXMpKQorI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICAsIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudChQ
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX3Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIoYWRvcHRQdHIobmV3IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXIo
cGFnZSgpLCBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuZ2V0KCkpKSkKKyNlbmRpZgog
ICAgICwgbV9pc0FjY2VsZXJhdGVkKHRydWUpCiB7CiAgICAgQVNTRVJUKG1fZXZhc09iamVjdCk7
CkBAIC0yNzIsNyArMjc2LDcgQEAgRXdrVmlldzo6RXdrVmlldyhXS1ZpZXdSZWYgdmlldywgRXZh
c19PYmplY3QqIGV2YXNPYmplY3QpCiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gcG9zc2li
bGUuCiAgICAgd2ViVmlldygpLT5zZXRFd2tWaWV3KHRoaXMpOwotCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgIG1fZXZhc0dMID0gYWRvcHRQdHIoZXZhc19nbF9uZXcoZXZh
c19vYmplY3RfZXZhc19nZXQobV9ldmFzT2JqZWN0KSkpOwogICAgIGlmIChtX2V2YXNHTCkKICAg
ICAgICAgbV9ldmFzR0xDb250ZXh0ID0gRXZhc0dMQ29udGV4dDo6Y3JlYXRlKG1fZXZhc0dMLmdl
dCgpKTsKQEAgLTI4MSwxMyArMjg1LDE0IEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZp
ZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQogICAgICAgICBXQVJOKCJGYWlsZWQgdG8gY3Jl
YXRlIEV2YXNfR0wsIGZhbGxpbmcgYmFjayB0byBzb2Z0d2FyZSBtb2RlLiIpOwogICAgICAgICBt
X2lzQWNjZWxlcmF0ZWQgPSBmYWxzZTsKICAgICB9Ci0KKyNlbmRpZgogICAgIFdLVmlld0luaXRp
YWxpemUod2tWaWV3KCkpOwogCiAgICAgV0tQYWdlR3JvdXBSZWYgd2tQYWdlR3JvdXAgPSBXS1Bh
Z2VHZXRQYWdlR3JvdXAod2tQYWdlKCkpOwogICAgIFdLUHJlZmVyZW5jZXNSZWYgd2tQcmVmZXJl
bmNlcyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMod2tQYWdlR3JvdXApOwotCisjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIFdLUHJlZmVyZW5jZXNTZXRXZWJHTEVuYWJs
ZWQod2tQcmVmZXJlbmNlcywgdHJ1ZSk7CisjZW5kaWYKICAgICBXS1ByZWZlcmVuY2VzU2V0RnVs
bFNjcmVlbkVuYWJsZWQod2tQcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1Nl
dFdlYkF1ZGlvRW5hYmxlZCh3a1ByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2Vz
U2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHdrUHJlZmVyZW5jZXMsIHRydWUp
OwpAQCAtNTMzLDEwICs1MzgsMTEgQEAgdm9pZCBFd2tWaWV3OjpkaXNwbGF5VGltZXJGaXJlZChU
aW1lcjxFd2tWaWV3PiopCiAgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QgPSBzbWFydERhdGEo
KTsKIAogICAgIGlmIChtX3BlbmRpbmdTdXJmYWNlUmVzaXplKSB7CisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgICAgICAvLyBDcmVhdGUgYSBHTCBzdXJmYWNlIGhlcmUgc28g
dGhhdCBFdmFzIGhhcyBubyBjaGFuY2Ugb2YgcGFpbnRpbmcgdG8gYW4gZW1wdHkgR0wgc3VyZmFj
ZS4KICAgICAgICAgaWYgKCFjcmVhdGVHTFN1cmZhY2UoKSkKICAgICAgICAgICAgIHJldHVybjsK
LQorI2VuZGlmCiAgICAgICAgIG1fcGVuZGluZ1N1cmZhY2VSZXNpemUgPSBmYWxzZTsKICAgICB9
CiAKQEAgLTU0OSwxMSArNTU1LDExIEBAIHZvaWQgRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQo
VGltZXI8RXdrVmlldz4qKQogICAgICAgICBldmFzX29iamVjdF9pbWFnZV9kYXRhX3VwZGF0ZV9h
ZGQoc2QtPmltYWdlLCAwLCAwLCBzZC0+dmlldy53LCBzZC0+dmlldy5oKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBldmFz
X2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNl
KCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKIAogICAgIFdLVmlld1BhaW50VG9DdXJy
ZW50R0xDb250ZXh0KHdrVmlldygpKTsKLQorI2VuZGlmCiAgICAgLy8gc2QtPmltYWdlIGlzIHRp
ZWQgdG8gYSBuYXRpdmUgc3VyZmFjZSwgd2hpY2ggaXMgaW4gdGhlIHBhcmVudCdzIGNvb3JkaW5h
dGVzLgogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChzZC0+aW1hZ2UsIHNk
LT52aWV3LngsIHNkLT52aWV3LnksIHNkLT52aWV3LncsIHNkLT52aWV3LmgpOwogfQpAQCAtNzMz
LDYgKzczOSw3IEBAIHZvaWQgRXdrVmlldzo6c2V0VG91Y2hFdmVudHNFbmFibGVkKGJvb2wgZW5h
YmxlZCkKIH0KICNlbmRpZgogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogYm9v
bCBFd2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UoKQogewogICAgIGlmICghbV9pc0FjY2VsZXJhdGVk
KQpAQCAtNzY2LDYgKzc3Myw3IEBAIGJvb2wgRXdrVmlldzo6Y3JlYXRlR0xTdXJmYWNlKCkKIAog
ICAgIHJldHVybiB0cnVlOwogfQorI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xP
UikKIC8qKgpAQCAtMTI4MywxNSArMTI5MSwxNiBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2Vf
dD4gRXdrVmlldzo6dGFrZVNuYXBzaG90KCkKICAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJh
dGUoKTsKIAogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7Ci0gICAg
aWYgKCFtX2lzQWNjZWxlcmF0ZWQpIHsKLSAgICAgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4g
c25hcHNob3QgPSBjcmVhdGVTdXJmYWNlRm9ySW1hZ2Uoc2QtPmltYWdlKTsKKyNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgaWYgKG1faXNBY2NlbGVyYXRlZCkgeworICAgICAg
ICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGdldEltYWdlU3VyZmFjZUZyb21G
cmFtZUJ1ZmZlcigwLCAwLCBzZC0+dmlldy53LCBzZC0+dmlldy5oKTsKICAgICAgICAgLy8gUmVz
dW1lIGFsbCBhbmltYXRpb25zLgogICAgICAgICBXS1ZpZXdSZXN1bWVBY3RpdmVET01PYmplY3Rz
QW5kQW5pbWF0aW9ucyh3a1ZpZXcoKSk7CiAKICAgICAgICAgcmV0dXJuIHNuYXBzaG90LnJlbGVh
c2UoKTsKICAgICB9Ci0KLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGdl
dEltYWdlU3VyZmFjZUZyb21GcmFtZUJ1ZmZlcigwLCAwLCBzZC0+dmlldy53LCBzZC0+dmlldy5o
KTsKKyNlbmRpZgorICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHNuYXBzaG90ID0gY3JlYXRl
U3VyZmFjZUZvckltYWdlKHNkLT5pbWFnZSk7CiAgICAgLy8gUmVzdW1lIGFsbCBhbmltYXRpb25z
LgogICAgIFdLVmlld1Jlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKHdrVmlldygp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCmluZGV4IDI2
MDk4YWEuLjY2M2FjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmgKQEAgLTYyLDggKzYyLDEwIEBAIGNsYXNzIFBhZ2VMb2FkQ2xpZW50RWZsOwogY2xhc3Mg
UGFnZVBvbGljeUNsaWVudEVmbDsKIGNsYXNzIFBhZ2VVSUNsaWVudEVmbDsKIGNsYXNzIFZpZXdD
bGllbnRFZmw7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogY2xhc3MgUGFnZVZp
ZXdwb3J0Q29udHJvbGxlcjsKIGNsYXNzIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmw7
CisjZW5kaWYKIGNsYXNzIFdlYkNvbnRleHRNZW51SXRlbURhdGE7CiBjbGFzcyBXZWJDb250ZXh0
TWVudVByb3h5RWZsOwogY2xhc3MgV2ViUGFnZUdyb3VwOwpAQCAtOTIsOCArOTQsMTAgQEAgY2xh
c3MgRXdrUG9wdXBNZW51OwogY2xhc3MgRXdrU2V0dGluZ3M7CiBjbGFzcyBFd2tXaW5kb3dGZWF0
dXJlczsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHR5cGVkZWYgc3RydWN0
IF9FdmFzX0dMX0NvbnRleHQgRXZhc19HTF9Db250ZXh0OwogdHlwZWRlZiBzdHJ1Y3QgX0V2YXNf
R0xfU3VyZmFjZSBFdmFzX0dMX1N1cmZhY2U7CisjZW5kaWYKIAogdHlwZWRlZiBzdHJ1Y3QgRXdr
X1ZpZXdfU21hcnRfRGF0YSBFd2tfVmlld19TbWFydF9EYXRhOwogdHlwZWRlZiBzdHJ1Y3QgRXdr
X1ZpZXdfU21hcnRfQ2xhc3MgRXdrX1ZpZXdfU21hcnRfQ2xhc3M7CkBAIC0xMTcsOCArMTIxLDkg
QEAgcHVibGljOgogICAgIEV3a1NldHRpbmdzKiBzZXR0aW5ncygpIHsgcmV0dXJuIG1fc2V0dGlu
Z3MuZ2V0KCk7IH0KICAgICBFd2tCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCgpIHsg
cmV0dXJuIG1fYmFja0ZvcndhcmRMaXN0LmdldCgpOyB9CiAgICAgRXdrV2luZG93RmVhdHVyZXMq
IHdpbmRvd0ZlYXR1cmVzKCk7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlciogcGFnZVZpZXdwb3J0Q29udHJvbGxlcigp
IHsgcmV0dXJuIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlci5nZXQoKTsgfQotCisjZW5kaWYKICAg
ICBib29sIGlzRm9jdXNlZCgpIGNvbnN0OwogICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3Q7CiAK
QEAgLTE1Niw4ICsxNjEsOSBAQCBwdWJsaWM6CiAKICAgICBXS1JlY3Qgd2luZG93R2VvbWV0cnko
KSBjb25zdDsKICAgICB2b2lkIHNldFdpbmRvd0dlb21ldHJ5KGNvbnN0IFdLUmVjdCYpOwotCisj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wgY3JlYXRlR0xTdXJmYWNl
KCk7CisjZW5kaWYKICAgICB2b2lkIHNldE5lZWRzU3VyZmFjZVJlc2l6ZSgpIHsgbV9wZW5kaW5n
U3VyZmFjZVJlc2l6ZSA9IHRydWU7IH0KIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpA
QCAtMjQ4LDkgKzI1NCwxMSBAQCBwcml2YXRlOgogICAgIEV2YXNfT2JqZWN0KiBtX2V2YXNPYmpl
Y3Q7CiAgICAgUmVmUHRyPEV3a0NvbnRleHQ+IG1fY29udGV4dDsKICAgICBSZWZQdHI8RXdrUGFn
ZUdyb3VwPiBtX3BhZ2VHcm91cDsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAg
ICAgT3duUHRyPEV2YXNfR0w+IG1fZXZhc0dMOwogICAgIE93blB0cjxXZWJLaXQ6OkV2YXNHTENv
bnRleHQ+IG1fZXZhc0dMQ29udGV4dDsKICAgICBPd25QdHI8V2ViS2l0OjpFdmFzR0xTdXJmYWNl
PiBtX2V2YXNHTFN1cmZhY2U7CisjZW5kaWYKICAgICBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBtX3VzZXJWaWV3cG9ydFRyYW5zZm9ybTsKICAgICBib29sIG1fcGVuZGluZ1N1cmZhY2VS
ZXNpemU7CiAgICAgT3duUHRyPFdlYktpdDo6UGFnZUxvYWRDbGllbnRFZmw+IG1fcGFnZUxvYWRD
bGllbnQ7CkBAIC0yODQsOCArMjkyLDEwIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKElOUFVUX1RZ
UEVfQ09MT1IpCiAgICAgT3duUHRyPEV3a0NvbG9yUGlja2VyPiBtX2NvbG9yUGlja2VyOwogI2Vu
ZGlmCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIE93blB0cjxXZWJLaXQ6
OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmw+IG1fcGFnZVZpZXdwb3J0Q29udHJvbGxl
ckNsaWVudDsKICAgICBPd25QdHI8V2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyPiBtX3Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXI7CisjZW5kaWYKICAgICBib29sIG1faXNBY2NlbGVyYXRlZDsK
IAogICAgIHN0YXRpYyBFdmFzX1NtYXJ0X0NsYXNzIHBhcmVudFNtYXJ0Q2xhc3M7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmNwcApp
bmRleCBlZmQyNjE5Li44ZTBiOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHAKQEAgLTI0LDYgKzI0LDkgQEAKICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
KwogI2luY2x1ZGUgIlNuYXBzaG90SW1hZ2VHTC5oIgogCiAjaWYgVVNFKE9QRU5HTF9FU18yKQpA
QCAtNzAsMyArNzMsNCBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gZ2V0SW1hZ2VTdXJm
YWNlRnJvbUZyYW1lQnVmZmVyKGludCB4LCBpbnQgeSwgaW50IHdpZAogICAgIGNhaXJvX3N1cmZh
Y2VfbWFya19kaXJ0eShuZXdTdXJmYWNlLmdldCgpKTsKICAgICByZXR1cm4gbmV3U3VyZmFjZTsK
IH0KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
U25hcHNob3RJbWFnZUdMLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFw
c2hvdEltYWdlR0wuaAppbmRleCBhYmNkNzg3Li42OGMxNDI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuaApAQCAtMjYsOSArMjYs
MTIgQEAKICNpZm5kZWYgU25hcHNob3RJbWFnZUdMX2gKICNkZWZpbmUgU25hcHNob3RJbWFnZUdM
X2gKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2luY2x1ZGUgPFJlZlB0
ckNhaXJvLmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAKIFBhc3NSZWZQdHI8Y2Fp
cm9fc3VyZmFjZV90PiBnZXRJbWFnZVN1cmZhY2VGcm9tRnJhbWVCdWZmZXIoaW50IHgsIGludCB5
LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogCisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQogI2VuZGlmIC8vIFNuYXBzaG90SW1hZ2VHTF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKaW5kZXggZTExNTZh
Yi4uNTYwMTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmll
d3BvcnRDb250cm9sbGVyLmNwcApAQCAtMjAsOSArMjAsOSBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyLmgiCiAKLSNpZiBVU0Uo
VElMRURfQkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisj
aW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIgogCiAjaW5jbHVkZSAiUGFnZVZpZXdw
b3J0Q29udHJvbGxlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgKaW5kZXgg
MzE2NGVmZC4uYjg5NzNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZVZpZXdwb3J0Q29udHJvbGxlci5oCkBAIC0yMiw2ICsyMiw4IEBACiAjaWZuZGVmIFBhZ2VWaWV3
cG9ydENvbnRyb2xsZXJfaAogI2RlZmluZSBQYWdlVmlld3BvcnRDb250cm9sbGVyX2gKIAorI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKwogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRQ
b2ludC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9GbG9hdFNpemUuaD4KQEAgLTExMCw0ICsxMTIsNSBAQCBib29sIGZ1enp5Q29tcGFyZShmbG9h
dCwgZmxvYXQsIGZsb2F0IGVwc2lsb24pOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2Vu
ZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICNlbmRpZiAvLyBQYWdlVmlld3Bv
cnRDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwCmluZGV4IDgxZTBh
MTkuLjI5NTJkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFn
ZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsLmNwcApAQCAtMjUsNiAr
MjUsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKKwogI2luY2x1ZGUgIlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRF
ZmwuaCIKIAogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKQEAgLTc3LDMgKzgwLDQgQEAgdm9pZCBQYWdl
Vmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpzZXRDb250cm9sbGVyKFBhZ2VWaWV3cG9ydENv
bnRyb2xsZXIqIGNvbnQKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisjZW5kaWYgLy8gVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVmlld0NsaWVudEVmbC5jcHAKaW5kZXggZDllYmIzMi4uNTJiM2RiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCkBAIC00OSw3ICs0OSwx
MSBAQCB2b2lkIFZpZXdDbGllbnRFZmw6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShXS1ZpZXdSZWYs
IFdLU2l6ZSBzaXplLCBjb25zdCB2b2lkKiBjbAogewogICAgIEV3a1ZpZXcqIGV3a1ZpZXcgPSB0
b0V3a1ZpZXcoY2xpZW50SW5mbyk7CiAgICAgaWYgKFdLUGFnZVVzZUZpeGVkTGF5b3V0KGV3a1Zp
ZXctPndrUGFnZSgpKSkKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAg
IGV3a1ZpZXctPnBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoKS0+ZGlkQ2hhbmdlQ29udGVudHNTaXpl
KHRvSW50U2l6ZShzaXplKSk7CisjZWxzZQorICAgICAgICB7IH0KKyNlbmRpZgogICAgIGVsc2UK
ICAgICAgICAgZXdrVmlldy0+c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCmluZGV4IGI1OWQ0NDEuLmFmNGM5YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcApAQCAtMjA3LDcgKzIwNyw5IEBA
IHZvaWQgV2ViVmlldzo6aW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS1ZpZXdDbGllbnQqIGNsaWVu
dCkKIHZvaWQgV2ViVmlldzo6ZGlkQ29tbWl0TG9hZCgpCiB7CiAgICAgaWYgKG1fcGFnZS0+dXNl
Rml4ZWRMYXlvdXQoKSkgeworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAg
ICAgbV9ld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPmRpZENvbW1pdExvYWQoKTsK
KyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmlldy0+c2NoZWR1bGVV
cGRhdGVEaXNwbGF5KCk7CkBAIC01MTYsNyArNTE4LDkgQEAgRmxvYXRSZWN0IFdlYlZpZXc6OmNv
bnZlcnRUb1VzZXJTcGFjZShjb25zdCBGbG9hdFJlY3QmIGRldmljZVJlY3QpCiB2b2lkIFdlYlZp
ZXc6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0
dHJpYnV0ZXMmIGF0dHIpCiB7CiAgICAgaWYgKG1fcGFnZS0+dXNlRml4ZWRMYXlvdXQoKSkgewor
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAgICAgbV9ld2tWaWV3LT5wYWdl
Vmlld3BvcnRDb250cm9sbGVyKCktPmRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhhdHRyKTsK
KyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmlldy0+c2NoZWR1bGVV
cGRhdGVEaXNwbGF5KCk7CkBAIC01MjQsOCArNTI4LDEwIEBAIHZvaWQgV2ViVmlldzo6ZGlkQ2hh
bmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYg
YXR0CiAKIHZvaWQgV2ViVmlldzo6cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgSW50UG9pbnQm
IHBvc2l0aW9uKQogewotICAgIGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsgICAgICAg
IAorICAgIGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsKKyNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAgICAgICAgIG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxl
cigpLT5wYWdlRGlkUmVxdWVzdFNjcm9sbChwb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBGbG9hdFBvaW50IHVpUG9zaXRpb24ocG9zaXRpb24pOwpAQCAtNTM3
LDcgKzU0Myw5IEBAIHZvaWQgV2ViVmlldzo6cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uKQogdm9pZCBXZWJWaWV3OjpkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVy
ZWRSZWN0KQogewogICAgIGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsKKyNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0
Q29udHJvbGxlcigpLT5kaWRSZW5kZXJGcmFtZShjb250ZW50c1NpemUsIGNvdmVyZWRSZWN0KTsK
KyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXdrVmlldy0+c2NoZWR1bGVV
cGRhdGVEaXNwbGF5KCk7CkBAIC01NDYsNyArNTU0LDkgQEAgdm9pZCBXZWJWaWV3OjpkaWRSZW5k
ZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNv
cmUKIHZvaWQgV2ViVmlldzo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkKIHsKICAgICBp
ZiAobV9wYWdlLT51c2VGaXhlZExheW91dCgpKSB7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgICAgICBtX2V3a1ZpZXctPnBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoKS0+cGFn
ZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBtX2V3a1ZpZXctPnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZQppbmRleCBmMTEwZDIxLi44OGVjZmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTc1
LDYgKzE3NSwyNiBAQCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAg
ZmluZF9wYWNrYWdlKEdTdHJlYW1lciBSRVFVSVJFRCBDT01QT05FTlRTICR7R1NUUkVBTUVSX0NP
TVBPTkVOVFN9KQogZW5kaWYgKCkKIAoraWYgKFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkK
KyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HPTEp
CisKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTPTEp
CisKKyAgICBzZXQoV1RGX1VTRV9URVhUVVJFX01BUFBFUiAxKQorICAgIGFkZF9kZWZpbml0aW9u
cygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVI9MSkKKworICAgIHNldChXVEZfVVNFXzNEX0dSQVBI
SUNTIDEpCisgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV8zRF9HUkFQSElDUz0xKQorCisg
ICAgc2V0KEVOQUJMRV8zRF9SRU5ERVJJTkcgMSkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURFTkFC
TEVfM0RfUkVOREVSSU5HPTEpCitlbHNlICgpCisgICAgIyBEaXNhYmxlIDNEIGdyYXBoaWNzIGFu
ZCBXRUJHTCBpZiB0aWxlZCBiYWNraW5nIGlzIGRpc2FibGVkCisgICAgc2V0KEVOQUJMRV9XRUJH
TCAwKQorICAgIHNldChXVEZfVVNFXzNEX0dSQVBISUNTIDApCisgICAgYWRkX2RlZmluaXRpb25z
KC1EV1RGX1VTRV8zRF9HUkFQSElDUz0wKQorZW5kaWYgKCkKKwogaWYgKEVOQUJMRV9XRUJHTCBP
UiBXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgZmluZF9wYWNrYWdlKE9wZW5HTCBS
RVFVSVJFRCkKICAgICBDSEVDS19JTkNMVURFX0ZJTEVTKCJHTC9nbHguaCIgT1BFTkdMWF9GT1VO
RCkKQEAgLTIzMCwyMSArMjUwLDYgQEAgaWYgKENNQUtFX0JVSUxEX1RZUEUgU1RSRVFVQUwgcmVs
ZWFzZSBBTkQgQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MgQU5EIFVOSVggQU5EIE4KICAgICBzZXQo
Q01BS0VfU0hBUkVEX0xJTktFUl9GTEFHUyAiLVdsLC0tZ2Mtc2VjdGlvbnMgJHtDTUFLRV9TSEFS
RURfTElOS0VSX0ZMQUdTfSIpCiBlbmRpZiAoKQogCi1pZiAoV1RGX1VTRV9USUxFRF9CQUNLSU5H
X1NUT1JFKQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9T
SVRJTkc9MSkKLQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQ09PUkRJTkFURURfR1JB
UEhJQ1M9MSkKLQotICAgIHNldChXVEZfVVNFX1RFWFRVUkVfTUFQUEVSIDEpCi0gICAgYWRkX2Rl
ZmluaXRpb25zKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUj0xKQotCi0gICAgc2V0KFdURl9VU0Vf
M0RfR1JBUEhJQ1MgMSkKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFXzNEX0dSQVBISUNT
PTEpCi0KLSAgICBzZXQoRU5BQkxFXzNEX1JFTkRFUklORyAxKQotICAgIGFkZF9kZWZpbml0aW9u
cygtREVOQUJMRV8zRF9SRU5ERVJJTkc9MSkKLWVuZGlmICgpCi0KIGlmIChFTkFCTEVfV0VCR0wp
CiAgICAgc2V0KEVOQUJMRV9XRUJHTCAxKQogICAgIGlmIChVU0VfR1JBUEhJQ1NfU1VSRkFDRSkK
</data>
<flag name="review"
          id="218625"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="218771"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196665</attachid>
            <date>2013-04-05 12:19:35 -0700</date>
            <delta_ts>2013-04-05 13:28:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.113627</filename>
            <type>text/plain</type>
            <size>25993</size>
            <attacher name="Ed Bartosh">bartosh</attacher>
            
              <data encoding="base64">Y29tbWl0IDg3Njc2NTc2ZjJiZjJhNGU4NzFmMGYxNWEyYmNjNWY4ZWVmYzFkNjIKQXV0aG9yOiBF
ZCBCYXJ0b3NoIDxiYXJ0b3NoQGdtYWlsLmNvbT4KRGF0ZTogICBTYXQgTWFyIDMwIDEzOjQ0OjMx
IDIwMTMgKzAyMDAKCiAgICBGaXhlZCAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQKICAg
IAogICAgV3JhcHBlZCBjb2RlIHdpdGggI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykg
dG8gbWFrZSBpdCBjb21waWxhYmxlCiAgICB3aXRoIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBi
dWlsZCBvcHRpb24KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRWQgQmFydG9zaCA8YmFydG9zaEBn
bWFpbC5jb20+CgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDJkMDJm
MTMuLjg4NThmMjIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wMy0yOSAgRWQgQmFydG9zaCAgPGJhcnRvc2hAZ21haWwuY29tPgor
CisgICAgICAgIFtFRkxdIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBmYWlscyBiZWNh
dXNlIG9mIG5vdCB1c2VkICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlOiBEaXNhYmxlZCAzRF9HUkFQSElDUyBhbmQgV0VCX0dMIHdoZW4gYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgb24KKwogMjAxMy0wNC0wNSAgUmlqdWJyYXRhIEJoYXVt
aWsgIDxyaWp1YnJhdGEuYmhhdW1pa0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRW5hYmxl
IGluZGV4ZWQgZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMGYxMjU2Li5hMDJhY2M0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTMtMDMtMjkgIEVkIEJhcnRvc2ggIDxiYXJ0b3NoQGdt
YWlsLmNvbT4KKworICAgICAgICBbRUZMXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVpbGQg
ZmFpbHMgYmVjYXVzZSBvZiBub3QgdXNlZCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICBXcmFwcGVk
IGNvZGUgd2l0aCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSB0byBtYWtlIGl0IGNv
bXBpbGFibGUKKyAgICAgICB3aXRoIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBvcHRp
b246CisgICAgICAgICogcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW1wbGljaXRBbmltYXRpb246OmFuaW1hdGUpOgorICAgICAgICAqIHBh
Z2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oktl
eWZyYW1lQW5pbWF0aW9uOjphbmltYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9U
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5jcHA6CisgICAgICAgIChOdWxsVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uLmg6CisgICAgICAgIChUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNl
dFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0SGVh
ZGVySGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0Rm9vdGVySGVpZ2h0
KToKKwogMjAxMy0wNC0wNSAgU2Vva2p1IEt3b24gIDxzZW9ranUua3dvbkBnbWFpbC5jb20+CiAK
ICAgICAgICAgW1NPVVBdIFJlbW92ZSB1bm5lY2Vzc2FyeSBleHBsaWNpdCBrZXl3b3JkIGluIFNv
Y2tldFN0cmVhbUVycm9yLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0ltcGxpY2l0QW5pbWF0aW9uLmNwcAppbmRleCAzN2EyZjcyLi4yNTQxNTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCkBA
IC03OCwxMCArNzgsMTAgQEAgdm9pZCBJbXBsaWNpdEFuaW1hdGlvbjo6YW5pbWF0ZShDb21wb3Np
dGVBbmltYXRpb24qLCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXIKICAgICBpZiAoIWFuaW1h
dGVkU3R5bGUpCiAgICAgICAgIGFuaW1hdGVkU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUodGFy
Z2V0U3R5bGUpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wg
bmVlZHNBbmltID0gQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCBt
X2FuaW1hdGluZ1Byb3BlcnR5LCBhbmltYXRlZFN0eWxlLmdldCgpLCBtX2Zyb21TdHlsZS5nZXQo
KSwgbV90b1N0eWxlLmdldCgpLCBwcm9ncmVzcygxLCAwLCAwKSk7CiAgICAgLy8gRklYTUU6IHdl
IGFsc28gbmVlZCB0byBkZXRlY3QgY2FzZXMgd2hlcmUgd2UgaGF2ZSB0byBzb2Z0d2FyZSBhbmlt
YXRlIGZvciBvdGhlciByZWFzb25zLAogICAgIC8vIHN1Y2ggYXMgYSBjaGlsZCB1c2luZyBpbmhl
cml0aW5nIHRoZSB0cmFuc2Zvcm0uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkwMgotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAoIW5l
ZWRzQW5pbSkKICAgICAgICAgLy8gSWYgd2UgYXJlIHJ1bm5pbmcgYW4gYWNjZWxlcmF0ZWQgYW5p
bWF0aW9uLCBzZXQgYSBmbGFnIGluIHRoZSBzdHlsZSB3aGljaCBjYXVzZXMgdGhlIHN0eWxlCiAg
ICAgICAgIC8vIHRvIGNvbXBhcmUgYXMgZGlmZmVyZW50IHRvIGFueSBvdGhlciBzdHlsZS4gVGhp
cyBlbnN1cmVzIHRoYXQgY2hhbmdlcyB0byB0aGUgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAppbmRleCAwNDI1YTUy
Li41MzhlZjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlm
cmFtZUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uY3BwCkBAIC0xODUsOSArMTg1LDggQEAgdm9pZCBLZXlmcmFtZUFuaW1h
dGlvbjo6YW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJPYmplY3QqLCBjb25zdCBS
ZW5kZXIKICAgICAgICAgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUgPSAwOwogICAgICAgICBk
b3VibGUgcHJvZ3Jlc3MgPSAwLjA7CiAgICAgICAgIGZldGNoSW50ZXJ2YWxFbmRwb2ludHNGb3JQ
cm9wZXJ0eSgqaXQsIGZyb21TdHlsZSwgdG9TdHlsZSwgcHJvZ3Jlc3MpOwotICAgIAotICAgICAg
ICBib29sIG5lZWRzQW5pbSA9IENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMo
dGhpcywgKml0LCBhbmltYXRlZFN0eWxlLmdldCgpLCBmcm9tU3R5bGUsIHRvU3R5bGUsIHByb2dy
ZXNzKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAgIGJvb2wgbmVl
ZHNBbmltID0gQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCAqaXQs
IGFuaW1hdGVkU3R5bGUuZ2V0KCksIGZyb21TdHlsZSwgdG9TdHlsZSwgcHJvZ3Jlc3MpOwogICAg
ICAgICBpZiAoIW5lZWRzQW5pbSkKICAgICAgICAgICAgIC8vIElmIHdlIGFyZSBydW5uaW5nIGFu
IGFjY2VsZXJhdGVkIGFuaW1hdGlvbiwgc2V0IGEgZmxhZyBpbiB0aGUgc3R5bGUKICAgICAgICAg
ICAgIC8vIHRvIGluZGljYXRlIGl0LiBUaGlzIGNhbiBiZSB1c2VkIHRvIG1ha2Ugc3VyZSB3ZSBn
ZXQgYW4gdXBkYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwCmluZGV4IDNjMzQyM2IuLjY4ZTRj
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5jcHAKQEAgLTM1LDcgKzM1LDkgQEAgY2xhc3MgTnVs
bFRleHRUcmFja1JlcHJlc2VudGF0aW9uIDogcHVibGljIFRleHRUcmFja1JlcHJlc2VudGF0aW9u
IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5OdWxsVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKCkgeyB9CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIHsg
cmV0dXJuIDA7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50U2NhbGUoZmxv
YXQpIHsgfQogICAgIHZpcnR1YWwgSW50UmVjdCBib3VuZHMoKSBjb25zdCB7IHJldHVybiBJbnRS
ZWN0KCk7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCAyYTRmNTI3Li42MzkyM2JjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRU
cmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTUyLDcgKzUyLDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgflRleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlKCkgPSAwOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFs
IFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSA9IDA7CisjZW5kaWYKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udGVudFNjYWxlKGZsb2F0KSA9IDA7CiAgICAgdmlydHVhbCBJbnRSZWN0IGJv
dW5kcygpIGNvbnN0ID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggMzg2M2NjZC4uYmJhMDk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApA
QCAtMjU5LDEwICsyNTksMTQgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoUGFnZSogcGFnZSkKIAogICAgIHBhZ2UtPnNldFBhZ2VTY2FsZUZhY3RvcigxLCBJbnRQb2lu
dCgwLCAwKSk7CiAgICAgcGFnZS0+c2V0UGFnaW5hdGlvbihQYWdpbmF0aW9uKCkpOwotICAgIGlm
IChGcmFtZVZpZXcqIG1haW5GcmFtZVZpZXcgPSBwYWdlLT5tYWluRnJhbWUoKS0+dmlldygpKSB7
CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgRnJhbWVWaWV3KiBtYWlu
RnJhbWVWaWV3ID0gcGFnZS0+bWFpbkZyYW1lKCktPnZpZXcoKTsKKyAgICBpZiAobWFpbkZyYW1l
VmlldykgewogICAgICAgICBtYWluRnJhbWVWaWV3LT5zZXRIZWFkZXJIZWlnaHQoMCk7CiAgICAg
ICAgIG1haW5GcmFtZVZpZXctPnNldEZvb3RlckhlaWdodCgwKTsKICAgICB9CisjZW5kaWYKICAg
ICBUZXh0UnVuOjpzZXRBbGxvd3NSb3VuZGluZ0hhY2tzKGZhbHNlKTsKICAgICBXZWJDb3JlOjpv
dmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoVmVjdG9yPFN0cmluZz4oKSk7CiAgICAgV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyhmYWxzZSk7CkBAIC0xODUw
LDE4ICsxODU0LDIwIEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRIZWFkZXJIZWlnaHQoRG9jdW1lbnQq
IGRvY3VtZW50LCBmbG9hdCBoZWlnaHQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1l
bnQtPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwotCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKICAg
ICBmcmFtZVZpZXctPnNldEhlYWRlckhlaWdodChoZWlnaHQpOworI2VuZGlmCiB9CiAKIHZvaWQg
SW50ZXJuYWxzOjpzZXRGb290ZXJIZWlnaHQoRG9jdW1lbnQqIGRvY3VtZW50LCBmbG9hdCBoZWln
aHQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkKICAgICAgICAg
cmV0dXJuOwotCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIEZyYW1lVmll
dyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKICAgICBmcmFtZVZpZXctPnNldEZvb3Rl
ckhlaWdodChoZWlnaHQpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggOWQ1NzBlOS4uNDA1ZTM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDEzLTAzLTI5ICBFZCBCYXJ0b3NoICA8YmFydG9zaEBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0VGTF0gLS1uby10aWxlZC1iYWNraW5nLXN0b3JlIGJ1aWxkIGZhaWxzIGJlY2F1c2Ugb2Yg
bm90IHVzZWQgI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdyYXBwZWQgY29kZSB3aXRoICNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpIHRvIG1ha2UgaXQgY29tcGlsYWJsZQorICAgICAg
ICB3aXRoIC0tbm8tdGlsZWQtYmFja2luZy1zdG9yZSBidWlsZCBvcHRpb246CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL0V2YXNHTENvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V2YXNH
TENvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpFd2tW
aWV3KToKKyAgICAgICAgKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKEV3
a1ZpZXc6OnRha2VTbmFwc2hvdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEV3a1ZpZXcpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHA6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250
cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXc6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1cGRh
dGVWaWV3cG9ydFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3
cG9ydFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpwYWdlRGlkUmVxdWVz
dFNjcm9sbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZFJlbmRlckZyYW1lKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlldzo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KToKKwog
MjAxMy0wNC0wNSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWxsb3cgdGhlIFdlYiBJbnNwZWN0b3IgdG8gdXNlIFdlYlNRTC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcAppbmRleCA1ZGJjMzFlLi5mODY3NDEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCkBA
IC0xMDcsMTAgKzEwNywxMiBAQCBXS1BvaW50IFdLVmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMo
V0tWaWV3UmVmIHZpZXdSZWYsIFdLUG9pbnQgcG9pbnQpCiAgICAgcmV0dXJuIFdLUG9pbnRNYWtl
KHJlc3VsdC54KCksIHJlc3VsdC55KCkpOwogfQogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogdm9pZCBXS1ZpZXdQYWludFRvQ3VycmVudEdMQ29udGV4dChXS1ZpZXdSZWYgdmll
d1JlZikKIHsKICAgICB0b0ltcGwodmlld1JlZiktPnBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7
CiB9CisjZW5kaWYKIAogdm9pZCBXS1ZpZXdQYWludFRvQ2Fpcm9TdXJmYWNlKFdLVmlld1JlZiB2
aWV3UmVmLCBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwCmluZGV4IDgxOThkNjEuLjg2
MmRkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNH
TENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNH
TENvbnRleHQuY3BwCkBAIC0yNCw2ICsyNCw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorCiAjaW5jbHVkZSAiRXZhc0dM
Q29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQyLDMgKzQ1LDQgQEAgRXZhc0dM
Q29udGV4dDo6fkV2YXNHTENvbnRleHQoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dM
Q29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4
dC5oCmluZGV4IDg4NjE1OWIuLjJlZjczNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2lmbmRl
ZiBFdmFzR0xDb250ZXh0X2gKICNkZWZpbmUgRXZhc0dMQ29udGV4dF9oCisjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogCiAjaW5jbHVkZSA8RXZhc19HTC5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CkBAIC01Niw0ICs1Nyw1IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogI2Vu
ZGlmIC8vIEV2YXNHTENvbnRleHRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNwcAppbmRleCAxNjMwMWNhLi5jN2VjMTNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmNwcApA
QCAtMjQsNiArMjQsOCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJFdmFzR0xTdXJmYWNlLmgiCiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsMyArNDQsNCBAQCBFdmFzR0xTdXJmYWNlOjp+RXZhc0dM
U3VyZmFjZSgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmgKaW5kZXggZGE3NmIx
Yy4uZjZmYjJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXZhc0dMU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2
YXNHTFN1cmZhY2UuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjaWZuZGVmIEV2YXNHTFN1cmZhY2Vf
aAogI2RlZmluZSBFdmFzR0xTdXJmYWNlX2gKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCiAKICNpbmNsdWRlIDxFdmFzX0dMLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+
CkBAIC02NCw0ICs2NSw1IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCisj
ZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogI2VuZGlmIC8vIEV2YXNHTFN1
cmZhY2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdr
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApp
bmRleCBhZjliOGU3Li4zMzE2N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcApAQCAtNjQsNyArNjQsOSBAQAogI2luY2x1ZGUgPEVjb3JlX0V2YXMu
aD4KICNpbmNsdWRlIDxFY29yZV9YLmg+CiAjaW5jbHVkZSA8RWRqZS5oPgorI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKICNpbmNsdWRlIDxFdmFzX0dMLmg+CisjZW5kaWYKICNpbmNs
dWRlIDxXZWJDb3JlL0NhaXJvVXRpbGl0aWVzRWZsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJz
b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ29udGV4dENhaXJvLmg+CkBAIC0yNTks
OCArMjYxLDEwIEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZpZXcsIEV2YXNfT2JqZWN0
KiBldmFzT2JqZWN0KQogI2VuZGlmCiAgICAgLCBtX2Rpc3BsYXlUaW1lcih0aGlzLCAmRXdrVmll
dzo6ZGlzcGxheVRpbWVyRmlyZWQpCiAgICAgLCBtX2lucHV0TWV0aG9kQ29udGV4dChJbnB1dE1l
dGhvZENvbnRleHRFZmw6OmNyZWF0ZSh0aGlzLCBzbWFydERhdGEoKS0+YmFzZS5ldmFzKSkKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3BhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnQoUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6Y3JlYXRlKHRoaXMp
KQogICAgICwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyKGFkb3B0UHRyKG5ldyBQYWdlVmlld3Bv
cnRDb250cm9sbGVyKHBhZ2UoKSwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmdldCgp
KSkpCisjZW5kaWYKICAgICAsIG1faXNBY2NlbGVyYXRlZCh0cnVlKQogewogICAgIEFTU0VSVCht
X2V2YXNPYmplY3QpOwpAQCAtMjY4LDcgKzI3Miw3IEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3
UmVmIHZpZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQogCiAgICAgLy8gRklYTUU6IFJlbW92
ZSB3aGVuIHBvc3NpYmxlLgogICAgIHdlYlZpZXcoKS0+c2V0RXdrVmlldyh0aGlzKTsKLQorI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBtX2V2YXNHTCA9IGFkb3B0UHRyKGV2
YXNfZ2xfbmV3KGV2YXNfb2JqZWN0X2V2YXNfZ2V0KG1fZXZhc09iamVjdCkpKTsKICAgICBpZiAo
bV9ldmFzR0wpCiAgICAgICAgIG1fZXZhc0dMQ29udGV4dCA9IEV2YXNHTENvbnRleHQ6OmNyZWF0
ZShtX2V2YXNHTC5nZXQoKSk7CkBAIC0yNzcsMTMgKzI4MSwxNCBAQCBFd2tWaWV3OjpFd2tWaWV3
KFdLVmlld1JlZiB2aWV3LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKICAgICAgICAgV0FSTigi
RmFpbGVkIHRvIGNyZWF0ZSBFdmFzX0dMLCBmYWxsaW5nIGJhY2sgdG8gc29mdHdhcmUgbW9kZS4i
KTsKICAgICAgICAgbV9pc0FjY2VsZXJhdGVkID0gZmFsc2U7CiAgICAgfQotCisjZW5kaWYKICAg
ICBXS1ZpZXdJbml0aWFsaXplKHdrVmlldygpKTsKIAogICAgIFdLUGFnZUdyb3VwUmVmIHdrUGFn
ZUdyb3VwID0gV0tQYWdlR2V0UGFnZUdyb3VwKHdrUGFnZSgpKTsKICAgICBXS1ByZWZlcmVuY2Vz
UmVmIHdrUHJlZmVyZW5jZXMgPSBXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHdrUGFnZUdyb3Vw
KTsKLQorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBXS1ByZWZlcmVuY2Vz
U2V0V2ViR0xFbmFibGVkKHdrUHJlZmVyZW5jZXMsIHRydWUpOworI2VuZGlmCiAgICAgV0tQcmVm
ZXJlbmNlc1NldEZ1bGxTY3JlZW5FbmFibGVkKHdrUHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdL
UHJlZmVyZW5jZXNTZXRXZWJBdWRpb0VuYWJsZWQod2tQcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAg
V0tQcmVmZXJlbmNlc1NldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCh3a1ByZWZl
cmVuY2VzLCB0cnVlKTsKQEAgLTUyOSwxMCArNTM0LDExIEBAIHZvaWQgRXdrVmlldzo6ZGlzcGxh
eVRpbWVyRmlyZWQoVGltZXI8RXdrVmlldz4qKQogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNk
ID0gc21hcnREYXRhKCk7CiAKICAgICBpZiAobV9wZW5kaW5nU3VyZmFjZVJlc2l6ZSkgeworI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAgICAgLy8gQ3JlYXRlIGEgR0wgc3Vy
ZmFjZSBoZXJlIHNvIHRoYXQgRXZhcyBoYXMgbm8gY2hhbmNlIG9mIHBhaW50aW5nIHRvIGFuIGVt
cHR5IEdMIHN1cmZhY2UuCiAgICAgICAgIGlmICghY3JlYXRlR0xTdXJmYWNlKCkpCiAgICAgICAg
ICAgICByZXR1cm47Ci0KKyNlbmRpZgogICAgICAgICBtX3BlbmRpbmdTdXJmYWNlUmVzaXplID0g
ZmFsc2U7CiAgICAgfQogCkBAIC01NDUsMTEgKzU1MSwxMSBAQCB2b2lkIEV3a1ZpZXc6OmRpc3Bs
YXlUaW1lckZpcmVkKFRpbWVyPEV3a1ZpZXc+KikKICAgICAgICAgZXZhc19vYmplY3RfaW1hZ2Vf
ZGF0YV91cGRhdGVfYWRkKHNkLT5pbWFnZSwgMCwgMCwgc2QtPnZpZXcudywgc2QtPnZpZXcuaCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCiAgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wuZ2V0KCksIG1fZXZhc0dMU3Vy
ZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CiAKICAgICBXS1Zp
ZXdQYWludFRvQ3VycmVudEdMQ29udGV4dCh3a1ZpZXcoKSk7Ci0KKyNlbmRpZgogICAgIC8vIHNk
LT5pbWFnZSBpcyB0aWVkIHRvIGEgbmF0aXZlIHN1cmZhY2UsIHdoaWNoIGlzIGluIHRoZSBwYXJl
bnQncyBjb29yZGluYXRlcy4KICAgICBldmFzX29iamVjdF9pbWFnZV9kYXRhX3VwZGF0ZV9hZGQo
c2QtPmltYWdlLCBzZC0+dmlldy54LCBzZC0+dmlldy55LCBzZC0+dmlldy53LCBzZC0+dmlldy5o
KTsKIH0KQEAgLTcxOSw2ICs3MjUsNyBAQCB2b2lkIEV3a1ZpZXc6OnNldFRvdWNoRXZlbnRzRW5h
YmxlZChib29sIGVuYWJsZWQpCiB9CiAjZW5kaWYKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKIGJvb2wgRXdrVmlldzo6Y3JlYXRlR0xTdXJmYWNlKCkKIHsKICAgICBpZiAoIW1f
aXNBY2NlbGVyYXRlZCkKQEAgLTc1Miw2ICs3NTksNyBAQCBib29sIEV3a1ZpZXc6OmNyZWF0ZUdM
U3VyZmFjZSgpCiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KKyNlbmRpZgogCiAjaWYgRU5BQkxFKElO
UFVUX1RZUEVfQ09MT1IpCiAvKioKQEAgLTExMDEsOCArMTEwOSwxMCBAQCB2b2lkIEV3a1ZpZXc6
OmhhbmRsZUV2YXNPYmplY3RDYWxjdWxhdGUoRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCiAgICAg
ICAgIHNtYXJ0RGF0YS0+dmlldy5oID0gaGVpZ2h0OwogCiAgICAgICAgIFdLVmlld1NldFNpemUo
c2VsZi0+d2tWaWV3KCksIFdLU2l6ZU1ha2Uod2lkdGgsIGhlaWdodCkpOworI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKICAgICAgICAgaWYgKFdLUGFnZVVzZUZpeGVkTGF5b3V0KHNl
bGYtPndrUGFnZSgpKSkKICAgICAgICAgICAgIHNlbGYtPnBhZ2VWaWV3cG9ydENvbnRyb2xsZXIo
KS0+ZGlkQ2hhbmdlVmlld3BvcnRTaXplKHNlbGYtPnNpemUoKSk7CisjZW5kaWYKIAogICAgICAg
ICBzZWxmLT5zZXROZWVkc1N1cmZhY2VSZXNpemUoKTsKICAgICB9CkBAIC0xMjY5LDE1ICsxMjc5
LDE2IEBAIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBFd2tWaWV3Ojp0YWtlU25hcHNob3Qo
KQogICAgICAgICBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpOwogCiAgICAgRXdrX1ZpZXdfU21h
cnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsKLSAgICBpZiAoIW1faXNBY2NlbGVyYXRlZCkgewot
ICAgICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGNyZWF0ZVN1cmZhY2VG
b3JJbWFnZShzZC0+aW1hZ2UpOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAg
ICBpZiAobV9pc0FjY2VsZXJhdGVkKSB7CisgICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+
IHNuYXBzaG90ID0gZ2V0SW1hZ2VTdXJmYWNlRnJvbUZyYW1lQnVmZmVyKDAsIDAsIHNkLT52aWV3
LncsIHNkLT52aWV3LmgpOwogICAgICAgICAvLyBSZXN1bWUgYWxsIGFuaW1hdGlvbnMuCiAgICAg
ICAgIFdLVmlld1Jlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKHdrVmlldygpKTsK
IAogICAgICAgICByZXR1cm4gc25hcHNob3QucmVsZWFzZSgpOwogICAgIH0KLQotICAgIFJlZlB0
cjxjYWlyb19zdXJmYWNlX3Q+IHNuYXBzaG90ID0gZ2V0SW1hZ2VTdXJmYWNlRnJvbUZyYW1lQnVm
ZmVyKDAsIDAsIHNkLT52aWV3LncsIHNkLT52aWV3LmgpOworI2VuZGlmCisgICAgUmVmUHRyPGNh
aXJvX3N1cmZhY2VfdD4gc25hcHNob3QgPSBjcmVhdGVTdXJmYWNlRm9ySW1hZ2Uoc2QtPmltYWdl
KTsKICAgICAvLyBSZXN1bWUgYWxsIGFuaW1hdGlvbnMuCiAgICAgV0tWaWV3UmVzdW1lQWN0aXZl
RE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMod2tWaWV3KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggZjJkM2E0Yy4uYTU4YjZkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtNjIsOCArNjIsMTAgQEAg
Y2xhc3MgUGFnZUxvYWRDbGllbnRFZmw7CiBjbGFzcyBQYWdlUG9saWN5Q2xpZW50RWZsOwogY2xh
c3MgUGFnZVVJQ2xpZW50RWZsOwogY2xhc3MgVmlld0NsaWVudEVmbDsKKyNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiBjbGFzcyBQYWdlVmlld3BvcnRDb250cm9sbGVyOwogY2xhc3Mg
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDsKKyNlbmRpZgogY2xhc3MgV2ViQ29udGV4
dE1lbnVJdGVtRGF0YTsKIGNsYXNzIFdlYkNvbnRleHRNZW51UHJveHlFZmw7CiBjbGFzcyBXZWJQ
YWdlR3JvdXA7CkBAIC05Miw4ICs5NCwxMCBAQCBjbGFzcyBFd2tQb3B1cE1lbnU7CiBjbGFzcyBF
d2tTZXR0aW5nczsKIGNsYXNzIEV3a1dpbmRvd0ZlYXR1cmVzOwogCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogdHlwZWRlZiBzdHJ1Y3QgX0V2YXNfR0xfQ29udGV4dCBFdmFzX0dM
X0NvbnRleHQ7CiB0eXBlZGVmIHN0cnVjdCBfRXZhc19HTF9TdXJmYWNlIEV2YXNfR0xfU3VyZmFj
ZTsKKyNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCBFd2tfVmlld19TbWFydF9EYXRhIEV3a19WaWV3
X1NtYXJ0X0RhdGE7CiB0eXBlZGVmIHN0cnVjdCBFd2tfVmlld19TbWFydF9DbGFzcyBFd2tfVmll
d19TbWFydF9DbGFzczsKQEAgLTExNyw3ICsxMjEsMTAgQEAgcHVibGljOgogICAgIEV3a1NldHRp
bmdzKiBzZXR0aW5ncygpIHsgcmV0dXJuIG1fc2V0dGluZ3MuZ2V0KCk7IH0KICAgICBFd2tCYWNr
Rm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCgpIHsgcmV0dXJuIG1fYmFja0ZvcndhcmRMaXN0
LmdldCgpOyB9CiAgICAgRXdrV2luZG93RmVhdHVyZXMqIHdpbmRvd0ZlYXR1cmVzKCk7CisKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgV2ViS2l0OjpQYWdlVmlld3BvcnRD
b250cm9sbGVyKiBwYWdlVmlld3BvcnRDb250cm9sbGVyKCkgeyByZXR1cm4gbV9wYWdlVmlld3Bv
cnRDb250cm9sbGVyLmdldCgpOyB9CisjZW5kaWYKIAogICAgIHZvaWQgc2V0RGV2aWNlU2NhbGVG
YWN0b3IoZmxvYXQgc2NhbGUpOwogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKCkgY29uc3Q7
CkBAIC0xNTMsOCArMTYwLDkgQEAgcHVibGljOgogCiAgICAgV0tSZWN0IHdpbmRvd0dlb21ldHJ5
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRXaW5kb3dHZW9tZXRyeShjb25zdCBXS1JlY3QmKTsKLQor
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBib29sIGNyZWF0ZUdMU3VyZmFj
ZSgpOworI2VuZGlmCiAgICAgdm9pZCBzZXROZWVkc1N1cmZhY2VSZXNpemUoKSB7IG1fcGVuZGlu
Z1N1cmZhY2VSZXNpemUgPSB0cnVlOyB9CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikK
QEAgLTIzOSw5ICsyNDcsMTEgQEAgcHJpdmF0ZToKICAgICBFdmFzX09iamVjdCogbV9ldmFzT2Jq
ZWN0OwogICAgIFJlZlB0cjxFd2tDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgUmVmUHRyPEV3a1Bh
Z2VHcm91cD4gbV9wYWdlR3JvdXA7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIE93blB0cjxFdmFzX0dMPiBtX2V2YXNHTDsKICAgICBPd25QdHI8V2ViS2l0OjpFdmFzR0xD
b250ZXh0PiBtX2V2YXNHTENvbnRleHQ7CiAgICAgT3duUHRyPFdlYktpdDo6RXZhc0dMU3VyZmFj
ZT4gbV9ldmFzR0xTdXJmYWNlOworI2VuZGlmCiAgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25N
YXRyaXggbV91c2VyVmlld3BvcnRUcmFuc2Zvcm07CiAgICAgYm9vbCBtX3BlbmRpbmdTdXJmYWNl
UmVzaXplOwogICAgIE93blB0cjxXZWJLaXQ6OlBhZ2VMb2FkQ2xpZW50RWZsPiBtX3BhZ2VMb2Fk
Q2xpZW50OwpAQCAtMjczLDggKzI4MywxMCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShJTlBVVF9U
WVBFX0NPTE9SKQogICAgIE93blB0cjxFd2tDb2xvclBpY2tlcj4gbV9jb2xvclBpY2tlcjsKICNl
bmRpZgorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBPd25QdHI8V2ViS2l0
OjpQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsPiBtX3BhZ2VWaWV3cG9ydENvbnRyb2xs
ZXJDbGllbnQ7CiAgICAgT3duUHRyPFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcj4gbV9w
YWdlVmlld3BvcnRDb250cm9sbGVyOworI2VuZGlmCiAgICAgYm9vbCBtX2lzQWNjZWxlcmF0ZWQ7
CiAKICAgICBzdGF0aWMgRXZhc19TbWFydF9DbGFzcyBwYXJlbnRTbWFydENsYXNzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHAK
aW5kZXggZWZkMjYxOS4uOGUwYjlkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCkBAIC0yNCw2ICsyNCw5IEBACiAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CisKICNpbmNsdWRlICJTbmFwc2hvdEltYWdlR0wuaCIKIAogI2lmIFVTRShPUEVOR0xfRVNfMikK
QEAgLTcwLDMgKzczLDQgQEAgUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGdldEltYWdlU3Vy
ZmFjZUZyb21GcmFtZUJ1ZmZlcihpbnQgeCwgaW50IHksIGludCB3aWQKICAgICBjYWlyb19zdXJm
YWNlX21hcmtfZGlydHkobmV3U3VyZmFjZS5nZXQoKSk7CiAgICAgcmV0dXJuIG5ld1N1cmZhY2U7
CiB9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L1NuYXBzaG90SW1hZ2VHTC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25h
cHNob3RJbWFnZUdMLmgKaW5kZXggYWJjZDc4Ny4uNjhjMTQyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNob3RJbWFnZUdMLmgKQEAgLTI2LDkgKzI2
LDEyIEBACiAjaWZuZGVmIFNuYXBzaG90SW1hZ2VHTF9oCiAjZGVmaW5lIFNuYXBzaG90SW1hZ2VH
TF9oCiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlIDxSZWZQ
dHJDYWlyby5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogCiBQYXNzUmVmUHRyPGNh
aXJvX3N1cmZhY2VfdD4gZ2V0SW1hZ2VTdXJmYWNlRnJvbUZyYW1lQnVmZmVyKGludCB4LCBpbnQg
eSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIAorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykKICNlbmRpZiAvLyBTbmFwc2hvdEltYWdlR0xfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4IGUxMTU2
YWIuLjU2MDE3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmll
d3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5jcHAKQEAgLTIwLDkgKzIwLDkgQEAKICAqLwogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIgogCi0jaWYgVVNF
KFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQor
I2luY2x1ZGUgIlBhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaCIKIAogI2luY2x1ZGUgIlBhZ2VWaWV3
cG9ydENvbnRyb2xsZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oCmluZGV4
IDMxNjRlZmQuLmI4OTczYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuaApAQCAtMjIsNiArMjIsOCBAQAogI2lmbmRlZiBQYWdlVmll
d3BvcnRDb250cm9sbGVyX2gKICNkZWZpbmUgUGFnZVZpZXdwb3J0Q29udHJvbGxlcl9oCiAKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0
UG9pbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRmxvYXRTaXplLmg+CkBAIC0xMTAsNCArMTEyLDUgQEAgYm9vbCBmdXp6eUNvbXBhcmUoZmxv
YXQsIGZsb2F0LCBmbG9hdCBlcHNpbG9uKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNl
bmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAjZW5kaWYgLy8gUGFnZVZpZXdw
b3J0Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsLmNwcAppbmRleCBjYmM0
MzIzLi4yMmE0NWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAKQEAgLTI1LDYg
KzI1LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50
RWZsLmgiCiAKICNpbmNsdWRlICJFd2tWaWV3LmgiCkBAIC03OCwzICs4MSw0IEBAIHZvaWQgUGFn
ZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6c2V0Q29udHJvbGxlcihQYWdlVmlld3BvcnRD
b250cm9sbGVyKiBjb250CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmIC8vIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4IGQ5ZWJiMzIuLjUyYjNkYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcApAQCAtNDksNyArNDks
MTEgQEAgdm9pZCBWaWV3Q2xpZW50RWZsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUoV0tWaWV3UmVm
LCBXS1NpemUgc2l6ZSwgY29uc3Qgdm9pZCogY2wKIHsKICAgICBFd2tWaWV3KiBld2tWaWV3ID0g
dG9Fd2tWaWV3KGNsaWVudEluZm8pOwogICAgIGlmIChXS1BhZ2VVc2VGaXhlZExheW91dChld2tW
aWV3LT53a1BhZ2UoKSkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAg
ICBld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPmRpZENoYW5nZUNvbnRlbnRzU2l6
ZSh0b0ludFNpemUoc2l6ZSkpOworI2Vsc2UKKyAgICAgICAgeyB9CisjZW5kaWYKICAgICBlbHNl
CiAgICAgICAgIGV3a1ZpZXctPnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcAppbmRleCAzYWU0NWFhLi5hZTI0ZmI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKQEAgLTIyOCw3ICsyMjgsOSBA
QCB2b2lkIFdlYlZpZXc6OmluaXRpYWxpemVDbGllbnQoY29uc3QgV0tWaWV3Q2xpZW50KiBjbGll
bnQpCiB2b2lkIFdlYlZpZXc6OmRpZENvbW1pdExvYWQoKQogewogICAgIGlmIChtX3BhZ2UtPnVz
ZUZpeGVkTGF5b3V0KCkpIHsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAg
ICAgIG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5kaWRDb21taXRMb2FkKCk7
CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2V3a1ZpZXctPnNjaGVkdWxl
VXBkYXRlRGlzcGxheSgpOwpAQCAtNTI5LDcgKzUzMSw5IEBAIEZsb2F0UmVjdCBXZWJWaWV3Ojpj
b252ZXJ0VG9Vc2VyU3BhY2UoY29uc3QgRmxvYXRSZWN0JiBkZXZpY2VSZWN0KQogdm9pZCBXZWJW
aWV3OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRB
dHRyaWJ1dGVzJiBhdHRyKQogewogICAgIGlmIChtX3BhZ2UtPnVzZUZpeGVkTGF5b3V0KCkpIHsK
KyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIG1fZXdrVmlldy0+cGFn
ZVZpZXdwb3J0Q29udHJvbGxlcigpLT5kaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMoYXR0cik7
CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2V3a1ZpZXctPnNjaGVkdWxl
VXBkYXRlRGlzcGxheSgpOwpAQCAtNTM3LDggKzU0MSwxMCBAQCB2b2lkIFdlYlZpZXc6OmRpZENo
YW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMm
IGF0dAogCiB2b2lkIFdlYlZpZXc6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50
JiBwb3NpdGlvbikKIHsKLSAgICBpZiAobV9wYWdlLT51c2VGaXhlZExheW91dCgpKSB7ICAgICAg
ICAKKyAgICBpZiAobV9wYWdlLT51c2VGaXhlZExheW91dCgpKSB7CisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgICAgICBtX2V3a1ZpZXctPnBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXIoKS0+cGFnZURpZFJlcXVlc3RTY3JvbGwocG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgRmxvYXRQb2ludCB1aVBvc2l0aW9uKHBvc2l0aW9uKTsKQEAgLTU1
MCw3ICs1NTYsOSBAQCB2b2lkIFdlYlZpZXc6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IElu
dFBvaW50JiBwb3NpdGlvbikKIHZvaWQgV2ViVmlldzo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3Zl
cmVkUmVjdCkKIHsKICAgICBpZiAobV9wYWdlLT51c2VGaXhlZExheW91dCgpKSB7CisjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAgICBtX2V3a1ZpZXctPnBhZ2VWaWV3cG9y
dENvbnRyb2xsZXIoKS0+ZGlkUmVuZGVyRnJhbWUoY29udGVudHNTaXplLCBjb3ZlcmVkUmVjdCk7
CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2V3a1ZpZXctPnNjaGVkdWxl
VXBkYXRlRGlzcGxheSgpOwpAQCAtNTU5LDcgKzU2Nyw5IEBAIHZvaWQgV2ViVmlldzo6ZGlkUmVu
ZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJD
b3JlCiB2b2lkIFdlYlZpZXc6OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpCiB7CiAgICAg
aWYgKG1fcGFnZS0+dXNlRml4ZWRMYXlvdXQoKSkgeworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKICAgICAgICAgbV9ld2tWaWV3LT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCktPnBh
Z2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgbV9ld2tWaWV3LT5zY2hlZHVsZVVwZGF0ZURpc3BsYXkoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2UKaW5kZXggNGQ2ZWY4MS4uZGRmMTcwNCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTE3
Niw2ICsxNzYsMjYgQEAgaWYgKEVOQUJMRV9WSURFTyBPUiBFTkFCTEVfV0VCX0FVRElPKQogICAg
IGZpbmRfcGFja2FnZShHU3RyZWFtZXIgUkVRVUlSRUQgQ09NUE9ORU5UUyAke0dTVFJFQU1FUl9D
T01QT05FTlRTfSkKIGVuZGlmICgpCiAKK2lmIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUp
CisgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORz0x
KQorCisgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElDUz0x
KQorCisgICAgc2V0KFdURl9VU0VfVEVYVFVSRV9NQVBQRVIgMSkKKyAgICBhZGRfZGVmaW5pdGlv
bnMoLURXVEZfVVNFX1RFWFRVUkVfTUFQUEVSPTEpCisKKyAgICBzZXQoV1RGX1VTRV8zRF9HUkFQ
SElDUyAxKQorICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfM0RfR1JBUEhJQ1M9MSkKKwor
ICAgIHNldChFTkFCTEVfM0RfUkVOREVSSU5HIDEpCisgICAgYWRkX2RlZmluaXRpb25zKC1ERU5B
QkxFXzNEX1JFTkRFUklORz0xKQorZWxzZSAoKQorICAgICMgRGlzYWJsZSAzRCBncmFwaGljcyBh
bmQgV0VCR0wgaWYgdGlsZWQgYmFja2luZyBpcyBkaXNhYmxlZAorICAgIHNldChFTkFCTEVfV0VC
R0wgMCkKKyAgICBzZXQoV1RGX1VTRV8zRF9HUkFQSElDUyAwKQorICAgIGFkZF9kZWZpbml0aW9u
cygtRFdURl9VU0VfM0RfR1JBUEhJQ1M9MCkKK2VuZGlmICgpCisKIGlmIChFTkFCTEVfV0VCR0wg
T1IgV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIGZpbmRfcGFja2FnZShPcGVuR0wg
UkVRVUlSRUQpCiAgICAgQ0hFQ0tfSU5DTFVERV9GSUxFUygiR0wvZ2x4LmgiIE9QRU5HTFhfRk9V
TkQpCkBAIC0yMzEsMjEgKzI1MSw2IEBAIGlmIChDTUFLRV9CVUlMRF9UWVBFIFNUUkVRVUFMIHJl
bGVhc2UgQU5EIENNQUtFX0NPTVBJTEVSX0lTX0dOVUNDIEFORCBVTklYIEFORCBOCiAgICAgc2V0
KENNQUtFX1NIQVJFRF9MSU5LRVJfRkxBR1MgIi1XbCwtLWdjLXNlY3Rpb25zICR7Q01BS0VfU0hB
UkVEX0xJTktFUl9GTEFHU30iKQogZW5kaWYgKCkKIAotaWYgKFdURl9VU0VfVElMRURfQkFDS0lO
R19TVE9SRSkKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HPTEpCi0KLSAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dS
QVBISUNTPTEpCi0KLSAgICBzZXQoV1RGX1VTRV9URVhUVVJFX01BUFBFUiAxKQotICAgIGFkZF9k
ZWZpbml0aW9ucygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVI9MSkKLQotICAgIHNldChXVEZfVVNF
XzNEX0dSQVBISUNTIDEpCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV8zRF9HUkFQSElD
Uz0xKQotCi0gICAgc2V0KEVOQUJMRV8zRF9SRU5ERVJJTkcgMSkKLSAgICBhZGRfZGVmaW5pdGlv
bnMoLURFTkFCTEVfM0RfUkVOREVSSU5HPTEpCi1lbmRpZiAoKQotCiBpZiAoRU5BQkxFX1dFQkdM
KQogICAgIHNldChFTkFCTEVfV0VCR0wgMSkKICAgICBpZiAoVVNFX0dSQVBISUNTX1NVUkZBQ0Up
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>