<?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>209235</bug_id>
          
          <creation_ts>2020-03-18 08:36:50 -0700</creation_ts>
          <short_desc>WebPage should own a Ref&lt;WebFrame&gt;</short_desc>
          <delta_ts>2020-03-18 13:31:16 -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>Page Loading</component>
          <version>WebKit 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1631163</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-18 08:36:50 -0700</bug_when>
    <thetext>WebPage should own a Ref&lt;WebFrame&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631167</commentid>
    <comment_count>1</comment_count>
      <attachid>393857</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-18 08:41:00 -0700</bug_when>
    <thetext>Created attachment 393857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631227</commentid>
    <comment_count>2</comment_count>
      <attachid>393875</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-18 10:14:16 -0700</bug_when>
    <thetext>Created attachment 393875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631228</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-03-18 10:14:57 -0700</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>1631242</commentid>
    <comment_count>4</comment_count>
      <attachid>393875</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-03-18 10:52:46 -0700</bug_when>
    <thetext>Comment on attachment 393875
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631332</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-18 13:30:08 -0700</bug_when>
    <thetext>Committed r258663: &lt;https://trac.webkit.org/changeset/258663&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 393875.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631334</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-18 13:31:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/60599852&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393857</attachid>
            <date>2020-03-18 08:41:00 -0700</date>
            <delta_ts>2020-03-18 10:14:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209235-20200318164058.patch</filename>
            <type>text/plain</type>
            <size>29243</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U5NmIxMTkwMWFhMzc1
N2IyNzE1Y2M5MzA4ZWU1ZTg5OTQ4N2M2Zi4uNDgyMGI0YmE3ZDczMDlkMGZjODZmMDJjNGU1NTJj
YmUyYmMxOWZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAzLTE4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJQYWdlIHNob3VsZCBv
d24gYSBSZWY8V2ViRnJhbWU+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDkyMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oOgorICAgICAgICBF
eHBvcnQgY29tbWl0dGVkRmlyc3RSZWFsRG9jdW1lbnRMb2FkLworCiAyMDIwLTAzLTE4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFVSTDo6cGF0aCgp
IHJldHVybiBhIFN0cmluZ1ZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWZmZGRlMDkwM2YzZjFmYjUxMTQ1ODVm
Mjc3ZDcwZDI0M2Y4MmY4NC4uNjg5NTE5MWQzMjg4ZWYwYjQwNTg3MWQzYWI2NjkwYWEyYzAyODFh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAyMC0wMy0xOCAgeW91ZW5uIGZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUGFnZSBzaG91bGQgb3duIGEgUmVmPFdl
YkZyYW1lPgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIGNvZGUgc2luY2UgbV9tYWluRnJhbWUgaXMgbm93IGEgUmVmIGFuZCBubyBsb25nZXIg
YSBSZWZQdHIuCisKKyAgICAgICAgVXBkYXRlIFdlYlBhZ2UgY29uc3RydWN0b3IgdG8gc2V0IGl0
cyBtX21haW5GcmFtZSB2ZXJ5IGVhcmx5LgorICAgICAgICBXZSB1cGRhdGUgV2ViUGFnZTo6ZGlk
Q29tcGxldGVQYWdlVHJhbnNpdGlvbiB0byBjb21wdXRlIHdoZXRoZXIgdGhpcyBpcyBpbml0aWFs
aXphdGlvbiBvciBub3QgdXNpbmcgdGhlIGZyYW1lIHN0YXRlIG1hY2hpbmUgc3RhdGUKKyAgICAg
ICAgaW5zdGVhZCBvZiBtX21haW5GcmFtZSBiZWluZyBudWxsLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5j
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnJlc29s
dmVDaGlsZEZyYW1lV2l0aE9yZGluYWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5OjpyZXNvbHZlQ2hpbGRGcmFtZVdpdGhOb2RlSGFuZGxlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6cmVzb2x2ZUNoaWxkRnJhbWVXaXRo
TmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnJlc29s
dmVQYXJlbnRGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJv
eHk6OmZvY3VzRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5Ojpjb21wdXRlRWxlbWVudExheW91dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uUHJveHk6OnNlbGVjdE9wdGlvbkVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpzZXRGaWxlc0ZvcklucHV0RmlsZVVwbG9hZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnRha2VTY3JlZW5zaG90
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6c25hcHNob3RS
ZWN0Rm9yU2NyZWVuc2hvdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
UHJveHk6OmdldENvb2tpZXNGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uUHJveHk6OmRlbGV0ZUNvb2tpZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdl
R2V0TWFpbkZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmZpbmRMYXJnZXN0RnJhbWVJbkZyYW1l
U2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpjbG9zZVdpbmRvd1Nvb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRSZWFjaExheW91dE1pbGVzdG9uZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVy
Q2xpZW50OjpkaXNwYXRjaERpZExheW91dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpyZXN0b3JlVmlld1N0YXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlm
aWNhdGlvbkdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yOjpjb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmdvVG9JdGVtKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjptX3Byb2Nlc3NEaXNwbGF5TmFtZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6c3VzcGVuZEZvclByb2Nlc3NTd2FwKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9h
ZERhdGFJbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFJlcXVlc3QpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWxvYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6c2V0SXNTdXNwZW5kZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRM
b2FkRnJvbVJlZ2lzdHJhYmxlRG9tYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptYWluV2ViRnJhbWUgY29uc3Qp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FuY2VsUG90ZW50aWFsVGFwKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6b3JpZ2lu
KToKKwogMjAyMC0wMy0xOCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBVUkw6OnBhdGgoKSByZXR1cm4gYSBTdHJpbmdWaWV3CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IDI1ZDg2MzExNzdi
NjZhOTA0NDNlYzA3NWM3OTdjMjJmYjJiNjA5OGEuLjY0ZTNkNTVlZGI0ODcyYTM5ODdlNzBlNGFi
OTc2NTI3NWU1ZTA5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlclN0YXRlTWFjaGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBjb21taXR0aW5nRmlyc3RSZWFsTG9hZCgpIGNvbnN0OwotICAg
IGJvb2wgY29tbWl0dGVkRmlyc3RSZWFsRG9jdW1lbnRMb2FkKCkgY29uc3Q7CisgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBjb21taXR0ZWRGaXJzdFJlYWxEb2N1bWVudExvYWQoKSBjb25zdDsKICAg
ICBib29sIGNyZWF0aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCBib29sIGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50KCkgY29uc3Q7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBmaXJzdExheW91dERvbmUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eS5jcHAKaW5kZXggOTQ3YWUwMjY3MGEyMGY1NGNjNzQxMzdkNTBl
MmRiNTRmOTFlMzE0NC4uNGQ3MDdmYTQ5ZGEyNjFhNTQ4ODlmYTRkZGU0ZjliYzMyMGVmYWQ0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKQEAgLTMxNiw3ICszMTYsNyBAQCB2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9u
KFdlYkNvcmU6OlBhZ2VJZGVudGlmaQogICAgICAgICAgICAgSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1Db25zdGFudFZhbHVlKEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6V2luZG93Tm90Rm91bmQpKSwgMCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgV2ViRnJhbWUqIGZyYW1lID0gb3B0aW9uYWxGcmFtZUlE
ID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKm9wdGlvbmFsRnJhbWVJRCkgOiBw
YWdlLT5tYWluV2ViRnJhbWUoKTsKKyAgICBhdXRvKiBmcmFtZSA9IG9wdGlvbmFsRnJhbWVJRCA/
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpvcHRpb25hbEZyYW1lSUQpIDogJnBh
Z2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUpIHsKICAgICAgICAgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
V2ViQXV0b21hdGlvblNlc3Npb246OkRpZEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKGNhbGxi
YWNrSUQsIHsgfSwKICAgICAgICAgICAgIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25I
ZWxwZXJzOjpnZXRFbnVtQ29uc3RhbnRWYWx1ZShJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpFcnJvck1lc3NhZ2U6OkZyYW1lTm90Rm91bmQpKSwgMCk7CkBAIC0zODksNyArMzg5LDcg
QEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpyZXNvbHZlQ2hpbGRGcmFtZVdpdGhP
cmRpbmFsKFdlYkNvcmU6OlBhZ2VJZGVudGkKIAogICAgIFN0cmluZyBmcmFtZU5vdEZvdW5kRXJy
b3JUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1D
b25zdGFudFZhbHVlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2Fn
ZTo6RnJhbWVOb3RGb3VuZCk7CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZy
YW1lKCk7CisgICAgYXV0byogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkud2ViRnJhbWUoKmZyYW1lSUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICgh
ZnJhbWUpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlw
ZSwgV1RGOjpudWxsb3B0KTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDI3LDcgKzQyNyw3IEBAIHZv
aWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6cmVzb2x2ZUNoaWxkRnJhbWVXaXRoTm9kZUhh
bmRsZShXZWJDb3JlOjpQYWdlSWRlCiAKICAgICBTdHJpbmcgZnJhbWVOb3RGb3VuZEVycm9yVHlw
ZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25IZWxwZXJzOjpnZXRFbnVtQ29uc3Rh
bnRWYWx1ZShJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpFcnJvck1lc3NhZ2U6OkZy
YW1lTm90Rm91bmQpOwogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgp
OworICAgIGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndl
YkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1l
KSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZyYW1lTm90Rm91bmRFcnJvclR5cGUsIFdU
Rjo6bnVsbG9wdCk7CiAgICAgICAgIHJldHVybjsKQEAgLTQ3Nyw3ICs0NzcsNyBAQCB2b2lkIFdl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnJlc29sdmVDaGlsZEZyYW1lV2l0aE5hbWUoV2ViQ29y
ZTo6UGFnZUlkZW50aWZpZQogCiAgICAgU3RyaW5nIGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uSGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFs
dWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5v
dEZvdW5kKTsKIAotICAgIFdlYkZyYW1lKiBmcmFtZSA9IGZyYW1lSUQgPyBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS53ZWJGcmFtZSgqZnJhbWVJRCkgOiBwYWdlLT5tYWluV2ViRnJhbWUoKTsKKyAg
ICBhdXRvKiBmcmFtZSA9IGZyYW1lSUQgPyBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFt
ZSgqZnJhbWVJRCkgOiAmcGFnZS0+bWFpbldlYkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmcmFtZU5vdEZvdW5kRXJyb3JUeXBlLCBXVEY6Om51
bGxvcHQpOwogICAgICAgICByZXR1cm47CkBAIC01MTUsNyArNTE1LDcgQEAgdm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvblByb3h5OjpyZXNvbHZlUGFyZW50RnJhbWUoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIgcGFnZUkKIAogICAgIFN0cmluZyBmcmFtZU5vdEZvdW5kRXJyb3JUeXBlID0gSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1Db25zdGFudFZhbHVlKElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6RnJhbWVOb3RGb3Vu
ZCk7CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0
byogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZy
YW1lSUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUpIHsKICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSwgV1RGOjpudWxsb3B0
KTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTM2LDcgKzUzNiw3IEBAIHZvaWQgV2ViQXV0b21hdGlv
blNlc3Npb25Qcm94eTo6Zm9jdXNGcmFtZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQs
IE9wdGlvCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBXZWJGcmFtZSog
ZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1l
SUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0byogZnJhbWUgPSBmcmFtZUlEID8g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogJnBhZ2UtPm1haW5X
ZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjEzLDcg
KzYxMyw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6Y29tcHV0ZUVsZW1lbnRM
YXlvdXQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0byog
ZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1l
SUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5j
b3JlRnJhbWUoKSB8fCAhZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkpIHsKICAgICAgICAgU3Ry
aW5nIGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uSGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFsdWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5vdEZvdW5kKTsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSwgeyB9LCBXVEY6Om51bGxvcHQsIGZhbHNl
KTsKQEAgLTcyNyw3ICs3MjcsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnNl
bGVjdE9wdGlvbkVsZW1lbnQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgp
OworICAgIGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndl
YkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1l
IHx8ICFmcmFtZS0+Y29yZUZyYW1lKCkgfHwgIWZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpKSB7
CiAgICAgICAgIFN0cmluZyBmcmFtZU5vdEZvdW5kRXJyb3JUeXBlID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1Db25zdGFudFZhbHVlKEluc3BlY3Rvcjo6
UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6RnJhbWVOb3RGb3VuZCk7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGZyYW1lTm90Rm91bmRFcnJvclR5cGUpOwpAQCAtNzc3LDcg
Kzc3Nyw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6c2V0RmlsZXNGb3JJbnB1
dEZpbGVVcGxvYWQoV2ViQ29yZTo6UGFnZUlkZW50aWZpCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0byog
ZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1l
SUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5j
b3JlRnJhbWUoKSB8fCAhZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkpIHsKICAgICAgICAgU3Ry
aW5nIGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uSGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFsdWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5vdEZvdW5kKTsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSk7CkBAIC04NDEsNyArODQxLDcgQEAgdm9p
ZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Ojp0YWtlU2NyZWVuc2hvdChXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciBwYWdlSUQsIE8KIAogICAgICAgICBXZWJQYWdlKiBwYWdlID0gV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkud2ViUGFnZShwYWdlSUQpOwogICAgICAgICBBU1NFUlQocGFnZSk7Ci0g
ICAgICAgIFdlYkZyYW1lKiBmcmFtZSA9IGZyYW1lSUQgPyBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS53ZWJGcmFtZSgqZnJhbWVJRCkgOiBwYWdlLT5tYWluV2ViRnJhbWUoKTsKKyAgICAgICAgYXV0
byogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZy
YW1lSUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgICAgICBBU1NFUlQoZnJhbWUgJiYg
ZnJhbWUtPmNvcmVGcmFtZSgpKTsKICAgICAgICAgYXV0byBzbmFwc2hvdFJlY3QgPSBXZWJDb3Jl
OjpJbnRSZWN0KGZyYW1lLT5jb3JlRnJhbWUoKS0+bWFpbkZyYW1lKCkudmlldygpLT5jbGllbnRU
b0RvY3VtZW50UmVjdChyZWN0KSk7CiAgICAgICAgIFJlZlB0cjxXZWJJbWFnZT4gaW1hZ2UgPSBw
YWdlLT5zY2FsZWRTbmFwc2hvdFdpdGhPcHRpb25zKHNuYXBzaG90UmVjdCwgMSwgU25hcHNob3RP
cHRpb25zU2hhcmVhYmxlKTsKQEAgLTg2NSw3ICs4NjUsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25T
ZXNzaW9uUHJveHk6OnNuYXBzaG90UmVjdEZvclNjcmVlbnNob3QoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJh
bWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2Ut
Pm1haW5XZWJGcmFtZSgpOworICAgIGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsK
ICAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+Y29yZUZyYW1lKCkpIHsKICAgICAgICAgU3RyaW5n
IGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
SGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFsdWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21h
dGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5vdEZvdW5kKTsKICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSwgeyB9KTsKQEAgLTkxMCw3ICs5MTAsNyBAQCB2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmdldENvb2tpZXNGb3JGcmFtZShXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllciBwYWdlSQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgV2Vi
RnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1l
KCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgpOworICAgIGF1dG8qIGZyYW1lID0gZnJh
bWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdl
LT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+Y29yZUZyYW1lKCkg
fHwgIWZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKSkgewogICAgICAgICBTdHJpbmcgZnJh
bWVOb3RGb3VuZEVycm9yVHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25IZWxw
ZXJzOjpnZXRFbnVtQ29uc3RhbnRWYWx1ZShJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
OjpFcnJvck1lc3NhZ2U6OkZyYW1lTm90Rm91bmQpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihmcmFtZU5vdEZvdW5kRXJyb3JUeXBlLCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPigpKTsKQEAg
LTkzNSw3ICs5MzUsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmRlbGV0ZUNv
b2tpZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9wdAogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgpOworICAg
IGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1l
KCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lIHx8ICFm
cmFtZS0+Y29yZUZyYW1lKCkgfHwgIWZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKSkgewog
ICAgICAgICBTdHJpbmcgZnJhbWVOb3RGb3VuZEVycm9yVHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb25IZWxwZXJzOjpnZXRFbnVtQ29uc3RhbnRWYWx1ZShJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpFcnJvck1lc3NhZ2U6OkZyYW1lTm90Rm91bmQpOwogICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmcmFtZU5vdEZvdW5kRXJyb3JUeXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5jcHAKaW5kZXggNWQ4MDU5Nzc5ZGQxNmY5N2VjMmEyYmQ2OTZhYWY0NWE4NGI1
MTJmZS4uZjc1NDg3MDNkZGQwNGYwMTFjYTI1NmE1OTRiN2QyZTM5ZDYyOGJmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTE3MSw3ICsxNzEsNyBAQCBXS0J1bmRsZVBhZ2VHcm91
cFJlZiBXS0J1bmRsZVBhZ2VHZXRQYWdlR3JvdXAoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAK
IFdLQnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJl
ZiBwYWdlUmVmKQogewotICAgIHJldHVybiB0b0FQSShXZWJLaXQ6OnRvSW1wbChwYWdlUmVmKS0+
bWFpbldlYkZyYW1lKCkpOworICAgIHJldHVybiB0b0FQSSgmV2ViS2l0Ojp0b0ltcGwocGFnZVJl
ZiktPm1haW5XZWJGcmFtZSgpKTsKIH0KIAogV0tGcmFtZUhhbmRsZVJlZiBXS0J1bmRsZUZyYW1l
Q3JlYXRlRnJhbWVIYW5kbGUoV0tCdW5kbGVGcmFtZVJlZiBidW5kbGVGcmFtZVJlZikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggYWViOGI0MjNlYzU4ODA0ZjM1YjcwYzQ2YzA5MDQ2YmM5MDdh
ZWJhYy4uYTY3ZmIwMzQ5ZmViZWI0OGZlMzUyZTUxNDMzOTQ2NWJkZTRlNmQwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKQEAgLTExNSwxMyArMTE1LDEzIEBAIHN0YXRpYyBXZWJGcmFtZSogZmlu
ZExhcmdlc3RGcmFtZUluRnJhbWVTZXQoV2ViUGFnZSYgcGFnZSkKIHsKICAgICAvLyBBcHByb3hp
bWF0ZSB3aGF0IGEgdXNlciBjb3VsZCBjb25zaWRlciBhIGRlZmF1bHQgdGFyZ2V0IGZyYW1lIGZv
ciBhcHBsaWNhdGlvbiBtZW51IG9wZXJhdGlvbnMuCiAKLSAgICBXZWJGcmFtZSogbWFpbkZyYW1l
ID0gcGFnZS5tYWluV2ViRnJhbWUoKTsKLSAgICBpZiAoIW1haW5GcmFtZSB8fCAhbWFpbkZyYW1l
LT5pc0ZyYW1lU2V0KCkpCisgICAgYXV0byYgbWFpbkZyYW1lID0gcGFnZS5tYWluV2ViRnJhbWUo
KTsKKyAgICBpZiAoIW1haW5GcmFtZS5pc0ZyYW1lU2V0KCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgV2ViRnJhbWUqIGxhcmdlc3RTb0ZhciA9IG51bGxwdHI7CiAKLSAgICBSZWY8
QVBJOjpBcnJheT4gZnJhbWVDaGlsZHJlbiA9IG1haW5GcmFtZS0+Y2hpbGRGcmFtZXMoKTsKKyAg
ICBSZWY8QVBJOjpBcnJheT4gZnJhbWVDaGlsZHJlbiA9IG1haW5GcmFtZS5jaGlsZEZyYW1lcygp
OwogICAgIHNpemVfdCBjb3VudCA9IGZyYW1lQ2hpbGRyZW4tPnNpemUoKTsKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgYXV0byogY2hpbGRGcmFtZSA9
IGZyYW1lQ2hpbGRyZW4tPmF0PFdlYkZyYW1lPihpKTsKQEAgLTQ0MywxMCArNDQzLDkgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmNsb3NlV2luZG93U29vbigpCiAKICAgICBtX3BhZ2UuY29yZVBh
Z2UoKS0+c2V0R3JvdXBOYW1lKFN0cmluZygpKTsKIAotICAgIGlmIChXZWJGcmFtZSogZnJhbWUg
PSBtX3BhZ2UubWFpbldlYkZyYW1lKCkpIHsKLSAgICAgICAgaWYgKEZyYW1lKiBjb3JlRnJhbWUg
PSBmcmFtZS0+Y29yZUZyYW1lKCkpCi0gICAgICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLnN0
b3BGb3JVc2VyQ2FuY2VsKCk7Ci0gICAgfQorICAgIGF1dG8mIGZyYW1lID0gbV9wYWdlLm1haW5X
ZWJGcmFtZSgpOworICAgIGlmIChhdXRvKiBjb3JlRnJhbWUgPSBmcmFtZS5jb3JlRnJhbWUoKSkK
KyAgICAgICAgY29yZUZyYW1lLT5sb2FkZXIoKS5zdG9wRm9yVXNlckNhbmNlbCgpOwogCiAgICAg
bV9wYWdlLnNlbmRDbG9zZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5k
ZXggMGJlYWRiMDViYmI3ZDhlZmIxOWEzZjAzMjFmMDYyNmE3NmQ3ZTA1NS4uMzI3ZmZjNGY2ZGQ1
NjM5MTk0MGViMGEwNzE0MzUwY2I4ZjIyZjJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwCkBAIC03MDEsNyArNzAxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlz
cGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZShPcHRpb25TZXQ8V2ViQ29yZTo6TGEKIAogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICAgICAgLy8gTWFrZSBzdXJlIHZpZXdwb3J0
IHByb3BlcnRpZXMgYXJlIGRpc3BhdGNoZWQgb24gdGhlIG1haW4gZnJhbWUgYnkgdGhlIHRpbWUg
dGhlIGZpcnN0IGxheW91dCBoYXBwZW5zLgotICAgICAgICBBU1NFUlQoIXdlYlBhZ2UtPnVzZUZp
eGVkTGF5b3V0KCkgfHwgbV9mcmFtZS5wdHIoKSAhPSBtX2ZyYW1lLT5wYWdlKCktPm1haW5XZWJG
cmFtZSgpIHx8IG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpLT5kaWREaXNwYXRjaFZp
ZXdwb3J0UHJvcGVydGllc0NoYW5nZWQoKSk7CisgICAgICAgIEFTU0VSVCghd2ViUGFnZS0+dXNl
Rml4ZWRMYXlvdXQoKSB8fCBtX2ZyYW1lLnB0cigpICE9ICZtX2ZyYW1lLT5wYWdlKCktPm1haW5X
ZWJGcmFtZSgpIHx8IG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpLT5kaWREaXNwYXRj
aFZpZXdwb3J0UHJvcGVydGllc0NoYW5nZWQoKSk7CiAjZW5kaWYKICAgICB9CiAKQEAgLTc2Niw3
ICs3NjYsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExheW91dCgp
CiAgICAgLy8gTk9URTogVW5saWtlIHRoZSBvdGhlciBsYXlvdXQgbm90aWZpY2F0aW9ucywgdGhp
cyBkb2VzIG5vdCBub3RpZnkgdGhlCiAgICAgLy8gdGhlIFVJUHJvY2VzcyBmb3IgZXZlcnkgY2Fs
bC4KIAotICAgIGlmIChtX2ZyYW1lLnB0cigpID09IG1fZnJhbWUtPnBhZ2UoKS0+bWFpbldlYkZy
YW1lKCkpIHsKKyAgICBpZiAobV9mcmFtZS5wdHIoKSA9PSAmbV9mcmFtZS0+cGFnZSgpLT5tYWlu
V2ViRnJhbWUoKSkgewogICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIGF0IHRoZSBzb29uZXN0IHBv
c3NpYmxlIHRpbWUuCiAgICAgICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6U2V0UmVuZGVyVHJlZVNpemUod2ViUGFnZS0+cmVuZGVyVHJlZVNpemUoKSkpOwogICAgICAg
ICB3ZWJQYWdlLT5tYWluRnJhbWVEaWRMYXlvdXQoKTsKQEAgLTEzOTMsNyArMTM5Myw3IEBAIHZv
aWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnJlc3RvcmVWaWV3U3RhdGUoKQogCiAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkuIFdlYkNvcmUgc2hvdWxkIGJlIGNvcnJl
Y3RseSBpbnZhbGlkYXRpbmcKICAgICAvLyB0aGUgdmlldyBvbiByZXN0b3JlcyBmcm9tIHRoZSBi
YWNrL2ZvcndhcmQgY2FjaGUuCi0gICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLnB0
cigpID09IG1fZnJhbWUtPnBhZ2UoKS0+bWFpbldlYkZyYW1lKCkpCisgICAgaWYgKG1fZnJhbWUt
PnBhZ2UoKSAmJiBtX2ZyYW1lLnB0cigpID09ICZtX2ZyYW1lLT5wYWdlKCktPm1haW5XZWJGcmFt
ZSgpKQogICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmRyYXdpbmdBcmVhKCktPnNldE5lZWRzRGlz
cGxheSgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuY3BwCmluZGV4
IDBkMjc2ZTRlMTM0ZjRiODMzYTYyMjEzM2UwYjQ3ZjEyYTcxZDRlYWYuLjI1ZGJkMzg3YjFiMjk0
ZDU1ODJkY2ZmMGM5ZjFmMGU5ZmYzOTg3NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0
b3IuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
cjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGCiB7CiAgICAg
RmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCA9IG1fd2ViUGFnZS5tYWluRnJhbWVWaWV3KCkt
PnVub2JzY3VyZWRDb250ZW50UmVjdEluY2x1ZGluZ1Njcm9sbGJhcnMoKTsKIAotICAgIGlmICht
X3dlYlBhZ2UubWFpbldlYkZyYW1lKCktPmhhbmRsZXNQYWdlU2NhbGVHZXN0dXJlKCkpCisgICAg
aWYgKG1fd2ViUGFnZS5tYWluV2ViRnJhbWUoKS5oYW5kbGVzUGFnZVNjYWxlR2VzdHVyZSgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGU7CkBAIC0y
NDgsNyArMjQ4LDcgQEAgdm9pZCBWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpjb21wdXRl
TWluaW11bUFuZE1heGltdW1WaWV3cG9ydFNjYWxlcyhkb3VibGUKIHZvaWQgVmlld0dlc3R1cmVH
ZW9tZXRyeUNvbGxlY3Rvcjo6Y29sbGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdlc3R1cmUo
KQogewogICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSBtX3dlYlBhZ2UubWFpbkZy
YW1lVmlldygpLT51bm9ic2N1cmVkQ29udGVudFJlY3RJbmNsdWRpbmdTY3JvbGxiYXJzKCk7Ci0g
ICAgYm9vbCBmcmFtZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSA9IG1fd2ViUGFnZS5tYWlu
V2ViRnJhbWUoKS0+aGFuZGxlc1BhZ2VTY2FsZUdlc3R1cmUoKTsKKyAgICBib29sIGZyYW1lSGFu
ZGxlc01hZ25pZmljYXRpb25HZXN0dXJlID0gbV93ZWJQYWdlLm1haW5XZWJGcmFtZSgpLmhhbmRs
ZXNQYWdlU2NhbGVHZXN0dXJlKCk7CiAgICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OlZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6RGlkQ29sbGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdlc3R1
cmUodmlzaWJsZUNvbnRlbnRSZWN0LCBmcmFtZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSkp
OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAKaW5kZXggYTgyOTIwYjQxNjIxYTZm
YWJhZjdlYjc5MWNkMDNkYzFmNjBmM2E5Yi4uYTEyOGM5MmQwYjFmMDEyYjdiNzA3ZTA4ZWJkY2Yy
ZTdjMzk5NmU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcApAQCAtMTExLDcgKzExMSw3IEBA
IHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmdvVG9JdGVtKEhpc3RvcnlJdGVtJiBpdGVt
KQogICAgIFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cyBiYWNrRm9yd2FyZExpc3RDb3VudHM7CiAg
ICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpCYWNrRm9yd2FyZEdv
VG9JdGVtKGl0ZW0uaWRlbnRpZmllcigpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0Zv
cndhcmRHb1RvSXRlbTo6UmVwbHkoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgYmFja0ZvcndhcmRM
aXN0Q291bnRzKSk7CiAgICAgbV9jYWNoZWRCYWNrRm9yd2FyZExpc3RDb3VudHMgPSBiYWNrRm9y
d2FyZExpc3RDb3VudHM7Ci0gICAgbV9wYWdlLT5zYW5kYm94RXh0ZW5zaW9uVHJhY2tlcigpLmJl
Z2luTG9hZChtX3BhZ2UtPm1haW5XZWJGcmFtZSgpLCBXVEZNb3ZlKHNhbmRib3hFeHRlbnNpb25I
YW5kbGUpKTsKKyAgICBtX3BhZ2UtPnNhbmRib3hFeHRlbnNpb25UcmFja2VyKCkuYmVnaW5Mb2Fk
KCZtX3BhZ2UtPm1haW5XZWJGcmFtZSgpLCBXVEZNb3ZlKHNhbmRib3hFeHRlbnNpb25IYW5kbGUp
KTsKIH0KIAogUmVmUHRyPEhpc3RvcnlJdGVtPiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6aXRl
bUF0SW5kZXgoaW50IGl0ZW1JbmRleCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggZTNkNTJlYzM0YTk5OGRjOTMwYjA0MGE5NGFmOWE3MjA2MmVh
MDY3NS4uODczOGM1MzA5NmUyMDY4ZTZjYjViNzRlOGU4NjVmMDQwN2IwY2MyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM5NSw2ICszOTUs
NyBAQCBSZWY8V2ViUGFnZT4gV2ViUGFnZTo6Y3JlYXRlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmCiAKIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50
aWZpZXIgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAg
ICA6IG1faWRlbnRpZmllcihwYWdlSUQpCisgICAgLCBtX21haW5GcmFtZShXZWJGcmFtZTo6Y3Jl
YXRlKCkpCiAgICAgLCBtX3ZpZXdTaXplKHBhcmFtZXRlcnMudmlld1NpemUpCiAgICAgLCBtX2Fs
d2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyIHsgcGFyYW1ldGVycy5hbHdheXNTaG93c0hvcml6
b250YWxTY3JvbGxlciB9CiAgICAgLCBtX2Fsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciB7IHBh
cmFtZXRlcnMuYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyIH0KQEAgLTQ2Nyw4ICs0NjgsNiBA
QCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAKICAgICBtX3BhZ2VHcm91cCA9IFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndlYlBhZ2VHcm91cChwYXJhbWV0ZXJzLnBhZ2VHcm91cERhdGEpOwogCi0g
ICAgYXV0byBtYWluRnJhbWUgPSBXZWJGcmFtZTo6Y3JlYXRlKCk7Ci0KICAgICBQYWdlQ29uZmln
dXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuc2Vzc2lvbklEKCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0
aGlzKSwKQEAgLTQ3OCw3ICs0NzcsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVy
IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgICAg
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjcmVhdGUoKnRoaXMpLAogICAgICAgICBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5jb29raWVKYXIoKSwKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQ+KCp0aGlzKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJG
cmFtZUxvYWRlckNsaWVudD4obWFpbkZyYW1lLmNvcHlSZWYoKSksCisgICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1fbWFpbkZyYW1lLmNvcHlSZWYoKSksCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpCiAgICAgKTsKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlz
KTsKQEAgLTU3Myw4ICs1NzIsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBh
Z2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgLy8gaW4g
bW9kZXJuIFdlYktpdC4KICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0QmFja0ZvcndhcmRDYWNo
ZUV4cGlyYXRpb25JbnRlcnZhbChTZWNvbmRzOjppbmZpbml0eSgpKTsKIAotICAgIG1haW5GcmFt
ZS0+aW5pdFdpdGhDb3JlTWFpbkZyYW1lKCp0aGlzLCBtX3BhZ2UtPm1haW5GcmFtZSgpKTsKLSAg
ICBtX21haW5GcmFtZSA9IFdURk1vdmUobWFpbkZyYW1lKTsKKyAgICBtX21haW5GcmFtZS0+aW5p
dFdpdGhDb3JlTWFpbkZyYW1lKCp0aGlzLCBtX3BhZ2UtPm1haW5GcmFtZSgpKTsKIAogICAgIG1f
ZHJhd2luZ0FyZWEtPnVwZGF0ZVByZWZlcmVuY2VzKHBhcmFtZXRlcnMuc3RvcmUpOwogCkBAIC0x
MzgzLDcgKzEzODEsNyBAQCB2b2lkIFdlYlBhZ2U6OmNsb3NlKCkKICAgICBtX2lzQ2xvc2VkID0g
dHJ1ZTsKIAogICAgIC8vIElmIHRoZXJlIGlzIHN0aWxsIG5vIFVSTCwgdGhlbiB3ZSBuZXZlciBs
b2FkZWQgYW55dGhpbmcgaW4gdGhpcyBwYWdlLCBzbyBub3RoaW5nIHRvIHJlcG9ydC4KLSAgICBp
ZiAoIW1haW5XZWJGcmFtZSgpLT51cmwoKS5pc0VtcHR5KCkpCisgICAgaWYgKCFtYWluV2ViRnJh
bWUoKS51cmwoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJlcG9ydFVzZWRGZWF0dXJlcygpOwogCiAg
ICAgaWYgKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmluamVjdGVkQnVuZGxlKCkpCkBAIC0xNTI5
LDcgKzE1MjcsNyBAQCB2b2lkIFdlYlBhZ2U6OnN1c3BlbmRGb3JQcm9jZXNzU3dhcCgpCiAgICAg
Ly8gQmFjay9mb3J3YXJkIGNhY2hlIGRvZXMgbm90IGJyZWFrIHRoZSBvcGVuZXIgbGluayBmb3Ig
dGhlIG1haW4gZnJhbWUgKG9ubHkgZG9lcyBzbyBmb3IgdGhlIHN1YmZyYW1lcykgYmVjYXVzZSB0
aGUKICAgICAvLyBtYWluIGZyYW1lIGlzIG5vcm1hbGx5IHJlLXVzZWQgZm9yIHRoZSBuYXZpZ2F0
aW9uLiBIb3dldmVyLCBpbiB0aGUgY2FzZSBvZiBwcm9jZXNzLXN3YXBwaW5nLCB0aGUgbWFpbiBm
cmFtZQogICAgIC8vIGlzIG5vdyBob3N0ZWQgaW4gYW5vdGhlciBwcm9jZXNzIGFuZCB0aGUgb25l
IGluIHRoaXMgcHJvY2VzcyBpcyBpbiB0aGUgY2FjaGUuCi0gICAgaWYgKG1fbWFpbkZyYW1lICYm
IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSkKKyAgICBpZiAobV9tYWluRnJhbWUtPmNvcmVGcmFt
ZSgpKQogICAgICAgICBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmRldGFjaEZy
b21BbGxPcGVuZWRGcmFtZXMoKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkU3VzcGVuZEFmdGVyUHJvY2Vzc1N3YXAoKSk7CkBAIC0xNTQ2LDEwICsxNTQ0LDEwIEBAIHZv
aWQgV2ViUGFnZTo6bG9hZFVSTEluRnJhbWUoVVJMJiYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVy
cmVyLCBGcmFtZUlkZW50aWZpZXIKIAogdm9pZCBXZWJQYWdlOjpsb2FkRGF0YUluRnJhbWUoSVBD
OjpEYXRhUmVmZXJlbmNlJiYgZGF0YSwgU3RyaW5nJiYgTUlNRVR5cGUsIFN0cmluZyYmIGVuY29k
aW5nTmFtZSwgVVJMJiYgYmFzZVVSTCwgRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQpCiB7Ci0gICAg
V2ViRnJhbWUqIGZyYW1lID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJ
RCk7CisgICAgYXV0byogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShm
cmFtZUlEKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47Ci0gICAgQVNTRVJUKG1h
aW5XZWJGcmFtZSgpICE9IGZyYW1lKTsKKyAgICBBU1NFUlQoJm1haW5XZWJGcmFtZSgpICE9IGZy
YW1lKTsKIAogICAgIGF1dG8gc2hhcmVkQnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZGF0YS5kYXRhKCkpLCBkYXRhLnNpemUoKSk7CiAg
ICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShiYXNlVVJMLCBNSU1FVHlwZSwgc2hhcmVkQnVm
ZmVyLT5zaXplKCksIGVuY29kaW5nTmFtZSk7CkBAIC0xNTczLDcgKzE1NzEsNyBAQCB2b2lkIFdl
YlBhZ2U6OmxvYWRSZXF1ZXN0KExvYWRQYXJhbWV0ZXJzJiYgbG9hZFBhcmFtZXRlcnMpCiAgICAg
bV9wZW5kaW5nTmF2aWdhdGlvbklEID0gbG9hZFBhcmFtZXRlcnMubmF2aWdhdGlvbklEOwogICAg
IG1fcGVuZGluZ1dlYnNpdGVQb2xpY2llcyA9IFdURk1vdmUobG9hZFBhcmFtZXRlcnMud2Vic2l0
ZVBvbGljaWVzKTsKIAotICAgIG1fc2FuZGJveEV4dGVuc2lvblRyYWNrZXIuYmVnaW5Mb2FkKG1f
bWFpbkZyYW1lLmdldCgpLCBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25I
YW5kbGUpKTsKKyAgICBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyLmJlZ2luTG9hZChtX21haW5G
cmFtZS5wdHIoKSwgV1RGTW92ZShsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxl
KSk7CiAKICAgICAvLyBMZXQgdGhlIEluamVjdGVkQnVuZGxlIGtub3cgd2UgYXJlIGFib3V0IHRv
IHN0YXJ0IHRoZSBsb2FkLCBwYXNzaW5nIHRoZSB1c2VyIGRhdGEgZnJvbSB0aGUgVUlQcm9jZXNz
CiAgICAgLy8gdG8gYWxsIHRoZSBjbGllbnQgdG8gc2V0IHVwIGFueSBuZWVkZWQgc3RhdGUuCkBA
IC0xNjk4LDcgKzE2OTYsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlbG9hZCh1aW50NjRfdCBuYXZpZ2F0
aW9uSUQsIHVpbnQzMl90IHJlbG9hZE9wdGlvbnMsIFNhbmRib3hFeHRlbgogICAgIEFTU0VSVCgh
bV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5mcmFtZUhhc0xvYWRlZCgpIHx8ICFt
X3BlbmRpbmdOYXZpZ2F0aW9uSUQpOwogICAgIG1fcGVuZGluZ05hdmlnYXRpb25JRCA9IG5hdmln
YXRpb25JRDsKIAotICAgIG1fc2FuZGJveEV4dGVuc2lvblRyYWNrZXIuYmVnaW5SZWxvYWQobV9t
YWluRnJhbWUuZ2V0KCksIFdURk1vdmUoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpOworICAgIG1f
c2FuZGJveEV4dGVuc2lvblRyYWNrZXIuYmVnaW5SZWxvYWQobV9tYWluRnJhbWUucHRyKCksIFdU
Rk1vdmUoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpOwogICAgIGNvcmVQYWdlKCktPnVzZXJJbnB1
dEJyaWRnZSgpLnJlbG9hZEZyYW1lKG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSwgT3B0aW9uU2V0
PFJlbG9hZE9wdGlvbj46OmZyb21SYXcocmVsb2FkT3B0aW9ucykpOwogCiAgICAgaWYgKG1fcGVu
ZGluZ05hdmlnYXRpb25JRCkgewpAQCAtMzMzNSwxMCArMzMzMywxMCBAQCB2b2lkIFdlYlBhZ2U6
OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oKQogewogICAgIHVuZnJlZXplTGF5ZXJUcmVlKExh
eWVyVHJlZUZyZWV6ZVJlYXNvbjo6UGFnZVRyYW5zaXRpb24pOwogCi0gICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChMYXllcnMsICJkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uOiBEaWQgY29tcGxl
dGUgcGFnZSB0cmFuc2l0aW9uIik7CisgICAgYXV0byYgc3RhdGVNYWNoaW5lID0gbV9tYWluRnJh
bWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5zdGF0ZU1hY2hpbmUoKTsKKyAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKExheWVycywgImRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb246IERpZCBjb21w
bGV0ZSBwYWdlIHRyYW5zaXRpb24sIGxvYWRlciBzdGF0ZSBpcyAlZCIsIHN0YXRlTWFjaGluZS5z
dGF0ZUZvckRlYnVnZ2luZygpKTsKIAotICAgIGJvb2wgaXNJbml0aWFsRW1wdHlEb2N1bWVudCA9
ICFtX21haW5GcmFtZTsKLSAgICBpZiAoIWlzSW5pdGlhbEVtcHR5RG9jdW1lbnQpCisgICAgaWYg
KHN0YXRlTWFjaGluZS5jb21taXR0ZWRGaXJzdFJlYWxEb2N1bWVudExvYWQoKSkKICAgICAgICAg
dW5mcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uOjpQcm9jZXNzU3dhcCk7CiB9
CiAKQEAgLTM0NTUsNyArMzQ1Myw3IEBAIHZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlwdChXZWJG
cmFtZSogZnJhbWUsIFJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVyCiAKIHZvaWQg
V2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFJ1bkphdmFTY3JpcHRQ
YXJhbWV0ZXJzJiYgcGFyYW1ldGVycywgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
PiBmcmFtZUlELCBjb25zdCBzdGQ6OnBhaXI8Q29udGVudFdvcmxkSWRlbnRpZmllciwgU3RyaW5n
PiYgd29ybGREYXRhLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiB7Ci0gICAgYXV0byogd2ViRnJh
bWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQp
IDogbWFpbldlYkZyYW1lKCk7CisgICAgYXV0byogd2ViRnJhbWUgPSBmcmFtZUlEID8gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogJm1haW5XZWJGcmFtZSgpOwog
CiAgICAgaWYgKGF1dG8qIG5ld1dvcmxkID0gbV91c2VyQ29udGVudENvbnRyb2xsZXItPmFkZENv
bnRlbnRXb3JsZCh3b3JsZERhdGEpKSB7CiAgICAgICAgIGF1dG8mIGNvcmVXb3JsZCA9IG5ld1dv
cmxkLT5jb3JlV29ybGQoKTsKQEAgLTY2MjYsNyArNjYyNCw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0
SXNTdXNwZW5kZWQoYm9vbCBzdXNwZW5kZWQpCiAgICAgLy8gd2UgZG9uJ3QgaG9sZCBhIEJhY2tn
cm91bmRBcHBsaWNhdGlvbiBmcmVlemUgcmVhc29uIHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIGNv
bW1pdHRlZCB0byBzdXNwZW5kZWQuCiAgICAgdW5mcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJl
ZXplUmVhc29uOjpCYWNrZ3JvdW5kQXBwbGljYXRpb24pOwogCi0gICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkuc2VuZFByZXdhcm1JbmZvcm1hdGlvbihtYWluV2ViRnJhbWUoKS0+dXJsKCkpOwor
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlbmRQcmV3YXJtSW5mb3JtYXRpb24obWFpbldl
YkZyYW1lKCkudXJsKCkpOwogCiAgICAgc3VzcGVuZEZvclByb2Nlc3NTd2FwKCk7CiB9CkBAIC02
Njk5LDcgKzY2OTcsNyBAQCB2b2lkIFdlYlBhZ2U6Ondhc0xvYWRlZFdpdGhEYXRhVHJhbnNmZXJG
cm9tUHJldmFsZW50UmVzb3VyY2UoKQogCiB2b2lkIFdlYlBhZ2U6OmRpZExvYWRGcm9tUmVnaXN0
cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21haW4mJiB0YXJnZXREb21haW4pCiB7Ci0gICAgaWYg
KHRhcmdldERvbWFpbiAhPSBSZWdpc3RyYWJsZURvbWFpbihtYWluV2ViRnJhbWUoKS0+dXJsKCkp
KQorICAgIGlmICh0YXJnZXREb21haW4gIT0gUmVnaXN0cmFibGVEb21haW4obWFpbldlYkZyYW1l
KCkudXJsKCkpKQogICAgICAgICBtX2xvYWRlZFRoaXJkUGFydHlEb21haW5zLmFkZCh0YXJnZXRE
b21haW4pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggNjkzOWMyMzlkYTQxZGI5NjZhMjgxZDI4ZmJhYWVkNzFiMDMyMDgxMS4uZTMxMzlhODQx
NGY4Nzg1ODU1ZDVmYjkxNzY1MjI2MjA0NjBlMjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDYyLDcgKzQ2Miw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGZpbmRTdHJpbmdNYXRjaGVzRnJvbUluamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYsIEZp
bmRPcHRpb25zKTsKICAgICB2b2lkIHJlcGxhY2VTdHJpbmdNYXRjaGVzRnJvbUluamVjdGVkQnVu
ZGxlKGNvbnN0IFZlY3Rvcjx1aW50MzJfdD4mIG1hdGNoSW5kaWNlcywgY29uc3QgU3RyaW5nJiBy
ZXBsYWNlbWVudFRleHQsIGJvb2wgc2VsZWN0aW9uT25seSk7CiAKLSAgICBXZWJGcmFtZSogbWFp
bldlYkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tYWluRnJhbWUuZ2V0KCk7IH0KKyAgICBXZWJG
cmFtZSYgbWFpbldlYkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tYWluRnJhbWU7IH0KIAogICAg
IFdlYkNvcmU6OkZyYW1lKiBtYWluRnJhbWUoKSBjb25zdDsgLy8gTWF5IHJldHVybiBudWxscHRy
LgogICAgIFdlYkNvcmU6OkZyYW1lVmlldyogbWFpbkZyYW1lVmlldygpIGNvbnN0OyAvLyBNYXkg
cmV0dXJuIG51bGxwdHIuCkBAIC0xNzA5LDcgKzE3MDksNyBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6OlBhZ2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJDb3JlOjpQYWdlPiBtX3BhZ2U7Ci0gICAgUmVmUHRyPFdlYkZyYW1lPiBtX21haW5GcmFtZTsK
KyAgICBSZWY8V2ViRnJhbWU+IG1fbWFpbkZyYW1lOwogCiAgICAgUmVmUHRyPFdlYlBhZ2VHcm91
cFByb3h5PiBtX3BhZ2VHcm91cDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBlNzQ1NzYzYWYxMGZmZTU5OGI3ZmFlYmE0
MTA3Mjk1ZDQxZjAzZGNkLi43NDhjNTk0Yzg1ZmMxNTI1NjhjNTBjNjliOTEwMGMzN2Y2YjBhMTdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQpAQCAtMTE2OCw3ICsxMTY4LDcgQEAgdm9pZCBXZWJQYWdlOjpjb21taXRQb3RlbnRp
YWxUYXBGYWlsZWQoKQogdm9pZCBXZWJQYWdlOjpjYW5jZWxQb3RlbnRpYWxUYXAoKQogewogICAg
IENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkQ2FuY2VsUG90ZW50aWFsVGFwKG1fcGFnZS0+bWFp
bkZyYW1lKCkpOwotICAgIGNhbmNlbFBvdGVudGlhbFRhcEluRnJhbWUoKm1fbWFpbkZyYW1lKTsK
KyAgICBjYW5jZWxQb3RlbnRpYWxUYXBJbkZyYW1lKG1fbWFpbkZyYW1lKTsKIH0KIAogdm9pZCBX
ZWJQYWdlOjpjYW5jZWxQb3RlbnRpYWxUYXBJbkZyYW1lKFdlYkZyYW1lJiBmcmFtZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4
IGYyMjVlMWE1ZWU4NTM4MTFkNGYxYmVjY2ViZjNhZmVhOTdmMWUyYTIuLjIwZGY5YzQ5MjY4NDdi
MmI5NGMxYzMyMTg2MTlkNGJmNDNlZWFkZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNTg1LDExICs1ODUsOSBAQCB2b2lk
IFdlYlByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0
aWFsaXphdGlvblBhcmFtZXRlcgogCiBzdGF0aWMgTlNVUkwgKm9yaWdpbihXZWJQYWdlJiBwYWdl
KQogewotICAgIFdlYkZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLm1haW5XZWJGcmFtZSgpOwotICAg
IGlmICghbWFpbkZyYW1lKQotICAgICAgICByZXR1cm4gbmlsOworICAgIGF1dG8mIG1haW5GcmFt
ZSA9IHBhZ2UubWFpbldlYkZyYW1lKCk7CiAKLSAgICBVUkwgbWFpbkZyYW1lVVJMID0geyBVUkwo
KSwgbWFpbkZyYW1lLT51cmwoKSB9OworICAgIFVSTCBtYWluRnJhbWVVUkwgPSB7IFVSTCgpLCBt
YWluRnJhbWUudXJsKCkgfTsKICAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1haW5GcmFtZU9yaWdp
biA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobWFpbkZyYW1lVVJMKTsKICAgICBTdHJpbmcgbWFp
bkZyYW1lT3JpZ2luU3RyaW5nOwogICAgIGlmICghbWFpbkZyYW1lT3JpZ2luLT5pc1VuaXF1ZSgp
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393875</attachid>
            <date>2020-03-18 10:14:16 -0700</date>
            <delta_ts>2020-03-18 13:30:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209235-20200318181414.patch</filename>
            <type>text/plain</type>
            <size>30293</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U5NmIxMTkwMWFhMzc1
N2IyNzE1Y2M5MzA4ZWU1ZTg5OTQ4N2M2Zi4uNDgyMGI0YmE3ZDczMDlkMGZjODZmMDJjNGU1NTJj
YmUyYmMxOWZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAzLTE4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJQYWdlIHNob3VsZCBv
d24gYSBSZWY8V2ViRnJhbWU+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDkyMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oOgorICAgICAgICBF
eHBvcnQgY29tbWl0dGVkRmlyc3RSZWFsRG9jdW1lbnRMb2FkLworCiAyMDIwLTAzLTE4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFVSTDo6cGF0aCgp
IHJldHVybiBhIFN0cmluZ1ZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWZmZGRlMDkwM2YzZjFmYjUxMTQ1ODVm
Mjc3ZDcwZDI0M2Y4MmY4NC4uNjg5NTE5MWQzMjg4ZWYwYjQwNTg3MWQzYWI2NjkwYWEyYzAyODFh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAyMC0wMy0xOCAgeW91ZW5uIGZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUGFnZSBzaG91bGQgb3duIGEgUmVmPFdl
YkZyYW1lPgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIGNvZGUgc2luY2UgbV9tYWluRnJhbWUgaXMgbm93IGEgUmVmIGFuZCBubyBsb25nZXIg
YSBSZWZQdHIuCisKKyAgICAgICAgVXBkYXRlIFdlYlBhZ2UgY29uc3RydWN0b3IgdG8gc2V0IGl0
cyBtX21haW5GcmFtZSB2ZXJ5IGVhcmx5LgorICAgICAgICBXZSB1cGRhdGUgV2ViUGFnZTo6ZGlk
Q29tcGxldGVQYWdlVHJhbnNpdGlvbiB0byBjb21wdXRlIHdoZXRoZXIgdGhpcyBpcyBpbml0aWFs
aXphdGlvbiBvciBub3QgdXNpbmcgdGhlIGZyYW1lIHN0YXRlIG1hY2hpbmUgc3RhdGUKKyAgICAg
ICAgaW5zdGVhZCBvZiBtX21haW5GcmFtZSBiZWluZyBudWxsLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5j
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnJlc29s
dmVDaGlsZEZyYW1lV2l0aE9yZGluYWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5OjpyZXNvbHZlQ2hpbGRGcmFtZVdpdGhOb2RlSGFuZGxlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6cmVzb2x2ZUNoaWxkRnJhbWVXaXRo
TmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnJlc29s
dmVQYXJlbnRGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJv
eHk6OmZvY3VzRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5Ojpjb21wdXRlRWxlbWVudExheW91dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uUHJveHk6OnNlbGVjdE9wdGlvbkVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpzZXRGaWxlc0ZvcklucHV0RmlsZVVwbG9hZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnRha2VTY3JlZW5zaG90
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6c25hcHNob3RS
ZWN0Rm9yU2NyZWVuc2hvdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
UHJveHk6OmdldENvb2tpZXNGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uUHJveHk6OmRlbGV0ZUNvb2tpZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdl
R2V0TWFpbkZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmZpbmRMYXJnZXN0RnJhbWVJbkZyYW1l
U2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpjbG9zZVdpbmRvd1Nvb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRSZWFjaExheW91dE1pbGVzdG9uZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVy
Q2xpZW50OjpkaXNwYXRjaERpZExheW91dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpyZXN0b3JlVmlld1N0YXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlm
aWNhdGlvbkdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yOjpjb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmdvVG9JdGVtKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjptX3Byb2Nlc3NEaXNwbGF5TmFtZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6c3VzcGVuZEZvclByb2Nlc3NTd2FwKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9h
ZERhdGFJbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bG9hZFJlcXVlc3QpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWxvYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6c2V0SXNTdXNwZW5kZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRM
b2FkRnJvbVJlZ2lzdHJhYmxlRG9tYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptYWluV2ViRnJhbWUgY29uc3Qp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FuY2VsUG90ZW50aWFsVGFwKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6b3JpZ2lu
KToKKwogMjAyMC0wMy0xOCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBVUkw6OnBhdGgoKSByZXR1cm4gYSBTdHJpbmdWaWV3CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IDI1ZDg2MzExNzdi
NjZhOTA0NDNlYzA3NWM3OTdjMjJmYjJiNjA5OGEuLjY0ZTNkNTVlZGI0ODcyYTM5ODdlNzBlNGFi
OTc2NTI3NWU1ZTA5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlclN0YXRlTWFjaGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBjb21taXR0aW5nRmlyc3RSZWFsTG9hZCgpIGNvbnN0OwotICAg
IGJvb2wgY29tbWl0dGVkRmlyc3RSZWFsRG9jdW1lbnRMb2FkKCkgY29uc3Q7CisgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBjb21taXR0ZWRGaXJzdFJlYWxEb2N1bWVudExvYWQoKSBjb25zdDsKICAg
ICBib29sIGNyZWF0aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCBib29sIGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50KCkgY29uc3Q7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBmaXJzdExheW91dERvbmUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eS5jcHAKaW5kZXggOTQ3YWUwMjY3MGEyMGY1NGNjNzQxMzdkNTBl
MmRiNTRmOTFlMzE0NC4uNGQ3MDdmYTQ5ZGEyNjFhNTQ4ODlmYTRkZGU0ZjliYzMyMGVmYWQ0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKQEAgLTMxNiw3ICszMTYsNyBAQCB2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9u
KFdlYkNvcmU6OlBhZ2VJZGVudGlmaQogICAgICAgICAgICAgSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1Db25zdGFudFZhbHVlKEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6V2luZG93Tm90Rm91bmQpKSwgMCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgV2ViRnJhbWUqIGZyYW1lID0gb3B0aW9uYWxGcmFtZUlE
ID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKm9wdGlvbmFsRnJhbWVJRCkgOiBw
YWdlLT5tYWluV2ViRnJhbWUoKTsKKyAgICBhdXRvKiBmcmFtZSA9IG9wdGlvbmFsRnJhbWVJRCA/
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpvcHRpb25hbEZyYW1lSUQpIDogJnBh
Z2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUpIHsKICAgICAgICAgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
V2ViQXV0b21hdGlvblNlc3Npb246OkRpZEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKGNhbGxi
YWNrSUQsIHsgfSwKICAgICAgICAgICAgIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25I
ZWxwZXJzOjpnZXRFbnVtQ29uc3RhbnRWYWx1ZShJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpFcnJvck1lc3NhZ2U6OkZyYW1lTm90Rm91bmQpKSwgMCk7CkBAIC0zODksNyArMzg5LDcg
QEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpyZXNvbHZlQ2hpbGRGcmFtZVdpdGhP
cmRpbmFsKFdlYkNvcmU6OlBhZ2VJZGVudGkKIAogICAgIFN0cmluZyBmcmFtZU5vdEZvdW5kRXJy
b3JUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1D
b25zdGFudFZhbHVlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2Fn
ZTo6RnJhbWVOb3RGb3VuZCk7CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZy
YW1lKCk7CisgICAgYXV0byogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkud2ViRnJhbWUoKmZyYW1lSUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICgh
ZnJhbWUpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlw
ZSwgV1RGOjpudWxsb3B0KTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDI3LDcgKzQyNyw3IEBAIHZv
aWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6cmVzb2x2ZUNoaWxkRnJhbWVXaXRoTm9kZUhh
bmRsZShXZWJDb3JlOjpQYWdlSWRlCiAKICAgICBTdHJpbmcgZnJhbWVOb3RGb3VuZEVycm9yVHlw
ZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25IZWxwZXJzOjpnZXRFbnVtQ29uc3Rh
bnRWYWx1ZShJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpFcnJvck1lc3NhZ2U6OkZy
YW1lTm90Rm91bmQpOwogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgp
OworICAgIGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndl
YkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1l
KSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZyYW1lTm90Rm91bmRFcnJvclR5cGUsIFdU
Rjo6bnVsbG9wdCk7CiAgICAgICAgIHJldHVybjsKQEAgLTQ3Nyw3ICs0NzcsNyBAQCB2b2lkIFdl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnJlc29sdmVDaGlsZEZyYW1lV2l0aE5hbWUoV2ViQ29y
ZTo6UGFnZUlkZW50aWZpZQogCiAgICAgU3RyaW5nIGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uSGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFs
dWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5v
dEZvdW5kKTsKIAotICAgIFdlYkZyYW1lKiBmcmFtZSA9IGZyYW1lSUQgPyBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS53ZWJGcmFtZSgqZnJhbWVJRCkgOiBwYWdlLT5tYWluV2ViRnJhbWUoKTsKKyAg
ICBhdXRvKiBmcmFtZSA9IGZyYW1lSUQgPyBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFt
ZSgqZnJhbWVJRCkgOiAmcGFnZS0+bWFpbldlYkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmcmFtZU5vdEZvdW5kRXJyb3JUeXBlLCBXVEY6Om51
bGxvcHQpOwogICAgICAgICByZXR1cm47CkBAIC01MTUsNyArNTE1LDcgQEAgdm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvblByb3h5OjpyZXNvbHZlUGFyZW50RnJhbWUoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIgcGFnZUkKIAogICAgIFN0cmluZyBmcmFtZU5vdEZvdW5kRXJyb3JUeXBlID0gSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1Db25zdGFudFZhbHVlKElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6RnJhbWVOb3RGb3Vu
ZCk7CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0
byogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZy
YW1lSUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUpIHsKICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSwgV1RGOjpudWxsb3B0
KTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTM2LDcgKzUzNiw3IEBAIHZvaWQgV2ViQXV0b21hdGlv
blNlc3Npb25Qcm94eTo6Zm9jdXNGcmFtZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQs
IE9wdGlvCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBXZWJGcmFtZSog
ZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1l
SUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0byogZnJhbWUgPSBmcmFtZUlEID8g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogJnBhZ2UtPm1haW5X
ZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjEzLDcg
KzYxMyw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6Y29tcHV0ZUVsZW1lbnRM
YXlvdXQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0byog
ZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1l
SUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5j
b3JlRnJhbWUoKSB8fCAhZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkpIHsKICAgICAgICAgU3Ry
aW5nIGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uSGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFsdWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5vdEZvdW5kKTsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSwgeyB9LCBXVEY6Om51bGxvcHQsIGZhbHNl
KTsKQEAgLTcyNyw3ICs3MjcsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OnNl
bGVjdE9wdGlvbkVsZW1lbnQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgp
OworICAgIGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndl
YkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1l
IHx8ICFmcmFtZS0+Y29yZUZyYW1lKCkgfHwgIWZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpKSB7
CiAgICAgICAgIFN0cmluZyBmcmFtZU5vdEZvdW5kRXJyb3JUeXBlID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6QXV0b21hdGlvbkhlbHBlcnM6OmdldEVudW1Db25zdGFudFZhbHVlKEluc3BlY3Rvcjo6
UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6RnJhbWVOb3RGb3VuZCk7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGZyYW1lTm90Rm91bmRFcnJvclR5cGUpOwpAQCAtNzc3LDcg
Kzc3Nyw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6c2V0RmlsZXNGb3JJbnB1
dEZpbGVVcGxvYWQoV2ViQ29yZTo6UGFnZUlkZW50aWZpCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkud2ViRnJhbWUoKmZyYW1lSUQpIDogcGFnZS0+bWFpbldlYkZyYW1lKCk7CisgICAgYXV0byog
ZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1l
SUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5j
b3JlRnJhbWUoKSB8fCAhZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkpIHsKICAgICAgICAgU3Ry
aW5nIGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uSGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFsdWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5vdEZvdW5kKTsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSk7CkBAIC04NDEsNyArODQxLDcgQEAgdm9p
ZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Ojp0YWtlU2NyZWVuc2hvdChXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciBwYWdlSUQsIE8KIAogICAgICAgICBXZWJQYWdlKiBwYWdlID0gV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkud2ViUGFnZShwYWdlSUQpOwogICAgICAgICBBU1NFUlQocGFnZSk7Ci0g
ICAgICAgIFdlYkZyYW1lKiBmcmFtZSA9IGZyYW1lSUQgPyBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS53ZWJGcmFtZSgqZnJhbWVJRCkgOiBwYWdlLT5tYWluV2ViRnJhbWUoKTsKKyAgICAgICAgYXV0
byogZnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZy
YW1lSUQpIDogJnBhZ2UtPm1haW5XZWJGcmFtZSgpOwogICAgICAgICBBU1NFUlQoZnJhbWUgJiYg
ZnJhbWUtPmNvcmVGcmFtZSgpKTsKICAgICAgICAgYXV0byBzbmFwc2hvdFJlY3QgPSBXZWJDb3Jl
OjpJbnRSZWN0KGZyYW1lLT5jb3JlRnJhbWUoKS0+bWFpbkZyYW1lKCkudmlldygpLT5jbGllbnRU
b0RvY3VtZW50UmVjdChyZWN0KSk7CiAgICAgICAgIFJlZlB0cjxXZWJJbWFnZT4gaW1hZ2UgPSBw
YWdlLT5zY2FsZWRTbmFwc2hvdFdpdGhPcHRpb25zKHNuYXBzaG90UmVjdCwgMSwgU25hcHNob3RP
cHRpb25zU2hhcmVhYmxlKTsKQEAgLTg2NSw3ICs4NjUsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25T
ZXNzaW9uUHJveHk6OnNuYXBzaG90UmVjdEZvclNjcmVlbnNob3QoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJh
bWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2Ut
Pm1haW5XZWJGcmFtZSgpOworICAgIGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsK
ICAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+Y29yZUZyYW1lKCkpIHsKICAgICAgICAgU3RyaW5n
IGZyYW1lTm90Rm91bmRFcnJvclR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
SGVscGVyczo6Z2V0RW51bUNvbnN0YW50VmFsdWUoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21h
dGlvbjo6RXJyb3JNZXNzYWdlOjpGcmFtZU5vdEZvdW5kKTsKICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoZnJhbWVOb3RGb3VuZEVycm9yVHlwZSwgeyB9KTsKQEAgLTkxMCw3ICs5MTAsNyBAQCB2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmdldENvb2tpZXNGb3JGcmFtZShXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllciBwYWdlSQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgV2Vi
RnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1l
KCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgpOworICAgIGF1dG8qIGZyYW1lID0gZnJh
bWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6ICZwYWdl
LT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+Y29yZUZyYW1lKCkg
fHwgIWZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKSkgewogICAgICAgICBTdHJpbmcgZnJh
bWVOb3RGb3VuZEVycm9yVHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25IZWxw
ZXJzOjpnZXRFbnVtQ29uc3RhbnRWYWx1ZShJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
OjpFcnJvck1lc3NhZ2U6OkZyYW1lTm90Rm91bmQpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihmcmFtZU5vdEZvdW5kRXJyb3JUeXBlLCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPigpKTsKQEAg
LTkzNSw3ICs5MzUsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmRlbGV0ZUNv
b2tpZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9wdAogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgV2ViRnJhbWUqIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IHBhZ2UtPm1haW5XZWJGcmFtZSgpOworICAg
IGF1dG8qIGZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1l
KCpmcmFtZUlEKSA6ICZwYWdlLT5tYWluV2ViRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lIHx8ICFm
cmFtZS0+Y29yZUZyYW1lKCkgfHwgIWZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKSkgewog
ICAgICAgICBTdHJpbmcgZnJhbWVOb3RGb3VuZEVycm9yVHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb25IZWxwZXJzOjpnZXRFbnVtQ29uc3RhbnRWYWx1ZShJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpFcnJvck1lc3NhZ2U6OkZyYW1lTm90Rm91bmQpOwogICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmcmFtZU5vdEZvdW5kRXJyb3JUeXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5jcHAKaW5kZXggNWQ4MDU5Nzc5ZGQxNmY5N2VjMmEyYmQ2OTZhYWY0NWE4NGI1
MTJmZS4uZjc1NDg3MDNkZGQwNGYwMTFjYTI1NmE1OTRiN2QyZTM5ZDYyOGJmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTE3MSw3ICsxNzEsNyBAQCBXS0J1bmRsZVBhZ2VHcm91
cFJlZiBXS0J1bmRsZVBhZ2VHZXRQYWdlR3JvdXAoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAK
IFdLQnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJl
ZiBwYWdlUmVmKQogewotICAgIHJldHVybiB0b0FQSShXZWJLaXQ6OnRvSW1wbChwYWdlUmVmKS0+
bWFpbldlYkZyYW1lKCkpOworICAgIHJldHVybiB0b0FQSSgmV2ViS2l0Ojp0b0ltcGwocGFnZVJl
ZiktPm1haW5XZWJGcmFtZSgpKTsKIH0KIAogV0tGcmFtZUhhbmRsZVJlZiBXS0J1bmRsZUZyYW1l
Q3JlYXRlRnJhbWVIYW5kbGUoV0tCdW5kbGVGcmFtZVJlZiBidW5kbGVGcmFtZVJlZikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9X
ZWJLaXRXZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvZ2xpYi9XZWJLaXRXZWJQYWdlLmNwcAppbmRleCAwYzdlN2Y3NzU0ZWM1Y2Y3MjMyYjAz
OGMwOTk0YjkxNWE5MDk4N2NkLi44NjYyZGNiOGI1YjJmZThiOGVlZGI3YzU1NTY0OThkM2ZmYjEw
OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2dsaWIvV2ViS2l0V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYlBhZ2UuY3BwCkBAIC04MzksNyArODM5
LDcgQEAgV2ViS2l0RnJhbWUqIHdlYmtpdF93ZWJfcGFnZV9nZXRfbWFpbl9mcmFtZShXZWJLaXRX
ZWJQYWdlKiB3ZWJQYWdlKQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19X
RUJfUEFHRSh3ZWJQYWdlKSwgMCk7CiAKLSAgICByZXR1cm4gd2Via2l0RnJhbWVHZXRPckNyZWF0
ZSh3ZWJQYWdlLT5wcml2LT53ZWJQYWdlLT5tYWluV2ViRnJhbWUoKSk7CisgICAgcmV0dXJuIHdl
YmtpdEZyYW1lR2V0T3JDcmVhdGUoJndlYlBhZ2UtPnByaXYtPndlYlBhZ2UtPm1haW5XZWJGcmFt
ZSgpKTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGFlYjhiNDIzZWM1ODgw
NGYzNWI3MGM0NmMwOTA0NmJjOTA3YWViYWMuLmE2N2ZiMDM0OWZlYmViNDhmZTM1MmU1MTQzMzk0
NjViZGU0ZTZkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMTUsMTMgKzExNSwxMyBA
QCBzdGF0aWMgV2ViRnJhbWUqIGZpbmRMYXJnZXN0RnJhbWVJbkZyYW1lU2V0KFdlYlBhZ2UmIHBh
Z2UpCiB7CiAgICAgLy8gQXBwcm94aW1hdGUgd2hhdCBhIHVzZXIgY291bGQgY29uc2lkZXIgYSBk
ZWZhdWx0IHRhcmdldCBmcmFtZSBmb3IgYXBwbGljYXRpb24gbWVudSBvcGVyYXRpb25zLgogCi0g
ICAgV2ViRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UubWFpbldlYkZyYW1lKCk7Ci0gICAgaWYgKCFt
YWluRnJhbWUgfHwgIW1haW5GcmFtZS0+aXNGcmFtZVNldCgpKQorICAgIGF1dG8mIG1haW5GcmFt
ZSA9IHBhZ2UubWFpbldlYkZyYW1lKCk7CisgICAgaWYgKCFtYWluRnJhbWUuaXNGcmFtZVNldCgp
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFdlYkZyYW1lKiBsYXJnZXN0U29GYXIg
PSBudWxscHRyOwogCi0gICAgUmVmPEFQSTo6QXJyYXk+IGZyYW1lQ2hpbGRyZW4gPSBtYWluRnJh
bWUtPmNoaWxkRnJhbWVzKCk7CisgICAgUmVmPEFQSTo6QXJyYXk+IGZyYW1lQ2hpbGRyZW4gPSBt
YWluRnJhbWUuY2hpbGRGcmFtZXMoKTsKICAgICBzaXplX3QgY291bnQgPSBmcmFtZUNoaWxkcmVu
LT5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAg
ICAgIGF1dG8qIGNoaWxkRnJhbWUgPSBmcmFtZUNoaWxkcmVuLT5hdDxXZWJGcmFtZT4oaSk7CkBA
IC00NDMsMTAgKzQ0Myw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjbG9zZVdpbmRvd1Nvb24o
KQogCiAgICAgbV9wYWdlLmNvcmVQYWdlKCktPnNldEdyb3VwTmFtZShTdHJpbmcoKSk7CiAKLSAg
ICBpZiAoV2ViRnJhbWUqIGZyYW1lID0gbV9wYWdlLm1haW5XZWJGcmFtZSgpKSB7Ci0gICAgICAg
IGlmIChGcmFtZSogY29yZUZyYW1lID0gZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICAgICAgICAg
Y29yZUZyYW1lLT5sb2FkZXIoKS5zdG9wRm9yVXNlckNhbmNlbCgpOwotICAgIH0KKyAgICBhdXRv
JiBmcmFtZSA9IG1fcGFnZS5tYWluV2ViRnJhbWUoKTsKKyAgICBpZiAoYXV0byogY29yZUZyYW1l
ID0gZnJhbWUuY29yZUZyYW1lKCkpCisgICAgICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkuc3RvcEZv
clVzZXJDYW5jZWwoKTsKIAogICAgIG1fcGFnZS5zZW5kQ2xvc2UoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDBiZWFkYjA1YmJiN2Q4ZWZiMTlhM2YwMzIxZjA2MjZh
NzZkN2UwNTUuLjMyN2ZmYzRmNmRkNTYzOTE5NDBlYjBhMDcxNDM1MGNiOGYyMmYyZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNzAxLDcgKzcwMSw3IEBAIHZvaWQgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoT3B0aW9u
U2V0PFdlYkNvcmU6OkxhCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgICAg
IC8vIE1ha2Ugc3VyZSB2aWV3cG9ydCBwcm9wZXJ0aWVzIGFyZSBkaXNwYXRjaGVkIG9uIHRoZSBt
YWluIGZyYW1lIGJ5IHRoZSB0aW1lIHRoZSBmaXJzdCBsYXlvdXQgaGFwcGVucy4KLSAgICAgICAg
QVNTRVJUKCF3ZWJQYWdlLT51c2VGaXhlZExheW91dCgpIHx8IG1fZnJhbWUucHRyKCkgIT0gbV9m
cmFtZS0+cGFnZSgpLT5tYWluV2ViRnJhbWUoKSB8fCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9j
dW1lbnQoKS0+ZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNDaGFuZ2VkKCkpOworICAgICAg
ICBBU1NFUlQoIXdlYlBhZ2UtPnVzZUZpeGVkTGF5b3V0KCkgfHwgbV9mcmFtZS5wdHIoKSAhPSAm
bV9mcmFtZS0+cGFnZSgpLT5tYWluV2ViRnJhbWUoKSB8fCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+
ZG9jdW1lbnQoKS0+ZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNDaGFuZ2VkKCkpOwogI2Vu
ZGlmCiAgICAgfQogCkBAIC03NjYsNyArNzY2LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hEaWRMYXlvdXQoKQogICAgIC8vIE5PVEU6IFVubGlrZSB0aGUgb3RoZXIgbGF5
b3V0IG5vdGlmaWNhdGlvbnMsIHRoaXMgZG9lcyBub3Qgbm90aWZ5IHRoZQogICAgIC8vIHRoZSBV
SVByb2Nlc3MgZm9yIGV2ZXJ5IGNhbGwuCiAKLSAgICBpZiAobV9mcmFtZS5wdHIoKSA9PSBtX2Zy
YW1lLT5wYWdlKCktPm1haW5XZWJGcmFtZSgpKSB7CisgICAgaWYgKG1fZnJhbWUucHRyKCkgPT0g
Jm1fZnJhbWUtPnBhZ2UoKS0+bWFpbldlYkZyYW1lKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFJl
bW92ZSBhdCB0aGUgc29vbmVzdCBwb3NzaWJsZSB0aW1lLgogICAgICAgICB3ZWJQYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldFJlbmRlclRyZWVTaXplKHdlYlBhZ2UtPnJlbmRl
clRyZWVTaXplKCkpKTsKICAgICAgICAgd2ViUGFnZS0+bWFpbkZyYW1lRGlkTGF5b3V0KCk7CkBA
IC0xMzkzLDcgKzEzOTMsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpyZXN0b3JlVmll
d1N0YXRlKCkKIAogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5LiBX
ZWJDb3JlIHNob3VsZCBiZSBjb3JyZWN0bHkgaW52YWxpZGF0aW5nCiAgICAgLy8gdGhlIHZpZXcg
b24gcmVzdG9yZXMgZnJvbSB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgotICAgIGlmIChtX2ZyYW1l
LT5wYWdlKCkgJiYgbV9mcmFtZS5wdHIoKSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5XZWJGcmFt
ZSgpKQorICAgIGlmIChtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS5wdHIoKSA9PSAmbV9mcmFt
ZS0+cGFnZSgpLT5tYWluV2ViRnJhbWUoKSkKICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5kcmF3
aW5nQXJlYSgpLT5zZXROZWVkc0Rpc3BsYXkoKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21l
dHJ5Q29sbGVjdG9yLmNwcAppbmRleCAwZDI3NmU0ZTEzNGY0YjgzM2E2MjIxMzNlMGI0N2YxMmE3
MWQ0ZWFmLi4yNWRiZDM4N2IxYjI5NGQ1NTgyZGNmZjBjOWYxZjBlOWZmMzk4NzY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3
R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIFZpZXdH
ZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNh
dGlvbkdlc3R1cmUoRgogewogICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSBtX3dl
YlBhZ2UubWFpbkZyYW1lVmlldygpLT51bm9ic2N1cmVkQ29udGVudFJlY3RJbmNsdWRpbmdTY3Jv
bGxiYXJzKCk7CiAKLSAgICBpZiAobV93ZWJQYWdlLm1haW5XZWJGcmFtZSgpLT5oYW5kbGVzUGFn
ZVNjYWxlR2VzdHVyZSgpKQorICAgIGlmIChtX3dlYlBhZ2UubWFpbldlYkZyYW1lKCkuaGFuZGxl
c1BhZ2VTY2FsZUdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIHZpZXdw
b3J0TWluaW11bVNjYWxlOwpAQCAtMjQ4LDcgKzI0OCw3IEBAIHZvaWQgVmlld0dlc3R1cmVHZW9t
ZXRyeUNvbGxlY3Rvcjo6Y29tcHV0ZU1pbmltdW1BbmRNYXhpbXVtVmlld3BvcnRTY2FsZXMoZG91
YmxlCiB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZv
ck1hZ25pZmljYXRpb25HZXN0dXJlKCkKIHsKICAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRS
ZWN0ID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0SW5j
bHVkaW5nU2Nyb2xsYmFycygpOwotICAgIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdl
c3R1cmUgPSBtX3dlYlBhZ2UubWFpbldlYkZyYW1lKCktPmhhbmRsZXNQYWdlU2NhbGVHZXN0dXJl
KCk7CisgICAgYm9vbCBmcmFtZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSA9IG1fd2ViUGFn
ZS5tYWluV2ViRnJhbWUoKS5oYW5kbGVzUGFnZVNjYWxlR2VzdHVyZSgpOwogICAgIG1fd2ViUGFn
ZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRpZENvbGxlY3RHZW9tZXRy
eUZvck1hZ25pZmljYXRpb25HZXN0dXJlKHZpc2libGVDb250ZW50UmVjdCwgZnJhbWVIYW5kbGVz
TWFnbmlmaWNhdGlvbkdlc3R1cmUpKTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3Bw
CmluZGV4IGE4MjkyMGI0MTYyMWE2ZmFiYWY3ZWI3OTFjZDAzZGMxZjYwZjNhOWIuLmExMjhjOTJk
MGIxZjAxMmI3YjcwN2UwOGViZGNmMmU3YzM5OTZlOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5j
cHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpnb1Rv
SXRlbShIaXN0b3J5SXRlbSYgaXRlbSkKICAgICBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMgYmFj
a0ZvcndhcmRMaXN0Q291bnRzOwogICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6QmFja0ZvcndhcmRHb1RvSXRlbShpdGVtLmlkZW50aWZpZXIoKSksIE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkJhY2tGb3J3YXJkR29Ub0l0ZW06OlJlcGx5KHNhbmRib3hFeHRlbnNp
b25IYW5kbGUsIGJhY2tGb3J3YXJkTGlzdENvdW50cykpOwogICAgIG1fY2FjaGVkQmFja0Zvcndh
cmRMaXN0Q291bnRzID0gYmFja0ZvcndhcmRMaXN0Q291bnRzOwotICAgIG1fcGFnZS0+c2FuZGJv
eEV4dGVuc2lvblRyYWNrZXIoKS5iZWdpbkxvYWQobV9wYWdlLT5tYWluV2ViRnJhbWUoKSwgV1RG
TW92ZShzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSk7CisgICAgbV9wYWdlLT5zYW5kYm94RXh0ZW5z
aW9uVHJhY2tlcigpLmJlZ2luTG9hZCgmbV9wYWdlLT5tYWluV2ViRnJhbWUoKSwgV1RGTW92ZShz
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKSk7CiB9CiAKIFJlZlB0cjxIaXN0b3J5SXRlbT4gV2ViQmFj
a0ZvcndhcmRMaXN0UHJveHk6Oml0ZW1BdEluZGV4KGludCBpdGVtSW5kZXgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGUzZDUyZWMzNGE5OThk
YzkzMGIwNDBhOTRhZjlhNzIwNjJlYTA2NzUuLjg3MzhjNTMwOTZlMjA2OGU2Y2I1Yjc0ZThlODY1
ZjA0MDdiMGNjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC0zOTUsNiArMzk1LDcgQEAgUmVmPFdlYlBhZ2U+IFdlYlBhZ2U6OmNyZWF0ZShQ
YWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJgogCiBXZWJQ
YWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMpCiAgICAgOiBtX2lkZW50aWZpZXIocGFnZUlEKQorICAgICwgbV9t
YWluRnJhbWUoV2ViRnJhbWU6OmNyZWF0ZSgpKQogICAgICwgbV92aWV3U2l6ZShwYXJhbWV0ZXJz
LnZpZXdTaXplKQogICAgICwgbV9hbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlciB7IHBhcmFt
ZXRlcnMuYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgfQogICAgICwgbV9hbHdheXNTaG93
c1ZlcnRpY2FsU2Nyb2xsZXIgeyBwYXJhbWV0ZXJzLmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxl
ciB9CkBAIC00NjcsOCArNDY4LDYgQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBw
YWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogCiAgICAgbV9w
YWdlR3JvdXAgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdlR3JvdXAocGFyYW1ldGVy
cy5wYWdlR3JvdXBEYXRhKTsKIAotICAgIGF1dG8gbWFpbkZyYW1lID0gV2ViRnJhbWU6OmNyZWF0
ZSgpOwotCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpLAogICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyksCkBAIC00NzgsNyArNDc3LDcgQEAgV2ViUGFnZTo6
V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMm
JiBwYXJhbWV0ZXJzKQogICAgICAgICBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Y3JlYXRlKCp0
aGlzKSwKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY29va2llSmFyKCksCiAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50PigqdGhpcyksCi0gICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViRnJhbWVMb2FkZXJDbGllbnQ+KG1haW5GcmFtZS5jb3B5UmVm
KCkpLAorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkZyYW1lTG9hZGVyQ2xpZW50PihtX21haW5G
cmFtZS5jb3B5UmVmKCkpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92
aWRlcj4oKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CkBAIC01NzMsOCArNTcyLDcgQEAgV2ViUGFnZTo6V2Vi
UGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBw
YXJhbWV0ZXJzKQogICAgIC8vIGluIG1vZGVybiBXZWJLaXQuCiAgICAgbV9wYWdlLT5zZXR0aW5n
cygpLnNldEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWwoU2Vjb25kczo6aW5maW5p
dHkoKSk7CiAKLSAgICBtYWluRnJhbWUtPmluaXRXaXRoQ29yZU1haW5GcmFtZSgqdGhpcywgbV9w
YWdlLT5tYWluRnJhbWUoKSk7Ci0gICAgbV9tYWluRnJhbWUgPSBXVEZNb3ZlKG1haW5GcmFtZSk7
CisgICAgbV9tYWluRnJhbWUtPmluaXRXaXRoQ29yZU1haW5GcmFtZSgqdGhpcywgbV9wYWdlLT5t
YWluRnJhbWUoKSk7CiAKICAgICBtX2RyYXdpbmdBcmVhLT51cGRhdGVQcmVmZXJlbmNlcyhwYXJh
bWV0ZXJzLnN0b3JlKTsKIApAQCAtMTM4Myw3ICsxMzgxLDcgQEAgdm9pZCBXZWJQYWdlOjpjbG9z
ZSgpCiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7CiAKICAgICAvLyBJZiB0aGVyZSBpcyBzdGlsbCBu
byBVUkwsIHRoZW4gd2UgbmV2ZXIgbG9hZGVkIGFueXRoaW5nIGluIHRoaXMgcGFnZSwgc28gbm90
aGluZyB0byByZXBvcnQuCi0gICAgaWYgKCFtYWluV2ViRnJhbWUoKS0+dXJsKCkuaXNFbXB0eSgp
KQorICAgIGlmICghbWFpbldlYkZyYW1lKCkudXJsKCkuaXNFbXB0eSgpKQogICAgICAgICByZXBv
cnRVc2VkRmVhdHVyZXMoKTsKIAogICAgIGlmIChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5pbmpl
Y3RlZEJ1bmRsZSgpKQpAQCAtMTUyOSw3ICsxNTI3LDcgQEAgdm9pZCBXZWJQYWdlOjpzdXNwZW5k
Rm9yUHJvY2Vzc1N3YXAoKQogICAgIC8vIEJhY2svZm9yd2FyZCBjYWNoZSBkb2VzIG5vdCBicmVh
ayB0aGUgb3BlbmVyIGxpbmsgZm9yIHRoZSBtYWluIGZyYW1lIChvbmx5IGRvZXMgc28gZm9yIHRo
ZSBzdWJmcmFtZXMpIGJlY2F1c2UgdGhlCiAgICAgLy8gbWFpbiBmcmFtZSBpcyBub3JtYWxseSBy
ZS11c2VkIGZvciB0aGUgbmF2aWdhdGlvbi4gSG93ZXZlciwgaW4gdGhlIGNhc2Ugb2YgcHJvY2Vz
cy1zd2FwcGluZywgdGhlIG1haW4gZnJhbWUKICAgICAvLyBpcyBub3cgaG9zdGVkIGluIGFub3Ro
ZXIgcHJvY2VzcyBhbmQgdGhlIG9uZSBpbiB0aGlzIHByb2Nlc3MgaXMgaW4gdGhlIGNhY2hlLgot
ICAgIGlmIChtX21haW5GcmFtZSAmJiBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCkpCisgICAgaWYg
KG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSkKICAgICAgICAgbV9tYWluRnJhbWUtPmNvcmVGcmFt
ZSgpLT5sb2FkZXIoKS5kZXRhY2hGcm9tQWxsT3BlbmVkRnJhbWVzKCk7CiAKICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFN1c3BlbmRBZnRlclByb2Nlc3NTd2FwKCkpOwpAQCAt
MTU0NiwxMCArMTU0NCwxMCBAQCB2b2lkIFdlYlBhZ2U6OmxvYWRVUkxJbkZyYW1lKFVSTCYmIHVy
bCwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgRnJhbWVJZGVudGlmaWVyCiAKIHZvaWQgV2ViUGFn
ZTo6bG9hZERhdGFJbkZyYW1lKElQQzo6RGF0YVJlZmVyZW5jZSYmIGRhdGEsIFN0cmluZyYmIE1J
TUVUeXBlLCBTdHJpbmcmJiBlbmNvZGluZ05hbWUsIFVSTCYmIGJhc2VVUkwsIEZyYW1lSWRlbnRp
ZmllciBmcmFtZUlEKQogewotICAgIFdlYkZyYW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOworICAgIGF1dG8qIGZyYW1lID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJRCk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAg
cmV0dXJuOwotICAgIEFTU0VSVChtYWluV2ViRnJhbWUoKSAhPSBmcmFtZSk7CisgICAgQVNTRVJU
KCZtYWluV2ViRnJhbWUoKSAhPSBmcmFtZSk7CiAKICAgICBhdXRvIHNoYXJlZEJ1ZmZlciA9IFNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEuZGF0
YSgpKSwgZGF0YS5zaXplKCkpOwogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UoYmFzZVVS
TCwgTUlNRVR5cGUsIHNoYXJlZEJ1ZmZlci0+c2l6ZSgpLCBlbmNvZGluZ05hbWUpOwpAQCAtMTU3
Myw3ICsxNTcxLDcgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChMb2FkUGFyYW1ldGVycyYm
IGxvYWRQYXJhbWV0ZXJzKQogICAgIG1fcGVuZGluZ05hdmlnYXRpb25JRCA9IGxvYWRQYXJhbWV0
ZXJzLm5hdmlnYXRpb25JRDsKICAgICBtX3BlbmRpbmdXZWJzaXRlUG9saWNpZXMgPSBXVEZNb3Zl
KGxvYWRQYXJhbWV0ZXJzLndlYnNpdGVQb2xpY2llcyk7CiAKLSAgICBtX3NhbmRib3hFeHRlbnNp
b25UcmFja2VyLmJlZ2luTG9hZChtX21haW5GcmFtZS5nZXQoKSwgV1RGTW92ZShsb2FkUGFyYW1l
dGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSk7CisgICAgbV9zYW5kYm94RXh0ZW5zaW9uVHJh
Y2tlci5iZWdpbkxvYWQobV9tYWluRnJhbWUucHRyKCksIFdURk1vdmUobG9hZFBhcmFtZXRlcnMu
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpOwogCiAgICAgLy8gTGV0IHRoZSBJbmplY3RlZEJ1bmRs
ZSBrbm93IHdlIGFyZSBhYm91dCB0byBzdGFydCB0aGUgbG9hZCwgcGFzc2luZyB0aGUgdXNlciBk
YXRhIGZyb20gdGhlIFVJUHJvY2VzcwogICAgIC8vIHRvIGFsbCB0aGUgY2xpZW50IHRvIHNldCB1
cCBhbnkgbmVlZGVkIHN0YXRlLgpAQCAtMTY5OCw3ICsxNjk2LDcgQEAgdm9pZCBXZWJQYWdlOjpy
ZWxvYWQodWludDY0X3QgbmF2aWdhdGlvbklELCB1aW50MzJfdCByZWxvYWRPcHRpb25zLCBTYW5k
Ym94RXh0ZW4KICAgICBBU1NFUlQoIW1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCku
ZnJhbWVIYXNMb2FkZWQoKSB8fCAhbV9wZW5kaW5nTmF2aWdhdGlvbklEKTsKICAgICBtX3BlbmRp
bmdOYXZpZ2F0aW9uSUQgPSBuYXZpZ2F0aW9uSUQ7CiAKLSAgICBtX3NhbmRib3hFeHRlbnNpb25U
cmFja2VyLmJlZ2luUmVsb2FkKG1fbWFpbkZyYW1lLmdldCgpLCBXVEZNb3ZlKHNhbmRib3hFeHRl
bnNpb25IYW5kbGUpKTsKKyAgICBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyLmJlZ2luUmVsb2Fk
KG1fbWFpbkZyYW1lLnB0cigpLCBXVEZNb3ZlKHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKTsKICAg
ICBjb3JlUGFnZSgpLT51c2VySW5wdXRCcmlkZ2UoKS5yZWxvYWRGcmFtZShtX21haW5GcmFtZS0+
Y29yZUZyYW1lKCksIE9wdGlvblNldDxSZWxvYWRPcHRpb24+Ojpmcm9tUmF3KHJlbG9hZE9wdGlv
bnMpKTsKIAogICAgIGlmIChtX3BlbmRpbmdOYXZpZ2F0aW9uSUQpIHsKQEAgLTMzMzUsMTAgKzMz
MzMsMTAgQEAgdm9pZCBXZWJQYWdlOjpkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKCkKIHsKICAg
ICB1bmZyZWV6ZUxheWVyVHJlZShMYXllclRyZWVGcmVlemVSZWFzb246OlBhZ2VUcmFuc2l0aW9u
KTsKIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5ZXJzLCAiZGlkQ29tcGxldGVQYWdl
VHJhbnNpdGlvbjogRGlkIGNvbXBsZXRlIHBhZ2UgdHJhbnNpdGlvbiIpOworICAgIGF1dG8mIHN0
YXRlTWFjaGluZSA9IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuc3RhdGVNYWNo
aW5lKCk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMYXllcnMsICJkaWRDb21wbGV0ZVBh
Z2VUcmFuc2l0aW9uOiBEaWQgY29tcGxldGUgcGFnZSB0cmFuc2l0aW9uLCBsb2FkZXIgc3RhdGUg
aXMgJWQiLCBzdGF0ZU1hY2hpbmUuc3RhdGVGb3JEZWJ1Z2dpbmcoKSk7CiAKLSAgICBib29sIGlz
SW5pdGlhbEVtcHR5RG9jdW1lbnQgPSAhbV9tYWluRnJhbWU7Ci0gICAgaWYgKCFpc0luaXRpYWxF
bXB0eURvY3VtZW50KQorICAgIGlmIChzdGF0ZU1hY2hpbmUuY29tbWl0dGVkRmlyc3RSZWFsRG9j
dW1lbnRMb2FkKCkpCiAgICAgICAgIHVuZnJlZXplTGF5ZXJUcmVlKExheWVyVHJlZUZyZWV6ZVJl
YXNvbjo6UHJvY2Vzc1N3YXApOwogfQogCkBAIC0zNDU1LDcgKzM0NTMsNyBAQCB2b2lkIFdlYlBh
Z2U6OnJ1bkphdmFTY3JpcHQoV2ViRnJhbWUqIGZyYW1lLCBSdW5KYXZhU2NyaXB0UGFyYW1ldGVy
cyYmIHBhcmFtZXRlcgogCiB2b2lkIFdlYlBhZ2U6OnJ1bkphdmFTY3JpcHRJbkZyYW1lSW5TY3Jp
cHRXb3JsZChSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmIHBhcmFtZXRlcnMsIE9wdGlvbmFsPFdl
YkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgY29uc3Qgc3RkOjpwYWlyPENvbnRlbnRX
b3JsZElkZW50aWZpZXIsIFN0cmluZz4mIHdvcmxkRGF0YSwgQ2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogewotICAgIGF1dG8qIHdlYkZyYW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLndlYkZyYW1lKCpmcmFtZUlEKSA6IG1haW5XZWJGcmFtZSgpOworICAgIGF1dG8qIHdlYkZy
YW1lID0gZnJhbWVJRCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlE
KSA6ICZtYWluV2ViRnJhbWUoKTsKIAogICAgIGlmIChhdXRvKiBuZXdXb3JsZCA9IG1fdXNlckNv
bnRlbnRDb250cm9sbGVyLT5hZGRDb250ZW50V29ybGQod29ybGREYXRhKSkgewogICAgICAgICBh
dXRvJiBjb3JlV29ybGQgPSBuZXdXb3JsZC0+Y29yZVdvcmxkKCk7CkBAIC02NjI2LDcgKzY2MjQs
NyBAQCB2b2lkIFdlYlBhZ2U6OnNldElzU3VzcGVuZGVkKGJvb2wgc3VzcGVuZGVkKQogICAgIC8v
IHdlIGRvbid0IGhvbGQgYSBCYWNrZ3JvdW5kQXBwbGljYXRpb24gZnJlZXplIHJlYXNvbiB3aGVu
IHRyYW5zaXRpb25pbmcgZnJvbSBjb21taXR0ZWQgdG8gc3VzcGVuZGVkLgogICAgIHVuZnJlZXpl
TGF5ZXJUcmVlKExheWVyVHJlZUZyZWV6ZVJlYXNvbjo6QmFja2dyb3VuZEFwcGxpY2F0aW9uKTsK
IAotICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlbmRQcmV3YXJtSW5mb3JtYXRpb24obWFp
bldlYkZyYW1lKCktPnVybCgpKTsKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZW5kUHJl
d2FybUluZm9ybWF0aW9uKG1haW5XZWJGcmFtZSgpLnVybCgpKTsKIAogICAgIHN1c3BlbmRGb3JQ
cm9jZXNzU3dhcCgpOwogfQpAQCAtNjY5OSw3ICs2Njk3LDcgQEAgdm9pZCBXZWJQYWdlOjp3YXNM
b2FkZWRXaXRoRGF0YVRyYW5zZmVyRnJvbVByZXZhbGVudFJlc291cmNlKCkKIAogdm9pZCBXZWJQ
YWdlOjpkaWRMb2FkRnJvbVJlZ2lzdHJhYmxlRG9tYWluKFJlZ2lzdHJhYmxlRG9tYWluJiYgdGFy
Z2V0RG9tYWluKQogewotICAgIGlmICh0YXJnZXREb21haW4gIT0gUmVnaXN0cmFibGVEb21haW4o
bWFpbldlYkZyYW1lKCktPnVybCgpKSkKKyAgICBpZiAodGFyZ2V0RG9tYWluICE9IFJlZ2lzdHJh
YmxlRG9tYWluKG1haW5XZWJGcmFtZSgpLnVybCgpKSkKICAgICAgICAgbV9sb2FkZWRUaGlyZFBh
cnR5RG9tYWlucy5hZGQodGFyZ2V0RG9tYWluKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDY5MzljMjM5ZGE0MWRiOTY2YTI4MWQyOGZiYWFl
ZDcxYjAzMjA4MTEuLmUzMTM5YTg0MTRmODc4NTg1NWQ1ZmI5MTc2NTIyNjIwNDYwZTIwNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQ2Miw3ICs0
NjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmaW5kU3RyaW5nTWF0Y2hlc0Zyb21JbmplY3RlZEJ1
bmRsZShjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucyk7CiAgICAgdm9pZCByZXBsYWNlU3RyaW5n
TWF0Y2hlc0Zyb21JbmplY3RlZEJ1bmRsZShjb25zdCBWZWN0b3I8dWludDMyX3Q+JiBtYXRjaElu
ZGljZXMsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRUZXh0LCBib29sIHNlbGVjdGlvbk9ubHkp
OwogCi0gICAgV2ViRnJhbWUqIG1haW5XZWJGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWFpbkZy
YW1lLmdldCgpOyB9CisgICAgV2ViRnJhbWUmIG1haW5XZWJGcmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWFpbkZyYW1lOyB9CiAKICAgICBXZWJDb3JlOjpGcmFtZSogbWFpbkZyYW1lKCkgY29uc3Q7
IC8vIE1heSByZXR1cm4gbnVsbHB0ci4KICAgICBXZWJDb3JlOjpGcmFtZVZpZXcqIG1haW5GcmFt
ZVZpZXcoKSBjb25zdDsgLy8gTWF5IHJldHVybiBudWxscHRyLgpAQCAtMTcwOSw3ICsxNzA5LDcg
QEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGFnZT4gbV9wYWdlOwotICAgIFJlZlB0cjxX
ZWJGcmFtZT4gbV9tYWluRnJhbWU7CisgICAgUmVmPFdlYkZyYW1lPiBtX21haW5GcmFtZTsKIAog
ICAgIFJlZlB0cjxXZWJQYWdlR3JvdXBQcm94eT4gbV9wYWdlR3JvdXA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZTc0
NTc2M2FmMTBmZmU1OThiN2ZhZWJhNDEwNzI5NWQ0MWYwM2RjZC4uY2YzMjIyZThhMGUxNDdmOTRl
YjhkZjJhNWVhODYzZjgzZDBkMTFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTMzOCw3ICszMzgsNyBAQCBGbG9hdFNp
emUgV2ViUGFnZTo6b3ZlcnJpZGVTY3JlZW5TaXplKCkgY29uc3QKIAogdm9pZCBXZWJQYWdlOjpk
aWRSZWNlaXZlTW9iaWxlRG9jVHlwZShib29sIGlzTW9iaWxlRG9jdHlwZSkKIHsKLSAgICByZXNl
dFZpZXdwb3J0RGVmYXVsdENvbmZpZ3VyYXRpb24obV9tYWluRnJhbWUuZ2V0KCksIGlzTW9iaWxl
RG9jdHlwZSk7CisgICAgcmVzZXRWaWV3cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKG1fbWFpbkZy
YW1lLnB0cigpLCBpc01vYmlsZURvY3R5cGUpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnNhdmVQYWdl
U3RhdGUoSGlzdG9yeUl0ZW0mIGhpc3RvcnlJdGVtKQpAQCAtMTE2OCw3ICsxMTY4LDcgQEAgdm9p
ZCBXZWJQYWdlOjpjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKQogdm9pZCBXZWJQYWdlOjpjYW5j
ZWxQb3RlbnRpYWxUYXAoKQogewogICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkQ2FuY2Vs
UG90ZW50aWFsVGFwKG1fcGFnZS0+bWFpbkZyYW1lKCkpOwotICAgIGNhbmNlbFBvdGVudGlhbFRh
cEluRnJhbWUoKm1fbWFpbkZyYW1lKTsKKyAgICBjYW5jZWxQb3RlbnRpYWxUYXBJbkZyYW1lKG1f
bWFpbkZyYW1lKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpjYW5jZWxQb3RlbnRpYWxUYXBJbkZyYW1l
KFdlYkZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGYyMjVlMWE1ZWU4NTM4MTFkNGYxYmVjY2ViZjNhZmVh
OTdmMWUyYTIuLjIwZGY5YzQ5MjY4NDdiMmI5NGMxYzMyMTg2MTlkNGJmNDNlZWFkZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpA
QCAtNTg1LDExICs1ODUsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNv
bnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcgogCiBzdGF0aWMgTlNV
UkwgKm9yaWdpbihXZWJQYWdlJiBwYWdlKQogewotICAgIFdlYkZyYW1lKiBtYWluRnJhbWUgPSBw
YWdlLm1haW5XZWJGcmFtZSgpOwotICAgIGlmICghbWFpbkZyYW1lKQotICAgICAgICByZXR1cm4g
bmlsOworICAgIGF1dG8mIG1haW5GcmFtZSA9IHBhZ2UubWFpbldlYkZyYW1lKCk7CiAKLSAgICBV
UkwgbWFpbkZyYW1lVVJMID0geyBVUkwoKSwgbWFpbkZyYW1lLT51cmwoKSB9OworICAgIFVSTCBt
YWluRnJhbWVVUkwgPSB7IFVSTCgpLCBtYWluRnJhbWUudXJsKCkgfTsKICAgICBSZWY8U2VjdXJp
dHlPcmlnaW4+IG1haW5GcmFtZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobWFpbkZy
YW1lVVJMKTsKICAgICBTdHJpbmcgbWFpbkZyYW1lT3JpZ2luU3RyaW5nOwogICAgIGlmICghbWFp
bkZyYW1lT3JpZ2luLT5pc1VuaXF1ZSgpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>