<?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>214123</bug_id>
          
          <creation_ts>2020-07-08 22:32:51 -0700</creation_ts>
          <short_desc>After a scroll gesture, content changes don&apos;t trigger re-snapping with scroll snap</short_desc>
          <delta_ts>2020-07-09 13:01:58 -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>Scrolling</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670015</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-07-08 22:32:51 -0700</bug_when>
    <thetext>After a scroll gesture, content changes don&apos;t trigger re-snapping with scroll snap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670018</commentid>
    <comment_count>1</comment_count>
      <attachid>403845</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-07-08 22:39:07 -0700</bug_when>
    <thetext>Created attachment 403845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670019</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-08 22:39:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/65257228&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670153</commentid>
    <comment_count>3</comment_count>
      <attachid>403882</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-07-09 10:01:11 -0700</bug_when>
    <thetext>Created attachment 403882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670160</commentid>
    <comment_count>4</comment_count>
      <attachid>403884</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-07-09 10:10:20 -0700</bug_when>
    <thetext>Created attachment 403884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670240</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-09 13:01:57 -0700</bug_when>
    <thetext>Committed r264190: &lt;https://trac.webkit.org/changeset/264190&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403884.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403845</attachid>
            <date>2020-07-08 22:39:07 -0700</date>
            <delta_ts>2020-07-09 10:01:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214123-20200708223906.patch</filename>
            <type>text/plain</type>
            <size>22157</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjYyZDJlMmZjN2I3Y2E5
MDYyOTYyMWU2N2UzYTk5YjFjMTg3OTE1Zi4uNWYwMDgyNWE0NDU5Y2U4MjFmM2VmZTA0MDY3NGM1
ZjFlOTZlMjlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA3LTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFmdGVyIGEgc2Ny
b2xsIGdlc3R1cmUsIGNvbnRlbnQgY2hhbmdlcyBkb24ndCB0cmlnZ2VyIHJlLXNuYXBwaW5nIHdp
dGggc2Nyb2xsIHNuYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNjcm9sbENvbnRyb2xsZXI6Om1faW5TY3JvbGxHZXN0dXJlIGNvdWxkIGdldCBzdHVj
ayBhcyB0cnVlIGFmdGVyIGEgc2Nyb2xsIGdlc3R1cmUsIGJlY2F1c2UKKyAgICAgICAgU2Nyb2xs
QW5pbWF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnQoKSBkaWRuJ3QgcmVsaWFibHkgY2FsbCBtX3Nj
cm9sbENvbnRyb2xsZXIuaGFuZGxlV2hlZWxFdmVudCgpIGZvcgorICAgICAgICB0aGUgZXZlbnQg
ZXZlbnQgYmFzZWQgb24gdGhlIGhva2V5IHNob3VsZEZvcndhcmRXaGVlbEV2ZW50c1RvUGFyZW50
KCkgY29kZS4KKworICAgICAgICBGaXggYnkgZXhwbGljaXRseSBjYWxsaW5nIG1fc2Nyb2xsQ29u
dHJvbGxlci51cGRhdGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKCkgd2hpY2ggbWFpbnRhaW5zCisg
ICAgICAgIG1faW5TY3JvbGxHZXN0dXJlLgorCisgICAgICAgIFdoZW4gbV9pblNjcm9sbEdlc3R1
cmUgd2FzIHN0dWNrIGFzIHRydWUsIFNjcm9sbGFibGVBcmVhOjp1cGRhdGVTY3JvbGxTbmFwU3Rh
dGUoKSB3b3VsZCByZXR1cm4gZWFybHkKKyAgICAgICAgYmVjYXVzZSBpc1Njcm9sbFNuYXBJblBy
b2dyZXNzKCkgd291bGQgcmV0dXJuIHRydWUuIEluIGFkZGl0aW9uLAorICAgICAgICBTY3JvbGxD
b250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgd2FzIGEgbGllIGZvciBub24tc2Ny
b2xsLXNuYXBwaW5nIHNjcm9sbGFibGUgYXJlYXMsIHNvCisgICAgICAgIGV4cGxpY2l0bHkgY2hl
Y2sgZm9yIHNuYXAgcG9pbnRzIHRoZXJlLCB1c2luZyBhbiBleHBsaWNpdCB1c2VzU2Nyb2xsU25h
cCgpIGZ1bmN0aW9uLgorCisgICAgICAgIFJlbmFtZSBzb21lIFdoZWVsRXZlbnRTdGF0dXMgdmFs
dWVzIHRvIHVzZSAibW9tZW50dW0iIHJhdGhlciB0aGFuICJpbmVydGlhIi4KKworICAgICAgICBU
ZXN0OiBmYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUu
aHRtbAorCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnVzZXNTY3JvbGxTbmFwIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjp1cGRhdGVTY3JvbGxTbmFwU3RhdGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
U2Nyb2xsQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpoYW5kbGVXaGVl
bEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnVzZXNTY3JvbGxT
bmFwIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmlzU2Nyb2xs
U25hcEluUHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxl
cjo6c25hcFJ1YmJlckJhbmQpOgorICAgICAgICAoV2ViQ29yZTo6dG9XaGVlbEV2ZW50U3RhdHVz
KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQ29udHJvbGxlcjo6c2hvdWxkT3ZlcnJpZGVNb21lbnR1bVNjcm9sbGluZyBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9s
bFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c3RhdGVsZXNzU25h
cFRyYW5zaXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xs
ZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxDb250cm9sbGVyOjp1cGRhdGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjcm9sbFNuYXBUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4
aXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c2V0QWN0aXZl
U2Nyb2xsU25hcEluZGV4Rm9yQXhpcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9s
bGVyOjpzZXROZWFyZXN0U2Nyb2xsU25hcEluZGV4Rm9yQXhpc0FuZE9mZnNldCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzZXRBY3RpdmVTY3JvbGxTbmFwSW5kaWNlc0Zv
ck9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzaG91bGRPdmVy
cmlkZUluZXJ0aWFsU2Nyb2xsaW5nIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvck1hYzo6aGFuZGxlV2hlZWxFdmVudCk6CisKIDIwMjAtMDctMDggIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgU2Nyb2xsYWJsZUFyZWEg
dG8gYXNrIGlmIGEgdXNlciBzY3JvbGwgaXMgaW4gcHJvZ3Jlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCA1ZTQxYWFhMDk5NGQ2MzJmMWQ5MTBmYjMw
MThmYjU1MWEyYTNmM2ExLi41Y2QyOTdjZjg2NTA2YThiODI5M2Y0ODA1YzAxMGIyMGJmODdkYmNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC01MzYs
NiArNTM2LDExIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNsZWFyVmVydGljYWxTbmFwT2Zmc2V0
cygpCiAgICAgbV9jdXJyZW50VmVydGljYWxTbmFwUG9pbnRJbmRleCA9IDA7CiB9CiAKK2Jvb2wg
U2Nyb2xsYWJsZUFyZWE6OnVzZXNTY3JvbGxTbmFwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gISFt
X3NuYXBPZmZzZXRzSW5mbzsKK30KKwogSW50UG9pbnQgU2Nyb2xsYWJsZUFyZWE6Om5lYXJlc3RB
Y3RpdmVTbmFwUG9pbnQoY29uc3QgSW50UG9pbnQmIGN1cnJlbnRQb3NpdGlvbikKIHsKICAgICBp
ZiAoIWhvcml6b250YWxTbmFwT2Zmc2V0cygpICYmICF2ZXJ0aWNhbFNuYXBPZmZzZXRzKCkpCkBA
IC01NzAsNiArNTc1LDkgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6dXBkYXRlU2Nyb2xsU25hcFN0
YXRlKCkKICAgICBpZiAoU2Nyb2xsQW5pbWF0b3IqIHNjcm9sbEFuaW1hdG9yID0gZXhpc3RpbmdT
Y3JvbGxBbmltYXRvcigpKQogICAgICAgICBzY3JvbGxBbmltYXRvci0+dXBkYXRlU2Nyb2xsU25h
cFN0YXRlKCk7CiAKKyAgICBpZiAoIXVzZXNTY3JvbGxTbmFwKCkpCisgICAgICAgIHJldHVybjsK
KwogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxTbmFwLCBzdHJlYW0gPDwgKnRoaXMgPDwgIiB1
cGRhdGVTY3JvbGxTbmFwU3RhdGU6IGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MgIiA8PCBpc1Njcm9s
bFNuYXBJblByb2dyZXNzKCkgPDwgIiBpc1VzZXJTY3JvbGxJblByb2dyZXNzICIgPDwgaXNVc2Vy
U2Nyb2xsSW5Qcm9ncmVzcygpKTsKIAogICAgIGlmIChpc1Njcm9sbFNuYXBJblByb2dyZXNzKCkg
fHwgaXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmgKaW5kZXggOGI0NDFhM2YzODY1N2JiYmZjZjIxZGJhOWUwYWNhZjgyZjYxNDJk
Zi4uNmFlZTlhYzhhZTNhMzIxMjNmMzg1MDA3YzI1YTliZTQ1NmY4YzhlOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC04OCw2ICs4OCw4IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKTsKIAorICAgIGJvb2wgdXNlc1Njcm9sbFNuYXAoKSBjb25zdDsKKwogI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgVmVjdG9y
PExheW91dFVuaXQ+KiBob3Jpem9udGFsU25hcE9mZnNldHMoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCBjb25zdCBWZWN0b3I8TGF5b3V0VW5pdD4qIHZlcnRpY2FsU25hcE9mZnNldHMoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIuaAppbmRleCBkOWZmNmU4YjNkYzY4MWY5MzU0MzA1YTE2NjA1ZjdjZjc0NGU2Y2E0Li41MmYy
OTUzMWMzNjg4Yjg2ZDUzZDE4ZDljOTc4ZDcyYTUyNDUwZThiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCkBAIC0xMTksOSArMTE5LDkg
QEAgZW51bSBjbGFzcyBXaGVlbEV2ZW50U3RhdHVzIHsKICAgICBVc2VyU2Nyb2xsQmVnaW4sCiAg
ICAgVXNlclNjcm9sbGluZywKICAgICBVc2VyU2Nyb2xsRW5kLAotICAgIEluZXJ0aWFsU2Nyb2xs
QmVnaW4sCi0gICAgSW5lcnRpYWxTY3JvbGxpbmcsCi0gICAgSW5lcnRpYWxTY3JvbGxFbmQsCisg
ICAgTW9tZW50dW1TY3JvbGxCZWdpbiwKKyAgICBNb21lbnR1bVNjcm9sbGluZywKKyAgICBNb21l
bnR1bVNjcm9sbEVuZCwKICAgICBTdGF0ZWxlc3NTY3JvbGxFdmVudCwKICAgICBVbmtub3duCiB9
OwpAQCAtMTM3LDYgKzEzNyw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAjZW5kaWYKIAorICAgIGJvb2wgdXNlc1Njcm9s
bFNuYXAoKSBjb25zdDsKKwogICAgIGJvb2wgaXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0
OwogICAgIGJvb2wgaXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0OwogICAgIGJvb2wgaXNT
Y3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0OwpAQCAtMTQ5LDYgKzE1MSw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFNjcm9sbFNuYXBJbmRleERpZENoYW5nZShib29sIHN0YXRlKSB7IG1fYWN0
aXZlU2Nyb2xsU25hcEluZGV4RGlkQ2hhbmdlID0gc3RhdGU7IH0KICAgICB1bnNpZ25lZCBhY3Rp
dmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcykgY29uc3Q7CiAgICAgdm9p
ZCB1cGRhdGVTY3JvbGxTbmFwU3RhdGUoY29uc3QgU2Nyb2xsYWJsZUFyZWEmKTsKKworICAgIHZv
aWQgdXBkYXRlR2VzdHVyZUluUHJvZ3Jlc3NTdGF0ZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
KTsKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBib29sIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Ny
b2xsU25hcChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKICNlbmRpZgpAQCAtMTc5LDcgKzE4
NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydFNjcm9sbFNuYXBUaW1lcigpOwogICAgIHZv
aWQgc3RvcFNjcm9sbFNuYXBUaW1lcigpOwogCi0gICAgYm9vbCBzaG91bGRPdmVycmlkZUluZXJ0
aWFsU2Nyb2xsaW5nKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRPdmVycmlkZU1vbWVudHVtU2Ny
b2xsaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyRmly
ZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAx
ODI2NDAyMTBkYzdiMjUzODFlZTAzMTc3YTE3OWE3YTY3ZWY1MjU0Li5mZmVjNDQ1NDRiZDI2Yzk4
MzAyNDI3N2I1ZjFhMjFlMzAxMGUwZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTEzNyw3ICsxMzcsNiBAQCBib29sIFNj
cm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiB3aGVlbEV2ZW50KQogICAgICAgICBpZiAoZGlyZWN0aW9uICYmIG1fY2xpZW50LnBpbm5lZElu
RGlyZWN0aW9uKEZsb2F0U2l6ZSgwLCAtd2hlZWxFdmVudC5kZWx0YVkoKSkpICYmICFzaG91bGRS
dWJiZXJCYW5kSW5EaXJlY3Rpb24oZGlyZWN0aW9uLnZhbHVlKCkpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgICAgIG1faW5TY3JvbGxHZXN0dXJlID0gdHJ1ZTsKICAgICAgICAg
bV9tb21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MgPSBmYWxzZTsKICAgICAgICAgbV9pZ25vcmVNb21l
bnR1bVNjcm9sbHMgPSBmYWxzZTsKICAgICAgICAgbV9sYXN0TW9tZW50dW1TY3JvbGxUaW1lc3Rh
bXAgPSB7IH07CkBAIC00NTUsNiArNDU0LDE1IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c25h
cFJ1YmJlckJhbmRUaW1lckZpcmVkKCkKIH0KICNlbmRpZgogCitib29sIFNjcm9sbENvbnRyb2xs
ZXI6OnVzZXNTY3JvbGxTbmFwKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQ
KQorICAgIHJldHVybiAhIW1fc2Nyb2xsU25hcFN0YXRlOworI2Vsc2UKKyAgICByZXR1cm4gZmFs
c2U7CisjZW5kaWYKK30KKwogYm9vbCBTY3JvbGxDb250cm9sbGVyOjppc1VzZXJTY3JvbGxJblBy
b2dyZXNzKCkgY29uc3QKIHsKICNpZiBQTEFURk9STShNQUMpCkBAIC00NzgsNiArNDg2LDkgQEAg
Ym9vbCBTY3JvbGxDb250cm9sbGVyOjppc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3QKIAog
Ym9vbCBTY3JvbGxDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIHsK
KyAgICBpZiAoIXVzZXNTY3JvbGxTbmFwKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9pblNj
cm9sbEdlc3R1cmUgfHwgbV9tb21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MgfHwgbV9zY3JvbGxTbmFw
VGltZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNTE3LDggKzUyOCw2IEBAIHZvaWQgU2Ny
b2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmQoKQogICAgIGlmIChtX2xhc3RNb21lbnR1bVNj
cm9sbFRpbWVzdGFtcCAmJiB0aW1lRGVsdGEgPj0gc2Nyb2xsVmVsb2NpdHlaZXJvaW5nVGltZW91
dCkKICAgICAgICAgbV9tb21lbnR1bVZlbG9jaXR5ID0geyB9OwogCi0gICAgbV9pblNjcm9sbEdl
c3R1cmUgPSBmYWxzZTsKLQogICAgIGlmIChtX3NuYXBSdWJiZXJiYW5kVGltZXIpCiAgICAgICAg
IHJldHVybjsKIApAQCAtNTUzLDEzICs1NjIsMTMgQEAgc3RhdGljIGlubGluZSBXaGVlbEV2ZW50
U3RhdHVzIHRvV2hlZWxFdmVudFN0YXR1cyhQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZSwK
ICAgICBpZiAocGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKSB7CiAgICAgICAg
IHN3aXRjaCAobW9tZW50dW1QaGFzZSkgewogICAgICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQmVnYW46Ci0gICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudFN0YXR1czo6SW5lcnRp
YWxTY3JvbGxCZWdpbjsKKyAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50U3RhdHVzOjpNb21l
bnR1bVNjcm9sbEJlZ2luOwogICAgICAgICAgICAgICAgIAogICAgICAgICBjYXNlIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoKLSAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50U3Rh
dHVzOjpJbmVydGlhbFNjcm9sbGluZzsKKyAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50U3Rh
dHVzOjpNb21lbnR1bVNjcm9sbGluZzsKICAgICAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkOgotICAgICAgICAgICAgcmV0dXJuIFdoZWVsRXZl
bnRTdGF0dXM6OkluZXJ0aWFsU2Nyb2xsRW5kOworICAgICAgICAgICAgcmV0dXJuIFdoZWVsRXZl
bnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsRW5kOwogCiAgICAgICAgIGNhc2UgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2VOb25lOgogICAgICAgICAgICAgcmV0dXJuIFdoZWVsRXZlbnRTdGF0dXM6OlN0
YXRlbGVzc1Njcm9sbEV2ZW50OwpAQCAtNTk1LDkgKzYwNCw5IEBAIHN0YXRpYyBUZXh0U3RyZWFt
JiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBXaGVlbEV2ZW50U3RhdHVzIHN0YXR1cykKICAg
ICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OlVzZXJTY3JvbGxCZWdpbjogdHMgPDwgIlVzZXJTY3Jv
bGxCZWdpbiI7IGJyZWFrOwogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6VXNlclNjcm9sbGlu
ZzogdHMgPDwgIlVzZXJTY3JvbGxpbmciOyBicmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0
dXM6OlVzZXJTY3JvbGxFbmQ6IHRzIDw8ICJVc2VyU2Nyb2xsRW5kIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbEJlZ2luOiB0cyA8PCAiSW5lcnRpYWxT
Y3JvbGxCZWdpbiI7IGJyZWFrOwotICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6SW5lcnRpYWxT
Y3JvbGxpbmc6IHRzIDw8ICJJbmVydGlhbFNjcm9sbGluZyI7IGJyZWFrOwotICAgIGNhc2UgV2hl
ZWxFdmVudFN0YXR1czo6SW5lcnRpYWxTY3JvbGxFbmQ6IHRzIDw8ICJJbmVydGlhbFNjcm9sbEVu
ZCI7IGJyZWFrOworICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1TY3JvbGxCZWdp
bjogdHMgPDwgIk1vbWVudHVtU2Nyb2xsQmVnaW4iOyBicmVhazsKKyAgICBjYXNlIFdoZWVsRXZl
bnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsaW5nOiB0cyA8PCAiTW9tZW50dW1TY3JvbGxpbmciOyBi
cmVhazsKKyAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsRW5kOiB0cyA8
PCAiTW9tZW50dW1TY3JvbGxFbmQiOyBicmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6
OlN0YXRlbGVzc1Njcm9sbEV2ZW50OiB0cyA8PCAiU3RhdGVsZXNzU2Nyb2xsRXZlbnQiOyBicmVh
azsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OlVua25vd246IHRzIDw8ICJVbmtub3duIjsg
YnJlYWs7CiAgICAgfQpAQCAtNjA1LDkgKzYxNCw5IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBXaGVlbEV2ZW50U3RhdHVzIHN0YXR1cykKIH0KICNlbmRp
ZgogCi1ib29sIFNjcm9sbENvbnRyb2xsZXI6OnNob3VsZE92ZXJyaWRlSW5lcnRpYWxTY3JvbGxp
bmcoKSBjb25zdAorYm9vbCBTY3JvbGxDb250cm9sbGVyOjpzaG91bGRPdmVycmlkZU1vbWVudHVt
U2Nyb2xsaW5nKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlm
ICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgU2Nyb2xs
U25hcFN0YXRlIHNjcm9sbFNuYXBTdGF0ZSA9IG1fc2Nyb2xsU25hcFN0YXRlLT5jdXJyZW50U3Rh
dGUoKTsKQEAgLTYyMSw3ICs2MzAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxl
U3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIG1fc3RhdGVsZXNzU25hcFRyYW5zaXRpb25U
aW1lci0+c3RvcCgpOwogICAgICAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIgPSBu
dWxscHRyOwogICAgIH0KLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlmICghdXNl
c1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gNzUwX21zOwpAQCAtNjM2LDcgKzY0NSw3IEBA
IHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhdGVsZXNzU25hcFRyYW5zaXRpb25UaW1lckZpcmVk
KCkKIHsKICAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIgPSBudWxscHRyOwogCi0g
ICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0ZSkKKyAgICBpZiAoIXVzZXNTY3JvbGxTbmFwKCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIG1fc2Nyb2xsU25hcFN0YXRlLT50cmFuc2l0aW9uVG9TbmFw
QW5pbWF0aW9uU3RhdGUobV9jbGllbnQuc2Nyb2xsRXh0ZW50KCksIG1fY2xpZW50LnZpZXdwb3J0
U2l6ZSgpLCBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3IoKSwgbV9jbGllbnQuc2Nyb2xsT2Zmc2V0
KCkpOwpAQCAtNjU1LDE3ICs2NjQsMTcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdG9wRGVm
ZXJyaW5nV2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRHVlVG9TY3JvbGxTbmFwcGluZygKIAogYm9v
bCBTY3JvbGxDb250cm9sbGVyOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewotICAgIGlmICghbV9zY3JvbGxTbmFw
U3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgIGlmIChtX3Njcm9sbFNuYXBTdGF0ZS0+c25hcE9mZnNldHNGb3JBeGlzKFNjcm9sbEV2
ZW50QXhpczo6SG9yaXpvbnRhbCkuaXNFbXB0eSgpICYmIG1fc2Nyb2xsU25hcFN0YXRlLT5zbmFw
T2Zmc2V0c0ZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCkuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIFdoZWVsRXZlbnRTdGF0dXMgc3RhdHVzID0gdG9XaGVl
bEV2ZW50U3RhdHVzKHdoZWVsRXZlbnQucGhhc2UoKSwgd2hlZWxFdmVudC5tb21lbnR1bVBoYXNl
KCkpOworICAgIGF1dG8gc3RhdHVzID0gdG9XaGVlbEV2ZW50U3RhdHVzKHdoZWVsRXZlbnQucGhh
c2UoKSwgd2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkpOwogCiAgICAgTE9HX1dJVEhfU1RSRUFN
KFNjcm9sbFNuYXAsIHN0cmVhbSA8PCAiU2Nyb2xsQ29udHJvbGxlciAiIDw8IHRoaXMgPDwgIiBw
cm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXA6IHN0YXR1cyAiIDw8IHN0YXR1cyk7CiAKLSAg
ICBib29sIGlzSW5lcnRpYWxTY3JvbGxpbmcgPSBmYWxzZTsKKyAgICBib29sIGlzTW9tZW50dW1T
Y3JvbGxpbmcgPSBmYWxzZTsKICAgICBzd2l0Y2ggKHN0YXR1cykgewogICAgIGNhc2UgV2hlZWxF
dmVudFN0YXR1czo6VXNlclNjcm9sbEJlZ2luOgogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6
VXNlclNjcm9sbGluZzoKQEAgLTY3NywxNCArNjg2LDE0IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxl
cjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYKICAgICAgICAgbV9zY3JvbGxTbmFwU3RhdGUtPnRyYW5zaXRpb25Ub1NuYXBBbmltYXRpb25T
dGF0ZShtX2NsaWVudC5zY3JvbGxFeHRlbnQoKSwgbV9jbGllbnQudmlld3BvcnRTaXplKCksIG1f
Y2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpLCBtX2NsaWVudC5zY3JvbGxPZmZzZXQoKSk7CiAgICAg
ICAgIHN0YXJ0U2Nyb2xsU25hcFRpbWVyKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2hl
ZWxFdmVudFN0YXR1czo6SW5lcnRpYWxTY3JvbGxCZWdpbjoKKyAgICBjYXNlIFdoZWVsRXZlbnRT
dGF0dXM6Ok1vbWVudHVtU2Nyb2xsQmVnaW46CiAgICAgICAgIG1fc2Nyb2xsU25hcFN0YXRlLT50
cmFuc2l0aW9uVG9HbGlkZUFuaW1hdGlvblN0YXRlKG1fY2xpZW50LnNjcm9sbEV4dGVudCgpLCBt
X2NsaWVudC52aWV3cG9ydFNpemUoKSwgbV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCksIG1fY2xp
ZW50LnNjcm9sbE9mZnNldCgpLCBtX2RyYWdFbmRlZFNjcm9sbGluZ1ZlbG9jaXR5LCBGbG9hdFNp
emUoLXdoZWVsRXZlbnQuZGVsdGFYKCksIC13aGVlbEV2ZW50LmRlbHRhWSgpKSk7CiAgICAgICAg
IG1fZHJhZ0VuZGVkU2Nyb2xsaW5nVmVsb2NpdHkgPSB7IH07Ci0gICAgICAgIGlzSW5lcnRpYWxT
Y3JvbGxpbmcgPSB0cnVlOworICAgICAgICBpc01vbWVudHVtU2Nyb2xsaW5nID0gdHJ1ZTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbGlu
ZzoKLSAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OkluZXJ0aWFsU2Nyb2xsRW5kOgotICAgICAg
ICBpc0luZXJ0aWFsU2Nyb2xsaW5nID0gdHJ1ZTsKKyAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6
Ok1vbWVudHVtU2Nyb2xsaW5nOgorICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1T
Y3JvbGxFbmQ6CisgICAgICAgIGlzTW9tZW50dW1TY3JvbGxpbmcgPSB0cnVlOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OlN0YXRlbGVzc1Njcm9sbEV2ZW50Ogog
ICAgICAgICBtX3Njcm9sbFNuYXBTdGF0ZS0+dHJhbnNpdGlvblRvVXNlckludGVyYWN0aW9uU3Rh
dGUoKTsKQEAgLTY5NSw3ICs3MDQsMTUgQEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjpwcm9jZXNz
V2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JgogICAgICAg
ICBicmVhazsKICAgICB9CiAKLSAgICByZXR1cm4gIShpc0luZXJ0aWFsU2Nyb2xsaW5nICYmIHNo
b3VsZE92ZXJyaWRlSW5lcnRpYWxTY3JvbGxpbmcoKSk7CisgICAgcmV0dXJuICEoaXNNb21lbnR1
bVNjcm9sbGluZyAmJiBzaG91bGRPdmVycmlkZU1vbWVudHVtU2Nyb2xsaW5nKCkpOworfQorCit2
b2lkIFNjcm9sbENvbnRyb2xsZXI6OnVwZGF0ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQoreworICAgIGlmICh3aGVlbEV2ZW50Lmlz
R2VzdHVyZUJlZ2luKCkgfHwgd2hlZWxFdmVudC5pc1RyYW5zaXRpb25pbmdUb01vbWVudHVtU2Ny
b2xsKCkpCisgICAgICAgIG1faW5TY3JvbGxHZXN0dXJlID0gdHJ1ZTsKKyAgICBlbHNlIGlmICh3
aGVlbEV2ZW50LmlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgpIHx8IHdoZWVsRXZlbnQuaXNHZXN0
dXJlQ2FuY2VsKCkgfHwgd2hlZWxFdmVudC5pc0VuZE9mTW9tZW50dW1TY3JvbGwoKSkKKyAgICAg
ICAgbV9pblNjcm9sbEdlc3R1cmUgPSBmYWxzZTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9sbGVy
OjpzdGFydFNjcm9sbFNuYXBUaW1lcigpCkBAIC03MjksNyArNzQ2LDcgQEAgdm9pZCBTY3JvbGxD
b250cm9sbGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKIAogdm9pZCBTY3JvbGxDb250cm9sbGVy
OjpzY3JvbGxTbmFwVGltZXJGaXJlZCgpCiB7Ci0gICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0ZSkg
eworICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc4Niw3ICs4MDMsNyBAQCB2b2lkIFNj
cm9sbENvbnRyb2xsZXI6OnVwZGF0ZVNjcm9sbFNuYXBQb2ludHMoU2Nyb2xsRXZlbnRBeGlzIGF4
aXMsIGNvbnN0IFZlY3RvcgogCiB1bnNpZ25lZCBTY3JvbGxDb250cm9sbGVyOjphY3RpdmVTY3Jv
bGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcyBheGlzKSBjb25zdAogewotICAgIGlm
ICghbV9zY3JvbGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtX3Njcm9sbFNuYXBTdGF0ZS0+YWN0aXZlU25hcElu
ZGV4Rm9yQXhpcyhheGlzKTsKQEAgLTc5NCw3ICs4MTEsNyBAQCB1bnNpZ25lZCBTY3JvbGxDb250
cm9sbGVyOjphY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcyBheGlz
KSBjbwogCiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRleEZv
ckF4aXMoU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIHVuc2lnbmVkIGluZGV4KQogewotICAgIGlmICgh
bV9zY3JvbGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBtX3Njcm9sbFNuYXBTdGF0ZS0+c2V0QWN0aXZlU25hcEluZGV4Rm9yQXhp
cyhheGlzLCBpbmRleCk7CkBAIC04MDIsNyArODE5LDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVy
OjpzZXRBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcyBheGlzLCB1
bnMKIAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzZXROZWFyZXN0U2Nyb2xsU25hcEluZGV4Rm9y
QXhpc0FuZE9mZnNldChTY3JvbGxFdmVudEF4aXMgYXhpcywgaW50IG9mZnNldCkKIHsKLSAgICBp
ZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBtX2NsaWVudC5wYWdlU2NhbGVG
YWN0b3IoKTsKQEAgLTgyNiw3ICs4NDMsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldE5l
YXJlc3RTY3JvbGxTbmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KFNjcm9sbEV2ZW50QXhpcwogCiB2
b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRpY2VzRm9yT2Zmc2V0
KGludCB4LCBpbnQgeSkKIHsKLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlmICgh
dXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2V0TmVhcmVzdFNjcm9s
bFNuYXBJbmRleEZvckF4aXNBbmRPZmZzZXQoU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsLCB4
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRv
ck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5t
bQppbmRleCAwY2I2MzZiZjE0NTk5OTFmZmU4ODYzYjIxZDc3NzY3YmVkNDhiNDlhLi41ZjY1MzAz
Y2VhN2IxMGE5MDMxM2U3Yzk5OTNjOTc5N2YwYjMzOWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBAIC0xMjcyLDYgKzEyNzIsOCBA
QCBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYgd2hlZWxFdmVudCkKICAgICBpZiAoIXdoZWVsRXZlbnQuaGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhcygpIHx8ICFydWJiZXJCYW5kaW5nRW5hYmxlZEZvclN5c3RlbSgpKQogICAg
ICAgICByZXR1cm4gU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7
CiAKKyAgICBtX3Njcm9sbENvbnRyb2xsZXIudXBkYXRlR2VzdHVyZUluUHJvZ3Jlc3NTdGF0ZSh3
aGVlbEV2ZW50KTsKKwogICAgIC8vIEZJWE1FOiBUaGlzIGlzIHNvbWV3aGF0IHJvdW5kYWJvdXQg
aGFjayB0byBhbGxvdyBmb3J3YXJkaW5nIHdoZWVsIGV2ZW50cwogICAgIC8vIHVwIHRvIHRoZSBw
YXJlbnQgc2Nyb2xsYWJsZSBhcmVhLiBJdCB0YWtlcyBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhh
dAogICAgIC8vIHRoZSBiYXNlIGNsYXNzIGltcGxlbWVudGF0aW9uIG9mIGhhbmRsZVdoZWVsRXZl
bnQgd2lsbCBub3QgYWNjZXB0IHRoZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY1ZWMyZDY0M2Q3ZmQ2ZTBmZjA4NjM3ZTc1
OTcwZGVmNjZhZGZjYzUuLjg3MDIxOWM5YWQzZjZlODk5ZWFmZDAzYzY3MzQ1MjdhNjgwOTBiOWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNy0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBBZnRlciBhIHNjcm9sbCBnZXN0dXJlLCBjb250
ZW50IGNoYW5nZXMgZG9uJ3QgdHJpZ2dlciByZS1zbmFwcGluZyB3aXRoIHNjcm9sbCBzbmFwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQxMjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL21hYy9hZGp1c3Qtc2Nyb2xsLXNuYXAtYWZ0ZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9hZGp1c3Qtc2Nyb2xsLXNuYXAt
YWZ0ZXItZ2VzdHVyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMv
YXN5bmMtc2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1vbi1vbmUtYXhpcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRkZW4t
b24tb25lLWF4aXMuaHRtbDogVGhpcyBpcyBhIHByb2dyZXNzaW9uLgorCiAyMDIwLTA3LTA4ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5jIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaCBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25h
cC1hZnRlci1nZXN0dXJlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmM2OTNlNTAyNmIzOTQ0
NTU3MTNhYjJjZTc2Njc4YWU2Nzg2MzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisgICAgICAgIAorCitTY3JvbGxpbmcKK1BBU1Mgc2Ny
b2xsZXIuc2Nyb2xsTGVmdCBpcyAyNTgKK1Njcm9sbGVyIHNob3VsZCByZS1zbmFwCitQQVNTIHNj
cm9sbGVyLnNjcm9sbExlZnQgaXMgMjc4CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ODJkNDIzMjNiNmNmZjM1N2E1Y2U4Y2M3ZjBlMDczODM2NzYzZDBlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1z
Y3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Nj
cm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVpZ2h0OiAyMDAwcHg7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIC5zY3JvbGxlciB7CisgICAgICAgICAgICB3aWR0aDogNjIwcHg7Cisg
ICAgICAgICAgICBoZWlnaHQ6IDEyMHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQg
YmxhY2s7CisgICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7CisgICAgICAgICAgICBzY3Jv
bGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAg
LmNvbnRlbnRzIHsKKyAgICAgICAgICAgIHdpZHRoOiAyMDAlOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICAuYm94IHsKKyAgICAgICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDsK
KyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBi
bHVlOworICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICAuc2Nyb2xsZXIuY2hhbmdlZCAuYm94IHsKKyAgICAgICAgICAgIHdpZHRo
OiAxMTBweDsKKyAgICAgICAgfQorICAgICAgICAKKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICB2YXIganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
dmFyIHNjcm9sbGVyOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHNjcm9sbFRlc3QoKQorICAg
ICAgICB7CisgICAgICAgICAgICBkZWJ1ZygnJyk7CisgICAgICAgICAgICBkZWJ1ZygnU2Nyb2xs
aW5nJyk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3VzZVdoZWVsU2Nyb2xsQXQoMjAs
IDIwLCAtMSwgMCwgLTIwLCAwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdzY3JvbGxlci5zY3Jv
bGxMZWZ0JywgJzI1OCcpOworCisgICAgICAgICAgICBzY3JvbGxlci5jbGFzc0xpc3QuYWRkKCdj
aGFuZ2VkJyk7CisKKyAgICAgICAgICAgIGRlYnVnKCdTY3JvbGxlciBzaG91bGQgcmUtc25hcCcp
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5pbWF0aW9uRnJhbWUoKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCdzY3JvbGxlci5zY3JvbGxMZWZ0JywgJzI3OCcpOworCisgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVu
dExpc3RlbmVyKCd3aGVlbCcsICgpID0+IHt9LCBmYWxzZSk7IC8vIEZvcmNlIHN5bmMgc2Nyb2xs
aW5nLgorICAgICAgICAgICAgc2Nyb2xsZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Ny
b2xsZXInKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsVGVzdCwgMCk7CisgICAgICAg
IH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xh
c3M9InNjcm9sbGVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudHMiPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+
PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3giPjwvZGl2PgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9k
aXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRp
diBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+
CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBj
bGFzcz0iYm94Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRk
ZW4tb24tb25lLWF4aXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
bWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRkZW4tb24tb25lLWF4aXMtZXhwZWN0ZWQudHh0
CmluZGV4IDRiNzVlYjExYWM1Njg2NjEyY2M4ZDI1ZTRkN2ZjNTQ1YzFjOWYyOTUuLjA2OGE2MjBl
NTZjOWY3YmEwZTQyYzA4NmVlNDBjNDM2MTA2YmRiMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3ctaGlkZGVuLW9uLW9uZS1h
eGlzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5
bmMtc2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1vbi1vbmUtYXhpcy1leHBlY3RlZC50eHQKQEAgLTEy
LDcgKzEyLDcgQEAgUEFTUyB3aW5kb3dTY3JvbGxFdmVudENvdW50ID4gMCBpcyB0cnVlCiBUZXN0
IGhvcml6b250YWwgc2Nyb2xsIGluIHZlcnRpY2FsIHNjcm9sbGVyCiBQQVNTIGhvcml6b250YWxT
Y3JvbGxlckV2ZW50Q291bnQgaXMgMAogUEFTUyB2ZXJ0aWNhbFNjcm9sbGVyRXZlbnRDb3VudCBp
cyAwCi1QQVNTIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPiAwIGlzIHRydWUKK1BBU1Mgd2luZG93
U2Nyb2xsRXZlbnRDb3VudCBpcyAwCiAKIFRlc3QgdmVydGljYWwgc2Nyb2xsIGluIHZlcnRpY2Fs
IHNjcm9sbGVyCiBQQVNTIGhvcml6b250YWxTY3JvbGxlckV2ZW50Q291bnQgaXMgMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxv
dy1oaWRkZW4tb24tb25lLWF4aXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21h
Yy9hc3luYy1zY3JvbGwtb3ZlcmZsb3ctaGlkZGVuLW9uLW9uZS1heGlzLmh0bWwKaW5kZXggMGI0
ZmQ5OWNjOTBhZTUxYmRmMjJmOTI2NmFiYzhlMjFkYjE4YTRlNi4uMGY3ZjhiMTg0ZTNmNDQ4OTY2
YjMzMTk1MTgzYmQ2ZDA4YjBmODFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRkZW4tb24tb25lLWF4aXMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93
LWhpZGRlbi1vbi1vbmUtYXhpcy5odG1sCkBAIC04OCw3ICs4OCw3IEBACiAgICAgICAgICAgICBh
d2FpdCB0ZXN0U2Nyb2xsSW5TY3JvbGxlcignVGVzdCBob3Jpem9udGFsIHNjcm9sbCBpbiB2ZXJ0
aWNhbCBzY3JvbGxlcicsIHZlcnRpY2FsU2Nyb2xsZXJNb3VzZVgsIHZlcnRpY2FsU2Nyb2xsZXJN
b3VzZVksIC0xLCAwLCAtMTAsIDAsICgpID0+IHsKICAgICAgICAgICAgICAgICBzaG91bGRCZSgn
aG9yaXpvbnRhbFNjcm9sbGVyRXZlbnRDb3VudCcsICcwJyk7CiAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoJ3ZlcnRpY2FsU2Nyb2xsZXJFdmVudENvdW50JywgJzAnKTsKLSAgICAgICAgICAgICAg
ICBzaG91bGRCZSgnd2luZG93U2Nyb2xsRXZlbnRDb3VudCA+IDAnLCAndHJ1ZScpOyAvLyBSdWJi
ZXJiYW5kaW5nCisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ3dpbmRvd1Njcm9sbEV2ZW50Q291
bnQnLCAnMCcpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403882</attachid>
            <date>2020-07-09 10:01:11 -0700</date>
            <delta_ts>2020-07-09 10:10:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214123-20200709100110.patch</filename>
            <type>text/plain</type>
            <size>29486</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdiYmZjZDczMjQyMDFh
OWIxMDQ0MDViMTFhZjQxODM5Y2RiODU0NC4uZDI3ZjQ4NDBiMmI3NGVhZTNkYzkwOTc2OTM4ZTI5
NDQ3Y2IxZTM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg5IEBACisyMDIwLTA3LTA5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFmdGVyIGEgc2Ny
b2xsIGdlc3R1cmUsIGNvbnRlbnQgY2hhbmdlcyBkb24ndCB0cmlnZ2VyIHJlLXNuYXBwaW5nIHdp
dGggc2Nyb2xsIHNuYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNjcm9sbENvbnRyb2xsZXI6Om1faW5TY3JvbGxHZXN0dXJlIGNvdWxkIGdldCBzdHVj
ayBhcyB0cnVlIGFmdGVyIGEgc2Nyb2xsIGdlc3R1cmUsIGJlY2F1c2UKKyAgICAgICAgU2Nyb2xs
QW5pbWF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnQoKSBkaWRuJ3QgcmVsaWFibHkgY2FsbCBtX3Nj
cm9sbENvbnRyb2xsZXIuaGFuZGxlV2hlZWxFdmVudCgpIGZvcgorICAgICAgICB0aGUgZXZlbnQg
ZXZlbnQgYmFzZWQgb24gdGhlIGhva2V5IHNob3VsZEZvcndhcmRXaGVlbEV2ZW50c1RvUGFyZW50
KCkgY29kZS4KKworICAgICAgICBGaXggYnkgZXhwbGljaXRseSBjYWxsaW5nIG1fc2Nyb2xsQ29u
dHJvbGxlci51cGRhdGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKCkgd2hpY2ggbWFpbnRhaW5zCisg
ICAgICAgIG1faW5TY3JvbGxHZXN0dXJlLgorCisgICAgICAgIFdoZW4gbV9pblNjcm9sbEdlc3R1
cmUgd2FzIHN0dWNrIGFzIHRydWUsIFNjcm9sbGFibGVBcmVhOjp1cGRhdGVTY3JvbGxTbmFwU3Rh
dGUoKSB3b3VsZCByZXR1cm4gZWFybHkKKyAgICAgICAgYmVjYXVzZSBpc1Njcm9sbFNuYXBJblBy
b2dyZXNzKCkgd291bGQgcmV0dXJuIHRydWUuIEluIGFkZGl0aW9uLAorICAgICAgICBTY3JvbGxD
b250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgd2FzIGEgbGllIGZvciBub24tc2Ny
b2xsLXNuYXBwaW5nIHNjcm9sbGFibGUgYXJlYXMsIHNvCisgICAgICAgIGV4cGxpY2l0bHkgY2hl
Y2sgZm9yIHNuYXAgcG9pbnRzIHRoZXJlLCB1c2luZyBhbiBleHBsaWNpdCB1c2VzU2Nyb2xsU25h
cCgpIGZ1bmN0aW9uLgorCisgICAgICAgIFJlbmFtZSBzb21lIFdoZWVsRXZlbnRTdGF0dXMgdmFs
dWVzIHRvIHVzZSAibW9tZW50dW0iIHJhdGhlciB0aGFuICJpbmVydGlhIi4KKworICAgICAgICBU
ZXN0OiBmYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUu
aHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6dXNlc1Njcm9sbFNuYXAgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OnVwZGF0ZVNjcm9sbFNuYXBTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6dXNlc1Njcm9sbFNuYXAgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzbmFwUnViYmVyQmFuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjp0b1doZWVsRXZlbnRTdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6
b3BlcmF0b3I8PCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzaG91bGRP
dmVycmlkZU1vbWVudHVtU2Nyb2xsaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyRmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRG
b3JTY3JvbGxTbmFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnVwZGF0
ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJv
bGxlcjo6c2Nyb2xsU25hcFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29u
dHJvbGxlcjo6YWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzZXRBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNldE5lYXJlc3RTY3JvbGxT
bmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRy
b2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRpY2VzRm9yT2Zmc2V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNob3VsZE92ZXJyaWRlSW5lcnRpYWxTY3JvbGxpbmcg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2
ZW50KToKKworMjAyMC0wNy0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KKworICAgICAgICBBbGxvdyBTY3JvbGxhYmxlQXJlYSB0byBhc2sgaWYgYSB1c2VyIHNjcm9s
bCBpcyBpbiBwcm9ncmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE0MTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisg
ICAgICAgIFdvcmsgdG93YXJkcyBmaXhpbmcgc2Nyb2xsaW5nIHN0dXR0ZXJzIG9uIGxheW91dGlu
ZyBwYWdlcyB1c2luZyBzY3JvbGwgc25hcCwgbGlrZSB0ZXNsYS5jb20uCisKKyAgICAgICAgU2Ny
b2xsYWJsZUFyZWE6OnVwZGF0ZVNjcm9sbFNuYXBTdGF0ZSgpLCB3aGljaCBoYXBwZW5zIGFzIGEg
cmVzdWx0IG9mIGxheW91dCwgc2hvdWxkIG5vdCBzZXQgYSBuZXcKKyAgICAgICAgc2Nyb2xsIHBv
c2l0aW9uIGlmIGEgdXNlciBzY3JvbGwgaXMgaW4gcHJvZ3Jlc3MuIFNjcm9sbENvbnRyb2xsZXIg
YWxyZWFkeSB0cmFja3MgbV9pblNjcm9sbEdlc3R1cmUsCisgICAgICAgIHNvIGluIHRoZSBmaXJz
dCBpbnN0YW5jZSBqdXN0IHJlZmFjdG9yIHRoZSBjb2RlIHRvIHJldHVybiB0aGF0LiBGdXR1cmUg
Y2hhbmdlcyB3aWxsIGNoZWNrCisgICAgICAgIGZvciBzY3JvbGxpbmcgdGhyZWFkIGFjdGl2aXR5
LgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3Ojppc1VzZXJTY3JvbGxJblByb2dyZXNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OlNjcm9sbEFuaW1hdG9yOjppc1VzZXJTY3Jv
bGxJblByb2dyZXNzIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6dXBkYXRlU2Nyb2xsU25hcFN0
YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYWJsZUFyZWE6OmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6aXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6
OmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aXNVc2VyU2Nyb2xs
SW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aXNSdWJi
ZXJCYW5kSW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
Lmg6CisKIDIwMjAtMDctMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgQ2xlYW4gdXAgdGltZSB2YWx1ZXMgaW4gU2Nyb2xsQ29udHJvbGxlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGRlZjM1ZmZmYzFiOTcwZjExMmNhMzgzNjc4NDFk
ZDNjMmFiZWZkNzQuLjc3OGMyNmI2OTk1NzY5NDliNDVkMzIxYmQ1NjVhM2Q2ZTgwZjJjOWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTI2MDUsMjEgKzI2MDUsMjUgQEAgdm9pZCBG
cmFtZVZpZXc6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKQogICAgIH0K
IH0KIAorYm9vbCBGcmFtZVZpZXc6OmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKSBjb25zdAorewor
ICAgIGlmIChhdXRvIHNjcm9sbEFuaW1hdG9yID0gZXhpc3RpbmdTY3JvbGxBbmltYXRvcigpKQor
ICAgICAgICByZXR1cm4gc2Nyb2xsQW5pbWF0b3ItPmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKTsK
KworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBGcmFtZVZpZXc6OmlzUnViYmVyQmFuZElu
UHJvZ3Jlc3MoKSBjb25zdAogewogICAgIGlmIChzY3JvbGxiYXJzU3VwcHJlc3NlZCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBJZiB0aGUgc2Nyb2xsaW5nIHRocmVhZCB1cGRh
dGVzIHRoZSBzY3JvbGwgcG9zaXRpb24gZm9yIHRoaXMgRnJhbWVWaWV3LCB0aGVuIHdlIHNob3Vs
ZCByZXR1cm4KLSAgICAvLyBTY3JvbGxpbmdDb29yZGluYXRvcjo6aXNSdWJiZXJCYW5kSW5Qcm9n
cmVzcygpLgogICAgIGlmIChhdXRvIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xs
aW5nQ29vcmRpbmF0b3IoKSkgewogICAgICAgICBpZiAoIXNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5z
aG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgqdGhpcykpCiAgICAg
ICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmlzUnViYmVyQmFuZEluUHJvZ3Jl
c3MoKTsKICAgICB9CiAKLSAgICAvLyBJZiB0aGUgbWFpbiB0aHJlYWQgdXBkYXRlcyB0aGUgc2Ny
b2xsIHBvc2l0aW9uIGZvciB0aGlzIEZyYW1lVmlldywgd2Ugc2hvdWxkIHJldHVybgotICAgIC8v
IFNjcm9sbEFuaW1hdG9yOjppc1J1YmJlckJhbmRJblByb2dyZXNzKCkuCi0gICAgaWYgKFNjcm9s
bEFuaW1hdG9yKiBzY3JvbGxBbmltYXRvciA9IGV4aXN0aW5nU2Nyb2xsQW5pbWF0b3IoKSkKKyAg
ICBpZiAoYXV0byBzY3JvbGxBbmltYXRvciA9IGV4aXN0aW5nU2Nyb2xsQW5pbWF0b3IoKSkKICAg
ICAgICAgcmV0dXJuIHNjcm9sbEFuaW1hdG9yLT5pc1J1YmJlckJhbmRJblByb2dyZXNzKCk7CiAK
ICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA3ZTViOTdiOTNm
Mjg3NGE2YjA1ZDU1ZDVjNWE3MjQxNTk4NDFjODcyLi45ZWIxOTVkZDg2NDE1Y2FiMTVkZjhkZDM1
YmZhNmRkZTUyYzlmN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIzOCw2ICsyMzgs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsaW5n
KCkgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5n
KCkgZmluYWw7CiAgICAgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Ny
b2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBp
bmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CisgICAgYm9vbCBpc1VzZXJTY3Jv
bGxJblByb2dyZXNzKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBpc1J1YmJlckJhbmRJblByb2dy
ZXNzKCkgY29uc3QgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsUG9zaXRpb24gbWlu
aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Ny
b2xsUG9zaXRpb24gbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4IGY3OTdhM2U5
OTA2NzE0ZmQxNDBhZTQzM2JiZmZmOGM0YjYxNDE0NjguLjQxODk2ZGUzNDAxOWIwNzRlYjkyYzcz
OTZjZGIxZDdmNDM5MTU5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjLm1tCkBAIC0xMzksNiArMTM5LDggQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWwKICAgICAgICAgZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JSZWFzb24ocmVpbnRl
cnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmll
cj4oc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbGluZ05vZGVJRCgpKSwgV2hlZWxFdmVudFRlc3RNb25p
dG9yOjpIYW5kbGluZ1doZWVsRXZlbnQpOwogI2VuZGlmCiAKKyAgICBtX3Njcm9sbENvbnRyb2xs
ZXIudXBkYXRlR2VzdHVyZUluUHJvZ3Jlc3NTdGF0ZSh3aGVlbEV2ZW50KTsKKwogICAgIC8vIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gZmlyZXMgd2hlbiB0d28gZmluZ2VycyB0b3Vj
aCB0aGUgdHJhY2twYWQsIGFuZCBpcyB1c2VkIHRvIGZsYXNoIG92ZXJsYXkgc2Nyb2xsYmFycy4K
ICAgICAvLyBXZSBrbm93IHdlJ3JlIHNjcm9sbGFibGUgYXQgdGhpcyBwb2ludCwgc28gaGFuZGxl
IHRoZSBldmVudC4KICAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlTWF5QmVnaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aAppbmRleCBkNTFhMzExZWY3MmYxY2M2NTFlNTYwMDJmZGYwYjQ2YzgyNTE1NWI4Li4xZTRmNDky
MzQyOTM2OTVjMTA0MTQ5YTgwYjI3NGQ2ZTk1MzJmN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgbm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZChjb25zdCBGbG9hdFNpemUmIGRl
bHRhKSB7IFVOVVNFRF9QQVJBTShkZWx0YSk7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBpc1VzZXJT
Y3JvbGxJblByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXgg
NDkxMmFjMzY0NTYxODM5Y2UxZGM4ZTZiMTgwNzI5MmVlNDI1MDYzOC4uNWNkMjk3Y2Y4NjUwNmE4
YjgyOTNmNDgwNWMwMTBiMjBiZjg3ZGJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmNwcApAQCAtNTM2LDYgKzUzNiwxMSBAQCB2b2lkIFNjcm9sbGFibGVBcmVh
OjpjbGVhclZlcnRpY2FsU25hcE9mZnNldHMoKQogICAgIG1fY3VycmVudFZlcnRpY2FsU25hcFBv
aW50SW5kZXggPSAwOwogfQogCitib29sIFNjcm9sbGFibGVBcmVhOjp1c2VzU2Nyb2xsU25hcCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuICEhbV9zbmFwT2Zmc2V0c0luZm87Cit9CisKIEludFBvaW50
IFNjcm9sbGFibGVBcmVhOjpuZWFyZXN0QWN0aXZlU25hcFBvaW50KGNvbnN0IEludFBvaW50JiBj
dXJyZW50UG9zaXRpb24pCiB7CiAgICAgaWYgKCFob3Jpem9udGFsU25hcE9mZnNldHMoKSAmJiAh
dmVydGljYWxTbmFwT2Zmc2V0cygpKQpAQCAtNTcwLDkgKzU3NSwxMiBAQCB2b2lkIFNjcm9sbGFi
bGVBcmVhOjp1cGRhdGVTY3JvbGxTbmFwU3RhdGUoKQogICAgIGlmIChTY3JvbGxBbmltYXRvciog
c2Nyb2xsQW5pbWF0b3IgPSBleGlzdGluZ1Njcm9sbEFuaW1hdG9yKCkpCiAgICAgICAgIHNjcm9s
bEFuaW1hdG9yLT51cGRhdGVTY3JvbGxTbmFwU3RhdGUoKTsKIAotICAgIExPR19XSVRIX1NUUkVB
TShTY3JvbGxTbmFwLCBzdHJlYW0gPDwgKnRoaXMgPDwgIiB1cGRhdGVTY3JvbGxTbmFwU3RhdGU6
IGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MgIiA8PCBpc1Njcm9sbFNuYXBJblByb2dyZXNzKCkpOwor
ICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgTE9HX1dJ
VEhfU1RSRUFNKFNjcm9sbFNuYXAsIHN0cmVhbSA8PCAqdGhpcyA8PCAiIHVwZGF0ZVNjcm9sbFNu
YXBTdGF0ZTogaXNTY3JvbGxTbmFwSW5Qcm9ncmVzcyAiIDw8IGlzU2Nyb2xsU25hcEluUHJvZ3Jl
c3MoKSA8PCAiIGlzVXNlclNjcm9sbEluUHJvZ3Jlc3MgIiA8PCBpc1VzZXJTY3JvbGxJblByb2dy
ZXNzKCkpOwogCi0gICAgaWYgKGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSkKKyAgICBpZiAoaXNT
Y3JvbGxTbmFwSW5Qcm9ncmVzcygpIHx8IGlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgY3VycmVudFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRp
b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDg5MmQ4
ZGU2ZDM0NWQ5MWZkYTgwY2ZhNTMzNGM0YWE2OGI3NTdkYTMuLjZhZWU5YWM4YWUzYTMyMTIzZjM4
NTAwN2MyNWE5YmU0NTZmOGM4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaApAQCAtODgsNiArODgsOCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKKyAgICBi
b29sIHVzZXNTY3JvbGxTbmFwKCkgY29uc3Q7CisKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQ
KQogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxMYXlvdXRVbml0PiogaG9yaXpvbnRh
bFNuYXBPZmZzZXRzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgVmVjdG9yPExh
eW91dFVuaXQ+KiB2ZXJ0aWNhbFNuYXBPZmZzZXRzKCkgY29uc3Q7CkBAIC0zMDUsNiArMzA3LDcg
QEAgcHVibGljOgogICAgIC8vIFJldHVybnMgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGlzIHNjcm9s
bGFibGUgYXJlYSwgaW4gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG9mIHRoZSBlbmNsb3Npbmcgc2Ny
b2xsIHZpZXcuCiAgICAgdmlydHVhbCBJbnRSZWN0IHNjcm9sbGFibGVBcmVhQm91bmRpbmdCb3go
Ym9vbCogPSBudWxscHRyKSBjb25zdCA9IDA7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNVc2VyU2Ny
b2xsSW5Qcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5oCmluZGV4IDAwZmRhNDU3ODFlMWZlMGRiNGEyMGRhYzRmY2QyODYzZTgzYzUyYjIuLjUyZjI5
NTMxYzM2ODhiODZkNTNkMThkOWM5NzhkNzJhNTI0NTBlOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKQEAgLTExOSw5ICsxMTksOSBA
QCBlbnVtIGNsYXNzIFdoZWVsRXZlbnRTdGF0dXMgewogICAgIFVzZXJTY3JvbGxCZWdpbiwKICAg
ICBVc2VyU2Nyb2xsaW5nLAogICAgIFVzZXJTY3JvbGxFbmQsCi0gICAgSW5lcnRpYWxTY3JvbGxC
ZWdpbiwKLSAgICBJbmVydGlhbFNjcm9sbGluZywKLSAgICBJbmVydGlhbFNjcm9sbEVuZCwKKyAg
ICBNb21lbnR1bVNjcm9sbEJlZ2luLAorICAgIE1vbWVudHVtU2Nyb2xsaW5nLAorICAgIE1vbWVu
dHVtU2Nyb2xsRW5kLAogICAgIFN0YXRlbGVzc1Njcm9sbEV2ZW50LAogICAgIFVua25vd24KIH07
CkBAIC0xMzcsNiArMTM3LDkgQEAgcHVibGljOgogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKICNlbmRpZgogCisgICAgYm9vbCB1c2VzU2Nyb2xs
U25hcCgpIGNvbnN0OworCisgICAgYm9vbCBpc1VzZXJTY3JvbGxJblByb2dyZXNzKCkgY29uc3Q7
CiAgICAgYm9vbCBpc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3Q7CiAgICAgYm9vbCBpc1Nj
cm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3Q7CiAKQEAgLTE0OCw2ICsxNTEsOSBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTY3JvbGxTbmFwSW5kZXhEaWRDaGFuZ2UoYm9vbCBzdGF0ZSkgeyBtX2Fj
dGl2ZVNjcm9sbFNuYXBJbmRleERpZENoYW5nZSA9IHN0YXRlOyB9CiAgICAgdW5zaWduZWQgYWN0
aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXMpIGNvbnN0OwogICAgIHZv
aWQgdXBkYXRlU2Nyb2xsU25hcFN0YXRlKGNvbnN0IFNjcm9sbGFibGVBcmVhJik7CisKKyAgICB2
b2lkIHVwZGF0ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
Jik7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgYm9vbCBwcm9jZXNzV2hlZWxFdmVudEZvclNj
cm9sbFNuYXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAjZW5kaWYKQEAgLTE3OCw3ICsx
ODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsKICAgICB2
b2lkIHN0b3BTY3JvbGxTbmFwVGltZXIoKTsKIAotICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVJbmVy
dGlhbFNjcm9sbGluZygpIGNvbnN0OworICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVNb21lbnR1bVNj
cm9sbGluZygpIGNvbnN0OwogICAgIHZvaWQgc3RhdGVsZXNzU25hcFRyYW5zaXRpb25UaW1lckZp
cmVkKCk7CiAgICAgdm9pZCBzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXAoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXgg
ZGQ1ZGFkNTUxNDQ3NDE5YmFjMmViMDcxM2VhYTZjYTcxM2I1NWQ3MC4uZmZlYzQ0NTQ0YmQyNmM5
ODMwMjQyNzdiNWYxYTIxZTMwMTBlMGU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC0xMzcsNyArMTM3LDYgQEAgYm9vbCBT
Y3JvbGxDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgd2hlZWxFdmVudCkKICAgICAgICAgaWYgKGRpcmVjdGlvbiAmJiBtX2NsaWVudC5waW5uZWRJ
bkRpcmVjdGlvbihGbG9hdFNpemUoMCwgLXdoZWVsRXZlbnQuZGVsdGFZKCkpKSAmJiAhc2hvdWxk
UnViYmVyQmFuZEluRGlyZWN0aW9uKGRpcmVjdGlvbi52YWx1ZSgpKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgICAgICBtX2luU2Nyb2xsR2VzdHVyZSA9IHRydWU7CiAgICAgICAg
IG1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzID0gZmFsc2U7CiAgICAgICAgIG1faWdub3JlTW9t
ZW50dW1TY3JvbGxzID0gZmFsc2U7CiAgICAgICAgIG1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0
YW1wID0geyB9OwpAQCAtNDU1LDYgKzQ1NCwyNCBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNu
YXBSdWJiZXJCYW5kVGltZXJGaXJlZCgpCiB9CiAjZW5kaWYKIAorYm9vbCBTY3JvbGxDb250cm9s
bGVyOjp1c2VzU2Nyb2xsU25hcCgpIGNvbnN0Cit7CisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05B
UCkKKyAgICByZXR1cm4gISFtX3Njcm9sbFNuYXBTdGF0ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCit9CisKK2Jvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNVc2VyU2Nyb2xsSW5Q
cm9ncmVzcygpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIHJldHVybiBtX2luU2Ny
b2xsR2VzdHVyZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIGJvb2wg
U2Nyb2xsQ29udHJvbGxlcjo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0CiB7CiAjaWYg
RU5BQkxFKFJVQkJFUl9CQU5ESU5HKSAmJiBQTEFURk9STShNQUMpCkBAIC00NjksNiArNDg2LDkg
QEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjppc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3QK
IAogYm9vbCBTY3JvbGxDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QK
IHsKKyAgICBpZiAoIXVzZXNTY3JvbGxTbmFwKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwog
I2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApICYmIFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9p
blNjcm9sbEdlc3R1cmUgfHwgbV9tb21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MgfHwgbV9zY3JvbGxT
bmFwVGltZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNTA4LDggKzUyOCw2IEBAIHZvaWQg
U2Nyb2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmQoKQogICAgIGlmIChtX2xhc3RNb21lbnR1
bVNjcm9sbFRpbWVzdGFtcCAmJiB0aW1lRGVsdGEgPj0gc2Nyb2xsVmVsb2NpdHlaZXJvaW5nVGlt
ZW91dCkKICAgICAgICAgbV9tb21lbnR1bVZlbG9jaXR5ID0geyB9OwogCi0gICAgbV9pblNjcm9s
bEdlc3R1cmUgPSBmYWxzZTsKLQogICAgIGlmIChtX3NuYXBSdWJiZXJiYW5kVGltZXIpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNTQ0LDEzICs1NjIsMTMgQEAgc3RhdGljIGlubGluZSBXaGVlbEV2
ZW50U3RhdHVzIHRvV2hlZWxFdmVudFN0YXR1cyhQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFz
ZSwKICAgICBpZiAocGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKSB7CiAgICAg
ICAgIHN3aXRjaCAobW9tZW50dW1QaGFzZSkgewogICAgICAgICBjYXNlIFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlQmVnYW46Ci0gICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudFN0YXR1czo6SW5l
cnRpYWxTY3JvbGxCZWdpbjsKKyAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50U3RhdHVzOjpN
b21lbnR1bVNjcm9sbEJlZ2luOwogICAgICAgICAgICAgICAgIAogICAgICAgICBjYXNlIFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoKLSAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50
U3RhdHVzOjpJbmVydGlhbFNjcm9sbGluZzsKKyAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50
U3RhdHVzOjpNb21lbnR1bVNjcm9sbGluZzsKICAgICAgICAgICAgICAgICAKICAgICAgICAgY2Fz
ZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkOgotICAgICAgICAgICAgcmV0dXJuIFdoZWVs
RXZlbnRTdGF0dXM6OkluZXJ0aWFsU2Nyb2xsRW5kOworICAgICAgICAgICAgcmV0dXJuIFdoZWVs
RXZlbnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsRW5kOwogCiAgICAgICAgIGNhc2UgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2VOb25lOgogICAgICAgICAgICAgcmV0dXJuIFdoZWVsRXZlbnRTdGF0dXM6
OlN0YXRlbGVzc1Njcm9sbEV2ZW50OwpAQCAtNTg2LDkgKzYwNCw5IEBAIHN0YXRpYyBUZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBXaGVlbEV2ZW50U3RhdHVzIHN0YXR1cykK
ICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OlVzZXJTY3JvbGxCZWdpbjogdHMgPDwgIlVzZXJT
Y3JvbGxCZWdpbiI7IGJyZWFrOwogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6VXNlclNjcm9s
bGluZzogdHMgPDwgIlVzZXJTY3JvbGxpbmciOyBicmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRT
dGF0dXM6OlVzZXJTY3JvbGxFbmQ6IHRzIDw8ICJVc2VyU2Nyb2xsRW5kIjsgYnJlYWs7Ci0gICAg
Y2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbEJlZ2luOiB0cyA8PCAiSW5lcnRp
YWxTY3JvbGxCZWdpbiI7IGJyZWFrOwotICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6SW5lcnRp
YWxTY3JvbGxpbmc6IHRzIDw8ICJJbmVydGlhbFNjcm9sbGluZyI7IGJyZWFrOwotICAgIGNhc2Ug
V2hlZWxFdmVudFN0YXR1czo6SW5lcnRpYWxTY3JvbGxFbmQ6IHRzIDw8ICJJbmVydGlhbFNjcm9s
bEVuZCI7IGJyZWFrOworICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1TY3JvbGxC
ZWdpbjogdHMgPDwgIk1vbWVudHVtU2Nyb2xsQmVnaW4iOyBicmVhazsKKyAgICBjYXNlIFdoZWVs
RXZlbnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsaW5nOiB0cyA8PCAiTW9tZW50dW1TY3JvbGxpbmci
OyBicmVhazsKKyAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsRW5kOiB0
cyA8PCAiTW9tZW50dW1TY3JvbGxFbmQiOyBicmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0
dXM6OlN0YXRlbGVzc1Njcm9sbEV2ZW50OiB0cyA8PCAiU3RhdGVsZXNzU2Nyb2xsRXZlbnQiOyBi
cmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OlVua25vd246IHRzIDw8ICJVbmtub3du
IjsgYnJlYWs7CiAgICAgfQpAQCAtNTk2LDkgKzYxNCw5IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBXaGVlbEV2ZW50U3RhdHVzIHN0YXR1cykKIH0KICNl
bmRpZgogCi1ib29sIFNjcm9sbENvbnRyb2xsZXI6OnNob3VsZE92ZXJyaWRlSW5lcnRpYWxTY3Jv
bGxpbmcoKSBjb25zdAorYm9vbCBTY3JvbGxDb250cm9sbGVyOjpzaG91bGRPdmVycmlkZU1vbWVu
dHVtU2Nyb2xsaW5nKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAg
IGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgU2Ny
b2xsU25hcFN0YXRlIHNjcm9sbFNuYXBTdGF0ZSA9IG1fc2Nyb2xsU25hcFN0YXRlLT5jdXJyZW50
U3RhdGUoKTsKQEAgLTYxMiw3ICs2MzAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjaGVk
dWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIG1fc3RhdGVsZXNzU25hcFRyYW5zaXRp
b25UaW1lci0+c3RvcCgpOwogICAgICAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIg
PSBudWxscHRyOwogICAgIH0KLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlmICgh
dXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc3RhdGljIGNvbnN0IFNl
Y29uZHMgc3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gNzUwX21zOwpAQCAtNjI3LDcgKzY0NSw3
IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhdGVsZXNzU25hcFRyYW5zaXRpb25UaW1lckZp
cmVkKCkKIHsKICAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIgPSBudWxscHRyOwog
Ci0gICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0ZSkKKyAgICBpZiAoIXVzZXNTY3JvbGxTbmFwKCkp
CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc2Nyb2xsU25hcFN0YXRlLT50cmFuc2l0aW9uVG9T
bmFwQW5pbWF0aW9uU3RhdGUobV9jbGllbnQuc2Nyb2xsRXh0ZW50KCksIG1fY2xpZW50LnZpZXdw
b3J0U2l6ZSgpLCBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3IoKSwgbV9jbGllbnQuc2Nyb2xsT2Zm
c2V0KCkpOwpAQCAtNjQ2LDE3ICs2NjQsMTcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdG9w
RGVmZXJyaW5nV2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRHVlVG9TY3JvbGxTbmFwcGluZygKIAog
Ym9vbCBTY3JvbGxDb250cm9sbGVyOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewotICAgIGlmICghbV9zY3JvbGxT
bmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAogICAgIGlmIChtX3Njcm9sbFNuYXBTdGF0ZS0+c25hcE9mZnNldHNGb3JBeGlzKFNjcm9s
bEV2ZW50QXhpczo6SG9yaXpvbnRhbCkuaXNFbXB0eSgpICYmIG1fc2Nyb2xsU25hcFN0YXRlLT5z
bmFwT2Zmc2V0c0ZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCkuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIFdoZWVsRXZlbnRTdGF0dXMgc3RhdHVzID0gdG9X
aGVlbEV2ZW50U3RhdHVzKHdoZWVsRXZlbnQucGhhc2UoKSwgd2hlZWxFdmVudC5tb21lbnR1bVBo
YXNlKCkpOworICAgIGF1dG8gc3RhdHVzID0gdG9XaGVlbEV2ZW50U3RhdHVzKHdoZWVsRXZlbnQu
cGhhc2UoKSwgd2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkpOwogCiAgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbFNuYXAsIHN0cmVhbSA8PCAiU2Nyb2xsQ29udHJvbGxlciAiIDw8IHRoaXMgPDwg
IiBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXA6IHN0YXR1cyAiIDw8IHN0YXR1cyk7CiAK
LSAgICBib29sIGlzSW5lcnRpYWxTY3JvbGxpbmcgPSBmYWxzZTsKKyAgICBib29sIGlzTW9tZW50
dW1TY3JvbGxpbmcgPSBmYWxzZTsKICAgICBzd2l0Y2ggKHN0YXR1cykgewogICAgIGNhc2UgV2hl
ZWxFdmVudFN0YXR1czo6VXNlclNjcm9sbEJlZ2luOgogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1
czo6VXNlclNjcm9sbGluZzoKQEAgLTY2OCwxNCArNjg2LDE0IEBAIGJvb2wgU2Nyb2xsQ29udHJv
bGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYKICAgICAgICAgbV9zY3JvbGxTbmFwU3RhdGUtPnRyYW5zaXRpb25Ub1NuYXBBbmltYXRp
b25TdGF0ZShtX2NsaWVudC5zY3JvbGxFeHRlbnQoKSwgbV9jbGllbnQudmlld3BvcnRTaXplKCks
IG1fY2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpLCBtX2NsaWVudC5zY3JvbGxPZmZzZXQoKSk7CiAg
ICAgICAgIHN0YXJ0U2Nyb2xsU25hcFRpbWVyKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
V2hlZWxFdmVudFN0YXR1czo6SW5lcnRpYWxTY3JvbGxCZWdpbjoKKyAgICBjYXNlIFdoZWVsRXZl
bnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsQmVnaW46CiAgICAgICAgIG1fc2Nyb2xsU25hcFN0YXRl
LT50cmFuc2l0aW9uVG9HbGlkZUFuaW1hdGlvblN0YXRlKG1fY2xpZW50LnNjcm9sbEV4dGVudCgp
LCBtX2NsaWVudC52aWV3cG9ydFNpemUoKSwgbV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCksIG1f
Y2xpZW50LnNjcm9sbE9mZnNldCgpLCBtX2RyYWdFbmRlZFNjcm9sbGluZ1ZlbG9jaXR5LCBGbG9h
dFNpemUoLXdoZWVsRXZlbnQuZGVsdGFYKCksIC13aGVlbEV2ZW50LmRlbHRhWSgpKSk7CiAgICAg
ICAgIG1fZHJhZ0VuZGVkU2Nyb2xsaW5nVmVsb2NpdHkgPSB7IH07Ci0gICAgICAgIGlzSW5lcnRp
YWxTY3JvbGxpbmcgPSB0cnVlOworICAgICAgICBpc01vbWVudHVtU2Nyb2xsaW5nID0gdHJ1ZTsK
ICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9s
bGluZzoKLSAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OkluZXJ0aWFsU2Nyb2xsRW5kOgotICAg
ICAgICBpc0luZXJ0aWFsU2Nyb2xsaW5nID0gdHJ1ZTsKKyAgICBjYXNlIFdoZWVsRXZlbnRTdGF0
dXM6Ok1vbWVudHVtU2Nyb2xsaW5nOgorICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50
dW1TY3JvbGxFbmQ6CisgICAgICAgIGlzTW9tZW50dW1TY3JvbGxpbmcgPSB0cnVlOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OlN0YXRlbGVzc1Njcm9sbEV2ZW50
OgogICAgICAgICBtX3Njcm9sbFNuYXBTdGF0ZS0+dHJhbnNpdGlvblRvVXNlckludGVyYWN0aW9u
U3RhdGUoKTsKQEAgLTY4Niw3ICs3MDQsMTUgQEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjpwcm9j
ZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JgogICAg
ICAgICBicmVhazsKICAgICB9CiAKLSAgICByZXR1cm4gIShpc0luZXJ0aWFsU2Nyb2xsaW5nICYm
IHNob3VsZE92ZXJyaWRlSW5lcnRpYWxTY3JvbGxpbmcoKSk7CisgICAgcmV0dXJuICEoaXNNb21l
bnR1bVNjcm9sbGluZyAmJiBzaG91bGRPdmVycmlkZU1vbWVudHVtU2Nyb2xsaW5nKCkpOworfQor
Cit2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnVwZGF0ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQoreworICAgIGlmICh3aGVlbEV2ZW50
LmlzR2VzdHVyZUJlZ2luKCkgfHwgd2hlZWxFdmVudC5pc1RyYW5zaXRpb25pbmdUb01vbWVudHVt
U2Nyb2xsKCkpCisgICAgICAgIG1faW5TY3JvbGxHZXN0dXJlID0gdHJ1ZTsKKyAgICBlbHNlIGlm
ICh3aGVlbEV2ZW50LmlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgpIHx8IHdoZWVsRXZlbnQuaXNH
ZXN0dXJlQ2FuY2VsKCkgfHwgd2hlZWxFdmVudC5pc0VuZE9mTW9tZW50dW1TY3JvbGwoKSkKKyAg
ICAgICAgbV9pblNjcm9sbEdlc3R1cmUgPSBmYWxzZTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzdGFydFNjcm9sbFNuYXBUaW1lcigpCkBAIC03MjAsNyArNzQ2LDcgQEAgdm9pZCBTY3Jv
bGxDb250cm9sbGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzY3JvbGxTbmFwVGltZXJGaXJlZCgpCiB7Ci0gICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0
ZSkgeworICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc3Nyw3ICs4MDMsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnVwZGF0ZVNjcm9sbFNuYXBQb2ludHMoU2Nyb2xsRXZlbnRBeGlz
IGF4aXMsIGNvbnN0IFZlY3RvcgogCiB1bnNpZ25lZCBTY3JvbGxDb250cm9sbGVyOjphY3RpdmVT
Y3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcyBheGlzKSBjb25zdAogewotICAg
IGlmICghbV9zY3JvbGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAg
ICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtX3Njcm9sbFNuYXBTdGF0ZS0+YWN0aXZlU25h
cEluZGV4Rm9yQXhpcyhheGlzKTsKQEAgLTc4NSw3ICs4MTEsNyBAQCB1bnNpZ25lZCBTY3JvbGxD
b250cm9sbGVyOjphY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcyBh
eGlzKSBjbwogCiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRl
eEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIHVuc2lnbmVkIGluZGV4KQogewotICAgIGlm
ICghbV9zY3JvbGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBtX3Njcm9sbFNuYXBTdGF0ZS0+c2V0QWN0aXZlU25hcEluZGV4Rm9y
QXhpcyhheGlzLCBpbmRleCk7CkBAIC03OTMsNyArODE5LDcgQEAgdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzZXRBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpcyBheGlz
LCB1bnMKIAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzZXROZWFyZXN0U2Nyb2xsU25hcEluZGV4
Rm9yQXhpc0FuZE9mZnNldChTY3JvbGxFdmVudEF4aXMgYXhpcywgaW50IG9mZnNldCkKIHsKLSAg
ICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBtX2NsaWVudC5wYWdlU2Nh
bGVGYWN0b3IoKTsKQEAgLTgxNyw3ICs4NDMsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNl
dE5lYXJlc3RTY3JvbGxTbmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KFNjcm9sbEV2ZW50QXhpcwog
CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRpY2VzRm9yT2Zm
c2V0KGludCB4LCBpbnQgeSkKIHsKLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAgIGlm
ICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2V0TmVhcmVzdFNj
cm9sbFNuYXBJbmRleEZvckF4aXNBbmRPZmZzZXQoU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFs
LCB4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmlt
YXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFj
LmgKaW5kZXggZTNjM2MwYTE3ZGMwMTdmMWJlMTU2MmZiZDhmYWFlNGYwZThjZDhhMy4uNjJiMmJk
Mjk5OWVhNDBlODhiYzBhYWQzMjRkNDdmNDQ2OTM4ODM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKQEAgLTEzNCw2ICsxMzQsNyBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKIAorICAg
IGJvb2wgaXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wg
aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNTY3Jv
bGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggMWUyNDM1MmJmZDUwZmZl
ZjJiMzYyY2U4MmYzYjcyMWY0NWJlZTcyNS4uNWY2NTMwM2NlYTdiMTBhOTAzMTNlN2M5OTkzYzk3
OTdmMGIzMzllZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbQpAQCAtODU1LDYgKzg1NSwxMSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFj
OjppbW1lZGlhdGVTY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG5ld1Bvc2l0aW9u
LAogICAgIHVwZGF0ZUFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvck9mZnNldCgpOwogfQogCitib29s
IFNjcm9sbEFuaW1hdG9yTWFjOjppc1VzZXJTY3JvbGxJblByb2dyZXNzKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zY3JvbGxDb250cm9sbGVyLmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKTsKK30K
KwogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0
CiB7CiAjaWYgIUVOQUJMRShSVUJCRVJfQkFORElORykKQEAgLTEyNjcsNiArMTI3Miw4IEBAIGJv
b2wgU2Nyb2xsQW5pbWF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50JiB3aGVlbEV2ZW50KQogICAgIGlmICghd2hlZWxFdmVudC5oYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzKCkgfHwgIXJ1YmJlckJhbmRpbmdFbmFibGVkRm9yU3lzdGVtKCkpCiAgICAgICAg
IHJldHVybiBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKIAor
ICAgIG1fc2Nyb2xsQ29udHJvbGxlci51cGRhdGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKHdoZWVs
RXZlbnQpOworCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgc29tZXdoYXQgcm91bmRhYm91dCBoYWNr
IHRvIGFsbG93IGZvcndhcmRpbmcgd2hlZWwgZXZlbnRzCiAgICAgLy8gdXAgdG8gdGhlIHBhcmVu
dCBzY3JvbGxhYmxlIGFyZWEuIEl0IHRha2VzIGFkdmFudGFnZSBvZiB0aGUgZmFjdCB0aGF0CiAg
ICAgLy8gdGhlIGJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb24gb2YgaGFuZGxlV2hlZWxFdmVudCB3
aWxsIG5vdCBhY2NlcHQgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCA4OTMyMzhhMGM2MTRjMDA3ZTU4ZDIwZGVjODkxOTgzYTY4YTJiNmJiLi42NjFlY2I1
NDFiMmQyODY4MzhhMWM4ZTY4OTM3MTExYjdhZGNkMmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE4NzEsMTMgKzE4NzEsMjQgQEAgSW50UmVjdCBSZW5k
ZXJMYXllcjo6c2Nyb2xsYWJsZUFyZWFCb3VuZGluZ0JveChib29sKiBpc0luc2lkZUZpeGVkKSBj
b25zdAogICAgIHJldHVybiByZW5kZXJlcigpLmFic29sdXRlQm91bmRpbmdCb3hSZWN0KC8qIHVz
ZVRyYW5zZm9ybXMgKi8gdHJ1ZSwgaXNJbnNpZGVGaXhlZCk7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5
ZXI6OmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKSBjb25zdAoreworICAgIGlmICghc2Nyb2xsc092
ZXJmbG93KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhdXRvIHNjcm9sbEFu
aW1hdG9yID0gZXhpc3RpbmdTY3JvbGxBbmltYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xs
QW5pbWF0b3ItPmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKTsKKyAgICAKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXI6OmlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25z
dAogewogI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKICAgICBpZiAoIXNjcm9sbHNPdmVyZmxv
dygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoU2Nyb2xsQW5pbWF0b3IqIHNj
cm9sbEFuaW1hdG9yID0gZXhpc3RpbmdTY3JvbGxBbmltYXRvcigpKQorICAgIGlmIChhdXRvIHNj
cm9sbEFuaW1hdG9yID0gZXhpc3RpbmdTY3JvbGxBbmltYXRvcigpKQogICAgICAgICByZXR1cm4g
c2Nyb2xsQW5pbWF0b3ItPmlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKTsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDQ3MzVkYWI4MzBkMTkyYTRkMDM3
MzU0MTllYWE4OWQ5YWIxN2M1ZmYuLjVmNTRkMGVjM2I0OTAxZGU3Y2I4ZDU1ODI2YTE0NzBmN2Rl
ZDAzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xMTMzLDYg
KzExMzMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNIYW5kbGluZ1doZWVsRXZlbnQoKSBjb25z
dCBmaW5hbDsKICAgICBib29sIHNob3VsZFN1c3BlbmRTY3JvbGxBbmltYXRpb25zKCkgY29uc3Qg
ZmluYWw7CiAgICAgSW50UmVjdCBzY3JvbGxhYmxlQXJlYUJvdW5kaW5nQm94KGJvb2wqIGlzSW5z
aWRlRml4ZWQgPSBudWxscHRyKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGlzVXNlclNjcm9sbElu
UHJvZ3Jlc3MoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGlzUnViYmVyQmFuZEluUHJvZ3Jlc3Mo
KSBjb25zdCBmaW5hbDsKICAgICBib29sIGZvcmNlVXBkYXRlU2Nyb2xsYmFyc09uTWFpblRocmVh
ZEZvclBlcmZvcm1hbmNlVGVzdGluZygpIGNvbnN0IGZpbmFsOwogI2lmIEVOQUJMRShDU1NfU0NS
T0xMX1NOQVApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNjVlYzJkNjQzZDdmZDZlMGZmMDg2MzdlNzU5NzBkZWY2NmFkZmNj
NS4uMDc0MzllZDFjZGQ0MzFmMGJiZWEwYzc0MzU1MWUzOTMxYjZhN2E0OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDIwLTA3LTA5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIEFmdGVyIGEgc2Nyb2xsIGdlc3R1cmUsIGNvbnRlbnQgY2hhbmdlcyBk
b24ndCB0cmlnZ2VyIHJlLXNuYXBwaW5nIHdpdGggc2Nyb2xsIHNuYXAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDEyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL2Fk
anVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJl
Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA3LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaCBmcm9tIHVwc3Ry
ZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0LXNj
cm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZmM2OTNlNTAyNmIzOTQ0NTU3MTNhYjJjZTc2Njc4YWU2Nzg2MzFlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1z
Y3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisg
ICAgICAgIAorCitTY3JvbGxpbmcKK1BBU1Mgc2Nyb2xsZXIuc2Nyb2xsTGVmdCBpcyAyNTgKK1Nj
cm9sbGVyIHNob3VsZCByZS1zbmFwCitQQVNTIHNjcm9sbGVyLnNjcm9sbExlZnQgaXMgMjc4CitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1h
ZnRlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0
LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODJkNDIzMjNiNmNm
ZjM1N2E1Y2U4Y2M3ZjBlMDczODM2NzYzZDBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLmh0
bWwKQEAgLTAsMCArMSw4MyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAg
aGVpZ2h0OiAyMDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC5zY3JvbGxlciB7
CisgICAgICAgICAgICB3aWR0aDogNjIwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4Owor
ICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgICAgICBvdmVyZmxv
dy14OiBzY3JvbGw7CisgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLmNvbnRlbnRzIHsKKyAgICAgICAgICAgIHdp
ZHRoOiAyMDAlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuYm94IHsKKyAgICAgICAg
ICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7Cisg
ICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICAgICAgZGlzcGxheTog
aW5saW5lLWJsb2NrOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuc2Nyb2xsZXIuY2hh
bmdlZCAuYm94IHsKKyAgICAgICAgICAgIHdpZHRoOiAxMTBweDsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgdmFyIHNjcm9sbGVyOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHNjcm9sbFRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZWJ1Zygn
Jyk7CisgICAgICAgICAgICBkZWJ1ZygnU2Nyb2xsaW5nJyk7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5tb3VzZVdoZWVsU2Nyb2xsQXQoMjAsIDIwLCAtMSwgMCwgLTIwLCAwKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdzY3JvbGxlci5zY3JvbGxMZWZ0JywgJzI1OCcpOworCisgICAgICAg
ICAgICBzY3JvbGxlci5jbGFzc0xpc3QuYWRkKCdjaGFuZ2VkJyk7CisKKyAgICAgICAgICAgIGRl
YnVnKCdTY3JvbGxlciBzaG91bGQgcmUtc25hcCcpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYW5pbWF0aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdzY3JvbGxlci5zY3Jv
bGxMZWZ0JywgJzI3OCcpOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
fQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsICgpID0+IHt9
LCBmYWxzZSk7IC8vIEZvcmNlIHN5bmMgc2Nyb2xsaW5nLgorICAgICAgICAgICAgc2Nyb2xsZXIg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Nyb2xsZXInKTsKKyAgICAgICAgICAgIHNldFRp
bWVvdXQoc2Nyb2xsVGVzdCwgMCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVyIj4KKyAgICAgICAgPGRp
diBjbGFzcz0iY29udGVudHMiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJi
b3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403884</attachid>
            <date>2020-07-09 10:10:20 -0700</date>
            <delta_ts>2020-07-09 13:01:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214123-20200709101019.patch</filename>
            <type>text/plain</type>
            <size>21509</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ4YTEwZGVmZjBhYzlm
ZGNiOWJjNWY5MWY4YTRlMmI3NDRhYTI3My4uZjYzYjhmZWExMWU4MGU4MmNhNmIwZDExM2M0MmIx
ZDdmNzkyOGY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTA3LTA5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFmdGVyIGEgc2Ny
b2xsIGdlc3R1cmUsIGNvbnRlbnQgY2hhbmdlcyBkb24ndCB0cmlnZ2VyIHJlLXNuYXBwaW5nIHdp
dGggc2Nyb2xsIHNuYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNjcm9sbENvbnRyb2xsZXI6Om1faW5TY3JvbGxHZXN0dXJlIGNvdWxkIGdldCBzdHVj
ayBhcyB0cnVlIGFmdGVyIGEgc2Nyb2xsIGdlc3R1cmUsIGJlY2F1c2UKKyAgICAgICAgU2Nyb2xs
QW5pbWF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnQoKSBkaWRuJ3QgcmVsaWFibHkgY2FsbCBtX3Nj
cm9sbENvbnRyb2xsZXIuaGFuZGxlV2hlZWxFdmVudCgpIGZvcgorICAgICAgICB0aGUgZXZlbnQg
ZXZlbnQgYmFzZWQgb24gdGhlIGhva2V5IHNob3VsZEZvcndhcmRXaGVlbEV2ZW50c1RvUGFyZW50
KCkgY29kZS4KKworICAgICAgICBGaXggYnkgZXhwbGljaXRseSBjYWxsaW5nIG1fc2Nyb2xsQ29u
dHJvbGxlci51cGRhdGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKCkgd2hpY2ggbWFpbnRhaW5zCisg
ICAgICAgIG1faW5TY3JvbGxHZXN0dXJlLgorCisgICAgICAgIFdoZW4gbV9pblNjcm9sbEdlc3R1
cmUgd2FzIHN0dWNrIGFzIHRydWUsIFNjcm9sbGFibGVBcmVhOjp1cGRhdGVTY3JvbGxTbmFwU3Rh
dGUoKSB3b3VsZCByZXR1cm4gZWFybHkKKyAgICAgICAgYmVjYXVzZSBpc1Njcm9sbFNuYXBJblBy
b2dyZXNzKCkgd291bGQgcmV0dXJuIHRydWUuIEluIGFkZGl0aW9uLAorICAgICAgICBTY3JvbGxD
b250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgd2FzIGEgbGllIGZvciBub24tc2Ny
b2xsLXNuYXBwaW5nIHNjcm9sbGFibGUgYXJlYXMsIHNvCisgICAgICAgIGV4cGxpY2l0bHkgY2hl
Y2sgZm9yIHNuYXAgcG9pbnRzIHRoZXJlLCB1c2luZyBhbiBleHBsaWNpdCB1c2VzU2Nyb2xsU25h
cCgpIGZ1bmN0aW9uLgorCisgICAgICAgIFJlbmFtZSBzb21lIFdoZWVsRXZlbnRTdGF0dXMgdmFs
dWVzIHRvIHVzZSAibW9tZW50dW0iIHJhdGhlciB0aGFuICJpbmVydGlhIi4KKworICAgICAgICBU
ZXN0OiBmYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUu
aHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6dXNlc1Njcm9sbFNuYXAgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OnVwZGF0ZVNjcm9sbFNuYXBTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6dXNlc1Njcm9sbFNuYXAgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzbmFwUnViYmVyQmFuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjp0b1doZWVsRXZlbnRTdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6
b3BlcmF0b3I8PCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzaG91bGRP
dmVycmlkZU1vbWVudHVtU2Nyb2xsaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyRmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRG
b3JTY3JvbGxTbmFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnVwZGF0
ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJv
bGxlcjo6c2Nyb2xsU25hcFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29u
dHJvbGxlcjo6YWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzZXRBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNldE5lYXJlc3RTY3JvbGxT
bmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRy
b2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRpY2VzRm9yT2Zmc2V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNob3VsZE92ZXJyaWRlSW5lcnRpYWxTY3JvbGxpbmcg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2
ZW50KToKKwogMjAyMC0wNy0wOSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXNldCBBVlN5c3RlbUNvbnRyb2xsZXJfUElEVG9Jbmhlcml0QXBwbGlj
YXRpb25TdGF0ZUZyb20gd2hlbiBtZWRpYXNlcnZlcmQgZGllcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQppbmRleCBmNzk3YTNlOTkwNjcxNGZkMTQw
YWU0MzNiYmZmZjhjNGI2MTQxNDY4Li40MTg5NmRlMzQwMTliMDc0ZWI5MmM3Mzk2Y2RiMWQ3ZjQz
OTE1OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1h
Yy5tbQpAQCAtMTM5LDYgKzEzOSw4IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYzo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsCiAgICAgICAg
IGRlZmVyV2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8
V2hlZWxFdmVudFRlc3RNb25pdG9yOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHNjcm9sbGlu
Z05vZGUoKS5zY3JvbGxpbmdOb2RlSUQoKSksIFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6SGFuZGxp
bmdXaGVlbEV2ZW50KTsKICNlbmRpZgogCisgICAgbV9zY3JvbGxDb250cm9sbGVyLnVwZGF0ZUdl
c3R1cmVJblByb2dyZXNzU3RhdGUod2hlZWxFdmVudCk7CisKICAgICAvLyBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU1heUJlZ2luIGZpcmVzIHdoZW4gdHdvIGZpbmdlcnMgdG91Y2ggdGhlIHRyYWNr
cGFkLCBhbmQgaXMgdXNlZCB0byBmbGFzaCBvdmVybGF5IHNjcm9sbGJhcnMuCiAgICAgLy8gV2Ug
a25vdyB3ZSdyZSBzY3JvbGxhYmxlIGF0IHRoaXMgcG9pbnQsIHNvIGhhbmRsZSB0aGUgZXZlbnQu
CiAgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1h
eUJlZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4
IDVlNDFhYWEwOTk0ZDYzMmYxZDkxMGZiMzAxOGZiNTUxYTJhM2YzYTEuLjVjZDI5N2NmODY1MDZh
OGI4MjkzZjQ4MDVjMDEwYjIwYmY4N2RiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxhYmxlQXJlYS5jcHAKQEAgLTUzNiw2ICs1MzYsMTEgQEAgdm9pZCBTY3JvbGxhYmxlQXJl
YTo6Y2xlYXJWZXJ0aWNhbFNuYXBPZmZzZXRzKCkKICAgICBtX2N1cnJlbnRWZXJ0aWNhbFNuYXBQ
b2ludEluZGV4ID0gMDsKIH0KIAorYm9vbCBTY3JvbGxhYmxlQXJlYTo6dXNlc1Njcm9sbFNuYXAo
KSBjb25zdAoreworICAgIHJldHVybiAhIW1fc25hcE9mZnNldHNJbmZvOworfQorCiBJbnRQb2lu
dCBTY3JvbGxhYmxlQXJlYTo6bmVhcmVzdEFjdGl2ZVNuYXBQb2ludChjb25zdCBJbnRQb2ludCYg
Y3VycmVudFBvc2l0aW9uKQogewogICAgIGlmICghaG9yaXpvbnRhbFNuYXBPZmZzZXRzKCkgJiYg
IXZlcnRpY2FsU25hcE9mZnNldHMoKSkKQEAgLTU3MCw2ICs1NzUsOSBAQCB2b2lkIFNjcm9sbGFi
bGVBcmVhOjp1cGRhdGVTY3JvbGxTbmFwU3RhdGUoKQogICAgIGlmIChTY3JvbGxBbmltYXRvciog
c2Nyb2xsQW5pbWF0b3IgPSBleGlzdGluZ1Njcm9sbEFuaW1hdG9yKCkpCiAgICAgICAgIHNjcm9s
bEFuaW1hdG9yLT51cGRhdGVTY3JvbGxTbmFwU3RhdGUoKTsKIAorICAgIGlmICghdXNlc1Njcm9s
bFNuYXAoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbFNu
YXAsIHN0cmVhbSA8PCAqdGhpcyA8PCAiIHVwZGF0ZVNjcm9sbFNuYXBTdGF0ZTogaXNTY3JvbGxT
bmFwSW5Qcm9ncmVzcyAiIDw8IGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSA8PCAiIGlzVXNlclNj
cm9sbEluUHJvZ3Jlc3MgIiA8PCBpc1VzZXJTY3JvbGxJblByb2dyZXNzKCkpOwogCiAgICAgaWYg
KGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSB8fCBpc1VzZXJTY3JvbGxJblByb2dyZXNzKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCA4YjQ0MWEzZjM4NjU3
YmJiZmNmMjFkYmE5ZTBhY2FmODJmNjE0MmRmLi42YWVlOWFjOGFlM2EzMjEyM2YzODUwMDdjMjVh
OWJlNDU2ZjhjOGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgK
QEAgLTg4LDYgKzg4LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYW5k
bGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogCisgICAgYm9vbCB1c2Vz
U2Nyb2xsU25hcCgpIGNvbnN0OworCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICBX
RUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8TGF5b3V0VW5pdD4qIGhvcml6b250YWxTbmFwT2Zm
c2V0cygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxMYXlvdXRVbml0
PiogdmVydGljYWxTbmFwT2Zmc2V0cygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCmluZGV4IGQ5ZmY2ZThiM2RjNjgxZjkzNTQz
MDVhMTY2MDVmN2NmNzQ0ZTZjYTQuLjUyZjI5NTMxYzM2ODhiODZkNTNkMThkOWM5NzhkNzJhNTI0
NTBlOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLmgKQEAgLTExOSw5ICsxMTksOSBAQCBlbnVtIGNsYXNzIFdoZWVsRXZlbnRTdGF0dXMg
ewogICAgIFVzZXJTY3JvbGxCZWdpbiwKICAgICBVc2VyU2Nyb2xsaW5nLAogICAgIFVzZXJTY3Jv
bGxFbmQsCi0gICAgSW5lcnRpYWxTY3JvbGxCZWdpbiwKLSAgICBJbmVydGlhbFNjcm9sbGluZywK
LSAgICBJbmVydGlhbFNjcm9sbEVuZCwKKyAgICBNb21lbnR1bVNjcm9sbEJlZ2luLAorICAgIE1v
bWVudHVtU2Nyb2xsaW5nLAorICAgIE1vbWVudHVtU2Nyb2xsRW5kLAogICAgIFN0YXRlbGVzc1Nj
cm9sbEV2ZW50LAogICAgIFVua25vd24KIH07CkBAIC0xMzcsNiArMTM3LDggQEAgcHVibGljOgog
ICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKICNl
bmRpZgogCisgICAgYm9vbCB1c2VzU2Nyb2xsU25hcCgpIGNvbnN0OworCiAgICAgYm9vbCBpc1Vz
ZXJTY3JvbGxJblByb2dyZXNzKCkgY29uc3Q7CiAgICAgYm9vbCBpc1J1YmJlckJhbmRJblByb2dy
ZXNzKCkgY29uc3Q7CiAgICAgYm9vbCBpc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3Q7CkBA
IC0xNDksNiArMTUxLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Nyb2xsU25hcEluZGV4RGlk
Q2hhbmdlKGJvb2wgc3RhdGUpIHsgbV9hY3RpdmVTY3JvbGxTbmFwSW5kZXhEaWRDaGFuZ2UgPSBz
dGF0ZTsgfQogICAgIHVuc2lnbmVkIGFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xs
RXZlbnRBeGlzKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVNjcm9sbFNuYXBTdGF0ZShjb25zdCBT
Y3JvbGxhYmxlQXJlYSYpOworCisgICAgdm9pZCB1cGRhdGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRl
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOworCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGJv
b2wgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpOwogI2VuZGlmCkBAIC0xNzksNyArMTg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0
U2Nyb2xsU25hcFRpbWVyKCk7CiAgICAgdm9pZCBzdG9wU2Nyb2xsU25hcFRpbWVyKCk7CiAKLSAg
ICBib29sIHNob3VsZE92ZXJyaWRlSW5lcnRpYWxTY3JvbGxpbmcoKSBjb25zdDsKKyAgICBib29s
IHNob3VsZE92ZXJyaWRlTW9tZW50dW1TY3JvbGxpbmcoKSBjb25zdDsKICAgICB2b2lkIHN0YXRl
bGVzc1NuYXBUcmFuc2l0aW9uVGltZXJGaXJlZCgpOwogICAgIHZvaWQgc2NoZWR1bGVTdGF0ZWxl
c3NTY3JvbGxTbmFwKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9T
Y3JvbGxDb250cm9sbGVyLm1tCmluZGV4IDE4MjY0MDIxMGRjN2IyNTM4MWVlMDMxNzdhMTc5YTdh
NjdlZjUyNTQuLmZmZWM0NDU0NGJkMjZjOTgzMDI0Mjc3YjVmMWEyMWUzMDEwZTBlNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpA
QCAtMTM3LDcgKzEzNyw2IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVu
dChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiAgICAgICAgIGlmIChkaXJl
Y3Rpb24gJiYgbV9jbGllbnQucGlubmVkSW5EaXJlY3Rpb24oRmxvYXRTaXplKDAsIC13aGVlbEV2
ZW50LmRlbHRhWSgpKSkgJiYgIXNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihkaXJlY3Rpb24u
dmFsdWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgbV9pblNjcm9s
bEdlc3R1cmUgPSB0cnVlOwogICAgICAgICBtX21vbWVudHVtU2Nyb2xsSW5Qcm9ncmVzcyA9IGZh
bHNlOwogICAgICAgICBtX2lnbm9yZU1vbWVudHVtU2Nyb2xscyA9IGZhbHNlOwogICAgICAgICBt
X2xhc3RNb21lbnR1bVNjcm9sbFRpbWVzdGFtcCA9IHsgfTsKQEAgLTQ1NSw2ICs0NTQsMTUgQEAg
dm9pZCBTY3JvbGxDb250cm9sbGVyOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQoKQogfQogI2Vu
ZGlmCiAKK2Jvb2wgU2Nyb2xsQ29udHJvbGxlcjo6dXNlc1Njcm9sbFNuYXAoKSBjb25zdAorewor
I2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCisgICAgcmV0dXJuICEhbV9zY3JvbGxTbmFwU3Rh
dGU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBib29sIFNjcm9sbENv
bnRyb2xsZXI6OmlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKSBjb25zdAogewogI2lmIFBMQVRGT1JN
KE1BQykKQEAgLTQ3OCw2ICs0ODYsOSBAQCBib29sIFNjcm9sbENvbnRyb2xsZXI6OmlzUnViYmVy
QmFuZEluUHJvZ3Jlc3MoKSBjb25zdAogCiBib29sIFNjcm9sbENvbnRyb2xsZXI6OmlzU2Nyb2xs
U25hcEluUHJvZ3Jlc3MoKSBjb25zdAogeworICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExB
VEZPUk0oTUFDKQogICAgIGlmIChtX2luU2Nyb2xsR2VzdHVyZSB8fCBtX21vbWVudHVtU2Nyb2xs
SW5Qcm9ncmVzcyB8fCBtX3Njcm9sbFNuYXBUaW1lcikKICAgICAgICAgcmV0dXJuIHRydWU7CkBA
IC01MTcsOCArNTI4LDYgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzbmFwUnViYmVyQmFuZCgp
CiAgICAgaWYgKG1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0YW1wICYmIHRpbWVEZWx0YSA+PSBz
Y3JvbGxWZWxvY2l0eVplcm9pbmdUaW1lb3V0KQogICAgICAgICBtX21vbWVudHVtVmVsb2NpdHkg
PSB7IH07CiAKLSAgICBtX2luU2Nyb2xsR2VzdHVyZSA9IGZhbHNlOwotCiAgICAgaWYgKG1fc25h
cFJ1YmJlcmJhbmRUaW1lcikKICAgICAgICAgcmV0dXJuOwogCkBAIC01NTMsMTMgKzU2MiwxMyBA
QCBzdGF0aWMgaW5saW5lIFdoZWVsRXZlbnRTdGF0dXMgdG9XaGVlbEV2ZW50U3RhdHVzKFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlLAogICAgIGlmIChwaGFzZSA9PSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU5vbmUpIHsKICAgICAgICAgc3dpdGNoIChtb21lbnR1bVBoYXNlKSB7CiAgICAg
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdhbjoKLSAgICAgICAgICAgIHJldHVy
biBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbEJlZ2luOworICAgICAgICAgICAgcmV0
dXJuIFdoZWVsRXZlbnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsQmVnaW47CiAgICAgICAgICAgICAg
ICAgCiAgICAgICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDaGFuZ2VkOgotICAgICAg
ICAgICAgcmV0dXJuIFdoZWVsRXZlbnRTdGF0dXM6OkluZXJ0aWFsU2Nyb2xsaW5nOworICAgICAg
ICAgICAgcmV0dXJuIFdoZWVsRXZlbnRTdGF0dXM6Ok1vbWVudHVtU2Nyb2xsaW5nOwogICAgICAg
ICAgICAgICAgIAogICAgICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQ6Ci0g
ICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudFN0YXR1czo6SW5lcnRpYWxTY3JvbGxFbmQ7Cisg
ICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1TY3JvbGxFbmQ7CiAK
ICAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmU6CiAgICAgICAgICAgICBy
ZXR1cm4gV2hlZWxFdmVudFN0YXR1czo6U3RhdGVsZXNzU2Nyb2xsRXZlbnQ7CkBAIC01OTUsOSAr
NjA0LDkgQEAgc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIFdo
ZWVsRXZlbnRTdGF0dXMgc3RhdHVzKQogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6VXNlclNj
cm9sbEJlZ2luOiB0cyA8PCAiVXNlclNjcm9sbEJlZ2luIjsgYnJlYWs7CiAgICAgY2FzZSBXaGVl
bEV2ZW50U3RhdHVzOjpVc2VyU2Nyb2xsaW5nOiB0cyA8PCAiVXNlclNjcm9sbGluZyI7IGJyZWFr
OwogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6VXNlclNjcm9sbEVuZDogdHMgPDwgIlVzZXJT
Y3JvbGxFbmQiOyBicmVhazsKLSAgICBjYXNlIFdoZWVsRXZlbnRTdGF0dXM6OkluZXJ0aWFsU2Ny
b2xsQmVnaW46IHRzIDw8ICJJbmVydGlhbFNjcm9sbEJlZ2luIjsgYnJlYWs7Ci0gICAgY2FzZSBX
aGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbGluZzogdHMgPDwgIkluZXJ0aWFsU2Nyb2xs
aW5nIjsgYnJlYWs7Ci0gICAgY2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbEVu
ZDogdHMgPDwgIkluZXJ0aWFsU2Nyb2xsRW5kIjsgYnJlYWs7CisgICAgY2FzZSBXaGVlbEV2ZW50
U3RhdHVzOjpNb21lbnR1bVNjcm9sbEJlZ2luOiB0cyA8PCAiTW9tZW50dW1TY3JvbGxCZWdpbiI7
IGJyZWFrOworICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1TY3JvbGxpbmc6IHRz
IDw8ICJNb21lbnR1bVNjcm9sbGluZyI7IGJyZWFrOworICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1
czo6TW9tZW50dW1TY3JvbGxFbmQ6IHRzIDw8ICJNb21lbnR1bVNjcm9sbEVuZCI7IGJyZWFrOwog
ICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6U3RhdGVsZXNzU2Nyb2xsRXZlbnQ6IHRzIDw8ICJT
dGF0ZWxlc3NTY3JvbGxFdmVudCI7IGJyZWFrOwogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6
VW5rbm93bjogdHMgPDwgIlVua25vd24iOyBicmVhazsKICAgICB9CkBAIC02MDUsOSArNjE0LDkg
QEAgc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIFdoZWVsRXZl
bnRTdGF0dXMgc3RhdHVzKQogfQogI2VuZGlmCiAKLWJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6c2hv
dWxkT3ZlcnJpZGVJbmVydGlhbFNjcm9sbGluZygpIGNvbnN0Citib29sIFNjcm9sbENvbnRyb2xs
ZXI6OnNob3VsZE92ZXJyaWRlTW9tZW50dW1TY3JvbGxpbmcoKSBjb25zdAogewotICAgIGlmICgh
bV9zY3JvbGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBTY3JvbGxTbmFwU3RhdGUgc2Nyb2xsU25hcFN0YXRlID0gbV9z
Y3JvbGxTbmFwU3RhdGUtPmN1cnJlbnRTdGF0ZSgpOwpAQCAtNjIxLDcgKzYzMCw3IEBAIHZvaWQg
U2Nyb2xsQ29udHJvbGxlcjo6c2NoZWR1bGVTdGF0ZWxlc3NTY3JvbGxTbmFwKCkKICAgICAgICAg
bV9zdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyLT5zdG9wKCk7CiAgICAgICAgIG1fc3RhdGVs
ZXNzU25hcFRyYW5zaXRpb25UaW1lciA9IG51bGxwdHI7CiAgICAgfQotICAgIGlmICghbV9zY3Jv
bGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICByZXR1cm47
CiAKICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkgPSA3
NTBfbXM7CkBAIC02MzYsNyArNjQ1LDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGF0ZWxl
c3NTbmFwVHJhbnNpdGlvblRpbWVyRmlyZWQoKQogewogICAgIG1fc3RhdGVsZXNzU25hcFRyYW5z
aXRpb25UaW1lciA9IG51bGxwdHI7CiAKLSAgICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKQorICAg
IGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zY3JvbGxT
bmFwU3RhdGUtPnRyYW5zaXRpb25Ub1NuYXBBbmltYXRpb25TdGF0ZShtX2NsaWVudC5zY3JvbGxF
eHRlbnQoKSwgbV9jbGllbnQudmlld3BvcnRTaXplKCksIG1fY2xpZW50LnBhZ2VTY2FsZUZhY3Rv
cigpLCBtX2NsaWVudC5zY3JvbGxPZmZzZXQoKSk7CkBAIC02NTUsMTcgKzY2NCwxNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0b3BEZWZlcnJpbmdXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25E
dWVUb1Njcm9sbFNuYXBwaW5nKAogCiBib29sIFNjcm9sbENvbnRyb2xsZXI6OnByb2Nlc3NXaGVl
bEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQp
CiB7Ci0gICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0ZSkKKyAgICBpZiAoIXVzZXNTY3JvbGxTbmFw
KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKG1fc2Nyb2xsU25hcFN0YXRlLT5z
bmFwT2Zmc2V0c0ZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsKS5pc0VtcHR5KCkg
JiYgbV9zY3JvbGxTbmFwU3RhdGUtPnNuYXBPZmZzZXRzRm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6
OlZlcnRpY2FsKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgV2hlZWxF
dmVudFN0YXR1cyBzdGF0dXMgPSB0b1doZWVsRXZlbnRTdGF0dXMod2hlZWxFdmVudC5waGFzZSgp
LCB3aGVlbEV2ZW50Lm1vbWVudHVtUGhhc2UoKSk7CisgICAgYXV0byBzdGF0dXMgPSB0b1doZWVs
RXZlbnRTdGF0dXMod2hlZWxFdmVudC5waGFzZSgpLCB3aGVlbEV2ZW50Lm1vbWVudHVtUGhhc2Uo
KSk7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsU25hcCwgc3RyZWFtIDw8ICJTY3JvbGxD
b250cm9sbGVyICIgPDwgdGhpcyA8PCAiIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcDog
c3RhdHVzICIgPDwgc3RhdHVzKTsKIAotICAgIGJvb2wgaXNJbmVydGlhbFNjcm9sbGluZyA9IGZh
bHNlOworICAgIGJvb2wgaXNNb21lbnR1bVNjcm9sbGluZyA9IGZhbHNlOwogICAgIHN3aXRjaCAo
c3RhdHVzKSB7CiAgICAgY2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpVc2VyU2Nyb2xsQmVnaW46CiAg
ICAgY2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpVc2VyU2Nyb2xsaW5nOgpAQCAtNjc3LDE0ICs2ODYs
MTQgQEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNu
YXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JgogICAgICAgICBtX3Njcm9sbFNuYXBTdGF0ZS0+
dHJhbnNpdGlvblRvU25hcEFuaW1hdGlvblN0YXRlKG1fY2xpZW50LnNjcm9sbEV4dGVudCgpLCBt
X2NsaWVudC52aWV3cG9ydFNpemUoKSwgbV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCksIG1fY2xp
ZW50LnNjcm9sbE9mZnNldCgpKTsKICAgICAgICAgc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXaGVlbEV2ZW50U3RhdHVzOjpJbmVydGlhbFNjcm9sbEJl
Z2luOgorICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1TY3JvbGxCZWdpbjoKICAg
ICAgICAgbV9zY3JvbGxTbmFwU3RhdGUtPnRyYW5zaXRpb25Ub0dsaWRlQW5pbWF0aW9uU3RhdGUo
bV9jbGllbnQuc2Nyb2xsRXh0ZW50KCksIG1fY2xpZW50LnZpZXdwb3J0U2l6ZSgpLCBtX2NsaWVu
dC5wYWdlU2NhbGVGYWN0b3IoKSwgbV9jbGllbnQuc2Nyb2xsT2Zmc2V0KCksIG1fZHJhZ0VuZGVk
U2Nyb2xsaW5nVmVsb2NpdHksIEZsb2F0U2l6ZSgtd2hlZWxFdmVudC5kZWx0YVgoKSwgLXdoZWVs
RXZlbnQuZGVsdGFZKCkpKTsKICAgICAgICAgbV9kcmFnRW5kZWRTY3JvbGxpbmdWZWxvY2l0eSA9
IHsgfTsKLSAgICAgICAgaXNJbmVydGlhbFNjcm9sbGluZyA9IHRydWU7CisgICAgICAgIGlzTW9t
ZW50dW1TY3JvbGxpbmcgPSB0cnVlOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdoZWVsRXZl
bnRTdGF0dXM6OkluZXJ0aWFsU2Nyb2xsaW5nOgotICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6
SW5lcnRpYWxTY3JvbGxFbmQ6Ci0gICAgICAgIGlzSW5lcnRpYWxTY3JvbGxpbmcgPSB0cnVlOwor
ICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1czo6TW9tZW50dW1TY3JvbGxpbmc6CisgICAgY2FzZSBX
aGVlbEV2ZW50U3RhdHVzOjpNb21lbnR1bVNjcm9sbEVuZDoKKyAgICAgICAgaXNNb21lbnR1bVNj
cm9sbGluZyA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2hlZWxFdmVudFN0YXR1
czo6U3RhdGVsZXNzU2Nyb2xsRXZlbnQ6CiAgICAgICAgIG1fc2Nyb2xsU25hcFN0YXRlLT50cmFu
c2l0aW9uVG9Vc2VySW50ZXJhY3Rpb25TdGF0ZSgpOwpAQCAtNjk1LDcgKzcwNCwxNSBAQCBib29s
IFNjcm9sbENvbnRyb2xsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVybiAh
KGlzSW5lcnRpYWxTY3JvbGxpbmcgJiYgc2hvdWxkT3ZlcnJpZGVJbmVydGlhbFNjcm9sbGluZygp
KTsKKyAgICByZXR1cm4gIShpc01vbWVudHVtU2Nyb2xsaW5nICYmIHNob3VsZE92ZXJyaWRlTW9t
ZW50dW1TY3JvbGxpbmcoKSk7Cit9CisKK3ZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6dXBkYXRlR2Vz
dHVyZUluUHJvZ3Jlc3NTdGF0ZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQp
Cit7CisgICAgaWYgKHdoZWVsRXZlbnQuaXNHZXN0dXJlQmVnaW4oKSB8fCB3aGVlbEV2ZW50Lmlz
VHJhbnNpdGlvbmluZ1RvTW9tZW50dW1TY3JvbGwoKSkKKyAgICAgICAgbV9pblNjcm9sbEdlc3R1
cmUgPSB0cnVlOworICAgIGVsc2UgaWYgKHdoZWVsRXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Ny
b2xsKCkgfHwgd2hlZWxFdmVudC5pc0dlc3R1cmVDYW5jZWwoKSB8fCB3aGVlbEV2ZW50LmlzRW5k
T2ZNb21lbnR1bVNjcm9sbCgpKQorICAgICAgICBtX2luU2Nyb2xsR2VzdHVyZSA9IGZhbHNlOwog
fQogCiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKQEAgLTcy
OSw3ICs3NDYsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0b3BTY3JvbGxTbmFwVGltZXIo
KQogCiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjcm9sbFNuYXBUaW1lckZpcmVkKCkKIHsKLSAg
ICBpZiAoIW1fc2Nyb2xsU25hcFN0YXRlKSB7CisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKSB7
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpA
QCAtNzg2LDcgKzgwMyw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6dXBkYXRlU2Nyb2xsU25h
cFBvaW50cyhTY3JvbGxFdmVudEF4aXMgYXhpcywgY29uc3QgVmVjdG9yCiAKIHVuc2lnbmVkIFNj
cm9sbENvbnRyb2xsZXI6OmFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRB
eGlzIGF4aXMpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0ZSkKKyAgICBpZiAo
IXVzZXNTY3JvbGxTbmFwKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1fc2Ny
b2xsU25hcFN0YXRlLT5hY3RpdmVTbmFwSW5kZXhGb3JBeGlzKGF4aXMpOwpAQCAtNzk0LDcgKzgx
MSw3IEBAIHVuc2lnbmVkIFNjcm9sbENvbnRyb2xsZXI6OmFjdGl2ZVNjcm9sbFNuYXBJbmRleEZv
ckF4aXMoU2Nyb2xsRXZlbnRBeGlzIGF4aXMpIGNvCiAKIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6
c2V0QWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXMgYXhpcywgdW5z
aWduZWQgaW5kZXgpCiB7Ci0gICAgaWYgKCFtX3Njcm9sbFNuYXBTdGF0ZSkKKyAgICBpZiAoIXVz
ZXNTY3JvbGxTbmFwKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc2Nyb2xsU25hcFN0YXRl
LT5zZXRBY3RpdmVTbmFwSW5kZXhGb3JBeGlzKGF4aXMsIGluZGV4KTsKQEAgLTgwMiw3ICs4MTks
NyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldEFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4
aXMoU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIHVucwogCiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNl
dE5lYXJlc3RTY3JvbGxTbmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KFNjcm9sbEV2ZW50QXhpcyBh
eGlzLCBpbnQgb2Zmc2V0KQogewotICAgIGlmICghbV9zY3JvbGxTbmFwU3RhdGUpCisgICAgaWYg
KCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBmbG9hdCBzY2FsZUZh
Y3RvciA9IG1fY2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpOwpAQCAtODI2LDcgKzg0Myw3IEBAIHZv
aWQgU2Nyb2xsQ29udHJvbGxlcjo6c2V0TmVhcmVzdFNjcm9sbFNuYXBJbmRleEZvckF4aXNBbmRP
ZmZzZXQoU2Nyb2xsRXZlbnRBeGlzCiAKIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c2V0QWN0aXZl
U2Nyb2xsU25hcEluZGljZXNGb3JPZmZzZXQoaW50IHgsIGludCB5KQogewotICAgIGlmICghbV9z
Y3JvbGxTbmFwU3RhdGUpCisgICAgaWYgKCF1c2VzU2Nyb2xsU25hcCgpKQogICAgICAgICByZXR1
cm47CiAKICAgICBzZXROZWFyZXN0U2Nyb2xsU25hcEluZGV4Rm9yQXhpc0FuZE9mZnNldChTY3Jv
bGxFdmVudEF4aXM6Okhvcml6b250YWwsIHgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDBjYjYzNmJmMTQ1OTk5MWZmZTg4NjNi
MjFkNzc3NjdiZWQ0OGI0OWEuLjVmNjUzMDNjZWE3YjEwYTkwMzEzZTdjOTk5M2M5Nzk3ZjBiMzM5
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRv
ck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JN
YWMubW0KQEAgLTEyNzIsNiArMTI3Miw4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OmhhbmRs
ZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogICAgIGlm
ICghd2hlZWxFdmVudC5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkgfHwgIXJ1YmJlckJhbmRp
bmdFbmFibGVkRm9yU3lzdGVtKCkpCiAgICAgICAgIHJldHVybiBTY3JvbGxBbmltYXRvcjo6aGFu
ZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKIAorICAgIG1fc2Nyb2xsQ29udHJvbGxlci51cGRh
dGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKHdoZWVsRXZlbnQpOworCiAgICAgLy8gRklYTUU6IFRo
aXMgaXMgc29tZXdoYXQgcm91bmRhYm91dCBoYWNrIHRvIGFsbG93IGZvcndhcmRpbmcgd2hlZWwg
ZXZlbnRzCiAgICAgLy8gdXAgdG8gdGhlIHBhcmVudCBzY3JvbGxhYmxlIGFyZWEuIEl0IHRha2Vz
IGFkdmFudGFnZSBvZiB0aGUgZmFjdCB0aGF0CiAgICAgLy8gdGhlIGJhc2UgY2xhc3MgaW1wbGVt
ZW50YXRpb24gb2YgaGFuZGxlV2hlZWxFdmVudCB3aWxsIG5vdCBhY2NlcHQgdGhlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
OTRmYmZlNzhkNzY1MjhjZTU4NzQyM2Q4YjUxZDU3ZDU1M2RmMTg2OC4uOGY5ZmYyZmJhZTUxZDE0
NzJjZDY1MWM2ZjgwODE0ZDc4ODA1OGRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA3
LTA5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFm
dGVyIGEgc2Nyb2xsIGdlc3R1cmUsIGNvbnRlbnQgY2hhbmdlcyBkb24ndCB0cmlnZ2VyIHJlLXNu
YXBwaW5nIHdpdGggc2Nyb2xsIHNuYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1h
ZnRlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLmh0bWw6IEFkZGVkLgorCiAy
MDIwLTA3LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgbWFyayByZWYtdGVzdCBhcyBmbGFreSBvbiBpT1Mgc2luY2UgaW1wb3J0IGluIHIy
NjM5ODcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWRqdXN0
LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42ZmM2OTNlNTAyNmIzOTQ0NTU3MTNhYjJjZTc2Njc4YWU2Nzg2MzFl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVz
dC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CisgICAgICAgIAorCitTY3JvbGxpbmcKK1BBU1Mgc2Nyb2xsZXIuc2Nyb2xsTGVmdCBpcyAyNTgK
K1Njcm9sbGVyIHNob3VsZCByZS1zbmFwCitQQVNTIHNjcm9sbGVyLnNjcm9sbExlZnQgaXMgMjc4
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25h
cC1hZnRlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWRq
dXN0LXNjcm9sbC1zbmFwLWFmdGVyLWdlc3R1cmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODJkNDIzMjNi
NmNmZjM1N2E1Y2U4Y2M3ZjBlMDczODM2NzYzZDBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FkanVzdC1zY3JvbGwtc25hcC1hZnRlci1nZXN0dXJl
Lmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAg
ICAgaGVpZ2h0OiAyMDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC5zY3JvbGxl
ciB7CisgICAgICAgICAgICB3aWR0aDogNjIwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4
OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgICAgICBvdmVy
Zmxvdy14OiBzY3JvbGw7CisgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9y
eTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLmNvbnRlbnRzIHsKKyAgICAgICAgICAg
IHdpZHRoOiAyMDAlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuYm94IHsKKyAgICAg
ICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7
CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICAgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuc2Nyb2xsZXIu
Y2hhbmdlZCAuYm94IHsKKyAgICAgICAgICAgIHdpZHRoOiAxMTBweDsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgdmFyIHNjcm9sbGVyOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHNjcm9sbFRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZWJ1
ZygnJyk7CisgICAgICAgICAgICBkZWJ1ZygnU2Nyb2xsaW5nJyk7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5tb3VzZVdoZWVsU2Nyb2xsQXQoMjAsIDIwLCAtMSwgMCwgLTIwLCAwKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdzY3JvbGxlci5zY3JvbGxMZWZ0JywgJzI1OCcpOworCisgICAg
ICAgICAgICBzY3JvbGxlci5jbGFzc0xpc3QuYWRkKCdjaGFuZ2VkJyk7CisKKyAgICAgICAgICAg
IGRlYnVnKCdTY3JvbGxlciBzaG91bGQgcmUtc25hcCcpOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYW5pbWF0aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdzY3JvbGxlci5z
Y3JvbGxMZWZ0JywgJzI3OCcpOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gewor
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsICgpID0+
IHt9LCBmYWxzZSk7IC8vIEZvcmNlIHN5bmMgc2Nyb2xsaW5nLgorICAgICAgICAgICAgc2Nyb2xs
ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Nyb2xsZXInKTsKKyAgICAgICAgICAgIHNl
dFRpbWVvdXQoc2Nyb2xsVGVzdCwgMCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVyIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iY29udGVudHMiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rp
dj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJib3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>