<?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>121686</bug_id>
          
          <creation_ts>2013-09-20 08:21:05 -0700</creation_ts>
          <short_desc>[GTK] Stock Items are deprecated in gtk+ 3.10</short_desc>
          <delta_ts>2014-01-25 10:42:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>120772</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>120772</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Obzhirov">obzhirov</reporter>
          <assigned_to name="Anton Obzhirov">obzhirov</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>931354</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-09-20 08:21:05 -0700</bug_when>
    <thetext>* Stock Items:

$ fgrep -lir --include=*.{h,c,cpp} --exclude-dir=WebKitBuild gtk_stock
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
Source/WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp
Source/WebKit/gtk/webkit/webkitwebview.cpp
Source/WebKit/gtk/webkit/webkitauthenticationdialog.cpp
Source/WebCore/platform/graphics/gtk/ImageGtk.cpp
Source/WebCore/platform/graphics/gtk/IconGtk.cpp
Source/WebCore/platform/gtk/RenderThemeGtk.cpp
Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp
Source/WebCore/platform/gtk/WebKitAuthenticationWidget.cpp
Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp
Tools/MiniBrowser/gtk/BrowserDownloadsBar.c
Tools/MiniBrowser/gtk/BrowserSettingsDialog.c
Tools/MiniBrowser/gtk/BrowserWindow.c
Tools/GtkLauncher/main.c

See also 
https://docs.google.com/document/d/1KCVPoYQBqMbDP11tHPpjW6uaEHrvLUmcDPqKAppCY8o/pub</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958258</commentid>
    <comment_count>1</comment_count>
      <attachid>218847</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2013-12-10 03:02:44 -0800</bug_when>
    <thetext>Created attachment 218847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958259</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 03:03:59 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958262</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-12-10 03:13:42 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 120772 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971976</commentid>
    <comment_count>4</comment_count>
      <attachid>218847</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-25 10:42:36 -0800</bug_when>
    <thetext>Comment on attachment 218847
Patch

Please, make sure this doesn&apos;t break anything with our current minimum dependencies. See also https://bugs.webkit.org/show_bug.cgi?id=120772#c6. If this is only internally and it doesn&apos;t affect the API nor break existing apps, I&apos;m fine with the change, otherwise I would not do it until we bump the requirements or we break the API/ABI for whatever reason. I see no benefit at all in the stock items deprecation, TBH.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218847</attachid>
            <date>2013-12-10 03:02:44 -0800</date>
            <delta_ts>2014-01-25 10:42:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121686-20131210110242.patch</filename>
            <type>text/plain</type>
            <size>41945</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE0MjVmNTIxYWY2YWI0
MDUzMzJkMTRkNzBmOTgxNTQxODUwY2NhMS4uNDUwZDMyMTQ4MjQ1YjkzNWJhYTM5ZjI5MTM2MDZi
YzA4OWY4MTc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTEyLTEwICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gU3RvY2sgSXRlbXMgYXJlIGRlcHJlY2F0ZWQgaW4gZ3RrKyAzLjEwCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2ODYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvSWNvbkd0ay5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpsb29rdXBJY29uTmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdl
R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFRoZW1lSWNvbkZpbGVOYW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpndGtJ
Y29uTmFtZUZyb21Db250ZXh0TWVudUFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQ
bGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2Nh
bGl6ZWRTdHJpbmdzR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRNZW51SXRlbVRh
Z0NvcHkpOgorICAgICAgICAoV2ViQ29yZTo6Y29udGV4dE1lbnVJdGVtVGFnRGVsZXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCk6CisgICAgICAgIChX
ZWJDb3JlOjpjb250ZXh0TWVudUl0ZW1UYWdHb0JhY2spOgorICAgICAgICAoV2ViQ29yZTo6Y29u
dGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRNZW51
SXRlbVRhZ1N0b3ApOgorICAgICAgICAoV2ViQ29yZTo6Y29udGV4dE1lbnVJdGVtVGFnQ3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRNZW51SXRlbVRhZ1Bhc3RlKToKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnRleHRNZW51SXRlbVRhZ0JvbGQpOgorICAgICAgICAoV2ViQ29yZTo6Y29udGV4
dE1lbnVJdGVtVGFnSXRhbGljKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRNZW51SXRlbVRh
Z1VuZGVybGluZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0
c0RlY29yYXRpb25QYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjpwYWlu
dFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
R3RrOjpwYWludENhcHNMb2NrSW5kaWNhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lR3RrOjpwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUd0azo6cGFpbnRNZWRpYVBsYXlCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVHdGs6OnBhaW50TWVkaWFTZWVrQmFja0J1dHRvbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUd0azo6cGFpbnRNZWRpYVNlZWtGb3J3YXJkQnV0dG9uKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGszLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmdldFBpeGVsU2l6ZUZvckljb25TaXplKToKKyAgICAgICAgKFdlYkNvcmU6OmdldFN0b2NrU3lt
Ym9saWNJY29uRm9yV2lkZ2V0VHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1dlYktpdEF1
dGhlbnRpY2F0aW9uV2lkZ2V0LmNwcDoKKyAgICAgICAgKHdlYmtpdEF1dGhlbnRpY2F0aW9uV2lk
Z2V0SW5pdGlhbGl6ZSk6CisKIDIwMTMtMTItMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIERvIG5vdCBza2lwIGF0dHJpYnV0ZXMg
d2l0aCBvbmx5IGN1c3RvbSBzZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA3ZDc2YzI0MDJjM2Yz
MjFmYjcwZGYzYmMxNmY1YmE0YzQ1MzA3NmIwLi5kZWFlZmEwYjViMWIzODY1ZWZjNGZlNzE4M2M2
MzY4NWNmNDBmNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTIt
MTAgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXSBTdG9jayBJdGVtcyBhcmUgZGVwcmVjYXRlZCBpbiBndGsrIDMuMTAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTY4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Via2l0L3dlYmtp
dGF1dGhlbnRpY2F0aW9uZGlhbG9nLmNwcDoKKyAgICAgICAgKGNyZWF0ZUF1dGhlbnRpY2F0aW9u
RGlhbG9nKToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3
ZWJraXRXZWJWaWV3UmVhbFJ1bkZpbGVDaG9vc2VyKToKKwogMjAxMy0xMi0wNyAgR3VzdGF2byBO
b3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBGaXggQVBJIHRlc3QgZXhw
ZWN0YXRpb24gZm9sbG93aW5nIDE2MDIyMC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NjE3NTc2NjE2ZTMzOWE1
MDQ0ZTVmNGM2NTNmMDA4ODNlMmE1NWY4Li4yZDdkNTRiNmRlNDYwNWU0ZDgyZDcxZDVhMWJhMWFk
YzEzMWE0Y2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTItMTAgIEVucmlx
dWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RL
XSBTdG9jayBJdGVtcyBhcmUgZGVwcmVjYXRlZCBpbiBndGsrIDMuMTAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTY4NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0QXV0aGVudGljYXRpb25EaWFsb2cuY3BwOgorICAgICAgICAod2Via2l0QXV0aGVudGljYXRp
b25EaWFsb2dJbml0aWFsaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdSdW5GaWxlQ2hvb3Nlcik6CisKIDIw
MTMtMTItMDcgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbQ29jb2Fd
IFJlbW92ZSB3ZWJQcm9jZXNzUGx1Z0luSW5pdGlhbGl6ZTogZnJvbSB0aGUgV0tXZWJQcm9jZXNz
UGx1Z0luIHByb3RvY29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ndGsvSWNvbkd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
dGsvSWNvbkd0ay5jcHAKaW5kZXggM2U5NTdiMzQ1Y2U1ZmIyNzExYTEwYzY2ODAyNTNkYzUyNGVj
ODhmNC4uNzg4MTI5YzEzNGI5MzYwMzg5NTJlNTRkMzk2YTM1Zjk2MjY4NjA5YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ljb25HdGsuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JY29uR3RrLmNwcApAQCAtODYs
NyArODYsNyBAQCBzdGF0aWMgU3RyaW5nIGxvb2t1cEljb25OYW1lKFN0cmluZyBNSU1FVHlwZSkK
ICAgICAgICAgaWYoZ3RrX2ljb25fdGhlbWVfaGFzX2ljb24oaWNvblRoZW1lLCBpY29uTmFtZS51
dGY4KCkuZGF0YSgpKSkKICAgICAgICAgICAgIHJldHVybiBpY29uTmFtZTsKICAgICB9Ci0gICAg
cmV0dXJuIEdUS19TVE9DS19GSUxFOworICAgIHJldHVybiAidGV4dC14LWdlbmVyaWMiOwogfQog
CiAvLyBGSVhNRTogTW92ZSB0aGUgY29kZSB0byBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygp
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdl
R3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5j
cHAKaW5kZXggODBhYjY2ZmEyNjJmZDc4NWFlZDRjNmQ4MTcxOWJmY2E5ZGM2MTc3Yi4uYzM1ZmVj
MGUxYWE3MGM2MGJiYTMxYTUzNjg0MWUxOTU5OTBjZDhhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCkBAIC01MSw4ICs1MSw4IEBA
IHN0YXRpYyBDU3RyaW5nIGdldFRoZW1lSWNvbkZpbGVOYW1lKGNvbnN0IGNoYXIqIG5hbWUsIGlu
dCBzaXplKQogICAgIC8vIFRyeSB0byBmYWxsYmFjayBvbiBNSVNTSU5HX0lNQUdFLgogICAgIGlm
ICghaWNvbkluZm8pCiAgICAgICAgIGljb25JbmZvID0gZ3RrX2ljb25fdGhlbWVfbG9va3VwX2lj
b24oZ3RrX2ljb25fdGhlbWVfZ2V0X2RlZmF1bHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHVEtfU1RPQ0tfTUlTU0lOR19JTUFHRSwgc2l6ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfSUNPTl9MT09L
VVBfTk9fU1ZHKTsKKyAgICAgICAgICAgICJpbWFnZS1taXNzaW5nIiwgc2l6ZSwKKyAgICAgICAg
ICAgIEdUS19JQ09OX0xPT0tVUF9OT19TVkcpOwogICAgIGlmIChpY29uSW5mbykgewogICAgICAg
ICBHT3duUHRyPEd0a0ljb25JbmZvPiBpbmZvKGljb25JbmZvKTsKICAgICAgICAgcmV0dXJuIENT
dHJpbmcoZ3RrX2ljb25faW5mb19nZXRfZmlsZW5hbWUoaW5mby5nZXQoKSkpOwpAQCAtOTEsNyAr
OTEsNyBAQCBQYXNzUmVmUHRyPEltYWdlPiBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoY29u
c3QgY2hhciogbmFtZSkKIHsKICAgICBDU3RyaW5nIGZpbGVOYW1lOwogICAgIGlmICghc3RyY21w
KCJtaXNzaW5nSW1hZ2UiLCBuYW1lKSkKLSAgICAgICAgZmlsZU5hbWUgPSBnZXRUaGVtZUljb25G
aWxlTmFtZShHVEtfU1RPQ0tfTUlTU0lOR19JTUFHRSwgMTYpOworICAgICAgICBmaWxlTmFtZSA9
IGdldFRoZW1lSWNvbkZpbGVOYW1lKCJpbWFnZS1taXNzaW5nIiwgMTYpOwogICAgIGlmIChmaWxl
TmFtZS5pc051bGwoKSkgewogICAgICAgICBHT3duUHRyPGdjaGFyPiBpbWFnZU5hbWUoZ19zdHJk
dXBfcHJpbnRmKCIlcy5wbmciLCBuYW1lKSk7CiAgICAgICAgIEdPd25QdHI8Z2NoYXI+IGdsaWJG
aWxlTmFtZShnZXRQYXRoVG9JbWFnZVJlc291cmNlKGltYWdlTmFtZS5nZXQoKSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcAppbmRl
eCBkNzBiNWJlNmJkZjBiZDljZmM3NzhjYTIwNWRiMjM4NzU1YzMxZTIzLi5iOWVjNGMwYjhjZjU5
NjBkZTZhNjdmZWVhZGZjNmE0ZmZhMGMxZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcApAQCAtMzQsODYgKzM0LDg2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGNoYXIqIGd0a1N0b2NrSURGcm9t
Q29udGV4dE1lbnVBY3Rpb24oY29uc3QgQ29udGV4dE1lbnVBY3Rpb24mIGFjdGlvbikKK3N0YXRp
YyBjb25zdCBjaGFyKiBndGtJY29uTmFtZUZyb21Db250ZXh0TWVudUFjdGlvbihjb25zdCBDb250
ZXh0TWVudUFjdGlvbiYgYWN0aW9uKQogewogICAgIHN3aXRjaCAoYWN0aW9uKSB7CiAgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkOgogICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQ6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdDb3B5OgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX0NPUFk7CisgICAgICAgIHJldHVybiAi
ZWRpdC1jb3B5IjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5k
b3c6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdzoKICAg
ICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93OgogICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5kb3c6Ci0gICAgICAgIHJldHVybiBH
VEtfU1RPQ0tfT1BFTjsKKyAgICAgICAgcmV0dXJuICJkb2N1bWVudC1vcGVuIjsKICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzazoKICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s6Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tf
U0FWRTsKKyAgICAgICAgcmV0dXJuICJkb2N1bWVudC1zYXZlIjsKICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0dvQmFjazoKLSAgICAgICAgcmV0dXJuIEdUS19TVE9DS19HT19CQUNLOworICAg
ICAgICByZXR1cm4gImdvLXByZXZpb3VzIjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0dv
Rm9yd2FyZDoKLSAgICAgICAgcmV0dXJuIEdUS19TVE9DS19HT19GT1JXQVJEOworICAgICAgICBy
ZXR1cm4gImdvLW5leHQiOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU3RvcDoKLSAgICAg
ICAgcmV0dXJuIEdUS19TVE9DS19TVE9QOworICAgICAgICByZXR1cm4gInByb2Nlc3Mtc3RvcCI7
CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ6Ci0gICAgICAgIHJldHVybiBHVEtf
U1RPQ0tfUkVGUkVTSDsKKyAgICAgICAgcmV0dXJuICJ2aWV3LXJlZnJlc2giOwogICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnQ3V0OgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX0NVVDsKKyAg
ICAgICAgcmV0dXJuICJlZGl0LWN1dCI7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdQYXN0
ZToKLSAgICAgICAgcmV0dXJuIEdUS19TVE9DS19QQVNURTsKKyAgICAgICAgcmV0dXJuICJlZGl0
LXBhc3RlIjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZToKLSAgICAgICAgcmV0
dXJuIEdUS19TVE9DS19ERUxFVEU7CisgICAgICAgIHJldHVybiAiZWRpdC1kZWxldGUiOwogICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOgotICAgICAgICByZXR1cm4gR1RLX1NU
T0NLX1NFTEVDVF9BTEw7CisgICAgICAgIHJldHVybiAiZWRpdC1zZWxlY3QtYWxsIjsKICAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3M6CiAgICAgICAgIHJldHVybiAwOwog
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmc6Ci0gICAgICAgIHJldHVy
biBHVEtfU1RPQ0tfTk87CisgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnTGVhcm5TcGVsbGluZzoKLSAgICAgICAgcmV0dXJuIEdUS19TVE9DS19PSzsKKyAgICAg
ICAgcmV0dXJuIDA7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPdGhlcjoKLSAgICAgICAg
cmV0dXJuIEdUS19TVE9DS19NSVNTSU5HX0lNQUdFOworICAgICAgICByZXR1cm4gImltYWdlLW1p
c3NpbmciOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQ6Ci0g
ICAgICAgIHJldHVybiBHVEtfU1RPQ0tfRklORDsKKyAgICAgICAgcmV0dXJuICJlZGl0LWZpbmQi
OwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViOgotICAgICAgICByZXR1cm4g
R1RLX1NUT0NLX0ZJTkQ7CisgICAgICAgIHJldHVybiAiZWRpdC1maW5kIjsKICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0aW9uOgotICAgICAgICByZXR1
cm4gR1RLX1NUT0NLX09QRU47CisgICAgICAgIHJldHVybiAiZG9jdW1lbnQtb3BlbiI7CiAgICAg
Y2FzZSBDb250ZXh0TWVudUl0ZW1QREZab29tSW46Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tf
Wk9PTV9JTjsKKyAgICAgICAgcmV0dXJuICJ6b29tLWluIjsKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVBERlpvb21PdXQ6Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tfWk9PTV9PVVQ7CisgICAg
ICAgIHJldHVybiAiem9vbS1vdXQiOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtUERGQXV0b1Np
emU6Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tfWk9PTV9GSVQ7CisgICAgICAgIHJldHVybiAi
em9vbS1maXQtYmVzdCI7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1QREZOZXh0UGFnZToKLSAg
ICAgICAgcmV0dXJuIEdUS19TVE9DS19HT19GT1JXQVJEOworICAgICAgICByZXR1cm4gImdvLW5l
eHQiOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtUERGUHJldmlvdXNQYWdlOgotICAgICAgICBy
ZXR1cm4gR1RLX1NUT0NLX0dPX0JBQ0s7CisgICAgICAgIHJldHVybiAiZ28tcHJldmlvdXMiOwog
ICAgIC8vIE5ldyB0YWdzLCBub3QgcGFydCBvZiBBUEkKICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ09wZW5MaW5rOgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX09QRU47CisgICAgICAgIHJl
dHVybiAiZG9jdW1lbnQtb3BlbiI7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDaGVja1Nw
ZWxsaW5nOgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX1NQRUxMX0NIRUNLOworICAgICAgICBy
ZXR1cm4gInRvb2xzLWNoZWNrLXNwZWxsaW5nIjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z0ZvbnRNZW51OgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX1NFTEVDVF9GT05UOworICAgICAg
ICByZXR1cm4gMDsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250czoKLSAgICAg
ICAgcmV0dXJuIEdUS19TVE9DS19TRUxFQ1RfRk9OVDsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAg
Y2FzZSBDb250ZXh0TWVudUl0ZW1UYWdCb2xkOgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX0JP
TEQ7CisgICAgICAgIHJldHVybiAiZm9ybWF0LXRleHQtYm9sZCI7CiAgICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdJdGFsaWM6Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tfSVRBTElDOworICAg
ICAgICByZXR1cm4gImZvcm1hdC10ZXh0LWl0YWxpYyI7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdVbmRlcmxpbmU6Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tfVU5ERVJMSU5FOworICAg
ICAgICByZXR1cm4gImZvcm1hdC10ZXh0LXVuZGVybGluZSI7CiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdTaG93Q29sb3JzOgotICAgICAgICByZXR1cm4gR1RLX1NUT0NLX1NFTEVDVF9DT0xP
UjsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUNvbnRyb2xzOgogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29w
OgogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ6CiAg
ICAgICAgIC8vIE5vIGljb24gZm9yIHRoaXMuCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0gICAgICAgIHJldHVybiBH
VEtfU1RPQ0tfRlVMTFNDUkVFTjsKKyAgICAgICAgcmV0dXJuICJ2aWV3LWZ1bGxzY3JlZW4iOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTEyOCwxMCArMTI4LDEx
IEBAIHN0YXRpYyBQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24gY3JlYXRlUGxhdGZvcm1NZW51
SXRlbURlc2NyaXB0aW9uKENvbnRleHRNZW51CiAgICAgR1JlZlB0cjxHdGtBY3Rpb24+IHBsYXRm
b3JtQWN0aW9uOwogCiAgICAgaWYgKHR5cGUgPT0gQ2hlY2thYmxlQWN0aW9uVHlwZSkgewotICAg
ICAgICBwbGF0Zm9ybUFjdGlvbiA9IGFkb3B0R1JlZihHVEtfQUNUSU9OKGd0a190b2dnbGVfYWN0
aW9uX25ldyhhY3Rpb25OYW1lLmdldCgpLCB0aXRsZS51dGY4KCkuZGF0YSgpLCAwLCBndGtTdG9j
a0lERnJvbUNvbnRleHRNZW51QWN0aW9uKGFjdGlvbikpKSk7CisgICAgICAgIHBsYXRmb3JtQWN0
aW9uID0gYWRvcHRHUmVmKEdUS19BQ1RJT04oZ3RrX3RvZ2dsZV9hY3Rpb25fbmV3KGFjdGlvbk5h
bWUuZ2V0KCksIHRpdGxlLnV0ZjgoKS5kYXRhKCksIDAsIDApKSk7CiAgICAgICAgIGd0a190b2dn
bGVfYWN0aW9uX3NldF9hY3RpdmUoR1RLX1RPR0dMRV9BQ1RJT04ocGxhdGZvcm1BY3Rpb24uZ2V0
KCkpLCBjaGVja2VkKTsKICAgICB9IGVsc2UKLSAgICAgICAgcGxhdGZvcm1BY3Rpb24gPSBhZG9w
dEdSZWYoZ3RrX2FjdGlvbl9uZXcoYWN0aW9uTmFtZS5nZXQoKSwgdGl0bGUudXRmOCgpLmRhdGEo
KSwgMCwgZ3RrU3RvY2tJREZyb21Db250ZXh0TWVudUFjdGlvbihhY3Rpb24pKSk7CisgICAgICAg
IHBsYXRmb3JtQWN0aW9uID0gYWRvcHRHUmVmKGd0a19hY3Rpb25fbmV3KGFjdGlvbk5hbWUuZ2V0
KCksIHRpdGxlLnV0ZjgoKS5kYXRhKCksIDAsIDApKTsKKyAgICBndGtfYWN0aW9uX3NldF9pY29u
X25hbWUocGxhdGZvcm1BY3Rpb24uZ2V0KCksIGd0a0ljb25OYW1lRnJvbUNvbnRleHRNZW51QWN0
aW9uKGFjdGlvbikpOwogICAgIGd0a19hY3Rpb25fc2V0X3NlbnNpdGl2ZShwbGF0Zm9ybUFjdGlv
bi5nZXQoKSwgZW5hYmxlZCk7CiAKICAgICBHdGtNZW51SXRlbSogaXRlbSA9IEdUS19NRU5VX0lU
RU0oZ3RrX2FjdGlvbl9jcmVhdGVfbWVudV9pdGVtKHBsYXRmb3JtQWN0aW9uLmdldCgpKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5j
cHAKaW5kZXggOTQ3MWQ5ZDczNDgzYzAxNDUwZGNhZDIwNTJjNWNlNzdiNDU5OTBmMS4uYzc1NWFi
YTdjNzM3YWJiYTgxMWIyODI5NzFlMDYzNmRhN2UxOTM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAtNDMsMTQgKzQz
LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgY2hhciogZ3RrU3Rv
Y2tMYWJlbChjb25zdCBjaGFyKiBzdG9ja0lEKQotewotICAgIEd0a1N0b2NrSXRlbSBpdGVtOwot
ICAgIGlmICghZ3RrX3N0b2NrX2xvb2t1cChzdG9ja0lELCAmaXRlbSkpCi0gICAgICAgIHJldHVy
biBzdG9ja0lEOwotICAgIHJldHVybiBpdGVtLmxhYmVsOwotfQotCiBTdHJpbmcgc3VibWl0QnV0
dG9uRGVmYXVsdExhYmVsKCkKIHsKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJTdWJt
aXQiKSk7CkBAIC0yMDgsMjAgKzIwMCwxNyBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3Bl
bkZyYW1lSW5OZXdXaW5kb3coKQogCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weSgpCiB7
Ci0gICAgc3RhdGljIFN0cmluZyBzdG9ja0xhYmVsID0gU3RyaW5nOjpmcm9tVVRGOChndGtTdG9j
a0xhYmVsKEdUS19TVE9DS19DT1BZKSk7Ci0gICAgcmV0dXJuIHN0b2NrTGFiZWw7CisgICAgcmV0
dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiX0NvcHkiKSk7CiB9CiAKIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdEZWxldGUoKQogewotICAgIHN0YXRpYyBTdHJpbmcgc3RvY2tMYWJlbCA9IFN0cmlu
Zzo6ZnJvbVVURjgoZ3RrU3RvY2tMYWJlbChHVEtfU1RPQ0tfREVMRVRFKSk7Ci0gICAgcmV0dXJu
IHN0b2NrTGFiZWw7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiX0RlbGV0ZSIpKTsK
IH0KIAogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCgpCiB7Ci0gICAgc3RhdGlj
IFN0cmluZyBzdG9ja0xhYmVsID0gU3RyaW5nOjpmcm9tVVRGOChndGtTdG9ja0xhYmVsKEdUS19T
VE9DS19TRUxFQ1RfQUxMKSk7Ci0gICAgcmV0dXJuIHN0b2NrTGFiZWw7CisgICAgcmV0dXJuIFN0
cmluZzo6ZnJvbVVURjgoXygiU2VsZWN0IF9BbGwiKSk7CiB9CiAKIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdVbmljb2RlKCkKQEAgLTIzNiwyMCArMjI1LDE3IEBAIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdJbnB1dE1ldGhvZHMoKQogCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnR29CYWNr
KCkKIHsKLSAgICBzdGF0aWMgU3RyaW5nIHN0b2NrTGFiZWwgPSBTdHJpbmc6OmZyb21VVEY4KGd0
a1N0b2NrTGFiZWwoR1RLX1NUT0NLX0dPX0JBQ0spKTsKLSAgICByZXR1cm4gc3RvY2tMYWJlbDsK
KyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJfQmFjayIpKTsKIH0KIAogU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCgpCiB7Ci0gICAgc3RhdGljIFN0cmluZyBzdG9ja0xh
YmVsID0gU3RyaW5nOjpmcm9tVVRGOChndGtTdG9ja0xhYmVsKEdUS19TVE9DS19HT19GT1JXQVJE
KSk7Ci0gICAgcmV0dXJuIHN0b2NrTGFiZWw7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
XygiX0ZvcndhcmQiKSk7CiB9CiAKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCkKIHsK
LSAgICBzdGF0aWMgU3RyaW5nIHN0b2NrTGFiZWwgPSBTdHJpbmc6OmZyb21VVEY4KGd0a1N0b2Nr
TGFiZWwoR1RLX1NUT0NLX1NUT1ApKTsKLSAgICByZXR1cm4gc3RvY2tMYWJlbDsKKyAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJfU3RvcCIpKTsKIH0KIAogU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1JlbG9hZCgpCkBAIC0yNTksMTQgKzI0NSwxMiBAQCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnUmVsb2FkKCkKIAogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0N1dCgpCiB7Ci0gICAg
c3RhdGljIFN0cmluZyBzdG9ja0xhYmVsID0gU3RyaW5nOjpmcm9tVVRGOChndGtTdG9ja0xhYmVs
KEdUS19TVE9DS19DVVQpKTsKLSAgICByZXR1cm4gc3RvY2tMYWJlbDsKKyAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChfKCJDdV90IikpOwogfQogCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
UGFzdGUoKQogewotICAgIHN0YXRpYyBTdHJpbmcgc3RvY2tMYWJlbCA9IFN0cmluZzo6ZnJvbVVU
RjgoZ3RrU3RvY2tMYWJlbChHVEtfU1RPQ0tfUEFTVEUpKTsKLSAgICByZXR1cm4gc3RvY2tMYWJl
bDsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJfUGFzdGUiKSk7CiB9CiAKIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdOb0d1ZXNzZXNGb3VuZCgpCkBAIC0zMzYsMjAgKzMyMCwxNyBA
QCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUoKQogCiBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnQm9sZCgpCiB7Ci0gICAgc3RhdGljIFN0cmluZyBzdG9ja0xhYmVsID0gU3RyaW5n
Ojpmcm9tVVRGOChndGtTdG9ja0xhYmVsKEdUS19TVE9DS19CT0xEKSk7Ci0gICAgcmV0dXJuIHN0
b2NrTGFiZWw7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiX0JvbGQiKSk7CiB9CiAK
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJdGFsaWMoKQogewotICAgIHN0YXRpYyBTdHJpbmcg
c3RvY2tMYWJlbCA9IFN0cmluZzo6ZnJvbVVURjgoZ3RrU3RvY2tMYWJlbChHVEtfU1RPQ0tfSVRB
TElDKSk7Ci0gICAgcmV0dXJuIHN0b2NrTGFiZWw7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgoXygiX0l0YWxpYyIpKTsKIH0KIAogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1VuZGVybGlu
ZSgpCiB7Ci0gICAgc3RhdGljIFN0cmluZyBzdG9ja0xhYmVsID0gU3RyaW5nOjpmcm9tVVRGOChn
dGtTdG9ja0xhYmVsKEdUS19TVE9DS19VTkRFUkxJTkUpKTsKLSAgICByZXR1cm4gc3RvY2tMYWJl
bDsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJfVW5kZXJsaW5lIikpOwogfQogCiBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3V0bGluZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCA2MjllOGQ2YmUxOTUxODMzOTAzZjU2
ZjUwZDBmOTAxOTI4MzY5MGQwLi4yYTM5YzU4OGIzOTU3NjIwMjViNTYwNjEzZmY0NzU3YjJmM2Y5
NTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVH
dGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5j
cHAKQEAgLTMzNCwxMCArMzM0LDEwIEBAIGJvb2wgUmVuZGVyVGhlbWVHdGs6OnBhaW50U2VhcmNo
RmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoUmVuZGVyT2JqZWN0KiByZW5kZXJPCiAgICAgaWYg
KGljb25SZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgR1JlZlB0
cjxHZGtQaXhidWY+IGljb24gPSBnZXRTdG9ja0ljb25Gb3JXaWRnZXRUeXBlKEdUS19UWVBFX0VO
VFJZLCBHVEtfU1RPQ0tfRklORCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ3RrVGV4dERpcmVjdGlvbihyZW5kZXJPYmplY3QtPnN0eWxl
KCkuZGlyZWN0aW9uKCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBndGtJY29uU3RhdGUodGhpcywgcmVuZGVyT2JqZWN0KSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0SWNv
blNpemVGb3JQaXhlbFNpemUocmVjdC5oZWlnaHQoKSkpOworICAgIEdSZWZQdHI8R2RrUGl4YnVm
PiBpY29uID0gZ2V0U3RvY2tTeW1ib2xpY0ljb25Gb3JXaWRnZXRUeXBlKEdUS19UWVBFX0VOVFJZ
LCAiZWRpdC1maW5kIiwgImd0ay1maW5kIiwKKyAgICAgICAgZ3RrVGV4dERpcmVjdGlvbihyZW5k
ZXJPYmplY3QtPnN0eWxlKCkuZGlyZWN0aW9uKCkpLAorICAgICAgICBndGtJY29uU3RhdGUodGhp
cywgcmVuZGVyT2JqZWN0KSwKKyAgICAgICAgZ2V0SWNvblNpemVGb3JQaXhlbFNpemUocmVjdC5o
ZWlnaHQoKSkpOwogICAgIHBhaW50R2RrUGl4YnVmKHBhaW50SW5mby5jb250ZXh0LCBpY29uLmdl
dCgpLCBpY29uUmVjdCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMzUzLDEwICszNTMsMTEg
QEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbihSZW5k
ZXJPYmplY3QqIHJlbmRlck9iamVjdCwgY28KICAgICBpZiAoaWNvblJlY3QuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBHUmVmUHRyPEdka1BpeGJ1Zj4gaWNvbiA9IGdl
dFN0b2NrSWNvbkZvcldpZGdldFR5cGUoR1RLX1RZUEVfRU5UUlksIEdUS19TVE9DS19DTEVBUiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z3RrVGV4dERpcmVjdGlvbihyZW5kZXJPYmplY3QtPnN0eWxlKCkuZGlyZWN0aW9uKCkpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndGtJ
Y29uU3RhdGUodGhpcywgcmVuZGVyT2JqZWN0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0SWNvblNpemVGb3JQaXhlbFNpemUocmVj
dC5oZWlnaHQoKSkpOworICAgIEdSZWZQdHI8R2RrUGl4YnVmPiBpY29uID0gZ2V0U3RvY2tTeW1i
b2xpY0ljb25Gb3JXaWRnZXRUeXBlKEdUS19UWVBFX0VOVFJZLCAiZWRpdC1jbGVhciIsICJndGst
Y2xlYXIiLAorICAgICAgICBndGtUZXh0RGlyZWN0aW9uKHJlbmRlck9iamVjdC0+c3R5bGUoKS5k
aXJlY3Rpb24oKSksCisgICAgICAgIGd0a0ljb25TdGF0ZSh0aGlzLCByZW5kZXJPYmplY3QpLAor
ICAgICAgICBnZXRJY29uU2l6ZUZvclBpeGVsU2l6ZShyZWN0LmhlaWdodCgpKSk7CisKICAgICBw
YWludEdka1BpeGJ1ZihwYWludEluZm8uY29udGV4dCwgaWNvbi5nZXQoKSwgaWNvblJlY3QpOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTM4MSw3ICszODIsNyBAQCBib29sIFJlbmRlclRoZW1l
R3RrOjpwYWludENhcHNMb2NrSW5kaWNhdG9yKFJlbmRlck9iamVjdCogcmVuZGVyT2JqZWN0LCBj
b25zdCBQYQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGludCBpY29uU2l6ZSA9IHN0ZDo6
bWluKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7Ci0gICAgR1JlZlB0cjxHZGtQaXhidWY+
IGljb24gPSBnZXRTdG9ja0ljb25Gb3JXaWRnZXRUeXBlKEdUS19UWVBFX0VOVFJZLCBHVEtfU1RP
Q0tfQ0FQU19MT0NLX1dBUk5JTkcsCisgICAgR1JlZlB0cjxHZGtQaXhidWY+IGljb24gPSBnZXRT
dG9ja0ljb25Gb3JXaWRnZXRUeXBlKEdUS19UWVBFX0VOVFJZLCAiZGlhbG9nLXdhcm5pbmctc3lt
Ym9saWMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBndGtUZXh0RGlyZWN0aW9uKHJlbmRlck9iamVjdC0+c3R5bGUoKS5kaXJlY3Rpb24o
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsIGdldEljb25TaXplRm9yUGl4ZWxTaXplKGljb25TaXplKSk7CiAKQEAgLTUwNSw3ICs1
MDYsNyBAQCBib29sIFJlbmRlclRoZW1lR3RrOjpoYXNPd25EaXNhYmxlZFN0YXRlSGFuZGxpbmdG
b3IoQ29udHJvbFBhcnQgcGFydCkgY29uc3QKIAogYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRN
ZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QsIGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIHJldHVybiBw
YWludE1lZGlhQnV0dG9uKHJlbmRlck9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsICJ2
aWV3LWZ1bGxzY3JlZW4tc3ltYm9saWMiLCBHVEtfU1RPQ0tfRlVMTFNDUkVFTik7CisgICAgcmV0
dXJuIHBhaW50TWVkaWFCdXR0b24ocmVuZGVyT2JqZWN0LCBwYWludEluZm8uY29udGV4dCwgcmVj
dCwgInZpZXctZnVsbHNjcmVlbi1zeW1ib2xpYyIsICJ2aWV3LWZ1bGxzY3JlZW4iKTsKIH0KIAog
Ym9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0KiBy
ZW5kZXJPYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQpAQCAtNTMxLDE3ICs1MzIsMTcgQEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRNZWRp
YVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QsIGNvbnN0IFBhaW4KICAgICBi
b29sIHBsYXkgPSBtZWRpYUNvbnRyb2xFbGVtZW50VHlwZShub2RlKSA9PSBNZWRpYVBsYXlCdXR0
b247CiAgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocmVuZGVyT2JqZWN0LCBwYWludEluZm8u
Y29udGV4dCwgcmVjdCwKICAgICAgICAgcGxheSA/ICJtZWRpYS1wbGF5YmFjay1zdGFydC1zeW1i
b2xpYyIgOiAibWVkaWEtcGxheWJhY2stcGF1c2Utc3ltYm9saWMiLAotICAgICAgICBwbGF5ID8g
R1RLX1NUT0NLX01FRElBX1BMQVkgOiBHVEtfU1RPQ0tfTUVESUFfUEFVU0UpOworICAgICAgICBw
bGF5ID8gIm1lZGlhLXBsYXliYWNrLXN0YXJ0IiA6ICJtZWRpYS1wbGF5YmFjay1wYXVzZSIpOwog
fQogCiBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludE1lZGlhU2Vla0JhY2tCdXR0b24oUmVuZGVy
T2JqZWN0KiByZW5kZXJPYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJ
bnRSZWN0JiByZWN0KQogewotICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHJlbmRlck9iamVj
dCwgcGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsICJtZWRpYS1zZWVrLWJhY2t3YXJkLXN5bWJvbGlj
IiwgR1RLX1NUT0NLX01FRElBX1JFV0lORCk7CisgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24o
cmVuZGVyT2JqZWN0LCBwYWludEluZm8uY29udGV4dCwgcmVjdCwgIm1lZGlhLXNlZWstYmFja3dh
cmQtc3ltYm9saWMiLCAibWVkaWEtc2Vlay1iYWNrd2FyZCIpOwogfQogCiBib29sIFJlbmRlclRo
ZW1lR3RrOjpwYWludE1lZGlhU2Vla0ZvcndhcmRCdXR0b24oUmVuZGVyT2JqZWN0KiByZW5kZXJP
YmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQog
ewotICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHJlbmRlck9iamVjdCwgcGFpbnRJbmZvLmNv
bnRleHQsIHJlY3QsICJtZWRpYS1zZWVrLWZvcndhcmQtc3ltYm9saWMiLCBHVEtfU1RPQ0tfTUVE
SUFfRk9SV0FSRCk7CisgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocmVuZGVyT2JqZWN0LCBw
YWludEluZm8uY29udGV4dCwgcmVjdCwgIm1lZGlhLXNlZWstZm9yd2FyZC1zeW1ib2xpYyIsICJt
ZWRpYS1zZWVrLWZvcndhcmQiKTsKIH0KIAogc3RhdGljIFJvdW5kZWRSZWN0OjpSYWRpaSBib3Jk
ZXJSYWRpaUZyb21TdHlsZShSZW5kZXJTdHlsZSogc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGszLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0azMuY3BwCmluZGV4IDc1YTA4NGE2ODkyMGEzZDUx
MWE3OGM2NGVjZjg1ZTUwZDAxNDc2NTEuLmYzZTNjMWQ2OTc0MjgyNTFlYTUwYjgxOTRlYWY2MGU4
ZDU0MWQ0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJU
aGVtZUd0azMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVt
ZUd0azMuY3BwCkBAIC00OSw5ICs0OSwzMCBAQCBzdGF0aWMgY29uc3QgaW50IG1pbkFycm93U2l6
ZSA9IDE1OwogLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBkZWZpbmVkIGJ5IEdUSyssIHdo
ZXJlIGl0IHdhcyBkZWZpbmVkIGFzIE1JTl9BUlJPV19XSURUSCBpbiBndGtzcGluYnV0dG9uLmMu
CiBzdGF0aWMgY29uc3QgaW50IG1pblNwaW5CdXR0b25BcnJvd1NpemUgPSA2OwogCisvLyBEZWZp
bmVkIGluIEdUSysgKGd0ay9ndGtpY29uZmFjdG9yeS5jKQorc3RhdGljIGNvbnN0IGdpbnQgZ3Rr
SWNvblNpemVNZW51ID0gMTY7CitzdGF0aWMgY29uc3QgZ2ludCBndGtJY29uU2l6ZVNtYWxsVG9v
bGJhciA9IDE4Oworc3RhdGljIGNvbnN0IGdpbnQgZ3RrSWNvblNpemVCdXR0b24gPSAyMDsKK3N0
YXRpYyBjb25zdCBnaW50IGd0a0ljb25TaXplTGFyZ2VUb29sYmFyID0gMjQ7CitzdGF0aWMgY29u
c3QgZ2ludCBndGtJY29uU2l6ZURuZCA9IDMyOworc3RhdGljIGNvbnN0IGdpbnQgZ3RrSWNvblNp
emVEaWFsb2cgPSA0ODsKKwogdHlwZWRlZiBIYXNoTWFwPEdUeXBlLCBHUmVmUHRyPEd0a1N0eWxl
Q29udGV4dD4gPiBTdHlsZUNvbnRleHRNYXA7CiBzdGF0aWMgU3R5bGVDb250ZXh0TWFwJiBzdHls
ZUNvbnRleHRNYXAoKTsKIAorc3RhdGljIGdpbnQgZ2V0UGl4ZWxTaXplRm9ySWNvblNpemUoR3Rr
SWNvblNpemUgaWNvblNpemUpCit7CisgICAgc3dpdGNoIChpY29uU2l6ZSkgeworICAgIGNhc2Ug
R1RLX0lDT05fU0laRV9NRU5VOiByZXR1cm4gZ3RrSWNvblNpemVNZW51OworICAgIGNhc2UgR1RL
X0lDT05fU0laRV9TTUFMTF9UT09MQkFSOiByZXR1cm4gZ3RrSWNvblNpemVTbWFsbFRvb2xiYXI7
CisgICAgY2FzZSBHVEtfSUNPTl9TSVpFX0JVVFRPTjogcmV0dXJuIGd0a0ljb25TaXplQnV0dG9u
OworICAgIGNhc2UgR1RLX0lDT05fU0laRV9MQVJHRV9UT09MQkFSOiByZXR1cm4gZ3RrSWNvblNp
emVMYXJnZVRvb2xiYXI7CisgICAgY2FzZSBHVEtfSUNPTl9TSVpFX0RORDogcmV0dXJuIGd0a0lj
b25TaXplRG5kOworICAgIGNhc2UgR1RLX0lDT05fU0laRV9ESUFMT0c6CisgICAgZGVmYXVsdDog
cmV0dXJuIGd0a0ljb25TaXplRGlhbG9nOworICAgIH0KK30KKwogc3RhdGljIHZvaWQgZ3RrU3R5
bGVDaGFuZ2VkQ2FsbGJhY2soR09iamVjdCosIEdQYXJhbVNwZWMqKQogewogICAgIFN0eWxlQ29u
dGV4dE1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc3R5bGVDb250ZXh0TWFwKCkuZW5kKCk7CkBA
IC05MTIsNyArOTMzLDkgQEAgR1JlZlB0cjxHZGtQaXhidWY+IGdldFN0b2NrU3ltYm9saWNJY29u
Rm9yV2lkZ2V0VHlwZShHVHlwZSB3aWRnZXRUeXBlLCBjb25zdCBjaGEKIAogICAgIGd0a19zdHls
ZV9jb250ZXh0X3NldF9zdGF0ZShjb250ZXh0LCBzdGF0aWNfY2FzdDxHdGtTdGF0ZUZsYWdzPihm
bGFncykpOwogICAgIGd0a19zdHlsZV9jb250ZXh0X3NldF9kaXJlY3Rpb24oY29udGV4dCwgc3Rh
dGljX2Nhc3Q8R3RrVGV4dERpcmVjdGlvbj4oZGlyZWN0aW9uKSk7Ci0gICAgR3RrSWNvbkluZm8q
IGluZm8gPSBndGtfaWNvbl90aGVtZV9sb29rdXBfaWNvbihndGtfaWNvbl90aGVtZV9nZXRfZGVm
YXVsdCgpLCBzeW1ib2xpY0ljb25OYW1lLCBpY29uU2l6ZSwKKworICAgIEd0a0ljb25JbmZvKiBp
bmZvID0gZ3RrX2ljb25fdGhlbWVfbG9va3VwX2ljb24oZ3RrX2ljb25fdGhlbWVfZ2V0X2RlZmF1
bHQoKSwgc3ltYm9saWNJY29uTmFtZSwKKyAgICAgICAgZ2V0UGl4ZWxTaXplRm9ySWNvblNpemUo
c3RhdGljX2Nhc3Q8R3RrSWNvblNpemU+KGljb25TaXplKSksCiAgICAgICAgIHN0YXRpY19jYXN0
PEd0a0ljb25Mb29rdXBGbGFncz4oR1RLX0lDT05fTE9PS1VQX0ZPUkNFX1NWRyB8IEdUS19JQ09O
X0xPT0tVUF9GT1JDRV9TSVpFKSk7CiAgICAgR2RrUGl4YnVmKiBpY29uID0gMDsKICAgICBpZiAo
aW5mbykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dlYktpdEF1
dGhlbnRpY2F0aW9uV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XZWJL
aXRBdXRoZW50aWNhdGlvbldpZGdldC5jcHAKaW5kZXggZTQ3ZDU5OTc4NzFhZDk4YzNmZDJmMmQw
ZWQ0YzAwOGM5OGI1NTRiZS4uMDI4NzZmZWJjYThmNjM2YjI1MDliOGM0NzE5OTA1NjY3NjFkMjdj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dlYktpdEF1dGhlbnRp
Y2F0aW9uV2lkZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2ViS2l0
QXV0aGVudGljYXRpb25XaWRnZXQuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIHZvaWQg
d2Via2l0QXV0aGVudGljYXRpb25XaWRnZXRJbml0aWFsaXplKFdlYktpdEF1dGhlbnRpY2F0aW9u
V2lkZ2V0KiBhdXQKICAgICBndGtfYm94X3NldF9zcGFjaW5nKEdUS19CT1goYXV0aFdpZGdldCks
IGdMYXlvdXRDb2x1bW5TcGFjaW5nKTsKICAgICBndGtfY29udGFpbmVyX3NldF9ib3JkZXJfd2lk
dGgoR1RLX0NPTlRBSU5FUihhdXRoV2lkZ2V0KSwgZ0J1dHRvblNwYWNpbmcpOwogCi0gICAgR3Rr
V2lkZ2V0KiBpY29uID0gZ3RrX2ltYWdlX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19ESUFMT0df
QVVUSEVOVElDQVRJT04sIEdUS19JQ09OX1NJWkVfRElBTE9HKTsKKyAgICBHdGtXaWRnZXQqIGlj
b24gPSBndGtfaW1hZ2VfbmV3X2Zyb21faWNvbl9uYW1lKCJkaWFsb2ctcGFzc3dvcmQiLCBHVEtf
SUNPTl9TSVpFX0RJQUxPRyk7CiAgICAgZ3RrX21pc2Nfc2V0X2FsaWdubWVudChHVEtfTUlTQyhp
Y29uKSwgMC41LCAwLjApOwogICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKGF1dGhXaWRn
ZXQpLCBpY29uLCBGQUxTRSwgRkFMU0UsIDApOwogICAgIGd0a193aWRnZXRfc2hvdyhpY29uKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRhdXRoZW50aWNhdGlv
bmRpYWxvZy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0YXV0aGVudGljYXRp
b25kaWFsb2cuY3BwCmluZGV4IGUyNmRlZmE3MGYzOTBlZmIyYWQzMzFjZmMwMjlmYjIyNDhlNDQ1
NTIuLmFmMWI2Yjg1ZjQwMjQ0NjE0YWJmYTMxOGNiMTIyMzc4NGM0MzVmOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRhdXRoZW50aWNhdGlvbmRpYWxvZy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGF1dGhlbnRpY2F0aW9uZGlhbG9n
LmNwcApAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
d2Via2l0YXV0aGVudGljYXRpb25kaWFsb2cuaCIKKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5o
PgogCiBzdGF0aWMgdm9pZCBhdXRoZW50aWNhdGlvbkRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2soR3Rr
V2lkZ2V0KiBhdXRoRGlhbG9nLCBnaW50IHJlc3BvbnNlSUQsIFdlYktpdEF1dGhlbnRpY2F0aW9u
V2lkZ2V0KiBhdXRoV2lkZ2V0KQogewpAQCAtMzQsNyArMzUsNyBAQCBzdGF0aWMgdm9pZCBhdXRo
ZW50aWNhdGlvbkRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2soR3RrV2lkZ2V0KiBhdXRoRGlhbG9nLCBn
aW50IHJlcwogR3RrV2lkZ2V0KiBjcmVhdGVBdXRoZW50aWNhdGlvbkRpYWxvZyhHdGtXaW5kb3cq
IHBhcmVudFdpbmRvdywgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNo
YWxsZW5nZSwgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlIG1vZGUpCiB7CiAgICAgR3RrRGlhbG9nKiBk
aWFsb2cgPSBHVEtfRElBTE9HKGd0a19kaWFsb2dfbmV3KCkpOwotICAgIGd0a19kaWFsb2dfYWRk
X2J1dHRvbnMoZGlhbG9nLCBHVEtfU1RPQ0tfQ0FOQ0VMLCBHVEtfUkVTUE9OU0VfQ0FOQ0VMLCBH
VEtfU1RPQ0tfT0ssIEdUS19SRVNQT05TRV9PSywgTlVMTCk7CisgICAgZ3RrX2RpYWxvZ19hZGRf
YnV0dG9ucyhkaWFsb2csIF8oIl9DYW5jZWwiKSwgR1RLX1JFU1BPTlNFX0NBTkNFTCwgXygiX09L
IiksIEdUS19SRVNQT05TRV9PSywgTlVMTCk7CiAgICAgZ3RrX2RpYWxvZ19zZXRfZGVmYXVsdF9y
ZXNwb25zZShkaWFsb2csIEdUS19SRVNQT05TRV9PSyk7CiAKICAgICBHdGtXaWRnZXQqIGNvbnRl
bnRBcmVhID0gZ3RrX2RpYWxvZ19nZXRfY29udGVudF9hcmVhKGRpYWxvZyk7CkBAIC01Miw3ICs1
Myw3IEBAIEd0a1dpZGdldCogY3JlYXRlQXV0aGVudGljYXRpb25EaWFsb2coR3RrV2luZG93KiBw
YXJlbnRXaW5kb3csIGNvbnN0IFdlYkNvcmU6OkF1CiAgICAgR3RrV2luZG93KiB3aW5kb3cgPSBH
VEtfV0lORE9XKGRpYWxvZyk7CiAgICAgZ3RrX3dpbmRvd19zZXRfcmVzaXphYmxlKHdpbmRvdywg
RkFMU0UpOwogICAgIGd0a193aW5kb3dfc2V0X3RpdGxlKHdpbmRvdywgIiIpOwotICAgIGd0a193
aW5kb3dfc2V0X2ljb25fbmFtZSh3aW5kb3csIEdUS19TVE9DS19ESUFMT0dfQVVUSEVOVElDQVRJ
T04pOworICAgIGd0a193aW5kb3dfc2V0X2ljb25fbmFtZSh3aW5kb3csICJkaWFsb2ctcGFzc3dv
cmQiKTsKICAgICBndGtfd2luZG93X3NldF9kZXN0cm95X3dpdGhfcGFyZW50ICh3aW5kb3csIFRS
VUUpOwogICAgIGlmIChwYXJlbnRXaW5kb3cpCiAgICAgICAgIGd0a193aW5kb3dfc2V0X3RyYW5z
aWVudF9mb3Iod2luZG93LCBwYXJlbnRXaW5kb3cpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IGY5ZDliMWRkN2JhNzcxYTI5NDBiZjhlOWZkODMwNjIw
NDk1YTY4N2UuLjhkYTk3Mzk1Zjc2OWRlNzBhNGE0Njk0ZjAzMmQ1MTI0ZDgyYzM4ZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTEzMjMsOCArMTMy
Myw4IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3UmVhbFJ1bkZpbGVDaG9vc2VyKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdEZpCiAgICAgR3RrV2lkZ2V0KiBkaWFsb2cgPSBn
dGtfZmlsZV9jaG9vc2VyX2RpYWxvZ19uZXcoYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb24gPyBfKCJT
ZWxlY3QgRmlsZXMiKSA6IF8oIlNlbGVjdCBGaWxlIiksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wbGV2ZWwgPyBHVEtfV0lORE9XKHRvcGxl
dmVsKSA6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR1RLX0ZJTEVfQ0hPT1NFUl9BQ1RJT05fT1BFTiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfU1RPQ0tfQ0FOQ0VMLCBHVEtfUkVT
UE9OU0VfQ0FOQ0VMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdUS19TVE9DS19PUEVOLCBHVEtfUkVTUE9OU0VfQUNDRVBULAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIl9DYW5jZWwiKSwg
R1RLX1JFU1BPTlNFX0NBTkNFTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfKCJfT3BlbiIpLCBHVEtfUkVTUE9OU0VfQUNDRVBULAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogCiAg
ICAgaWYgKEd0a0ZpbGVGaWx0ZXIqIGZpbHRlciA9IHdlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVz
dF9nZXRfbWltZV90eXBlc19maWx0ZXIocmVxdWVzdCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxv
Zy5jcHAKaW5kZXggNDNjZDgzYWMwY2U0MTZlNTU0YTE3OTIzYTQyNWI3NjA3NjdlYmYxZS4uMTc0
NzNlMzQwNDZjYzg0NDI3ODBkMWZkYTVjYzg0YzEyMjMwOTY5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0
aW9uRGlhbG9nLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIldlYktpdENyZWRlbnRp
YWxQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktp
dFdlYlZpZXcuaCIKKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogCkBAIC03MSwxMiArNzIsMTIgQEAgc3RhdGljIHZvaWQgd2Via2l0QXV0aGVu
dGljYXRpb25EaWFsb2dJbml0aWFsaXplKFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nKiBhdXQK
ICAgICBndGtfY29udGFpbmVyX3NldF9ib3JkZXJfd2lkdGgoR1RLX0NPTlRBSU5FUihidXR0b25C
b3gpLCA1KTsKICAgICBndGtfYm94X3NldF9zcGFjaW5nKEdUS19CT1goYnV0dG9uQm94KSwgNik7
CiAKLSAgICBHdGtXaWRnZXQqIGJ1dHRvbiA9IGd0a19idXR0b25fbmV3X2Zyb21fc3RvY2soR1RL
X1NUT0NLX0NBTkNFTCk7CisgICAgR3RrV2lkZ2V0KiBidXR0b24gPSBndGtfYnV0dG9uX25ld193
aXRoX21uZW1vbmljKF8oIl9DYW5jZWwiKSk7CiAgICAgZ19zaWduYWxfY29ubmVjdChidXR0b24s
ICJjbGlja2VkIiwgR19DQUxMQkFDSyhjYW5jZWxCdXR0b25DbGlja2VkKSwgYXV0aERpYWxvZyk7
CiAgICAgZ3RrX2JveF9wYWNrX2VuZChHVEtfQk9YKGJ1dHRvbkJveCksIGJ1dHRvbiwgRkFMU0Us
IFRSVUUsIDApOwogICAgIGd0a193aWRnZXRfc2hvdyhidXR0b24pOwogCi0gICAgYnV0dG9uID0g
Z3RrX2J1dHRvbl9uZXdfZnJvbV9zdG9jayhHVEtfU1RPQ0tfT0spOworICAgIGJ1dHRvbiA9IGd0
a19idXR0b25fbmV3X3dpdGhfbW5lbW9uaWMoXygiX09LIikpOwogICAgIGF1dGhEaWFsb2ctPnBy
aXYtPmRlZmF1bHRCdXR0b24gPSBidXR0b247CiAgICAgZ19zaWduYWxfY29ubmVjdChidXR0b24s
ICJjbGlja2VkIiwgR19DQUxMQkFDSyhva0J1dHRvbkNsaWNrZWQpLCBhdXRoRGlhbG9nKTsKICAg
ICBndGtfd2lkZ2V0X3NldF9jYW5fZGVmYXVsdChidXR0b24sIFRSVUUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBkZmEx
YWIxMmUwMzUwMDY3NzgxZTRmNDczZTZmOTdkN2NkNGEwOTA1Li5lNDRjYzVjN2QxMDBjMjk5MTQ5
Yzk0NjExZDIwMTQzYzY5MDdkZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtNDcyLDggKzQ3Miw4IEBAIHN0YXRpYyBn
Ym9vbGVhbiB3ZWJraXRXZWJWaWV3UnVuRmlsZUNob29zZXIoV2ViS2l0V2ViVmlldyogd2ViVmll
dywgV2ViS2l0RmlsZUNoCiAgICAgR3RrV2lkZ2V0KiBkaWFsb2cgPSBndGtfZmlsZV9jaG9vc2Vy
X2RpYWxvZ19uZXcoYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb24gPyBfKCJTZWxlY3QgRmlsZXMiKSA6
IF8oIlNlbGVjdCBGaWxlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdG9wbGV2ZWwgPyBHVEtfV0lORE9XKHRvcGxldmVsKSA6IDAsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX0ZJTEVf
Q0hPT1NFUl9BQ1RJT05fT1BFTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHVEtfU1RPQ0tfQ0FOQ0VMLCBHVEtfUkVTUE9OU0VfQ0FOQ0VMLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19T
VE9DS19PUEVOLCBHVEtfUkVTUE9OU0VfQUNDRVBULAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIl9DYW5jZWwiKSwgR1RLX1JFU1BPTlNFX0NB
TkNFTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfKCJfT3BlbiIpLCBHVEtfUkVTUE9OU0VfQUNDRVBULAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogCiAgICAgaWYgKEd0a0ZpbGVG
aWx0ZXIqIGZpbHRlciA9IHdlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfbWltZV90eXBl
c19maWx0ZXIocmVxdWVzdCkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggYTJiYjg3YWZiYzVmOWM4N2U3YzA0N2EzYjExYTA2NjFhOWRhNDM0Ni4u
MGU4NGQ3MDRjNWI0OWQzMGM3ZmI1Mjc3MGY0YjZhNjIyODljMDdjZiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEz
LTEyLTEwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gU3RvY2sgSXRlbXMgYXJlIGRlcHJlY2F0ZWQgaW4gZ3RrKyAzLjEwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2ODYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEd0a0xhdW5j
aGVyL21haW4uYzoKKyAgICAgICAgKGNyZWF0ZVRvb2xiYXIpOgorICAgICAgICAqIE1pbmlCcm93
c2VyL2d0ay9Ccm93c2VyRG93bmxvYWRzQmFyLmM6CisgICAgICAgIChicm93c2VyX2Rvd25sb2Fk
c19iYXJfbmV3KToKKyAgICAgICAgKGJyb3dzZXJfZG93bmxvYWRfaW5pdCk6CisgICAgICAgIChk
b3dubG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3NlclNlYXJj
aEJhci5jOgorICAgICAgICAoZG9TZWFyY2gpOgorICAgICAgICAoYnJvd3Nlcl9zZWFyY2hfYmFy
X2luaXQpOgorICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2VyU2V0dGluZ3NEaWFsb2cu
YzoKKyAgICAgICAgKGJyb3dzZXJfc2V0dGluZ3NfZGlhbG9nX2luaXQpOgorICAgICAgICAqIE1p
bmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmM6CisgICAgICAgICh1cGRhdGVVcmlFbnRyeUlj
b24pOgorICAgICAgICAod2ViVmlld0lzTG9hZGluZ0NoYW5nZWQpOgorICAgICAgICAoYnJvd3Nl
cl93aW5kb3dfaW5pdCk6CisKIDIwMTMtMTItMDggIEJyaWFuIEhvbHQgIDxicmlhbi5ob2x0QHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtXSzJdIEFkZCBFTkFCTEVfTkVUV09SS19QUk9DRVNTIGZs
YWcKZGlmZiAtLWdpdCBhL1Rvb2xzL0d0a0xhdW5jaGVyL21haW4uYyBiL1Rvb2xzL0d0a0xhdW5j
aGVyL21haW4uYwppbmRleCA3ZTlkMmNkZTA3YjU4OGU5YzlmZjBkYTlhNjdkYWVjZmI5ZjYyOGEx
Li42NWQyMWQ5NDFlZTdmNTYyODZhZjE1NGM2YzhhOGQ3ODlhYzM2ZjNjIDEwMDY0NAotLS0gYS9U
b29scy9HdGtMYXVuY2hlci9tYWluLmMKKysrIGIvVG9vbHMvR3RrTGF1bmNoZXIvbWFpbi5jCkBA
IC0yNzUsMTcgKzI3NSwyMCBAQCBzdGF0aWMgR3RrV2lkZ2V0KiBjcmVhdGVUb29sYmFyKEd0a1dp
ZGdldCogd2luZG93LCBHdGtXaWRnZXQqIHVyaUVudHJ5LCBXZWJLaXRXZQogICAgIGd0a193aW5k
b3dfYWRkX2FjY2VsX2dyb3VwKEdUS19XSU5ET1cod2luZG93KSwgYWNjZWxHcm91cCk7CiAKICAg
ICAvKiB0aGUgYmFjayBidXR0b24gKi8KLSAgICBpdGVtID0gZ3RrX3Rvb2xfYnV0dG9uX25ld19m
cm9tX3N0b2NrKEdUS19TVE9DS19HT19CQUNLKTsKKyAgICBpdGVtID0gZ3RrX3Rvb2xfYnV0dG9u
X25ldyhOVUxMLCBOVUxMKTsKKyAgICBndGtfdG9vbF9idXR0b25fc2V0X2ljb25fbmFtZShHVEtf
VE9PTF9CVVRUT04oaXRlbSksICJnby1wcmV2aW91cyIpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
R19PQkpFQ1QoaXRlbSksICJjbGlja2VkIiwgR19DQUxMQkFDSyhnb0JhY2tDYiksIHdlYlZpZXcp
OwogICAgIGd0a190b29sYmFyX2luc2VydChHVEtfVE9PTEJBUih0b29sYmFyKSwgaXRlbSwgLTEp
OwogCiAgICAgLyogVGhlIGZvcndhcmQgYnV0dG9uICovCi0gICAgaXRlbSA9IGd0a190b29sX2J1
dHRvbl9uZXdfZnJvbV9zdG9jayhHVEtfU1RPQ0tfR09fRk9SV0FSRCk7CisgICAgaXRlbSA9IGd0
a190b29sX2J1dHRvbl9uZXcoTlVMTCwgTlVMTCk7CisgICAgZ3RrX3Rvb2xfYnV0dG9uX3NldF9p
Y29uX25hbWUoR1RLX1RPT0xfQlVUVE9OKGl0ZW0pLCAiZ28tbmV4dCIpOwogICAgIGdfc2lnbmFs
X2Nvbm5lY3QoR19PQkpFQ1QoaXRlbSksICJjbGlja2VkIiwgR19DQUxMQkFDSyhnb0ZvcndhcmRD
YiksIHdlYlZpZXcpOwogICAgIGd0a190b29sYmFyX2luc2VydChHVEtfVE9PTEJBUih0b29sYmFy
KSwgaXRlbSwgLTEpOwogCiAgICAgLyogVGhlIHJlbG9hZCBidXR0b24gKi8KLSAgICBpdGVtID0g
Z3RrX3Rvb2xfYnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19SRUZSRVNIKTsKKyAgICBp
dGVtID0gZ3RrX3Rvb2xfYnV0dG9uX25ldyhOVUxMLCBOVUxMKTsKKyAgICBndGtfdG9vbF9idXR0
b25fc2V0X2ljb25fbmFtZShHVEtfVE9PTF9CVVRUT04oaXRlbSksICJ2aWV3LXJlZnJlc2giKTsK
ICAgICBnX3NpZ25hbF9jb25uZWN0KEdfT0JKRUNUKGl0ZW0pLCAiY2xpY2tlZCIsIEdfQ0FMTEJB
Q0socmVsb2FkQ2IpLCB3ZWJWaWV3KTsKICAgICBndGtfdG9vbGJhcl9pbnNlcnQoR1RLX1RPT0xC
QVIodG9vbGJhciksIGl0ZW0sIC0xKTsKICAgICBndGtfd2lkZ2V0X2FkZF9hY2NlbGVyYXRvcihH
VEtfV0lER0VUKGl0ZW0pLCAiY2xpY2tlZCIsIGFjY2VsR3JvdXAsIEdES19LRVlfRjUsIDAsIEdU
S19BQ0NFTF9WSVNJQkxFKTsKQEAgLTI5OSw3ICszMDIsOCBAQCBzdGF0aWMgR3RrV2lkZ2V0KiBj
cmVhdGVUb29sYmFyKEd0a1dpZGdldCogd2luZG93LCBHdGtXaWRnZXQqIHVyaUVudHJ5LCBXZWJL
aXRXZQogCiAgICAgLyogVGhlIGdvIGJ1dHRvbiAqLwogICAgIGdfb2JqZWN0X3NldF9kYXRhKEdf
T0JKRUNUKHVyaUVudHJ5KSwgIndlYi12aWV3Iiwgd2ViVmlldyk7Ci0gICAgaXRlbSA9IGd0a190
b29sX2J1dHRvbl9uZXdfZnJvbV9zdG9jayhHVEtfU1RPQ0tfT0spOworICAgIGl0ZW0gPSBndGtf
dG9vbF9idXR0b25fbmV3KE5VTEwsIE5VTEwpOworICAgIGd0a190b29sX2J1dHRvbl9zZXRfaWNv
bl9uYW1lKEdUS19UT09MX0JVVFRPTihpdGVtKSwgImdvLWp1bXAiKTsKICAgICBnX3NpZ25hbF9j
b25uZWN0X3N3YXBwZWQoR19PQkpFQ1QoaXRlbSksICJjbGlja2VkIiwgR19DQUxMQkFDSyhhY3Rp
dmF0ZVVyaUVudHJ5Q2IpLCAoZ3BvaW50ZXIpdXJpRW50cnkpOwogICAgIGd0a190b29sYmFyX2lu
c2VydChHVEtfVE9PTEJBUih0b29sYmFyKSwgaXRlbSwgLTEpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlckRvd25sb2Fkc0Jhci5jIGIvVG9vbHMvTWluaUJyb3dz
ZXIvZ3RrL0Jyb3dzZXJEb3dubG9hZHNCYXIuYwppbmRleCA1ZjBlNjIwZTU5ODZhNWZiYjhlOTll
MDVjNjQzZTViNmU2YWVmZDIwLi42YzEwNGY2MTlmMjNmZjc4OTk1NzA0YTNiNGJhOTczZDQxY2Jj
MTMwIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlckRvd25sb2Fkc0Jh
ci5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyRG93bmxvYWRzQmFyLmMKQEAg
LTgxLDcgKzgxLDcgQEAgc3RhdGljIHZvaWQgYnJvd3Nlcl9kb3dubG9hZHNfYmFyX2NsYXNzX2lu
aXQoQnJvd3NlckRvd25sb2Fkc0JhckNsYXNzICprbGFzcykKIEd0a1dpZGdldCAqYnJvd3Nlcl9k
b3dubG9hZHNfYmFyX25ldygpCiB7CiAgICAgR3RrSW5mb0JhciAqZG93bmxvYWRzQmFyID0gR1RL
X0lORk9fQkFSKGdfb2JqZWN0X25ldyhCUk9XU0VSX1RZUEVfRE9XTkxPQURTX0JBUiwgTlVMTCkp
OwotICAgIGd0a19pbmZvX2Jhcl9hZGRfYnV0dG9ucyhkb3dubG9hZHNCYXIsIEdUS19TVE9DS19D
TE9TRSwgR1RLX1JFU1BPTlNFX0NMT1NFLCBOVUxMKTsKKyAgICBndGtfaW5mb19iYXJfYWRkX2J1
dHRvbnMoZG93bmxvYWRzQmFyLCAiX0Nsb3NlIiwgR1RLX1JFU1BPTlNFX0NMT1NFLCBOVUxMKTsK
ICAgICByZXR1cm4gR1RLX1dJREdFVChkb3dubG9hZHNCYXIpOwogfQogCkBAIC0xNTksNyArMTU5
LDcgQEAgc3RhdGljIHZvaWQgYnJvd3Nlcl9kb3dubG9hZF9pbml0KEJyb3dzZXJEb3dubG9hZCAq
ZG93bmxvYWQpCiAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1godmJveCksIGRvd25sb2Fk
LT5wcm9ncmVzc0JhciwgRkFMU0UsIEZBTFNFLCAwKTsKICAgICBndGtfd2lkZ2V0X3Nob3coZG93
bmxvYWQtPnByb2dyZXNzQmFyKTsKIAotICAgIGRvd25sb2FkLT5hY3Rpb25CdXR0b24gPSBndGtf
YnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19DQU5DRUwpOworICAgIGRvd25sb2FkLT5h
Y3Rpb25CdXR0b24gPSBndGtfYnV0dG9uX25ld193aXRoX21uZW1vbmljKCJfQ2FuY2VsIik7CiAg
ICAgZ19zaWduYWxfY29ubmVjdChkb3dubG9hZC0+YWN0aW9uQnV0dG9uLCAiY2xpY2tlZCIsIEdf
Q0FMTEJBQ0soYWN0aW9uQnV0dG9uQ2xpY2tlZCksIGRvd25sb2FkKTsKICAgICBndGtfYm94X3Bh
Y2tfZW5kKEdUS19CT1gobWFpbkJveCksIGRvd25sb2FkLT5hY3Rpb25CdXR0b24sIEZBTFNFLCBG
QUxTRSwgMCk7CiAgICAgZ3RrX3dpZGdldF9zaG93KGRvd25sb2FkLT5hY3Rpb25CdXR0b24pOwpA
QCAtMjMwLDggKzIzMCw2IEBAIHN0YXRpYyB2b2lkIGRvd25sb2FkRmluaXNoZWQoV2ViS2l0RG93
bmxvYWQgKmRvd25sb2FkLCBCcm93c2VyRG93bmxvYWQgKmJyb3dzZXJECiAgICAgZ3RrX2xhYmVs
X3NldF90ZXh0KEdUS19MQUJFTChicm93c2VyRG93bmxvYWQtPnN0YXR1c0xhYmVsKSwgdGV4dCk7
CiAgICAgZ19mcmVlKHRleHQpOwogICAgIGd0a19sYWJlbF9zZXRfdGV4dChHVEtfTEFCRUwoYnJv
d3NlckRvd25sb2FkLT5yZW1haW5pbmdMYWJlbCksIE5VTEwpOwotICAgIGd0a19idXR0b25fc2V0
X2ltYWdlKEdUS19CVVRUT04oYnJvd3NlckRvd25sb2FkLT5hY3Rpb25CdXR0b24pLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXdfZnJvbV9zdG9jayhHVEtfU1RPQ0tfT1BF
TiwgR1RLX0lDT05fU0laRV9CVVRUT04pKTsKICAgICBndGtfYnV0dG9uX3NldF9sYWJlbChHVEtf
QlVUVE9OKGJyb3dzZXJEb3dubG9hZC0+YWN0aW9uQnV0dG9uKSwgIk9wZW4gLi4uIik7CiAgICAg
YnJvd3NlckRvd25sb2FkLT5maW5pc2hlZCA9IFRSVUU7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9N
aW5pQnJvd3Nlci9ndGsvQnJvd3NlclNlYXJjaEJhci5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3Rr
L0Jyb3dzZXJTZWFyY2hCYXIuYwppbmRleCA3NTg1YjU2NGQzNjgyZjZkZjhkM2VjZGE0ZGVhM2Iw
NDMxOGMwYzQwLi4zMjA0ZThjNzAyY2U3NjVlMGNhNzgxOGM5ZjY3YzhjMWNiMTBjM2MzIDEwMDY0
NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclNlYXJjaEJhci5jCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyU2VhcmNoQmFyLmMKQEAgLTU1LDEzICs1NSwxMyBA
QCBzdGF0aWMgdm9pZCBkb1NlYXJjaChCcm93c2VyU2VhcmNoQmFyICpzZWFyY2hCYXIpCiAKICAg
ICBpZiAoIWd0a19lbnRyeV9nZXRfdGV4dF9sZW5ndGgoZW50cnkpKSB7CiAgICAgICAgIHdlYmtp
dF9maW5kX2NvbnRyb2xsZXJfc2VhcmNoX2ZpbmlzaCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ZpbmRf
Y29udHJvbGxlcihzZWFyY2hCYXItPndlYlZpZXcpKTsKLSAgICAgICAgZ3RrX2VudHJ5X3NldF9p
Y29uX2Zyb21fc3RvY2soZW50cnksIEdUS19FTlRSWV9JQ09OX1NFQ09OREFSWSwgTlVMTCk7Cisg
ICAgICAgIGd0a19lbnRyeV9zZXRfaWNvbl9mcm9tX2ljb25fbmFtZShlbnRyeSwgR1RLX0VOVFJZ
X0lDT05fU0VDT05EQVJZLCBOVUxMKTsKICAgICAgICAgc2V0RmFpbGVkU3R5bGVGb3JFbnRyeShz
ZWFyY2hCYXIsIEZBTFNFKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICghZ3Rr
X2VudHJ5X2dldF9pY29uX3N0b2NrKGVudHJ5LCBHVEtfRU5UUllfSUNPTl9TRUNPTkRBUlkpKQot
ICAgICAgICBndGtfZW50cnlfc2V0X2ljb25fZnJvbV9zdG9jayhlbnRyeSwgR1RLX0VOVFJZX0lD
T05fU0VDT05EQVJZLCBHVEtfU1RPQ0tfQ0xFQVIpOworICAgIGlmICghZ3RrX2VudHJ5X2dldF9p
Y29uX25hbWUoZW50cnksIEdUS19FTlRSWV9JQ09OX1NFQ09OREFSWSkpCisgICAgICAgIGd0a19l
bnRyeV9zZXRfaWNvbl9mcm9tX2ljb25fbmFtZShlbnRyeSwgR1RLX0VOVFJZX0lDT05fU0VDT05E
QVJZLCAiZWRpdC1jbGVhciIpOwogCiAgICAgV2ViS2l0RmluZE9wdGlvbnMgb3B0aW9ucyA9IFdF
QktJVF9GSU5EX09QVElPTlNfTk9ORTsKICAgICBpZiAoIWd0a19jaGVja19tZW51X2l0ZW1fZ2V0
X2FjdGl2ZShHVEtfQ0hFQ0tfTUVOVV9JVEVNKHNlYXJjaEJhci0+Y2FzZUNoZWNrQnV0dG9uKSkp
CkBAIC0xNTYsNyArMTU2LDcgQEAgc3RhdGljIHZvaWQgYnJvd3Nlcl9zZWFyY2hfYmFyX2luaXQo
QnJvd3NlclNlYXJjaEJhciAqc2VhcmNoQmFyKQogICAgIHNlYXJjaEJhci0+ZW50cnkgPSBndGtf
ZW50cnlfbmV3KCk7CiAgICAgZ3RrX3dpZGdldF9zZXRfbmFtZShzZWFyY2hCYXItPmVudHJ5LCAi
c2VhcmNoRW50cnkiKTsKICAgICBndGtfZW50cnlfc2V0X3BsYWNlaG9sZGVyX3RleHQoR1RLX0VO
VFJZKHNlYXJjaEJhci0+ZW50cnkpLCAiU2VhcmNoIik7Ci0gICAgZ3RrX2VudHJ5X3NldF9pY29u
X2Zyb21fc3RvY2soR1RLX0VOVFJZKHNlYXJjaEJhci0+ZW50cnkpLCBHVEtfRU5UUllfSUNPTl9Q
UklNQVJZLCBHVEtfU1RPQ0tfRklORCk7CisgICAgZ3RrX2VudHJ5X3NldF9pY29uX2Zyb21faWNv
bl9uYW1lKEdUS19FTlRSWShzZWFyY2hCYXItPmVudHJ5KSwgR1RLX0VOVFJZX0lDT05fUFJJTUFS
WSwgImVkaXQtZmluZCIpOwogICAgIGd0a19ib3hfcGFja19zdGFydChoQm94LCBzZWFyY2hCYXIt
PmVudHJ5LCBUUlVFLCBUUlVFLCAwKTsKIAogICAgIHNlYXJjaEJhci0+Y3NzUHJvdmlkZXIgPSBn
dGtfY3NzX3Byb3ZpZGVyX25ldygpOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyB2b2lkIGJy
b3dzZXJfc2VhcmNoX2Jhcl9pbml0KEJyb3dzZXJTZWFyY2hCYXIgKnNlYXJjaEJhcikKIAogICAg
IHNlYXJjaEJhci0+cHJldkJ1dHRvbiA9IGd0a19idXR0b25fbmV3KCk7CiAgICAgR3RrQnV0dG9u
ICpidXR0b24gPSBHVEtfQlVUVE9OKHNlYXJjaEJhci0+cHJldkJ1dHRvbik7Ci0gICAgR3RrV2lk
Z2V0ICppbWFnZSA9IGd0a19pbWFnZV9uZXdfZnJvbV9zdG9jayhHVEtfU1RPQ0tfR09fVVAsIEdU
S19JQ09OX1NJWkVfU01BTExfVE9PTEJBUik7CisgICAgR3RrV2lkZ2V0ICppbWFnZSA9IGd0a19p
bWFnZV9uZXdfZnJvbV9pY29uX25hbWUoImdvLXVwIiwgR1RLX0lDT05fU0laRV9TTUFMTF9UT09M
QkFSKTsKICAgICBndGtfYnV0dG9uX3NldF9pbWFnZShidXR0b24sIGltYWdlKTsKICAgICBndGtf
YnV0dG9uX3NldF9yZWxpZWYoYnV0dG9uLCBHVEtfUkVMSUVGX05PTkUpOwogICAgIGd0a19idXR0
b25fc2V0X2ZvY3VzX29uX2NsaWNrKGJ1dHRvbiwgRkFMU0UpOwpAQCAtMTc1LDcgKzE3NSw3IEBA
IHN0YXRpYyB2b2lkIGJyb3dzZXJfc2VhcmNoX2Jhcl9pbml0KEJyb3dzZXJTZWFyY2hCYXIgKnNl
YXJjaEJhcikKIAogICAgIHNlYXJjaEJhci0+bmV4dEJ1dHRvbiA9IGd0a19idXR0b25fbmV3KCk7
CiAgICAgYnV0dG9uID0gR1RLX0JVVFRPTihzZWFyY2hCYXItPm5leHRCdXR0b24pOwotICAgIGlt
YWdlID0gZ3RrX2ltYWdlX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19HT19ET1dOLCBHVEtfSUNP
Tl9TSVpFX1NNQUxMX1RPT0xCQVIpOworICAgIGltYWdlID0gZ3RrX2ltYWdlX25ld19mcm9tX2lj
b25fbmFtZSgiZ28tZG93biIsIEdUS19JQ09OX1NJWkVfU01BTExfVE9PTEJBUik7CiAgICAgZ3Rr
X2J1dHRvbl9zZXRfaW1hZ2UoYnV0dG9uLCBpbWFnZSk7CiAgICAgZ3RrX2J1dHRvbl9zZXRfcmVs
aWVmKGJ1dHRvbiwgR1RLX1JFTElFRl9OT05FKTsKICAgICBndGtfYnV0dG9uX3NldF9mb2N1c19v
bl9jbGljayhidXR0b24sIEZBTFNFKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBzdGF0aWMgdm9pZCBi
cm93c2VyX3NlYXJjaF9iYXJfaW5pdChCcm93c2VyU2VhcmNoQmFyICpzZWFyY2hCYXIpCiAKICAg
ICBHdGtXaWRnZXQgKmNsb3NlQnV0dG9uID0gZ3RrX2J1dHRvbl9uZXcoKTsKICAgICBidXR0b24g
PSBHVEtfQlVUVE9OKGNsb3NlQnV0dG9uKTsKLSAgICBpbWFnZSA9IGd0a19pbWFnZV9uZXdfZnJv
bV9zdG9jayhHVEtfU1RPQ0tfQ0xPU0UsIEdUS19JQ09OX1NJWkVfU01BTExfVE9PTEJBUik7Cisg
ICAgaW1hZ2UgPSBndGtfaW1hZ2VfbmV3X2Zyb21faWNvbl9uYW1lKCJ3aW5kb3ctY2xvc2UiLCBH
VEtfSUNPTl9TSVpFX1NNQUxMX1RPT0xCQVIpOwogICAgIGd0a19idXR0b25fc2V0X2ltYWdlKGJ1
dHRvbiwgaW1hZ2UpOwogICAgIGd0a19idXR0b25fc2V0X3JlbGllZihidXR0b24sIEdUS19SRUxJ
RUZfTk9ORSk7CiAgICAgZ3RrX2J1dHRvbl9zZXRfZm9jdXNfb25fY2xpY2soYnV0dG9uLCBGQUxT
RSk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclNldHRpbmdzRGlh
bG9nLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclNldHRpbmdzRGlhbG9nLmMKaW5k
ZXggMWU0ZGNkODA0YjhhMWViYmQzZDYzYjM3ODIyN2M4ZTQyNzUzODM5NS4uOTVkYjk0ZjEwZDQ1
ZGZmMzEzZWZhNWE0MGFiNGUxNGQ3OTNkZmU1MCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvZ3RrL0Jyb3dzZXJTZXR0aW5nc0RpYWxvZy5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0
ay9Ccm93c2VyU2V0dGluZ3NEaWFsb2cuYwpAQCAtOTMsNyArOTMsNyBAQCBzdGF0aWMgdm9pZCBi
cm93c2VyX3NldHRpbmdzX2RpYWxvZ19pbml0KEJyb3dzZXJTZXR0aW5nc0RpYWxvZyAqZGlhbG9n
KQogICAgIGd0a193aW5kb3dfc2V0X3RpdGxlKEdUS19XSU5ET1coZGlhbG9nKSwgIldlYktpdCBW
aWV3IFNldHRpbmdzIik7CiAgICAgZ3RrX3dpbmRvd19zZXRfZGVzdHJveV93aXRoX3BhcmVudChH
VEtfV0lORE9XKGRpYWxvZyksIFRSVUUpOwogICAgIGd0a19jb250YWluZXJfc2V0X2JvcmRlcl93
aWR0aChHVEtfQ09OVEFJTkVSKGRpYWxvZyksIDUpOwotICAgIGd0a19kaWFsb2dfYWRkX2J1dHRv
bihHVEtfRElBTE9HKGRpYWxvZyksIEdUS19TVE9DS19DTE9TRSwgR1RLX1JFU1BPTlNFX0NMT1NF
KTsKKyAgICBndGtfZGlhbG9nX2FkZF9idXR0b24oR1RLX0RJQUxPRyhkaWFsb2cpLCAiX0Nsb3Nl
IiwgR1RLX1JFU1BPTlNFX0NMT1NFKTsKICAgICBndGtfZGlhbG9nX3NldF9kZWZhdWx0X3Jlc3Bv
bnNlKEdUS19ESUFMT0coZGlhbG9nKSwgR1RLX1JFU1BPTlNFX0NMT1NFKTsKIAogICAgIEd0a1dp
ZGdldCAqc2Nyb2xsZWRXaW5kb3cgPSBndGtfc2Nyb2xsZWRfd2luZG93X25ldyhOVUxMLCBOVUxM
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMgYi9U
b29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCmluZGV4IDFkM2I0ZmNmNDVmNDQx
NjIzZGY2OTBkM2M1NTJkY2JmN2JmNjBjZTIuLjRlYWJiYmNhMWU0Zjc0ZTA0NWFmZTQwZTE4ZmVm
M2M1MDlmYmE2MTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2lu
ZG93LmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwpAQCAtNDU1
LDcgKzQ1NSw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVVyaUVudHJ5SWNvbihCcm93c2VyV2luZG93
ICp3aW5kb3cpCiAgICAgaWYgKHdpbmRvdy0+ZmF2aWNvbikKICAgICAgICAgZ3RrX2VudHJ5X3Nl
dF9pY29uX2Zyb21fcGl4YnVmKGVudHJ5LCBHVEtfRU5UUllfSUNPTl9QUklNQVJZLCB3aW5kb3ct
PmZhdmljb24pOwogICAgIGVsc2UKLSAgICAgICAgZ3RrX2VudHJ5X3NldF9pY29uX2Zyb21fc3Rv
Y2soZW50cnksIEdUS19FTlRSWV9JQ09OX1BSSU1BUlksIEdUS19TVE9DS19ORVcpOworICAgICAg
ICBndGtfZW50cnlfc2V0X2ljb25fZnJvbV9pY29uX25hbWUoZW50cnksIEdUS19FTlRSWV9JQ09O
X1BSSU1BUlksICJkb2N1bWVudC1uZXciKTsKIH0KIAogc3RhdGljIHZvaWQgZmF2aWNvbkNoYW5n
ZWQoR09iamVjdCAqb2JqZWN0LCBHUGFyYW1TcGVjICpwYXJhbVNwZWMsIEJyb3dzZXJXaW5kb3cg
KndpbmRvdykKQEAgLTQ3OSw3ICs0NzksNyBAQCBzdGF0aWMgdm9pZCBmYXZpY29uQ2hhbmdlZChH
T2JqZWN0ICpvYmplY3QsIEdQYXJhbVNwZWMgKnBhcmFtU3BlYywgQnJvd3NlcldpbmRvdwogc3Rh
dGljIHZvaWQgd2ViVmlld0lzTG9hZGluZ0NoYW5nZWQoR09iamVjdCAqb2JqZWN0LCBHUGFyYW1T
cGVjICpwYXJhbVNwZWMsIEJyb3dzZXJXaW5kb3cgKndpbmRvdykKIHsKICAgICBnYm9vbGVhbiBp
c0xvYWRpbmcgPSB3ZWJraXRfd2ViX3ZpZXdfaXNfbG9hZGluZyh3aW5kb3ctPndlYlZpZXcpOwot
ICAgIGd0a190b29sX2J1dHRvbl9zZXRfc3RvY2tfaWQoR1RLX1RPT0xfQlVUVE9OKHdpbmRvdy0+
cmVsb2FkT3JTdG9wQnV0dG9uKSwgaXNMb2FkaW5nID8gR1RLX1NUT0NLX1NUT1AgOiBHVEtfU1RP
Q0tfUkVGUkVTSCk7CisgICAgZ3RrX3Rvb2xfYnV0dG9uX3NldF9pY29uX25hbWUoR1RLX1RPT0xf
QlVUVE9OKHdpbmRvdy0+cmVsb2FkT3JTdG9wQnV0dG9uKSwgaXNMb2FkaW5nID8gInByb2Nlc3Mt
c3RvcCIgOiAidmlldy1yZWZyZXNoIik7CiB9CiAKIHN0YXRpYyB2b2lkIHpvb21JbkNhbGxiYWNr
KEJyb3dzZXJXaW5kb3cgKndpbmRvdykKQEAgLTU2OCwzOCArNTY4LDQ0IEBAIHN0YXRpYyB2b2lk
IGJyb3dzZXJfd2luZG93X2luaXQoQnJvd3NlcldpbmRvdyAqd2luZG93KQogICAgIGd0a19vcmll
bnRhYmxlX3NldF9vcmllbnRhdGlvbihHVEtfT1JJRU5UQUJMRSh0b29sYmFyKSwgR1RLX09SSUVO
VEFUSU9OX0hPUklaT05UQUwpOwogICAgIGd0a190b29sYmFyX3NldF9zdHlsZShHVEtfVE9PTEJB
Uih0b29sYmFyKSwgR1RLX1RPT0xCQVJfQk9USF9IT1JJWik7CiAKLSAgICBHdGtUb29sSXRlbSAq
aXRlbSA9IGd0a19tZW51X3Rvb2xfYnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19HT19C
QUNLKTsKKyAgICBHdGtUb29sSXRlbSAqaXRlbSA9IGd0a19tZW51X3Rvb2xfYnV0dG9uX25ldyhO
VUxMLCBOVUxMKTsKKyAgICBndGtfdG9vbF9idXR0b25fc2V0X2ljb25fbmFtZShHVEtfVE9PTF9C
VVRUT04oaXRlbSksICJnby1wcmV2aW91cyIpOwogICAgIHdpbmRvdy0+YmFja0l0ZW0gPSBHVEtf
V0lER0VUKGl0ZW0pOwogICAgIGd0a19tZW51X3Rvb2xfYnV0dG9uX3NldF9tZW51KEdUS19NRU5V
X1RPT0xfQlVUVE9OKGl0ZW0pLCAwKTsKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQoaXRl
bSwgImNsaWNrZWQiLCBHX0NBTExCQUNLKGdvQmFja0NhbGxiYWNrKSwgKGdwb2ludGVyKXdpbmRv
dyk7CiAgICAgZ3RrX3Rvb2xiYXJfaW5zZXJ0KEdUS19UT09MQkFSKHRvb2xiYXIpLCBpdGVtLCAt
MSk7CiAgICAgZ3RrX3dpZGdldF9zaG93KEdUS19XSURHRVQoaXRlbSkpOwogCi0gICAgaXRlbSA9
IGd0a19tZW51X3Rvb2xfYnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19HT19GT1JXQVJE
KTsKKyAgICBpdGVtID0gZ3RrX21lbnVfdG9vbF9idXR0b25fbmV3KE5VTEwsIE5VTEwpOworICAg
IGd0a190b29sX2J1dHRvbl9zZXRfaWNvbl9uYW1lKEdUS19UT09MX0JVVFRPTihpdGVtKSwgImdv
LW5leHQiKTsKICAgICB3aW5kb3ctPmZvcndhcmRJdGVtID0gR1RLX1dJREdFVChpdGVtKTsKICAg
ICBndGtfbWVudV90b29sX2J1dHRvbl9zZXRfbWVudShHVEtfTUVOVV9UT09MX0JVVFRPTihpdGVt
KSwgMCk7CiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKEdfT0JKRUNUKGl0ZW0pLCAiY2xp
Y2tlZCIsIEdfQ0FMTEJBQ0soZ29Gb3J3YXJkQ2FsbGJhY2spLCAoZ3BvaW50ZXIpd2luZG93KTsK
ICAgICBndGtfdG9vbGJhcl9pbnNlcnQoR1RLX1RPT0xCQVIodG9vbGJhciksIGl0ZW0sIC0xKTsK
ICAgICBndGtfd2lkZ2V0X3Nob3coR1RLX1dJREdFVChpdGVtKSk7CiAKLSAgICBpdGVtID0gZ3Rr
X3Rvb2xfYnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19QUkVGRVJFTkNFUyk7CisgICAg
aXRlbSA9IGd0a19tZW51X3Rvb2xfYnV0dG9uX25ldyhOVUxMLCBOVUxMKTsKKyAgICBndGtfdG9v
bF9idXR0b25fc2V0X2ljb25fbmFtZShHVEtfVE9PTF9CVVRUT04oaXRlbSksICJwcmVmZXJlbmNl
cy1zeXN0ZW0iKTsKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQoR19PQkpFQ1QoaXRlbSks
ICJjbGlja2VkIiwgR19DQUxMQkFDSyhzZXR0aW5nc0NhbGxiYWNrKSwgd2luZG93KTsKICAgICBn
dGtfdG9vbGJhcl9pbnNlcnQoR1RLX1RPT0xCQVIodG9vbGJhciksIGl0ZW0sIC0xKTsKICAgICBn
dGtfd2lkZ2V0X3Nob3coR1RLX1dJREdFVChpdGVtKSk7CiAKLSAgICBpdGVtID0gZ3RrX3Rvb2xf
YnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19aT09NX09VVCk7CisgICAgaXRlbSA9IGd0
a19tZW51X3Rvb2xfYnV0dG9uX25ldyhOVUxMLCBOVUxMKTsKKyAgICBndGtfdG9vbF9idXR0b25f
c2V0X2ljb25fbmFtZShHVEtfVE9PTF9CVVRUT04oaXRlbSksICJ6b29tLW91dCIpOwogICAgIHdp
bmRvdy0+em9vbU91dEl0ZW0gPSBHVEtfV0lER0VUKGl0ZW0pOwogICAgIGdfc2lnbmFsX2Nvbm5l
Y3Rfc3dhcHBlZChpdGVtLCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0soem9vbU91dENhbGxiYWNrKSwg
d2luZG93KTsKICAgICBndGtfdG9vbGJhcl9pbnNlcnQoR1RLX1RPT0xCQVIodG9vbGJhciksIGl0
ZW0sIC0xKTsKICAgICBndGtfd2lkZ2V0X3Nob3coR1RLX1dJREdFVChpdGVtKSk7CiAKLSAgICBp
dGVtID0gZ3RrX3Rvb2xfYnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19aT09NX0lOKTsK
KyAgICBpdGVtID0gZ3RrX21lbnVfdG9vbF9idXR0b25fbmV3KE5VTEwsIE5VTEwpOworICAgIGd0
a190b29sX2J1dHRvbl9zZXRfaWNvbl9uYW1lKEdUS19UT09MX0JVVFRPTihpdGVtKSwgInpvb20t
aW4iKTsKICAgICB3aW5kb3ctPnpvb21Jbkl0ZW0gPSBHVEtfV0lER0VUKGl0ZW0pOwogICAgIGdf
c2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChpdGVtLCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0soem9vbUlu
Q2FsbGJhY2spLCB3aW5kb3cpOwogICAgIGd0a190b29sYmFyX2luc2VydChHVEtfVE9PTEJBUih0
b29sYmFyKSwgaXRlbSwgLTEpOwogICAgIGd0a193aWRnZXRfc2hvdyhHVEtfV0lER0VUKGl0ZW0p
KTsKIAotICAgIGl0ZW0gPSBndGtfdG9vbF9idXR0b25fbmV3X2Zyb21fc3RvY2soR1RLX1NUT0NL
X0ZJTkQpOworICAgIGl0ZW0gPSBndGtfbWVudV90b29sX2J1dHRvbl9uZXcoTlVMTCwgTlVMTCk7
CisgICAgZ3RrX3Rvb2xfYnV0dG9uX3NldF9pY29uX25hbWUoR1RLX1RPT0xfQlVUVE9OKGl0ZW0p
LCAiZWRpdC1maW5kIik7CiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKGl0ZW0sICJjbGlj
a2VkIiwgR19DQUxMQkFDSyhzZWFyY2hDYWxsYmFjayksIHdpbmRvdyk7CiAgICAgZ3RrX3Rvb2xi
YXJfaW5zZXJ0KEdUS19UT09MQkFSKHRvb2xiYXIpLCBpdGVtLCAtMSk7CiAgICAgZ3RrX3dpZGdl
dF9hZGRfYWNjZWxlcmF0b3IoR1RLX1dJREdFVChpdGVtKSwgImNsaWNrZWQiLCB3aW5kb3ctPmFj
Y2VsR3JvdXAsIEdES19LRVlfRiwgR0RLX0NPTlRST0xfTUFTSywgR1RLX0FDQ0VMX1ZJU0lCTEUp
OwpAQCAtNjEyLDcgKzYxOCw4IEBAIHN0YXRpYyB2b2lkIGJyb3dzZXJfd2luZG93X2luaXQoQnJv
d3NlcldpbmRvdyAqd2luZG93KQogICAgIGd0a190b29sYmFyX2luc2VydChHVEtfVE9PTEJBUih0
b29sYmFyKSwgaXRlbSwgLTEpOwogICAgIGd0a193aWRnZXRfc2hvdyhHVEtfV0lER0VUKGl0ZW0p
KTsKIAotICAgIGl0ZW0gPSBndGtfdG9vbF9idXR0b25fbmV3X2Zyb21fc3RvY2soR1RLX1NUT0NL
X1JFRlJFU0gpOworICAgIGl0ZW0gPSBndGtfbWVudV90b29sX2J1dHRvbl9uZXcoTlVMTCwgTlVM
TCk7CisgICAgZ3RrX3Rvb2xfYnV0dG9uX3NldF9pY29uX25hbWUoR1RLX1RPT0xfQlVUVE9OKGl0
ZW0pLCAidmlldy1yZWZyZXNoIik7CiAgICAgd2luZG93LT5yZWxvYWRPclN0b3BCdXR0b24gPSBH
VEtfV0lER0VUKGl0ZW0pOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChpdGVtLCAiY2xp
Y2tlZCIsIEdfQ0FMTEJBQ0socmVsb2FkT3JTdG9wQ2FsbGJhY2spLCB3aW5kb3cpOwogICAgIGd0
a190b29sYmFyX2luc2VydChHVEtfVE9PTEJBUih0b29sYmFyKSwgaXRlbSwgLTEpOwo=
</data>
<flag name="review"
          id="242376"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="246195"
          type_id="3"
          status="-"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>