<?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>228870</bug_id>
          
          <creation_ts>2021-08-06 12:37:41 -0700</creation_ts>
          <short_desc>Remove shadow related SVG functionality</short_desc>
          <delta_ts>2021-08-15 11:38:11 -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>SVG</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=187429</see_also>
          <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="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1782545</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-06 12:37:41 -0700</bug_when>
    <thetext>Remove shadow related SVG functionality since it was added
for the removed property -webkit-svg-shadow (see 238071).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782549</commentid>
    <comment_count>1</comment_count>
      <attachid>435080</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-06 12:56:52 -0700</bug_when>
    <thetext>Created attachment 435080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782551</commentid>
    <comment_count>2</comment_count>
      <attachid>435081</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-06 13:02:04 -0700</bug_when>
    <thetext>Created attachment 435081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782560</commentid>
    <comment_count>3</comment_count>
      <attachid>435085</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-06 13:56:44 -0700</bug_when>
    <thetext>Created attachment 435085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784188</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-13 12:38:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/81911810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784399</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-15 11:38:08 -0700</bug_when>
    <thetext>Committed r281064 (240525@main): &lt;https://commits.webkit.org/240525@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435085.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435080</attachid>
            <date>2021-08-06 12:56:52 -0700</date>
            <delta_ts>2021-08-06 13:02:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228870-20210806215650.patch</filename>
            <type>text/plain</type>
            <size>15007</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzAzOTlhYzkxNWMyOGQz
ZTE4NDk0ZDJiODIwZGIzZTg4NDlkMDhhMy4uYzU3NWY2MDQ0ZDliNGY4ZGM3NzNjYmRjNzM0Mzhh
ZmIzNzdiN2JlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA4LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNoYWRvdyByZWxhdGVk
IFNWRyBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjg4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgc2hhZG93IHJlbGF0ZWQgU1ZHIGZ1bmN0aW9uYWxpdHkgc2luY2Ug
aXQgd2FzIGFkZGVkCisgICAgICAgIGZvciB0aGUgcmVtb3ZlZCBwcm9wZXJ0eSAtd2Via2l0LXN2
Zy1zaGFkb3cgKHNlZSByMjM4MDcxKS4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6U1ZHUmVu
ZGVyU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6Om9wZXJhdG9yPT0g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmNvcHlOb25Jbmhlcml0
ZWRGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpkaWZmIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsTGlnaHRpbmdDb2xvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6YmFzZWxpbmVTaGlmdFZhbHVlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppc29sYXRlc0JsZW5kaW5nIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsU2hhZG93KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpzZXRTaGFkb3cpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnNoYWRvdyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6dXBkYXRlQ2FjaGVkQm91
bmRhcmllcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1JlbmRlclN1cHBvcnQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVGbG9hdFZpc2libGVSZWN0
SW5Db250YWluZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJpbmdDb250ZXh0Ojp+U1ZHUmVuZGVy
aW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJpbmdDb250ZXh0OjpwcmVw
YXJlVG9SZW5kZXJTVkdDb250ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRl
cmluZ0NvbnRleHQuaDoKKwogMjAyMS0wOC0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDIHNo
b3VsZCBza2lwIGVucXVldWluZyBmcmFtZXMgd2hlbiBub3QgdmlzaWJsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAKaW5kZXggMmZkNGU2
ZGUzOTMwMGYxOTQxZmU1NTdmZTRiM2ZiNDFiNmVmNTEyOC4uYjU2MmQ4YWIzMDQwNWE2MzNiN2Yw
MDU0M2ZhOTkwMmM3NDE5OWQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIFNWR1JlbmRlclN0eWxl
OjpTVkdSZW5kZXJTdHlsZSgpCiAgICAgLCBtX2luaGVyaXRlZFJlc291cmNlRGF0YShkZWZhdWx0
U1ZHU3R5bGUoKS5tX2luaGVyaXRlZFJlc291cmNlRGF0YSkKICAgICAsIG1fc3RvcERhdGEoZGVm
YXVsdFNWR1N0eWxlKCkubV9zdG9wRGF0YSkKICAgICAsIG1fbWlzY0RhdGEoZGVmYXVsdFNWR1N0
eWxlKCkubV9taXNjRGF0YSkKLSAgICAsIG1fc2hhZG93RGF0YShkZWZhdWx0U1ZHU3R5bGUoKS5t
X3NoYWRvd0RhdGEpCiAgICAgLCBtX2xheW91dERhdGEoZGVmYXVsdFNWR1N0eWxlKCkubV9sYXlv
dXREYXRhKQogICAgICwgbV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGEoZGVmYXVsdFNWR1N0eWxl
KCkubV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGEpCiB7CkBAIC03MSw3ICs3MCw2IEBAIFNWR1Jl
bmRlclN0eWxlOjpTVkdSZW5kZXJTdHlsZShDcmVhdGVEZWZhdWx0VHlwZSkKICAgICAsIG1faW5o
ZXJpdGVkUmVzb3VyY2VEYXRhKFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhOjpjcmVhdGUoKSkK
ICAgICAsIG1fc3RvcERhdGEoU3R5bGVTdG9wRGF0YTo6Y3JlYXRlKCkpCiAgICAgLCBtX21pc2NE
YXRhKFN0eWxlTWlzY0RhdGE6OmNyZWF0ZSgpKQotICAgICwgbV9zaGFkb3dEYXRhKFN0eWxlU2hh
ZG93U1ZHRGF0YTo6Y3JlYXRlKCkpCiAgICAgLCBtX2xheW91dERhdGEoU3R5bGVMYXlvdXREYXRh
OjpjcmVhdGUoKSkKICAgICAsIG1fbm9uSW5oZXJpdGVkUmVzb3VyY2VEYXRhKFN0eWxlUmVzb3Vy
Y2VEYXRhOjpjcmVhdGUoKSkKIHsKQEAgLTg4LDcgKzg2LDYgQEAgaW5saW5lIFNWR1JlbmRlclN0
eWxlOjpTVkdSZW5kZXJTdHlsZShjb25zdCBTVkdSZW5kZXJTdHlsZSYgb3RoZXIpCiAgICAgLCBt
X2luaGVyaXRlZFJlc291cmNlRGF0YShvdGhlci5tX2luaGVyaXRlZFJlc291cmNlRGF0YSkKICAg
ICAsIG1fc3RvcERhdGEob3RoZXIubV9zdG9wRGF0YSkKICAgICAsIG1fbWlzY0RhdGEob3RoZXIu
bV9taXNjRGF0YSkKLSAgICAsIG1fc2hhZG93RGF0YShvdGhlci5tX3NoYWRvd0RhdGEpCiAgICAg
LCBtX2xheW91dERhdGEob3RoZXIubV9sYXlvdXREYXRhKQogICAgICwgbV9ub25Jbmhlcml0ZWRS
ZXNvdXJjZURhdGEob3RoZXIubV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGEpCiB7CkBAIC0xMDgs
NyArMTA1LDYgQEAgYm9vbCBTVkdSZW5kZXJTdHlsZTo6b3BlcmF0b3I9PShjb25zdCBTVkdSZW5k
ZXJTdHlsZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICYmIG1fdGV4dERhdGEgPT0gb3RoZXIubV90
ZXh0RGF0YQogICAgICAgICAmJiBtX3N0b3BEYXRhID09IG90aGVyLm1fc3RvcERhdGEKICAgICAg
ICAgJiYgbV9taXNjRGF0YSA9PSBvdGhlci5tX21pc2NEYXRhCi0gICAgICAgICYmIG1fc2hhZG93
RGF0YSA9PSBvdGhlci5tX3NoYWRvd0RhdGEKICAgICAgICAgJiYgbV9sYXlvdXREYXRhID09IG90
aGVyLm1fbGF5b3V0RGF0YQogICAgICAgICAmJiBtX2luaGVyaXRlZFJlc291cmNlRGF0YSA9PSBv
dGhlci5tX2luaGVyaXRlZFJlc291cmNlRGF0YQogICAgICAgICAmJiBtX25vbkluaGVyaXRlZFJl
c291cmNlRGF0YSA9PSBvdGhlci5tX25vbkluaGVyaXRlZFJlc291cmNlRGF0YQpAQCAtMTQwLDcg
KzEzNiw2IEBAIHZvaWQgU1ZHUmVuZGVyU3R5bGU6OmNvcHlOb25Jbmhlcml0ZWRGcm9tKGNvbnN0
IFNWR1JlbmRlclN0eWxlJiBvdGhlcikKICAgICBtX25vbkluaGVyaXRlZEZsYWdzID0gb3RoZXIu
bV9ub25Jbmhlcml0ZWRGbGFnczsKICAgICBtX3N0b3BEYXRhID0gb3RoZXIubV9zdG9wRGF0YTsK
ICAgICBtX21pc2NEYXRhID0gb3RoZXIubV9taXNjRGF0YTsKLSAgICBtX3NoYWRvd0RhdGEgPSBv
dGhlci5tX3NoYWRvd0RhdGE7CiAgICAgbV9sYXlvdXREYXRhID0gb3RoZXIubV9sYXlvdXREYXRh
OwogICAgIG1fbm9uSW5oZXJpdGVkUmVzb3VyY2VEYXRhID0gb3RoZXIubV9ub25Jbmhlcml0ZWRS
ZXNvdXJjZURhdGE7CiB9CkBAIC0xNzUsMTAgKzE3MCw2IEBAIFN0eWxlRGlmZmVyZW5jZSBTVkdS
ZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBTVkdSZW5kZXJTdHlsZSYgb3RoZXIpIGNvbnN0CiAgICAg
aWYgKG1pc2NOb3RFcXVhbCAmJiBtX21pc2NEYXRhLT5iYXNlbGluZVNoaWZ0VmFsdWUgIT0gb3Ro
ZXIubV9taXNjRGF0YS0+YmFzZWxpbmVTaGlmdFZhbHVlKQogICAgICAgICByZXR1cm4gU3R5bGVE
aWZmZXJlbmNlOjpMYXlvdXQ7CiAKLSAgICAvLyBTaGFkb3cgY2hhbmdlcyByZXF1aXJlIHJlbGF5
b3V0cywgYXMgdGhleSBhZmZlY3QgdGhlIHJlcGFpbnQgcmVjdHMuCi0gICAgaWYgKG1fc2hhZG93
RGF0YSAhPSBvdGhlci5tX3NoYWRvd0RhdGEpCi0gICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVu
Y2U6OkxheW91dDsKLQogICAgIC8vIFRoZSB4IG9yIHkgcHJvcGVydGllcyByZXF1aXJlIHJlbGF5
b3V0LgogICAgIGlmIChtX2xheW91dERhdGEgIT0gb3RoZXIubV9sYXlvdXREYXRhKQogICAgICAg
ICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXQ7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAppbmRleCA1NjhjYmM0ZTgxMzE0ODhmY2Mx
MGNmZGUwN2JhNzU5YmM5YjIyODc4Li4yMDhiOGQ3OGZjODdiZDgyNDk5ZDYzZjU3MjhiNWQ2NmU1
NWFhYzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVu
ZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGUuaApAQCAtNzcsNyArNzcsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGZsb2F0IGluaXRp
YWxGbG9vZE9wYWNpdHkoKSB7IHJldHVybiAxOyB9CiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxG
bG9vZENvbG9yKCkgeyByZXR1cm4gQ29sb3I6OmJsYWNrOyB9CiAgICAgc3RhdGljIENvbG9yIGlu
aXRpYWxMaWdodGluZ0NvbG9yKCkgeyByZXR1cm4gQ29sb3I6OndoaXRlOyB9Ci0gICAgc3RhdGlj
IFNoYWRvd0RhdGEqIGluaXRpYWxTaGFkb3coKSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgc3Rh
dGljIFN0cmluZyBpbml0aWFsTWFza2VyUmVzb3VyY2UoKSB7IHJldHVybiBTdHJpbmcoKTsgfQog
ICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbE1hcmtlclN0YXJ0UmVzb3VyY2UoKSB7IHJldHVybiBT
dHJpbmcoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbE1hcmtlck1pZFJlc291cmNlKCkg
eyByZXR1cm4gU3RyaW5nKCk7IH0KQEAgLTEyNCw4ICsxMjMsNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRMaWdodGluZ0NvbG9yKGNvbnN0IENvbG9yJik7CiAgICAgdm9pZCBzZXRCYXNlbGluZVNo
aWZ0VmFsdWUoY29uc3QgU1ZHTGVuZ3RoVmFsdWUmKTsKIAotICAgIHZvaWQgc2V0U2hhZG93KHN0
ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiYmIGRhdGEpIHsgbV9zaGFkb3dEYXRhLmFjY2Vzcygp
LnNoYWRvdyA9IFdURk1vdmUoZGF0YSk7IH0KLQogICAgIC8vIFNldHRlcnMgZm9yIG5vbi1pbmhl
cml0ZWQgcmVzb3VyY2VzCiAgICAgdm9pZCBzZXRNYXNrZXJSZXNvdXJjZShjb25zdCBTdHJpbmcm
KTsKIApAQCAtMTY2LDcgKzE2Myw2IEBAIHB1YmxpYzoKICAgICBjb25zdCBDb2xvciYgZmxvb2RD
b2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fbWlzY0RhdGEtPmZsb29kQ29sb3I7IH0KICAgICBjb25z
dCBDb2xvciYgbGlnaHRpbmdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fbWlzY0RhdGEtPmxpZ2h0
aW5nQ29sb3I7IH0KICAgICBTVkdMZW5ndGhWYWx1ZSBiYXNlbGluZVNoaWZ0VmFsdWUoKSBjb25z
dCB7IHJldHVybiBtX21pc2NEYXRhLT5iYXNlbGluZVNoaWZ0VmFsdWU7IH0KLSAgICBTaGFkb3dE
YXRhKiBzaGFkb3coKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd0RhdGEtPnNoYWRvdy5nZXQoKTsg
fQogICAgIGNvbnN0IExlbmd0aCYgY3goKSBjb25zdCB7IHJldHVybiBtX2xheW91dERhdGEtPmN4
OyB9CiAgICAgY29uc3QgTGVuZ3RoJiBjeSgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0RGF0YS0+
Y3k7IH0KICAgICBjb25zdCBMZW5ndGgmIHIoKSBjb25zdCB7IHJldHVybiBtX2xheW91dERhdGEt
PnI7IH0KQEAgLTE5Miw3ICsxODgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNYXJrZXJzKCkg
Y29uc3QgeyByZXR1cm4gIW1hcmtlclN0YXJ0UmVzb3VyY2UoKS5pc0VtcHR5KCkgfHwgIW1hcmtl
ck1pZFJlc291cmNlKCkuaXNFbXB0eSgpIHx8ICFtYXJrZXJFbmRSZXNvdXJjZSgpLmlzRW1wdHko
KTsgfQogICAgIGJvb2wgaGFzU3Ryb2tlKCkgY29uc3QgeyByZXR1cm4gc3Ryb2tlUGFpbnRUeXBl
KCkgIT0gU1ZHUGFpbnRUeXBlOjpOb25lOyB9CiAgICAgYm9vbCBoYXNGaWxsKCkgY29uc3QgeyBy
ZXR1cm4gZmlsbFBhaW50VHlwZSgpICE9IFNWR1BhaW50VHlwZTo6Tm9uZTsgfQotICAgIGJvb2wg
aXNvbGF0ZXNCbGVuZGluZygpIGNvbnN0IHsgcmV0dXJuIGhhc01hc2tlcigpIHx8IHNoYWRvdygp
OyB9CisgICAgYm9vbCBpc29sYXRlc0JsZW5kaW5nKCkgY29uc3QgeyByZXR1cm4gaGFzTWFza2Vy
KCk7IH0KIAogcHJpdmF0ZToKICAgICBTVkdSZW5kZXJTdHlsZSgpOwpAQCAtMjQ5LDcgKzI0NSw2
IEBAIHByaXZhdGU6CiAgICAgLy8gbm9uLWluaGVyaXRlZCBhdHRyaWJ1dGVzCiAgICAgRGF0YVJl
ZjxTdHlsZVN0b3BEYXRhPiBtX3N0b3BEYXRhOwogICAgIERhdGFSZWY8U3R5bGVNaXNjRGF0YT4g
bV9taXNjRGF0YTsKLSAgICBEYXRhUmVmPFN0eWxlU2hhZG93U1ZHRGF0YT4gbV9zaGFkb3dEYXRh
OwogICAgIERhdGFSZWY8U3R5bGVMYXlvdXREYXRhPiBtX2xheW91dERhdGE7CiAgICAgRGF0YVJl
ZjxTdHlsZVJlc291cmNlRGF0YT4gbV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGE7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggM2Y5
ODcyOTE4OGEwMTg4OTE5MjEyY2ZiNDg2ZmRlOTM4MWIwZDRhYy4uZmMzNmJmZmJhZGJlMjU1ZDE1
ZjkzOWNlNzUzMWMwNjM2NGMyOTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0zNzAsMTQgKzM3MCwxMCBAQCBMYXlvdXRSZWN0IFJl
bmRlclNWR1Jvb3Q6OmNsaXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCogcmVwYQogCiBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gUmVuZGVyU1ZHUm9vdDo6Y29t
cHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNv
bnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0
IGNvbnRleHQpIGNvbnN0CiB7Ci0gICAgLy8gQXBwbHkgb3VyIGxvY2FsIHRyYW5zZm9ybXMgKGV4
Y2VwdCBmb3IgeC95IHRyYW5zbGF0aW9uKSwgdGhlbiBvdXIgc2hhZG93LCAKLSAgICAvLyBhbmQg
dGhlbiBjYWxsIFJlbmRlckJveCdzIG1ldGhvZCB0byBoYW5kbGUgYWxsIHRoZSBub3JtYWwgQ1NT
IEJveCBtb2RlbCBiaXRzCisgICAgLy8gQXBwbHkgb3VyIGxvY2FsIHRyYW5zZm9ybXMgKGV4Y2Vw
dCBmb3IgeC95IHRyYW5zbGF0aW9uKSBhbmQgdGhlbiBjYWxsCisgICAgLy8gUmVuZGVyQm94J3Mg
bWV0aG9kIHRvIGhhbmRsZSBhbGwgdGhlIG5vcm1hbCBDU1MgQm94IG1vZGVsIGJpdHMKICAgICBG
bG9hdFJlY3QgYWRqdXN0ZWRSZWN0ID0gbV9sb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtLm1hcFJl
Y3QocmVjdCk7CiAKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUgPSBzdHlsZSgp
LnN2Z1N0eWxlKCk7Ci0gICAgaWYgKGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdyA9IHN2Z1N0eWxl
LnNoYWRvdygpKQotICAgICAgICBzaGFkb3ctPmFkanVzdFJlY3RGb3JTaGFkb3coYWRqdXN0ZWRS
ZWN0KTsKLQogICAgIC8vIEFwcGx5IGluaXRpYWwgdmlld3BvcnQgY2xpcAogICAgIGlmIChzaG91
bGRBcHBseVZpZXdwb3J0Q2xpcCgpKSB7CiAgICAgICAgIGlmIChjb250ZXh0Lm9wdGlvbnMuY29u
dGFpbnMoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0
aW9uKSkgewpAQCAtNDE3LDExICs0MTMsOSBAQCBjb25zdCBSZW5kZXJPYmplY3QqIFJlbmRlclNW
R1Jvb3Q6OnB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbAogCiB2
b2lkIFJlbmRlclNWR1Jvb3Q6OnVwZGF0ZUNhY2hlZEJvdW5kYXJpZXMoKQogewotICAgIFNWR1Jl
bmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJCb3VuZGluZ0JveGVzKCp0aGlzLCBtX29iamVj
dEJvdW5kaW5nQm94LCBtX29iamVjdEJvdW5kaW5nQm94VmFsaWQsIG1fc3Ryb2tlQm91bmRpbmdC
b3gsIG1fcmVwYWludEJvdW5kaW5nQm94RXhjbHVkaW5nU2hhZG93KTsKLSAgICBTVkdSZW5kZXJT
dXBwb3J0OjppbnRlcnNlY3RSZXBhaW50UmVjdFdpdGhSZXNvdXJjZXMoKnRoaXMsIG1fcmVwYWlu
dEJvdW5kaW5nQm94RXhjbHVkaW5nU2hhZG93KTsKLSAgICBtX3JlcGFpbnRCb3VuZGluZ0JveEV4
Y2x1ZGluZ1NoYWRvdy5pbmZsYXRlKGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCkp
OwotCi0gICAgbV9yZXBhaW50Qm91bmRpbmdCb3ggPSBtX3JlcGFpbnRCb3VuZGluZ0JveEV4Y2x1
ZGluZ1NoYWRvdzsKKyAgICBTVkdSZW5kZXJTdXBwb3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRp
bmdCb3hlcygqdGhpcywgbV9vYmplY3RCb3VuZGluZ0JveCwgbV9vYmplY3RCb3VuZGluZ0JveFZh
bGlkLCBtX3N0cm9rZUJvdW5kaW5nQm94LCBtX3JlcGFpbnRCb3VuZGluZ0JveCk7CisgICAgU1ZH
UmVuZGVyU3VwcG9ydDo6aW50ZXJzZWN0UmVwYWludFJlY3RXaXRoUmVzb3VyY2VzKCp0aGlzLCBt
X3JlcGFpbnRCb3VuZGluZ0JveCk7CisgICAgbV9yZXBhaW50Qm91bmRpbmdCb3guaW5mbGF0ZSho
b3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpKTsKIH0KIAogYm9vbCBSZW5kZXJTVkdS
b290Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJl
c3VsdCYgcmVzdWx0LCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIs
IGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbiBoaXRU
ZXN0QWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
aAppbmRleCBkNGU1ZTFlNDk1YjhiODJiM2VkMWFjZGRiOTVlNjcyNDY1YWQwZGRjLi4xODY2ZjQy
ZjAyNzBiNGFhNTViNDJjOGEwNjI2NDc2NzRiNGE2MTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaApAQCAtMTExLDcgKzExMSw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2luTGF5b3V0IHsgZmFsc2UgfTsKICAgICBGbG9hdFJlY3QgbV9zdHJva2VC
b3VuZGluZ0JveDsKICAgICBGbG9hdFJlY3QgbV9yZXBhaW50Qm91bmRpbmdCb3g7Ci0gICAgRmxv
YXRSZWN0IG1fcmVwYWludEJvdW5kaW5nQm94RXhjbHVkaW5nU2hhZG93OwogICAgIG11dGFibGUg
QWZmaW5lVHJhbnNmb3JtIG1fbG9jYWxUb1BhcmVudFRyYW5zZm9ybTsKICAgICBBZmZpbmVUcmFu
c2Zvcm0gbV9sb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtOwogICAgIEhhc2hTZXQ8UmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIqPiBtX3Jlc291cmNlc05lZWRpbmdUb0ludmFsaWRhdGVDbGllbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBw
b3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5j
cHAKaW5kZXggMTU0ZjUzZDUyNmU5ZmQyMTQwZjFhMDA5NjhmOWM1YjIxMmU0YmQ2Mi4uNDRiODBh
YWU0OTU0ZDEwNjgwZDY5MWExZGRkMThlYTcwOTBiYTM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCkBAIC01OSw5ICs1OSw2IEBA
IExheW91dFJlY3QgU1ZHUmVuZGVyU3VwcG9ydDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQoY29uc3QgUmVuZGVyRWxlbWVudCYKICAgICAvLyBQYXNzIG91ciBsb2NhbCBwYWludCByZWN0
IHRvIGNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIoKSB3aGljaCB3aWxsCiAgICAg
Ly8gbWFwIHRvIHBhcmVudCBjb29yZHMgYW5kIHJlY3Vyc2UgdXAgdGhlIHBhcmVudCBjaGFpbi4K
ICAgICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSByZW5kZXJlci5yZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcygpOwotICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlJiBzdmdTdHlsZSA9IHJlbmRl
cmVyLnN0eWxlKCkuc3ZnU3R5bGUoKTsKLSAgICBpZiAoY29uc3QgU2hhZG93RGF0YSogc2hhZG93
ID0gc3ZnU3R5bGUuc2hhZG93KCkpCi0gICAgICAgIHNoYWRvdy0+YWRqdXN0UmVjdEZvclNoYWRv
dyhyZXBhaW50UmVjdCk7CiAgICAgcmV0dXJuIGVuY2xvc2luZ0xheW91dFJlY3QocmVuZGVyZXIu
Y29tcHV0ZUZsb2F0UmVjdEZvclJlcGFpbnQocmVwYWludFJlY3QsIHJlcGFpbnRDb250YWluZXIp
KTsKIH0KIApAQCAtNzQsOSArNzEsNiBAQCBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gU1ZHUmVu
ZGVyU3VwcG9ydDo6Y29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjbwogICAgICAg
ICByZXR1cm4gRmxvYXRSZWN0KCk7CiAKICAgICBGbG9hdFJlY3QgYWRqdXN0ZWRSZWN0ID0gcmVj
dDsKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUgPSByZW5kZXJlci5zdHlsZSgp
LnN2Z1N0eWxlKCk7Ci0gICAgaWYgKGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdyA9IHN2Z1N0eWxl
LnNoYWRvdygpKQotICAgICAgICBzaGFkb3ctPmFkanVzdFJlY3RGb3JTaGFkb3coYWRqdXN0ZWRS
ZWN0KTsKICAgICBhZGp1c3RlZFJlY3QuaW5mbGF0ZShyZW5kZXJlci5zdHlsZSgpLm91dGxpbmVX
aWR0aCgpKTsKIAogICAgIC8vIFRyYW5zbGF0ZSB0byBjb29yZHMgaW4gb3VyIHBhcmVudCByZW5k
ZXJlciwgYW5kIHRoZW4gY2FsbCBjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29udGFpbmVyKCkg
b24gb3VyIHBhcmVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDM4Nzg4YjhhMjMwMjcwMGUwMTViM2UzZDhhYTRl
MDMyM2M1NjRlMGQuLjk5ZGY1MzYwYzQ5MGVmOTdlNWY4MTE3NWJkMzY3MDVhMzMxMmU2MDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250
ZXh0LmNwcApAQCAtNjYsOSArNjYsNiBAQCBTVkdSZW5kZXJpbmdDb250ZXh0Ojp+U1ZHUmVuZGVy
aW5nQ29udGV4dCgpCiAgICAgaWYgKG1fcmVuZGVyaW5nRmxhZ3MgJiBFbmRPcGFjaXR5TGF5ZXIp
CiAgICAgICAgIG1fcGFpbnRJbmZvLT5jb250ZXh0KCkuZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsK
IAotICAgIGlmIChtX3JlbmRlcmluZ0ZsYWdzICYgRW5kU2hhZG93TGF5ZXIpCi0gICAgICAgIG1f
cGFpbnRJbmZvLT5jb250ZXh0KCkuZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKLQogICAgIGlmICht
X3JlbmRlcmluZ0ZsYWdzICYgUmVzdG9yZUdyYXBoaWNzQ29udGV4dCkKICAgICAgICAgbV9wYWlu
dEluZm8tPmNvbnRleHQoKS5yZXN0b3JlKCk7CiB9CkBAIC05OSw3ICs5Niw2IEBAIHZvaWQgU1ZH
UmVuZGVyaW5nQ29udGV4dDo6cHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudChSZW5kZXJFbGVtZW50
JiByZW5kZXJlciwgUGFpCiAgICAgYm9vbCBpc1JlbmRlcmluZ01hc2sgPSBpc1JlbmRlcmluZ01h
c2tJbWFnZSgqbV9yZW5kZXJlcik7CiAgICAgLy8gUmVuZGVyTGF5ZXIgdGFrZXMgY2FyZSBvZiBy
b290IG9wYWNpdHkuCiAgICAgZmxvYXQgb3BhY2l0eSA9IChyZW5kZXJlci5pc1NWR1Jvb3QoKSB8
fCBpc1JlbmRlcmluZ01hc2spID8gMSA6IHN0eWxlLm9wYWNpdHkoKTsKLSAgICBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3cgPSBzdmdTdHlsZS5zaGFkb3coKTsKICAgICBib29sIGhhc0JsZW5kTW9k
ZSA9IHN0eWxlLmhhc0JsZW5kTW9kZSgpOwogICAgIGJvb2wgaGFzSXNvbGF0aW9uID0gc3R5bGUu
aGFzSXNvbGF0aW9uKCk7CiAgICAgYm9vbCBpc29sYXRlTWFza0ZvckJsZW5kaW5nID0gZmFsc2U7
CkBAIC0xMTEsNyArMTA3LDcgQEAgdm9pZCBTVkdSZW5kZXJpbmdDb250ZXh0OjpwcmVwYXJlVG9S
ZW5kZXJTVkdDb250ZW50KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBQYWkKICAgICB9CiAjZW5k
aWYKIAotICAgIGlmIChvcGFjaXR5IDwgMSB8fCBzaGFkb3cgfHwgaGFzQmxlbmRNb2RlIHx8IGlz
b2xhdGVNYXNrRm9yQmxlbmRpbmcgfHwgaGFzSXNvbGF0aW9uKSB7CisgICAgaWYgKG9wYWNpdHkg
PCAxIHx8IGhhc0JsZW5kTW9kZSB8fCBpc29sYXRlTWFza0ZvckJsZW5kaW5nIHx8IGhhc0lzb2xh
dGlvbikgewogICAgICAgICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSBtX3JlbmRlcmVyLT5yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpOwogICAgICAgICBtX3BhaW50SW5mby0+Y29udGV4
dCgpLmNsaXAocmVwYWludFJlY3QpOwogCkBAIC0xMjcsMTIgKzEyMyw2IEBAIHZvaWQgU1ZHUmVu
ZGVyaW5nQ29udGV4dDo6cHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudChSZW5kZXJFbGVtZW50JiBy
ZW5kZXJlciwgUGFpCiAKICAgICAgICAgICAgIG1fcmVuZGVyaW5nRmxhZ3MgfD0gRW5kT3BhY2l0
eUxheWVyOwogICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHNoYWRvdykgewotICAgICAgICAgICAg
bV9wYWludEluZm8tPmNvbnRleHQoKS5zZXRTaGFkb3coSW50U2l6ZShyb3VuZFRvSW50KHNoYWRv
dy0+eCgpKSwgcm91bmRUb0ludChzaGFkb3ctPnkoKSkpLCBzaGFkb3ctPnJhZGl1cygpLCBzaGFk
b3ctPmNvbG9yKCkpOwotICAgICAgICAgICAgbV9wYWludEluZm8tPmNvbnRleHQoKS5iZWdpblRy
YW5zcGFyZW5jeUxheWVyKDEpOwotICAgICAgICAgICAgbV9yZW5kZXJpbmdGbGFncyB8PSBFbmRT
aGFkb3dMYXllcjsKLSAgICAgICAgfQogICAgIH0KIAogICAgIENsaXBQYXRoT3BlcmF0aW9uKiBj
bGlwUGF0aE9wZXJhdGlvbiA9IHN0eWxlLmNsaXBQYXRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDRjZmIyNmEyNDc5
MTFkNzM5NTI3ZGQ5ODkwYzgyOTM1ZTUwNjg0ZDUuLjU5NjU5N2JlMTI0N2E5NmE2MDRhY2NmNDU3
ZTA5MjlmZDBmNTBhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5oCkBAIC04NCwxMyArODQsMTIgQEAgcHJpdmF0ZToKICAgICAg
ICAgUmVuZGVyaW5nUHJlcGFyZWQgPSAxLAogICAgICAgICBSZXN0b3JlR3JhcGhpY3NDb250ZXh0
ID0gMSA8PCAxLAogICAgICAgICBFbmRPcGFjaXR5TGF5ZXIgPSAxIDw8IDIsCi0gICAgICAgIEVu
ZFNoYWRvd0xheWVyID0gMSA8PCAzLAotICAgICAgICBFbmRGaWx0ZXJMYXllciA9IDEgPDwgNCwK
LSAgICAgICAgUHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudFdhc0NhbGxlZCA9IDEgPDwgNQorICAg
ICAgICBFbmRGaWx0ZXJMYXllciA9IDEgPDwgMywKKyAgICAgICAgUHJlcGFyZVRvUmVuZGVyU1ZH
Q29udGVudFdhc0NhbGxlZCA9IDEgPDwgNAogICAgIH07CiAKICAgICAvLyBMaXN0IG9mIHRob3Nl
IGZsYWdzIHdoaWNoIHJlcXVpcmUgYWN0aW9ucyBkdXJpbmcgdGhlIGRlc3RydWN0b3IuCi0gICAg
c3RhdGljIGNvbnN0ZXhwciBpbnQgQWN0aW9uc05lZWRlZCA9IFJlc3RvcmVHcmFwaGljc0NvbnRl
eHQgfCBFbmRPcGFjaXR5TGF5ZXIgfCBFbmRTaGFkb3dMYXllciB8IEVuZEZpbHRlckxheWVyOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IEFjdGlvbnNOZWVkZWQgPSBSZXN0b3JlR3JhcGhpY3ND
b250ZXh0IHwgRW5kT3BhY2l0eUxheWVyIHwgRW5kRmlsdGVyTGF5ZXI7CiAKICAgICBSZW5kZXJF
bGVtZW50KiBtX3JlbmRlcmVyIHsgbnVsbHB0ciB9OwogICAgIFBhaW50SW5mbyogbV9wYWludElu
Zm8geyBudWxscHRyIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435081</attachid>
            <date>2021-08-06 13:02:04 -0700</date>
            <delta_ts>2021-08-06 13:56:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228870-20210806220203.patch</filename>
            <type>text/plain</type>
            <size>16547</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzAzOTlhYzkxNWMyOGQz
ZTE4NDk0ZDJiODIwZGIzZTg4NDlkMDhhMy4uMmQ5MTc2NmYwYzYzMzQ3NzM2MjNjMTJmNWVjNDM4
NzIyMjAzYWNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA4LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNoYWRvdyByZWxhdGVk
IFNWRyBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjg4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgc2hhZG93IHJlbGF0ZWQgU1ZHIGZ1bmN0aW9uYWxpdHkgc2luY2Ug
aXQgd2FzIGFkZGVkCisgICAgICAgIGZvciB0aGUgcmVtb3ZlZCBwcm9wZXJ0eSAtd2Via2l0LXN2
Zy1zaGFkb3cgKHNlZSByMjM4MDcxKS4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6U1ZHUmVu
ZGVyU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6Om9wZXJhdG9yPT0g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmNvcHlOb25Jbmhlcml0
ZWRGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpkaWZmIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsTGlnaHRpbmdDb2xvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6YmFzZWxpbmVTaGlmdFZhbHVlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppc29sYXRlc0JsZW5kaW5nIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsU2hhZG93KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpzZXRTaGFkb3cpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnNoYWRvdyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdJbWFnZTo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVGbG9hdFZpc2li
bGVSZWN0SW5Db250YWluZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9v
dDo6dXBkYXRlQ2FjaGVkQm91bmRhcmllcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1
dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJpbmdD
b250ZXh0Ojp+U1ZHUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5k
ZXJpbmdDb250ZXh0OjpwcmVwYXJlVG9SZW5kZXJTVkdDb250ZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaDoKKwogMjAyMS0wOC0wNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDIHNob3VsZCBza2lwIGVucXVldWluZyBmcmFtZXMgd2hlbiBub3Qgdmlz
aWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRl
clN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZS5jcHAKaW5kZXggMmZkNGU2ZGUzOTMwMGYxOTQxZmU1NTdmZTRiM2ZiNDFiNmVmNTEyOC4uYjU2
MmQ4YWIzMDQwNWE2MzNiN2YwMDU0M2ZhOTkwMmM3NDE5OWQ4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCkBAIC01Nyw3ICs1Nyw2
IEBAIFNWR1JlbmRlclN0eWxlOjpTVkdSZW5kZXJTdHlsZSgpCiAgICAgLCBtX2luaGVyaXRlZFJl
c291cmNlRGF0YShkZWZhdWx0U1ZHU3R5bGUoKS5tX2luaGVyaXRlZFJlc291cmNlRGF0YSkKICAg
ICAsIG1fc3RvcERhdGEoZGVmYXVsdFNWR1N0eWxlKCkubV9zdG9wRGF0YSkKICAgICAsIG1fbWlz
Y0RhdGEoZGVmYXVsdFNWR1N0eWxlKCkubV9taXNjRGF0YSkKLSAgICAsIG1fc2hhZG93RGF0YShk
ZWZhdWx0U1ZHU3R5bGUoKS5tX3NoYWRvd0RhdGEpCiAgICAgLCBtX2xheW91dERhdGEoZGVmYXVs
dFNWR1N0eWxlKCkubV9sYXlvdXREYXRhKQogICAgICwgbV9ub25Jbmhlcml0ZWRSZXNvdXJjZURh
dGEoZGVmYXVsdFNWR1N0eWxlKCkubV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGEpCiB7CkBAIC03
MSw3ICs3MCw2IEBAIFNWR1JlbmRlclN0eWxlOjpTVkdSZW5kZXJTdHlsZShDcmVhdGVEZWZhdWx0
VHlwZSkKICAgICAsIG1faW5oZXJpdGVkUmVzb3VyY2VEYXRhKFN0eWxlSW5oZXJpdGVkUmVzb3Vy
Y2VEYXRhOjpjcmVhdGUoKSkKICAgICAsIG1fc3RvcERhdGEoU3R5bGVTdG9wRGF0YTo6Y3JlYXRl
KCkpCiAgICAgLCBtX21pc2NEYXRhKFN0eWxlTWlzY0RhdGE6OmNyZWF0ZSgpKQotICAgICwgbV9z
aGFkb3dEYXRhKFN0eWxlU2hhZG93U1ZHRGF0YTo6Y3JlYXRlKCkpCiAgICAgLCBtX2xheW91dERh
dGEoU3R5bGVMYXlvdXREYXRhOjpjcmVhdGUoKSkKICAgICAsIG1fbm9uSW5oZXJpdGVkUmVzb3Vy
Y2VEYXRhKFN0eWxlUmVzb3VyY2VEYXRhOjpjcmVhdGUoKSkKIHsKQEAgLTg4LDcgKzg2LDYgQEAg
aW5saW5lIFNWR1JlbmRlclN0eWxlOjpTVkdSZW5kZXJTdHlsZShjb25zdCBTVkdSZW5kZXJTdHls
ZSYgb3RoZXIpCiAgICAgLCBtX2luaGVyaXRlZFJlc291cmNlRGF0YShvdGhlci5tX2luaGVyaXRl
ZFJlc291cmNlRGF0YSkKICAgICAsIG1fc3RvcERhdGEob3RoZXIubV9zdG9wRGF0YSkKICAgICAs
IG1fbWlzY0RhdGEob3RoZXIubV9taXNjRGF0YSkKLSAgICAsIG1fc2hhZG93RGF0YShvdGhlci5t
X3NoYWRvd0RhdGEpCiAgICAgLCBtX2xheW91dERhdGEob3RoZXIubV9sYXlvdXREYXRhKQogICAg
ICwgbV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGEob3RoZXIubV9ub25Jbmhlcml0ZWRSZXNvdXJj
ZURhdGEpCiB7CkBAIC0xMDgsNyArMTA1LDYgQEAgYm9vbCBTVkdSZW5kZXJTdHlsZTo6b3BlcmF0
b3I9PShjb25zdCBTVkdSZW5kZXJTdHlsZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICYmIG1fdGV4
dERhdGEgPT0gb3RoZXIubV90ZXh0RGF0YQogICAgICAgICAmJiBtX3N0b3BEYXRhID09IG90aGVy
Lm1fc3RvcERhdGEKICAgICAgICAgJiYgbV9taXNjRGF0YSA9PSBvdGhlci5tX21pc2NEYXRhCi0g
ICAgICAgICYmIG1fc2hhZG93RGF0YSA9PSBvdGhlci5tX3NoYWRvd0RhdGEKICAgICAgICAgJiYg
bV9sYXlvdXREYXRhID09IG90aGVyLm1fbGF5b3V0RGF0YQogICAgICAgICAmJiBtX2luaGVyaXRl
ZFJlc291cmNlRGF0YSA9PSBvdGhlci5tX2luaGVyaXRlZFJlc291cmNlRGF0YQogICAgICAgICAm
JiBtX25vbkluaGVyaXRlZFJlc291cmNlRGF0YSA9PSBvdGhlci5tX25vbkluaGVyaXRlZFJlc291
cmNlRGF0YQpAQCAtMTQwLDcgKzEzNiw2IEBAIHZvaWQgU1ZHUmVuZGVyU3R5bGU6OmNvcHlOb25J
bmhlcml0ZWRGcm9tKGNvbnN0IFNWR1JlbmRlclN0eWxlJiBvdGhlcikKICAgICBtX25vbkluaGVy
aXRlZEZsYWdzID0gb3RoZXIubV9ub25Jbmhlcml0ZWRGbGFnczsKICAgICBtX3N0b3BEYXRhID0g
b3RoZXIubV9zdG9wRGF0YTsKICAgICBtX21pc2NEYXRhID0gb3RoZXIubV9taXNjRGF0YTsKLSAg
ICBtX3NoYWRvd0RhdGEgPSBvdGhlci5tX3NoYWRvd0RhdGE7CiAgICAgbV9sYXlvdXREYXRhID0g
b3RoZXIubV9sYXlvdXREYXRhOwogICAgIG1fbm9uSW5oZXJpdGVkUmVzb3VyY2VEYXRhID0gb3Ro
ZXIubV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGE7CiB9CkBAIC0xNzUsMTAgKzE3MCw2IEBAIFN0
eWxlRGlmZmVyZW5jZSBTVkdSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBTVkdSZW5kZXJTdHlsZSYg
b3RoZXIpIGNvbnN0CiAgICAgaWYgKG1pc2NOb3RFcXVhbCAmJiBtX21pc2NEYXRhLT5iYXNlbGlu
ZVNoaWZ0VmFsdWUgIT0gb3RoZXIubV9taXNjRGF0YS0+YmFzZWxpbmVTaGlmdFZhbHVlKQogICAg
ICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXQ7CiAKLSAgICAvLyBTaGFkb3cgY2hh
bmdlcyByZXF1aXJlIHJlbGF5b3V0cywgYXMgdGhleSBhZmZlY3QgdGhlIHJlcGFpbnQgcmVjdHMu
Ci0gICAgaWYgKG1fc2hhZG93RGF0YSAhPSBvdGhlci5tX3NoYWRvd0RhdGEpCi0gICAgICAgIHJl
dHVybiBTdHlsZURpZmZlcmVuY2U6OkxheW91dDsKLQogICAgIC8vIFRoZSB4IG9yIHkgcHJvcGVy
dGllcyByZXF1aXJlIHJlbGF5b3V0LgogICAgIGlmIChtX2xheW91dERhdGEgIT0gb3RoZXIubV9s
YXlvdXREYXRhKQogICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXQ7IApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAppbmRleCA1
NjhjYmM0ZTgxMzE0ODhmY2MxMGNmZGUwN2JhNzU5YmM5YjIyODc4Li4yMDhiOGQ3OGZjODdiZDgy
NDk5ZDYzZjU3MjhiNWQ2NmU1NWFhYzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaApAQCAtNzcsNyArNzcsNiBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIGZsb2F0IGluaXRpYWxGbG9vZE9wYWNpdHkoKSB7IHJldHVybiAxOyB9CiAgICAgc3Rh
dGljIENvbG9yIGluaXRpYWxGbG9vZENvbG9yKCkgeyByZXR1cm4gQ29sb3I6OmJsYWNrOyB9CiAg
ICAgc3RhdGljIENvbG9yIGluaXRpYWxMaWdodGluZ0NvbG9yKCkgeyByZXR1cm4gQ29sb3I6Ondo
aXRlOyB9Ci0gICAgc3RhdGljIFNoYWRvd0RhdGEqIGluaXRpYWxTaGFkb3coKSB7IHJldHVybiBu
dWxscHRyOyB9CiAgICAgc3RhdGljIFN0cmluZyBpbml0aWFsTWFza2VyUmVzb3VyY2UoKSB7IHJl
dHVybiBTdHJpbmcoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbE1hcmtlclN0YXJ0UmVz
b3VyY2UoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbE1h
cmtlck1pZFJlc291cmNlKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KQEAgLTEyNCw4ICsxMjMsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMaWdodGluZ0NvbG9yKGNvbnN0IENvbG9yJik7CiAgICAg
dm9pZCBzZXRCYXNlbGluZVNoaWZ0VmFsdWUoY29uc3QgU1ZHTGVuZ3RoVmFsdWUmKTsKIAotICAg
IHZvaWQgc2V0U2hhZG93KHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiYmIGRhdGEpIHsgbV9z
aGFkb3dEYXRhLmFjY2VzcygpLnNoYWRvdyA9IFdURk1vdmUoZGF0YSk7IH0KLQogICAgIC8vIFNl
dHRlcnMgZm9yIG5vbi1pbmhlcml0ZWQgcmVzb3VyY2VzCiAgICAgdm9pZCBzZXRNYXNrZXJSZXNv
dXJjZShjb25zdCBTdHJpbmcmKTsKIApAQCAtMTY2LDcgKzE2Myw2IEBAIHB1YmxpYzoKICAgICBj
b25zdCBDb2xvciYgZmxvb2RDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fbWlzY0RhdGEtPmZsb29k
Q29sb3I7IH0KICAgICBjb25zdCBDb2xvciYgbGlnaHRpbmdDb2xvcigpIGNvbnN0IHsgcmV0dXJu
IG1fbWlzY0RhdGEtPmxpZ2h0aW5nQ29sb3I7IH0KICAgICBTVkdMZW5ndGhWYWx1ZSBiYXNlbGlu
ZVNoaWZ0VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX21pc2NEYXRhLT5iYXNlbGluZVNoaWZ0VmFs
dWU7IH0KLSAgICBTaGFkb3dEYXRhKiBzaGFkb3coKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd0Rh
dGEtPnNoYWRvdy5nZXQoKTsgfQogICAgIGNvbnN0IExlbmd0aCYgY3goKSBjb25zdCB7IHJldHVy
biBtX2xheW91dERhdGEtPmN4OyB9CiAgICAgY29uc3QgTGVuZ3RoJiBjeSgpIGNvbnN0IHsgcmV0
dXJuIG1fbGF5b3V0RGF0YS0+Y3k7IH0KICAgICBjb25zdCBMZW5ndGgmIHIoKSBjb25zdCB7IHJl
dHVybiBtX2xheW91dERhdGEtPnI7IH0KQEAgLTE5Miw3ICsxODgsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNNYXJrZXJzKCkgY29uc3QgeyByZXR1cm4gIW1hcmtlclN0YXJ0UmVzb3VyY2UoKS5p
c0VtcHR5KCkgfHwgIW1hcmtlck1pZFJlc291cmNlKCkuaXNFbXB0eSgpIHx8ICFtYXJrZXJFbmRS
ZXNvdXJjZSgpLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgaGFzU3Ryb2tlKCkgY29uc3QgeyByZXR1
cm4gc3Ryb2tlUGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnRUeXBlOjpOb25lOyB9CiAgICAgYm9vbCBo
YXNGaWxsKCkgY29uc3QgeyByZXR1cm4gZmlsbFBhaW50VHlwZSgpICE9IFNWR1BhaW50VHlwZTo6
Tm9uZTsgfQotICAgIGJvb2wgaXNvbGF0ZXNCbGVuZGluZygpIGNvbnN0IHsgcmV0dXJuIGhhc01h
c2tlcigpIHx8IHNoYWRvdygpOyB9CisgICAgYm9vbCBpc29sYXRlc0JsZW5kaW5nKCkgY29uc3Qg
eyByZXR1cm4gaGFzTWFza2VyKCk7IH0KIAogcHJpdmF0ZToKICAgICBTVkdSZW5kZXJTdHlsZSgp
OwpAQCAtMjQ5LDcgKzI0NSw2IEBAIHByaXZhdGU6CiAgICAgLy8gbm9uLWluaGVyaXRlZCBhdHRy
aWJ1dGVzCiAgICAgRGF0YVJlZjxTdHlsZVN0b3BEYXRhPiBtX3N0b3BEYXRhOwogICAgIERhdGFS
ZWY8U3R5bGVNaXNjRGF0YT4gbV9taXNjRGF0YTsKLSAgICBEYXRhUmVmPFN0eWxlU2hhZG93U1ZH
RGF0YT4gbV9zaGFkb3dEYXRhOwogICAgIERhdGFSZWY8U3R5bGVMYXlvdXREYXRhPiBtX2xheW91
dERhdGE7CiAgICAgRGF0YVJlZjxTdHlsZVJlc291cmNlRGF0YT4gbV9ub25Jbmhlcml0ZWRSZXNv
dXJjZURhdGE7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0ltYWdlLmNwcAppbmRleCA4M2MyYzcwYjI2MWVjYzAyMjllMmFhNDIxNTM1M2EyOTE5MTVjMzIz
Li44ZTI0ZTFmZjkyMWE2ZThkNGNhYTI3MmE3ZmVlMjI5MTVkOWIzYTI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmNwcApAQCAtMTQ0LDExICsx
NDQsNyBAQCB2b2lkIFJlbmRlclNWR0ltYWdlOjpsYXlvdXQoKQogICAgIH0KIAogICAgIGlmICht
X25lZWRzQm91bmRhcmllc1VwZGF0ZSkgewotICAgICAgICBtX3JlcGFpbnRCb3VuZGluZ0JveEV4
Y2x1ZGluZ1NoYWRvdyA9IG1fb2JqZWN0Qm91bmRpbmdCb3g7Ci0gICAgICAgIFNWR1JlbmRlclN1
cHBvcnQ6OmludGVyc2VjdFJlcGFpbnRSZWN0V2l0aFJlc291cmNlcygqdGhpcywgbV9yZXBhaW50
Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFkb3cpOwotCi0gICAgICAgIG1fcmVwYWludEJvdW5kaW5n
Qm94ID0gbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFkb3c7Ci0KKyAgICAgICAgU1ZH
UmVuZGVyU3VwcG9ydDo6aW50ZXJzZWN0UmVwYWludFJlY3RXaXRoUmVzb3VyY2VzKCp0aGlzLCBt
X3JlcGFpbnRCb3VuZGluZ0JveCk7CiAgICAgICAgIG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlID0g
ZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0ltYWdlLmgKaW5kZXggNjdlMzViNWNmYzA0ZTg5NGYxOWI3MGIxNDcwMGQxMTI3ZmZhODMzZS4u
YWI5ODQyMjc5NjQ3ZTliMmNkZmNmZTBiNThiZDY5ZGNjNDIzYWEzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaApAQCAtODYsNyArODYsNiBAQCBw
cml2YXRlOgogICAgIEFmZmluZVRyYW5zZm9ybSBtX2xvY2FsVHJhbnNmb3JtOwogICAgIEZsb2F0
UmVjdCBtX29iamVjdEJvdW5kaW5nQm94OwogICAgIEZsb2F0UmVjdCBtX3JlcGFpbnRCb3VuZGlu
Z0JveDsKLSAgICBGbG9hdFJlY3QgbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFkb3c7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckltYWdlUmVzb3VyY2U+IG1faW1hZ2VSZXNvdXJj
ZTsKICAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+IG1fYnVmZmVyZWRGb3JlZ3JvdW5kOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDNm
OTg3MjkxODhhMDE4ODkxOTIxMmNmYjQ4NmZkZTkzODFiMGQ0YWMuLmZjMzZiZmZiYWRiZTI1NWQx
NWY5MzljZTc1MzFjMDYzNjRjMjkzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMzcwLDE0ICszNzAsMTAgQEAgTGF5b3V0UmVjdCBS
ZW5kZXJTVkdSb290OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcGEKIAogc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IFJlbmRlclNWR1Jvb3Q6OmNv
bXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4
dCBjb250ZXh0KSBjb25zdAogewotICAgIC8vIEFwcGx5IG91ciBsb2NhbCB0cmFuc2Zvcm1zIChl
eGNlcHQgZm9yIHgveSB0cmFuc2xhdGlvbiksIHRoZW4gb3VyIHNoYWRvdywgCi0gICAgLy8gYW5k
IHRoZW4gY2FsbCBSZW5kZXJCb3gncyBtZXRob2QgdG8gaGFuZGxlIGFsbCB0aGUgbm9ybWFsIENT
UyBCb3ggbW9kZWwgYml0cworICAgIC8vIEFwcGx5IG91ciBsb2NhbCB0cmFuc2Zvcm1zIChleGNl
cHQgZm9yIHgveSB0cmFuc2xhdGlvbikgYW5kIHRoZW4gY2FsbAorICAgIC8vIFJlbmRlckJveCdz
IG1ldGhvZCB0byBoYW5kbGUgYWxsIHRoZSBub3JtYWwgQ1NTIEJveCBtb2RlbCBiaXRzCiAgICAg
RmxvYXRSZWN0IGFkanVzdGVkUmVjdCA9IG1fbG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybS5tYXBS
ZWN0KHJlY3QpOwogCi0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0gc3R5bGUo
KS5zdmdTdHlsZSgpOwotICAgIGlmIChjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cgPSBzdmdTdHls
ZS5zaGFkb3coKSkKLSAgICAgICAgc2hhZG93LT5hZGp1c3RSZWN0Rm9yU2hhZG93KGFkanVzdGVk
UmVjdCk7Ci0KICAgICAvLyBBcHBseSBpbml0aWFsIHZpZXdwb3J0IGNsaXAKICAgICBpZiAoc2hv
dWxkQXBwbHlWaWV3cG9ydENsaXAoKSkgewogICAgICAgICBpZiAoY29udGV4dC5vcHRpb25zLmNv
bnRhaW5zKFZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6VXNlRWRnZUluY2x1c2l2ZUludGVyc2Vj
dGlvbikpIHsKQEAgLTQxNywxMSArNDEzLDkgQEAgY29uc3QgUmVuZGVyT2JqZWN0KiBSZW5kZXJT
VkdSb290OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWwKIAog
dm9pZCBSZW5kZXJTVkdSb290Ojp1cGRhdGVDYWNoZWRCb3VuZGFyaWVzKCkKIHsKLSAgICBTVkdS
ZW5kZXJTdXBwb3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRpbmdCb3hlcygqdGhpcywgbV9vYmpl
Y3RCb3VuZGluZ0JveCwgbV9vYmplY3RCb3VuZGluZ0JveFZhbGlkLCBtX3N0cm9rZUJvdW5kaW5n
Qm94LCBtX3JlcGFpbnRCb3VuZGluZ0JveEV4Y2x1ZGluZ1NoYWRvdyk7Ci0gICAgU1ZHUmVuZGVy
U3VwcG9ydDo6aW50ZXJzZWN0UmVwYWludFJlY3RXaXRoUmVzb3VyY2VzKCp0aGlzLCBtX3JlcGFp
bnRCb3VuZGluZ0JveEV4Y2x1ZGluZ1NoYWRvdyk7Ci0gICAgbV9yZXBhaW50Qm91bmRpbmdCb3hF
eGNsdWRpbmdTaGFkb3cuaW5mbGF0ZShob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgp
KTsKLQotICAgIG1fcmVwYWludEJvdW5kaW5nQm94ID0gbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNs
dWRpbmdTaGFkb3c7CisgICAgU1ZHUmVuZGVyU3VwcG9ydDo6Y29tcHV0ZUNvbnRhaW5lckJvdW5k
aW5nQm94ZXMoKnRoaXMsIG1fb2JqZWN0Qm91bmRpbmdCb3gsIG1fb2JqZWN0Qm91bmRpbmdCb3hW
YWxpZCwgbV9zdHJva2VCb3VuZGluZ0JveCwgbV9yZXBhaW50Qm91bmRpbmdCb3gpOworICAgIFNW
R1JlbmRlclN1cHBvcnQ6OmludGVyc2VjdFJlcGFpbnRSZWN0V2l0aFJlc291cmNlcygqdGhpcywg
bV9yZXBhaW50Qm91bmRpbmdCb3gpOworICAgIG1fcmVwYWludEJvdW5kaW5nQm94LmluZmxhdGUo
aG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKSk7CiB9CiAKIGJvb2wgUmVuZGVyU1ZH
Um9vdDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24gaGl0
VGVzdEFjdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290
LmgKaW5kZXggZDRlNWUxZTQ5NWI4YjgyYjNlZDFhY2RkYjk1ZTY3MjQ2NWFkMGRkYy4uMTg2NmY0
MmYwMjcwYjRhYTU1YjQyYzhhMDYyNjQ3Njc0YjRhNjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKQEAgLTExMSw3ICsxMTEsNiBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9pbkxheW91dCB7IGZhbHNlIH07CiAgICAgRmxvYXRSZWN0IG1fc3Ryb2tl
Qm91bmRpbmdCb3g7CiAgICAgRmxvYXRSZWN0IG1fcmVwYWludEJvdW5kaW5nQm94OwotICAgIEZs
b2F0UmVjdCBtX3JlcGFpbnRCb3VuZGluZ0JveEV4Y2x1ZGluZ1NoYWRvdzsKICAgICBtdXRhYmxl
IEFmZmluZVRyYW5zZm9ybSBtX2xvY2FsVG9QYXJlbnRUcmFuc2Zvcm07CiAgICAgQWZmaW5lVHJh
bnNmb3JtIG1fbG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybTsKICAgICBIYXNoU2V0PFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKj4gbV9yZXNvdXJjZXNOZWVkaW5nVG9JbnZhbGlkYXRlQ2xpZW50
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3Vw
cG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQu
Y3BwCmluZGV4IDE1NGY1M2Q1MjZlOWZkMjE0MGYxYTAwOTY4ZjljNWIyMTJlNGJkNjIuLjQ0Yjgw
YWFlNDk1NGQxMDY4MGQ2OTFhMWRkZDE4ZWE3MDkwYmEzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcApAQCAtNTksOSArNTksNiBA
QCBMYXlvdXRSZWN0IFNWR1JlbmRlclN1cHBvcnQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBh
aW50KGNvbnN0IFJlbmRlckVsZW1lbnQmCiAgICAgLy8gUGFzcyBvdXIgbG9jYWwgcGFpbnQgcmVj
dCB0byBjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29udGFpbmVyKCkgd2hpY2ggd2lsbAogICAg
IC8vIG1hcCB0byBwYXJlbnQgY29vcmRzIGFuZCByZWN1cnNlIHVwIHRoZSBwYXJlbnQgY2hhaW4u
CiAgICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0ID0gcmVuZGVyZXIucmVwYWludFJlY3RJbkxvY2Fs
Q29vcmRpbmF0ZXMoKTsKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUgPSByZW5k
ZXJlci5zdHlsZSgpLnN2Z1N0eWxlKCk7Ci0gICAgaWYgKGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRv
dyA9IHN2Z1N0eWxlLnNoYWRvdygpKQotICAgICAgICBzaGFkb3ctPmFkanVzdFJlY3RGb3JTaGFk
b3cocmVwYWludFJlY3QpOwogICAgIHJldHVybiBlbmNsb3NpbmdMYXlvdXRSZWN0KHJlbmRlcmVy
LmNvbXB1dGVGbG9hdFJlY3RGb3JSZXBhaW50KHJlcGFpbnRSZWN0LCByZXBhaW50Q29udGFpbmVy
KSk7CiB9CiAKQEAgLTc0LDkgKzcxLDYgQEAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IFNWR1Jl
bmRlclN1cHBvcnQ6OmNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIoY28KICAgICAg
ICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogCiAgICAgRmxvYXRSZWN0IGFkanVzdGVkUmVjdCA9IHJl
Y3Q7Ci0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0gcmVuZGVyZXIuc3R5bGUo
KS5zdmdTdHlsZSgpOwotICAgIGlmIChjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cgPSBzdmdTdHls
ZS5zaGFkb3coKSkKLSAgICAgICAgc2hhZG93LT5hZGp1c3RSZWN0Rm9yU2hhZG93KGFkanVzdGVk
UmVjdCk7CiAgICAgYWRqdXN0ZWRSZWN0LmluZmxhdGUocmVuZGVyZXIuc3R5bGUoKS5vdXRsaW5l
V2lkdGgoKSk7CiAKICAgICAvLyBUcmFuc2xhdGUgdG8gY29vcmRzIGluIG91ciBwYXJlbnQgcmVu
ZGVyZXIsIGFuZCB0aGVuIGNhbGwgY29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcigp
IG9uIG91ciBwYXJlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAzODc4OGI4YTIzMDI3MDBlMDE1YjNlM2Q4YWE0
ZTAzMjNjNTY0ZTBkLi45OWRmNTM2MGM0OTBlZjk3ZTVmODExNzViZDM2NzA1YTMzMTJlNjAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTY2LDkgKzY2LDYgQEAgU1ZHUmVuZGVyaW5nQ29udGV4dDo6flNWR1JlbmRl
cmluZ0NvbnRleHQoKQogICAgIGlmIChtX3JlbmRlcmluZ0ZsYWdzICYgRW5kT3BhY2l0eUxheWVy
KQogICAgICAgICBtX3BhaW50SW5mby0+Y29udGV4dCgpLmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7
CiAKLSAgICBpZiAobV9yZW5kZXJpbmdGbGFncyAmIEVuZFNoYWRvd0xheWVyKQotICAgICAgICBt
X3BhaW50SW5mby0+Y29udGV4dCgpLmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7Ci0KICAgICBpZiAo
bV9yZW5kZXJpbmdGbGFncyAmIFJlc3RvcmVHcmFwaGljc0NvbnRleHQpCiAgICAgICAgIG1fcGFp
bnRJbmZvLT5jb250ZXh0KCkucmVzdG9yZSgpOwogfQpAQCAtOTksNyArOTYsNiBAQCB2b2lkIFNW
R1JlbmRlcmluZ0NvbnRleHQ6OnByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQoUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIsIFBhaQogICAgIGJvb2wgaXNSZW5kZXJpbmdNYXNrID0gaXNSZW5kZXJpbmdN
YXNrSW1hZ2UoKm1fcmVuZGVyZXIpOwogICAgIC8vIFJlbmRlckxheWVyIHRha2VzIGNhcmUgb2Yg
cm9vdCBvcGFjaXR5LgogICAgIGZsb2F0IG9wYWNpdHkgPSAocmVuZGVyZXIuaXNTVkdSb290KCkg
fHwgaXNSZW5kZXJpbmdNYXNrKSA/IDEgOiBzdHlsZS5vcGFjaXR5KCk7Ci0gICAgY29uc3QgU2hh
ZG93RGF0YSogc2hhZG93ID0gc3ZnU3R5bGUuc2hhZG93KCk7CiAgICAgYm9vbCBoYXNCbGVuZE1v
ZGUgPSBzdHlsZS5oYXNCbGVuZE1vZGUoKTsKICAgICBib29sIGhhc0lzb2xhdGlvbiA9IHN0eWxl
Lmhhc0lzb2xhdGlvbigpOwogICAgIGJvb2wgaXNvbGF0ZU1hc2tGb3JCbGVuZGluZyA9IGZhbHNl
OwpAQCAtMTExLDcgKzEwNyw3IEBAIHZvaWQgU1ZHUmVuZGVyaW5nQ29udGV4dDo6cHJlcGFyZVRv
UmVuZGVyU1ZHQ29udGVudChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgUGFpCiAgICAgfQogI2Vu
ZGlmCiAKLSAgICBpZiAob3BhY2l0eSA8IDEgfHwgc2hhZG93IHx8IGhhc0JsZW5kTW9kZSB8fCBp
c29sYXRlTWFza0ZvckJsZW5kaW5nIHx8IGhhc0lzb2xhdGlvbikgeworICAgIGlmIChvcGFjaXR5
IDwgMSB8fCBoYXNCbGVuZE1vZGUgfHwgaXNvbGF0ZU1hc2tGb3JCbGVuZGluZyB8fCBoYXNJc29s
YXRpb24pIHsKICAgICAgICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0ID0gbV9yZW5kZXJlci0+cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKTsKICAgICAgICAgbV9wYWludEluZm8tPmNvbnRl
eHQoKS5jbGlwKHJlcGFpbnRSZWN0KTsKIApAQCAtMTI3LDEyICsxMjMsNiBAQCB2b2lkIFNWR1Jl
bmRlcmluZ0NvbnRleHQ6OnByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQoUmVuZGVyRWxlbWVudCYg
cmVuZGVyZXIsIFBhaQogCiAgICAgICAgICAgICBtX3JlbmRlcmluZ0ZsYWdzIHw9IEVuZE9wYWNp
dHlMYXllcjsKICAgICAgICAgfQotCi0gICAgICAgIGlmIChzaGFkb3cpIHsKLSAgICAgICAgICAg
IG1fcGFpbnRJbmZvLT5jb250ZXh0KCkuc2V0U2hhZG93KEludFNpemUocm91bmRUb0ludChzaGFk
b3ctPngoKSksIHJvdW5kVG9JbnQoc2hhZG93LT55KCkpKSwgc2hhZG93LT5yYWRpdXMoKSwgc2hh
ZG93LT5jb2xvcigpKTsKLSAgICAgICAgICAgIG1fcGFpbnRJbmZvLT5jb250ZXh0KCkuYmVnaW5U
cmFuc3BhcmVuY3lMYXllcigxKTsKLSAgICAgICAgICAgIG1fcmVuZGVyaW5nRmxhZ3MgfD0gRW5k
U2hhZG93TGF5ZXI7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICBDbGlwUGF0aE9wZXJhdGlvbiog
Y2xpcFBhdGhPcGVyYXRpb24gPSBzdHlsZS5jbGlwUGF0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCA0Y2ZiMjZhMjQ3
OTExZDczOTUyN2RkOTg5MGM4MjkzNWU1MDY4NGQ1Li41OTY1OTdiZTEyNDdhOTZhNjA0YWNjZjQ1
N2UwOTI5ZmQwZjUwYTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlcmluZ0NvbnRleHQuaApAQCAtODQsMTMgKzg0LDEyIEBAIHByaXZhdGU6CiAgICAg
ICAgIFJlbmRlcmluZ1ByZXBhcmVkID0gMSwKICAgICAgICAgUmVzdG9yZUdyYXBoaWNzQ29udGV4
dCA9IDEgPDwgMSwKICAgICAgICAgRW5kT3BhY2l0eUxheWVyID0gMSA8PCAyLAotICAgICAgICBF
bmRTaGFkb3dMYXllciA9IDEgPDwgMywKLSAgICAgICAgRW5kRmlsdGVyTGF5ZXIgPSAxIDw8IDQs
Ci0gICAgICAgIFByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnRXYXNDYWxsZWQgPSAxIDw8IDUKKyAg
ICAgICAgRW5kRmlsdGVyTGF5ZXIgPSAxIDw8IDMsCisgICAgICAgIFByZXBhcmVUb1JlbmRlclNW
R0NvbnRlbnRXYXNDYWxsZWQgPSAxIDw8IDQKICAgICB9OwogCiAgICAgLy8gTGlzdCBvZiB0aG9z
ZSBmbGFncyB3aGljaCByZXF1aXJlIGFjdGlvbnMgZHVyaW5nIHRoZSBkZXN0cnVjdG9yLgotICAg
IHN0YXRpYyBjb25zdGV4cHIgaW50IEFjdGlvbnNOZWVkZWQgPSBSZXN0b3JlR3JhcGhpY3NDb250
ZXh0IHwgRW5kT3BhY2l0eUxheWVyIHwgRW5kU2hhZG93TGF5ZXIgfCBFbmRGaWx0ZXJMYXllcjsK
KyAgICBzdGF0aWMgY29uc3RleHByIGludCBBY3Rpb25zTmVlZGVkID0gUmVzdG9yZUdyYXBoaWNz
Q29udGV4dCB8IEVuZE9wYWNpdHlMYXllciB8IEVuZEZpbHRlckxheWVyOwogCiAgICAgUmVuZGVy
RWxlbWVudCogbV9yZW5kZXJlciB7IG51bGxwdHIgfTsKICAgICBQYWludEluZm8qIG1fcGFpbnRJ
bmZvIHsgbnVsbHB0ciB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435085</attachid>
            <date>2021-08-06 13:56:44 -0700</date>
            <delta_ts>2021-08-15 11:38:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228870-20210806225643.patch</filename>
            <type>text/plain</type>
            <size>16620</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDMzNmUzMTVhNTc0MDE4
MmJjZjdiZTIwNDc2MzQyMzg2MzBiMzY1My4uNDcyY2IyMjJlZTA0ZDNjNTIwY2ZiMTg2MzIwZjI4
YWIzZjdkZGRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA4LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNoYWRvdyByZWxhdGVk
IFNWRyBmdW5jdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjg4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgc2hhZG93IHJlbGF0ZWQgU1ZHIGZ1bmN0aW9uYWxpdHkgc2luY2Ug
aXQgd2FzIGFkZGVkCisgICAgICAgIGZvciB0aGUgcmVtb3ZlZCBwcm9wZXJ0eSAtd2Via2l0LXN2
Zy1zaGFkb3cgKHNlZSByMjM4MDcxKS4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6U1ZHUmVu
ZGVyU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6Om9wZXJhdG9yPT0g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmNvcHlOb25Jbmhlcml0
ZWRGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpkaWZmIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsTGlnaHRpbmdDb2xvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6YmFzZWxpbmVTaGlmdFZhbHVlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppc29sYXRlc0JsZW5kaW5nIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsU2hhZG93KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpzZXRTaGFkb3cpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnNoYWRvdyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdJbWFnZTo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVGbG9hdFZpc2li
bGVSZWN0SW5Db250YWluZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9v
dDo6dXBkYXRlQ2FjaGVkQm91bmRhcmllcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1
dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJpbmdD
b250ZXh0Ojp+U1ZHUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5k
ZXJpbmdDb250ZXh0OjpwcmVwYXJlVG9SZW5kZXJTVkdDb250ZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaDoKKwogMjAyMS0wOC0wNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIFRlc3QgV2ViS2l0Mi5D
cmFzaEdQVVByb2Nlc3NBZnRlckFwcGx5aW5nQ29uc3RyYWludHMgZmFpbHMgd2hlbiBNZWRpYSBp
biBHUFUgUHJvY2VzcyBpcyBlbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAppbmRleCAyZmQ0ZTZkZTM5MzAwZjE5NDFmZTU1N2Zl
NGIzZmI0MWI2ZWY1MTI4Li5iNTYyZDhhYjMwNDA1YTYzM2I3ZjAwNTQzZmE5OTAyYzc0MTk5ZDhm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZS5jcHAKQEAgLTU3LDcgKzU3LDYgQEAgU1ZHUmVuZGVyU3R5bGU6OlNWR1JlbmRlclN0eWxlKCkK
ICAgICAsIG1faW5oZXJpdGVkUmVzb3VyY2VEYXRhKGRlZmF1bHRTVkdTdHlsZSgpLm1faW5oZXJp
dGVkUmVzb3VyY2VEYXRhKQogICAgICwgbV9zdG9wRGF0YShkZWZhdWx0U1ZHU3R5bGUoKS5tX3N0
b3BEYXRhKQogICAgICwgbV9taXNjRGF0YShkZWZhdWx0U1ZHU3R5bGUoKS5tX21pc2NEYXRhKQot
ICAgICwgbV9zaGFkb3dEYXRhKGRlZmF1bHRTVkdTdHlsZSgpLm1fc2hhZG93RGF0YSkKICAgICAs
IG1fbGF5b3V0RGF0YShkZWZhdWx0U1ZHU3R5bGUoKS5tX2xheW91dERhdGEpCiAgICAgLCBtX25v
bkluaGVyaXRlZFJlc291cmNlRGF0YShkZWZhdWx0U1ZHU3R5bGUoKS5tX25vbkluaGVyaXRlZFJl
c291cmNlRGF0YSkKIHsKQEAgLTcxLDcgKzcwLDYgQEAgU1ZHUmVuZGVyU3R5bGU6OlNWR1JlbmRl
clN0eWxlKENyZWF0ZURlZmF1bHRUeXBlKQogICAgICwgbV9pbmhlcml0ZWRSZXNvdXJjZURhdGEo
U3R5bGVJbmhlcml0ZWRSZXNvdXJjZURhdGE6OmNyZWF0ZSgpKQogICAgICwgbV9zdG9wRGF0YShT
dHlsZVN0b3BEYXRhOjpjcmVhdGUoKSkKICAgICAsIG1fbWlzY0RhdGEoU3R5bGVNaXNjRGF0YTo6
Y3JlYXRlKCkpCi0gICAgLCBtX3NoYWRvd0RhdGEoU3R5bGVTaGFkb3dTVkdEYXRhOjpjcmVhdGUo
KSkKICAgICAsIG1fbGF5b3V0RGF0YShTdHlsZUxheW91dERhdGE6OmNyZWF0ZSgpKQogICAgICwg
bV9ub25Jbmhlcml0ZWRSZXNvdXJjZURhdGEoU3R5bGVSZXNvdXJjZURhdGE6OmNyZWF0ZSgpKQog
ewpAQCAtODgsNyArODYsNiBAQCBpbmxpbmUgU1ZHUmVuZGVyU3R5bGU6OlNWR1JlbmRlclN0eWxl
KGNvbnN0IFNWR1JlbmRlclN0eWxlJiBvdGhlcikKICAgICAsIG1faW5oZXJpdGVkUmVzb3VyY2VE
YXRhKG90aGVyLm1faW5oZXJpdGVkUmVzb3VyY2VEYXRhKQogICAgICwgbV9zdG9wRGF0YShvdGhl
ci5tX3N0b3BEYXRhKQogICAgICwgbV9taXNjRGF0YShvdGhlci5tX21pc2NEYXRhKQotICAgICwg
bV9zaGFkb3dEYXRhKG90aGVyLm1fc2hhZG93RGF0YSkKICAgICAsIG1fbGF5b3V0RGF0YShvdGhl
ci5tX2xheW91dERhdGEpCiAgICAgLCBtX25vbkluaGVyaXRlZFJlc291cmNlRGF0YShvdGhlci5t
X25vbkluaGVyaXRlZFJlc291cmNlRGF0YSkKIHsKQEAgLTEwOCw3ICsxMDUsNiBAQCBib29sIFNW
R1JlbmRlclN0eWxlOjpvcGVyYXRvcj09KGNvbnN0IFNWR1JlbmRlclN0eWxlJiBvdGhlcikgY29u
c3QKICAgICAgICAgJiYgbV90ZXh0RGF0YSA9PSBvdGhlci5tX3RleHREYXRhCiAgICAgICAgICYm
IG1fc3RvcERhdGEgPT0gb3RoZXIubV9zdG9wRGF0YQogICAgICAgICAmJiBtX21pc2NEYXRhID09
IG90aGVyLm1fbWlzY0RhdGEKLSAgICAgICAgJiYgbV9zaGFkb3dEYXRhID09IG90aGVyLm1fc2hh
ZG93RGF0YQogICAgICAgICAmJiBtX2xheW91dERhdGEgPT0gb3RoZXIubV9sYXlvdXREYXRhCiAg
ICAgICAgICYmIG1faW5oZXJpdGVkUmVzb3VyY2VEYXRhID09IG90aGVyLm1faW5oZXJpdGVkUmVz
b3VyY2VEYXRhCiAgICAgICAgICYmIG1fbm9uSW5oZXJpdGVkUmVzb3VyY2VEYXRhID09IG90aGVy
Lm1fbm9uSW5oZXJpdGVkUmVzb3VyY2VEYXRhCkBAIC0xNDAsNyArMTM2LDYgQEAgdm9pZCBTVkdS
ZW5kZXJTdHlsZTo6Y29weU5vbkluaGVyaXRlZEZyb20oY29uc3QgU1ZHUmVuZGVyU3R5bGUmIG90
aGVyKQogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MgPSBvdGhlci5tX25vbkluaGVyaXRlZEZsYWdz
OwogICAgIG1fc3RvcERhdGEgPSBvdGhlci5tX3N0b3BEYXRhOwogICAgIG1fbWlzY0RhdGEgPSBv
dGhlci5tX21pc2NEYXRhOwotICAgIG1fc2hhZG93RGF0YSA9IG90aGVyLm1fc2hhZG93RGF0YTsK
ICAgICBtX2xheW91dERhdGEgPSBvdGhlci5tX2xheW91dERhdGE7CiAgICAgbV9ub25Jbmhlcml0
ZWRSZXNvdXJjZURhdGEgPSBvdGhlci5tX25vbkluaGVyaXRlZFJlc291cmNlRGF0YTsKIH0KQEAg
LTE3NSwxMCArMTcwLDYgQEAgU3R5bGVEaWZmZXJlbmNlIFNWR1JlbmRlclN0eWxlOjpkaWZmKGNv
bnN0IFNWR1JlbmRlclN0eWxlJiBvdGhlcikgY29uc3QKICAgICBpZiAobWlzY05vdEVxdWFsICYm
IG1fbWlzY0RhdGEtPmJhc2VsaW5lU2hpZnRWYWx1ZSAhPSBvdGhlci5tX21pc2NEYXRhLT5iYXNl
bGluZVNoaWZ0VmFsdWUpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2U6OkxheW91dDsK
IAotICAgIC8vIFNoYWRvdyBjaGFuZ2VzIHJlcXVpcmUgcmVsYXlvdXRzLCBhcyB0aGV5IGFmZmVj
dCB0aGUgcmVwYWludCByZWN0cy4KLSAgICBpZiAobV9zaGFkb3dEYXRhICE9IG90aGVyLm1fc2hh
ZG93RGF0YSkKLSAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZTo6TGF5b3V0OwotCiAgICAg
Ly8gVGhlIHggb3IgeSBwcm9wZXJ0aWVzIHJlcXVpcmUgcmVsYXlvdXQuCiAgICAgaWYgKG1fbGF5
b3V0RGF0YSAhPSBvdGhlci5tX2xheW91dERhdGEpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZl
cmVuY2U6OkxheW91dDsgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU1ZHUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZS5oCmluZGV4IDU2OGNiYzRlODEzMTQ4OGZjYzEwY2ZkZTA3YmE3NTliYzliMjI4
NzguLjIwOGI4ZDc4ZmM4N2JkODI0OTlkNjNmNTcyOGI1ZDY2ZTU1YWFjMzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oCkBAIC03Nyw3ICs3
Nyw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbEZsb29kT3BhY2l0eSgpIHsg
cmV0dXJuIDE7IH0KICAgICBzdGF0aWMgQ29sb3IgaW5pdGlhbEZsb29kQ29sb3IoKSB7IHJldHVy
biBDb2xvcjo6YmxhY2s7IH0KICAgICBzdGF0aWMgQ29sb3IgaW5pdGlhbExpZ2h0aW5nQ29sb3Io
KSB7IHJldHVybiBDb2xvcjo6d2hpdGU7IH0KLSAgICBzdGF0aWMgU2hhZG93RGF0YSogaW5pdGlh
bFNoYWRvdygpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICBzdGF0aWMgU3RyaW5nIGluaXRpYWxN
YXNrZXJSZXNvdXJjZSgpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgc3RhdGljIFN0cmluZyBp
bml0aWFsTWFya2VyU3RhcnRSZXNvdXJjZSgpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgc3Rh
dGljIFN0cmluZyBpbml0aWFsTWFya2VyTWlkUmVzb3VyY2UoKSB7IHJldHVybiBTdHJpbmcoKTsg
fQpAQCAtMTI0LDggKzEyMyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExpZ2h0aW5nQ29sb3Io
Y29uc3QgQ29sb3ImKTsKICAgICB2b2lkIHNldEJhc2VsaW5lU2hpZnRWYWx1ZShjb25zdCBTVkdM
ZW5ndGhWYWx1ZSYpOwogCi0gICAgdm9pZCBzZXRTaGFkb3coc3RkOjp1bmlxdWVfcHRyPFNoYWRv
d0RhdGE+JiYgZGF0YSkgeyBtX3NoYWRvd0RhdGEuYWNjZXNzKCkuc2hhZG93ID0gV1RGTW92ZShk
YXRhKTsgfQotCiAgICAgLy8gU2V0dGVycyBmb3Igbm9uLWluaGVyaXRlZCByZXNvdXJjZXMKICAg
ICB2b2lkIHNldE1hc2tlclJlc291cmNlKGNvbnN0IFN0cmluZyYpOwogCkBAIC0xNjYsNyArMTYz
LDYgQEAgcHVibGljOgogICAgIGNvbnN0IENvbG9yJiBmbG9vZENvbG9yKCkgY29uc3QgeyByZXR1
cm4gbV9taXNjRGF0YS0+Zmxvb2RDb2xvcjsgfQogICAgIGNvbnN0IENvbG9yJiBsaWdodGluZ0Nv
bG9yKCkgY29uc3QgeyByZXR1cm4gbV9taXNjRGF0YS0+bGlnaHRpbmdDb2xvcjsgfQogICAgIFNW
R0xlbmd0aFZhbHVlIGJhc2VsaW5lU2hpZnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWlzY0Rh
dGEtPmJhc2VsaW5lU2hpZnRWYWx1ZTsgfQotICAgIFNoYWRvd0RhdGEqIHNoYWRvdygpIGNvbnN0
IHsgcmV0dXJuIG1fc2hhZG93RGF0YS0+c2hhZG93LmdldCgpOyB9CiAgICAgY29uc3QgTGVuZ3Ro
JiBjeCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0RGF0YS0+Y3g7IH0KICAgICBjb25zdCBMZW5n
dGgmIGN5KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXREYXRhLT5jeTsgfQogICAgIGNvbnN0IExl
bmd0aCYgcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0RGF0YS0+cjsgfQpAQCAtMTkyLDcgKzE4
OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc01hcmtlcnMoKSBjb25zdCB7IHJldHVybiAhbWFy
a2VyU3RhcnRSZXNvdXJjZSgpLmlzRW1wdHkoKSB8fCAhbWFya2VyTWlkUmVzb3VyY2UoKS5pc0Vt
cHR5KCkgfHwgIW1hcmtlckVuZFJlc291cmNlKCkuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBoYXNT
dHJva2UoKSBjb25zdCB7IHJldHVybiBzdHJva2VQYWludFR5cGUoKSAhPSBTVkdQYWludFR5cGU6
Ok5vbmU7IH0KICAgICBib29sIGhhc0ZpbGwoKSBjb25zdCB7IHJldHVybiBmaWxsUGFpbnRUeXBl
KCkgIT0gU1ZHUGFpbnRUeXBlOjpOb25lOyB9Ci0gICAgYm9vbCBpc29sYXRlc0JsZW5kaW5nKCkg
Y29uc3QgeyByZXR1cm4gaGFzTWFza2VyKCkgfHwgc2hhZG93KCk7IH0KKyAgICBib29sIGlzb2xh
dGVzQmxlbmRpbmcoKSBjb25zdCB7IHJldHVybiBoYXNNYXNrZXIoKTsgfQogCiBwcml2YXRlOgog
ICAgIFNWR1JlbmRlclN0eWxlKCk7CkBAIC0yNDksNyArMjQ1LDYgQEAgcHJpdmF0ZToKICAgICAv
LyBub24taW5oZXJpdGVkIGF0dHJpYnV0ZXMKICAgICBEYXRhUmVmPFN0eWxlU3RvcERhdGE+IG1f
c3RvcERhdGE7CiAgICAgRGF0YVJlZjxTdHlsZU1pc2NEYXRhPiBtX21pc2NEYXRhOwotICAgIERh
dGFSZWY8U3R5bGVTaGFkb3dTVkdEYXRhPiBtX3NoYWRvd0RhdGE7CiAgICAgRGF0YVJlZjxTdHls
ZUxheW91dERhdGE+IG1fbGF5b3V0RGF0YTsKICAgICBEYXRhUmVmPFN0eWxlUmVzb3VyY2VEYXRh
PiBtX25vbkluaGVyaXRlZFJlc291cmNlRGF0YTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuY3BwCmluZGV4IDgzYzJjNzBiMjYxZWNjMDIyOWUy
YWE0MjE1MzUzYTI5MTkxNWMzMjMuLmVhNWI4NTEzZTZlNDc4YWY1ZDlmN2U1OWVhN2E0MThhODY3
YmE3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1h
Z2UuY3BwCkBAIC0xNDQsMTEgKzE0NCw4IEBAIHZvaWQgUmVuZGVyU1ZHSW1hZ2U6OmxheW91dCgp
CiAgICAgfQogCiAgICAgaWYgKG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlKSB7Ci0gICAgICAgIG1f
cmVwYWludEJvdW5kaW5nQm94RXhjbHVkaW5nU2hhZG93ID0gbV9vYmplY3RCb3VuZGluZ0JveDsK
LSAgICAgICAgU1ZHUmVuZGVyU3VwcG9ydDo6aW50ZXJzZWN0UmVwYWludFJlY3RXaXRoUmVzb3Vy
Y2VzKCp0aGlzLCBtX3JlcGFpbnRCb3VuZGluZ0JveEV4Y2x1ZGluZ1NoYWRvdyk7Ci0KLSAgICAg
ICAgbV9yZXBhaW50Qm91bmRpbmdCb3ggPSBtX3JlcGFpbnRCb3VuZGluZ0JveEV4Y2x1ZGluZ1No
YWRvdzsKLQorICAgICAgICBtX3JlcGFpbnRCb3VuZGluZ0JveCA9IG1fb2JqZWN0Qm91bmRpbmdC
b3g7CisgICAgICAgIFNWR1JlbmRlclN1cHBvcnQ6OmludGVyc2VjdFJlcGFpbnRSZWN0V2l0aFJl
c291cmNlcygqdGhpcywgbV9yZXBhaW50Qm91bmRpbmdCb3gpOwogICAgICAgICBtX25lZWRzQm91
bmRhcmllc1VwZGF0ZSA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oCmluZGV4IDY3ZTM1YjVjZmMwNGU4OTRmMTliNzBiMTQ3
MDBkMTEyN2ZmYTgzM2UuLmFiOTg0MjI3OTY0N2U5YjJjZGZjZmUwYjU4YmQ2OWRjYzQyM2FhM2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmgKQEAg
LTg2LDcgKzg2LDYgQEAgcHJpdmF0ZToKICAgICBBZmZpbmVUcmFuc2Zvcm0gbV9sb2NhbFRyYW5z
Zm9ybTsKICAgICBGbG9hdFJlY3QgbV9vYmplY3RCb3VuZGluZ0JveDsKICAgICBGbG9hdFJlY3Qg
bV9yZXBhaW50Qm91bmRpbmdCb3g7Ci0gICAgRmxvYXRSZWN0IG1fcmVwYWludEJvdW5kaW5nQm94
RXhjbHVkaW5nU2hhZG93OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJJbWFnZVJlc291cmNl
PiBtX2ltYWdlUmVzb3VyY2U7CiAgICAgUmVmUHRyPEltYWdlQnVmZmVyPiBtX2J1ZmZlcmVkRm9y
ZWdyb3VuZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
b290LmNwcAppbmRleCAzZjk4NzI5MTg4YTAxODg5MTkyMTJjZmI0ODZmZGU5MzgxYjBkNGFjLi5m
YzM2YmZmYmFkYmUyNTVkMTVmOTM5Y2U3NTMxYzA2MzY0YzI5M2ZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTM3MCwxNCArMzcwLDEw
IEBAIExheW91dFJlY3QgUmVuZGVyU1ZHUm9vdDo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhCiAKIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBS
ZW5kZXJTVkdSb290Ojpjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29udGFpbmVyKGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogY29udGFpbmVyLCBW
aXNpYmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKIHsKLSAgICAvLyBBcHBseSBvdXIgbG9j
YWwgdHJhbnNmb3JtcyAoZXhjZXB0IGZvciB4L3kgdHJhbnNsYXRpb24pLCB0aGVuIG91ciBzaGFk
b3csIAotICAgIC8vIGFuZCB0aGVuIGNhbGwgUmVuZGVyQm94J3MgbWV0aG9kIHRvIGhhbmRsZSBh
bGwgdGhlIG5vcm1hbCBDU1MgQm94IG1vZGVsIGJpdHMKKyAgICAvLyBBcHBseSBvdXIgbG9jYWwg
dHJhbnNmb3JtcyAoZXhjZXB0IGZvciB4L3kgdHJhbnNsYXRpb24pIGFuZCB0aGVuIGNhbGwKKyAg
ICAvLyBSZW5kZXJCb3gncyBtZXRob2QgdG8gaGFuZGxlIGFsbCB0aGUgbm9ybWFsIENTUyBCb3gg
bW9kZWwgYml0cwogICAgIEZsb2F0UmVjdCBhZGp1c3RlZFJlY3QgPSBtX2xvY2FsVG9Cb3JkZXJC
b3hUcmFuc2Zvcm0ubWFwUmVjdChyZWN0KTsKIAotICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlJiBz
dmdTdHlsZSA9IHN0eWxlKCkuc3ZnU3R5bGUoKTsKLSAgICBpZiAoY29uc3QgU2hhZG93RGF0YSog
c2hhZG93ID0gc3ZnU3R5bGUuc2hhZG93KCkpCi0gICAgICAgIHNoYWRvdy0+YWRqdXN0UmVjdEZv
clNoYWRvdyhhZGp1c3RlZFJlY3QpOwotCiAgICAgLy8gQXBwbHkgaW5pdGlhbCB2aWV3cG9ydCBj
bGlwCiAgICAgaWYgKHNob3VsZEFwcGx5Vmlld3BvcnRDbGlwKCkpIHsKICAgICAgICAgaWYgKGNv
bnRleHQub3B0aW9ucy5jb250YWlucyhWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OlVzZUVkZ2VJ
bmNsdXNpdmVJbnRlcnNlY3Rpb24pKSB7CkBAIC00MTcsMTEgKzQxMyw5IEBAIGNvbnN0IFJlbmRl
ck9iamVjdCogUmVuZGVyU1ZHUm9vdDo6cHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5k
ZXJMYXllck1vZGVsCiAKIHZvaWQgUmVuZGVyU1ZHUm9vdDo6dXBkYXRlQ2FjaGVkQm91bmRhcmll
cygpCiB7Ci0gICAgU1ZHUmVuZGVyU3VwcG9ydDo6Y29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94
ZXMoKnRoaXMsIG1fb2JqZWN0Qm91bmRpbmdCb3gsIG1fb2JqZWN0Qm91bmRpbmdCb3hWYWxpZCwg
bV9zdHJva2VCb3VuZGluZ0JveCwgbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFkb3cp
OwotICAgIFNWR1JlbmRlclN1cHBvcnQ6OmludGVyc2VjdFJlcGFpbnRSZWN0V2l0aFJlc291cmNl
cygqdGhpcywgbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFkb3cpOwotICAgIG1fcmVw
YWludEJvdW5kaW5nQm94RXhjbHVkaW5nU2hhZG93LmluZmxhdGUoaG9yaXpvbnRhbEJvcmRlckFu
ZFBhZGRpbmdFeHRlbnQoKSk7Ci0KLSAgICBtX3JlcGFpbnRCb3VuZGluZ0JveCA9IG1fcmVwYWlu
dEJvdW5kaW5nQm94RXhjbHVkaW5nU2hhZG93OworICAgIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1
dGVDb250YWluZXJCb3VuZGluZ0JveGVzKCp0aGlzLCBtX29iamVjdEJvdW5kaW5nQm94LCBtX29i
amVjdEJvdW5kaW5nQm94VmFsaWQsIG1fc3Ryb2tlQm91bmRpbmdCb3gsIG1fcmVwYWludEJvdW5k
aW5nQm94KTsKKyAgICBTVkdSZW5kZXJTdXBwb3J0OjppbnRlcnNlY3RSZXBhaW50UmVjdFdpdGhS
ZXNvdXJjZXMoKnRoaXMsIG1fcmVwYWludEJvdW5kaW5nQm94KTsKKyAgICBtX3JlcGFpbnRCb3Vu
ZGluZ0JveC5pbmZsYXRlKGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCkpOwogfQog
CiBib29sIFJlbmRlclNWR1Jvb3Q6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiBy
ZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9j
YXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBI
aXRUZXN0QWN0aW9uIGhpdFRlc3RBY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5oCmluZGV4IGQ0ZTVlMWU0OTViOGI4MmIzZWQxYWNkZGI5NWU2NzI0
NjVhZDBkZGMuLjE4NjZmNDJmMDI3MGI0YWE1NWI0MmM4YTA2MjY0NzY3NGI0YTYxNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCkBAIC0xMTEsNyAr
MTExLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faW5MYXlvdXQgeyBmYWxzZSB9OwogICAgIEZs
b2F0UmVjdCBtX3N0cm9rZUJvdW5kaW5nQm94OwogICAgIEZsb2F0UmVjdCBtX3JlcGFpbnRCb3Vu
ZGluZ0JveDsKLSAgICBGbG9hdFJlY3QgbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFk
b3c7CiAgICAgbXV0YWJsZSBBZmZpbmVUcmFuc2Zvcm0gbV9sb2NhbFRvUGFyZW50VHJhbnNmb3Jt
OwogICAgIEFmZmluZVRyYW5zZm9ybSBtX2xvY2FsVG9Cb3JkZXJCb3hUcmFuc2Zvcm07CiAgICAg
SGFzaFNldDxSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcio+IG1fcmVzb3VyY2VzTmVlZGluZ1Rv
SW52YWxpZGF0ZUNsaWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmNwcAppbmRleCAxNTRmNTNkNTI2ZTlmZDIxNDBmMWEwMDk2OGY5YzVi
MjEyZTRiZDYyLi40NGI4MGFhZTQ5NTRkMTA2ODBkNjkxYTFkZGQxOGVhNzA5MGJhMzgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAK
QEAgLTU5LDkgKzU5LDYgQEAgTGF5b3V0UmVjdCBTVkdSZW5kZXJTdXBwb3J0OjpjbGlwcGVkT3Zl
cmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJFbGVtZW50JgogICAgIC8vIFBhc3Mgb3Vy
IGxvY2FsIHBhaW50IHJlY3QgdG8gY29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcigp
IHdoaWNoIHdpbGwKICAgICAvLyBtYXAgdG8gcGFyZW50IGNvb3JkcyBhbmQgcmVjdXJzZSB1cCB0
aGUgcGFyZW50IGNoYWluLgogICAgIEZsb2F0UmVjdCByZXBhaW50UmVjdCA9IHJlbmRlcmVyLnJl
cGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCk7Ci0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUm
IHN2Z1N0eWxlID0gcmVuZGVyZXIuc3R5bGUoKS5zdmdTdHlsZSgpOwotICAgIGlmIChjb25zdCBT
aGFkb3dEYXRhKiBzaGFkb3cgPSBzdmdTdHlsZS5zaGFkb3coKSkKLSAgICAgICAgc2hhZG93LT5h
ZGp1c3RSZWN0Rm9yU2hhZG93KHJlcGFpbnRSZWN0KTsKICAgICByZXR1cm4gZW5jbG9zaW5nTGF5
b3V0UmVjdChyZW5kZXJlci5jb21wdXRlRmxvYXRSZWN0Rm9yUmVwYWludChyZXBhaW50UmVjdCwg
cmVwYWludENvbnRhaW5lcikpOwogfQogCkBAIC03NCw5ICs3MSw2IEBAIHN0ZDo6b3B0aW9uYWw8
RmxvYXRSZWN0PiBTVkdSZW5kZXJTdXBwb3J0Ojpjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29u
dGFpbmVyKGNvCiAgICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKIAogICAgIEZsb2F0UmVjdCBh
ZGp1c3RlZFJlY3QgPSByZWN0OwotICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlJiBzdmdTdHlsZSA9
IHJlbmRlcmVyLnN0eWxlKCkuc3ZnU3R5bGUoKTsKLSAgICBpZiAoY29uc3QgU2hhZG93RGF0YSog
c2hhZG93ID0gc3ZnU3R5bGUuc2hhZG93KCkpCi0gICAgICAgIHNoYWRvdy0+YWRqdXN0UmVjdEZv
clNoYWRvdyhhZGp1c3RlZFJlY3QpOwogICAgIGFkanVzdGVkUmVjdC5pbmZsYXRlKHJlbmRlcmVy
LnN0eWxlKCkub3V0bGluZVdpZHRoKCkpOwogCiAgICAgLy8gVHJhbnNsYXRlIHRvIGNvb3JkcyBp
biBvdXIgcGFyZW50IHJlbmRlcmVyLCBhbmQgdGhlbiBjYWxsIGNvbXB1dGVGbG9hdFZpc2libGVS
ZWN0SW5Db250YWluZXIoKSBvbiBvdXIgcGFyZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggMzg3ODhiOGEyMzAy
NzAwZTAxNWIzZTNkOGFhNGUwMzIzYzU2NGUwZC4uOTlkZjUzNjBjNDkwZWY5N2U1ZjgxMTc1YmQz
NjcwNWEzMzEyZTYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC02Niw5ICs2Niw2IEBAIFNWR1JlbmRlcmluZ0Nv
bnRleHQ6On5TVkdSZW5kZXJpbmdDb250ZXh0KCkKICAgICBpZiAobV9yZW5kZXJpbmdGbGFncyAm
IEVuZE9wYWNpdHlMYXllcikKICAgICAgICAgbV9wYWludEluZm8tPmNvbnRleHQoKS5lbmRUcmFu
c3BhcmVuY3lMYXllcigpOwogCi0gICAgaWYgKG1fcmVuZGVyaW5nRmxhZ3MgJiBFbmRTaGFkb3dM
YXllcikKLSAgICAgICAgbV9wYWludEluZm8tPmNvbnRleHQoKS5lbmRUcmFuc3BhcmVuY3lMYXll
cigpOwotCiAgICAgaWYgKG1fcmVuZGVyaW5nRmxhZ3MgJiBSZXN0b3JlR3JhcGhpY3NDb250ZXh0
KQogICAgICAgICBtX3BhaW50SW5mby0+Y29udGV4dCgpLnJlc3RvcmUoKTsKIH0KQEAgLTk5LDcg
Kzk2LDYgQEAgdm9pZCBTVkdSZW5kZXJpbmdDb250ZXh0OjpwcmVwYXJlVG9SZW5kZXJTVkdDb250
ZW50KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBQYWkKICAgICBib29sIGlzUmVuZGVyaW5nTWFz
ayA9IGlzUmVuZGVyaW5nTWFza0ltYWdlKCptX3JlbmRlcmVyKTsKICAgICAvLyBSZW5kZXJMYXll
ciB0YWtlcyBjYXJlIG9mIHJvb3Qgb3BhY2l0eS4KICAgICBmbG9hdCBvcGFjaXR5ID0gKHJlbmRl
cmVyLmlzU1ZHUm9vdCgpIHx8IGlzUmVuZGVyaW5nTWFzaykgPyAxIDogc3R5bGUub3BhY2l0eSgp
OwotICAgIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdyA9IHN2Z1N0eWxlLnNoYWRvdygpOwogICAg
IGJvb2wgaGFzQmxlbmRNb2RlID0gc3R5bGUuaGFzQmxlbmRNb2RlKCk7CiAgICAgYm9vbCBoYXNJ
c29sYXRpb24gPSBzdHlsZS5oYXNJc29sYXRpb24oKTsKICAgICBib29sIGlzb2xhdGVNYXNrRm9y
QmxlbmRpbmcgPSBmYWxzZTsKQEAgLTExMSw3ICsxMDcsNyBAQCB2b2lkIFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OnByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIs
IFBhaQogICAgIH0KICNlbmRpZgogCi0gICAgaWYgKG9wYWNpdHkgPCAxIHx8IHNoYWRvdyB8fCBo
YXNCbGVuZE1vZGUgfHwgaXNvbGF0ZU1hc2tGb3JCbGVuZGluZyB8fCBoYXNJc29sYXRpb24pIHsK
KyAgICBpZiAob3BhY2l0eSA8IDEgfHwgaGFzQmxlbmRNb2RlIHx8IGlzb2xhdGVNYXNrRm9yQmxl
bmRpbmcgfHwgaGFzSXNvbGF0aW9uKSB7CiAgICAgICAgIEZsb2F0UmVjdCByZXBhaW50UmVjdCA9
IG1fcmVuZGVyZXItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCk7CiAgICAgICAgIG1f
cGFpbnRJbmZvLT5jb250ZXh0KCkuY2xpcChyZXBhaW50UmVjdCk7CiAKQEAgLTEyNywxMiArMTIz
LDYgQEAgdm9pZCBTVkdSZW5kZXJpbmdDb250ZXh0OjpwcmVwYXJlVG9SZW5kZXJTVkdDb250ZW50
KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBQYWkKIAogICAgICAgICAgICAgbV9yZW5kZXJpbmdG
bGFncyB8PSBFbmRPcGFjaXR5TGF5ZXI7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAoc2hhZG93
KSB7Ci0gICAgICAgICAgICBtX3BhaW50SW5mby0+Y29udGV4dCgpLnNldFNoYWRvdyhJbnRTaXpl
KHJvdW5kVG9JbnQoc2hhZG93LT54KCkpLCByb3VuZFRvSW50KHNoYWRvdy0+eSgpKSksIHNoYWRv
dy0+cmFkaXVzKCksIHNoYWRvdy0+Y29sb3IoKSk7Ci0gICAgICAgICAgICBtX3BhaW50SW5mby0+
Y29udGV4dCgpLmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoMSk7Ci0gICAgICAgICAgICBtX3JlbmRl
cmluZ0ZsYWdzIHw9IEVuZFNoYWRvd0xheWVyOwotICAgICAgICB9CiAgICAgfQogCiAgICAgQ2xp
cFBhdGhPcGVyYXRpb24qIGNsaXBQYXRoT3BlcmF0aW9uID0gc3R5bGUuY2xpcFBhdGgoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmgK
aW5kZXggNGNmYjI2YTI0NzkxMWQ3Mzk1MjdkZDk4OTBjODI5MzVlNTA2ODRkNS4uNTk2NTk3YmUx
MjQ3YTk2YTYwNGFjY2Y0NTdlMDkyOWZkMGY1MGEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTg0LDEzICs4NCwxMiBA
QCBwcml2YXRlOgogICAgICAgICBSZW5kZXJpbmdQcmVwYXJlZCA9IDEsCiAgICAgICAgIFJlc3Rv
cmVHcmFwaGljc0NvbnRleHQgPSAxIDw8IDEsCiAgICAgICAgIEVuZE9wYWNpdHlMYXllciA9IDEg
PDwgMiwKLSAgICAgICAgRW5kU2hhZG93TGF5ZXIgPSAxIDw8IDMsCi0gICAgICAgIEVuZEZpbHRl
ckxheWVyID0gMSA8PCA0LAotICAgICAgICBQcmVwYXJlVG9SZW5kZXJTVkdDb250ZW50V2FzQ2Fs
bGVkID0gMSA8PCA1CisgICAgICAgIEVuZEZpbHRlckxheWVyID0gMSA8PCAzLAorICAgICAgICBQ
cmVwYXJlVG9SZW5kZXJTVkdDb250ZW50V2FzQ2FsbGVkID0gMSA8PCA0CiAgICAgfTsKIAogICAg
IC8vIExpc3Qgb2YgdGhvc2UgZmxhZ3Mgd2hpY2ggcmVxdWlyZSBhY3Rpb25zIGR1cmluZyB0aGUg
ZGVzdHJ1Y3Rvci4KLSAgICBzdGF0aWMgY29uc3RleHByIGludCBBY3Rpb25zTmVlZGVkID0gUmVz
dG9yZUdyYXBoaWNzQ29udGV4dCB8IEVuZE9wYWNpdHlMYXllciB8IEVuZFNoYWRvd0xheWVyIHwg
RW5kRmlsdGVyTGF5ZXI7CisgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQgQWN0aW9uc05lZWRlZCA9
IFJlc3RvcmVHcmFwaGljc0NvbnRleHQgfCBFbmRPcGFjaXR5TGF5ZXIgfCBFbmRGaWx0ZXJMYXll
cjsKIAogICAgIFJlbmRlckVsZW1lbnQqIG1fcmVuZGVyZXIgeyBudWxscHRyIH07CiAgICAgUGFp
bnRJbmZvKiBtX3BhaW50SW5mbyB7IG51bGxwdHIgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>