<?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>115988</bug_id>
          
          <creation_ts>2013-05-12 10:48:31 -0700</creation_ts>
          <short_desc>Unload event listeners should prevent Safari from insta-killing the web process on last tab close</short_desc>
          <delta_ts>2013-05-12 16:15:54 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887970</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-12 10:48:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/13870943&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887993</commentid>
    <comment_count>1</comment_count>
      <attachid>201501</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-12 11:56:23 -0700</bug_when>
    <thetext>Created attachment 201501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887994</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 11:59:12 -0700</bug_when>
    <thetext>Attachment 201501 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/WebCore.exp.in&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/page/ChromeClient.h&apos;, u&apos;Source/WebCore/page/DOMWindow.cpp&apos;, u&apos;Source/WebCore/page/DOMWindow.h&apos;, u&apos;Source/WebKit/mac/ChangeLog&apos;, u&apos;Source/WebKit/mac/WebCoreSupport/WebChromeClient.h&apos;, u&apos;Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/UIProcess/WebProcessProxy.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebProcessProxy.h&apos;, u&apos;Source/WebKit2/UIProcess/WebProcessProxy.messages.in&apos;, u&apos;Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h&apos;]&quot; exit_code: 1
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887997</commentid>
    <comment_count>3</comment_count>
      <attachid>201501</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-12 12:06:41 -0700</bug_when>
    <thetext>Comment on attachment 201501
Patch

Attachment 201501 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/417816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887998</commentid>
    <comment_count>4</comment_count>
      <attachid>201503</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-12 12:07:58 -0700</bug_when>
    <thetext>Created attachment 201503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888011</commentid>
    <comment_count>5</comment_count>
      <attachid>201506</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-12 13:21:57 -0700</bug_when>
    <thetext>Created attachment 201506
Patch

Added Chrome helpers so DOMWindow doesn&apos;t have to plumb its way to the ChromeClient.
Made DOMWindow think in terms of per-DOMWindow sudden termination instead of globally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888012</commentid>
    <comment_count>6</comment_count>
      <attachid>201506</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-12 13:26:27 -0700</bug_when>
    <thetext>Comment on attachment 201506
Patch

Attachment 201506 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/265604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888013</commentid>
    <comment_count>7</comment_count>
      <attachid>201507</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-12 13:27:31 -0700</bug_when>
    <thetext>Created attachment 201507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888025</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 16:15:00 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 201507:

svg/batik/text/smallFonts.svg bug 115040 (author: oliver@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888026</commentid>
    <comment_count>9</comment_count>
      <attachid>201507</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 16:15:51 -0700</bug_when>
    <thetext>Comment on attachment 201507
Patch

Clearing flags on attachment: 201507

Committed r149971: &lt;http://trac.webkit.org/changeset/149971&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888027</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 16:15:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201501</attachid>
            <date>2013-05-12 11:56:23 -0700</date>
            <delta_ts>2013-05-12 12:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115988.diff</filename>
            <type>text/plain</type>
            <size>18535</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZGIxZDZjLi42M2VjODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDMg
QEAKIDIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5z
dGEta2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcw
OTQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0d28gbWV0aG9kcyB0byBDaHJvbWVDbGllbnQ6CisKKyAgICAgICAgICAgIC0gZW5hYmxlU3Vk
ZGVuVGVybWluYXRpb24oKQorICAgICAgICAgICAgLSBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24o
KQorCisgICAgICAgIC4uYW5kIGNhbGwgdGhlc2UgZnJvbSBET01XaW5kb3cgaW5zdGVhZCBvZiB0
aGUgZnJlZSBnbG9iYWwgZnVuY3Rpb25zLgorCisgICAgICAgIEZvciBXZWJLaXQxLCBpdCBqdXN0
IGNhbGxzIHRoZSBOU1Byb2Nlc3NJbmZvIG1ldGhvZHMgdG8ga2VlcCBiZWhhdmlvciB0aGUgc2Ft
ZS4KKyAgICAgICAgRm9yIFdlYktpdDIsIHRoZSBuZXcgbWV0aG9kcyBwbHVtYiB0aHJvdWdoIHRo
ZSBpbmZvcm1hdGlvbiB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFVubG9h
ZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlVW5sb2FkRXZlbnRMaXN0
ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpyZW1vdmVBbGxVbmxvYWRFdmVudExpc3RlbmVycyk6
CisgICAgICAgIChXZWJDb3JlOjphZGRCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlbW92ZUJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAo
V2ViQ29yZTo6cmVtb3ZlQWxsQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEFsbFBlbmRpbmdCZWZvcmVVbmxvYWRFdmVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEFsbFBlbmRpbmdVbmxvYWRF
dmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc2FibGVTdWRkZW5UZXJtaW5h
dGlvbik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKERPTVdpbmRvdyk6
CisKKzIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCiAgICAg
ICAgIEFwcGx5IEZJTkFMIHRvIHRoZSBOb2RlIGhpZXJhcmNoeS4KICAgICAgICAgPGh0dHA6Ly93
ZWJraXQub3JnL2IvMTE1OTg0PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQwNDUxZjAuLmY1
OTJkZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NTIsNiArNzUyLDcgQEAgX19aTjdXZWJD
b3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKIF9fWk43V2ViQ29yZTIzY3JlYXRlRnJh
Z21lbnRGcm9tTm9kZXNFUE5TXzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQTlNfNE5vZGVFTG0w
RU5TMl8xNUNyYXNoT25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRhRm9yVVJMQ29tcG9u
ZW50VHlwZUVQNU5TVVJMbAogX19aTjdXZWJDb3JlMjNkZWNvZGVIb3N0TmFtZVdpdGhSYW5nZUVQ
OE5TU3RyaW5nOF9OU1JhbmdlCitfX1pON1dlYkNvcmUyM2VuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
RXYKIF9fWk43V2ViQ29yZTIzZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2VFUDhOU1N0cmluZzhfTlNS
YW5nZQogX19aTjdXZWJDb3JlMjNnZXRIb3N0bmFtZXNXaXRoQ29va2llc0VSS05TXzIxTmV0d29y
a1N0b3JhZ2VTZXNzaW9uRVJOM1dURjdIYXNoU2V0SU5TM182U3RyaW5nRU5TM18xMFN0cmluZ0hh
c2hFTlMzXzEwSGFzaFRyYWl0c0lTNV9FRUVFCiBfX1pON1dlYkNvcmUyNEJpbmFyeVByb3BlcnR5
TGlzdFdyaXRlcjE3d3JpdGVQcm9wZXJ0eUxpc3RFdgpAQCAtNzc1LDYgKzc3Niw3IEBAIF9fWk43
V2ViQ29yZTI0U2NvcGVDb250ZW50RGlzdHJpYnV0aW9uMThjb3VudEVsZW1lbnRTaGFkb3dFUEtO
U18xMFNoYWRvd1Jvb3RFCiBfX1pON1dlYkNvcmUyNGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1cEVQ
TlNfOERvY3VtZW50RVJLTjNXVEY2U3RyaW5nRVM1X05TXzE5UGFyc2VyQ29udGVudFBvbGljeUUK
IF9fWk43V2ViQ29yZTI0ZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzRVJLTjNXVEY2U3RyaW5nRQog
X19aTjdXZWJDb3JlMjRkZWxldGVDb29raWVzRm9ySG9zdG5hbWVFUktOU18yMU5ldHdvcmtTdG9y
YWdlU2Vzc2lvbkVSS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTI0ZGlzYWJsZVN1ZGRlblRl
cm1pbmF0aW9uRXYKIF9fWk43V2ViQ29yZTI0ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uRVJLTjNX
VEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjRub3RpZnlIaXN0b3J5SXRlbUNoYW5nZWRFCiBfX1pO
N1dlYkNvcmUyNHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudEVSS04zV1RGNlN0cmluZ0VTM18KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1MTJlOTA4Li40NzNhN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODgyLDcgKzI4ODIsNyBAQAogCQk5MzlCMDJFRTBF
QTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzlCMDJFQzBFQTJEQkM0MDBDNTQ1NzAgLyogV2lk
dGhJdGVyYXRvci5jcHAgKi87IH07CiAJCTkzOUIwMkVGMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0
aEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzlCMDJFRDBFQTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5oICovOyB9OwogCQk5
M0EzOEI0QjBEMEU1ODA4MDA2ODcyQzIgLyogRWRpdG9yQ29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0EzOEI0QTBEMEU1ODA4MDA2ODcy
QzIgLyogRWRpdG9yQ29tbWFuZC5jcHAgKi87IH07Ci0JCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZC
MiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0
aW9uLmggKi87IH07CisJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5h
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4MTgwRjk5MjBFRTAw
NkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRl
cm1pbmF0aW9uLm1tICovOyB9OwogCQk5M0I2QTBFNjBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4
dE1lbnUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjZBMEU1MEIwQkNBNUMwMEY1MDI3QSAvKiBDb250ZXh0TWVudS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjZBMEVBMEIwQkNBODQwMEY1MDI3
QSAvKiBDb250ZXh0TWVudU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjZBMEU5MEIwQkNBODQwMEY1MDI3QSAvKiBDb250ZXh0TWVudU1hYy5t
bSAqLzsgfTsKQEAgLTIxNjU2LDYgKzIxNjU2LDcgQEAKIAkJCQlCQzY0NjQwQTExRDdGMzA0MDA2
NDU1QjAgLyogRE9NU3RyaW5nTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkY1MDI1QjEwMkJB
OTAxMDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGNTAy
NjMxMDJCQTkyQzAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWFJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NTA2NTcwMDBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVT
aGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVCNDk4RkYwQURCMzQ4MTAwOTI1Q0JCIC8qIERP
TVN0eWxlU2hlZXRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwNjU3MDIwQUFCNDc2
MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTIzNTE4
LDcgKzIzNTE5LDYgQEAKIAkJCQk2NTZEMzc0ODBBREJBNURFMDBBNDU1NEQgLyogU3VicmVzb3Vy
Y2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OUE3RDEzMEI2REI0RDkwMDExNTVCMyAv
KiBTdWJzdGl0dXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4RjZCMDIwREI1MzAwNjAw
MURCNzk0IC8qIFN1YnN0aXR1dGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTNCMkQ4
MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0MwNzg1MDExNjVENUJFMDAzQTMyRUYgLyogU3VmZml4VHJlZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTc2MjdCOTgxNEZCNTQyNDAwMkNEQ0ExIC8qIFN1cHBsZW1lbnRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwODc1NThDNjEzQjRBNTdEMDBGNDkzMDcgLyogU3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCmluZGV4IDBhODRjYTUuLmViNGM4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaApAQCAtMzE3LDYgKzMxNyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBv
cFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgdm9pZCBlbmFibGVT
dWRkZW5UZXJtaW5hdGlvbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlU3VkZGVuVGVy
bWluYXRpb24oKSB7IH0KKwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2aXJ0dWFsIHZvaWQgc2V0
TGFzdFNldEN1cnNvclRvQ3VycmVudEN1cnNvcigpID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCmluZGV4IGRhMzRhYjQuLjIzZGJiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKQEAgLTE3Niw3ICsxNzYsNyBAQCBzdGF0aWMgdm9pZCBhZGRVbmxvYWRFdmVudExp
c3RlbmVyKERPTVdpbmRvdyogZG9tV2luZG93KQogewogICAgIERPTVdpbmRvd1NldCYgc2V0ID0g
d2luZG93c1dpdGhVbmxvYWRFdmVudExpc3RlbmVycygpOwogICAgIGlmIChzZXQuaXNFbXB0eSgp
KQotICAgICAgICBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICAgICAgZG9tV2luZG93
LT5kaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKICAgICBzZXQuYWRkKGRvbVdpbmRvdyk7CiB9
CiAKQEAgLTE4OCw3ICsxODgsNyBAQCBzdGF0aWMgdm9pZCByZW1vdmVVbmxvYWRFdmVudExpc3Rl
bmVyKERPTVdpbmRvdyogZG9tV2luZG93KQogICAgICAgICByZXR1cm47CiAgICAgc2V0LnJlbW92
ZShpdCk7CiAgICAgaWYgKHNldC5pc0VtcHR5KCkpCi0gICAgICAgIGVuYWJsZVN1ZGRlblRlcm1p
bmF0aW9uKCk7CisgICAgICAgIGRvbVdpbmRvdy0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsK
IH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5lcnMoRE9NV2luZG93
KiBkb21XaW5kb3cpCkBAIC0xOTksMTQgKzE5OSwxNCBAQCBzdGF0aWMgdm9pZCByZW1vdmVBbGxV
bmxvYWRFdmVudExpc3RlbmVycyhET01XaW5kb3cqIGRvbVdpbmRvdykKICAgICAgICAgcmV0dXJu
OwogICAgIHNldC5yZW1vdmVBbGwoaXQpOwogICAgIGlmIChzZXQuaXNFbXB0eSgpKQotICAgICAg
ICBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgICAgICBkb21XaW5kb3ctPmVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGFkZEJlZm9yZVVubG9hZEV2ZW50
TGlzdGVuZXIoRE9NV2luZG93KiBkb21XaW5kb3cpCiB7CiAgICAgRE9NV2luZG93U2V0JiBzZXQg
PSB3aW5kb3dzV2l0aEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKCk7CiAgICAgaWYgKHNldC5p
c0VtcHR5KCkpCi0gICAgICAgIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgICAgICBk
b21XaW5kb3ctPmRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOwogICAgIHNldC5hZGQoZG9tV2lu
ZG93KTsKIH0KIApAQCAtMjE4LDcgKzIxOCw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZUJlZm9yZVVu
bG9hZEV2ZW50TGlzdGVuZXIoRE9NV2luZG93KiBkb21XaW5kb3cpCiAgICAgICAgIHJldHVybjsK
ICAgICBzZXQucmVtb3ZlKGl0KTsKICAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZW5h
YmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICAgICAgZG9tV2luZG93LT5lbmFibGVTdWRkZW5U
ZXJtaW5hdGlvbigpOwogfQogCiBzdGF0aWMgdm9pZCByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVu
dExpc3RlbmVycyhET01XaW5kb3cqIGRvbVdpbmRvdykKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0
aWMgdm9pZCByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVycyhET01XaW5kb3cqIGRv
bVdpbmRvdykKICAgICAgICAgcmV0dXJuOwogICAgIHNldC5yZW1vdmVBbGwoaXQpOwogICAgIGlm
IChzZXQuaXNFbXB0eSgpKQotICAgICAgICBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAg
ICAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKIHN0YXRpYyBi
b29sIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyhET01XaW5kb3cqIHdpbmRvdykKQEAgLTI3
NCw3ICsyNzQsOCBAQCBib29sIERPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nQmVmb3JlVW5s
b2FkRXZlbnRzKCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBlbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIC8vIFdlIG5lZWQgYSBET01XaW5kb3cqIHRvIGNh
bGwgdGhyb3VnaCBvbiBoZXJlLCBhbnkgb25lIHdpbGwgZG8uCisgICAgc2V0LmJlZ2luKCktPmtl
eS0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKIAogICAgIGFscmVhZHlEaXNwYXRjaGVkID0g
dHJ1ZTsKIApAQCAtMzEyLDcgKzMxMyw4IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaEFsbFBl
bmRpbmdVbmxvYWRFdmVudHMoKQogICAgICAgICB3aW5kb3ctPmRpc3BhdGNoRXZlbnQoRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkudW5sb2FkRXZlbnQsIGZhbHNlLCBmYWxzZSksIHdpbmRvdy0+
ZG9jdW1lbnQoKSk7CiAgICAgfQogCi0gICAgZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAg
ICAvLyBXZSBuZWVkIGEgRE9NV2luZG93KiB0byBjYWxsIHRocm91Z2ggb24gaGVyZSwgYW55IG9u
ZSB3aWxsIGRvLgorICAgIHNldC5iZWdpbigpLT5rZXktPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCk7CiAKICAgICBhbHJlYWR5RGlzcGF0Y2hlZCA9IHRydWU7CiB9CkBAIC0yMDE3LDQgKzIwMTks
MTYgQEAgdm9pZCBET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhjb25zdCBTdHJpbmcmIHVybFN0
cmluZywgY29uc3QgU3RyaW5nJiBkaWFsb2dGZWEKICAgICBkaWFsb2dGcmFtZS0+cGFnZSgpLT5j
aHJvbWUoKS0+cnVuTW9kYWwoKTsKIH0KIAordm9pZCBET01XaW5kb3c6OmVuYWJsZVN1ZGRlblRl
cm1pbmF0aW9uKCkKK3sKKyAgICBpZiAoUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAg
ICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5lbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOwor
fQorCit2b2lkIERPTVdpbmRvdzo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBp
ZiAoUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNs
aWVudCgpLT5kaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNzc2ZjFhMi4uMzg2MmMzYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC00MTIsNiArNDEyLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHdpbGxEZXRhY2hEb2N1bWVudEZyb21GcmFtZSgpOwogICAgICAg
ICB2b2lkIHdpbGxEZXN0cm95Q2FjaGVkRnJhbWUoKTsKIAorICAgICAgICB2b2lkIGVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgICAgIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCk7CisKICAgICBwcml2YXRlOgogICAgICAgICBleHBsaWNpdCBET01XaW5kb3coRG9jdW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDg4MWI1NTEuLmRiZDJjNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wNS0xMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgVW5sb2FkIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgcHJldmVu
dCBTYWZhcmkgZnJvbSBpbnN0YS1raWxsaW5nIHRoZSB3ZWIgcHJvY2VzcyBvbiBsYXN0IHRhYiBj
bG9zZS4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1OTg4PgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTM4NzA5NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJv
bWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYkNocm9tZUNs
aWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKwogMjAxMy0wNS0xMCAgQnJpYW4gSi4g
QnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
SW1wbGVtZW50IFdLMiB2ZXJzaW9uIG9mIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzYXZl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCmluZGV4IGZiZWNkYWUuLmFiOTBkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMzYsNiArMTM2LDkgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoTlNSZXNwb25kZXIgKikg
T1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgT1ZF
UlJJREU7CisKKyAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkgT1ZFUlJJ
REU7CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmls
ZUZvclVwbG9hZChjb25zdCBXVEY6OlN0cmluZyYgcGF0aCwgV1RGOjpTdHJpbmcgJmdlbmVyYXRl
ZEZpbGVuYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGdlbmVyYXRlUmVw
bGFjZW1lbnRGaWxlKGNvbnN0IFdURjo6U3RyaW5nJiBwYXRoKSBPVkVSUklERTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRl
eCBiODcyZTIwLi5mYmY0ZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC04MTQsNiArODE0LDE2IEBAIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50Ojp3aWxsUG9wVXBNZW51KE5TTWVudSAqbWVudSkKICAgICBFTkRfQkxPQ0tf
T0JKQ19FWENFUFRJT05TOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZW5hYmxlU3VkZGVu
VGVybWluYXRpb24oKQoreworICAgIFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gZW5hYmxl
U3VkZGVuVGVybWluYXRpb25dOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dIGRp
c2FibGVTdWRkZW5UZXJtaW5hdGlvbl07Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91
bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBT
dHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKQogewogICAgIE5TU3RyaW5nKiBmaWxlbmFtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBlOTI2OTdkLi4zMGQwNzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5zdGEt
a2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcwOTQz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCBX
ZWJDb3JlIGNvbnRyb2wgdGhlIFVJIHByb2Nlc3MncyBzdXBwcmVzc2lvbiBvZiB0aGUgc3VkZGVu
IHRlcm1pbmF0aW9uIG1lY2hhbmlzbS4KKyAgICAgICAgVGhpcyBpcyBpbXBsZW1lbnRlZCBieSBo
YXZpbmcgV2ViQ2hyb21lQ2xpZW50IHB1c2ggRW5hYmxlL0Rpc2FibGVTdWRkZW5UZXJtaW5hdGlv
biBtZXNzYWdlcworICAgICAgICBvdmVyIHRvIHRoZSBVSSBwcm9jZXNzIHdoZXJlIHRoZSBhcHBy
b3ByaWF0ZSBOU1Byb2Nlc3NJbmZvIGNhbGxzIGFyZSBtYWRlLgorCisgICAgICAgIFdlIGFsc28g
dXNlIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGluc3RhLWtpbGwg
YSB3ZWIgcHJvY2VzcyB3aGVuIGl0cyBsYXN0CisgICAgICAgIHBhZ2UgaXMgY2xvc2VkLiBUaGlz
IG1lY2hhbmlzbSBpcyByZS11c2FibGUgaW4gV2ViQ29yZSB0byBwcm90ZWN0IGFnYWluc3Qgc3Vk
ZGVuIHRlcm1pbmF0aW9uCisgICAgICAgIGJ5IHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQcm94eTo6V2ViUHJvY2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpyZW1vdmVXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpl
bmFibGVTdWRkZW5UZXJtaW5hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94
eTo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJQcm9jZXNzUHJveHkpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
aHJvbWVDbGllbnQpOgorCiAyMDEzLTA1LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgdW5uZWNlc3NhcnkgR1RLX0NI
RUNLX1ZFUlNJT04gI2lmZGVmcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAppbmRleCA3OTNiMjJmLi5hOGRlMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUg
IldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5U
ZXJtaW5hdGlvbi5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC05MCw2ICs5MSw3IEBAIFdl
YlByb2Nlc3NQcm94eTo6V2ViUHJvY2Vzc1Byb3h5KFBhc3NSZWZQdHI8V2ViQ29udGV4dD4gY29u
dGV4dCkKICAgICA6IG1fcmVzcG9uc2l2ZW5lc3NUaW1lcih0aGlzKQogICAgICwgbV9jb250ZXh0
KGNvbnRleHQpCiAgICAgLCBtX21heUhhdmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNp
b24oZmFsc2UpCisgICAgLCBtX3N1ZGRlblRlcm1pbmF0aW9uQ291bnRlcigwKQogI2lmIEVOQUJM
RShDVVNUT01fUFJPVE9DT0xTKQogICAgICwgbV9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSh0
aGlzKQogI2VuZGlmCkBAIC0yMDIsNyArMjA0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJl
bW92ZVdlYlBhZ2UodWludDY0X3QgcGFnZUlEKQogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1Mp
CiAgICAgLy8gVGVybWluYXRlIHRoZSB3ZWIgcHJvY2VzcyBpbW1lZGlhdGVseSBpZiB3ZSBoYXZl
IGVub3VnaCBpbmZvcm1hdGlvbiB0byBjb25maWRlbnRseSBkbyBzby4KICAgICAvLyBUaGlzIG9u
bHkgd29ya3MgaWYgd2UncmUgdXNpbmcgYSBuZXR3b3JrIHByb2Nlc3MuIE90aGVyd2lzZSB3ZSBo
YXZlIHRvIHdhaXQgZm9yIHRoZSB3ZWIgcHJvY2VzcyB0byBjbGVhbiB1cC4KLSAgICBpZiAoY2Fu
VGVybWluYXRlQ2hpbGRQcm9jZXNzKCkgJiYgbV9jb250ZXh0LT51c2VzTmV0d29ya1Byb2Nlc3Mo
KSkKKyAgICBpZiAoIW1fc3VkZGVuVGVybWluYXRpb25Db3VudGVyICYmIGNhblRlcm1pbmF0ZUNo
aWxkUHJvY2VzcygpICYmIG1fY29udGV4dC0+dXNlc05ldHdvcmtQcm9jZXNzKCkpCiAgICAgICAg
IHJlcXVlc3RUZXJtaW5hdGlvbigpOwogI2VuZGlmCiB9CkBAIC02NTIsNCArNjU0LDIzIEBAIHZv
aWQgV2ViUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0VGVybWluYXRpb24oKQogICAgIGRpc2Nvbm5lY3Qo
KTsKIH0KIAorCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24o
KQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJDb3Jl
OjplbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIG1fc3VkZGVuVGVybWluYXRpb25Db3Vu
dGVyLS07Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaXNhYmxlU3VkZGVuVGVybWluYXRp
b24oKQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJD
b3JlOjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICBtX3N1ZGRlblRlcm1pbmF0aW9u
Q291bnRlcisrOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA4YTVhYjY3Li5iYjg2MjlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0xMTMsNiArMTEzLDkg
QEAgcHVibGljOgogICAgIGJvb2wgYWxsUGFnZXNBcmVQcm9jZXNzU3VwcHJlc3NpYmxlKCkgY29u
c3Q7CiAgICAgc3RhdGljIGJvb2wgcGFnZUlzUHJvY2Vzc1N1cHByZXNzaWJsZShXZWJQYWdlUHJv
eHkqKTsKICAgICB2b2lkIHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7CisKKyAgICB2
b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgdm9pZCBkaXNhYmxlU3VkZGVuVGVy
bWluYXRpb24oKTsKICNlbmRpZgogCiAgICAgdm9pZCByZXF1ZXN0VGVybWluYXRpb24oKTsKQEAg
LTE4OCw2ICsxOTEsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9tYXlIYXZlVW5pdmVyc2FsRmls
ZVJlYWRTYW5kYm94RXh0ZW5zaW9uOyAvLyBUcnVlIGlmIGEgcmVhZCBleHRlbnNpb24gZm9yICIv
IiB3YXMgZXZlciBncmFudGVkIC0gd2UgZG9uJ3QgdHJhY2sgd2hldGhlciBXZWJQcm9jZXNzIHN0
aWxsIGhhcyBpdC4KICAgICBIYXNoU2V0PFN0cmluZz4gbV9sb2NhbFBhdGhzV2l0aEFzc3VtZWRS
ZWFkQWNjZXNzOwogCisgICAgdW5zaWduZWQgbV9zdWRkZW5UZXJtaW5hdGlvbkNvdW50ZXI7CisK
ICAgICBXZWJQYWdlUHJveHlNYXAgbV9wYWdlTWFwOwogICAgIFdlYkZyYW1lUHJveHlNYXAgbV9m
cmFtZU1hcDsKICAgICBXZWJCYWNrRm9yd2FyZExpc3RJdGVtTWFwIG1fYmFja0ZvcndhcmRMaXN0
SXRlbU1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IGUxMzVmMjUuLmFkNDI4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzMs
NiArMzMsOSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewog
CiAgICAgU2hvdWxkVGVybWluYXRlKCkgLT4gKGJvb2wgc2hvdWxkVGVybWluYXRlKQogCisgICAg
RW5hYmxlU3VkZGVuVGVybWluYXRpb24oKQorICAgIERpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigp
CisKICAgICAjIFBsdWdpbiBtZXNzYWdlcy4KICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKICAgICBHZXRQbHVnaW5zKGJvb2wgcmVmcmVzaCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpQbHVn
aW5JbmZvPiBwbHVnaW5zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDhjNTYyNTAuLjQ5
N2Y4MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNs
dWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIgog
I2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1By
b3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJQ
cmVmZXJlbmNlc1N0b3JlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgpAQCAtODQ0LDQgKzg0
NSwxNCBAQCBTdHJpbmcgV2ViQ2hyb21lQ2xpZW50OjpwbHVnSW5FeHRyYVNjcmlwdCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVVSUNsaWVudCgpLnBsdWdJbkV4dHJh
U2NyaXB0KCk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbigpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkVu
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkpOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlz
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6RGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGRkNjliNjYuLmZlYTU4MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjA1LDYgKzIwNSw5IEBAIHByaXZhdGU6CiAKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgdmlydHVhbCB2b2lkIG1ha2VGaXJzdFJlc3BvbmRlcigpIE9W
RVJSSURFOworCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpIE9WRVJS
SURFOwogI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVmlld3BvcnRQcm9w
ZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Qg
T1ZFUlJJREU7Cg==
</data>
<flag name="commit-queue"
          id="222835"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201503</attachid>
            <date>2013-05-12 12:07:58 -0700</date>
            <delta_ts>2013-05-12 12:47:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115988-v2.diff</filename>
            <type>text/plain</type>
            <size>18442</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZGIxZDZjLi42M2VjODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDMg
QEAKIDIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5z
dGEta2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcw
OTQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0d28gbWV0aG9kcyB0byBDaHJvbWVDbGllbnQ6CisKKyAgICAgICAgICAgIC0gZW5hYmxlU3Vk
ZGVuVGVybWluYXRpb24oKQorICAgICAgICAgICAgLSBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24o
KQorCisgICAgICAgIC4uYW5kIGNhbGwgdGhlc2UgZnJvbSBET01XaW5kb3cgaW5zdGVhZCBvZiB0
aGUgZnJlZSBnbG9iYWwgZnVuY3Rpb25zLgorCisgICAgICAgIEZvciBXZWJLaXQxLCBpdCBqdXN0
IGNhbGxzIHRoZSBOU1Byb2Nlc3NJbmZvIG1ldGhvZHMgdG8ga2VlcCBiZWhhdmlvciB0aGUgc2Ft
ZS4KKyAgICAgICAgRm9yIFdlYktpdDIsIHRoZSBuZXcgbWV0aG9kcyBwbHVtYiB0aHJvdWdoIHRo
ZSBpbmZvcm1hdGlvbiB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24pOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFVubG9h
ZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlVW5sb2FkRXZlbnRMaXN0
ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpyZW1vdmVBbGxVbmxvYWRFdmVudExpc3RlbmVycyk6
CisgICAgICAgIChXZWJDb3JlOjphZGRCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlbW92ZUJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAo
V2ViQ29yZTo6cmVtb3ZlQWxsQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEFsbFBlbmRpbmdCZWZvcmVVbmxvYWRFdmVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEFsbFBlbmRpbmdVbmxvYWRF
dmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc2FibGVTdWRkZW5UZXJtaW5h
dGlvbik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKERPTVdpbmRvdyk6
CisKKzIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCiAgICAg
ICAgIEFwcGx5IEZJTkFMIHRvIHRoZSBOb2RlIGhpZXJhcmNoeS4KICAgICAgICAgPGh0dHA6Ly93
ZWJraXQub3JnL2IvMTE1OTg0PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQwNDUxZjAuLmY1
OTJkZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NTIsNiArNzUyLDcgQEAgX19aTjdXZWJD
b3JlMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEQxRXYKIF9fWk43V2ViQ29yZTIzY3JlYXRlRnJh
Z21lbnRGcm9tTm9kZXNFUE5TXzhEb2N1bWVudEVSS04zV1RGNlZlY3RvcklQTlNfNE5vZGVFTG0w
RU5TMl8xNUNyYXNoT25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMjNkYXRhRm9yVVJMQ29tcG9u
ZW50VHlwZUVQNU5TVVJMbAogX19aTjdXZWJDb3JlMjNkZWNvZGVIb3N0TmFtZVdpdGhSYW5nZUVQ
OE5TU3RyaW5nOF9OU1JhbmdlCitfX1pON1dlYkNvcmUyM2VuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
RXYKIF9fWk43V2ViQ29yZTIzZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2VFUDhOU1N0cmluZzhfTlNS
YW5nZQogX19aTjdXZWJDb3JlMjNnZXRIb3N0bmFtZXNXaXRoQ29va2llc0VSS05TXzIxTmV0d29y
a1N0b3JhZ2VTZXNzaW9uRVJOM1dURjdIYXNoU2V0SU5TM182U3RyaW5nRU5TM18xMFN0cmluZ0hh
c2hFTlMzXzEwSGFzaFRyYWl0c0lTNV9FRUVFCiBfX1pON1dlYkNvcmUyNEJpbmFyeVByb3BlcnR5
TGlzdFdyaXRlcjE3d3JpdGVQcm9wZXJ0eUxpc3RFdgpAQCAtNzc1LDYgKzc3Niw3IEBAIF9fWk43
V2ViQ29yZTI0U2NvcGVDb250ZW50RGlzdHJpYnV0aW9uMThjb3VudEVsZW1lbnRTaGFkb3dFUEtO
U18xMFNoYWRvd1Jvb3RFCiBfX1pON1dlYkNvcmUyNGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1cEVQ
TlNfOERvY3VtZW50RVJLTjNXVEY2U3RyaW5nRVM1X05TXzE5UGFyc2VyQ29udGVudFBvbGljeUUK
IF9fWk43V2ViQ29yZTI0ZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzRVJLTjNXVEY2U3RyaW5nRQog
X19aTjdXZWJDb3JlMjRkZWxldGVDb29raWVzRm9ySG9zdG5hbWVFUktOU18yMU5ldHdvcmtTdG9y
YWdlU2Vzc2lvbkVSS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTI0ZGlzYWJsZVN1ZGRlblRl
cm1pbmF0aW9uRXYKIF9fWk43V2ViQ29yZTI0ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uRVJLTjNX
VEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjRub3RpZnlIaXN0b3J5SXRlbUNoYW5nZWRFCiBfX1pO
N1dlYkNvcmUyNHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudEVSS04zV1RGNlN0cmluZ0VTM18KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1MTJlOTA4Li40NzNhN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODgyLDcgKzI4ODIsNyBAQAogCQk5MzlCMDJFRTBF
QTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzlCMDJFQzBFQTJEQkM0MDBDNTQ1NzAgLyogV2lk
dGhJdGVyYXRvci5jcHAgKi87IH07CiAJCTkzOUIwMkVGMEVBMkRCQzQwMEM1NDU3MCAvKiBXaWR0
aEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzlCMDJFRDBFQTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVyYXRvci5oICovOyB9OwogCQk5
M0EzOEI0QjBEMEU1ODA4MDA2ODcyQzIgLyogRWRpdG9yQ29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0EzOEI0QTBEMEU1ODA4MDA2ODcy
QzIgLyogRWRpdG9yQ29tbWFuZC5jcHAgKi87IH07Ci0JCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZC
MiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCMkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0
aW9uLmggKi87IH07CisJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5h
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
MkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNCMkQ4MTgwRjk5MjBFRTAw
NkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1ZGRlblRl
cm1pbmF0aW9uLm1tICovOyB9OwogCQk5M0I2QTBFNjBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4
dE1lbnUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QjZBMEU1MEIwQkNBNUMwMEY1MDI3QSAvKiBDb250ZXh0TWVudS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjZBMEVBMEIwQkNBODQwMEY1MDI3
QSAvKiBDb250ZXh0TWVudU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzQjZBMEU5MEIwQkNBODQwMEY1MDI3QSAvKiBDb250ZXh0TWVudU1hYy5t
bSAqLzsgfTsKQEAgLTIxNjU2LDYgKzIxNjU2LDcgQEAKIAkJCQlCQzY0NjQwQTExRDdGMzA0MDA2
NDU1QjAgLyogRE9NU3RyaW5nTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkY1MDI1QjEwMkJB
OTAxMDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGNTAy
NjMxMDJCQTkyQzAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWFJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTNCMkQ4MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NTA2NTcwMDBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVT
aGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVCNDk4RkYwQURCMzQ4MTAwOTI1Q0JCIC8qIERP
TVN0eWxlU2hlZXRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwNjU3MDIwQUFCNDc2
MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTIzNTE4
LDcgKzIzNTE5LDYgQEAKIAkJCQk2NTZEMzc0ODBBREJBNURFMDBBNDU1NEQgLyogU3VicmVzb3Vy
Y2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OUE3RDEzMEI2REI0RDkwMDExNTVCMyAv
KiBTdWJzdGl0dXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4RjZCMDIwREI1MzAwNjAw
MURCNzk0IC8qIFN1YnN0aXR1dGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTNCMkQ4
MTYwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0MwNzg1MDExNjVENUJFMDAzQTMyRUYgLyogU3VmZml4VHJlZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTc2MjdCOTgxNEZCNTQyNDAwMkNEQ0ExIC8qIFN1cHBsZW1lbnRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwODc1NThDNjEzQjRBNTdEMDBGNDkzMDcgLyogU3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCmluZGV4IDBhODRjYTUuLmViNGM4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaApAQCAtMzE3LDYgKzMxNyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBv
cFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgdm9pZCBlbmFibGVT
dWRkZW5UZXJtaW5hdGlvbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlU3VkZGVuVGVy
bWluYXRpb24oKSB7IH0KKwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2aXJ0dWFsIHZvaWQgc2V0
TGFzdFNldEN1cnNvclRvQ3VycmVudEN1cnNvcigpID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCmluZGV4IGRhMzRhYjQuLjIzZGJiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKQEAgLTE3Niw3ICsxNzYsNyBAQCBzdGF0aWMgdm9pZCBhZGRVbmxvYWRFdmVudExp
c3RlbmVyKERPTVdpbmRvdyogZG9tV2luZG93KQogewogICAgIERPTVdpbmRvd1NldCYgc2V0ID0g
d2luZG93c1dpdGhVbmxvYWRFdmVudExpc3RlbmVycygpOwogICAgIGlmIChzZXQuaXNFbXB0eSgp
KQotICAgICAgICBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICAgICAgZG9tV2luZG93
LT5kaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKICAgICBzZXQuYWRkKGRvbVdpbmRvdyk7CiB9
CiAKQEAgLTE4OCw3ICsxODgsNyBAQCBzdGF0aWMgdm9pZCByZW1vdmVVbmxvYWRFdmVudExpc3Rl
bmVyKERPTVdpbmRvdyogZG9tV2luZG93KQogICAgICAgICByZXR1cm47CiAgICAgc2V0LnJlbW92
ZShpdCk7CiAgICAgaWYgKHNldC5pc0VtcHR5KCkpCi0gICAgICAgIGVuYWJsZVN1ZGRlblRlcm1p
bmF0aW9uKCk7CisgICAgICAgIGRvbVdpbmRvdy0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsK
IH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5lcnMoRE9NV2luZG93
KiBkb21XaW5kb3cpCkBAIC0xOTksMTQgKzE5OSwxNCBAQCBzdGF0aWMgdm9pZCByZW1vdmVBbGxV
bmxvYWRFdmVudExpc3RlbmVycyhET01XaW5kb3cqIGRvbVdpbmRvdykKICAgICAgICAgcmV0dXJu
OwogICAgIHNldC5yZW1vdmVBbGwoaXQpOwogICAgIGlmIChzZXQuaXNFbXB0eSgpKQotICAgICAg
ICBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgICAgICBkb21XaW5kb3ctPmVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGFkZEJlZm9yZVVubG9hZEV2ZW50
TGlzdGVuZXIoRE9NV2luZG93KiBkb21XaW5kb3cpCiB7CiAgICAgRE9NV2luZG93U2V0JiBzZXQg
PSB3aW5kb3dzV2l0aEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKCk7CiAgICAgaWYgKHNldC5p
c0VtcHR5KCkpCi0gICAgICAgIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgICAgICBk
b21XaW5kb3ctPmRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOwogICAgIHNldC5hZGQoZG9tV2lu
ZG93KTsKIH0KIApAQCAtMjE4LDcgKzIxOCw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZUJlZm9yZVVu
bG9hZEV2ZW50TGlzdGVuZXIoRE9NV2luZG93KiBkb21XaW5kb3cpCiAgICAgICAgIHJldHVybjsK
ICAgICBzZXQucmVtb3ZlKGl0KTsKICAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZW5h
YmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICAgICAgZG9tV2luZG93LT5lbmFibGVTdWRkZW5U
ZXJtaW5hdGlvbigpOwogfQogCiBzdGF0aWMgdm9pZCByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVu
dExpc3RlbmVycyhET01XaW5kb3cqIGRvbVdpbmRvdykKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0
aWMgdm9pZCByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVycyhET01XaW5kb3cqIGRv
bVdpbmRvdykKICAgICAgICAgcmV0dXJuOwogICAgIHNldC5yZW1vdmVBbGwoaXQpOwogICAgIGlm
IChzZXQuaXNFbXB0eSgpKQotICAgICAgICBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAg
ICAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKIHN0YXRpYyBi
b29sIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyhET01XaW5kb3cqIHdpbmRvdykKQEAgLTI3
NCw3ICsyNzQsOCBAQCBib29sIERPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nQmVmb3JlVW5s
b2FkRXZlbnRzKCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBlbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIC8vIFdlIG5lZWQgYSBET01XaW5kb3cqIHRvIGNh
bGwgdGhyb3VnaCBvbiBoZXJlLCBhbnkgb25lIHdpbGwgZG8uCisgICAgc2V0LmJlZ2luKCktPmtl
eS0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKIAogICAgIGFscmVhZHlEaXNwYXRjaGVkID0g
dHJ1ZTsKIApAQCAtMzEyLDcgKzMxMyw4IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaEFsbFBl
bmRpbmdVbmxvYWRFdmVudHMoKQogICAgICAgICB3aW5kb3ctPmRpc3BhdGNoRXZlbnQoRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkudW5sb2FkRXZlbnQsIGZhbHNlLCBmYWxzZSksIHdpbmRvdy0+
ZG9jdW1lbnQoKSk7CiAgICAgfQogCi0gICAgZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAg
ICAvLyBXZSBuZWVkIGEgRE9NV2luZG93KiB0byBjYWxsIHRocm91Z2ggb24gaGVyZSwgYW55IG9u
ZSB3aWxsIGRvLgorICAgIHNldC5iZWdpbigpLT5rZXktPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCk7CiAKICAgICBhbHJlYWR5RGlzcGF0Y2hlZCA9IHRydWU7CiB9CkBAIC0yMDE3LDQgKzIwMTks
MTYgQEAgdm9pZCBET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhjb25zdCBTdHJpbmcmIHVybFN0
cmluZywgY29uc3QgU3RyaW5nJiBkaWFsb2dGZWEKICAgICBkaWFsb2dGcmFtZS0+cGFnZSgpLT5j
aHJvbWUoKS0+cnVuTW9kYWwoKTsKIH0KIAordm9pZCBET01XaW5kb3c6OmVuYWJsZVN1ZGRlblRl
cm1pbmF0aW9uKCkKK3sKKyAgICBpZiAoUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAg
ICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5lbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOwor
fQorCit2b2lkIERPTVdpbmRvdzo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBp
ZiAoUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNs
aWVudCgpLT5kaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNzc2ZjFhMi4uMzg2MmMzYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC00MTIsNiArNDEyLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHdpbGxEZXRhY2hEb2N1bWVudEZyb21GcmFtZSgpOwogICAgICAg
ICB2b2lkIHdpbGxEZXN0cm95Q2FjaGVkRnJhbWUoKTsKIAorICAgICAgICB2b2lkIGVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgICAgIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCk7CisKICAgICBwcml2YXRlOgogICAgICAgICBleHBsaWNpdCBET01XaW5kb3coRG9jdW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDg4MWI1NTEuLmRiZDJjNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wNS0xMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgVW5sb2FkIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgcHJldmVu
dCBTYWZhcmkgZnJvbSBpbnN0YS1raWxsaW5nIHRoZSB3ZWIgcHJvY2VzcyBvbiBsYXN0IHRhYiBj
bG9zZS4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1OTg4PgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTM4NzA5NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJv
bWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYkNocm9tZUNs
aWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKwogMjAxMy0wNS0xMCAgQnJpYW4gSi4g
QnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
SW1wbGVtZW50IFdLMiB2ZXJzaW9uIG9mIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzYXZl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCmluZGV4IGZiZWNkYWUuLmFiOTBkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMzYsNiArMTM2LDkgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoTlNSZXNwb25kZXIgKikg
T1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgT1ZF
UlJJREU7CisKKyAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkgT1ZFUlJJ
REU7CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmls
ZUZvclVwbG9hZChjb25zdCBXVEY6OlN0cmluZyYgcGF0aCwgV1RGOjpTdHJpbmcgJmdlbmVyYXRl
ZEZpbGVuYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGdlbmVyYXRlUmVw
bGFjZW1lbnRGaWxlKGNvbnN0IFdURjo6U3RyaW5nJiBwYXRoKSBPVkVSUklERTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRl
eCBiODcyZTIwLi5mYmY0ZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC04MTQsNiArODE0LDE2IEBAIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50Ojp3aWxsUG9wVXBNZW51KE5TTWVudSAqbWVudSkKICAgICBFTkRfQkxPQ0tf
T0JKQ19FWENFUFRJT05TOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZW5hYmxlU3VkZGVu
VGVybWluYXRpb24oKQoreworICAgIFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gZW5hYmxl
U3VkZGVuVGVybWluYXRpb25dOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dIGRp
c2FibGVTdWRkZW5UZXJtaW5hdGlvbl07Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91
bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBT
dHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKQogewogICAgIE5TU3RyaW5nKiBmaWxlbmFtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBlOTI2OTdkLi4zMGQwNzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5zdGEt
a2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcwOTQz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCBX
ZWJDb3JlIGNvbnRyb2wgdGhlIFVJIHByb2Nlc3MncyBzdXBwcmVzc2lvbiBvZiB0aGUgc3VkZGVu
IHRlcm1pbmF0aW9uIG1lY2hhbmlzbS4KKyAgICAgICAgVGhpcyBpcyBpbXBsZW1lbnRlZCBieSBo
YXZpbmcgV2ViQ2hyb21lQ2xpZW50IHB1c2ggRW5hYmxlL0Rpc2FibGVTdWRkZW5UZXJtaW5hdGlv
biBtZXNzYWdlcworICAgICAgICBvdmVyIHRvIHRoZSBVSSBwcm9jZXNzIHdoZXJlIHRoZSBhcHBy
b3ByaWF0ZSBOU1Byb2Nlc3NJbmZvIGNhbGxzIGFyZSBtYWRlLgorCisgICAgICAgIFdlIGFsc28g
dXNlIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGluc3RhLWtpbGwg
YSB3ZWIgcHJvY2VzcyB3aGVuIGl0cyBsYXN0CisgICAgICAgIHBhZ2UgaXMgY2xvc2VkLiBUaGlz
IG1lY2hhbmlzbSBpcyByZS11c2FibGUgaW4gV2ViQ29yZSB0byBwcm90ZWN0IGFnYWluc3Qgc3Vk
ZGVuIHRlcm1pbmF0aW9uCisgICAgICAgIGJ5IHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQcm94eTo6V2ViUHJvY2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpyZW1vdmVXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpl
bmFibGVTdWRkZW5UZXJtaW5hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94
eTo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJQcm9jZXNzUHJveHkpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
aHJvbWVDbGllbnQpOgorCiAyMDEzLTA1LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgdW5uZWNlc3NhcnkgR1RLX0NI
RUNLX1ZFUlNJT04gI2lmZGVmcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAppbmRleCA3OTNiMjJmLi5hOGRlMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUg
IldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5U
ZXJtaW5hdGlvbi5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC05MCw2ICs5MSw3IEBAIFdl
YlByb2Nlc3NQcm94eTo6V2ViUHJvY2Vzc1Byb3h5KFBhc3NSZWZQdHI8V2ViQ29udGV4dD4gY29u
dGV4dCkKICAgICA6IG1fcmVzcG9uc2l2ZW5lc3NUaW1lcih0aGlzKQogICAgICwgbV9jb250ZXh0
KGNvbnRleHQpCiAgICAgLCBtX21heUhhdmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNp
b24oZmFsc2UpCisgICAgLCBtX3N1ZGRlblRlcm1pbmF0aW9uQ291bnRlcigwKQogI2lmIEVOQUJM
RShDVVNUT01fUFJPVE9DT0xTKQogICAgICwgbV9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSh0
aGlzKQogI2VuZGlmCkBAIC0yMDIsNyArMjA0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJl
bW92ZVdlYlBhZ2UodWludDY0X3QgcGFnZUlEKQogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1Mp
CiAgICAgLy8gVGVybWluYXRlIHRoZSB3ZWIgcHJvY2VzcyBpbW1lZGlhdGVseSBpZiB3ZSBoYXZl
IGVub3VnaCBpbmZvcm1hdGlvbiB0byBjb25maWRlbnRseSBkbyBzby4KICAgICAvLyBUaGlzIG9u
bHkgd29ya3MgaWYgd2UncmUgdXNpbmcgYSBuZXR3b3JrIHByb2Nlc3MuIE90aGVyd2lzZSB3ZSBo
YXZlIHRvIHdhaXQgZm9yIHRoZSB3ZWIgcHJvY2VzcyB0byBjbGVhbiB1cC4KLSAgICBpZiAoY2Fu
VGVybWluYXRlQ2hpbGRQcm9jZXNzKCkgJiYgbV9jb250ZXh0LT51c2VzTmV0d29ya1Byb2Nlc3Mo
KSkKKyAgICBpZiAoIW1fc3VkZGVuVGVybWluYXRpb25Db3VudGVyICYmIGNhblRlcm1pbmF0ZUNo
aWxkUHJvY2VzcygpICYmIG1fY29udGV4dC0+dXNlc05ldHdvcmtQcm9jZXNzKCkpCiAgICAgICAg
IHJlcXVlc3RUZXJtaW5hdGlvbigpOwogI2VuZGlmCiB9CkBAIC02NTIsNCArNjU0LDIzIEBAIHZv
aWQgV2ViUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0VGVybWluYXRpb24oKQogICAgIGRpc2Nvbm5lY3Qo
KTsKIH0KIAorCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24o
KQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJDb3Jl
OjplbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIG1fc3VkZGVuVGVybWluYXRpb25Db3Vu
dGVyLS07Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaXNhYmxlU3VkZGVuVGVybWluYXRp
b24oKQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJD
b3JlOjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICBtX3N1ZGRlblRlcm1pbmF0aW9u
Q291bnRlcisrOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA4YTVhYjY3Li40MDVlNDAxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0xMTUsNiArMTE1LDkg
QEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsKICNl
bmRpZgogCisgICAgdm9pZCBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIHZvaWQgZGlz
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisKICAgICB2b2lkIHJlcXVlc3RUZXJtaW5hdGlvbigp
OwogCiBwcml2YXRlOgpAQCAtMTg4LDYgKzE5MSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX21h
eUhhdmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb247IC8vIFRydWUgaWYgYSByZWFk
IGV4dGVuc2lvbiBmb3IgIi8iIHdhcyBldmVyIGdyYW50ZWQgLSB3ZSBkb24ndCB0cmFjayB3aGV0
aGVyIFdlYlByb2Nlc3Mgc3RpbGwgaGFzIGl0LgogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2xvY2Fs
UGF0aHNXaXRoQXNzdW1lZFJlYWRBY2Nlc3M7CiAKKyAgICB1bnNpZ25lZCBtX3N1ZGRlblRlcm1p
bmF0aW9uQ291bnRlcjsKKwogICAgIFdlYlBhZ2VQcm94eU1hcCBtX3BhZ2VNYXA7CiAgICAgV2Vi
RnJhbWVQcm94eU1hcCBtX2ZyYW1lTWFwOwogICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1NYXAg
bV9iYWNrRm9yd2FyZExpc3RJdGVtTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZTEzNWYyNS4uYWQ0Mjg0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluCkBAIC0zMyw2ICszMyw5IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBM
ZWdhY3lSZWNlaXZlciB7CiAKICAgICBTaG91bGRUZXJtaW5hdGUoKSAtPiAoYm9vbCBzaG91bGRU
ZXJtaW5hdGUpCiAKKyAgICBFbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpCisgICAgRGlzYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKCkKKwogICAgICMgUGx1Z2luIG1lc3NhZ2VzLgogI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIEdldFBsdWdpbnMoYm9vbCByZWZyZXNoKSAtPiAoVmVj
dG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IHBsdWdpbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
aW5kZXggOGM1NjI1MC4uMTgxMDY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDUs
NiArNDUsNyBAQAogI2luY2x1ZGUgIldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZl
cmVuY2VzU3RvcmUuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUHJv
Y2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTZWFyY2hQb3B1cE1lbnUuaCIKICNp
bmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmplY3RD
YWNoZS5oPgpAQCAtODQ0LDQgKzg0NSwxNCBAQCBTdHJpbmcgV2ViQ2hyb21lQ2xpZW50OjpwbHVn
SW5FeHRyYVNjcmlwdCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVV
SUNsaWVudCgpLnBsdWdJbkV4dHJhU2NyaXB0KCk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50
OjplbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzUHJveHk6OkVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkpOworfQorCit2b2lk
IFdlYkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RGlzYWJsZVN1ZGRlblRlcm1pbmF0
aW9uKCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IGRkNjliNjYuLjkzMDZmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjA2LDYgKzIw
Niw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBtYWtl
Rmlyc3RSZXNwb25kZXIoKSBPVkVSUklERTsKICNlbmRpZgorCisgICAgdmlydHVhbCB2b2lkIGVu
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpc2Fi
bGVTdWRkZW5UZXJtaW5hdGlvbigpIE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cyYpIGNvbnN0IE9WRVJSSURFOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201506</attachid>
            <date>2013-05-12 13:21:57 -0700</date>
            <delta_ts>2013-05-12 13:27:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115988-v3.diff</filename>
            <type>text/plain</type>
            <size>20815</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZGIxZDZjLi4yMzQxOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTAg
QEAKIDIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5z
dGEta2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcw
OTQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0d28gbWV0aG9kcyB0byBDaHJvbWUgKGFuZCBDaHJvbWVDbGllbnQpOgorCisgICAgICAgICAg
ICAtIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKKyAgICAgICAgICAgIC0gZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKCkKKworICAgICAgICAuLmFuZCBjYWxsIHRoZXNlIGZyb20gRE9NV2luZG93
IGluc3RlYWQgb2YgdGhlIGZyZWUgZ2xvYmFsIGZ1bmN0aW9ucy4KKworICAgICAgICBGb3IgV2Vi
S2l0MSwgaXQganVzdCBjYWxscyB0aGUgTlNQcm9jZXNzSW5mbyBtZXRob2RzIHRvIGtlZXAgYmVo
YXZpb3IgdGhlIHNhbWUuCisgICAgICAgIEZvciBXZWJLaXQyLCB0aGUgbmV3IG1ldGhvZHMgcGx1
bWIgdGhyb3VnaCB0aGUgaW5mb3JtYXRpb24gdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAg
QWxzbyB1cGRhdGVkIHRoZSBET01XaW5kb3cgbG9naWMgdG8gdGhpbmsgaW4gdGVybXMgb2YgcGVy
LURPTVdpbmRvdyBzdWRkZW4gdGVybWluYXRpb24gY291bnRlcnMKKyAgICAgICAgaW5zdGVhZCBv
ZiBhIHByb2Nlc3MtZ2xvYmFsIG9uZSwgc2luY2UgdGhhdCBnZXRzIGNvbmZ1c2luZyBpbiBhIFdL
MiB3b3JsZC4KKyAgICAgICAgV2hlbiBhIERPTVdpbmRvdyB0cmFuc2l0aW9ucyBiZXR3ZWVuIGhh
dmluZy9ub3QgaGF2aW5nIHVubG9hZC9iZWZvcmV1bmxvYWQgZXZlbnQgbGlzdGVuZXJzLAorICAg
ICAgICB3ZSBzZW5kIGEgbm90aWZpY2F0aW9uIHRvIHRoZSBDaHJvbWUuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
ZW5hYmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpkaXNh
YmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRV
bmxvYWRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZVVubG9hZEV2ZW50
TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5l
cnMpOgorICAgICAgICAoV2ViQ29yZTo6YWRkQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpyZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlbW92ZUFsbEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nQmVmb3JlVW5sb2FkRXZl
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nVW5s
b2FkRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZW5hYmxlU3VkZGVuVGVy
bWluYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNhYmxlU3VkZGVuVGVy
bWluYXRpb24pOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgIChET01XaW5k
b3cpOgorCisyMDEzLTA1LTEyICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKwog
ICAgICAgICBBcHBseSBGSU5BTCB0byB0aGUgTm9kZSBoaWVyYXJjaHkuCiAgICAgICAgIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzExNTk4ND4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA0MDQ1MWYw
Li5mNTkyZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzUyLDYgKzc1Miw3IEBAIF9fWk43
V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXREMUV2CiBfX1pON1dlYkNvcmUyM2NyZWF0
ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2Rl
RUxtMEVOUzJfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTIzZGF0YUZvclVSTENv
bXBvbmVudFR5cGVFUDVOU1VSTGwKIF9fWk43V2ViQ29yZTIzZGVjb2RlSG9zdE5hbWVXaXRoUmFu
Z2VFUDhOU1N0cmluZzhfTlNSYW5nZQorX19aTjdXZWJDb3JlMjNlbmFibGVTdWRkZW5UZXJtaW5h
dGlvbkV2CiBfX1pON1dlYkNvcmUyM2VuY29kZUhvc3ROYW1lV2l0aFJhbmdlRVA4TlNTdHJpbmc4
X05TUmFuZ2UKIF9fWk43V2ViQ29yZTIzZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXNFUktOU18yMU5l
dHdvcmtTdG9yYWdlU2Vzc2lvbkVSTjNXVEY3SGFzaFNldElOUzNfNlN0cmluZ0VOUzNfMTBTdHJp
bmdIYXNoRU5TM18xMEhhc2hUcmFpdHNJUzVfRUVFRQogX19aTjdXZWJDb3JlMjRCaW5hcnlQcm9w
ZXJ0eUxpc3RXcml0ZXIxN3dyaXRlUHJvcGVydHlMaXN0RXYKQEAgLTc3NSw2ICs3NzYsNyBAQCBf
X1pON1dlYkNvcmUyNFNjb3BlQ29udGVudERpc3RyaWJ1dGlvbjE4Y291bnRFbGVtZW50U2hhZG93
RVBLTlNfMTBTaGFkb3dSb290RQogX19aTjdXZWJDb3JlMjRjcmVhdGVGcmFnbWVudEZyb21NYXJr
dXBFUE5TXzhEb2N1bWVudEVSS04zV1RGNlN0cmluZ0VTNV9OU18xOVBhcnNlckNvbnRlbnRQb2xp
Y3lFCiBfX1pON1dlYkNvcmUyNGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlc0VSS04zV1RGNlN0cmlu
Z0UKIF9fWk43V2ViQ29yZTI0ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lRVJLTlNfMjFOZXR3b3Jr
U3RvcmFnZVNlc3Npb25FUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUyNGRpc2FibGVTdWRk
ZW5UZXJtaW5hdGlvbkV2CiBfX1pON1dlYkNvcmUyNGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbkVS
S04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTI0bm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkRQog
X19aTjdXZWJDb3JlMjRwYXRoQnlBcHBlbmRpbmdDb21wb25lbnRFUktOM1dURjZTdHJpbmdFUzNf
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggNTEyZTkwOC4uNDczYTdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg4Miw3ICsyODgyLDcgQEAKIAkJOTM5QjAy
RUUwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5QjAyRUMwRUEyREJDNDAwQzU0NTcwIC8q
IFdpZHRoSXRlcmF0b3IuY3BwICovOyB9OwogCQk5MzlCMDJFRjBFQTJEQkM0MDBDNTQ1NzAgLyog
V2lkdGhJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTM5QjAyRUQwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuaCAqLzsgfTsK
IAkJOTNBMzhCNEIwRDBFNTgwODAwNjg3MkMyIC8qIEVkaXRvckNvbW1hbmQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMzhCNEEwRDBFNTgwODAw
Njg3MkMyIC8qIEVkaXRvckNvbW1hbmQuY3BwICovOyB9OwotCQk5M0IyRDgxNjBGOTkyMEQyMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oICovOyB9OworCQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVy
bWluYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE4MEY5OTIw
RUUwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBTdWRk
ZW5UZXJtaW5hdGlvbi5tbSAqLzsgfTsKIAkJOTNCNkEwRTYwQjBCQ0E1QzAwRjUwMjdBIC8qIENv
bnRleHRNZW51LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0I2QTBFNTBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4dE1lbnUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0I2QTBFQTBCMEJDQTg0MDBG
NTAyN0EgLyogQ29udGV4dE1lbnVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0I2QTBFOTBCMEJDQTg0MDBGNTAyN0EgLyogQ29udGV4dE1lbnVN
YWMubW0gKi87IH07CkBAIC0yMTY1Niw2ICsyMTY1Niw3IEBACiAJCQkJQkM2NDY0MEExMUQ3RjMw
NDAwNjQ1NUIwIC8qIERPTVN0cmluZ01hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGNTAyNUIx
MDJCQTkwMTAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RjUwMjYzMTAyQkE5MkMwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwNjU3MDAwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1QjQ5OEZGMEFEQjM0ODEwMDkyNUNCQiAv
KiBET01TdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDY1NzAyMEFB
QjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
MzUxOCw3ICsyMzUxOSw2IEBACiAJCQkJNjU2RDM3NDgwQURCQTVERTAwQTQ1NTREIC8qIFN1YnJl
c291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTlBN0QxMzBCNkRCNEQ5MDAxMTU1
QjMgLyogU3Vic3RpdHV0ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEY2QjAyMERCNTMw
MDYwMDFEQjc5NCAvKiBTdWJzdGl0dXRlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTkz
QjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTdDMDc4NTAxMTY1RDVCRTAwM0EzMkVGIC8qIFN1ZmZpeFRyZWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3NjI3Qjk4MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDg3NTU4QzYxM0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5j
cHAKaW5kZXggMDc5NTlkMC4uMzI2NzUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNDYx
LDYgKzQ2MSwxNiBAQCB2b2lkIENocm9tZTo6cHJpbnQoRnJhbWUqIGZyYW1lKQogICAgIG1fY2xp
ZW50LT5wcmludChmcmFtZSk7CiB9CiAKK3ZvaWQgQ2hyb21lOjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbigpCit7CisgICAgbV9jbGllbnQtPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7Cit9CisK
K3ZvaWQgQ2hyb21lOjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKQoreworICAgIG1fY2xpZW50
LT5kaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKK30KKwogI2lmIEVOQUJMRShESVJFQ1RPUllf
VVBMT0FEKQogdm9pZCBDaHJvbWU6OmVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShGaWxlQ2hvb3Nl
ciogZmlsZUNob29zZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCA1MjkzYzRhLi41ODMxOTIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE0Nyw2ICsxNDcsOSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHByaW50KEZyYW1lKik7CiAKKyAgICB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7
CisgICAgdm9pZCBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKwogI2lmIEVOQUJMRShJTlBV
VF9UWVBFX0NPTE9SKQogICAgIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBjcmVhdGVDb2xvckNo
b29zZXIoQ29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgQ29sb3ImIGluaXRpYWxDb2xvcik7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDBhODRjYTUuLmViNGM4NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzE3LDYgKzMxNyw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYK
IAorICAgIHZpcnR1YWwgdm9pZCBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKSB7IH0KKwogI2lmIFBMQVRGT1JN
KFdJTikKICAgICB2aXJ0dWFsIHZvaWQgc2V0TGFzdFNldEN1cnNvclRvQ3VycmVudEN1cnNvcigp
ID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGRhMzRhYjQuLmY0
NWU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE3NSwyMCArMTc1LDE2IEBA
IHN0YXRpYyBET01XaW5kb3dTZXQmIHdpbmRvd3NXaXRoQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5l
cnMoKQogc3RhdGljIHZvaWQgYWRkVW5sb2FkRXZlbnRMaXN0ZW5lcihET01XaW5kb3cqIGRvbVdp
bmRvdykKIHsKICAgICBET01XaW5kb3dTZXQmIHNldCA9IHdpbmRvd3NXaXRoVW5sb2FkRXZlbnRM
aXN0ZW5lcnMoKTsKLSAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKCk7Ci0gICAgc2V0LmFkZChkb21XaW5kb3cpOworICAgIGlmIChzZXQuYWRk
KGRvbVdpbmRvdykuaXNOZXdFbnRyeSkKKyAgICAgICAgZG9tV2luZG93LT5kaXNhYmxlU3VkZGVu
VGVybWluYXRpb24oKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlVW5sb2FkRXZlbnRMaXN0ZW5l
cihET01XaW5kb3cqIGRvbVdpbmRvdykKIHsKICAgICBET01XaW5kb3dTZXQmIHNldCA9IHdpbmRv
d3NXaXRoVW5sb2FkRXZlbnRMaXN0ZW5lcnMoKTsKICAgICBET01XaW5kb3dTZXQ6Oml0ZXJhdG9y
IGl0ID0gc2V0LmZpbmQoZG9tV2luZG93KTsKLSAgICBpZiAoaXQgPT0gc2V0LmVuZCgpKQotICAg
ICAgICByZXR1cm47Ci0gICAgc2V0LnJlbW92ZShpdCk7Ci0gICAgaWYgKHNldC5pc0VtcHR5KCkp
Ci0gICAgICAgIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgaWYgKHNldC5yZW1vdmUo
aXQpKQorICAgICAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAK
IHN0YXRpYyB2b2lkIHJlbW92ZUFsbFVubG9hZEV2ZW50TGlzdGVuZXJzKERPTVdpbmRvdyogZG9t
V2luZG93KQpAQCAtMTk4LDI3ICsxOTQsMjIgQEAgc3RhdGljIHZvaWQgcmVtb3ZlQWxsVW5sb2Fk
RXZlbnRMaXN0ZW5lcnMoRE9NV2luZG93KiBkb21XaW5kb3cpCiAgICAgaWYgKGl0ID09IHNldC5l
bmQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldC5yZW1vdmVBbGwoaXQpOwotICAgIGlmIChz
ZXQuaXNFbXB0eSgpKQotICAgICAgICBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIGRv
bVdpbmRvdy0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKIH0KIAogc3RhdGljIHZvaWQgYWRk
QmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcihET01XaW5kb3cqIGRvbVdpbmRvdykKIHsKICAgICBE
T01XaW5kb3dTZXQmIHNldCA9IHdpbmRvd3NXaXRoQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMo
KTsKLSAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZGlzYWJsZVN1ZGRlblRlcm1pbmF0
aW9uKCk7Ci0gICAgc2V0LmFkZChkb21XaW5kb3cpOworICAgIGlmIChzZXQuYWRkKGRvbVdpbmRv
dykuaXNOZXdFbnRyeSkKKyAgICAgICAgZG9tV2luZG93LT5kaXNhYmxlU3VkZGVuVGVybWluYXRp
b24oKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcihE
T01XaW5kb3cqIGRvbVdpbmRvdykKIHsKICAgICBET01XaW5kb3dTZXQmIHNldCA9IHdpbmRvd3NX
aXRoQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMoKTsKICAgICBET01XaW5kb3dTZXQ6Oml0ZXJh
dG9yIGl0ID0gc2V0LmZpbmQoZG9tV2luZG93KTsKLSAgICBpZiAoaXQgPT0gc2V0LmVuZCgpKQot
ICAgICAgICByZXR1cm47Ci0gICAgc2V0LnJlbW92ZShpdCk7Ci0gICAgaWYgKHNldC5pc0VtcHR5
KCkpCi0gICAgICAgIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgaWYgKHNldC5yZW1v
dmUoaXQpKQorICAgICAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9
CiAKIHN0YXRpYyB2b2lkIHJlbW92ZUFsbEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKERPTVdp
bmRvdyogZG9tV2luZG93KQpAQCAtMjI4LDggKzIxOSw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZUFs
bEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKERPTVdpbmRvdyogZG9tV2luZG93KQogICAgIGlm
IChpdCA9PSBzZXQuZW5kKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXQucmVtb3ZlQWxsKGl0
KTsKLSAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZW5hYmxlU3VkZGVuVGVybWluYXRp
b24oKTsKKyAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKIHN0
YXRpYyBib29sIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyhET01XaW5kb3cqIHdpbmRvdykK
QEAgLTI1Niw5ICsyNDYsNyBAQCBib29sIERPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nQmVm
b3JlVW5sb2FkRXZlbnRzKCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBWZWN0b3I8UmVm
UHRyPERPTVdpbmRvdz4gPiB3aW5kb3dzOwotICAgIERPTVdpbmRvd1NldDo6aXRlcmF0b3IgZW5k
ID0gc2V0LmVuZCgpOwotICAgIGZvciAoRE9NV2luZG93U2V0OjppdGVyYXRvciBpdCA9IHNldC5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIHdpbmRvd3MuYXBwZW5kKGl0LT5rZXkp
OworICAgIGNvcHlUb1ZlY3RvcihzZXQsIHdpbmRvd3MpOwogCiAgICAgc2l6ZV90IHNpemUgPSB3
aW5kb3dzLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewpA
QCAtMjcyLDEyICsyNjAsMTEgQEAgYm9vbCBET01XaW5kb3c6OmRpc3BhdGNoQWxsUGVuZGluZ0Jl
Zm9yZVVubG9hZEV2ZW50cygpCiAKICAgICAgICAgaWYgKCFmcmFtZS0+bG9hZGVyKCktPnNob3Vs
ZENsb3NlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQogCi0gICAgZW5hYmxl
U3VkZGVuVGVybWluYXRpb24oKTsKKyAgICAgICAgd2luZG93LT5lbmFibGVTdWRkZW5UZXJtaW5h
dGlvbigpOworICAgIH0KIAogICAgIGFscmVhZHlEaXNwYXRjaGVkID0gdHJ1ZTsKLQogICAgIHJl
dHVybiB0cnVlOwogfQogCkBAIC0zMTAsOSArMjk3LDkgQEAgdm9pZCBET01XaW5kb3c6OmRpc3Bh
dGNoQWxsUGVuZGluZ1VubG9hZEV2ZW50cygpCiAKICAgICAgICAgd2luZG93LT5kaXNwYXRjaEV2
ZW50KFBhZ2VUcmFuc2l0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucGFnZWhpZGVFdmVu
dCwgZmFsc2UpLCB3aW5kb3ctPmRvY3VtZW50KCkpOwogICAgICAgICB3aW5kb3ctPmRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudW5sb2FkRXZlbnQsIGZhbHNlLCBmYWxz
ZSksIHdpbmRvdy0+ZG9jdW1lbnQoKSk7Ci0gICAgfQogCi0gICAgZW5hYmxlU3VkZGVuVGVybWlu
YXRpb24oKTsKKyAgICAgICAgd2luZG93LT5lbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAg
IH0KIAogICAgIGFscmVhZHlEaXNwYXRjaGVkID0gdHJ1ZTsKIH0KQEAgLTIwMTcsNCArMjAwNCwx
NiBAQCB2b2lkIERPTVdpbmRvdzo6c2hvd01vZGFsRGlhbG9nKGNvbnN0IFN0cmluZyYgdXJsU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIGRpYWxvZ0ZlYQogICAgIGRpYWxvZ0ZyYW1lLT5wYWdlKCktPmNo
cm9tZSgpLT5ydW5Nb2RhbCgpOwogfQogCit2b2lkIERPTVdpbmRvdzo6ZW5hYmxlU3VkZGVuVGVy
bWluYXRpb24oKQoreworICAgIGlmIChQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpKQorICAgICAg
ICBwYWdlLT5jaHJvbWUoKS0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKK30KKwordm9pZCBE
T01XaW5kb3c6OmRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpCit7CisgICAgaWYgKFBhZ2UqIHBh
Z2UgPSB0aGlzLT5wYWdlKCkpCisgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5kaXNhYmxlU3VkZGVu
VGVybWluYXRpb24oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKaW5kZXggNzc2ZjFhMi4uMzg2MmMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CkBAIC00MTIsNiArNDEyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHdp
bGxEZXRhY2hEb2N1bWVudEZyb21GcmFtZSgpOwogICAgICAgICB2b2lkIHdpbGxEZXN0cm95Q2Fj
aGVkRnJhbWUoKTsKIAorICAgICAgICB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7Cisg
ICAgICAgIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisKICAgICBwcml2YXRlOgog
ICAgICAgICBleHBsaWNpdCBET01XaW5kb3coRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDg4MWI1NTEuLmRiZDJjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMy0wNS0xMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
VW5sb2FkIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgcHJldmVudCBTYWZhcmkgZnJvbSBpbnN0YS1r
aWxsaW5nIHRoZSB3ZWIgcHJvY2VzcyBvbiBsYXN0IHRhYiBjbG9zZS4KKyAgICAgICAgPGh0dHA6
Ly93ZWJraXQub3JnL2IvMTE1OTg4PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTM4NzA5NDM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmVuYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRl
cm1pbmF0aW9uKToKKwogMjAxMy0wNS0xMCAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGlu
Z3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW1wbGVtZW50IFdLMiB2ZXJzaW9u
IG9mIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzYXZlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGZiZWNkYWUuLmFi
OTBkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0xMzYsNiArMTM2LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBtYWtlRmlyc3RSZXNwb25kZXIoTlNSZXNwb25kZXIgKikgT1ZFUlJJREU7CiAKICAgICB2aXJ0
dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgT1ZFUlJJREU7CisKKyAgICB2aXJ0dWFs
IHZvaWQgZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVh
bCBib29sIHNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmlsZUZvclVwbG9hZChjb25zdCBXVEY6
OlN0cmluZyYgcGF0aCwgV1RGOjpTdHJpbmcgJmdlbmVyYXRlZEZpbGVuYW1lKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGdlbmVyYXRlUmVwbGFjZW1lbnRGaWxlKGNvbnN0IFdU
Rjo6U3RyaW5nJiBwYXRoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBiODcyZTIwLi5mYmY0ZGEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCkBAIC04MTQsNiArODE0LDE2IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp3aWxsUG9w
VXBNZW51KE5TTWVudSAqbWVudSkKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQog
Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKQoreworICAg
IFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gZW5hYmxlU3VkZGVuVGVybWluYXRpb25dOwor
fQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sK
KyAgICBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlv
bl07Cit9CisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRl
ZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBTdHJpbmcmIGdlbmVyYXRlZEZpbGVu
YW1lKQogewogICAgIE5TU3RyaW5nKiBmaWxlbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlOTI2OTdkLi4z
MGQwNzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTMtMDUtMTIgIEFuZHJlYXMg
S2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFVubG9hZCBldmVudCBsaXN0ZW5l
cnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5zdGEta2lsbGluZyB0aGUgd2ViIHByb2Nl
c3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNTk4
OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcwOTQzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCBXZWJDb3JlIGNvbnRyb2wgdGhlIFVJ
IHByb2Nlc3MncyBzdXBwcmVzc2lvbiBvZiB0aGUgc3VkZGVuIHRlcm1pbmF0aW9uIG1lY2hhbmlz
bS4KKyAgICAgICAgVGhpcyBpcyBpbXBsZW1lbnRlZCBieSBoYXZpbmcgV2ViQ2hyb21lQ2xpZW50
IHB1c2ggRW5hYmxlL0Rpc2FibGVTdWRkZW5UZXJtaW5hdGlvbiBtZXNzYWdlcworICAgICAgICBv
dmVyIHRvIHRoZSBVSSBwcm9jZXNzIHdoZXJlIHRoZSBhcHByb3ByaWF0ZSBOU1Byb2Nlc3NJbmZv
IGNhbGxzIGFyZSBtYWRlLgorCisgICAgICAgIFdlIGFsc28gdXNlIHRoaXMgaW5mb3JtYXRpb24g
d2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGluc3RhLWtpbGwgYSB3ZWIgcHJvY2VzcyB3aGVuIGl0
cyBsYXN0CisgICAgICAgIHBhZ2UgaXMgY2xvc2VkLiBUaGlzIG1lY2hhbmlzbSBpcyByZS11c2Fi
bGUgaW4gV2ViQ29yZSB0byBwcm90ZWN0IGFnYWluc3Qgc3VkZGVuIHRlcm1pbmF0aW9uCisgICAg
ICAgIGJ5IHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6V2ViUHJvY2Vzc1By
b3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZW1vdmVXZWJQYWdlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjplbmFibGVTdWRkZW5UZXJtaW5hdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlzYWJsZVN1ZGRlblRlcm1p
bmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAg
IChXZWJQcm9jZXNzUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpkaXNh
YmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQpOgorCiAyMDEz
LTA1LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBSZW1vdmUgdW5uZWNlc3NhcnkgR1RLX0NIRUNLX1ZFUlNJT04gI2lmZGVmcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA3OTNi
MjJmLi5hOGRlMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TdWRkZW5UZXJtaW5hdGlvbi5oPgogI2luY2x1
ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CkBAIC05MCw2ICs5MSw3IEBAIFdlYlByb2Nlc3NQcm94eTo6V2ViUHJv
Y2Vzc1Byb3h5KFBhc3NSZWZQdHI8V2ViQ29udGV4dD4gY29udGV4dCkKICAgICA6IG1fcmVzcG9u
c2l2ZW5lc3NUaW1lcih0aGlzKQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX21h
eUhhdmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24oZmFsc2UpCisgICAgLCBtX3N1
ZGRlblRlcm1pbmF0aW9uQ291bnRlcigwKQogI2lmIEVOQUJMRShDVVNUT01fUFJPVE9DT0xTKQog
ICAgICwgbV9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSh0aGlzKQogI2VuZGlmCkBAIC0yMDIs
NyArMjA0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbW92ZVdlYlBhZ2UodWludDY0X3Qg
cGFnZUlEKQogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgLy8gVGVybWluYXRlIHRo
ZSB3ZWIgcHJvY2VzcyBpbW1lZGlhdGVseSBpZiB3ZSBoYXZlIGVub3VnaCBpbmZvcm1hdGlvbiB0
byBjb25maWRlbnRseSBkbyBzby4KICAgICAvLyBUaGlzIG9ubHkgd29ya3MgaWYgd2UncmUgdXNp
bmcgYSBuZXR3b3JrIHByb2Nlc3MuIE90aGVyd2lzZSB3ZSBoYXZlIHRvIHdhaXQgZm9yIHRoZSB3
ZWIgcHJvY2VzcyB0byBjbGVhbiB1cC4KLSAgICBpZiAoY2FuVGVybWluYXRlQ2hpbGRQcm9jZXNz
KCkgJiYgbV9jb250ZXh0LT51c2VzTmV0d29ya1Byb2Nlc3MoKSkKKyAgICBpZiAoIW1fc3VkZGVu
VGVybWluYXRpb25Db3VudGVyICYmIGNhblRlcm1pbmF0ZUNoaWxkUHJvY2VzcygpICYmIG1fY29u
dGV4dC0+dXNlc05ldHdvcmtQcm9jZXNzKCkpCiAgICAgICAgIHJlcXVlc3RUZXJtaW5hdGlvbigp
OwogI2VuZGlmCiB9CkBAIC02NTIsNCArNjU0LDIzIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpy
ZXF1ZXN0VGVybWluYXRpb24oKQogICAgIGRpc2Nvbm5lY3QoKTsKIH0KIAorCit2b2lkIFdlYlBy
b2Nlc3NQcm94eTo6ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKQoreworICAgIGlmICghaXNWYWxp
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJDb3JlOjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbigpOworICAgIG1fc3VkZGVuVGVybWluYXRpb25Db3VudGVyLS07Cit9CisKK3ZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKQoreworICAgIGlmICghaXNW
YWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJDb3JlOjpkaXNhYmxlU3VkZGVuVGVy
bWluYXRpb24oKTsKKyAgICBtX3N1ZGRlblRlcm1pbmF0aW9uQ291bnRlcisrOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaAppbmRleCA4YTVhYjY3Li40MDVlNDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCkBAIC0xMTUsNiArMTE1LDkgQEAgcHVibGljOgogICAgIHZvaWQg
dXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsKICNlbmRpZgogCisgICAgdm9pZCBlbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIHZvaWQgZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCk7CisKICAgICB2b2lkIHJlcXVlc3RUZXJtaW5hdGlvbigpOwogCiBwcml2YXRlOgpAQCAtMTg4
LDYgKzE5MSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX21heUhhdmVVbml2ZXJzYWxGaWxlUmVh
ZFNhbmRib3hFeHRlbnNpb247IC8vIFRydWUgaWYgYSByZWFkIGV4dGVuc2lvbiBmb3IgIi8iIHdh
cyBldmVyIGdyYW50ZWQgLSB3ZSBkb24ndCB0cmFjayB3aGV0aGVyIFdlYlByb2Nlc3Mgc3RpbGwg
aGFzIGl0LgogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2xvY2FsUGF0aHNXaXRoQXNzdW1lZFJlYWRB
Y2Nlc3M7CiAKKyAgICB1bnNpZ25lZCBtX3N1ZGRlblRlcm1pbmF0aW9uQ291bnRlcjsKKwogICAg
IFdlYlBhZ2VQcm94eU1hcCBtX3BhZ2VNYXA7CiAgICAgV2ViRnJhbWVQcm94eU1hcCBtX2ZyYW1l
TWFwOwogICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1NYXAgbV9iYWNrRm9yd2FyZExpc3RJdGVt
TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggZTEzNWYyNS4uYWQ0Mjg0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMyw2ICsz
Myw5IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAKICAg
ICBTaG91bGRUZXJtaW5hdGUoKSAtPiAoYm9vbCBzaG91bGRUZXJtaW5hdGUpCiAKKyAgICBFbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbigpCisgICAgRGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKKwog
ICAgICMgUGx1Z2luIG1lc3NhZ2VzLgogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
ICAgIEdldFBsdWdpbnMoYm9vbCByZWZyZXNoKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlBsdWdpbklu
Zm8+IHBsdWdpbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggOGM1NjI1MC4uMTgxMDY3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUg
IldlYlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJTZWFyY2hQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9y
aWdpbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgpAQCAtODQ0LDQgKzg0
NSwxNCBAQCBTdHJpbmcgV2ViQ2hyb21lQ2xpZW50OjpwbHVnSW5FeHRyYVNjcmlwdCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVVSUNsaWVudCgpLnBsdWdJbkV4dHJh
U2NyaXB0KCk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbigpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkVu
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkpOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlz
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6RGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGRkNjliNjYuLjkzMDZmZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjA2LDYgKzIwNiw5IEBAIHByaXZhdGU6CiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoKSBPVkVS
UklERTsKICNlbmRpZgorCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigp
IE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdwb3J0UHJvcGVy
dGllc0RpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpIGNvbnN0IE9W
RVJSSURFOwogCg==
</data>
<flag name="commit-queue"
          id="222842"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201507</attachid>
            <date>2013-05-12 13:27:31 -0700</date>
            <delta_ts>2013-05-12 16:15:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115988-v4.diff</filename>
            <type>text/plain</type>
            <size>20417</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZGIxZDZjLi4yMzQxOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTAg
QEAKIDIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5z
dGEta2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcw
OTQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0d28gbWV0aG9kcyB0byBDaHJvbWUgKGFuZCBDaHJvbWVDbGllbnQpOgorCisgICAgICAgICAg
ICAtIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKKyAgICAgICAgICAgIC0gZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKCkKKworICAgICAgICAuLmFuZCBjYWxsIHRoZXNlIGZyb20gRE9NV2luZG93
IGluc3RlYWQgb2YgdGhlIGZyZWUgZ2xvYmFsIGZ1bmN0aW9ucy4KKworICAgICAgICBGb3IgV2Vi
S2l0MSwgaXQganVzdCBjYWxscyB0aGUgTlNQcm9jZXNzSW5mbyBtZXRob2RzIHRvIGtlZXAgYmVo
YXZpb3IgdGhlIHNhbWUuCisgICAgICAgIEZvciBXZWJLaXQyLCB0aGUgbmV3IG1ldGhvZHMgcGx1
bWIgdGhyb3VnaCB0aGUgaW5mb3JtYXRpb24gdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAg
QWxzbyB1cGRhdGVkIHRoZSBET01XaW5kb3cgbG9naWMgdG8gdGhpbmsgaW4gdGVybXMgb2YgcGVy
LURPTVdpbmRvdyBzdWRkZW4gdGVybWluYXRpb24gY291bnRlcnMKKyAgICAgICAgaW5zdGVhZCBv
ZiBhIHByb2Nlc3MtZ2xvYmFsIG9uZSwgc2luY2UgdGhhdCBnZXRzIGNvbmZ1c2luZyBpbiBhIFdL
MiB3b3JsZC4KKyAgICAgICAgV2hlbiBhIERPTVdpbmRvdyB0cmFuc2l0aW9ucyBiZXR3ZWVuIGhh
dmluZy9ub3QgaGF2aW5nIHVubG9hZC9iZWZvcmV1bmxvYWQgZXZlbnQgbGlzdGVuZXJzLAorICAg
ICAgICB3ZSBzZW5kIGEgbm90aWZpY2F0aW9uIHRvIHRoZSBDaHJvbWUuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
ZW5hYmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpkaXNh
YmxlU3VkZGVuVGVybWluYXRpb24pOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRV
bmxvYWRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZVVubG9hZEV2ZW50
TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5l
cnMpOgorICAgICAgICAoV2ViQ29yZTo6YWRkQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpyZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlbW92ZUFsbEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nQmVmb3JlVW5sb2FkRXZl
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hBbGxQZW5kaW5nVW5s
b2FkRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZW5hYmxlU3VkZGVuVGVy
bWluYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNhYmxlU3VkZGVuVGVy
bWluYXRpb24pOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgIChET01XaW5k
b3cpOgorCisyMDEzLTA1LTEyICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKwog
ICAgICAgICBBcHBseSBGSU5BTCB0byB0aGUgTm9kZSBoaWVyYXJjaHkuCiAgICAgICAgIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzExNTk4ND4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA0MDQ1MWYw
Li5mNTkyZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzUyLDYgKzc1Miw3IEBAIF9fWk43
V2ViQ29yZTIzTXV0YWJsZVN0eWxlUHJvcGVydHlTZXREMUV2CiBfX1pON1dlYkNvcmUyM2NyZWF0
ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2Rl
RUxtMEVOUzJfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTIzZGF0YUZvclVSTENv
bXBvbmVudFR5cGVFUDVOU1VSTGwKIF9fWk43V2ViQ29yZTIzZGVjb2RlSG9zdE5hbWVXaXRoUmFu
Z2VFUDhOU1N0cmluZzhfTlNSYW5nZQorX19aTjdXZWJDb3JlMjNlbmFibGVTdWRkZW5UZXJtaW5h
dGlvbkV2CiBfX1pON1dlYkNvcmUyM2VuY29kZUhvc3ROYW1lV2l0aFJhbmdlRVA4TlNTdHJpbmc4
X05TUmFuZ2UKIF9fWk43V2ViQ29yZTIzZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXNFUktOU18yMU5l
dHdvcmtTdG9yYWdlU2Vzc2lvbkVSTjNXVEY3SGFzaFNldElOUzNfNlN0cmluZ0VOUzNfMTBTdHJp
bmdIYXNoRU5TM18xMEhhc2hUcmFpdHNJUzVfRUVFRQogX19aTjdXZWJDb3JlMjRCaW5hcnlQcm9w
ZXJ0eUxpc3RXcml0ZXIxN3dyaXRlUHJvcGVydHlMaXN0RXYKQEAgLTc3NSw2ICs3NzYsNyBAQCBf
X1pON1dlYkNvcmUyNFNjb3BlQ29udGVudERpc3RyaWJ1dGlvbjE4Y291bnRFbGVtZW50U2hhZG93
RVBLTlNfMTBTaGFkb3dSb290RQogX19aTjdXZWJDb3JlMjRjcmVhdGVGcmFnbWVudEZyb21NYXJr
dXBFUE5TXzhEb2N1bWVudEVSS04zV1RGNlN0cmluZ0VTNV9OU18xOVBhcnNlckNvbnRlbnRQb2xp
Y3lFCiBfX1pON1dlYkNvcmUyNGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlc0VSS04zV1RGNlN0cmlu
Z0UKIF9fWk43V2ViQ29yZTI0ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lRVJLTlNfMjFOZXR3b3Jr
U3RvcmFnZVNlc3Npb25FUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUyNGRpc2FibGVTdWRk
ZW5UZXJtaW5hdGlvbkV2CiBfX1pON1dlYkNvcmUyNGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbkVS
S04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTI0bm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkRQog
X19aTjdXZWJDb3JlMjRwYXRoQnlBcHBlbmRpbmdDb21wb25lbnRFUktOM1dURjZTdHJpbmdFUzNf
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggNTEyZTkwOC4uNDczYTdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg4Miw3ICsyODgyLDcgQEAKIAkJOTM5QjAy
RUUwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5QjAyRUMwRUEyREJDNDAwQzU0NTcwIC8q
IFdpZHRoSXRlcmF0b3IuY3BwICovOyB9OwogCQk5MzlCMDJFRjBFQTJEQkM0MDBDNTQ1NzAgLyog
V2lkdGhJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTM5QjAyRUQwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0b3IuaCAqLzsgfTsK
IAkJOTNBMzhCNEIwRDBFNTgwODAwNjg3MkMyIC8qIEVkaXRvckNvbW1hbmQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMzhCNEEwRDBFNTgwODAw
Njg3MkMyIC8qIEVkaXRvckNvbW1hbmQuY3BwICovOyB9OwotCQk5M0IyRDgxNjBGOTkyMEQyMDA2
QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJt
aW5hdGlvbi5oICovOyB9OworCQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVy
bWluYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQjJEODE1MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjJEODE4MEY5OTIw
RUUwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjJEODE3MEY5OTIwRUUwMDZBRTZCMiAvKiBTdWRk
ZW5UZXJtaW5hdGlvbi5tbSAqLzsgfTsKIAkJOTNCNkEwRTYwQjBCQ0E1QzAwRjUwMjdBIC8qIENv
bnRleHRNZW51LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0I2QTBFNTBCMEJDQTVDMDBGNTAyN0EgLyogQ29udGV4dE1lbnUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0I2QTBFQTBCMEJDQTg0MDBG
NTAyN0EgLyogQ29udGV4dE1lbnVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0I2QTBFOTBCMEJDQTg0MDBGNTAyN0EgLyogQ29udGV4dE1lbnVN
YWMubW0gKi87IH07CkBAIC0yMTY1Niw2ICsyMTY1Niw3IEBACiAJCQkJQkM2NDY0MEExMUQ3RjMw
NDAwNjQ1NUIwIC8qIERPTVN0cmluZ01hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGNTAyNUIx
MDJCQTkwMTAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RjUwMjYzMTAyQkE5MkMwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzQjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwNjU3MDAwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1QjQ5OEZGMEFEQjM0ODEwMDkyNUNCQiAv
KiBET01TdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDY1NzAyMEFB
QjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
MzUxOCw3ICsyMzUxOSw2IEBACiAJCQkJNjU2RDM3NDgwQURCQTVERTAwQTQ1NTREIC8qIFN1YnJl
c291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTlBN0QxMzBCNkRCNEQ5MDAxMTU1
QjMgLyogU3Vic3RpdHV0ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEY2QjAyMERCNTMw
MDYwMDFEQjc5NCAvKiBTdWJzdGl0dXRlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTkz
QjJEODE2MEY5OTIwRDIwMDZBRTZCMiAvKiBTdWRkZW5UZXJtaW5hdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTdDMDc4NTAxMTY1RDVCRTAwM0EzMkVGIC8qIFN1ZmZpeFRyZWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3NjI3Qjk4MTRGQjU0MjQwMDJDRENBMSAvKiBTdXBwbGVtZW50YWJsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDg3NTU4QzYxM0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5j
cHAKaW5kZXggMDc5NTlkMC4uMzI2NzUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNDYx
LDYgKzQ2MSwxNiBAQCB2b2lkIENocm9tZTo6cHJpbnQoRnJhbWUqIGZyYW1lKQogICAgIG1fY2xp
ZW50LT5wcmludChmcmFtZSk7CiB9CiAKK3ZvaWQgQ2hyb21lOjplbmFibGVTdWRkZW5UZXJtaW5h
dGlvbigpCit7CisgICAgbV9jbGllbnQtPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7Cit9CisK
K3ZvaWQgQ2hyb21lOjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKQoreworICAgIG1fY2xpZW50
LT5kaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKK30KKwogI2lmIEVOQUJMRShESVJFQ1RPUllf
VVBMT0FEKQogdm9pZCBDaHJvbWU6OmVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShGaWxlQ2hvb3Nl
ciogZmlsZUNob29zZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCA1MjkzYzRhLi41ODMxOTIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE0Nyw2ICsxNDcsOSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHByaW50KEZyYW1lKik7CiAKKyAgICB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7
CisgICAgdm9pZCBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKwogI2lmIEVOQUJMRShJTlBV
VF9UWVBFX0NPTE9SKQogICAgIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBjcmVhdGVDb2xvckNo
b29zZXIoQ29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgQ29sb3ImIGluaXRpYWxDb2xvcik7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDBhODRjYTUuLmViNGM4NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzE3LDYgKzMxNyw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYK
IAorICAgIHZpcnR1YWwgdm9pZCBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKSB7IH0KKwogI2lmIFBMQVRGT1JN
KFdJTikKICAgICB2aXJ0dWFsIHZvaWQgc2V0TGFzdFNldEN1cnNvclRvQ3VycmVudEN1cnNvcigp
ID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGRhMzRhYjQuLjRj
NjUzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE3NSwyMCArMTc1LDE2IEBA
IHN0YXRpYyBET01XaW5kb3dTZXQmIHdpbmRvd3NXaXRoQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5l
cnMoKQogc3RhdGljIHZvaWQgYWRkVW5sb2FkRXZlbnRMaXN0ZW5lcihET01XaW5kb3cqIGRvbVdp
bmRvdykKIHsKICAgICBET01XaW5kb3dTZXQmIHNldCA9IHdpbmRvd3NXaXRoVW5sb2FkRXZlbnRM
aXN0ZW5lcnMoKTsKLSAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKCk7Ci0gICAgc2V0LmFkZChkb21XaW5kb3cpOworICAgIGlmIChzZXQuYWRk
KGRvbVdpbmRvdykuaXNOZXdFbnRyeSkKKyAgICAgICAgZG9tV2luZG93LT5kaXNhYmxlU3VkZGVu
VGVybWluYXRpb24oKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlVW5sb2FkRXZlbnRMaXN0ZW5l
cihET01XaW5kb3cqIGRvbVdpbmRvdykKIHsKICAgICBET01XaW5kb3dTZXQmIHNldCA9IHdpbmRv
d3NXaXRoVW5sb2FkRXZlbnRMaXN0ZW5lcnMoKTsKICAgICBET01XaW5kb3dTZXQ6Oml0ZXJhdG9y
IGl0ID0gc2V0LmZpbmQoZG9tV2luZG93KTsKLSAgICBpZiAoaXQgPT0gc2V0LmVuZCgpKQotICAg
ICAgICByZXR1cm47Ci0gICAgc2V0LnJlbW92ZShpdCk7Ci0gICAgaWYgKHNldC5pc0VtcHR5KCkp
Ci0gICAgICAgIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgaWYgKHNldC5yZW1vdmUo
aXQpKQorICAgICAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAK
IHN0YXRpYyB2b2lkIHJlbW92ZUFsbFVubG9hZEV2ZW50TGlzdGVuZXJzKERPTVdpbmRvdyogZG9t
V2luZG93KQpAQCAtMTk4LDI3ICsxOTQsMjIgQEAgc3RhdGljIHZvaWQgcmVtb3ZlQWxsVW5sb2Fk
RXZlbnRMaXN0ZW5lcnMoRE9NV2luZG93KiBkb21XaW5kb3cpCiAgICAgaWYgKGl0ID09IHNldC5l
bmQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldC5yZW1vdmVBbGwoaXQpOwotICAgIGlmIChz
ZXQuaXNFbXB0eSgpKQotICAgICAgICBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIGRv
bVdpbmRvdy0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKIH0KIAogc3RhdGljIHZvaWQgYWRk
QmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcihET01XaW5kb3cqIGRvbVdpbmRvdykKIHsKICAgICBE
T01XaW5kb3dTZXQmIHNldCA9IHdpbmRvd3NXaXRoQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMo
KTsKLSAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZGlzYWJsZVN1ZGRlblRlcm1pbmF0
aW9uKCk7Ci0gICAgc2V0LmFkZChkb21XaW5kb3cpOworICAgIGlmIChzZXQuYWRkKGRvbVdpbmRv
dykuaXNOZXdFbnRyeSkKKyAgICAgICAgZG9tV2luZG93LT5kaXNhYmxlU3VkZGVuVGVybWluYXRp
b24oKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcihE
T01XaW5kb3cqIGRvbVdpbmRvdykKIHsKICAgICBET01XaW5kb3dTZXQmIHNldCA9IHdpbmRvd3NX
aXRoQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMoKTsKICAgICBET01XaW5kb3dTZXQ6Oml0ZXJh
dG9yIGl0ID0gc2V0LmZpbmQoZG9tV2luZG93KTsKLSAgICBpZiAoaXQgPT0gc2V0LmVuZCgpKQot
ICAgICAgICByZXR1cm47Ci0gICAgc2V0LnJlbW92ZShpdCk7Ci0gICAgaWYgKHNldC5pc0VtcHR5
KCkpCi0gICAgICAgIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgaWYgKHNldC5yZW1v
dmUoaXQpKQorICAgICAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9
CiAKIHN0YXRpYyB2b2lkIHJlbW92ZUFsbEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKERPTVdp
bmRvdyogZG9tV2luZG93KQpAQCAtMjI4LDggKzIxOSw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZUFs
bEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKERPTVdpbmRvdyogZG9tV2luZG93KQogICAgIGlm
IChpdCA9PSBzZXQuZW5kKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXQucmVtb3ZlQWxsKGl0
KTsKLSAgICBpZiAoc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgZW5hYmxlU3VkZGVuVGVybWluYXRp
b24oKTsKKyAgICBkb21XaW5kb3ctPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKIHN0
YXRpYyBib29sIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyhET01XaW5kb3cqIHdpbmRvdykK
QEAgLTI3MiwxMiArMjYyLDExIEBAIGJvb2wgRE9NV2luZG93OjpkaXNwYXRjaEFsbFBlbmRpbmdC
ZWZvcmVVbmxvYWRFdmVudHMoKQogCiAgICAgICAgIGlmICghZnJhbWUtPmxvYWRlcigpLT5zaG91
bGRDbG9zZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KIAotICAgIGVuYWJs
ZVN1ZGRlblRlcm1pbmF0aW9uKCk7CisgICAgICAgIHdpbmRvdy0+ZW5hYmxlU3VkZGVuVGVybWlu
YXRpb24oKTsKKyAgICB9CiAKICAgICBhbHJlYWR5RGlzcGF0Y2hlZCA9IHRydWU7Ci0KICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMzEwLDkgKzI5OSw5IEBAIHZvaWQgRE9NV2luZG93OjpkaXNw
YXRjaEFsbFBlbmRpbmdVbmxvYWRFdmVudHMoKQogCiAgICAgICAgIHdpbmRvdy0+ZGlzcGF0Y2hF
dmVudChQYWdlVHJhbnNpdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBhZ2VoaWRlRXZl
bnQsIGZhbHNlKSwgd2luZG93LT5kb2N1bWVudCgpKTsKICAgICAgICAgd2luZG93LT5kaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnVubG9hZEV2ZW50LCBmYWxzZSwgZmFs
c2UpLCB3aW5kb3ctPmRvY3VtZW50KCkpOwotICAgIH0KIAotICAgIGVuYWJsZVN1ZGRlblRlcm1p
bmF0aW9uKCk7CisgICAgICAgIHdpbmRvdy0+ZW5hYmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAg
ICB9CiAKICAgICBhbHJlYWR5RGlzcGF0Y2hlZCA9IHRydWU7CiB9CkBAIC0yMDE3LDQgKzIwMDYs
MTYgQEAgdm9pZCBET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhjb25zdCBTdHJpbmcmIHVybFN0
cmluZywgY29uc3QgU3RyaW5nJiBkaWFsb2dGZWEKICAgICBkaWFsb2dGcmFtZS0+cGFnZSgpLT5j
aHJvbWUoKS0+cnVuTW9kYWwoKTsKIH0KIAordm9pZCBET01XaW5kb3c6OmVuYWJsZVN1ZGRlblRl
cm1pbmF0aW9uKCkKK3sKKyAgICBpZiAoUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAg
ICAgcGFnZS0+Y2hyb21lKCktPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7Cit9CisKK3ZvaWQg
RE9NV2luZG93OjpkaXNhYmxlU3VkZGVuVGVybWluYXRpb24oKQoreworICAgIGlmIChQYWdlKiBw
YWdlID0gdGhpcy0+cGFnZSgpKQorICAgICAgICBwYWdlLT5jaHJvbWUoKS0+ZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCmluZGV4IDc3NmYxYTIuLjM4NjJjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aApAQCAtNDEyLDYgKzQxMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB3
aWxsRGV0YWNoRG9jdW1lbnRGcm9tRnJhbWUoKTsKICAgICAgICAgdm9pZCB3aWxsRGVzdHJveUNh
Y2hlZEZyYW1lKCk7CiAKKyAgICAgICAgdm9pZCBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpOwor
ICAgICAgICB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOworCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgZXhwbGljaXQgRE9NV2luZG93KERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA4ODFiNTUxLi5kYmQyYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTMtMDUtMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFVubG9hZCBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIHByZXZlbnQgU2FmYXJpIGZyb20gaW5zdGEt
a2lsbGluZyB0aGUgd2ViIHByb2Nlc3Mgb24gbGFzdCB0YWIgY2xvc2UuCisgICAgICAgIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzExNTk4OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzODcwOTQz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjplbmFibGVTdWRk
ZW5UZXJtaW5hdGlvbik6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmRpc2FibGVTdWRkZW5U
ZXJtaW5hdGlvbik6CisKIDIwMTMtMDUtMTAgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hp
bmd0b24uZWR1PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBXSzIgdmVyc2lv
biBvZiBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2F2ZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBmYmVjZGFlLi5h
YjkwZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMTM2LDYgKzEzNiw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgbWFrZUZpcnN0UmVzcG9uZGVyKE5TUmVzcG9uZGVyICopIE9WRVJSSURFOwogCiAgICAgdmly
dHVhbCB2b2lkIHdpbGxQb3BVcE1lbnUoTlNNZW51ICopIE9WRVJSSURFOworCisgICAgdmlydHVh
bCB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpIE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgV1RG
OjpTdHJpbmcmIHBhdGgsIFdURjo6U3RyaW5nICZnZW5lcmF0ZWRGaWxlbmFtZSkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBXVEY6OlN0cmluZyBnZW5lcmF0ZVJlcGxhY2VtZW50RmlsZShjb25zdCBX
VEY6OlN0cmluZyYgcGF0aCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYjg3MmUyMC4uZmJmNGRhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQpAQCAtODE0LDYgKzgxNCwxNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6d2lsbFBv
cFVwTWVudShOU01lbnUgKm1lbnUpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0K
IAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAg
ICBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uXTsK
K30KKwordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpCit7
CisgICAgW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBkaXNhYmxlU3VkZGVuVGVybWluYXRp
b25dOworfQorCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2hvdWxkUmVwbGFjZVdpdGhHZW5lcmF0
ZWRGaWxlRm9yVXBsb2FkKGNvbnN0IFN0cmluZyYgcGF0aCwgU3RyaW5nJiBnZW5lcmF0ZWRGaWxl
bmFtZSkKIHsKICAgICBOU1N0cmluZyogZmlsZW5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTkyNjk3ZC4u
MzBkMDc4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA1LTEyICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBVbmxvYWQgZXZlbnQgbGlzdGVu
ZXJzIHNob3VsZCBwcmV2ZW50IFNhZmFyaSBmcm9tIGluc3RhLWtpbGxpbmcgdGhlIHdlYiBwcm9j
ZXNzIG9uIGxhc3QgdGFiIGNsb3NlLgorICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTU5
ODg+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzg3MDk0Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXQgV2ViQ29yZSBjb250cm9sIHRoZSBV
SSBwcm9jZXNzJ3Mgc3VwcHJlc3Npb24gb2YgdGhlIHN1ZGRlbiB0ZXJtaW5hdGlvbiBtZWNoYW5p
c20uCisgICAgICAgIFRoaXMgaXMgaW1wbGVtZW50ZWQgYnkgaGF2aW5nIFdlYkNocm9tZUNsaWVu
dCBwdXNoIEVuYWJsZS9EaXNhYmxlU3VkZGVuVGVybWluYXRpb24gbWVzc2FnZXMKKyAgICAgICAg
b3ZlciB0byB0aGUgVUkgcHJvY2VzcyB3aGVyZSB0aGUgYXBwcm9wcmlhdGUgTlNQcm9jZXNzSW5m
byBjYWxscyBhcmUgbWFkZS4KKworICAgICAgICBXZSBhbHNvIHVzZSB0aGlzIGluZm9ybWF0aW9u
IHdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBpbnN0YS1raWxsIGEgd2ViIHByb2Nlc3Mgd2hlbiBp
dHMgbGFzdAorICAgICAgICBwYWdlIGlzIGNsb3NlZC4gVGhpcyBtZWNoYW5pc20gaXMgcmUtdXNh
YmxlIGluIFdlYkNvcmUgdG8gcHJvdGVjdCBhZ2FpbnN0IHN1ZGRlbiB0ZXJtaW5hdGlvbgorICAg
ICAgICBieSB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OldlYlByb2Nlc3NQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVtb3ZlV2ViUGFnZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlU3VkZGVuVGVybWluYXRp
b24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpc2FibGVTdWRkZW5UZXJt
aW5hdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAg
ICAoV2ViUHJvY2Vzc1Byb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjplbmFibGVT
dWRkZW5UZXJtaW5hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6ZGlz
YWJsZVN1ZGRlblRlcm1pbmF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAx
My0wNS0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gUmVtb3ZlIHVubmVjZXNzYXJ5IEdUS19DSEVDS19WRVJTSU9OICNpZmRlZnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggNzkz
YjIyZi4uYThkZTAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvS1VSTC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU3VkZGVuVGVybWluYXRpb24uaD4KICNpbmNs
dWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgpAQCAtOTAsNiArOTEsNyBAQCBXZWJQcm9jZXNzUHJveHk6OldlYlBy
b2Nlc3NQcm94eShQYXNzUmVmUHRyPFdlYkNvbnRleHQ+IGNvbnRleHQpCiAgICAgOiBtX3Jlc3Bv
bnNpdmVuZXNzVGltZXIodGhpcykKICAgICAsIG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV9t
YXlIYXZlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKGZhbHNlKQorICAgICwgbV9z
dWRkZW5UZXJtaW5hdGlvbkNvdW50ZXIoMCkKICNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09MUykK
ICAgICAsIG1fY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkodGhpcykKICNlbmRpZgpAQCAtMjAy
LDcgKzIwNCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZW1vdmVXZWJQYWdlKHVpbnQ2NF90
IHBhZ2VJRCkKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAgIC8vIFRlcm1pbmF0ZSB0
aGUgd2ViIHByb2Nlc3MgaW1tZWRpYXRlbHkgaWYgd2UgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24g
dG8gY29uZmlkZW50bHkgZG8gc28uCiAgICAgLy8gVGhpcyBvbmx5IHdvcmtzIGlmIHdlJ3JlIHVz
aW5nIGEgbmV0d29yayBwcm9jZXNzLiBPdGhlcndpc2Ugd2UgaGF2ZSB0byB3YWl0IGZvciB0aGUg
d2ViIHByb2Nlc3MgdG8gY2xlYW4gdXAuCi0gICAgaWYgKGNhblRlcm1pbmF0ZUNoaWxkUHJvY2Vz
cygpICYmIG1fY29udGV4dC0+dXNlc05ldHdvcmtQcm9jZXNzKCkpCisgICAgaWYgKCFtX3N1ZGRl
blRlcm1pbmF0aW9uQ291bnRlciAmJiBjYW5UZXJtaW5hdGVDaGlsZFByb2Nlc3MoKSAmJiBtX2Nv
bnRleHQtPnVzZXNOZXR3b3JrUHJvY2VzcygpKQogICAgICAgICByZXF1ZXN0VGVybWluYXRpb24o
KTsKICNlbmRpZgogfQpAQCAtNjUyLDQgKzY1NCwyMyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6
cmVxdWVzdFRlcm1pbmF0aW9uKCkKICAgICBkaXNjb25uZWN0KCk7CiB9CiAKKwordm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBpZiAoIWlzVmFs
aWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6ZW5hYmxlU3VkZGVuVGVybWlu
YXRpb24oKTsKKyAgICBtX3N1ZGRlblRlcm1pbmF0aW9uQ291bnRlci0tOworfQorCit2b2lkIFdl
YlByb2Nlc3NQcm94eTo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKK3sKKyAgICBpZiAoIWlz
VmFsaWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6ZGlzYWJsZVN1ZGRlblRl
cm1pbmF0aW9uKCk7CisgICAgbV9zdWRkZW5UZXJtaW5hdGlvbkNvdW50ZXIrKzsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKaW5kZXggOGE1YWI2Ny4uNDA1ZTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMTE1LDYgKzExNSw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgZW5h
YmxlU3VkZGVuVGVybWluYXRpb24oKTsKKyAgICB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlv
bigpOworCiAgICAgdm9pZCByZXF1ZXN0VGVybWluYXRpb24oKTsKIAogcHJpdmF0ZToKQEAgLTE4
OCw2ICsxOTEsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9tYXlIYXZlVW5pdmVyc2FsRmlsZVJl
YWRTYW5kYm94RXh0ZW5zaW9uOyAvLyBUcnVlIGlmIGEgcmVhZCBleHRlbnNpb24gZm9yICIvIiB3
YXMgZXZlciBncmFudGVkIC0gd2UgZG9uJ3QgdHJhY2sgd2hldGhlciBXZWJQcm9jZXNzIHN0aWxs
IGhhcyBpdC4KICAgICBIYXNoU2V0PFN0cmluZz4gbV9sb2NhbFBhdGhzV2l0aEFzc3VtZWRSZWFk
QWNjZXNzOwogCisgICAgdW5zaWduZWQgbV9zdWRkZW5UZXJtaW5hdGlvbkNvdW50ZXI7CisKICAg
ICBXZWJQYWdlUHJveHlNYXAgbV9wYWdlTWFwOwogICAgIFdlYkZyYW1lUHJveHlNYXAgbV9mcmFt
ZU1hcDsKICAgICBXZWJCYWNrRm9yd2FyZExpc3RJdGVtTWFwIG1fYmFja0ZvcndhcmRMaXN0SXRl
bU1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IGUxMzVmMjUuLmFkNDI4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzMsNiAr
MzMsOSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogCiAg
ICAgU2hvdWxkVGVybWluYXRlKCkgLT4gKGJvb2wgc2hvdWxkVGVybWluYXRlKQogCisgICAgRW5h
YmxlU3VkZGVuVGVybWluYXRpb24oKQorICAgIERpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpCisK
ICAgICAjIFBsdWdpbiBtZXNzYWdlcy4KICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
ICAgICBHZXRQbHVnaW5zKGJvb2wgcmVmcmVzaCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5J
bmZvPiBwbHVnaW5zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDhjNTYyNTAuLjE4MTA2
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRl
ICJXZWJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCiAjaW5j
bHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViU2VhcmNoUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlP
cmlnaW4uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KQEAgLTg0NCw0ICs4
NDUsMTQgQEAgU3RyaW5nIFdlYkNocm9tZUNsaWVudDo6cGx1Z0luRXh0cmFTY3JpcHQoKSBjb25z
dAogICAgIHJldHVybiBtX3BhZ2UtPmluamVjdGVkQnVuZGxlVUlDbGllbnQoKS5wbHVnSW5FeHRy
YVNjcmlwdCgpOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6ZW5hYmxlU3VkZGVuVGVybWlu
YXRpb24oKQoreworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpF
bmFibGVTdWRkZW5UZXJtaW5hdGlvbigpKTsKK30KKwordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmRp
c2FibGVTdWRkZW5UZXJtaW5hdGlvbigpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQcm9jZXNzUHJveHk6OkRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBkZDY5YjY2Li45MzA2ZmQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTIwNiw2ICsyMDYsOSBAQCBwcml2YXRlOgogI2lm
IFBMQVRGT1JNKE1BQykKICAgICB2aXJ0dWFsIHZvaWQgbWFrZUZpcnN0UmVzcG9uZGVyKCkgT1ZF
UlJJREU7CiAjZW5kaWYKKworICAgIHZpcnR1YWwgdm9pZCBlbmFibGVTdWRkZW5UZXJtaW5hdGlv
bigpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24o
KSBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3Bl
cnRpZXNEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKSBjb25zdCBP
VkVSUklERTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>