<?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>211974</bug_id>
          
          <creation_ts>2020-05-15 17:24:29 -0700</creation_ts>
          <short_desc>Rename the mapLocalToContainer() container argument, since it&apos;s not just used for repaint</short_desc>
          <delta_ts>2020-05-15 19:15:14 -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>New Bugs</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>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>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1653245</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-15 17:24:29 -0700</bug_when>
    <thetext>Rename the mapLocalToContainer() container argument, since it&apos;s not just used for repaint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653246</commentid>
    <comment_count>1</comment_count>
      <attachid>399533</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-15 17:25:39 -0700</bug_when>
    <thetext>Created attachment 399533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653265</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-15 19:14:33 -0700</bug_when>
    <thetext>Committed r261775: &lt;https://trac.webkit.org/changeset/261775&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399533.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653266</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-15 19:15:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/63298234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399533</attachid>
            <date>2020-05-15 17:25:39 -0700</date>
            <delta_ts>2020-05-15 19:14:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211974-20200515172538.patch</filename>
            <type>text/plain</type>
            <size>39309</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIyN2E4MzIwNmY1OGU5
M2U4NmQ1NDQyNTAyMDE2MjA2Mjg2ZmEzZi4uZTdjNmU4YWFmMDM0YTY3OTgwMWFhNjRhMjEyNmYz
MTk2MTVmYTM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIwLTA1LTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSB0aGUg
bWFwTG9jYWxUb0NvbnRhaW5lcigpIGNvbnRhaW5lciBhcmd1bWVudCwgc2luY2UgaXQncyBub3Qg
anVzdCB1c2VkIGZvciByZXBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTE5NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBtYXBMb2NhbFRvQ29udGFpbmVyKCkgaXMgYSBnZW5lcmljIGdlb21ldHJ5
IG1hcHBpbmcgZnVuY3Rpb24sIGFuZCBub3QganVzdCB1c2VkIGZvciByZXBhaW50LAorICAgICAg
ICBzbyByZW5hbWUgdGhlICJyZXBhaW50Q29udGFpbmVyIiBhcmd1bWVudCB0byAiYW5jZXN0b3JD
b250YWluZXIiLgorCisgICAgICAgIEFsc28gZml4IHNvbWUgd2VpcmRseSBuYW1lZCB2YXJpYWJs
ZXMgaW4gUmVuZGVyTXVsdGlDb2x1bW5GbG93LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Om1hcExvY2FsVG9Db250YWlu
ZXIgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRnJhZ21lbnRlZEZsb3c6Om1hcExvY2FsVG9Db250YWluZXIgY29uc3QpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjptYXBMb2Nh
bFRvQ29udGFpbmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6cHVz
aE1hcHBpbmdUb0NvbnRhaW5lciBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OmFkZEZyYWdtZW50VG9UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlD
b2x1bW5GbG93OjptYXBGcm9tRmxvd1RvRnJhZ21lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpwaHlzaWNhbFRyYW5zbGF0aW9uT2Zmc2V0RnJvbUZs
b3dUb0ZyYWdtZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1u
Rmxvdzo6cGh5c2ljYWxUcmFuc2xhdGlvbkZyb21GbG93VG9GcmFnbWVudCBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6Om1hcExvY2FsVG9Db250YWluZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT2JqZWN0Ojpsb2NhbFRvQ29udGFpbmVyUXVhZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6OmxvY2FsVG9Db250YWluZXJQb2ludCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6Om1hcExvY2FsVG9Db250YWlu
ZXIgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRm9yZWlnbk9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdGb3JlaWduT2JqZWN0OjptYXBMb2Nh
bFRvQ29udGFpbmVyIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Zv
cmVpZ25PYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmU6Om1hcExvY2FsVG9Db250YWlu
ZXIgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdNb2RlbE9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lciBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSb290OjptYXBMb2NhbFRvQ29udGFpbmVyIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dDo6bWFwTG9j
YWxUb0NvbnRhaW5lciBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2FsVG9Db250YWluZXIpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorCiAyMDIwLTA1LTE0
ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBv
c2UgaXNDb2x1bW5IZWFkZXJDZWxsIGFuZCBpc1Jvd0hlYWRlckNlbGwgdGhyb3VnaCBBWENvcmVP
YmplY3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGFjN2M5ZjE4
NzM3NTc3Y2JjMzY4NzBlNjZmOTViNTM3ZDBlZDlkM2EuLmJhMGFjZDY0MTZkZWU0Y2U2MjY2MGQz
ZjU3YTYwYzk1MWFiNWIwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CkBAIC0yMDQxLDEyICsyMDQxLDEyIEBAIExheW91dFVuaXQgUmVuZGVyQm94OjpwZXJwZW5kaWN1
bGFyQ29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodCgpIGNvbnN0CiAgICAgcmV0dXJuIGNiLT5h
ZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhMYXlvdXRVbml0KGxvZ2lj
YWxIZWlnaHRMZW5ndGgudmFsdWUoKSkpOwogfQogCi12b2lkIFJlbmRlckJveDo6bWFwTG9jYWxU
b0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVy
LCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9k
ZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0Cit2b2lkIFJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRh
aW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvckNvbnRhaW5lciwgVHJh
bnNmb3JtU3RhdGUmIHRyYW5zZm9ybVN0YXRlLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUsIGJv
b2wqIHdhc0ZpeGVkKSBjb25zdAogewotICAgIGlmIChyZXBhaW50Q29udGFpbmVyID09IHRoaXMp
CisgICAgaWYgKGFuY2VzdG9yQ29udGFpbmVyID09IHRoaXMpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGlmICghcmVwYWludENvbnRhaW5lciAmJiB2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29u
dGV4dCgpLmlzUGFpbnRPZmZzZXRDYWNoZUVuYWJsZWQoKSkgeworICAgIGlmICghYW5jZXN0b3JD
b250YWluZXIgJiYgdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc1BhaW50T2Zm
c2V0Q2FjaGVFbmFibGVkKCkpIHsKICAgICAgICAgYXV0byogbGF5b3V0U3RhdGUgPSB2aWV3KCku
ZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7CiAgICAgICAgIExheW91
dFNpemUgb2Zmc2V0ID0gbGF5b3V0U3RhdGUtPnBhaW50T2Zmc2V0KCkgKyBsb2NhdGlvbk9mZnNl
dCgpOwogICAgICAgICBpZiAoc3R5bGUoKS5oYXNJbkZsb3dQb3NpdGlvbigpICYmIGxheWVyKCkp
CkBAIC0yMDU2LDcgKzIwNTYsNyBAQCB2b2lkIFJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5l
cihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbgogICAgIH0KIAog
ICAgIGJvb2wgY29udGFpbmVyU2tpcHBlZDsKLSAgICBSZW5kZXJFbGVtZW50KiBjb250YWluZXIg
PSB0aGlzLT5jb250YWluZXIocmVwYWludENvbnRhaW5lciwgY29udGFpbmVyU2tpcHBlZCk7Cisg
ICAgUmVuZGVyRWxlbWVudCogY29udGFpbmVyID0gdGhpcy0+Y29udGFpbmVyKGFuY2VzdG9yQ29u
dGFpbmVyLCBjb250YWluZXJTa2lwcGVkKTsKICAgICBpZiAoIWNvbnRhaW5lcikKICAgICAgICAg
cmV0dXJuOwogCkBAIC0yMDgyLDE2ICsyMDgyLDE2IEBAIHZvaWQgUmVuZGVyQm94OjptYXBMb2Nh
bFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
CiAgICAgICAgIHRyYW5zZm9ybVN0YXRlLm1vdmUoY29udGFpbmVyT2Zmc2V0LndpZHRoKCksIGNv
bnRhaW5lck9mZnNldC5oZWlnaHQoKSwgcHJlc2VydmUzRCA/IFRyYW5zZm9ybVN0YXRlOjpBY2N1
bXVsYXRlVHJhbnNmb3JtIDogVHJhbnNmb3JtU3RhdGU6OkZsYXR0ZW5UcmFuc2Zvcm0pOwogCiAg
ICAgaWYgKGNvbnRhaW5lclNraXBwZWQpIHsKLSAgICAgICAgLy8gVGhlcmUgY2FuJ3QgYmUgYSB0
cmFuc2Zvcm0gYmV0d2VlbiByZXBhaW50Q29udGFpbmVyIGFuZCBvLCBiZWNhdXNlIHRyYW5zZm9y
bXMgY3JlYXRlIGNvbnRhaW5lcnMsIHNvIGl0IHNob3VsZCBiZSBzYWZlCi0gICAgICAgIC8vIHRv
IGp1c3Qgc3VidHJhY3QgdGhlIGRlbHRhIGJldHdlZW4gdGhlIHJlcGFpbnRDb250YWluZXIgYW5k
IG8uCi0gICAgICAgIExheW91dFNpemUgY29udGFpbmVyT2Zmc2V0ID0gcmVwYWludENvbnRhaW5l
ci0+b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKCpjb250YWluZXIpOworICAgICAgICAvLyBU
aGVyZSBjYW4ndCBiZSBhIHRyYW5zZm9ybSBiZXR3ZWVuIGFuY2VzdG9yQ29udGFpbmVyIGFuZCBv
LCBiZWNhdXNlIHRyYW5zZm9ybXMgY3JlYXRlIGNvbnRhaW5lcnMsIHNvIGl0IHNob3VsZCBiZSBz
YWZlCisgICAgICAgIC8vIHRvIGp1c3Qgc3VidHJhY3QgdGhlIGRlbHRhIGJldHdlZW4gdGhlIGFu
Y2VzdG9yQ29udGFpbmVyIGFuZCBvLgorICAgICAgICBMYXlvdXRTaXplIGNvbnRhaW5lck9mZnNl
dCA9IGFuY2VzdG9yQ29udGFpbmVyLT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoKmNvbnRh
aW5lcik7CiAgICAgICAgIHRyYW5zZm9ybVN0YXRlLm1vdmUoLWNvbnRhaW5lck9mZnNldC53aWR0
aCgpLCAtY29udGFpbmVyT2Zmc2V0LmhlaWdodCgpLCBwcmVzZXJ2ZTNEID8gVHJhbnNmb3JtU3Rh
dGU6OkFjY3VtdWxhdGVUcmFuc2Zvcm0gOiBUcmFuc2Zvcm1TdGF0ZTo6RmxhdHRlblRyYW5zZm9y
bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBtb2RlICY9IH5BcHBseUNvbnRhaW5l
ckZsaXA7CiAKLSAgICBjb250YWluZXItPm1hcExvY2FsVG9Db250YWluZXIocmVwYWludENvbnRh
aW5lciwgdHJhbnNmb3JtU3RhdGUsIG1vZGUsIHdhc0ZpeGVkKTsKKyAgICBjb250YWluZXItPm1h
cExvY2FsVG9Db250YWluZXIoYW5jZXN0b3JDb250YWluZXIsIHRyYW5zZm9ybVN0YXRlLCBtb2Rl
LCB3YXNGaXhlZCk7CiB9CiAKIGNvbnN0IFJlbmRlck9iamVjdCogUmVuZGVyQm94OjpwdXNoTWFw
cGluZ1RvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9T
dG9wQXQsIFJlbmRlckdlb21ldHJ5TWFwJiBnZW9tZXRyeU1hcCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBlYmJjOTE4OGZkM2ZjYzc4MjJmYmM2N2Y1ZWJmOWQ2
OTcwNzM0MDIwLi5kMDg3ZDNmNjRmZDQ3MGI5MTg2MzFlYjY1YjY5MmMyMWJhZmZlYzdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC02ODQsNyArNjg0LDcgQEAgcHJvdGVj
dGVkOgogICAgIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDb21wdXRlU2l6ZUFzUmVwbGFjZWQo
KSBjb25zdCB7IHJldHVybiBpc1JlcGxhY2VkKCkgJiYgIWlzSW5saW5lQmxvY2tPcklubGluZVRh
YmxlKCk7IH0KIAotICAgIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3Jk
aW5hdGVzRmxhZ3MsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIG1h
cExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JD
b250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2Fz
Rml4ZWQpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBp
bmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiwgUmVuZGVyR2VvbWV0
cnlNYXAmKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50
KE1hcENvb3JkaW5hdGVzRmxhZ3MsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Qgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3Bw
CmluZGV4IDJkYTYxYzAyOTZhOWEzYTRhYmY5ZDhmMjY1NTRiY2JmZWRiZDVlZjguLjBkZDM4ZWMy
ZmQxMDkwYjFhNmZjZTRjMjY4YmUxOGMyMWUyZmYyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcApAQCAtOTA5LDkgKzkwOSw5IEBA
IExheW91dFVuaXQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZyb21Mb2dpY2FsVG9wT2ZG
aXJzdEZyYWdtZW50KGNvbnN0IFJlbmRlCiAgICAgcmV0dXJuIGN1cnJlbnRCbG9jay0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IGJsb2NrUmVjdC55KCkgOiBibG9ja1JlY3QueCgpOwogfQog
Ci12b2lkIFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJl
bmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0
cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlLCBib29sKiB3YXNGaXhlZCkg
Y29uc3QKK3ZvaWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1hcExvY2FsVG9Db250YWluZXIoY29u
c3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9ybVN0
YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlLCBib29sKiB3YXNG
aXhlZCkgY29uc3QKIHsKLSAgICBpZiAodGhpcyA9PSByZXBhaW50Q29udGFpbmVyKQorICAgIGlm
ICh0aGlzID09IGFuY2VzdG9yQ29udGFpbmVyKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
UmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW50ID0gbWFwRnJvbUZsb3dUb0ZyYWdtZW50
KHRyYW5zZm9ybVN0YXRlKSkgewpAQCAtOTIwLDE5ICs5MjAsMTkgQEAgdm9pZCBSZW5kZXJGcmFn
bWVudGVkRmxvdzo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXAKIAogICAgICAgICAvLyBJZiB0aGUgcmVwYWludCBjb250YWluZXIgaXMgbnVsbHB0
ciwgd2UgaGF2ZSB0byBjbGltYiB1cCB0byB0aGUgUmVuZGVyVmlldywgb3RoZXJ3aXNlIHN3YXAK
ICAgICAgICAgLy8gaXQgd2l0aCB0aGUgZnJhZ21lbnQncyByZXBhaW50IGNvbnRhaW5lci4KLSAg
ICAgICAgcmVwYWludENvbnRhaW5lciA9IHJlcGFpbnRDb250YWluZXIgPyBmcmFnbWVudC0+Y29u
dGFpbmVyRm9yUmVwYWludCgpIDogbnVsbHB0cjsKKyAgICAgICAgYW5jZXN0b3JDb250YWluZXIg
PSBhbmNlc3RvckNvbnRhaW5lciA/IGZyYWdtZW50LT5jb250YWluZXJGb3JSZXBhaW50KCkgOiBu
dWxscHRyOwogCiAgICAgICAgIGlmIChSZW5kZXJGcmFnbWVudGVkRmxvdyogZnJhZ21lbnRGcmFn
bWVudGVkRmxvdyA9IGZyYWdtZW50LT5lbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpKSB7CiAgICAg
ICAgICAgICBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogc3RhcnRGcmFnbWVudCA9IG51bGxwdHI7
CiAgICAgICAgICAgICBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogZW5kRnJhZ21lbnQgPSBudWxs
cHRyOwogICAgICAgICAgICAgaWYgKGZyYWdtZW50RnJhZ21lbnRlZEZsb3ctPmdldEZyYWdtZW50
UmFuZ2VGb3JCb3goZnJhZ21lbnQsIHN0YXJ0RnJhZ21lbnQsIGVuZEZyYWdtZW50KSkgewogICAg
ICAgICAgICAgICAgIEN1cnJlbnRSZW5kZXJGcmFnbWVudENvbnRhaW5lck1haW50YWluZXIgZnJh
Z21lbnRNYWludGFpbmVyKCpzdGFydEZyYWdtZW50KTsKLSAgICAgICAgICAgICAgICBmcmFnbWVu
dE9iamVjdC0+bWFwTG9jYWxUb0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCB0cmFuc2Zvcm1T
dGF0ZSwgbW9kZSwgd2FzRml4ZWQpOworICAgICAgICAgICAgICAgIGZyYWdtZW50T2JqZWN0LT5t
YXBMb2NhbFRvQ29udGFpbmVyKGFuY2VzdG9yQ29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9k
ZSwgd2FzRml4ZWQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCi0gICAgICAgIGZyYWdtZW50T2JqZWN0LT5tYXBMb2NhbFRvQ29udGFpbmVyKHJl
cGFpbnRDb250YWluZXIsIHRyYW5zZm9ybVN0YXRlLCBtb2RlLCB3YXNGaXhlZCk7CisgICAgICAg
IGZyYWdtZW50T2JqZWN0LT5tYXBMb2NhbFRvQ29udGFpbmVyKGFuY2VzdG9yQ29udGFpbmVyLCB0
cmFuc2Zvcm1TdGF0ZSwgbW9kZSwgd2FzRml4ZWQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaAppbmRleCA1OWNiZTJkYzNk
ZDBlZDgzNjZlMjFjODk4MTNiMTc0ZjZiNTk5NmY1Li5mYWNlYjE5NmQ5YmY3N2NkNjI4NTU0ZTMz
NTEwMDBlOTk4OTNhZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhZ21lbnRlZEZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RnJhZ21lbnRlZEZsb3cuaApAQCAtMTkzLDcgKzE5Myw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lk
IGNsZWFyTGluZXNUb0ZyYWdtZW50TWFwKCk7CiAgICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBv
dmVycmlkZTsKIAotICAgIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3Jk
aW5hdGVzRmxhZ3MsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIG1h
cExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JD
b250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2Fz
Rml4ZWQpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCB1cGRhdGVGcmFnbWVudHNGcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0KCk7CiAgICAgYm9vbCBzaG91bGRSZXBhaW50KGNvbnN0IExheW91
dFJlY3QmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAK
aW5kZXggZmNmNjJlNmI0MzM1ODI3ZWExN2Y4NjZlZDU3MDRkZTBhZWM2MzMyNC4uNmRiZjUzOWZk
OTZlNDMxMTI4N2Y0YWZhYWJlMWY5ZDU2ZTQzM2RmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcklubGluZS5jcHAKQEAgLTk0OSwxMiArOTQ5LDEyIEBAIExheW91dFNpemUgUmVu
ZGVySW5saW5lOjpvZmZzZXRGcm9tQ29udGFpbmVyKFJlbmRlckVsZW1lbnQmIGNvbnRhaW5lciwg
Y29uc3QgTGF5CiAgICAgcmV0dXJuIG9mZnNldDsKIH0KIAotdm9pZCBSZW5kZXJJbmxpbmU6Om1h
cExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmIHRyYW5zZm9ybVN0YXRlLCBNYXBDb29yZGluYXRlc0Zs
YWdzIG1vZGUsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdAordm9pZCBSZW5kZXJJbmxpbmU6Om1hcExv
Y2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250
YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFn
cyBtb2RlLCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHsKLSAgICBpZiAocmVwYWludENvbnRhaW5l
ciA9PSB0aGlzKQorICAgIGlmIChhbmNlc3RvckNvbnRhaW5lciA9PSB0aGlzKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc1Bh
aW50T2Zmc2V0Q2FjaGVFbmFibGVkKCkgJiYgIXJlcGFpbnRDb250YWluZXIpIHsKKyAgICBpZiAo
dmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc1BhaW50T2Zmc2V0Q2FjaGVFbmFi
bGVkKCkgJiYgIWFuY2VzdG9yQ29udGFpbmVyKSB7CiAgICAgICAgIGF1dG8qIGxheW91dFN0YXRl
ID0gdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpOwogICAg
ICAgICBMYXlvdXRTaXplIG9mZnNldCA9IGxheW91dFN0YXRlLT5wYWludE9mZnNldCgpOwogICAg
ICAgICBpZiAoc3R5bGUoKS5oYXNJbkZsb3dQb3NpdGlvbigpICYmIGxheWVyKCkpCkBAIC05NjQs
NyArOTY0LDcgQEAgdm9pZCBSZW5kZXJJbmxpbmU6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnQKICAgICB9CiAKICAgICBib29sIGNv
bnRhaW5lclNraXBwZWQ7Ci0gICAgUmVuZGVyRWxlbWVudCogY29udGFpbmVyID0gdGhpcy0+Y29u
dGFpbmVyKHJlcGFpbnRDb250YWluZXIsIGNvbnRhaW5lclNraXBwZWQpOworICAgIFJlbmRlckVs
ZW1lbnQqIGNvbnRhaW5lciA9IHRoaXMtPmNvbnRhaW5lcihhbmNlc3RvckNvbnRhaW5lciwgY29u
dGFpbmVyU2tpcHBlZCk7CiAgICAgaWYgKCFjb250YWluZXIpCiAgICAgICAgIHJldHVybjsKIApA
QCAtOTg3LDE0ICs5ODcsMTQgQEAgdm9pZCBSZW5kZXJJbmxpbmU6Om1hcExvY2FsVG9Db250YWlu
ZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnQKICAgICAgICAgdHJh
bnNmb3JtU3RhdGUubW92ZShjb250YWluZXJPZmZzZXQud2lkdGgoKSwgY29udGFpbmVyT2Zmc2V0
LmhlaWdodCgpLCBwcmVzZXJ2ZTNEID8gVHJhbnNmb3JtU3RhdGU6OkFjY3VtdWxhdGVUcmFuc2Zv
cm0gOiBUcmFuc2Zvcm1TdGF0ZTo6RmxhdHRlblRyYW5zZm9ybSk7CiAKICAgICBpZiAoY29udGFp
bmVyU2tpcHBlZCkgewotICAgICAgICAvLyBUaGVyZSBjYW4ndCBiZSBhIHRyYW5zZm9ybSBiZXR3
ZWVuIHJlcGFpbnRDb250YWluZXIgYW5kIG8sIGJlY2F1c2UgdHJhbnNmb3JtcyBjcmVhdGUgY29u
dGFpbmVycywgc28gaXQgc2hvdWxkIGJlIHNhZmUKLSAgICAgICAgLy8gdG8ganVzdCBzdWJ0cmFj
dCB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgcmVwYWludENvbnRhaW5lciBhbmQgby4KLSAgICAgICAg
TGF5b3V0U2l6ZSBjb250YWluZXJPZmZzZXQgPSByZXBhaW50Q29udGFpbmVyLT5vZmZzZXRGcm9t
QW5jZXN0b3JDb250YWluZXIoKmNvbnRhaW5lcik7CisgICAgICAgIC8vIFRoZXJlIGNhbid0IGJl
IGEgdHJhbnNmb3JtIGJldHdlZW4gYW5jZXN0b3JDb250YWluZXIgYW5kIG8sIGJlY2F1c2UgdHJh
bnNmb3JtcyBjcmVhdGUgY29udGFpbmVycywgc28gaXQgc2hvdWxkIGJlIHNhZmUKKyAgICAgICAg
Ly8gdG8ganVzdCBzdWJ0cmFjdCB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgYW5jZXN0b3JDb250YWlu
ZXIgYW5kIG8uCisgICAgICAgIExheW91dFNpemUgY29udGFpbmVyT2Zmc2V0ID0gYW5jZXN0b3JD
b250YWluZXItPm9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcigqY29udGFpbmVyKTsKICAgICAg
ICAgdHJhbnNmb3JtU3RhdGUubW92ZSgtY29udGFpbmVyT2Zmc2V0LndpZHRoKCksIC1jb250YWlu
ZXJPZmZzZXQuaGVpZ2h0KCksIHByZXNlcnZlM0QgPyBUcmFuc2Zvcm1TdGF0ZTo6QWNjdW11bGF0
ZVRyYW5zZm9ybSA6IFRyYW5zZm9ybVN0YXRlOjpGbGF0dGVuVHJhbnNmb3JtKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGNvbnRhaW5lci0+bWFwTG9jYWxUb0NvbnRhaW5lcihyZXBh
aW50Q29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9kZSwgd2FzRml4ZWQpOworICAgIGNvbnRh
aW5lci0+bWFwTG9jYWxUb0NvbnRhaW5lcihhbmNlc3RvckNvbnRhaW5lciwgdHJhbnNmb3JtU3Rh
dGUsIG1vZGUsIHdhc0ZpeGVkKTsKIH0KIAogY29uc3QgUmVuZGVyT2JqZWN0KiBSZW5kZXJJbmxp
bmU6OnB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
YW5jZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmIGdlb21ldHJ5TWFwKSBjb25zdApA
QCAtMTAwOCw4ICsxMDA4LDggQEAgY29uc3QgUmVuZGVyT2JqZWN0KiBSZW5kZXJJbmxpbmU6OnB1
c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE8KIAogICAgIExheW91
dFNpemUgYWRqdXN0bWVudEZvclNraXBwZWRBbmNlc3RvcjsKICAgICBpZiAoYW5jZXN0b3JTa2lw
cGVkKSB7Ci0gICAgICAgIC8vIFRoZXJlIGNhbid0IGJlIGEgdHJhbnNmb3JtIGJldHdlZW4gcmVw
YWludENvbnRhaW5lciBhbmQgbywgYmVjYXVzZSB0cmFuc2Zvcm1zIGNyZWF0ZSBjb250YWluZXJz
LCBzbyBpdCBzaG91bGQgYmUgc2FmZQotICAgICAgICAvLyB0byBqdXN0IHN1YnRyYWN0IHRoZSBk
ZWx0YSBiZXR3ZWVuIHRoZSBhbmNlc3RvciBhbmQgby4KKyAgICAgICAgLy8gVGhlcmUgY2FuJ3Qg
YmUgYSB0cmFuc2Zvcm0gYmV0d2VlbiBhbmNlc3RvclRvU3RvcEF0IGFuZCBjb250YWluZXIsIGJl
Y2F1c2UgdHJhbnNmb3JtcyBjcmVhdGUgY29udGFpbmVycywgc28gaXQgc2hvdWxkIGJlIHNhZmUK
KyAgICAgICAgLy8gdG8ganVzdCBzdWJ0cmFjdCB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgYW5jZXN0
b3IgYW5kIGNvbnRhaW5lci4KICAgICAgICAgYWRqdXN0bWVudEZvclNraXBwZWRBbmNlc3RvciA9
IC1hbmNlc3RvclRvU3RvcEF0LT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoKmNvbnRhaW5l
cik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtbkZsb3cuY3BwCmluZGV4IDQzYzBiZjY0MGVkNDQwZDMzOWViYWRhMDU0YmY3YzViODg3
NTBmNTEuLmRjZGUwZWIyNzc4YzA1MzUwZTY0MTY4YzJlMDI3MjQ4MzQwZWFjMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCkBA
IC0xMzUsMTYgKzEzNSwxNiBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uRmxvdzo6bGF5b3V0KCkK
ICAgICBtX2xhc3RTZXRXb3JrZWRPbiA9IG51bGxwdHI7CiB9CiAKLXZvaWQgUmVuZGVyTXVsdGlD
b2x1bW5GbG93OjphZGRGcmFnbWVudFRvVGhyZWFkKFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBS
ZW5kZXJGcmFnbWVudENvbnRhaW5lcikKK3ZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93OjphZGRG
cmFnbWVudFRvVGhyZWFkKFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudENvbnRhaW5l
cikKIHsKLSAgICBhdXRvKiBjb2x1bW5TZXQgPSBkb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtblNl
dD4oUmVuZGVyRnJhZ21lbnRDb250YWluZXIpOworICAgIGF1dG8qIGNvbHVtblNldCA9IGRvd25j
YXN0PFJlbmRlck11bHRpQ29sdW1uU2V0PihmcmFnbWVudENvbnRhaW5lcik7CiAgICAgaWYgKFJl
bmRlck11bHRpQ29sdW1uU2V0KiBuZXh0U2V0ID0gY29sdW1uU2V0LT5uZXh0U2libGluZ011bHRp
Q29sdW1uU2V0KCkpIHsKICAgICAgICAgUmVuZGVyRnJhZ21lbnRDb250YWluZXJMaXN0OjppdGVy
YXRvciBpdCA9IG1fZnJhZ21lbnRMaXN0LmZpbmQobmV4dFNldCk7CiAgICAgICAgIEFTU0VSVChp
dCAhPSBtX2ZyYWdtZW50TGlzdC5lbmQoKSk7CiAgICAgICAgIG1fZnJhZ21lbnRMaXN0Lmluc2Vy
dEJlZm9yZShpdCwgY29sdW1uU2V0KTsKICAgICB9IGVsc2UKICAgICAgICAgbV9mcmFnbWVudExp
c3QuYWRkKGNvbHVtblNldCk7Ci0gICAgUmVuZGVyRnJhZ21lbnRDb250YWluZXItPnNldElzVmFs
aWQodHJ1ZSk7CisgICAgZnJhZ21lbnRDb250YWluZXItPnNldElzVmFsaWQodHJ1ZSk7CiB9CiAK
IHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKQpAQCAt
MzQyLDE3ICszNDIsMTcgQEAgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11bHRpQ29s
dW1uRmxvdzo6bWFwRnJvbUZsb3dUb0ZyYWdtZW50KFRyYW5zZm9ybVMKICAgICAvLyBmb3Igbm93
IHdlIGp1c3QgdGFrZSB0aGUgY2VudGVyIG9mIHRoZSBtYXBwZWQgZW5jbG9zaW5nIGJveCBhbmQg
bWFwIGl0IHRvIGEgY29sdW1uLgogICAgIExheW91dFBvaW50IGNlbnRlclBvaW50ID0gYm94UmVj
dC5jZW50ZXIoKTsKICAgICBMYXlvdXRVbml0IGNlbnRlckxvZ2ljYWxPZmZzZXQgPSBpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gY2VudGVyUG9pbnQueSgpIDogY2VudGVyUG9pbnQueCgpOwot
ICAgIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lciA9IGZy
YWdtZW50QXRCbG9ja09mZnNldCh0aGlzLCBjZW50ZXJMb2dpY2FsT2Zmc2V0LCB0cnVlKTsKLSAg
ICBpZiAoIVJlbmRlckZyYWdtZW50Q29udGFpbmVyKQorICAgIGF1dG8qIGZyYWdtZW50Q29udGFp
bmVyID0gZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KHRoaXMsIGNlbnRlckxvZ2ljYWxPZmZzZXQsIHRy
dWUpOworICAgIGlmICghZnJhZ21lbnRDb250YWluZXIpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIHRyYW5zZm9ybVN0YXRlLm1vdmUocGh5c2ljYWxUcmFuc2xhdGlvbk9mZnNldEZyb21G
bG93VG9GcmFnbWVudChSZW5kZXJGcmFnbWVudENvbnRhaW5lciwgY2VudGVyTG9naWNhbE9mZnNl
dCkpOwotICAgIHJldHVybiBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjsKKyAgICB0cmFuc2Zvcm1T
dGF0ZS5tb3ZlKHBoeXNpY2FsVHJhbnNsYXRpb25PZmZzZXRGcm9tRmxvd1RvRnJhZ21lbnQoZnJh
Z21lbnRDb250YWluZXIsIGNlbnRlckxvZ2ljYWxPZmZzZXQpKTsKKyAgICByZXR1cm4gZnJhZ21l
bnRDb250YWluZXI7CiB9CiAKLUxheW91dFNpemUgUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpwaHlz
aWNhbFRyYW5zbGF0aW9uT2Zmc2V0RnJvbUZsb3dUb0ZyYWdtZW50KGNvbnN0IFJlbmRlckZyYWdt
ZW50Q29udGFpbmVyKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lciwgY29uc3QgTGF5b3V0VW5pdCBs
b2dpY2FsT2Zmc2V0KSBjb25zdAorTGF5b3V0U2l6ZSBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnBo
eXNpY2FsVHJhbnNsYXRpb25PZmZzZXRGcm9tRmxvd1RvRnJhZ21lbnQoY29uc3QgUmVuZGVyRnJh
Z21lbnRDb250YWluZXIqIGZyYWdtZW50Q29udGFpbmVyLCBjb25zdCBMYXlvdXRVbml0IGxvZ2lj
YWxPZmZzZXQpIGNvbnN0CiB7CiAgICAgLy8gTm93IHRoYXQgd2Uga25vdyB3aGljaCBtdWx0aWNv
bHVtbiBzZXQgd2UgaGl0LCB3ZSBuZWVkIHRvIGdldCB0aGUgYXBwcm9wcmlhdGUgdHJhbnNsYXRp
b24gb2Zmc2V0IGZvciB0aGUgY29sdW1uLgotICAgIGNvbnN0IGF1dG8qIGNvbHVtblNldCA9IGRv
d25jYXN0PFJlbmRlck11bHRpQ29sdW1uU2V0PihSZW5kZXJGcmFnbWVudENvbnRhaW5lcik7Cisg
ICAgY29uc3QgYXV0byogY29sdW1uU2V0ID0gZG93bmNhc3Q8UmVuZGVyTXVsdGlDb2x1bW5TZXQ+
KGZyYWdtZW50Q29udGFpbmVyKTsKICAgICBMYXlvdXRQb2ludCB0cmFuc2xhdGlvbk9mZnNldCA9
IGNvbHVtblNldC0+Y29sdW1uVHJhbnNsYXRpb25Gb3JPZmZzZXQobG9naWNhbE9mZnNldCk7CiAg
ICAgCiAgICAgLy8gTm93IHdlIGtub3cgaG93IHdlIHdhbnQgdGhlIHJlY3QgdG8gYmUgdHJhbnNs
YXRlZCBpbnRvIHRoZSBmcmFnbWVudC4gQXQgdGhpcyBwb2ludCB3ZSdyZSBjb252ZXJ0aW5nCkBA
IC0zODUsMTcgKzM4NSwxNyBAQCBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogUmVuZGVyTXVsdGlD
b2x1bW5GbG93OjpwaHlzaWNhbFRyYW5zbGF0aW9uRnJvbUZsb3dUb0ZyYQogICAgIAogICAgIC8v
IE5vdyBnZXQgdGhlIGZyYWdtZW50IHRoYXQgd2UgYXJlIGluLgogICAgIExheW91dFVuaXQgbG9n
aWNhbE9mZnNldCA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBsb2dpY2FsUG9pbnQueSgp
IDogbG9naWNhbFBvaW50LngoKTsKLSAgICBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogUmVuZGVy
RnJhZ21lbnRDb250YWluZXIgPSBmcmFnbWVudEF0QmxvY2tPZmZzZXQodGhpcywgbG9naWNhbE9m
ZnNldCwgdHJ1ZSk7Ci0gICAgaWYgKCFSZW5kZXJGcmFnbWVudENvbnRhaW5lcikKKyAgICBSZW5k
ZXJGcmFnbWVudENvbnRhaW5lciogZnJhZ21lbnRDb250YWluZXIgPSBmcmFnbWVudEF0QmxvY2tP
ZmZzZXQodGhpcywgbG9naWNhbE9mZnNldCwgdHJ1ZSk7CisgICAgaWYgKCFmcmFnbWVudENvbnRh
aW5lcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgLy8gVHJhbnNsYXRlIHRv
IHRoZSBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSBmcmFnbWVudC4KLSAgICBMYXlvdXRTaXplIHRy
YW5zbGF0aW9uT2Zmc2V0ID0gcGh5c2ljYWxUcmFuc2xhdGlvbk9mZnNldEZyb21GbG93VG9GcmFn
bWVudChSZW5kZXJGcmFnbWVudENvbnRhaW5lciwgbG9naWNhbE9mZnNldCk7CisgICAgTGF5b3V0
U2l6ZSB0cmFuc2xhdGlvbk9mZnNldCA9IHBoeXNpY2FsVHJhbnNsYXRpb25PZmZzZXRGcm9tRmxv
d1RvRnJhZ21lbnQoZnJhZ21lbnRDb250YWluZXIsIGxvZ2ljYWxPZmZzZXQpOwogICAgIAogICAg
IC8vIE5vdyBzaGlmdCB0aGUgcGh5c2ljYWwgcG9pbnQgaW50byB0aGUgZnJhZ21lbnQncyBjb29y
ZGluYXRlIHNwYWNlLgogICAgIHBoeXNpY2FsUG9pbnQgKz0gdHJhbnNsYXRpb25PZmZzZXQ7CiAg
ICAgCi0gICAgcmV0dXJuIFJlbmRlckZyYWdtZW50Q29udGFpbmVyOworICAgIHJldHVybiBmcmFn
bWVudENvbnRhaW5lcjsKIH0KIAogYm9vbCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmlzUGFnZUxv
Z2ljYWxIZWlnaHRLbm93bigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCmluZGV4IDgwNDZhMWU3ZTQ3MjkxODFiMWFlMzU0Nzc3YjFmZWJiNjNkYjlmODEu
LjQyNjkyYWIyNjU1OTZiMjNmYzYzMTQ3NDMzYzMwMGRiNjYxZWQwYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xMjM2LDkgKzEyMzYsOSBAQCBGbG9h
dFF1YWQgUmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYg
cXVhZCwgTWFwQ29vcmRpbmF0ZQogICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFy
UXVhZCgpOwogfQogCi12b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0
ZSYgdHJhbnNmb3JtU3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4
ZWQpIGNvbnN0Cit2b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvckNvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUm
IHRyYW5zZm9ybVN0YXRlLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUsIGJvb2wqIHdhc0ZpeGVk
KSBjb25zdAogewotICAgIGlmIChyZXBhaW50Q29udGFpbmVyID09IHRoaXMpCisgICAgaWYgKGFu
Y2VzdG9yQ29udGFpbmVyID09IHRoaXMpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8qIHBh
cmVudCA9IHRoaXMtPnBhcmVudCgpOwpAQCAtMTI1Niw3ICsxMjU2LDcgQEAgdm9pZCBSZW5kZXJP
YmplY3Q6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnQKICAgICBpZiAoaXM8UmVuZGVyQm94PigqcGFyZW50KSkKICAgICAgICAgdHJh
bnNmb3JtU3RhdGUubW92ZSgtdG9MYXlvdXRTaXplKGRvd25jYXN0PFJlbmRlckJveD4oKnBhcmVu
dCkuc2Nyb2xsUG9zaXRpb24oKSkpOwogCi0gICAgcGFyZW50LT5tYXBMb2NhbFRvQ29udGFpbmVy
KHJlcGFpbnRDb250YWluZXIsIHRyYW5zZm9ybVN0YXRlLCBtb2RlLCB3YXNGaXhlZCk7CisgICAg
cGFyZW50LT5tYXBMb2NhbFRvQ29udGFpbmVyKGFuY2VzdG9yQ29udGFpbmVyLCB0cmFuc2Zvcm1T
dGF0ZSwgbW9kZSwgd2FzRml4ZWQpOwogfQogCiBjb25zdCBSZW5kZXJPYmplY3QqIFJlbmRlck9i
amVjdDo6cHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYgZ2VvbWV0cnlNYXApIGNvbnN0
CkBAIC0xMzIyLDIxICsxMzIyLDIxIEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpnZXRUcmFuc2Zvcm1G
cm9tQ29udGFpbmVyKGNvbnN0IFJlbmRlck9iamVjdCogY29udGFpbmVyT2JqZWN0CiAjZW5kaWYK
IH0KIAotRmxvYXRRdWFkIFJlbmRlck9iamVjdDo6bG9jYWxUb0NvbnRhaW5lclF1YWQoY29uc3Qg
RmxvYXRRdWFkJiBsb2NhbFF1YWQsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4ZWQpIGNv
bnN0CitGbG9hdFF1YWQgUmVuZGVyT2JqZWN0Ojpsb2NhbFRvQ29udGFpbmVyUXVhZChjb25zdCBG
bG9hdFF1YWQmIGxvY2FsUXVhZCwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogY29udGFp
bmVyLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdAogewog
ICAgIC8vIFRyYWNrIHRoZSBwb2ludCBhdCB0aGUgY2VudGVyIG9mIHRoZSBxdWFkJ3MgYm91bmRp
bmcgYm94LiBBcyBtYXBMb2NhbFRvQ29udGFpbmVyKCkgY2FsbHMgb2Zmc2V0RnJvbUNvbnRhaW5l
cigpLAogICAgIC8vIGl0IHdpbGwgdXNlIHRoYXQgcG9pbnQgYXMgdGhlIHJlZmVyZW5jZSBwb2lu
dCB0byBkZWNpZGUgd2hpY2ggY29sdW1uJ3MgdHJhbnNmb3JtIHRvIGFwcGx5IGluIG11bHRpcGxl
LWNvbHVtbiBibG9ja3MuCiAgICAgVHJhbnNmb3JtU3RhdGUgdHJhbnNmb3JtU3RhdGUoVHJhbnNm
b3JtU3RhdGU6OkFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBsb2NhbFF1YWQuYm91bmRpbmdCb3go
KS5jZW50ZXIoKSwgbG9jYWxRdWFkKTsKLSAgICBtYXBMb2NhbFRvQ29udGFpbmVyKHJlcGFpbnRD
b250YWluZXIsIHRyYW5zZm9ybVN0YXRlLCBtb2RlIHwgQXBwbHlDb250YWluZXJGbGlwLCB3YXNG
aXhlZCk7CisgICAgbWFwTG9jYWxUb0NvbnRhaW5lcihjb250YWluZXIsIHRyYW5zZm9ybVN0YXRl
LCBtb2RlIHwgQXBwbHlDb250YWluZXJGbGlwLCB3YXNGaXhlZCk7CiAgICAgdHJhbnNmb3JtU3Rh
dGUuZmxhdHRlbigpOwogICAgIAogICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFy
UXVhZCgpOwogfQogCi1GbG9hdFBvaW50IFJlbmRlck9iamVjdDo6bG9jYWxUb0NvbnRhaW5lclBv
aW50KGNvbnN0IEZsb2F0UG9pbnQmIGxvY2FsUG9pbnQsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCog
d2FzRml4ZWQpIGNvbnN0CitGbG9hdFBvaW50IFJlbmRlck9iamVjdDo6bG9jYWxUb0NvbnRhaW5l
clBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIGxvY2FsUG9pbnQsIGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIGNvbnRhaW5lciwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlLCBib29sKiB3YXNG
aXhlZCkgY29uc3QKIHsKICAgICBUcmFuc2Zvcm1TdGF0ZSB0cmFuc2Zvcm1TdGF0ZShUcmFuc2Zv
cm1TdGF0ZTo6QXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIGxvY2FsUG9pbnQpOwotICAgIG1hcExv
Y2FsVG9Db250YWluZXIocmVwYWludENvbnRhaW5lciwgdHJhbnNmb3JtU3RhdGUsIG1vZGUgfCBB
cHBseUNvbnRhaW5lckZsaXAsIHdhc0ZpeGVkKTsKKyAgICBtYXBMb2NhbFRvQ29udGFpbmVyKGNv
bnRhaW5lciwgdHJhbnNmb3JtU3RhdGUsIG1vZGUgfCBBcHBseUNvbnRhaW5lckZsaXAsIHdhc0Zp
eGVkKTsKICAgICB0cmFuc2Zvcm1TdGF0ZS5mbGF0dGVuKCk7CiAKICAgICByZXR1cm4gdHJhbnNm
b3JtU3RhdGUubGFzdFBsYW5hclBvaW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgKaW5kZXggZDdjNDFjMzM2ODY1MTc0N2NkMTk4NWMzYWI5MDM0NTgyZjcwNjRkNi4u
YzhmN2UyZWNmYTkyZGRiNTg2MjRmMmU3ZGEzMzU3MjJmNmQ3ZDk5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNTM0LDggKzUzNCw4IEBAIHB1YmxpYzoKICAg
ICBGbG9hdFF1YWQgYWJzb2x1dGVUb0xvY2FsUXVhZChjb25zdCBGbG9hdFF1YWQmLCBNYXBDb29y
ZGluYXRlc0ZsYWdzID0gVXNlVHJhbnNmb3JtcykgY29uc3Q7CiAKICAgICAvLyBDb252ZXJ0IGEg
bG9jYWwgcXVhZCBpbnRvIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiBjb250YWluZXIsIHRha2lu
ZyB0cmFuc2Zvcm1zIGludG8gYWNjb3VudC4KLSAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFF1YWQg
bG9jYWxUb0NvbnRhaW5lclF1YWQoY29uc3QgRmxvYXRRdWFkJiwgY29uc3QgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgTWFwQ29vcmRpbmF0ZXNGbGFncyA9IFVzZVRy
YW5zZm9ybXMsIGJvb2wqIHdhc0ZpeGVkID0gbnVsbHB0cikgY29uc3Q7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgRmxvYXRQb2ludCBsb2NhbFRvQ29udGFpbmVyUG9pbnQoY29uc3QgRmxvYXRQb2ludCYs
IGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3Jk
aW5hdGVzRmxhZ3MgPSBVc2VUcmFuc2Zvcm1zLCBib29sKiB3YXNGaXhlZCA9IG51bGxwdHIpIGNv
bnN0OworICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UXVhZCBsb2NhbFRvQ29udGFpbmVyUXVhZChj
b25zdCBGbG9hdFF1YWQmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIs
IE1hcENvb3JkaW5hdGVzRmxhZ3MgPSBVc2VUcmFuc2Zvcm1zLCBib29sKiB3YXNGaXhlZCA9IG51
bGxwdHIpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UG9pbnQgbG9jYWxUb0NvbnRh
aW5lclBvaW50KGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiBjb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgPSBVc2VUcmFuc2Zvcm1zLCBib29sKiB3
YXNGaXhlZCA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgLy8gUmV0dXJuIHRoZSBvZmZzZXQgZnJv
bSB0aGUgY29udGFpbmVyKCkgcmVuZGVyZXIgKGV4Y2x1ZGluZyB0cmFuc2Zvcm1zKS4gSW4gbXVs
dGktY29sdW1uIGxheW91dCwKICAgICAvLyBkaWZmZXJlbnQgb2Zmc2V0cyBhcHBseSBhdCBkaWZm
ZXJlbnQgcG9pbnRzLCBzbyByZXR1cm4gdGhlIG9mZnNldCB0aGF0IGFwcGxpZXMgdG8gdGhlIGdp
dmVuIHBvaW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IGMy
NGM4ZGZiNjE4ZjNjYWZjN2QzYWE2ZjdkMTFkNzMxYmQwZWM3MzkuLmVkMDVkYTM4NmNiYmE0ZGRm
YWUzMDM0ZDU4ODEwNjUyZDk3ZTVkZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAKQEAgLTIzOCwxNyArMjM4LDE3IEBAIExheW91dFVuaXQgUmVuZGVyVmlldzo6Y2xp
ZW50TG9naWNhbEhlaWdodEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBjbGll
bnRMb2dpY2FsSGVpZ2h0KCk7CiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6bWFwTG9jYWxUb0NvbnRh
aW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFu
c2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9v
bCogd2FzRml4ZWQpIGNvbnN0Cit2b2lkIFJlbmRlclZpZXc6Om1hcExvY2FsVG9Db250YWluZXIo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9y
bVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlLCBib29sKiB3
YXNGaXhlZCkgY29uc3QKIHsKICAgICAvLyBJZiBhIGNvbnRhaW5lciB3YXMgc3BlY2lmaWVkLCBh
bmQgd2FzIG5vdCBudWxscHRyIG9yIHRoZSBSZW5kZXJWaWV3LAogICAgIC8vIHRoZW4gd2Ugc2hv
dWxkIGhhdmUgZm91bmQgaXQgYnkgbm93LgotICAgIEFTU0VSVF9BUkcocmVwYWludENvbnRhaW5l
ciwgIXJlcGFpbnRDb250YWluZXIgfHwgcmVwYWludENvbnRhaW5lciA9PSB0aGlzKTsKKyAgICBB
U1NFUlRfQVJHKGFuY2VzdG9yQ29udGFpbmVyLCAhYW5jZXN0b3JDb250YWluZXIgfHwgYW5jZXN0
b3JDb250YWluZXIgPT0gdGhpcyk7CiAgICAgQVNTRVJUX1VOVVNFRCh3YXNGaXhlZCwgIXdhc0Zp
eGVkIHx8ICp3YXNGaXhlZCA9PSAobW9kZSAmIElzRml4ZWQpKTsKIAogICAgIGlmIChtb2RlICYg
SXNGaXhlZCkKICAgICAgICAgdHJhbnNmb3JtU3RhdGUubW92ZSh0b0xheW91dFNpemUoZnJhbWVW
aWV3KCkuc2Nyb2xsUG9zaXRpb25SZXNwZWN0aW5nQ3VzdG9tRml4ZWRQb3NpdGlvbigpKSk7CiAK
LSAgICBpZiAoIXJlcGFpbnRDb250YWluZXIgJiYgbW9kZSAmIFVzZVRyYW5zZm9ybXMgJiYgc2hv
dWxkVXNlVHJhbnNmb3JtRnJvbUNvbnRhaW5lcihudWxscHRyKSkgeworICAgIGlmICghYW5jZXN0
b3JDb250YWluZXIgJiYgbW9kZSAmIFVzZVRyYW5zZm9ybXMgJiYgc2hvdWxkVXNlVHJhbnNmb3Jt
RnJvbUNvbnRhaW5lcihudWxscHRyKSkgewogICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0
OwogICAgICAgICBnZXRUcmFuc2Zvcm1Gcm9tQ29udGFpbmVyKG51bGxwdHIsIExheW91dFNpemUo
KSwgdCk7CiAgICAgICAgIHRyYW5zZm9ybVN0YXRlLmFwcGx5VHJhbnNmb3JtKHQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRm9yZWlnbk9iamVj
dC5jcHAKaW5kZXggNTg1YzdiZTc5N2VhYTRjYjIyZWUyMTRjMDEwYTc2NmY2OGY2YjQwNy4uYzY5
NDI3ZjlmNjQ1YmM4ODFmYjIzNTY1MzQxNWExZWU5MzcwODFmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwCkBA
IC0yMDQsOSArMjA0LDkgQEAgYm9vbCBSZW5kZXJTVkdGb3JlaWduT2JqZWN0Ojpub2RlQXRQb2lu
dChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotdm9pZCBSZW5kZXJTVkdGb3JlaWduT2JqZWN0OjptYXBMb2NhbFRvQ29udGFpbmVy
KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9y
bVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2FzRml4
ZWQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR0ZvcmVpZ25PYmplY3Q6Om1hcExvY2FsVG9Db250YWlu
ZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5z
Zm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2Fz
Rml4ZWQpIGNvbnN0CiB7Ci0gICAgU1ZHUmVuZGVyU3VwcG9ydDo6bWFwTG9jYWxUb0NvbnRhaW5l
cigqdGhpcywgcmVwYWludENvbnRhaW5lciwgdHJhbnNmb3JtU3RhdGUsIHdhc0ZpeGVkKTsKKyAg
ICBTVkdSZW5kZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKCp0aGlzLCBhbmNlc3RvckNv
bnRhaW5lciwgdHJhbnNmb3JtU3RhdGUsIHdhc0ZpeGVkKTsKIH0KIAogY29uc3QgUmVuZGVyT2Jq
ZWN0KiBSZW5kZXJTVkdGb3JlaWduT2JqZWN0OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9TdG9wQXQsIFJlbmRlckdlb21ldHJ5
TWFwJiBnZW9tZXRyeU1hcCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0LmgKaW5kZXggYzI4MWUxYzUyYWY4NDFiMmQ3
ZDBmMGM2YmE5YWQwMTJhZjEyY2QwZS4uYjQyMjAzYWE3NGUwMzBjNmQzOGYzNjE2ZWIwMWU0NTE2
NDIyM2ZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdGb3JlaWduT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdGb3JlaWduT2JqZWN0LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIGJvb2wg
bm9kZUF0RmxvYXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBj
b25zdCBGbG9hdFBvaW50JiBwb2ludEluUGFyZW50LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsK
ICAgICBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3Vs
dCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKIAot
ICAgIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3JkaW5hdGVzRmxhZ3Ms
IGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIG1hcExvY2FsVG9Db250
YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRy
YW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2FzRml4ZWQpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0NvbnRhaW5l
cihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJH
ZW9tZXRyeU1hcCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1V
cGRhdGUoKSBvdmVycmlkZSB7IG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcAppbmRl
eCBiYTFjZDA1MmRhZGFhMWNlMTg0MWM3YzIzY2FmMzNmYWE0ZTM0N2ViLi5kOTUxNzFjYmQ2NGJm
NmZmZWQ4ZmFmYzQ1MzFiN2I4MzJjYzM5OWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3BwCkBAIC04MCw5ICs4MCw5IEBAIE9wdGlvbmFs
PEZsb2F0UmVjdD4gUmVuZGVyU1ZHSW5saW5lOjpjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29u
dGFpbmVyKGNvbnN0IEZsCiAgICAgcmV0dXJuIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVGbG9h
dFZpc2libGVSZWN0SW5Db250YWluZXIoKnRoaXMsIHJlY3QsIGNvbnRhaW5lciwgY29udGV4dCk7
CiB9CiAKLXZvaWQgUmVuZGVyU1ZHSW5saW5lOjptYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJl
bmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0
cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2FzRml4ZWQpIGNvbnN0
Cit2b2lkIFJlbmRlclNWR0lubGluZTo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiBhbmNlc3RvckNvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmIHRyYW5z
Zm9ybVN0YXRlLCBNYXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHsK
LSAgICBTVkdSZW5kZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKCp0aGlzLCByZXBhaW50
Q29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgd2FzRml4ZWQpOworICAgIFNWR1JlbmRlclN1cHBv
cnQ6Om1hcExvY2FsVG9Db250YWluZXIoKnRoaXMsIGFuY2VzdG9yQ29udGFpbmVyLCB0cmFuc2Zv
cm1TdGF0ZSwgd2FzRml4ZWQpOwogfQogCiBjb25zdCBSZW5kZXJPYmplY3QqIFJlbmRlclNWR0lu
bGluZTo6cHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYgZ2VvbWV0cnlNYXApIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGlu
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuaAppbmRl
eCA1YmE0YjQ3ZjkzOWUzYjI3MDM0MzNjNTM2YTIzZjRiYmIwZTBjNmJkLi4xZjVjMTVhZWY2Njcx
OGU1MDJhMDE4MjRiZjg3Nzg0NGI4NzYzMGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHJpdmF0ZToKIAog
ICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QgZmluYWw7CiAgICAgT3B0
aW9uYWw8RmxvYXRSZWN0PiBjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29udGFpbmVyKGNvbnN0
IEZsb2F0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRhaW5lciwgVmlz
aWJsZVJlY3RDb250ZXh0KSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIG1hcExvY2FsVG9Db250YWlu
ZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNm
b3JtU3RhdGUmLCBNYXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkgY29uc3QgZmlu
YWw7CisgICAgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIGFuY2VzdG9yQ29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3JkaW5hdGVz
RmxhZ3MsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBSZW5kZXJPYmpl
Y3QqIHB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
YW5jZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmKSBjb25zdCBmaW5hbDsKICAgICB2
b2lkIGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBib29sKiB3YXNGaXhlZCkgY29u
c3QgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdNb2RlbE9iamVjdC5jcHAKaW5kZXggNjQwNjljNDc5ZDI1NGZjNDNhZWFlZmM2YjA1YTE4
MzBjZGVmOGQ0OC4uMjNhMWZlYjlkOGY3Njc2YzY4ZDRkMzVkNTMxZGEyZWRjM2FlODU0ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9i
amVjdC5jcHAKQEAgLTU3LDkgKzU3LDkgQEAgT3B0aW9uYWw8RmxvYXRSZWN0PiBSZW5kZXJTVkdN
b2RlbE9iamVjdDo6Y29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjb24KICAgICBy
ZXR1cm4gU1ZHUmVuZGVyU3VwcG9ydDo6Y29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5l
cigqdGhpcywgcmVjdCwgY29udGFpbmVyLCBjb250ZXh0KTsKIH0KIAotdm9pZCBSZW5kZXJTVkdN
b2RlbE9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE1h
cENvb3JkaW5hdGVzRmxhZ3MsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdAordm9pZCBSZW5kZXJTVkdN
b2RlbE9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiBhbmNlc3RvckNvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmIHRyYW5zZm9ybVN0YXRlLCBN
YXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHsKLSAgICBTVkdSZW5k
ZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKCp0aGlzLCByZXBhaW50Q29udGFpbmVyLCB0
cmFuc2Zvcm1TdGF0ZSwgd2FzRml4ZWQpOworICAgIFNWR1JlbmRlclN1cHBvcnQ6Om1hcExvY2Fs
VG9Db250YWluZXIoKnRoaXMsIGFuY2VzdG9yQ29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgd2Fz
Rml4ZWQpOwogfQogCiBjb25zdCBSZW5kZXJPYmplY3QqIFJlbmRlclNWR01vZGVsT2JqZWN0Ojpw
dXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2Vz
dG9yVG9TdG9wQXQsIFJlbmRlckdlb21ldHJ5TWFwJiBnZW9tZXRyeU1hcCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaApp
bmRleCA0ZDRmNDUzZTMxN2UzYTU3OWQ3OWUwNTNjMDFjZjc1NGEwZWQ2MTkxLi4xMDQzN2FkMmQ0
OGViOTE4MTNkMmIyZGRlMzg3YmMzZjc4N2IzN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCkBAIC01Myw3ICs1Myw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3Qg
TGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGFi
c29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBib29sKiB3YXNGaXhlZCkgY29uc3Qgb3Zl
cnJpZGU7CiAKLSAgICB2b2lkIG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmLCBNYXBDb29yZGlu
YXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBtYXBMb2Nh
bFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yQ29udGFp
bmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3JkaW5hdGVzRmxhZ3MsIGJvb2wqIHdhc0ZpeGVk
KSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBSZW5kZXJPYmplY3QqIHB1c2hNYXBwaW5nVG9Db250
YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JUb1N0b3BBdCwgUmVu
ZGVyR2VvbWV0cnlNYXAmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0
eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXgg
NGRmMWM3MTVkN2E2MWY3YjQ3ZDliMDAxOWRiOWI3M2JlZTEyOTI0NS4uYWQ3MWU5MGJiMGZlZWI4
MWEwY2FkMDkxYzcwMTBiM2U3MzkxOGRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0zODcsMTIgKzM4NywxMiBAQCBPcHRpb25hbDxG
bG9hdFJlY3Q+IFJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWlu
ZXIoY29uc3QgRmxvYQogLy8gVGhpcyBtZXRob2QgZXhwZWN0cyBsb2NhbCBDU1MgYm94IGNvb3Jk
aW5hdGVzLgogLy8gQ2FsbGVycyB3aXRoIGxvY2FsIFNWRyB2aWV3cG9ydCBjb29yZGluYXRlcyBz
aG91bGQgZmlyc3QgYXBwbHkgdGhlIGxvY2FsVG9Cb3JkZXJCb3hUcmFuc2Zvcm0KIC8vIHRvIGNv
bnZlcnQgZnJvbSBTVkcgdmlld3BvcnQgY29vcmRpbmF0ZXMgdG8gbG9jYWwgQ1NTIGJveCBjb29y
ZGluYXRlcy4KLXZvaWQgUmVuZGVyU1ZHUm9vdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYg
dHJhbnNmb3JtU3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4ZWQp
IGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jvb3Q6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0
cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlLCBib29sKiB3YXNGaXhlZCkg
Y29uc3QKIHsKICAgICBBU1NFUlQobW9kZSAmIH5Jc0ZpeGVkKTsgLy8gV2Ugc2hvdWxkIGhhdmUg
bm8gZml4ZWQgY29udGVudCBpbiB0aGUgU1ZHIHJlbmRlcmluZyB0cmVlLgogICAgIEFTU0VSVCht
b2RlICYgVXNlVHJhbnNmb3Jtcyk7IC8vIG1hcHBpbmcgYSBwb2ludCB0aHJvdWdoIFNWRyB3L28g
cmVzcGVjdGluZyB0cmFzbmZvcm1zIGlzIHVzZWxlc3MuCiAKLSAgICBSZW5kZXJSZXBsYWNlZDo6
bWFwTG9jYWxUb0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9k
ZSB8IEFwcGx5Q29udGFpbmVyRmxpcCwgd2FzRml4ZWQpOworICAgIFJlbmRlclJlcGxhY2VkOjpt
YXBMb2NhbFRvQ29udGFpbmVyKGFuY2VzdG9yQ29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9k
ZSB8IEFwcGx5Q29udGFpbmVyRmxpcCwgd2FzRml4ZWQpOwogfQogCiBjb25zdCBSZW5kZXJPYmpl
Y3QqIFJlbmRlclNWR1Jvb3Q6OnB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmIGdlb21l
dHJ5TWFwKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuaAppbmRleCBjNzYzNWI3ZGM1ODk3MTY5NTAzOGI0MWE3NWE1YzkzYWU4MmI4ZjMyLi5jYTkw
MGJhMzA0MzRiMzlkYTRlMjllM2U1ZmY5ZDhlY2FlMGY0MDFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaApAQCAtOTQsNyArOTQsNyBAQCBwcml2YXRl
OgogICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgT3B0aW9uYWw8RmxvYXRSZWN0PiBjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29udGFpbmVy
KGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRhaW5l
ciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQgbWFwTG9j
YWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3JkaW5hdGVzRmxhZ3MsIGJvb2wqIHdhc0ZpeGVk
KSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwg
TWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2FzRml4ZWQpIGNvbnN0IG92ZXJyaWRlOwogICAg
IGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYpIGNv
bnN0IG92ZXJyaWRlOwogCiAgICAgYm9vbCBjYW5CZVNlbGVjdGlvbkxlYWYoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVGV4dC5jcHAKaW5kZXggYTI2ZGQ2Y2M2YzZkNWE2MmExYmI0YzI1ODY2YTU1MTc1
NTczMjhkOC4uMGMzOGMzN2I3YTM4MTM1NjBiMzQ2MmI2MDdjMThiMzRkYmFhOThhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwCkBAIC0xMDUs
OSArMTA1LDkgQEAgT3B0aW9uYWw8RmxvYXRSZWN0PiBSZW5kZXJTVkdUZXh0Ojpjb21wdXRlRmxv
YXRWaXNpYmxlUmVjdEluQ29udGFpbmVyKGNvbnN0IEZsb2EKICAgICByZXR1cm4gU1ZHUmVuZGVy
U3VwcG9ydDo6Y29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcigqdGhpcywgcmVjdCwg
Y29udGFpbmVyLCBjb250ZXh0KTsKIH0KIAotdm9pZCBSZW5kZXJTVkdUZXh0OjptYXBMb2NhbFRv
Q29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIs
IFRyYW5zZm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9v
bCogd2FzRml4ZWQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1RleHQ6Om1hcExvY2FsVG9Db250YWlu
ZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5z
Zm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2Fz
Rml4ZWQpIGNvbnN0CiB7Ci0gICAgU1ZHUmVuZGVyU3VwcG9ydDo6bWFwTG9jYWxUb0NvbnRhaW5l
cigqdGhpcywgcmVwYWludENvbnRhaW5lciwgdHJhbnNmb3JtU3RhdGUsIHdhc0ZpeGVkKTsKKyAg
ICBTVkdSZW5kZXJTdXBwb3J0OjptYXBMb2NhbFRvQ29udGFpbmVyKCp0aGlzLCBhbmNlc3RvckNv
bnRhaW5lciwgdHJhbnNmb3JtU3RhdGUsIHdhc0ZpeGVkKTsKIH0KIAogY29uc3QgUmVuZGVyT2Jq
ZWN0KiBSZW5kZXJTVkdUZXh0OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9TdG9wQXQsIFJlbmRlckdlb21ldHJ5TWFwJiBnZW9t
ZXRyeU1hcCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0LmgKaW5kZXggNmNiM2Q0YzdhNjA5N2QwMzI0OGJmMjc1ZDBiMDdjNTYwYmM3MGY3MS4uMmQ4
YTVhMjRmMTlkNWJjODEyZDkyOTg2YzI2ZTY1YzY0NWE2ZjQyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0
ZToKICAgICBPcHRpb25hbDxMYXlvdXRSZWN0PiBjb21wdXRlVmlzaWJsZVJlY3RJbkNvbnRhaW5l
cihjb25zdCBMYXlvdXRSZWN0JiwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogY29udGFp
bmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIE9wdGlvbmFsPEZs
b2F0UmVjdD4gY29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjb25zdCBGbG9hdFJl
Y3QmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIsIFZpc2libGVSZWN0
Q29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIG1hcExvY2FsVG9Db250YWluZXIo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3Jt
U3RhdGUmLCBNYXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIGFuY2VzdG9yQ29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3JkaW5hdGVz
RmxhZ3MsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKICAgICBjb25zdCBSZW5kZXJP
YmplY3QqIHB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dCogYW5jZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAppbmRleCA4MDFiYzMyMmIw
NjJkY2QwZThlZTBmMWJkZmE0ODViMDc5MzJjY2M1Li5jNGE4YTY5ZDQ2YTlhNGJkYjFkMjNhMThi
YzkzN2NjYjFhZTM2YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlclN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyU3VwcG9ydC5jcHAKQEAgLTEwMCw3ICsxMDAsNyBAQCBjb25zdCBSZW5kZXJFbGVt
ZW50JiBTVkdSZW5kZXJTdXBwb3J0Ojpsb2NhbFRvUGFyZW50VHJhbnNmb3JtKGNvbnN0IFJlbmRl
ckVsZW1lbgogICAgIHJldHVybiBwYXJlbnQ7CiB9CiAKLXZvaWQgU1ZHUmVuZGVyU3VwcG9ydDo6
bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUm
IHRyYW5zZm9ybVN0YXRlLCBib29sKiB3YXNGaXhlZCkKK3ZvaWQgU1ZHUmVuZGVyU3VwcG9ydDo6
bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9ybVN0YXRl
JiB0cmFuc2Zvcm1TdGF0ZSwgYm9vbCogd2FzRml4ZWQpCiB7CiAgICAgQWZmaW5lVHJhbnNmb3Jt
IHRyYW5zZm9ybTsKICAgICBhdXRvJiBwYXJlbnQgPSBsb2NhbFRvUGFyZW50VHJhbnNmb3JtKHJl
bmRlcmVyLCB0cmFuc2Zvcm0pOwpAQCAtMTA4LDcgKzEwOCw3IEBAIHZvaWQgU1ZHUmVuZGVyU3Vw
cG9ydDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwg
Y29uc3QKICAgICB0cmFuc2Zvcm1TdGF0ZS5hcHBseVRyYW5zZm9ybSh0cmFuc2Zvcm0pOwogCiAg
ICAgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlID0gVXNlVHJhbnNmb3JtczsKLSAgICBwYXJlbnQu
bWFwTG9jYWxUb0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9k
ZSwgd2FzRml4ZWQpOworICAgIHBhcmVudC5tYXBMb2NhbFRvQ29udGFpbmVyKGFuY2VzdG9yQ29u
dGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9kZSwgd2FzRml4ZWQpOwogfQogCiBjb25zdCBSZW5k
ZXJFbGVtZW50KiBTVkdSZW5kZXJTdXBwb3J0OjpwdXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0
IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBh
bmNlc3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYgZ2VvbWV0cnlNYXApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCmluZGV4IDQ0OWMy
NDFkNTVjMzA4MjkwNmRmNDVlNTBmY2ViZmVlZjBkMTRiNTUuLmNiZWQxMjI0Zjk1ZDM5YTViYWJk
YzE0MDQ4NzU1MzBlZDk3OTVlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHUmVuZGVyU3VwcG9ydC5oCkBAIC02NCwxMCArNjQsMTAgQEAgcHVibGljOgogICAgIHN0
YXRpYyBib29sIHBhaW50SW5mb0ludGVyc2VjdHNSZXBhaW50UmVjdChjb25zdCBGbG9hdFJlY3Qm
IGxvY2FsUmVwYWludFJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbG9jYWxUcmFuc2Zvcm0s
IGNvbnN0IFBhaW50SW5mbyYpOwogCiAgICAgLy8gSW1wb3J0YW50IGZ1bmN0aW9ucyB1c2VkIGJ5
IG5lYXJseSBhbGwgU1ZHIHJlbmRlcmVycyBjZW50cmFsaXppbmcgY29vcmRpbmF0ZSB0cmFuc2Zv
cm1hdGlvbnMgLyByZXBhaW50IHJlY3QgY2FsY3VsYXRpb25zCi0gICAgc3RhdGljIExheW91dFJl
Y3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyRWxlbWVudCYsIGNv
bnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOworICAgIHN0YXRp
YyBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckVs
ZW1lbnQmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIpOwogICAgIHN0
YXRpYyBPcHRpb25hbDxGbG9hdFJlY3Q+IGNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWlu
ZXIoY29uc3QgUmVuZGVyRWxlbWVudCYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIGNvbnRhaW5lciwgUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRl
eHQpOwogICAgIHN0YXRpYyBjb25zdCBSZW5kZXJFbGVtZW50JiBsb2NhbFRvUGFyZW50VHJhbnNm
b3JtKGNvbnN0IFJlbmRlckVsZW1lbnQmLCBBZmZpbmVUcmFuc2Zvcm0gJik7Ci0gICAgc3RhdGlj
IHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiwgY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmLCBi
b29sKiB3YXNGaXhlZCk7CisgICAgc3RhdGljIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25z
dCBSZW5kZXJFbGVtZW50JiwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JD
b250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgYm9vbCogd2FzRml4ZWQpOwogICAgIHN0YXRpYyBj
b25zdCBSZW5kZXJFbGVtZW50KiBwdXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0IFJlbmRlckVs
ZW1lbnQmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBS
ZW5kZXJHZW9tZXRyeU1hcCYpOwogICAgIHN0YXRpYyBib29sIGNoZWNrRm9yU1ZHUmVwYWludER1
cmluZ0xheW91dChjb25zdCBSZW5kZXJFbGVtZW50Jik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>