<?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>203106</bug_id>
          
          <creation_ts>2019-10-17 09:59:06 -0700</creation_ts>
          <short_desc>FileReader should not prevent entering the back/forward cache</short_desc>
          <delta_ts>2019-10-19 16:41:20 -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>WebCore Misc.</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>
          
          <blocked>202293</blocked>
    
    <blocked>203107</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581019</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 09:59:06 -0700</bug_when>
    <thetext>FileReader should not prevent entering the back/forward cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581104</commentid>
    <comment_count>1</comment_count>
      <attachid>381216</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 12:52:57 -0700</bug_when>
    <thetext>Created attachment 381216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581105</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-17 12:53:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/56381623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581149</commentid>
    <comment_count>3</comment_count>
      <attachid>381227</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 14:12:30 -0700</bug_when>
    <thetext>Created attachment 381227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581219</commentid>
    <comment_count>4</comment_count>
      <attachid>381248</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 16:48:23 -0700</bug_when>
    <thetext>Created attachment 381248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581487</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-18 12:37:31 -0700</bug_when>
    <thetext>Patch is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581730</commentid>
    <comment_count>6</comment_count>
      <attachid>381248</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-10-19 13:25:00 -0700</bug_when>
    <thetext>Comment on attachment 381248
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581742</commentid>
    <comment_count>7</comment_count>
      <attachid>381248</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-19 16:41:17 -0700</bug_when>
    <thetext>Comment on attachment 381248
Patch

Clearing flags on attachment: 381248

Committed r251327: &lt;https://trac.webkit.org/changeset/251327&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581743</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-19 16:41:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381216</attachid>
            <date>2019-10-17 12:52:57 -0700</date>
            <delta_ts>2019-10-17 14:12:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203106-20191017125256.patch</filename>
            <type>text/plain</type>
            <size>15174</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUyYzgwZThjOTRhZDA2
OTNkOTRmMGM4MDQ0ZDBmMmRjMDdhYTc2YS4uYjY2OTllMWZjYjRmNGExMTQyNzFiMzNkZGM2NWQw
YTc4MTBmMzBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEwLTE3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91bGQg
bm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91bGQgbm90
IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4gVG8gc3VwcG9ydCB0aGlz
LAorICAgICAgICBpdHMgaW1wbGVtZW50YXRpb24gbm93IHVzZXMgYSBTdXNwZW5kYWJsZVRhc2tR
dWV1ZSB0byBkaXNwYXRjaCBldmVudHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxl
LXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUuaHRtbAorCisgICAgICAgICogZG9tL0FjdGl2ZURP
TU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVET01PYmplY3Q6OmlzQWxsb3dl
ZFRvUnVuU2NyaXB0IGNvbnN0KToKKyAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0cyk6CisgICAg
ICAgICogZmlsZWFwaS9GaWxlUmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFk
ZXI6OkZpbGVSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6c3RvcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpoYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6cmVhZEludGVybmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OkZpbGVSZWFkZXI6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6
OmRpZFN0YXJ0TG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpkaWRSZWNl
aXZlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6OmRpZEZhaWwpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZVJlYWRlcjo6ZmlyZUV2ZW50KToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFk
ZXIuaDoKKwogMjAxOS0xMC0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIERlcHJlY2F0ZSBBY3RpdmVET01PYmplY3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCAyNDlj
ZGJmYjQ2NTMyNTg2OTY5N2EyZWZkOTUwMmNlZmY2YzI0NWQyLi42MzQ3ZWEyMDQ4MTFkNTRhNDg3
NDQ4ZWZlM2Q3MGZlZjE0YzY1ZDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0
aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0
LmNwcApAQCAtMTI1LDQgKzEyNSw5IEBAIGJvb2wgQWN0aXZlRE9NT2JqZWN0Ojppc0NvbnRleHRT
dG9wcGVkKCkgY29uc3QKICAgICByZXR1cm4gIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSB8fCBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCk7CiB9
CiAKK2Jvb2wgQWN0aXZlRE9NT2JqZWN0Ojppc0FsbG93ZWRUb1J1blNjcmlwdCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSAmJiAhc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hY3RpdmVET01PYmplY3RzQXJlU3RvcHBlZCgpICYmICFzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURP
TU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5oCmluZGV4IDVh
YTU5NTRmN2ZjYjFmMjE0NWZkY2U4OWVhZjdjZTMzM2VhNDgwNDEuLjc2YjVkZTY4YTJjYTQ5MzZh
ODJmNmI0ZTJkZWU2ZTM5YzgwNjRmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0
LmgKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgYm9vbCBpc0NvbnRl
eHRTdG9wcGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc0FsbG93ZWRUb1J1blNjcmlwdCgpIGNvbnN0
OwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQWN0aXZlRE9NT2JqZWN0KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmNwcAppbmRleCBjYTVjNWEyZDA4OTE2NzliODQ3MDYwMWQ2MmI3MmRjZTAzYmQxNDA1Li5i
NmM1ZGUxZWJiNTBkY2VmYTY0MTQ5Y2UzMzZjMDg2MjQxNGE0ZjlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC0zMDEsMTMgKzMwMSwxNCBA
QCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoUmVh
c29uRm9yU3VzcGVuc2lvbiB3aHkpCiAKICAgICBpZiAobV9yZWFzb25Gb3JTdXNwZW5kaW5nQWN0
aXZlRE9NT2JqZWN0cyAhPSB3aHkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2FjdGl2ZURPTU9i
amVjdHNBcmVTdXNwZW5kZWQgPSBmYWxzZTsKIAogICAgIGZvckVhY2hBY3RpdmVET01PYmplY3Qo
W10oYXV0byYgYWN0aXZlRE9NT2JqZWN0KSB7CiAgICAgICAgIGFjdGl2ZURPTU9iamVjdC5yZXN1
bWUoKTsKICAgICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlOjpZZXM7CiAgICAgfSk7CiAKKyAg
ICBtX2FjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQgPSBmYWxzZTsKKwogICAgIC8vIEluIGNh
c2UgdGhlcmUgd2VyZSBwZW5kaW5nIG1lc3NhZ2VzIGF0IHRoZSB0aW1lIHRoZSBzY3JpcHQgZXhl
Y3V0aW9uIGNvbnRleHQgZW50ZXJlZCB0aGUgQmFja0ZvcndhcmRDYWNoZSwKICAgICAvLyBtYWtl
IHN1cmUgdGhvc2UgZ2V0IGRpc3BhdGNoZWQgc2hvcnRseSBhZnRlciByZXN0b3JpbmcgZnJvbSB0
aGUgQmFja0ZvcndhcmRDYWNoZS4KICAgICBwcm9jZXNzTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHNT
b29uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmNwcAppbmRleCA2MjQzOGNkODkw
M2RlM2Q4ZGU0OGM4NDdmYjlmMDg4NDBhODM1NDgwLi44MzU1OTQ5YWM0YWVhNzkyNmMzYjI0M2Ez
MmQ0YTA1YWU1ZTFlMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NF
dmVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJT
dXNwZW5kYWJsZVRhc2tRdWV1ZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVm
ZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CkBAIC01Niw2ICs1Nyw3IEBAIFJlZjxGaWxlUmVhZGVyPiBGaWxlUmVh
ZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIAogRmlsZVJlYWRl
cjo6RmlsZVJlYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNr
UXVldWU6OmNyZWF0ZSgmY29udGV4dCkpCiB7CiB9CiAKQEAgLTY1LDEyICs2Nyw2IEBAIEZpbGVS
ZWFkZXI6On5GaWxlUmVhZGVyKCkKICAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwogfQogCi0v
LyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3
YXJkIGNhY2hlLgotYm9vbCBGaWxlUmVhZGVyOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9y
d2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAotewotICAgIHJldHVybiBoYXNQZW5kaW5nQWN0
aXZpdHkoKTsKLX0KLQogY29uc3QgY2hhciogRmlsZVJlYWRlcjo6YWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICJGaWxlUmVhZGVyIjsKQEAgLTgzLDcgKzc5LDExIEBA
IHZvaWQgRmlsZVJlYWRlcjo6c3RvcCgpCiAgICAgICAgIG1fbG9hZGVyID0gbnVsbHB0cjsKICAg
ICB9CiAgICAgbV9zdGF0ZSA9IERPTkU7Ci0gICAgbV9sb2FkaW5nQWN0aXZpdHkgPSBudWxscHRy
OworfQorCitib29sIEZpbGVSZWFkZXI6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fdGFza1F1ZXVlLT5oYXNQZW5kaW5nVGFza3MoKSB8fCBtX3N0YXRlID09IExP
QURJTkcgfHwgQWN0aXZlRE9NT2JqZWN0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogRXhj
ZXB0aW9uT3I8dm9pZD4gRmlsZVJlYWRlcjo6cmVhZEFzQXJyYXlCdWZmZXIoQmxvYiogYmxvYikK
QEAgLTEzMyw4ICsxMzMsNiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBGaWxlUmVhZGVyOjpyZWFkSW50
ZXJuYWwoQmxvYiYgYmxvYiwgRmlsZVJlYWRlckxvYWRlcjo6UmVhZFR5cAogICAgIGlmIChtX3N0
YXRlID09IExPQURJTkcpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVF
cnJvciB9OwogCi0gICAgbV9sb2FkaW5nQWN0aXZpdHkgPSBtYWtlUGVuZGluZ0FjdGl2aXR5KCp0
aGlzKTsKLQogICAgIG1fYmxvYiA9ICZibG9iOwogICAgIG1fcmVhZFR5cGUgPSB0eXBlOwogICAg
IG1fc3RhdGUgPSBMT0FESU5HOwpAQCAtMTU3LDEwICsxNTUsOCBAQCB2b2lkIEZpbGVSZWFkZXI6
OmFib3J0KCkKICAgICBtX2Fib3J0aW5nID0gdHJ1ZTsKIAogICAgIC8vIFNjaGVkdWxlIHRvIGhh
dmUgdGhlIGFib3J0IGRvbmUgbGF0ZXIgc2luY2UgYWJvcnQoKSBtaWdodCBiZSBjYWxsZWQgZnJv
bSB0aGUgZXZlbnQgaGFuZGxlciBhbmQgd2UgZG8gbm90IHdhbnQgdGhlIHJlc291cmNlIGxvYWRp
bmcgY29kZSB0byBiZSBpbiB0aGUgc3RhY2suCi0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5wb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpIHsKLSAgICAgICAgaWYgKGlzQ29udGV4dFN0b3BwZWQoKSkKLSAg
ICAgICAgICAgIHJldHVybjsKLQorICAgIG1fdGFza1F1ZXVlLT5jYW5jZWxBbGxUYXNrcygpOwor
ICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10gewogICAgICAgICBBU1NFUlQobV9z
dGF0ZSAhPSBET05FKTsKIAogICAgICAgICBzdG9wKCk7CkBAIC0xNzYsMjAgKzE3MiwyNCBAQCB2
b2lkIEZpbGVSZWFkZXI6OmFib3J0KCkKIAogdm9pZCBGaWxlUmVhZGVyOjpkaWRTdGFydExvYWRp
bmcoKQogewotICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQpOworICAg
IG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10geworICAgICAgICBmaXJlRXZlbnQoZXZl
bnROYW1lcygpLmxvYWRzdGFydEV2ZW50KTsKKyAgICB9KTsKIH0KIAogdm9pZCBGaWxlUmVhZGVy
OjpkaWRSZWNlaXZlRGF0YSgpCiB7Ci0gICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKLSAgICBpZiAoc3RkOjppc25hbihtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUpKSB7
Ci0gICAgICAgIG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZSA9IG5vdzsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBpZiAobm93IC0gbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25U
aW1lID4gcHJvZ3Jlc3NOb3RpZmljYXRpb25JbnRlcnZhbCkgewotICAgICAgICBmaXJlRXZlbnQo
ZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOwotICAgICAgICBtX2xhc3RQcm9ncmVzc05vdGlm
aWNhdGlvblRpbWUgPSBub3c7Ci0gICAgfQorICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhb
dGhpc10geworICAgICAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgICAg
ICBpZiAoc3RkOjppc25hbihtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUpKSB7CisgICAg
ICAgICAgICBtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPSBub3c7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKG5vdyAtIG1fbGFzdFByb2dyZXNzTm90
aWZpY2F0aW9uVGltZSA+IHByb2dyZXNzTm90aWZpY2F0aW9uSW50ZXJ2YWwpIHsKKyAgICAgICAg
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCk7CisgICAgICAgICAgICBt
X2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPSBub3c7CisgICAgICAgIH0KKyAgICB9KTsK
IH0KIAogdm9pZCBGaWxlUmVhZGVyOjpkaWRGaW5pc2hMb2FkaW5nKCkKQEAgLTE5NywxNCArMTk3
LDE0IEBAIHZvaWQgRmlsZVJlYWRlcjo6ZGlkRmluaXNoTG9hZGluZygpCiAgICAgaWYgKG1fYWJv
cnRpbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFTU0VSVChtX3N0YXRlICE9IERPTkUpOwot
ICAgIG1fc3RhdGUgPSBET05FOworICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10g
eworICAgICAgICBBU1NFUlQobV9zdGF0ZSAhPSBET05FKTsKKyAgICAgICAgbV9zdGF0ZSA9IERP
TkU7CiAKLSAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOwotICAgIGZp
cmVFdmVudChldmVudE5hbWVzKCkubG9hZEV2ZW50KTsKLSAgICBmaXJlRXZlbnQoZXZlbnROYW1l
cygpLmxvYWRlbmRFdmVudCk7Ci0gICAgCi0gICAgbV9sb2FkaW5nQWN0aXZpdHkgPSBudWxscHRy
OworICAgICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOworICAgICAg
ICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmxvYWRFdmVudCk7CisgICAgICAgIGZpcmVFdmVudChl
dmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKKyAgICB9KTsKIH0KIAogdm9pZCBGaWxlUmVhZGVy
OjpkaWRGYWlsKGludCBlcnJvckNvZGUpCkBAIC0yMTMsMTggKzIxMywxOSBAQCB2b2lkIEZpbGVS
ZWFkZXI6OmRpZEZhaWwoaW50IGVycm9yQ29kZSkKICAgICBpZiAobV9hYm9ydGluZykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgQVNTRVJUKG1fc3RhdGUgIT0gRE9ORSk7Ci0gICAgbV9zdGF0ZSA9
IERPTkU7CisgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzLCBlcnJvckNvZGVdIHsK
KyAgICAgICAgQVNTRVJUKG1fc3RhdGUgIT0gRE9ORSk7CisgICAgICAgIG1fc3RhdGUgPSBET05F
OwogCi0gICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKHN0YXRpY19jYXN0PEZpbGVFcnJv
cjo6RXJyb3JDb2RlPihlcnJvckNvZGUpKTsKLSAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmVy
cm9yRXZlbnQpOwotICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKLSAg
ICAKLSAgICBtX2xvYWRpbmdBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAgIG1fZXJyb3IgPSBG
aWxlRXJyb3I6OmNyZWF0ZShzdGF0aWNfY2FzdDxGaWxlRXJyb3I6OkVycm9yQ29kZT4oZXJyb3JD
b2RlKSk7CisgICAgICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CisgICAg
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKKyAgICB9KTsKIH0KIAog
dm9pZCBGaWxlUmVhZGVyOjpmaXJlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSkKIHsKKyAg
ICBSRUxFQVNFX0FTU0VSVChpc0FsbG93ZWRUb1J1blNjcmlwdCgpKTsKICAgICBkaXNwYXRjaEV2
ZW50KFByb2dyZXNzRXZlbnQ6OmNyZWF0ZSh0eXBlLCB0cnVlLCBtX2xvYWRlciA/IG1fbG9hZGVy
LT5ieXRlc0xvYWRlZCgpIDogMCwgbV9sb2FkZXIgPyBtX2xvYWRlci0+dG90YWxCeXRlcygpIDog
MCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCmluZGV4IGMwYjdkZjdhYWM2
NzcxYTFlMjc3YTdiMDY0ZmIxNWRkZTc5MGIyMmEuLmViYjhmNWJjNDBmZDUzMWI1Mzc1ZTEwMDcz
ZDc0MzIwNTA0YzYzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJl
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCkBAIC0zNiw2
ICszNiw3IEBACiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiRmlsZVJlYWRlckxv
YWRlci5oIgogI2luY2x1ZGUgIkZpbGVSZWFkZXJMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlIDx3
dGYvVW5pcXVlUmVmLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgQXJyYXlCdWZmZXI7CkBA
IC00NCw2ICs0NSw3IEBAIGNsYXNzIEFycmF5QnVmZmVyOwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBCbG9iOworY2xhc3MgU3VzcGVuZGFibGVUYXNrUXVldWU7CiAKIGNsYXNzIEZpbGVS
ZWFkZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxGaWxlUmVhZGVyPiwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHByaXZhdGUgRmls
ZVJlYWRlckxvYWRlckNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChGaWxlUmVh
ZGVyKTsKQEAgLTc0LDExICs3NiwxNCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6
cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCisgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0LgorICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CisKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgRmlsZVJlYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAK
KyAgICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0Zv
cndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkgZmlu
YWw7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIEZpbGVSZWFkZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0K
QEAgLTEwMyw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxGaWxlUmVh
ZGVyTG9hZGVyPiBtX2xvYWRlcjsKICAgICBSZWZQdHI8RmlsZUVycm9yPiBtX2Vycm9yOwogICAg
IE1vbm90b25pY1RpbWUgbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lIHsgTW9ub3Rvbmlj
VGltZTo6bmFuKCkgfTsKLSAgICBSZWZQdHI8UGVuZGluZ0FjdGl2aXR5PEZpbGVSZWFkZXI+PiBt
X2xvYWRpbmdBY3Rpdml0eTsKKyAgICBVbmlxdWVSZWY8U3VzcGVuZGFibGVUYXNrUXVldWU+IG1f
dGFza1F1ZXVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAyNzMyMDIy
YmNjZjNjMDc3YTU5ZTgxZTJjZGQ2OWViZTkwNTk4MmIuLmNlM2VjZTg3ZWQyOWI3MGJlZTM0ZDY2
M2FiZWRkNjAwYmNmZDI3ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0xMC0xNyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEZpbGVSZWFkZXIgc2hvdWxk
IG5vdCBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzEwNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3Zl
cmFnZS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9maWxl
cy9maWxlLXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS5odG1sOiBB
ZGRlZC4KKwogMjAxOS0xMC0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBUd28gZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXNjcm9sbCogdGVzdHMg
ZmFpbGluZyBpbiBpT1MgMTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ5ZDg0ZTNkNzQxZTdjODgw
ZTA0NDU2NmRlZmNlODMzZjRjYTM0NzAuLmM4OGZiMTVhZTk5OWI2OWQ0YjFlODljNDZiOWRlNmFj
ZmIzOWFkMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjY0LDYgKzI2NCw3IEBAIHdlYmtpdC5v
cmcvYi8xODgyNDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJv
d3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uLXByb3RvY29sLXNl
dHRlci1ub24tYnJva2VuLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgRmFpbHVyZSBQ
YXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0
b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG9jb2wtc2V0dGVyLW5vbi1i
cm9rZW4td2VpcmQuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1jb3JzLXhoci5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KK2Zhc3Qv
ZmlsZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJkLWNhY2hlLmh0bWwgWyBEdW1wSlNDb25zb2xl
TG9nSW5TdGRFcnIgXQogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY3JlYXRlSW1hZ2VCaXRtYXAu
aHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiAKIHdlYmtpdC5vcmcvYi8yMDI0OTUg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5
LTAwMi50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9maWxlcy9maWxlLXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9maWxlLXJlYWRlci1iYWNrLWZvcndhcmQt
Y2FjaGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NzZjNGZmZjJhMGRlMGRjNzcyZTFjMGUw
YzA4YTg5NzgyM2E2MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorVGVzdHMgdGhhdCBhbiBhY3RpdmUgRmlsZVJlYWRlciB0aGF0IG5vdCBwcmV2ZW50IGVu
dGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNh
Y2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyBy
ZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIFJlY2VpdmVkIGxvYWQgZXZlbnQgYWZ0
ZXIgcmVzdG9yaW5nIGZyb20gdGhlIGNhY2hlCitQQVNTIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQK
K1BBU1Mgc3VjY2Vzc2Z1bHlMb2FkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJkLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ3ZDQ4ZmFlMThmMWIwZmM5NzBjYTZkZDJiODU1NWZkMzY1YmMzOTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNo
ZS5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
QmFja0ZvcndhcmRDYWNoZT10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
Cis8c2NyaXB0PgorbGV0IGZpbGVSZWFkZXI7Citjb25zdCB0ZXN0U3RyaW5nID0gJ3gnLnJlcGVh
dCgxMCAqIDEwMjQpOworbGV0IGRpZFJlc3RvcmVGcm9tQmFja0ZvcndhcmRDYWNoZSA9IGZhbHNl
OworbGV0IHN1Y2Nlc3NmdWx5TG9hZGVkID0gZmFsc2U7CisKK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0g
IiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisg
ICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBl
bnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgZGlk
UmVzdG9yZUZyb21CYWNrRm9yd2FyZENhY2hlID0gdHJ1ZTsKKyAgICB9Cit9LCBmYWxzZSk7CisK
K3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7Cisg
ICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikg
KyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAg
ICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3QgZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKworZnVuY3Rpb24gb25Mb2Fk
KCkKK3sKKyAgICBpZiAoIWRpZFJlc3RvcmVGcm9tQmFja0ZvcndhcmRDYWNoZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgdGVzdFBhc3NlZCgiUmVjZWl2ZWQgbG9hZCBldmVudCBhZnRlciByZXN0
b3JpbmcgZnJvbSB0aGUgY2FjaGUiKTsKKyAgICBzdWNjZXNzZnVseUxvYWRlZCA9IHRydWU7Cit9
CisKK2Z1bmN0aW9uIG9uTG9hZEVuZCgpCit7CisgICAgaWYgKGRpZFJlc3RvcmVGcm9tQmFja0Zv
cndhcmRDYWNoZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJSZWNlaXZlZCBsb2FkZW5kIGV2ZW50
Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bHlMb2FkZWQiKTsKKyAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzZXRUaW1lb3V0
KCgpID0+IHsKKyAgICAgICAgZmlsZVJlYWRlci5yZWFkQXNUZXh0KG5ldyBCbG9iKFt0ZXN0U3Ry
aW5nXSkpOworICAgIH0sIDApOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGRlc2Ny
aXB0aW9uKCJUZXN0cyB0aGF0IGFuIGFjdGl2ZSBGaWxlUmVhZGVyIHRoYXQgbm90IHByZXZlbnQg
ZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4iKTsKKyAgICB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgZmlsZVJlYWRl
ciA9IG5ldyBGaWxlUmVhZGVyKCk7CisgICAgICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIG9uTG9hZCwgZmFsc2UpOworICAgICAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlz
dGVuZXIoImxvYWRlbmQiLCBvbkxvYWRFbmQsIGZhbHNlKTsKKworICAgICAgICBmaWxlUmVhZGVy
LnJlYWRBc1RleHQobmV3IEJsb2IoW3Rlc3RTdHJpbmddKSk7CisKKyAgICAgICAgLy8gRm9yY2Ug
YSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCisgICAgICAgIHdpbmRvdy5sb2Nh
dGlvbi5ocmVmID0gIi4uL2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwi
OworICAgIH0sIDApOworfQorCitvbmxvYWQgPSBydW5UZXN0OworCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381227</attachid>
            <date>2019-10-17 14:12:30 -0700</date>
            <delta_ts>2019-10-17 16:48:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203106-20191017141230.patch</filename>
            <type>text/plain</type>
            <size>15805</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUyYzgwZThjOTRhZDA2
OTNkOTRmMGM4MDQ0ZDBmMmRjMDdhYTc2YS4uYjY2OTllMWZjYjRmNGExMTQyNzFiMzNkZGM2NWQw
YTc4MTBmMzBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEwLTE3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91bGQg
bm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91bGQgbm90
IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4gVG8gc3VwcG9ydCB0aGlz
LAorICAgICAgICBpdHMgaW1wbGVtZW50YXRpb24gbm93IHVzZXMgYSBTdXNwZW5kYWJsZVRhc2tR
dWV1ZSB0byBkaXNwYXRjaCBldmVudHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxl
LXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUuaHRtbAorCisgICAgICAgICogZG9tL0FjdGl2ZURP
TU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVET01PYmplY3Q6OmlzQWxsb3dl
ZFRvUnVuU2NyaXB0IGNvbnN0KToKKyAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0cyk6CisgICAg
ICAgICogZmlsZWFwaS9GaWxlUmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFk
ZXI6OkZpbGVSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6c3RvcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpoYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6cmVhZEludGVybmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OkZpbGVSZWFkZXI6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6
OmRpZFN0YXJ0TG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpkaWRSZWNl
aXZlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6OmRpZEZhaWwpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZVJlYWRlcjo6ZmlyZUV2ZW50KToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFk
ZXIuaDoKKwogMjAxOS0xMC0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIERlcHJlY2F0ZSBBY3RpdmVET01PYmplY3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCAyNDlj
ZGJmYjQ2NTMyNTg2OTY5N2EyZWZkOTUwMmNlZmY2YzI0NWQyLi42MzQ3ZWEyMDQ4MTFkNTRhNDg3
NDQ4ZWZlM2Q3MGZlZjE0YzY1ZDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0
aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0
LmNwcApAQCAtMTI1LDQgKzEyNSw5IEBAIGJvb2wgQWN0aXZlRE9NT2JqZWN0Ojppc0NvbnRleHRT
dG9wcGVkKCkgY29uc3QKICAgICByZXR1cm4gIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSB8fCBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCk7CiB9
CiAKK2Jvb2wgQWN0aXZlRE9NT2JqZWN0Ojppc0FsbG93ZWRUb1J1blNjcmlwdCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSAmJiAhc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hY3RpdmVET01PYmplY3RzQXJlU3RvcHBlZCgpICYmICFzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURP
TU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5oCmluZGV4IDVh
YTU5NTRmN2ZjYjFmMjE0NWZkY2U4OWVhZjdjZTMzM2VhNDgwNDEuLjc2YjVkZTY4YTJjYTQ5MzZh
ODJmNmI0ZTJkZWU2ZTM5YzgwNjRmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0
LmgKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgYm9vbCBpc0NvbnRl
eHRTdG9wcGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc0FsbG93ZWRUb1J1blNjcmlwdCgpIGNvbnN0
OwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQWN0aXZlRE9NT2JqZWN0KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmNwcAppbmRleCBjYTVjNWEyZDA4OTE2NzliODQ3MDYwMWQ2MmI3MmRjZTAzYmQxNDA1Li5i
NmM1ZGUxZWJiNTBkY2VmYTY0MTQ5Y2UzMzZjMDg2MjQxNGE0ZjlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC0zMDEsMTMgKzMwMSwxNCBA
QCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoUmVh
c29uRm9yU3VzcGVuc2lvbiB3aHkpCiAKICAgICBpZiAobV9yZWFzb25Gb3JTdXNwZW5kaW5nQWN0
aXZlRE9NT2JqZWN0cyAhPSB3aHkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2FjdGl2ZURPTU9i
amVjdHNBcmVTdXNwZW5kZWQgPSBmYWxzZTsKIAogICAgIGZvckVhY2hBY3RpdmVET01PYmplY3Qo
W10oYXV0byYgYWN0aXZlRE9NT2JqZWN0KSB7CiAgICAgICAgIGFjdGl2ZURPTU9iamVjdC5yZXN1
bWUoKTsKICAgICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlOjpZZXM7CiAgICAgfSk7CiAKKyAg
ICBtX2FjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQgPSBmYWxzZTsKKwogICAgIC8vIEluIGNh
c2UgdGhlcmUgd2VyZSBwZW5kaW5nIG1lc3NhZ2VzIGF0IHRoZSB0aW1lIHRoZSBzY3JpcHQgZXhl
Y3V0aW9uIGNvbnRleHQgZW50ZXJlZCB0aGUgQmFja0ZvcndhcmRDYWNoZSwKICAgICAvLyBtYWtl
IHN1cmUgdGhvc2UgZ2V0IGRpc3BhdGNoZWQgc2hvcnRseSBhZnRlciByZXN0b3JpbmcgZnJvbSB0
aGUgQmFja0ZvcndhcmRDYWNoZS4KICAgICBwcm9jZXNzTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHNT
b29uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmNwcAppbmRleCA2MjQzOGNkODkw
M2RlM2Q4ZGU0OGM4NDdmYjlmMDg4NDBhODM1NDgwLi44MzU1OTQ5YWM0YWVhNzkyNmMzYjI0M2Ez
MmQ0YTA1YWU1ZTFlMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NF
dmVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJT
dXNwZW5kYWJsZVRhc2tRdWV1ZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVm
ZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CkBAIC01Niw2ICs1Nyw3IEBAIFJlZjxGaWxlUmVhZGVyPiBGaWxlUmVh
ZGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIAogRmlsZVJlYWRl
cjo6RmlsZVJlYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNr
UXVldWU6OmNyZWF0ZSgmY29udGV4dCkpCiB7CiB9CiAKQEAgLTY1LDEyICs2Nyw2IEBAIEZpbGVS
ZWFkZXI6On5GaWxlUmVhZGVyKCkKICAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwogfQogCi0v
LyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3
YXJkIGNhY2hlLgotYm9vbCBGaWxlUmVhZGVyOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9y
d2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAotewotICAgIHJldHVybiBoYXNQZW5kaW5nQWN0
aXZpdHkoKTsKLX0KLQogY29uc3QgY2hhciogRmlsZVJlYWRlcjo6YWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICJGaWxlUmVhZGVyIjsKQEAgLTgzLDcgKzc5LDExIEBA
IHZvaWQgRmlsZVJlYWRlcjo6c3RvcCgpCiAgICAgICAgIG1fbG9hZGVyID0gbnVsbHB0cjsKICAg
ICB9CiAgICAgbV9zdGF0ZSA9IERPTkU7Ci0gICAgbV9sb2FkaW5nQWN0aXZpdHkgPSBudWxscHRy
OworfQorCitib29sIEZpbGVSZWFkZXI6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fdGFza1F1ZXVlLT5oYXNQZW5kaW5nVGFza3MoKSB8fCBtX3N0YXRlID09IExP
QURJTkcgfHwgQWN0aXZlRE9NT2JqZWN0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogRXhj
ZXB0aW9uT3I8dm9pZD4gRmlsZVJlYWRlcjo6cmVhZEFzQXJyYXlCdWZmZXIoQmxvYiogYmxvYikK
QEAgLTEzMyw4ICsxMzMsNiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBGaWxlUmVhZGVyOjpyZWFkSW50
ZXJuYWwoQmxvYiYgYmxvYiwgRmlsZVJlYWRlckxvYWRlcjo6UmVhZFR5cAogICAgIGlmIChtX3N0
YXRlID09IExPQURJTkcpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVF
cnJvciB9OwogCi0gICAgbV9sb2FkaW5nQWN0aXZpdHkgPSBtYWtlUGVuZGluZ0FjdGl2aXR5KCp0
aGlzKTsKLQogICAgIG1fYmxvYiA9ICZibG9iOwogICAgIG1fcmVhZFR5cGUgPSB0eXBlOwogICAg
IG1fc3RhdGUgPSBMT0FESU5HOwpAQCAtMTU3LDEwICsxNTUsOCBAQCB2b2lkIEZpbGVSZWFkZXI6
OmFib3J0KCkKICAgICBtX2Fib3J0aW5nID0gdHJ1ZTsKIAogICAgIC8vIFNjaGVkdWxlIHRvIGhh
dmUgdGhlIGFib3J0IGRvbmUgbGF0ZXIgc2luY2UgYWJvcnQoKSBtaWdodCBiZSBjYWxsZWQgZnJv
bSB0aGUgZXZlbnQgaGFuZGxlciBhbmQgd2UgZG8gbm90IHdhbnQgdGhlIHJlc291cmNlIGxvYWRp
bmcgY29kZSB0byBiZSBpbiB0aGUgc3RhY2suCi0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5wb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpIHsKLSAgICAgICAgaWYgKGlzQ29udGV4dFN0b3BwZWQoKSkKLSAg
ICAgICAgICAgIHJldHVybjsKLQorICAgIG1fdGFza1F1ZXVlLT5jYW5jZWxBbGxUYXNrcygpOwor
ICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10gewogICAgICAgICBBU1NFUlQobV9z
dGF0ZSAhPSBET05FKTsKIAogICAgICAgICBzdG9wKCk7CkBAIC0xNzYsMjAgKzE3MiwyNCBAQCB2
b2lkIEZpbGVSZWFkZXI6OmFib3J0KCkKIAogdm9pZCBGaWxlUmVhZGVyOjpkaWRTdGFydExvYWRp
bmcoKQogewotICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQpOworICAg
IG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10geworICAgICAgICBmaXJlRXZlbnQoZXZl
bnROYW1lcygpLmxvYWRzdGFydEV2ZW50KTsKKyAgICB9KTsKIH0KIAogdm9pZCBGaWxlUmVhZGVy
OjpkaWRSZWNlaXZlRGF0YSgpCiB7Ci0gICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKLSAgICBpZiAoc3RkOjppc25hbihtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUpKSB7
Ci0gICAgICAgIG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZSA9IG5vdzsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBpZiAobm93IC0gbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25U
aW1lID4gcHJvZ3Jlc3NOb3RpZmljYXRpb25JbnRlcnZhbCkgewotICAgICAgICBmaXJlRXZlbnQo
ZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOwotICAgICAgICBtX2xhc3RQcm9ncmVzc05vdGlm
aWNhdGlvblRpbWUgPSBub3c7Ci0gICAgfQorICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhb
dGhpc10geworICAgICAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgICAg
ICBpZiAoc3RkOjppc25hbihtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUpKSB7CisgICAg
ICAgICAgICBtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPSBub3c7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKG5vdyAtIG1fbGFzdFByb2dyZXNzTm90
aWZpY2F0aW9uVGltZSA+IHByb2dyZXNzTm90aWZpY2F0aW9uSW50ZXJ2YWwpIHsKKyAgICAgICAg
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCk7CisgICAgICAgICAgICBt
X2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPSBub3c7CisgICAgICAgIH0KKyAgICB9KTsK
IH0KIAogdm9pZCBGaWxlUmVhZGVyOjpkaWRGaW5pc2hMb2FkaW5nKCkKQEAgLTE5NywxNCArMTk3
LDE0IEBAIHZvaWQgRmlsZVJlYWRlcjo6ZGlkRmluaXNoTG9hZGluZygpCiAgICAgaWYgKG1fYWJv
cnRpbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFTU0VSVChtX3N0YXRlICE9IERPTkUpOwot
ICAgIG1fc3RhdGUgPSBET05FOworICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10g
eworICAgICAgICBBU1NFUlQobV9zdGF0ZSAhPSBET05FKTsKKyAgICAgICAgbV9zdGF0ZSA9IERP
TkU7CiAKLSAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOwotICAgIGZp
cmVFdmVudChldmVudE5hbWVzKCkubG9hZEV2ZW50KTsKLSAgICBmaXJlRXZlbnQoZXZlbnROYW1l
cygpLmxvYWRlbmRFdmVudCk7Ci0gICAgCi0gICAgbV9sb2FkaW5nQWN0aXZpdHkgPSBudWxscHRy
OworICAgICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOworICAgICAg
ICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmxvYWRFdmVudCk7CisgICAgICAgIGZpcmVFdmVudChl
dmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKKyAgICB9KTsKIH0KIAogdm9pZCBGaWxlUmVhZGVy
OjpkaWRGYWlsKGludCBlcnJvckNvZGUpCkBAIC0yMTMsMTggKzIxMywxOSBAQCB2b2lkIEZpbGVS
ZWFkZXI6OmRpZEZhaWwoaW50IGVycm9yQ29kZSkKICAgICBpZiAobV9hYm9ydGluZykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgQVNTRVJUKG1fc3RhdGUgIT0gRE9ORSk7Ci0gICAgbV9zdGF0ZSA9
IERPTkU7CisgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzLCBlcnJvckNvZGVdIHsK
KyAgICAgICAgQVNTRVJUKG1fc3RhdGUgIT0gRE9ORSk7CisgICAgICAgIG1fc3RhdGUgPSBET05F
OwogCi0gICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKHN0YXRpY19jYXN0PEZpbGVFcnJv
cjo6RXJyb3JDb2RlPihlcnJvckNvZGUpKTsKLSAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmVy
cm9yRXZlbnQpOwotICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKLSAg
ICAKLSAgICBtX2xvYWRpbmdBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAgIG1fZXJyb3IgPSBG
aWxlRXJyb3I6OmNyZWF0ZShzdGF0aWNfY2FzdDxGaWxlRXJyb3I6OkVycm9yQ29kZT4oZXJyb3JD
b2RlKSk7CisgICAgICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CisgICAg
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKKyAgICB9KTsKIH0KIAog
dm9pZCBGaWxlUmVhZGVyOjpmaXJlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSkKIHsKKyAg
ICBSRUxFQVNFX0FTU0VSVChpc0FsbG93ZWRUb1J1blNjcmlwdCgpKTsKICAgICBkaXNwYXRjaEV2
ZW50KFByb2dyZXNzRXZlbnQ6OmNyZWF0ZSh0eXBlLCB0cnVlLCBtX2xvYWRlciA/IG1fbG9hZGVy
LT5ieXRlc0xvYWRlZCgpIDogMCwgbV9sb2FkZXIgPyBtX2xvYWRlci0+dG90YWxCeXRlcygpIDog
MCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCmluZGV4IGMwYjdkZjdhYWM2
NzcxYTFlMjc3YTdiMDY0ZmIxNWRkZTc5MGIyMmEuLmViYjhmNWJjNDBmZDUzMWI1Mzc1ZTEwMDcz
ZDc0MzIwNTA0YzYzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJl
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCkBAIC0zNiw2
ICszNiw3IEBACiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiRmlsZVJlYWRlckxv
YWRlci5oIgogI2luY2x1ZGUgIkZpbGVSZWFkZXJMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlIDx3
dGYvVW5pcXVlUmVmLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgQXJyYXlCdWZmZXI7CkBA
IC00NCw2ICs0NSw3IEBAIGNsYXNzIEFycmF5QnVmZmVyOwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBCbG9iOworY2xhc3MgU3VzcGVuZGFibGVUYXNrUXVldWU7CiAKIGNsYXNzIEZpbGVS
ZWFkZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxGaWxlUmVhZGVyPiwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHByaXZhdGUgRmls
ZVJlYWRlckxvYWRlckNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChGaWxlUmVh
ZGVyKTsKQEAgLTc0LDExICs3NiwxNCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6
cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCisgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0LgorICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CisKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgRmlsZVJlYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAK
KyAgICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0Zv
cndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkgZmlu
YWw7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIEZpbGVSZWFkZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0K
QEAgLTEwMyw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxGaWxlUmVh
ZGVyTG9hZGVyPiBtX2xvYWRlcjsKICAgICBSZWZQdHI8RmlsZUVycm9yPiBtX2Vycm9yOwogICAg
IE1vbm90b25pY1RpbWUgbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lIHsgTW9ub3Rvbmlj
VGltZTo6bmFuKCkgfTsKLSAgICBSZWZQdHI8UGVuZGluZ0FjdGl2aXR5PEZpbGVSZWFkZXI+PiBt
X2xvYWRpbmdBY3Rpdml0eTsKKyAgICBVbmlxdWVSZWY8U3VzcGVuZGFibGVUYXNrUXVldWU+IG1f
dGFza1F1ZXVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvQmFja0ZvcndhcmRDYWNoZS5jcHAKaW5kZXggOTM3MzUzZjgzY2NlYmRjNDQyMzg5
YWEyYTQzY2MxYmEzY2RjNzBhNi4uNWZlYzE0MTdhMGYwMTlmODM3ZjBiNmNmZmQ0NTdmZGNjYzEz
ODI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENhY2hl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ2FjaGUuY3BwCkBA
IC01Nyw3ICs1Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2RlZmluZSBQQ0xPRygu
Li4pIExPRyhCYWNrRm9yd2FyZENhY2hlLCAiJSpzJXMiLCBpbmRlbnRMZXZlbCo0LCAiIiwgbWFr
ZVN0cmluZyhfX1ZBX0FSR1NfXykudXRmOCgpLmRhdGEoKSkKKyNkZWZpbmUgUENMT0coLi4uKSBX
VEZMb2dBbHdheXMoIlBhZ2VDYWNoZTogJSpzJXMiLCBpbmRlbnRMZXZlbCo0LCAiIiwgbWFrZVN0
cmluZyhfX1ZBX0FSR1NfXykudXRmOCgpLmRhdGEoKSkKIAogc3RhdGljIGlubGluZSB2b2lkIGxv
Z0JhY2tGb3J3YXJkQ2FjaGVGYWlsdXJlRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQmIGNsaWVudCwgY29uc3QgU3RyaW5nJiByZWFzb24pCiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDI3MzIw
MjJiY2NmM2MwNzdhNTllODFlMmNkZDY5ZWJlOTA1OTgyYi4uY2UzZWNlODdlZDI5YjcwYmVlMzRk
NjYzYWJlZGQ2MDBiY2ZkMjdkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEwLTE3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91
bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNv
dmVyYWdlLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2Zp
bGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJkLWNhY2hlLmh0bWw6
IEFkZGVkLgorCiAyMDE5LTEwLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFR3byBmYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc2Nyb2xsKiB0ZXN0
cyBmYWlsaW5nIGluIGlPUyAxMwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDlkODRlM2Q3NDFlN2M4
ODBlMDQ0NTY2ZGVmY2U4MzNmNGNhMzQ3MC4uYzg4ZmIxNWFlOTk5YjY5ZDRiMWU4OWM0NmI5ZGU2
YWNmYjM5YWQyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNjQsNiArMjY0LDcgQEAgd2Via2l0
Lm9yZy9iLzE4ODI0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmsKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG9jb2wt
c2V0dGVyLW5vbi1icm9rZW4uaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBGYWlsdXJl
IFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hp
c3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXItbm9u
LWJyb2tlbi13ZWlyZC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWNvcnMteGhyLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQorZmFz
dC9maWxlcy9maWxlLXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUuaHRtbCBbIER1bXBKU0NvbnNv
bGVMb2dJblN0ZEVyciBdCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVJbWFnZUJpdG1h
cC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIAogd2Via2l0Lm9yZy9iLzIwMjQ5
NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxp
dHktMDAyLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2Fy
ZC1jYWNoZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2YjMxZjRhM2IwNjllMzFhOThmMDli
OWQ3YWVmMDFkNGEyY2ZiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJkLWNhY2hlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE1IEBACitUZXN0cyB0aGF0IGFuIGFjdGl2ZSBGaWxlUmVhZGVyIHRoYXQgbm90IHByZXZlbnQg
ZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK3BhZ2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcg
Y2FjaGUKK3BhZ2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2Fz
IHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgbG9hZCBldmVudCBh
ZnRlciByZXN0b3JpbmcgZnJvbSB0aGUgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgbG9hZGVuZCBldmVu
dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJk
LWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9y
d2FyZC1jYWNoZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NjgyYWJmMGRhMGIxM2VhZWEyYmQzOTNmMmQ3
MmI0NmU0NTZhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Zp
bGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQmFja0ZvcndhcmRDYWNoZT10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorbGV0IGZpbGVSZWFkZXI7Citj
b25zdCB0ZXN0U3RyaW5nID0gJ3gnLnJlcGVhdCgxMCAqIDEwMjQpOworbGV0IGRpZFJlc3RvcmVG
cm9tQmFja0ZvcndhcmRDYWNoZSA9IGZhbHNlOworbGV0IHN1Y2Nlc3NmdWx5TG9hZGVkID0gZmFs
c2U7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50
KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJu
b3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAg
ICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhl
IHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgZGlkUmVzdG9yZUZyb21CYWNrRm9yd2FyZENhY2hlID0g
dHJ1ZTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdl
aGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChldmVu
dC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBpZiAo
IWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3QgZW50
ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30s
IGZhbHNlKTsKKworZnVuY3Rpb24gb25Mb2FkKCkKK3sKKyAgICBpZiAoIWRpZFJlc3RvcmVGcm9t
QmFja0ZvcndhcmRDYWNoZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdGVzdFBhc3NlZCgiUmVj
ZWl2ZWQgbG9hZCBldmVudCBhZnRlciByZXN0b3JpbmcgZnJvbSB0aGUgY2FjaGUiKTsKKyAgICBz
dWNjZXNzZnVseUxvYWRlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIG9uTG9hZEVuZCgpCit7Cisg
ICAgaWYgKGRpZFJlc3RvcmVGcm9tQmFja0ZvcndhcmRDYWNoZSAmJiBzdWNjZXNzZnVseUxvYWRl
ZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJSZWNlaXZlZCBsb2FkZW5kIGV2ZW50Iik7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2V0VGlt
ZW91dCgoKSA9PiB7CisgICAgICAgIGZpbGVSZWFkZXIucmVhZEFzVGV4dChuZXcgQmxvYihbdGVz
dFN0cmluZ10pKTsKKyAgICB9LCAwKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhbiBhY3RpdmUgRmlsZVJlYWRlciB0aGF0IG5vdCBwcmV2
ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuIik7CisgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGZpbGVS
ZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOworICAgICAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBvbkxvYWQsIGZhbHNlKTsKKyAgICAgICAgZmlsZVJlYWRlci5hZGRFdmVu
dExpc3RlbmVyKCJsb2FkZW5kIiwgb25Mb2FkRW5kLCBmYWxzZSk7CisKKyAgICAgICAgZmlsZVJl
YWRlci5yZWFkQXNUZXh0KG5ldyBCbG9iKFt0ZXN0U3RyaW5nXSkpOworCisgICAgICAgIC8vIEZv
cmNlIGEgYmFjayBuYXZpZ2F0aW9uIGJhY2sgdG8gdGhpcyBwYWdlLgorICAgICAgICB3aW5kb3cu
bG9jYXRpb24uaHJlZiA9ICIuLi9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5o
dG1sIjsKKyAgICB9LCAwKTsKK30KKworb25sb2FkID0gcnVuVGVzdDsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381248</attachid>
            <date>2019-10-17 16:48:23 -0700</date>
            <delta_ts>2019-10-19 16:41:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203106-20191017164822.patch</filename>
            <type>text/plain</type>
            <size>15745</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg1MDQ5MjNjYmViYjg2
MmZhMjQ2NDRkNzZmNTFiNTkzZGU5YjNlZS4uMDQwYzczMTMwNTI1N2NlZmNmODNjYzQ0NjJhYjBh
M2E5ZjQ3YTM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEwLTE3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91bGQg
bm90IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTA2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmlsZVJlYWRlciBzaG91bGQgbm90
IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4gVG8gc3VwcG9ydCB0aGlz
LAorICAgICAgICBpdHMgaW1wbGVtZW50YXRpb24gbm93IHVzZXMgYSBTdXNwZW5kYWJsZVRhc2tR
dWV1ZSB0byBkaXNwYXRjaCBldmVudHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxl
LXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUuaHRtbAorCisgICAgICAgICogZG9tL0FjdGl2ZURP
TU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVET01PYmplY3Q6OmlzQWxsb3dl
ZFRvUnVuU2NyaXB0IGNvbnN0KToKKyAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0cyk6CisgICAg
ICAgICogZmlsZWFwaS9GaWxlUmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFk
ZXI6OkZpbGVSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6c3RvcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpoYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6cmVhZEludGVybmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OkZpbGVSZWFkZXI6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6
OmRpZFN0YXJ0TG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpkaWRSZWNl
aXZlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6OmRpZEZhaWwpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZVJlYWRlcjo6ZmlyZUV2ZW50KToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFk
ZXIuaDoKKwogMjAxOS0xMC0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTEyNTUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01PYmplY3QuY3BwCmluZGV4IDI0OWNkYmZiNDY1MzI1ODY5Njk3YTJlZmQ5NTAyY2Vm
ZjZjMjQ1ZDIuLjYzNDdlYTIwNDgxMWQ1NGE0ODc0NDhlZmUzZDcwZmVmMTRjNjVkNGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwCkBAIC0xMjUsNCArMTI1LDkgQEAgYm9v
bCBBY3RpdmVET01PYmplY3Q6OmlzQ29udGV4dFN0b3BwZWQoKSBjb25zdAogICAgIHJldHVybiAh
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWN0
aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKTsKIH0KIAorYm9vbCBBY3RpdmVET01PYmplY3Q6Omlz
QWxsb3dlZFRvUnVuU2NyaXB0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpICYmICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFjdGl2ZURPTU9iamVjdHNB
cmVTdG9wcGVkKCkgJiYgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWN0aXZlRE9NT2JqZWN0
c0FyZVN1c3BlbmRlZCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggNWFhNTk1NGY3ZmNiMWYyMTQ1ZmRjZTg5ZWFmN2Nl
MzMzZWE0ODA0MS4uNzZiNWRlNjhhMmNhNDkzNmE4MmY2YjRlMmRlZTZlMzljODA2NGZiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuaApAQCAtMTA5LDYgKzEwOSw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKICAgICBib29sIGlzQ29udGV4dFN0b3BwZWQoKSBjb25zdDsKKyAgICBib29s
IGlzQWxsb3dlZFRvUnVuU2NyaXB0KCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNp
dCBBY3RpdmVET01PYmplY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGNhNWM1YTJkMDg5MTY3
OWI4NDcwNjAxZDYyYjcyZGNlMDNiZDE0MDUuLmI2YzVkZTFlYmI1MGRjZWZhNjQxNDljZTMzNmMw
ODYyNDE0YTRmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5jcHAKQEAgLTMwMSwxMyArMzAxLDE0IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0cyhSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIAogICAg
IGlmIChtX3JlYXNvbkZvclN1c3BlbmRpbmdBY3RpdmVET01PYmplY3RzICE9IHdoeSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fYWN0aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCA9IGZhbHNlOwog
CiAgICAgZm9yRWFjaEFjdGl2ZURPTU9iamVjdChbXShhdXRvJiBhY3RpdmVET01PYmplY3QpIHsK
ICAgICAgICAgYWN0aXZlRE9NT2JqZWN0LnJlc3VtZSgpOwogICAgICAgICByZXR1cm4gU2hvdWxk
Q29udGludWU6OlllczsKICAgICB9KTsKIAorICAgIG1fYWN0aXZlRE9NT2JqZWN0c0FyZVN1c3Bl
bmRlZCA9IGZhbHNlOworCiAgICAgLy8gSW4gY2FzZSB0aGVyZSB3ZXJlIHBlbmRpbmcgbWVzc2Fn
ZXMgYXQgdGhlIHRpbWUgdGhlIHNjcmlwdCBleGVjdXRpb24gY29udGV4dCBlbnRlcmVkIHRoZSBC
YWNrRm9yd2FyZENhY2hlLAogICAgIC8vIG1ha2Ugc3VyZSB0aG9zZSBnZXQgZGlzcGF0Y2hlZCBz
aG9ydGx5IGFmdGVyIHJlc3RvcmluZyBmcm9tIHRoZSBCYWNrRm9yd2FyZENhY2hlLgogICAgIHBy
b2Nlc3NNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0c1Nvb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGVSZWFkZXIuY3BwCmluZGV4IDYyNDM4Y2Q4OTAzZGUzZDhkZTQ4Yzg0N2ZiOWYwODg0MGE4MzU0
ODAuLjgzNTU5NDlhYzRhZWE3OTI2YzNiMjQzYTMyZDRhMDVhZTVlMWUzM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9GaWxlUmVhZGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlN1c3BlbmRhYmxlVGFza1F1ZXVlLmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTU2LDYgKzU3
LDcgQEAgUmVmPEZpbGVSZWFkZXI+IEZpbGVSZWFkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KQogCiBGaWxlUmVhZGVyOjpGaWxlUmVhZGVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAg
LCBtX3Rhc2tRdWV1ZShTdXNwZW5kYWJsZVRhc2tRdWV1ZTo6Y3JlYXRlKCZjb250ZXh0KSkKIHsK
IH0KIApAQCAtNjUsMTIgKzY3LDYgQEAgRmlsZVJlYWRlcjo6fkZpbGVSZWFkZXIoKQogICAgICAg
ICBtX2xvYWRlci0+Y2FuY2VsKCk7CiB9CiAKLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBw
cmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCi1ib29sIEZpbGVSZWFkZXI6
OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwotfQotCiBjb25zdCBjaGFyKiBG
aWxlUmVhZGVyOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIkZp
bGVSZWFkZXIiOwpAQCAtODMsNyArNzksMTEgQEAgdm9pZCBGaWxlUmVhZGVyOjpzdG9wKCkKICAg
ICAgICAgbV9sb2FkZXIgPSBudWxscHRyOwogICAgIH0KICAgICBtX3N0YXRlID0gRE9ORTsKLSAg
ICBtX2xvYWRpbmdBY3Rpdml0eSA9IG51bGxwdHI7Cit9CisKK2Jvb2wgRmlsZVJlYWRlcjo6aGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90YXNrUXVldWUtPmhhc1Bl
bmRpbmdUYXNrcygpIHx8IG1fc3RhdGUgPT0gTE9BRElORyB8fCBBY3RpdmVET01PYmplY3Q6Omhh
c1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBGaWxlUmVhZGVyOjpy
ZWFkQXNBcnJheUJ1ZmZlcihCbG9iKiBibG9iKQpAQCAtMTMzLDggKzEzMyw2IEBAIEV4Y2VwdGlv
bk9yPHZvaWQ+IEZpbGVSZWFkZXI6OnJlYWRJbnRlcm5hbChCbG9iJiBibG9iLCBGaWxlUmVhZGVy
TG9hZGVyOjpSZWFkVHlwCiAgICAgaWYgKG1fc3RhdGUgPT0gTE9BRElORykKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBtX2xvYWRpbmdBY3Rp
dml0eSA9IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOwotCiAgICAgbV9ibG9iID0gJmJsb2I7
CiAgICAgbV9yZWFkVHlwZSA9IHR5cGU7CiAgICAgbV9zdGF0ZSA9IExPQURJTkc7CkBAIC0xNTcs
MTAgKzE1NSw4IEBAIHZvaWQgRmlsZVJlYWRlcjo6YWJvcnQoKQogICAgIG1fYWJvcnRpbmcgPSB0
cnVlOwogCiAgICAgLy8gU2NoZWR1bGUgdG8gaGF2ZSB0aGUgYWJvcnQgZG9uZSBsYXRlciBzaW5j
ZSBhYm9ydCgpIG1pZ2h0IGJlIGNhbGxlZCBmcm9tIHRoZSBldmVudCBoYW5kbGVyIGFuZCB3ZSBk
byBub3Qgd2FudCB0aGUgcmVzb3VyY2UgbG9hZGluZyBjb2RlIHRvIGJlIGluIHRoZSBzdGFjay4K
LSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgewotICAgICAg
ICBpZiAoaXNDb250ZXh0U3RvcHBlZCgpKQotICAgICAgICAgICAgcmV0dXJuOwotCisgICAgbV90
YXNrUXVldWUtPmNhbmNlbEFsbFRhc2tzKCk7CisgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNr
KFt0aGlzXSB7CiAgICAgICAgIEFTU0VSVChtX3N0YXRlICE9IERPTkUpOwogCiAgICAgICAgIHN0
b3AoKTsKQEAgLTE3NiwyMCArMTcyLDI0IEBAIHZvaWQgRmlsZVJlYWRlcjo6YWJvcnQoKQogCiB2
b2lkIEZpbGVSZWFkZXI6OmRpZFN0YXJ0TG9hZGluZygpCiB7Ci0gICAgZmlyZUV2ZW50KGV2ZW50
TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCk7CisgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0
aGlzXSB7CisgICAgICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQpOwor
ICAgIH0pOwogfQogCiB2b2lkIEZpbGVSZWFkZXI6OmRpZFJlY2VpdmVEYXRhKCkKIHsKLSAgICBh
dXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIGlmIChzdGQ6OmlzbmFuKG1fbGFz
dFByb2dyZXNzTm90aWZpY2F0aW9uVGltZSkpIHsKLSAgICAgICAgbV9sYXN0UHJvZ3Jlc3NOb3Rp
ZmljYXRpb25UaW1lID0gbm93OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChub3cg
LSBtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPiBwcm9ncmVzc05vdGlmaWNhdGlvbklu
dGVydmFsKSB7Ci0gICAgICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCk7
Ci0gICAgICAgIG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZSA9IG5vdzsKLSAgICB9Cisg
ICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzXSB7CisgICAgICAgIGF1dG8gbm93ID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgICAgIGlmIChzdGQ6OmlzbmFuKG1fbGFzdFByb2dy
ZXNzTm90aWZpY2F0aW9uVGltZSkpIHsKKyAgICAgICAgICAgIG1fbGFzdFByb2dyZXNzTm90aWZp
Y2F0aW9uVGltZSA9IG5vdzsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBpZiAobm93IC0gbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lID4gcHJvZ3Jlc3NOb3Rp
ZmljYXRpb25JbnRlcnZhbCkgeworICAgICAgICAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5w
cm9ncmVzc0V2ZW50KTsKKyAgICAgICAgICAgIG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGlt
ZSA9IG5vdzsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiB2b2lkIEZpbGVSZWFkZXI6OmRpZEZp
bmlzaExvYWRpbmcoKQpAQCAtMTk3LDE0ICsxOTcsMTQgQEAgdm9pZCBGaWxlUmVhZGVyOjpkaWRG
aW5pc2hMb2FkaW5nKCkKICAgICBpZiAobV9hYm9ydGluZykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgQVNTRVJUKG1fc3RhdGUgIT0gRE9ORSk7Ci0gICAgbV9zdGF0ZSA9IERPTkU7CisgICAgbV90
YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzXSB7CisgICAgICAgIEFTU0VSVChtX3N0YXRlICE9
IERPTkUpOworICAgICAgICBtX3N0YXRlID0gRE9ORTsKIAotICAgIGZpcmVFdmVudChldmVudE5h
bWVzKCkucHJvZ3Jlc3NFdmVudCk7Ci0gICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5sb2FkRXZl
bnQpOwotICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKLSAgICAKLSAg
ICBtX2xvYWRpbmdBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAgIGZpcmVFdmVudChldmVudE5h
bWVzKCkucHJvZ3Jlc3NFdmVudCk7CisgICAgICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9h
ZEV2ZW50KTsKKyAgICAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQpOwor
ICAgIH0pOwogfQogCiB2b2lkIEZpbGVSZWFkZXI6OmRpZEZhaWwoaW50IGVycm9yQ29kZSkKQEAg
LTIxMywxOCArMjEzLDE5IEBAIHZvaWQgRmlsZVJlYWRlcjo6ZGlkRmFpbChpbnQgZXJyb3JDb2Rl
KQogICAgIGlmIChtX2Fib3J0aW5nKQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQobV9z
dGF0ZSAhPSBET05FKTsKLSAgICBtX3N0YXRlID0gRE9ORTsKKyAgICBtX3Rhc2tRdWV1ZS0+ZW5x
dWV1ZVRhc2soW3RoaXMsIGVycm9yQ29kZV0geworICAgICAgICBBU1NFUlQobV9zdGF0ZSAhPSBE
T05FKTsKKyAgICAgICAgbV9zdGF0ZSA9IERPTkU7CiAKLSAgICBtX2Vycm9yID0gRmlsZUVycm9y
OjpjcmVhdGUoc3RhdGljX2Nhc3Q8RmlsZUVycm9yOjpFcnJvckNvZGU+KGVycm9yQ29kZSkpOwot
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7Ci0gICAgZmlyZUV2ZW50KGV2
ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQpOwotICAgIAotICAgIG1fbG9hZGluZ0FjdGl2aXR5ID0g
bnVsbHB0cjsKKyAgICAgICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKHN0YXRpY19jYXN0
PEZpbGVFcnJvcjo6RXJyb3JDb2RlPihlcnJvckNvZGUpKTsKKyAgICAgICAgZmlyZUV2ZW50KGV2
ZW50TmFtZXMoKS5lcnJvckV2ZW50KTsKKyAgICAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5s
b2FkZW5kRXZlbnQpOworICAgIH0pOwogfQogCiB2b2lkIEZpbGVSZWFkZXI6OmZpcmVFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlKQogeworICAgIFJFTEVBU0VfQVNTRVJUKGlzQWxsb3dlZFRv
UnVuU2NyaXB0KCkpOwogICAgIGRpc3BhdGNoRXZlbnQoUHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKHR5
cGUsIHRydWUsIG1fbG9hZGVyID8gbV9sb2FkZXItPmJ5dGVzTG9hZGVkKCkgOiAwLCBtX2xvYWRl
ciA/IG1fbG9hZGVyLT50b3RhbEJ5dGVzKCkgOiAwKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyLmgKaW5kZXggYzBiN2RmN2FhYzY3NzFhMWUyNzdhN2IwNjRmYjE1ZGRlNzkwYjIy
YS4uZWJiOGY1YmM0MGZkNTMxYjUzNzVlMTAwNzNkNzQzMjA1MDRjNjNmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGaWxlRXJy
b3IuaCIKICNpbmNsdWRlICJGaWxlUmVhZGVyTG9hZGVyLmgiCiAjaW5jbHVkZSAiRmlsZVJlYWRl
ckxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiBjbGFzcyBBcnJheUJ1ZmZlcjsKQEAgLTQ0LDYgKzQ1LDcgQEAgY2xhc3MgQXJyYXlC
dWZmZXI7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBTdXNwZW5k
YWJsZVRhc2tRdWV1ZTsKIAogY2xhc3MgRmlsZVJlYWRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEZpbGVSZWFkZXI+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJn
ZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBGaWxlUmVhZGVyTG9hZGVyQ2xpZW50IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKEZpbGVSZWFkZXIpOwpAQCAtNzQsMTEgKzc2LDE0IEBAIHB1
YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6
ZGVyZWY7CiAKKyAgICAvLyBBY3RpdmVET01PYmplY3QuCisgICAgYm9vbCBoYXNQZW5kaW5nQWN0
aXZpdHkoKSBjb25zdCBmaW5hbDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBGaWxlUmVhZGVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAorICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAg
ICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9v
bCBzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25z
dCBmaW5hbDsKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKIAogICAgIEV2ZW50VGFyZ2V0SW50ZXJm
YWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRmlsZVJlYWRl
ckV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQpAQCAtMTAzLDcgKzEwOCw3IEBAIHByaXZhdGU6
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEZpbGVSZWFkZXJMb2FkZXI+IG1fbG9hZGVyOwogICAgIFJl
ZlB0cjxGaWxlRXJyb3I+IG1fZXJyb3I7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RQcm9ncmVz
c05vdGlmaWNhdGlvblRpbWUgeyBNb25vdG9uaWNUaW1lOjpuYW4oKSB9OwotICAgIFJlZlB0cjxQ
ZW5kaW5nQWN0aXZpdHk8RmlsZVJlYWRlcj4+IG1fbG9hZGluZ0FjdGl2aXR5OworICAgIFVuaXF1
ZVJlZjxTdXNwZW5kYWJsZVRhc2tRdWV1ZT4gbV90YXNrUXVldWU7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENhY2hlLmNw
cAppbmRleCA5MzczNTNmODNjY2ViZGM0NDIzODlhYTJhNDNjYzFiYTNjZGM3MGE2Li41ZmVjMTQx
N2EwZjAxOWY4MzdmMGI2Y2ZmZDQ1N2ZkY2NjMTM4Mjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDYWNoZS5jcHAKQEAgLTU3LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0jZGVmaW5lIFBDTE9HKC4uLikgTE9HKEJhY2tGb3J3YXJkQ2FjaGUsICIl
KnMlcyIsIGluZGVudExldmVsKjQsICIiLCBtYWtlU3RyaW5nKF9fVkFfQVJHU19fKS51dGY4KCku
ZGF0YSgpKQorI2RlZmluZSBQQ0xPRyguLi4pIFdURkxvZ0Fsd2F5cygiUGFnZUNhY2hlOiAlKnMl
cyIsIGluZGVudExldmVsKjQsICIiLCBtYWtlU3RyaW5nKF9fVkFfQVJHU19fKS51dGY4KCkuZGF0
YSgpKQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbG9nQmFja0ZvcndhcmRDYWNoZUZhaWx1cmVEaWFn
bm9zdGljTWVzc2FnZShEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCYgY2xpZW50LCBjb25zdCBTdHJp
bmcmIHJlYXNvbikKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZWIwOGVhZmZhM2Q1MmQ4NjAxNDkwZjIwNTZlNDhkNGIy
YjM1ODM2Li5hMTExMWU5NThkMjBiMzNjZmMxOWRjNTI4ODcxMTRlMTc3NjJkMzExIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTktMTAtMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBGaWxlUmVhZGVyIHNob3VsZCBub3QgcHJldmVudCBlbnRlcmluZyB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDMxMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJk
LWNhY2hlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxlcy9maWxlLXJl
YWRlci1iYWNrLWZvcndhcmQtY2FjaGUuaHRtbDogQWRkZWQuCisKIDIwMTktMTAtMTcgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTGFuZCBhIG1pc3Np
bmcgdGVzdCBiYXNlbGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggY2MyYmJiMjJmMTEyYTI5NmJl
YjliYTEzMzM1MjIzNjFkMjJiNTM2NS4uYjY3MTQzOGExODY0N2YwODM2ZTVhYTBiMDY1ODcxZTk5
NzhjZThmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNjQsNiArMjY0LDcgQEAgd2Via2l0Lm9y
Zy9iLzE4ODI0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmsKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG9jb2wtc2V0
dGVyLW5vbi1icm9rZW4uaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBGYWlsdXJlIFBh
c3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3Rv
cnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXItbm9uLWJy
b2tlbi13ZWlyZC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWNvcnMteGhyLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQorZmFzdC9m
aWxlcy9maWxlLXJlYWRlci1iYWNrLWZvcndhcmQtY2FjaGUuaHRtbCBbIER1bXBKU0NvbnNvbGVM
b2dJblN0ZEVyciBdCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVJbWFnZUJpdG1hcC5o
dG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIAogd2Via2l0Lm9yZy9iLzIwMjQ5NSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHkt
MDAyLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2FyZC1j
YWNoZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2YjMxZjRhM2IwNjllMzFhOThmMDliOWQ3
YWVmMDFkNGEyY2ZiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMv
ZmlsZS1yZWFkZXItYmFjay1mb3J3YXJkLWNhY2hlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1
IEBACitUZXN0cyB0aGF0IGFuIGFjdGl2ZSBGaWxlUmVhZGVyIHRoYXQgbm90IHByZXZlbnQgZW50
ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK3BhZ2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2Fj
aGUKK3BhZ2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJl
c3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgbG9hZCBldmVudCBhZnRl
ciByZXN0b3JpbmcgZnJvbSB0aGUgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgbG9hZGVuZCBldmVudAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1yZWFkZXItYmFjay1mb3J3YXJkLWNh
Y2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWJhY2stZm9yd2Fy
ZC1jYWNoZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NjgyYWJmMGRhMGIxM2VhZWEyYmQzOTNmMmQ3MmI0
NmU0NTZhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUt
cmVhZGVyLWJhY2stZm9yd2FyZC1jYWNoZS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQmFja0ZvcndhcmRDYWNoZT10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorbGV0IGZpbGVSZWFkZXI7Citjb25z
dCB0ZXN0U3RyaW5nID0gJ3gnLnJlcGVhdCgxMCAqIDEwMjQpOworbGV0IGRpZFJlc3RvcmVGcm9t
QmFja0ZvcndhcmRDYWNoZSA9IGZhbHNlOworbGV0IHN1Y2Nlc3NmdWx5TG9hZGVkID0gZmFsc2U7
CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7
CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3Qg
IikgKyAiZnJvbSBjYWNoZSIpOworCisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAg
ICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBh
Z2UgY2FjaGUiKTsKKyAgICAgICAgZGlkUmVzdG9yZUZyb21CYWNrRm9yd2FyZENhY2hlID0gdHJ1
ZTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlk
ZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChldmVudC5w
ZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBpZiAoIWV2
ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3QgZW50ZXIg
dGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZh
bHNlKTsKKworZnVuY3Rpb24gb25Mb2FkKCkKK3sKKyAgICBpZiAoIWRpZFJlc3RvcmVGcm9tQmFj
a0ZvcndhcmRDYWNoZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdGVzdFBhc3NlZCgiUmVjZWl2
ZWQgbG9hZCBldmVudCBhZnRlciByZXN0b3JpbmcgZnJvbSB0aGUgY2FjaGUiKTsKKyAgICBzdWNj
ZXNzZnVseUxvYWRlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIG9uTG9hZEVuZCgpCit7CisgICAg
aWYgKGRpZFJlc3RvcmVGcm9tQmFja0ZvcndhcmRDYWNoZSAmJiBzdWNjZXNzZnVseUxvYWRlZCkg
eworICAgICAgICB0ZXN0UGFzc2VkKCJSZWNlaXZlZCBsb2FkZW5kIGV2ZW50Iik7CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2V0VGltZW91
dCgoKSA9PiB7CisgICAgICAgIGZpbGVSZWFkZXIucmVhZEFzVGV4dChuZXcgQmxvYihbdGVzdFN0
cmluZ10pKTsKKyAgICB9LCAwKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBhbiBhY3RpdmUgRmlsZVJlYWRlciB0aGF0IG5vdCBwcmV2ZW50
IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuIik7CisgICAgd2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGZpbGVSZWFk
ZXIgPSBuZXcgRmlsZVJlYWRlcigpOworICAgICAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBvbkxvYWQsIGZhbHNlKTsKKyAgICAgICAgZmlsZVJlYWRlci5hZGRFdmVudExp
c3RlbmVyKCJsb2FkZW5kIiwgb25Mb2FkRW5kLCBmYWxzZSk7CisKKyAgICAgICAgZmlsZVJlYWRl
ci5yZWFkQXNUZXh0KG5ldyBCbG9iKFt0ZXN0U3RyaW5nXSkpOworCisgICAgICAgIC8vIEZvcmNl
IGEgYmFjayBuYXZpZ2F0aW9uIGJhY2sgdG8gdGhpcyBwYWdlLgorICAgICAgICB3aW5kb3cubG9j
YXRpb24uaHJlZiA9ICIuLi9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1s
IjsKKyAgICB9LCAwKTsKK30KKworb25sb2FkID0gcnVuVGVzdDsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>