<?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>237023</bug_id>
          
          <creation_ts>2022-02-22 00:52:21 -0800</creation_ts>
          <short_desc>[LBSE] Rename RenderSVGTransformableContainer -&gt; LegacyRenderSVGTransformableContainer</short_desc>
          <delta_ts>2022-02-22 11:42:20 -0800</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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>90738</blocked>
    
    <blocked>237024</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</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>rbuis</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844587</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-22 00:52:21 -0800</bug_when>
    <thetext>Following the established procedure: rename RenderSVGTransformableContainer -&gt; LegacyRenderSVGTransformableContainer.
In a follow-up patch RenderSVGTransformableContainer will be reintroduced for LBSE, inheriting from RenderSVGContainer instead of LegacyRenderSVGContainer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844588</commentid>
    <comment_count>1</comment_count>
      <attachid>452839</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-22 00:59:53 -0800</bug_when>
    <thetext>Created attachment 452839
Patch, v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844592</commentid>
    <comment_count>2</comment_count>
      <attachid>452841</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-22 01:12:39 -0800</bug_when>
    <thetext>Created attachment 452841
Patch, v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844810</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-22 11:41:25 -0800</bug_when>
    <thetext>Committed r290326 (247648@trunk): &lt;https://commits.webkit.org/247648@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844812</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-22 11:42:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/89307626&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452839</attachid>
            <date>2022-02-22 00:59:53 -0800</date>
            <delta_ts>2022-02-22 01:12:34 -0800</delta_ts>
            <desc>Patch, v1</desc>
            <filename>bug-237023-20220222005951.patch</filename>
            <type>text/plain</type>
            <size>30177</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAwOTE5NjAxNTNiMzBk
ZDkwM2RlNjg2MmIzMDVjZGE0NGY0NGFjNy4uYTRjZDliMzVjN2NlZjZjMGVlZDIwMDA1NDhmZmJh
YzQ5ZThjYzJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIyLTAyLTIyICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtMQlNF
XSBSZW5hbWUgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciAtPiBMZWdhY3lSZW5kZXJT
VkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzcwMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGb2xsb3dpbmcgdGhlIGVzdGFibGlzaGVkIHByb2NlZHVyZTogcmVu
YW1lIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIgLT4gTGVnYWN5UmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lci4KKyAgICAgICAgSW4gYSBmb2xsb3ctdXAgcGF0Y2ggUmVuZGVy
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciB3aWxsIGJlIHJlaW50cm9kdWNlZCBmb3IgTEJTRSwg
aW5oZXJpdGluZyBmcm9tCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciBpbnN0ZWFkIG9mIExl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lci4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3VyLgorCisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVJlbmRlclNWR0NvbnRhaW5lcjo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL0xlZ2FjeVJlbmRlclNWR0NvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHA6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RyYW5zZm9ybWFibGVDb250
YWluZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lcjo6TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyOjpjYWxj
dWxhdGVMb2NhbFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyOjpncmFwaGljc0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxl
Q29udGFpbmVyLmguCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENv
bnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHQ29udGFpbmVyTGF5b3V0LmNw
cDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6dHJhbnNmb3JtVG9Sb290Q2hhbmdlZCk6Cisg
ICAgICAgICogc3ZnL1NWR0FFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FFbGVt
ZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVy
KToKKyAgICAgICAgKiBzdmcvU1ZHU3dpdGNoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdTd2l0Y2hFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOgorICAgICAgICAqIHN2
Zy9TVkdVc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmNy
ZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisKIDIwMjItMDItMDYgIE5pa29sYXMgWmltbWVybWFubiAg
PG56aW1tZXJtYW5uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0xCU0VdIEFjdGl2YXRlIExCU0Ug
Zm9yIDxyZWN0PiBwYWludGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBjYWM0ZGRlY2FkZjI0MTU4ZmYx
NDlhNDAxOWRhZWUyOWVmNjc1MTczLi5lZjYzYjU0MmNjYmYxOTBjYmI1MWUxYzQ1ZjVlOWE4MjM2
MzVkMjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjQ4MSw2ICsyNDgxLDcgQEAgcmVuZGVyaW5nL3N2
Zy9MZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKIHJlbmRlcmluZy9zdmcvTGVnYWN5UmVu
ZGVyU1ZHUmVjdC5jcHAKIHJlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAKIHJl
bmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHU2hhcGUuY3BwCityZW5kZXJpbmcvc3ZnL0xlZ2Fj
eVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwCiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0Jsb2NrLmNwcAogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuY3BwCiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuY3BwCkBAIC0yNTEwLDcgKzI1MTEsNiBAQCByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmNwcAogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUU3Bh
bi5jcHAKIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHAKIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVGV4dFBhdGguY3BwCi1yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuY3BwCiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNw
cAogcmVuZGVyaW5nL3N2Zy9TVkdCb3VuZGluZ0JveENvbXB1dGF0aW9uLmNwcAogcmVuZGVyaW5n
L3N2Zy9TVkdDb250YWluZXJMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjUzYzg4YThmMmNjNDFmNmI5MzkxNTcz
Nzk3NTY3ODExNTljOWM4NS4uNGM0NTJhOTAwYzI2Y2NiMzAxMTFlMjg2OWQ1NzRkNDE3MmM0NTBl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTI2Myw3ICsxMjYzLDcgQEAKIAkJNDM2NzA4RTMxMkQ5Q0E0QjAwMDQ0MjM0IC8q
IFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4QTQxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNW
R1Jlc291cmNlU29saWRDb2xvci5oICovOyB9OwogCQk0MzY3MDhFNTEyRDlDQTRCMDAwNDQyMzQg
LyogTGVnYWN5UmVuZGVyU1ZHUm9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDM2NzA4QTYxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNW
R1Jvb3QuaCAqLzsgfTsKIAkJNDM2NzA4RTUxMkQ5REI0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jv
b3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcw
OEE2MTJEOURCNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdSb290LmggKi87IH07Ci0JCTQzNjcwOEU5
MTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhBQTEyRDlD
QTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovOyB9Owor
CQk0MzY3MDhFOTEyRDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDM2NzA4QUExMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIuaCAqLzsgfTsKIAkJNDM2NzA4RUIxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRl
clNWR1ZpZXdwb3J0Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MzY3MDhBQzEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVmlld3Bv
cnRDb250YWluZXIuaCAqLzsgfTsKIAkJNDM2NzA4RUUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR01h
cmtlckRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQzNjcwOEFGMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdNYXJrZXJEYXRhLmggKi87IH07CiAJCTQz
NjcwOEYyMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZW5kZXJTdXBwb3J0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhCMzEyRDlDQTRCMDAwNDQy
MzQgLyogU1ZHUmVuZGVyU3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC05MDg5LDggKzkwODksOCBAQAogCQk0MzY3MDhBNTEyRDlDQTVD
MDAwNDQyMzQgLyogUmVuZGVyU1ZHUm9vdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW5kZXJTVkdSb290LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDM2NzA4QTYxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1Jvb3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5UmVuZGVyU1ZHUm9vdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBNjEyRDlEQjRCMDAwNDQyMzQgLyogUmVu
ZGVyU1ZHUm9vdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdS
b290Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQzNjcwOEE5MTJEOUNBNEIwMDA0
NDIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MzY3MDhBQTEyRDlDQTRCMDAwNDQy
MzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzNjcwOEE5MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdh
Y3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3MDhBQTEyRDlDQTRCMDAwNDQy
MzQgLyogTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFp
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEFCMTJEOUNBNEIwMDA0
NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEFDMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5k
ZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MzY3MDhBRjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHTWFya2VyRGF0YS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdNYXJrZXJEYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xOTA1Myw2ICsxOTA1Myw4IEBACiAJCQkJQTEwQkI1ODgxNDg0RTNC
MzAwQjJFODdBIC8qIExlZ2FjeVJlbmRlclNWR1NoYXBlLmNwcCAqLywKIAkJCQlBMTBCQjU4OTE0
ODRFM0IzMDBCMkU4N0EgLyogTGVnYWN5UmVuZGVyU1ZHU2hhcGUuaCAqLywKIAkJCQlDREY3NDdG
NjI3MEY4NkE0MDA4RkVFRUMgLyogTGVnYWN5UmVuZGVyU1ZHU2hhcGVJbmxpbmVzLmggKi8sCisJ
CQkJNDM2NzA4QTkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIuY3BwICovLAorCQkJCTQzNjcwOEFBMTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdh
Y3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi8sCiAJCQkJNDM2NzA4ODExMkQ5
Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLywKIAkJCQk0MzY3MDg4MjEyRDlD
QTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHQmxvY2suaCAqLywKIAkJCQlDREY3NDdFQTI3MEY2RDg4
MDA4RkVFRUMgLyogUmVuZGVyU1ZHQmxvY2tJbmxpbmVzLmggKi8sCkBAIC0xOTEyMCw4ICsxOTEy
Miw2IEBACiAJCQkJMDg1NEIwMDcxMjU1RTRFNjAwQjlDREQwIC8qIFJlbmRlclNWR1RleHQuaCAq
LywKIAkJCQkwODU0QjAwODEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHVGV4dFBhdGguY3Bw
ICovLAogCQkJCTA4NTRCMDA5MTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJTVkdUZXh0UGF0aC5o
ICovLAotCQkJCTQzNjcwOEE5MTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1h
YmxlQ29udGFpbmVyLmNwcCAqLywKLQkJCQk0MzY3MDhBQTEyRDlDQTRCMDAwNDQyMzQgLyogUmVu
ZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovLAogCQkJCTA4NTRCMDBCMTI1NUU0RTYw
MEI5Q0REMCAvKiBSZW5kZXJTVkdUU3Bhbi5oICovLAogCQkJCTQzNjcwOEFCMTJEOUNBNEIwMDA0
NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHAgKi8sCiAJCQkJNDM2NzA4QUMx
MkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggKi8sCkBAIC0z
NjEyNyw2ICszNjEyNyw3IEBACiAJCQkJNDM2NzA4RTUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2Fj
eVJlbmRlclNWR1Jvb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMEJCNThCMTQ4NEUzQjMwMEIy
RTg3QSAvKiBMZWdhY3lSZW5kZXJTVkdTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNzQ3
RjcyNzBGODZBNDAwOEZFRUVDIC8qIExlZ2FjeVJlbmRlclNWR1NoYXBlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDM2NzA4RTkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNW
R1RyYW5zZm9ybWFibGVDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGNUUxMEEx
NTVBMDUwMDBBNDIzNCAvKiBMZWdhY3lSb290SW5saW5lQm94LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTYyQzdGNTExRjc3RUZCMDA2MTJFRkUgLyogTGVnYWN5U2NoZW1lUmVnaXN0cnkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUU0QzNCMUZBMEYwRTQxNjEwMDk2OTNGNiAvKiBMZWdhY3lUaWxlQ2Fj
aGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzY5NjksNyArMzY5NzAsNiBAQAogCQkJCUNERjc0N0Y3
MjcwRjgzQjQxMDdERUVFQyAvKiBSZW5kZXJTVkdTaGFwZUlubGluZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA4NTRCMDE5MTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJTVkdUZXh0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwODU0QjAxQjEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHVGV4dFBh
dGguaCBpbiBIZWFkZXJzICovLAotCQkJCTQzNjcwOEU5MTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5k
ZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODU0QjAx
RDEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHVFNwYW4uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQzNjcwOEVCMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjRBRUIwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRh
YmxlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyLmNwcAppbmRleCBiMjYxMjIzZTM1ODEw
NjNjMzg3NzZkMjZiNTNiNDlkNjMyMTI4ZWE2Li45M2VmOTMxMTJmZWM1MjBlNTg0MzhmMTdjODg3
YTdiZGI0MTI0YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9MZWdhY3lSZW5kZXJTVkdDb250YWluZXIuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQg
TGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyOjpsYXlvdXQoKQogICAgIC8vIEFsbG93IFJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyIHRvIHVwZGF0ZSBpdHMgdmlld3BvcnQuCiAgICAgY2FsY1ZpZXdw
b3J0KCk7CiAKLSAgICAvLyBBbGxvdyBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIHRv
IHVwZGF0ZSBpdHMgdHJhbnNmb3JtLgorICAgIC8vIEFsbG93IExlZ2FjeVJlbmRlclNWR1RyYW5z
Zm9ybWFibGVDb250YWluZXIgdG8gdXBkYXRlIGl0cyB0cmFuc2Zvcm0uCiAgICAgYm9vbCB1cGRh
dGVkVHJhbnNmb3JtID0gY2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0oKTsKIAogICAgIC8vIFJlbmRl
clNWR1ZpZXdwb3J0Q29udGFpbmVyIG5lZWRzIHRvIHNldCB0aGUgJ2xheW91dCBzaXplIGNoYW5n
ZWQnIGZsYWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2Fj
eVJlbmRlclNWR0NvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdh
Y3lSZW5kZXJTVkdDb250YWluZXIuaAppbmRleCBiYmY3N2Q4OTYyZDY4YzgzOWI2YmM0YTIzMzYz
OWIyODhmMDNlMDg4Li5hN2FlODU5ZWJmN2ZjZTA3OGY1MWQ1YTNlZWU2NjY3YWQzYzEwZTJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR0Nv
bnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVy
U1ZHQ29udGFpbmVyLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBu
b2RlQXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNv
bnN0IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhpdFRlc3RBY3Rpb24pIG92ZXJyaWRlOwog
Ci0gICAgLy8gQWxsb3cgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciB0byBob29rIGlu
IGF0IHRoZSByaWdodCB0aW1lIGluIGxheW91dCgpCisgICAgLy8gQWxsb3cgTGVnYWN5UmVuZGVy
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciB0byBob29rIGluIGF0IHRoZSByaWdodCB0aW1lIGlu
IGxheW91dCgpCiAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIC8vIEFsbG93IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
IHRvIGhvb2sgaW4gYXQgdGhlIHJpZ2h0IHRpbWVzIGluIGxheW91dCgpLCBwYWludCgpIGFuZCBu
b2RlQXRGbG9hdFBvaW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMxYjRkMDRkZmM5NWUxNDhhNzkzNGI1NWFlNzZlZTA5MGU1YWJjNzEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJl
bmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5u
QGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUsIEluYy4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWlu
ZXIuaCIKKworI2luY2x1ZGUgIlNWR0VsZW1lbnRUeXBlSGVscGVycy5oIgorI2luY2x1ZGUgIlNW
R0dFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHR3JhcGhpY3NFbGVtZW50LmgiCisjaW5jbHVkZSAi
U1ZHVXNlRWxlbWVudC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKExlZ2FjeVJl
bmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIpOworCitMZWdhY3lSZW5kZXJTVkdUcmFuc2Zv
cm1hYmxlQ29udGFpbmVyOjpMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKFNW
R0dyYXBoaWNzRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKKyAgICA6IExl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lcihlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKKyAgICAsIG1f
bmVlZHNUcmFuc2Zvcm1VcGRhdGUodHJ1ZSkKKyAgICAsIG1fZGlkVHJhbnNmb3JtVG9Sb290VXBk
YXRlKGZhbHNlKQoreworfQorCitib29sIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250
YWluZXI6OmNhbGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkKK3sKKyAgICBTVkdHcmFwaGljc0VsZW1l
bnQmIGVsZW1lbnQgPSBncmFwaGljc0VsZW1lbnQoKTsKKworICAgIC8vIElmIHdlJ3JlIGVpdGhl
ciB0aGUgcmVuZGVyZXIgZm9yIGEgPHVzZT4gZWxlbWVudCwgb3IgZm9yIGFueSA8Zz4gZWxlbWVu
dCBpbnNpZGUgdGhlIHNoYWRvdworICAgIC8vIHRyZWUsIHRoYXQgd2FzIGNyZWF0ZWQgZHVyaW5n
IHRoZSB1c2Uvc3ltYm9sL3N2ZyBleHBhbnNpb24gaW4gU1ZHVXNlRWxlbWVudC4gVGhlc2UgY29u
dGFpbmVycworICAgIC8vIG5lZWQgdG8gcmVzcGVjdCB0aGUgdHJhbnNsYXRpb25zIGluZHVjZWQg
YnkgdGhlaXIgY29ycmVzcG9uZGluZyB1c2UgZWxlbWVudHMgeC95IGF0dHJpYnV0ZXMuCisgICAg
U1ZHVXNlRWxlbWVudCogdXNlRWxlbWVudCA9IG51bGxwdHI7CisgICAgaWYgKGlzPFNWR1VzZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICB1c2VFbGVtZW50ID0gJmRvd25jYXN0PFNWR1VzZUVs
ZW1lbnQ+KGVsZW1lbnQpOworICAgIGVsc2UgaWYgKGVsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSAm
JiBpczxTVkdHRWxlbWVudD4oZWxlbWVudCkpIHsKKyAgICAgICAgU1ZHRWxlbWVudCogY29ycmVz
cG9uZGluZ0VsZW1lbnQgPSBlbGVtZW50LmNvcnJlc3BvbmRpbmdFbGVtZW50KCk7CisgICAgICAg
IGlmIChpczxTVkdVc2VFbGVtZW50Pihjb3JyZXNwb25kaW5nRWxlbWVudCkpCisgICAgICAgICAg
ICB1c2VFbGVtZW50ID0gZG93bmNhc3Q8U1ZHVXNlRWxlbWVudD4oY29ycmVzcG9uZGluZ0VsZW1l
bnQpOworICAgIH0KKworICAgIGlmICh1c2VFbGVtZW50KSB7CisgICAgICAgIFNWR0xlbmd0aENv
bnRleHQgbGVuZ3RoQ29udGV4dCh1c2VFbGVtZW50KTsKKyAgICAgICAgRmxvYXRTaXplIHRyYW5z
bGF0aW9uKHVzZUVsZW1lbnQtPngoKS52YWx1ZShsZW5ndGhDb250ZXh0KSwgdXNlRWxlbWVudC0+
eSgpLnZhbHVlKGxlbmd0aENvbnRleHQpKTsKKyAgICAgICAgaWYgKHRyYW5zbGF0aW9uICE9IG1f
bGFzdFRyYW5zbGF0aW9uKQorICAgICAgICAgICAgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IHRy
dWU7CisgICAgICAgIG1fbGFzdFRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb247CisgICAgfQorCisg
ICAgbV9kaWRUcmFuc2Zvcm1Ub1Jvb3RVcGRhdGUgPSBtX25lZWRzVHJhbnNmb3JtVXBkYXRlIHx8
IFNWR1JlbmRlclN1cHBvcnQ6OnRyYW5zZm9ybVRvUm9vdENoYW5nZWQocGFyZW50KCkpOworICAg
IGlmICghbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgbV9sb2NhbFRyYW5zZm9ybSA9IGVsZW1lbnQuYW5pbWF0ZWRMb2NhbFRyYW5zZm9ybSgpOwor
ICAgIG1fbG9jYWxUcmFuc2Zvcm0udHJhbnNsYXRlKG1fbGFzdFRyYW5zbGF0aW9uKTsKKyAgICBt
X25lZWRzVHJhbnNmb3JtVXBkYXRlID0gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK1NW
R0dyYXBoaWNzRWxlbWVudCYgTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6
Z3JhcGhpY3NFbGVtZW50KCkKK3sKKyAgICByZXR1cm4gZG93bmNhc3Q8U1ZHR3JhcGhpY3NFbGVt
ZW50PihMZWdhY3lSZW5kZXJTVkdDb250YWluZXI6OmVsZW1lbnQoKSk7Cit9CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNm
b3JtYWJsZUNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lS
ZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjNlOGYwMGJmMWMz
ZThjNWFlZjk4ZWNlNGMwYTgwNWVkZmIzNmNiNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
ci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBTZWlk
ZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUsIEluYy4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJMZWdhY3lSZW5kZXJTVkdDb250YWluZXIuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgU1ZHR3JhcGhpY3NFbGVtZW50OworCitj
bGFzcyBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIGZpbmFsIDogcHVibGlj
IExlZ2FjeVJlbmRlclNWR0NvbnRhaW5lciB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChM
ZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKTsKK3B1YmxpYzoKKyAgICBMZWdh
Y3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKFNWR0dyYXBoaWNzRWxlbWVudCYsIFJl
bmRlclN0eWxlJiYpOworCisgICAgYm9vbCBpc1NWR1RyYW5zZm9ybWFibGVDb250YWluZXIoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgY29uc3QgQWZmaW5lVHJhbnNmb3Jt
JiBsb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sb2Nh
bFRyYW5zZm9ybTsgfQorICAgIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUoKSBvdmVycmlk
ZSB7IG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CisgICAgYm9vbCBkaWRUcmFuc2Zv
cm1Ub1Jvb3RVcGRhdGUoKSBvdmVycmlkZSB7IHJldHVybiBtX2RpZFRyYW5zZm9ybVRvUm9vdFVw
ZGF0ZTsgfQorCitwcml2YXRlOgorICAgIFNWR0dyYXBoaWNzRWxlbWVudCYgZ3JhcGhpY3NFbGVt
ZW50KCk7CisKKyAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKKyAgICBib29sIGNh
bGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkgb3ZlcnJpZGU7CisgICAgQWZmaW5lVHJhbnNmb3JtIGxv
Y2FsVHJhbnNmb3JtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sb2NhbFRyYW5zZm9ybTsg
fQorCisgICAgYm9vbCBtX25lZWRzVHJhbnNmb3JtVXBkYXRlIDogMTsKKyAgICBib29sIG1fZGlk
VHJhbnNmb3JtVG9Sb290VXBkYXRlIDogMTsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gbV9sb2NhbFRy
YW5zZm9ybTsKKyAgICBGbG9hdFNpemUgbV9sYXN0VHJhbnNsYXRpb247Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChM
ZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLCBpc1NWR1RyYW5zZm9ybWFibGVD
b250YWluZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlMTg4N2Q0OWQ5MmE4Zjk1MDA3YTJhNTQ0ZDU2MDc3NTQ5YjQ5MTU5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0gKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlLCBJbmMuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCi0KLSNpbmNsdWRlICJTVkdFbGVt
ZW50VHlwZUhlbHBlcnMuaCIKLSNpbmNsdWRlICJTVkdHRWxlbWVudC5oIgotI2luY2x1ZGUgIlNW
R0dyYXBoaWNzRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKLSNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKTsK
LQotUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6UmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lcihTVkdHcmFwaGljc0VsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5
bGUpCi0gICAgOiBMZWdhY3lSZW5kZXJTVkdDb250YWluZXIoZWxlbWVudCwgV1RGTW92ZShzdHls
ZSkpCi0gICAgLCBtX25lZWRzVHJhbnNmb3JtVXBkYXRlKHRydWUpCi0gICAgLCBtX2RpZFRyYW5z
Zm9ybVRvUm9vdFVwZGF0ZShmYWxzZSkKLXsKLX0KLQotYm9vbCBSZW5kZXJTVkdUcmFuc2Zvcm1h
YmxlQ29udGFpbmVyOjpjYWxjdWxhdGVMb2NhbFRyYW5zZm9ybSgpCi17Ci0gICAgU1ZHR3JhcGhp
Y3NFbGVtZW50JiBlbGVtZW50ID0gZ3JhcGhpY3NFbGVtZW50KCk7Ci0KLSAgICAvLyBJZiB3ZSdy
ZSBlaXRoZXIgdGhlIHJlbmRlcmVyIGZvciBhIDx1c2U+IGVsZW1lbnQsIG9yIGZvciBhbnkgPGc+
IGVsZW1lbnQgaW5zaWRlIHRoZSBzaGFkb3cKLSAgICAvLyB0cmVlLCB0aGF0IHdhcyBjcmVhdGVk
IGR1cmluZyB0aGUgdXNlL3N5bWJvbC9zdmcgZXhwYW5zaW9uIGluIFNWR1VzZUVsZW1lbnQuIFRo
ZXNlIGNvbnRhaW5lcnMKLSAgICAvLyBuZWVkIHRvIHJlc3BlY3QgdGhlIHRyYW5zbGF0aW9ucyBp
bmR1Y2VkIGJ5IHRoZWlyIGNvcnJlc3BvbmRpbmcgdXNlIGVsZW1lbnRzIHgveSBhdHRyaWJ1dGVz
LgotICAgIFNWR1VzZUVsZW1lbnQqIHVzZUVsZW1lbnQgPSBudWxscHRyOwotICAgIGlmIChpczxT
VkdVc2VFbGVtZW50PihlbGVtZW50KSkKLSAgICAgICAgdXNlRWxlbWVudCA9ICZkb3duY2FzdDxT
VkdVc2VFbGVtZW50PihlbGVtZW50KTsKLSAgICBlbHNlIGlmIChlbGVtZW50LmlzSW5TaGFkb3dU
cmVlKCkgJiYgaXM8U1ZHR0VsZW1lbnQ+KGVsZW1lbnQpKSB7Ci0gICAgICAgIFNWR0VsZW1lbnQq
IGNvcnJlc3BvbmRpbmdFbGVtZW50ID0gZWxlbWVudC5jb3JyZXNwb25kaW5nRWxlbWVudCgpOwot
ICAgICAgICBpZiAoaXM8U1ZHVXNlRWxlbWVudD4oY29ycmVzcG9uZGluZ0VsZW1lbnQpKQotICAg
ICAgICAgICAgdXNlRWxlbWVudCA9IGRvd25jYXN0PFNWR1VzZUVsZW1lbnQ+KGNvcnJlc3BvbmRp
bmdFbGVtZW50KTsKLSAgICB9Ci0KLSAgICBpZiAodXNlRWxlbWVudCkgewotICAgICAgICBTVkdM
ZW5ndGhDb250ZXh0IGxlbmd0aENvbnRleHQodXNlRWxlbWVudCk7Ci0gICAgICAgIEZsb2F0U2l6
ZSB0cmFuc2xhdGlvbih1c2VFbGVtZW50LT54KCkudmFsdWUobGVuZ3RoQ29udGV4dCksIHVzZUVs
ZW1lbnQtPnkoKS52YWx1ZShsZW5ndGhDb250ZXh0KSk7Ci0gICAgICAgIGlmICh0cmFuc2xhdGlv
biAhPSBtX2xhc3RUcmFuc2xhdGlvbikKLSAgICAgICAgICAgIG1fbmVlZHNUcmFuc2Zvcm1VcGRh
dGUgPSB0cnVlOwotICAgICAgICBtX2xhc3RUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uOwotICAg
IH0KLQotICAgIG1fZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRlID0gbV9uZWVkc1RyYW5zZm9ybVVw
ZGF0ZSB8fCBTVkdSZW5kZXJTdXBwb3J0Ojp0cmFuc2Zvcm1Ub1Jvb3RDaGFuZ2VkKHBhcmVudCgp
KTsKLSAgICBpZiAoIW1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIG1fbG9jYWxUcmFuc2Zvcm0gPSBlbGVtZW50LmFuaW1hdGVkTG9jYWxUcmFuc2Zv
cm0oKTsKLSAgICBtX2xvY2FsVHJhbnNmb3JtLnRyYW5zbGF0ZShtX2xhc3RUcmFuc2xhdGlvbik7
Ci0gICAgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IGZhbHNlOwotICAgIHJldHVybiB0cnVlOwot
fQotCi1TVkdHcmFwaGljc0VsZW1lbnQmIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXI6
OmdyYXBoaWNzRWxlbWVudCgpCi17Ci0gICAgcmV0dXJuIGRvd25jYXN0PFNWR0dyYXBoaWNzRWxl
bWVudD4oTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyOjplbGVtZW50KCkpOwotfQotCi19CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYjlh
ZWE5ZWMyNzZlYWFkNTY3NzhhOTUwYmQ5NTE1MGIyYWVkNGM1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJr
aXQub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSwgSW5jLgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJhZ21hIG9uY2UK
LQotI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNWR0NvbnRhaW5lci5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0gICAgCi1jbGFzcyBTVkdHcmFwaGljc0VsZW1lbnQ7Ci0KLWNsYXNzIFJlbmRlclNW
R1RyYW5zZm9ybWFibGVDb250YWluZXIgZmluYWwgOiBwdWJsaWMgTGVnYWN5UmVuZGVyU1ZHQ29u
dGFpbmVyIHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIpOwotcHVibGljOgotICAgIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWlu
ZXIoU1ZHR3JhcGhpY3NFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Ci0KLSAgICBib29sIGlzU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
LSAgICBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2xvY2FsVHJhbnNmb3JtOyB9Ci0gICAgdm9pZCBzZXROZWVk
c1RyYW5zZm9ybVVwZGF0ZSgpIG92ZXJyaWRlIHsgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IHRy
dWU7IH0KLSAgICBib29sIGRpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZSgpIG92ZXJyaWRlIHsgcmV0
dXJuIG1fZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRlOyB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHR3Jh
cGhpY3NFbGVtZW50JiBncmFwaGljc0VsZW1lbnQoKTsKLQotICAgIHZvaWQgZWxlbWVudCgpIGNv
bnN0ID0gZGVsZXRlOwotICAgIGJvb2wgY2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0oKSBvdmVycmlk
ZTsKLSAgICBBZmZpbmVUcmFuc2Zvcm0gbG9jYWxUcmFuc2Zvcm0oKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX2xvY2FsVHJhbnNmb3JtOyB9Ci0KLSAgICBib29sIG1fbmVlZHNUcmFuc2Zvcm1V
cGRhdGUgOiAxOwotICAgIGJvb2wgbV9kaWRUcmFuc2Zvcm1Ub1Jvb3RVcGRhdGUgOiAxOwotICAg
IEFmZmluZVRyYW5zZm9ybSBtX2xvY2FsVHJhbnNmb3JtOwotICAgIEZsb2F0U2l6ZSBtX2xhc3RU
cmFuc2xhdGlvbjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIs
IGlzU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCmluZGV4IGZj
NzEzODg4N2M5MmQyOGI5NGVhZTk5NTk3ZjY1NWY5NDI2NGQ0OTUuLjNlZTNiYzE0NjlkNGY0MmVi
YTg4ZjQ3NTk0NWU3ODRlY2ZlM2FhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAgLTI3LDcgKzI3
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBpcyB1c2VkIGZvciBub24tcm9v
dCA8c3ZnPiBlbGVtZW50cyBhbmQgPG1hcmtlcj4gZWxlbWVudHMsIG5laXRoZXIgb2Ygd2hpY2gg
YXJlIFNWR1RyYW5zZm9ybWFibGUKLS8vIHRodXMgd2UgaW5oZXJpdCBmcm9tIExlZ2FjeVJlbmRl
clNWR0NvbnRhaW5lciBpbnN0ZWFkIG9mIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIK
Ky8vIHRodXMgd2UgaW5oZXJpdCBmcm9tIExlZ2FjeVJlbmRlclNWR0NvbnRhaW5lciBpbnN0ZWFk
IG9mIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIKIGNsYXNzIFJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyIGZpbmFsIDogcHVibGljIExlZ2FjeVJlbmRlclNWR0NvbnRhaW5l
ciB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5l
cik7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R0NvbnRhaW5lckxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0Nv
bnRhaW5lckxheW91dC5jcHAKaW5kZXggYzUzYjNmYzM2NjJkYWY2YjBlOWQ1OTgwNTQ0ODZlYzhk
NDRmMjJjMi4uYjUzNGIwOGM1NGE0MTQwYTllNjJiN2YzZWJmNWNkNTczNDcwOGFhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdDb250YWluZXJMYXlvdXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHQ29udGFpbmVyTGF5b3V0LmNw
cApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJTVkdTaGFwZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1RleHQuaCIKLSNpbmNsdWRl
ICJSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
Vmlld3BvcnRDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5j
bHVkZSAiU1ZHUmVuZGVyaW5nQ29udGV4dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKaW5kZXggMjA5ZDRkZjlkMDZkYTUxOTgxYWVl
NGE4ZTY1ZjIwNjA3ZTQ2YTM4OS4uY2MzOGVjNzAzMGU2MGNlMTc1OWIxMzI4N2RlMjVmNzNkNTY1
Yzg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJT
dXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1
cHBvcnQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRWxlbWVudEFuY2VzdG9ySXRl
cmF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAiTGVn
YWN5UmVuZGVyU1ZHU2hhcGUuaCIKKyNpbmNsdWRlICJMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1h
YmxlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQ2hpbGRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKQEAgLTQ0
LDcgKzQ1LDYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAiUmVuZGVy
U1ZHU2hhcGUuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCi0jaW5jbHVkZSAiUmVuZGVy
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudFR5cGVIZWxwZXJzLmgiCiAjaW5jbHVk
ZSAiU1ZHR2VvbWV0cnlFbGVtZW50LmgiCkBAIC0yMjQsOCArMjI0LDggQEAgc3RhdGljIGlubGlu
ZSBib29sIGxheW91dFNpemVPZk5lYXJlc3RWaWV3cG9ydENoYW5nZWQoY29uc3QgUmVuZGVyRWxl
bWVudCYgcmVuZGUKIGJvb2wgU1ZHUmVuZGVyU3VwcG9ydDo6dHJhbnNmb3JtVG9Sb290Q2hhbmdl
ZChSZW5kZXJFbGVtZW50KiBhbmNlc3RvcikKIHsKICAgICB3aGlsZSAoYW5jZXN0b3IgJiYgIWFu
Y2VzdG9yLT5pc1NWR1Jvb3RPckxlZ2FjeVNWR1Jvb3QoKSkgewotICAgICAgICBpZiAoaXM8UmVu
ZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcj4oKmFuY2VzdG9yKSkKLSAgICAgICAgICAgIHJl
dHVybiBkb3duY2FzdDxSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigqYW5jZXN0b3Ip
LmRpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZSgpOworICAgICAgICBpZiAoaXM8TGVnYWN5UmVuZGVy
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcj4oKmFuY2VzdG9yKSkKKyAgICAgICAgICAgIHJldHVy
biBkb3duY2FzdDxMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigqYW5jZXN0
b3IpLmRpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZSgpOwogICAgICAgICBpZiAoaXM8UmVuZGVyU1ZH
Vmlld3BvcnRDb250YWluZXI+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI+KCphbmNlc3RvcikuZGlkVHJhbnNmb3JtVG9S
b290VXBkYXRlKCk7CiAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKaW5kZXggMTgwNTNiODViZTA5NjFlMmVjNDNiNWU5MTZh
MjZmMGM0YzFkM2JlNS4uYzRlYzYwODI2MmViMzQ1YzZmOTFiNGQ3YzNhNjEzNDJkZjExMGVkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNs
dWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIK
ICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTGVnYWN5UmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxpbmUuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNW
R0VsZW1lbnRJbmxpbmVzLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudFR5cGVIZWxwZXJzLmgiCkBA
IC0xMTAsNyArMTEwLDcgQEAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFNWR0FFbGVtZW50Ojpj
cmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwKIHsKICAgICBpZiAoaXM8
U1ZHRWxlbWVudD4ocGFyZW50Tm9kZSgpKSAmJiBkb3duY2FzdDxTVkdFbGVtZW50PigqcGFyZW50
Tm9kZSgpKS5pc1RleHRDb250ZW50KCkpCiAgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxS
ZW5kZXJTVkdJbmxpbmU+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7Ci0gICAgcmV0dXJuIGNyZWF0
ZVJlbmRlcmVyPFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXI+KCp0aGlzLCBXVEZNb3Zl
KHN0eWxlKSk7CisgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPExlZ2FjeVJlbmRlclNWR1RyYW5z
Zm9ybWFibGVDb250YWluZXI+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CiB9CiAKIHZvaWQgU1ZH
QUVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHRWxlbWVudC5jcHAKaW5kZXggZGRjMTc5OWViYTZlN2U5YmE4OTczN2E4OGUyZDdhYmIzYTIx
ODM2NS4uNDJjYjljM2MzM2VlMTNkOTc2NTk5OGZkZmI5YTE1ZmExMTAxNGMwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCkBAIC0yMiw5ICsyMiw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiU1ZHR0VsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNW
R1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgotI2luY2x1ZGUgIlJlbmRl
clNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CkBAIC01OCw3ICs1OCw3IEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBTVkdHRWxl
bWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsCiAgICAgaWYg
KHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZVJlbmRlcmVyPFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcj4oKnRoaXMsIFdURk1vdmUoc3R5
bGUpKTsKIAotICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJTVkdUcmFuc2Zvcm1hYmxl
Q29udGFpbmVyPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworICAgIHJldHVybiBjcmVhdGVSZW5k
ZXJlcjxMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigqdGhpcywgV1RGTW92
ZShzdHlsZSkpOwogfQogCiBib29sIFNWR0dFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0
IFJlbmRlclN0eWxlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmNwcAppbmRl
eCBmYmZhYWNkYzYyNGMyNTVjNDUzOGQ2MmU3MzkwYzkzMTM4ODdjNjMwLi41MTc1YWY5Y2ZhZmZh
MjEzMDFiNzFkYWU2ZjU0MjBhNDRlNjljNjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3dpdGNoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRj
aEVsZW1lbnQuY3BwCkBAIC0yMyw3ICsyMyw3IEBACiAjaW5jbHVkZSAiU1ZHU3dpdGNoRWxlbWVu
dC5oIgogCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNWR1RyYW5z
Zm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIK
ICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC01Nyw3ICs1Nyw3IEBAIGJv
b2wgU1ZHU3dpdGNoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2Rl
JiBjaGlsZCkgY29uc3QKIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFNWR1N3aXRjaEVsZW1l
bnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBSZW5k
ZXJUcmVlUG9zaXRpb24mKQogewotICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworICAgIHJldHVy
biBjcmVhdGVSZW5kZXJlcjxMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigq
dGhpcywgV1RGTW92ZShzdHlsZSkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVu
dC5jcHAKaW5kZXggNzQ5ZjE5ZGJhOGQ2NzgwYjMxYzJmNDlhZjk5ZjQyZWNjNmI1NzRlMC4uMDU0
N2NjYTlkMjZmYmQwZjM5NTk1M2FhYTQ5ZWRiYTUyMjIwNjQyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdVc2VFbGVtZW50LmNwcApAQCAtMzEsOCArMzEsOCBAQAogI2luY2x1ZGUgIkVsZW1lbnRJdGVy
YXRvci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2lu
Y2x1ZGUgIkxlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJTVkdSZXNvdXJjZS5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCIKICNpbmNsdWRl
ICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKICNpbmNsdWRlICJTVkdHRWxlbWVudC5oIgpAQCAt
MjY2LDcgKzI2Niw3IEBAIFJlZlB0cjxTVkdFbGVtZW50PiBTVkdVc2VFbGVtZW50Ojp0YXJnZXRD
bG9uZSgpIGNvbnN0CiAKIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBTVkdVc2VFbGVtZW50Ojpj
cmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29uc3QgUmVuZGVyVHJl
ZVBvc2l0aW9uJikKIHsKLSAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyU1ZHVHJhbnNm
b3JtYWJsZUNvbnRhaW5lcj4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKKyAgICByZXR1cm4gY3Jl
YXRlUmVuZGVyZXI8TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcj4oKnRoaXMs
IFdURk1vdmUoc3R5bGUpKTsKIH0KIAogc3RhdGljIGJvb2wgaXNEaXJlY3RSZWZlcmVuY2UoY29u
c3QgU1ZHRWxlbWVudCYgZWxlbWVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452841</attachid>
            <date>2022-02-22 01:12:39 -0800</date>
            <delta_ts>2022-02-22 03:55:51 -0800</delta_ts>
            <desc>Patch, v2</desc>
            <filename>bug-237023-20220222011237.patch</filename>
            <type>text/plain</type>
            <size>31212</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAwOTE5NjAxNTNiMzBk
ZDkwM2RlNjg2MmIzMDVjZGE0NGY0NGFjNy4uZjA3YWRiZDMzMjAyYjBhNGY0MDMyYzE3MDIxM2Ri
Njg0OTUwODA4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTAyLTIyICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtMQlNF
XSBSZW5hbWUgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciAtPiBMZWdhY3lSZW5kZXJT
VkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzcwMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGb2xsb3dpbmcgdGhlIGVzdGFibGlzaGVkIHByb2NlZHVyZTogcmVu
YW1lIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIgLT4gTGVnYWN5UmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lci4KKyAgICAgICAgSW4gYSBmb2xsb3ctdXAgcGF0Y2ggUmVuZGVy
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciB3aWxsIGJlIHJlaW50cm9kdWNlZCBmb3IgTEJTRSwg
aW5oZXJpdGluZyBmcm9tCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciBpbnN0ZWFkIG9mIExl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lci4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3VyLgorCisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
aXNMZWdhY3lTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck9iamVjdDo6aXNTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR0NvbnRhaW5lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lSZW5kZXJTVkdDb250YWluZXI6OmxheW91dCk6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdDb250YWluZXIuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWlu
ZXIuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVJl
bmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXI6OkxlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3Jt
YWJsZUNvbnRhaW5lcjo6Y2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6Z3JhcGhpY3NFbGVtZW50
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oLgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NW
R0NvbnRhaW5lckxheW91dC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJT
dXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OnRyYW5zZm9y
bVRvUm9vdENoYW5nZWQpOgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdBRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAgICAg
KiBzdmcvU1ZHR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OmNy
ZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3dpdGNoRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRl
cmVyKToKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdVc2VFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOgorCiAyMDIyLTAyLTA2ICBO
aWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtM
QlNFXSBBY3RpdmF0ZSBMQlNFIGZvciA8cmVjdD4gcGFpbnRpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXgg
Y2FjNGRkZWNhZGYyNDE1OGZmMTQ5YTQwMTlkYWVlMjllZjY3NTE3My4uZWY2M2I1NDJjY2JmMTkw
Y2JiNTFlMWM0NWY1ZTlhODIzNjM1ZDI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI0ODEsNiArMjQ4
MSw3IEBAIHJlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCiByZW5k
ZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1JlY3QuY3BwCiByZW5kZXJpbmcvc3ZnL0xlZ2FjeVJl
bmRlclNWR1Jvb3QuY3BwCiByZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1NoYXBlLmNwcAor
cmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcAog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5jcHAKIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Q29udGFpbmVyLmNwcAogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdFbGxpcHNlLmNwcApAQCAtMjUx
MCw3ICsyNTExLDYgQEAgcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHVFNwYW4uY3BwCiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3Bw
CiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHRQYXRoLmNwcAotcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcAogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdW
aWV3cG9ydENvbnRhaW5lci5jcHAKIHJlbmRlcmluZy9zdmcvU1ZHQm91bmRpbmdCb3hDb21wdXRh
dGlvbi5jcHAKIHJlbmRlcmluZy9zdmcvU1ZHQ29udGFpbmVyTGF5b3V0LmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI1M2M4
OGE4ZjJjYzQxZjZiOTM5MTU3Mzc5NzU2NzgxMTU5YzljODUuLjRjNDUyYTkwMGMyNmNjYjMwMTEx
ZTI4NjlkNTc0ZDQxNzJjNDUwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNjMsNyArMTI2Myw3IEBACiAJCTQzNjcwOEUz
MTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEE0MTJEOUNBNEIw
MDA0NDIzNCAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCAqLzsgfTsKIAkJNDM2NzA4
RTUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1Jvb3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEE2MTJEOUNBNEIwMDA0NDIz
NCAvKiBMZWdhY3lSZW5kZXJTVkdSb290LmggKi87IH07CiAJCTQzNjcwOEU1MTJEOURCNEIwMDA0
NDIzNCAvKiBSZW5kZXJTVkdSb290LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MzY3MDhBNjEyRDlEQjRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUm9vdC5o
ICovOyB9OwotCQk0MzY3MDhFOTEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3Jt
YWJsZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDM2NzA4QUExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuaCAqLzsgfTsKKwkJNDM2NzA4RTkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJl
bmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEFBMTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lS
ZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEVCMTJEOUNB
NEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4QUMxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEVFMTJEOUNB
NEIwMDA0NDIzNCAvKiBTVkdNYXJrZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhBRjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHTWFya2Vy
RGF0YS5oICovOyB9OwogCQk0MzY3MDhGMjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVuZGVyU3Vw
cG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2
NzA4QjMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1JlbmRlclN1cHBvcnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA4OSw4ICs5MDg5LDggQEAK
IAkJNDM2NzA4QTUxMkQ5Q0E1QzAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jvb3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUm9vdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEE2MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lS
ZW5kZXJTVkdSb290LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVJl
bmRlclNWR1Jvb3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QTYxMkQ5
REI0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jvb3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyU1ZHUm9vdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
MzY3MDhBOTEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdUcmFu
c2Zvcm1hYmxlQ29udGFpbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDM2
NzA4QUExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3MDhBOTEyRDlD
QTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZWdhY3lSZW5kZXJTVkdUcmFu
c2Zvcm1hYmxlQ29udGFpbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDM2
NzA4QUExMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250
YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5UmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MzY3MDhBQjEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHVmlld3BvcnRD
b250YWluZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBQzEyRDlD
QTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QUYxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR01h
cmtlckRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHTWFya2VyRGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkwNTMsNiArMTkwNTMsOCBAQAog
CQkJCUExMEJCNTg4MTQ4NEUzQjMwMEIyRTg3QSAvKiBMZWdhY3lSZW5kZXJTVkdTaGFwZS5jcHAg
Ki8sCiAJCQkJQTEwQkI1ODkxNDg0RTNCMzAwQjJFODdBIC8qIExlZ2FjeVJlbmRlclNWR1NoYXBl
LmggKi8sCiAJCQkJQ0RGNzQ3RjYyNzBGODZBNDAwOEZFRUVDIC8qIExlZ2FjeVJlbmRlclNWR1No
YXBlSW5saW5lcy5oICovLAorCQkJCTQzNjcwOEE5MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lS
ZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLywKKwkJCQk0MzY3MDhBQTEyRDlD
QTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICov
LAogCQkJCTQzNjcwODgxMTJEOUNBNEEwMDA0NDIzNCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgKi8s
CiAJCQkJNDM2NzA4ODIxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR0Jsb2NrLmggKi8sCiAJ
CQkJQ0RGNzQ3RUEyNzBGNkQ4ODAwOEZFRUVDIC8qIFJlbmRlclNWR0Jsb2NrSW5saW5lcy5oICov
LApAQCAtMTkxMjAsOCArMTkxMjIsNiBAQAogCQkJCTA4NTRCMDA3MTI1NUU0RTYwMEI5Q0REMCAv
KiBSZW5kZXJTVkdUZXh0LmggKi8sCiAJCQkJMDg1NEIwMDgxMjU1RTRFNjAwQjlDREQwIC8qIFJl
bmRlclNWR1RleHRQYXRoLmNwcCAqLywKIAkJCQkwODU0QjAwOTEyNTVFNEU2MDBCOUNERDAgLyog
UmVuZGVyU1ZHVGV4dFBhdGguaCAqLywKLQkJCQk0MzY3MDhBOTEyRDlDQTRCMDAwNDQyMzQgLyog
UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgKi8sCi0JCQkJNDM2NzA4QUExMkQ5
Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLywKIAkJ
CQkwODU0QjAwQjEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZHVFNwYW4uaCAqLywKIAkJCQk0
MzY3MDhBQjEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3Bw
ICovLAogCQkJCTQzNjcwOEFDMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9ydENv
bnRhaW5lci5oICovLApAQCAtMzYxMjcsNiArMzYxMjcsNyBAQAogCQkJCTQzNjcwOEU1MTJEOUNB
NEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdSb290LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTBCQjU4QjE0ODRFM0IzMDBCMkU4N0EgLyogTGVnYWN5UmVuZGVyU1ZHU2hhcGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNERjc0N0Y3MjcwRjg2QTQwMDhGRUVFQyAvKiBMZWdhY3lSZW5kZXJTVkdT
aGFwZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTQzNjcwOEU5MTJEOUNBNEIwMDA0NDIz
NCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOENGRjVFMTBBMTU1QTA1MDAwQTQyMzQgLyogTGVnYWN5Um9vdElubGluZUJveC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2MkM3RjUxMUY3N0VGQjAwNjEyRUZFIC8qIExlZ2FjeVNj
aGVtZVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEMzQjFGQTBGMEU0MTYxMDA5Njkz
RjYgLyogTGVnYWN5VGlsZUNhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTM2OTY5LDcgKzM2OTcw
LDYgQEAKIAkJCQlDREY3NDdGNzI3MEY4M0I0MTA3REVFRUMgLyogUmVuZGVyU1ZHU2hhcGVJbmxp
bmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODU0QjAxOTEyNTVFNEU2MDBCOUNERDAgLyogUmVu
ZGVyU1ZHVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg1NEIwMUIxMjU1RTRFNjAwQjlDREQw
IC8qIFJlbmRlclNWR1RleHRQYXRoLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MzY3MDhFOTEyRDlD
QTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDg1NEIwMUQxMjU1RTRFNjAwQjlDREQwIC8qIFJlbmRlclNWR1RTcGFuLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0MzY3MDhFQjEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZH
Vmlld3BvcnRDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4REY0QUVCMDk4MEM0MkMw
MDUyOTgxQiAvKiBSZW5kZXJUYWJsZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZDBmNGNlYzRiYWRjNTJhNmU3NGEwZmM4MWI3ODBm
MmQyNTNhYmY2OS4uZjBlZWFhZWM5ODRkODNiNmFkNmQxOWFlZTk2NTllM2IzNjNmNGZlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMzMwLDcgKzMzMCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSb290KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdDb250YWluZXIoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0xlZ2FjeVNWR0NvbnRhaW5lcigpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzU1ZHVHJhbnNmb3JtYWJsZUNvbnRh
aW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzTGVnYWN5
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzU1ZHVmlld3BvcnRDb250YWluZXIoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0dyYWRpZW50U3RvcCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyLmNwcAppbmRleCBiMjYxMjIzZTM1ODEwNjNj
Mzg3NzZkMjZiNTNiNDlkNjMyMTI4ZWE2Li45M2VmOTMxMTJmZWM1MjBlNTg0MzhmMTdjODg3YTdi
ZGI0MTI0YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2Fj
eVJlbmRlclNWR0NvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9MZWdhY3lSZW5kZXJTVkdDb250YWluZXIuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgTGVn
YWN5UmVuZGVyU1ZHQ29udGFpbmVyOjpsYXlvdXQoKQogICAgIC8vIEFsbG93IFJlbmRlclNWR1Zp
ZXdwb3J0Q29udGFpbmVyIHRvIHVwZGF0ZSBpdHMgdmlld3BvcnQuCiAgICAgY2FsY1ZpZXdwb3J0
KCk7CiAKLSAgICAvLyBBbGxvdyBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIHRvIHVw
ZGF0ZSBpdHMgdHJhbnNmb3JtLgorICAgIC8vIEFsbG93IExlZ2FjeVJlbmRlclNWR1RyYW5zZm9y
bWFibGVDb250YWluZXIgdG8gdXBkYXRlIGl0cyB0cmFuc2Zvcm0uCiAgICAgYm9vbCB1cGRhdGVk
VHJhbnNmb3JtID0gY2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0oKTsKIAogICAgIC8vIFJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyIG5lZWRzIHRvIHNldCB0aGUgJ2xheW91dCBzaXplIGNoYW5nZWQn
IGZsYWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJl
bmRlclNWR0NvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lS
ZW5kZXJTVkdDb250YWluZXIuaAppbmRleCBiYmY3N2Q4OTYyZDY4YzgzOWI2YmM0YTIzMzYzOWIy
ODhmMDNlMDg4Li5hN2FlODU5ZWJmN2ZjZTA3OGY1MWQ1YTNlZWU2NjY3YWQzYzEwZTJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR0NvbnRh
aW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZH
Q29udGFpbmVyLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBub2Rl
QXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhpdFRlc3RBY3Rpb24pIG92ZXJyaWRlOwogCi0g
ICAgLy8gQWxsb3cgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciB0byBob29rIGluIGF0
IHRoZSByaWdodCB0aW1lIGluIGxheW91dCgpCisgICAgLy8gQWxsb3cgTGVnYWN5UmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lciB0byBob29rIGluIGF0IHRoZSByaWdodCB0aW1lIGluIGxh
eW91dCgpCiAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkgeyByZXR1
cm4gZmFsc2U7IH0KIAogICAgIC8vIEFsbG93IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHRv
IGhvb2sgaW4gYXQgdGhlIHJpZ2h0IHRpbWVzIGluIGxheW91dCgpLCBwYWludCgpIGFuZCBub2Rl
QXRGbG9hdFBvaW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxYjRkMDRkZmM5NWUxNDhhNzkzNGI1NWFlNzZlZTA5MGU1YWJjNzEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRl
clNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUsIEluYy4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
aCIKKworI2luY2x1ZGUgIlNWR0VsZW1lbnRUeXBlSGVscGVycy5oIgorI2luY2x1ZGUgIlNWR0dF
bGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHR3JhcGhpY3NFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZH
VXNlRWxlbWVudC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKExlZ2FjeVJlbmRl
clNWR1RyYW5zZm9ybWFibGVDb250YWluZXIpOworCitMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1h
YmxlQ29udGFpbmVyOjpMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKFNWR0dy
YXBoaWNzRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKKyAgICA6IExlZ2Fj
eVJlbmRlclNWR0NvbnRhaW5lcihlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKKyAgICAsIG1fbmVl
ZHNUcmFuc2Zvcm1VcGRhdGUodHJ1ZSkKKyAgICAsIG1fZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRl
KGZhbHNlKQoreworfQorCitib29sIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWlu
ZXI6OmNhbGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkKK3sKKyAgICBTVkdHcmFwaGljc0VsZW1lbnQm
IGVsZW1lbnQgPSBncmFwaGljc0VsZW1lbnQoKTsKKworICAgIC8vIElmIHdlJ3JlIGVpdGhlciB0
aGUgcmVuZGVyZXIgZm9yIGEgPHVzZT4gZWxlbWVudCwgb3IgZm9yIGFueSA8Zz4gZWxlbWVudCBp
bnNpZGUgdGhlIHNoYWRvdworICAgIC8vIHRyZWUsIHRoYXQgd2FzIGNyZWF0ZWQgZHVyaW5nIHRo
ZSB1c2Uvc3ltYm9sL3N2ZyBleHBhbnNpb24gaW4gU1ZHVXNlRWxlbWVudC4gVGhlc2UgY29udGFp
bmVycworICAgIC8vIG5lZWQgdG8gcmVzcGVjdCB0aGUgdHJhbnNsYXRpb25zIGluZHVjZWQgYnkg
dGhlaXIgY29ycmVzcG9uZGluZyB1c2UgZWxlbWVudHMgeC95IGF0dHJpYnV0ZXMuCisgICAgU1ZH
VXNlRWxlbWVudCogdXNlRWxlbWVudCA9IG51bGxwdHI7CisgICAgaWYgKGlzPFNWR1VzZUVsZW1l
bnQ+KGVsZW1lbnQpKQorICAgICAgICB1c2VFbGVtZW50ID0gJmRvd25jYXN0PFNWR1VzZUVsZW1l
bnQ+KGVsZW1lbnQpOworICAgIGVsc2UgaWYgKGVsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSAmJiBp
czxTVkdHRWxlbWVudD4oZWxlbWVudCkpIHsKKyAgICAgICAgU1ZHRWxlbWVudCogY29ycmVzcG9u
ZGluZ0VsZW1lbnQgPSBlbGVtZW50LmNvcnJlc3BvbmRpbmdFbGVtZW50KCk7CisgICAgICAgIGlm
IChpczxTVkdVc2VFbGVtZW50Pihjb3JyZXNwb25kaW5nRWxlbWVudCkpCisgICAgICAgICAgICB1
c2VFbGVtZW50ID0gZG93bmNhc3Q8U1ZHVXNlRWxlbWVudD4oY29ycmVzcG9uZGluZ0VsZW1lbnQp
OworICAgIH0KKworICAgIGlmICh1c2VFbGVtZW50KSB7CisgICAgICAgIFNWR0xlbmd0aENvbnRl
eHQgbGVuZ3RoQ29udGV4dCh1c2VFbGVtZW50KTsKKyAgICAgICAgRmxvYXRTaXplIHRyYW5zbGF0
aW9uKHVzZUVsZW1lbnQtPngoKS52YWx1ZShsZW5ndGhDb250ZXh0KSwgdXNlRWxlbWVudC0+eSgp
LnZhbHVlKGxlbmd0aENvbnRleHQpKTsKKyAgICAgICAgaWYgKHRyYW5zbGF0aW9uICE9IG1fbGFz
dFRyYW5zbGF0aW9uKQorICAgICAgICAgICAgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IHRydWU7
CisgICAgICAgIG1fbGFzdFRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb247CisgICAgfQorCisgICAg
bV9kaWRUcmFuc2Zvcm1Ub1Jvb3RVcGRhdGUgPSBtX25lZWRzVHJhbnNmb3JtVXBkYXRlIHx8IFNW
R1JlbmRlclN1cHBvcnQ6OnRyYW5zZm9ybVRvUm9vdENoYW5nZWQocGFyZW50KCkpOworICAgIGlm
ICghbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
bV9sb2NhbFRyYW5zZm9ybSA9IGVsZW1lbnQuYW5pbWF0ZWRMb2NhbFRyYW5zZm9ybSgpOworICAg
IG1fbG9jYWxUcmFuc2Zvcm0udHJhbnNsYXRlKG1fbGFzdFRyYW5zbGF0aW9uKTsKKyAgICBtX25l
ZWRzVHJhbnNmb3JtVXBkYXRlID0gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK1NWR0dy
YXBoaWNzRWxlbWVudCYgTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6Z3Jh
cGhpY3NFbGVtZW50KCkKK3sKKyAgICByZXR1cm4gZG93bmNhc3Q8U1ZHR3JhcGhpY3NFbGVtZW50
PihMZWdhY3lSZW5kZXJTVkdDb250YWluZXI6OmVsZW1lbnQoKSk7Cit9CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3Jt
YWJsZUNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5k
ZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBjZWZmNGVkMTQ0M2Q5
NzkxMDEzYTliMzI0YzE0ZmFjNTZkOGFiMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5o
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBTZWlkZWwg
PGVyaWNAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUsIEluYy4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJMZWdhY3lSZW5kZXJTVkdDb250YWluZXIuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgU1ZHR3JhcGhpY3NFbGVtZW50OworCitjbGFz
cyBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIGZpbmFsIDogcHVibGljIExl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lciB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChMZWdh
Y3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKTsKK3B1YmxpYzoKKyAgICBMZWdhY3lS
ZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKFNWR0dyYXBoaWNzRWxlbWVudCYsIFJlbmRl
clN0eWxlJiYpOworCisgICAgYm9vbCBpc0xlZ2FjeVNWR1RyYW5zZm9ybWFibGVDb250YWluZXIo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiBsb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9s
b2NhbFRyYW5zZm9ybTsgfQorICAgIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUoKSBvdmVy
cmlkZSB7IG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CisgICAgYm9vbCBkaWRUcmFu
c2Zvcm1Ub1Jvb3RVcGRhdGUoKSBvdmVycmlkZSB7IHJldHVybiBtX2RpZFRyYW5zZm9ybVRvUm9v
dFVwZGF0ZTsgfQorCitwcml2YXRlOgorICAgIFNWR0dyYXBoaWNzRWxlbWVudCYgZ3JhcGhpY3NF
bGVtZW50KCk7CisKKyAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKKyAgICBib29s
IGNhbGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkgb3ZlcnJpZGU7CisgICAgQWZmaW5lVHJhbnNmb3Jt
IGxvY2FsVHJhbnNmb3JtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sb2NhbFRyYW5zZm9y
bTsgfQorCisgICAgYm9vbCBtX25lZWRzVHJhbnNmb3JtVXBkYXRlIDogMTsKKyAgICBib29sIG1f
ZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRlIDogMTsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gbV9sb2Nh
bFRyYW5zZm9ybTsKKyAgICBGbG9hdFNpemUgbV9sYXN0VHJhbnNsYXRpb247Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVD
VChMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLCBpc0xlZ2FjeVNWR1RyYW5z
Zm9ybWFibGVDb250YWluZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTg4N2Q0OWQ5MmE4Zjk1MDA3YTJhNTQ0ZDU2MDc3
NTQ5YjQ5MTU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRh
aW5lci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgot
ICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlLCBJbmMuCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCi0KLSNpbmNsdWRl
ICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKLSNpbmNsdWRlICJTVkdHRWxlbWVudC5oIgotI2lu
Y2x1ZGUgIlNWR0dyYXBoaWNzRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIK
LSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29u
dGFpbmVyKTsKLQotUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6UmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lcihTVkdHcmFwaGljc0VsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCi0gICAgOiBMZWdhY3lSZW5kZXJTVkdDb250YWluZXIoZWxlbWVudCwgV1RG
TW92ZShzdHlsZSkpCi0gICAgLCBtX25lZWRzVHJhbnNmb3JtVXBkYXRlKHRydWUpCi0gICAgLCBt
X2RpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZShmYWxzZSkKLXsKLX0KLQotYm9vbCBSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyOjpjYWxjdWxhdGVMb2NhbFRyYW5zZm9ybSgpCi17Ci0gICAg
U1ZHR3JhcGhpY3NFbGVtZW50JiBlbGVtZW50ID0gZ3JhcGhpY3NFbGVtZW50KCk7Ci0KLSAgICAv
LyBJZiB3ZSdyZSBlaXRoZXIgdGhlIHJlbmRlcmVyIGZvciBhIDx1c2U+IGVsZW1lbnQsIG9yIGZv
ciBhbnkgPGc+IGVsZW1lbnQgaW5zaWRlIHRoZSBzaGFkb3cKLSAgICAvLyB0cmVlLCB0aGF0IHdh
cyBjcmVhdGVkIGR1cmluZyB0aGUgdXNlL3N5bWJvbC9zdmcgZXhwYW5zaW9uIGluIFNWR1VzZUVs
ZW1lbnQuIFRoZXNlIGNvbnRhaW5lcnMKLSAgICAvLyBuZWVkIHRvIHJlc3BlY3QgdGhlIHRyYW5z
bGF0aW9ucyBpbmR1Y2VkIGJ5IHRoZWlyIGNvcnJlc3BvbmRpbmcgdXNlIGVsZW1lbnRzIHgveSBh
dHRyaWJ1dGVzLgotICAgIFNWR1VzZUVsZW1lbnQqIHVzZUVsZW1lbnQgPSBudWxscHRyOwotICAg
IGlmIChpczxTVkdVc2VFbGVtZW50PihlbGVtZW50KSkKLSAgICAgICAgdXNlRWxlbWVudCA9ICZk
b3duY2FzdDxTVkdVc2VFbGVtZW50PihlbGVtZW50KTsKLSAgICBlbHNlIGlmIChlbGVtZW50Lmlz
SW5TaGFkb3dUcmVlKCkgJiYgaXM8U1ZHR0VsZW1lbnQ+KGVsZW1lbnQpKSB7Ci0gICAgICAgIFNW
R0VsZW1lbnQqIGNvcnJlc3BvbmRpbmdFbGVtZW50ID0gZWxlbWVudC5jb3JyZXNwb25kaW5nRWxl
bWVudCgpOwotICAgICAgICBpZiAoaXM8U1ZHVXNlRWxlbWVudD4oY29ycmVzcG9uZGluZ0VsZW1l
bnQpKQotICAgICAgICAgICAgdXNlRWxlbWVudCA9IGRvd25jYXN0PFNWR1VzZUVsZW1lbnQ+KGNv
cnJlc3BvbmRpbmdFbGVtZW50KTsKLSAgICB9Ci0KLSAgICBpZiAodXNlRWxlbWVudCkgewotICAg
ICAgICBTVkdMZW5ndGhDb250ZXh0IGxlbmd0aENvbnRleHQodXNlRWxlbWVudCk7Ci0gICAgICAg
IEZsb2F0U2l6ZSB0cmFuc2xhdGlvbih1c2VFbGVtZW50LT54KCkudmFsdWUobGVuZ3RoQ29udGV4
dCksIHVzZUVsZW1lbnQtPnkoKS52YWx1ZShsZW5ndGhDb250ZXh0KSk7Ci0gICAgICAgIGlmICh0
cmFuc2xhdGlvbiAhPSBtX2xhc3RUcmFuc2xhdGlvbikKLSAgICAgICAgICAgIG1fbmVlZHNUcmFu
c2Zvcm1VcGRhdGUgPSB0cnVlOwotICAgICAgICBtX2xhc3RUcmFuc2xhdGlvbiA9IHRyYW5zbGF0
aW9uOwotICAgIH0KLQotICAgIG1fZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRlID0gbV9uZWVkc1Ry
YW5zZm9ybVVwZGF0ZSB8fCBTVkdSZW5kZXJTdXBwb3J0Ojp0cmFuc2Zvcm1Ub1Jvb3RDaGFuZ2Vk
KHBhcmVudCgpKTsKLSAgICBpZiAoIW1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIG1fbG9jYWxUcmFuc2Zvcm0gPSBlbGVtZW50LmFuaW1hdGVkTG9j
YWxUcmFuc2Zvcm0oKTsKLSAgICBtX2xvY2FsVHJhbnNmb3JtLnRyYW5zbGF0ZShtX2xhc3RUcmFu
c2xhdGlvbik7Ci0gICAgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IGZhbHNlOwotICAgIHJldHVy
biB0cnVlOwotfQotCi1TVkdHcmFwaGljc0VsZW1lbnQmIFJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXI6OmdyYXBoaWNzRWxlbWVudCgpCi17Ci0gICAgcmV0dXJuIGRvd25jYXN0PFNWR0dy
YXBoaWNzRWxlbWVudD4oTGVnYWN5UmVuZGVyU1ZHQ29udGFpbmVyOjplbGVtZW50KCkpOwotfQot
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Ry
YW5zZm9ybWFibGVDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxYjlhZWE5ZWMyNzZlYWFkNTY3NzhhOTUwYmQ5NTE1MGIyYWVkNGM1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oCisrKyAvZGV2L251bGwK
QEAgLTEsNTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8
ZXJpY0B3ZWJraXQub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSwgSW5jLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNWR0NvbnRhaW5lci5oIgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0gICAgCi1jbGFzcyBTVkdHcmFwaGljc0VsZW1lbnQ7Ci0KLWNsYXNz
IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIgZmluYWwgOiBwdWJsaWMgTGVnYWN5UmVu
ZGVyU1ZHQ29udGFpbmVyIHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFJlbmRlclNWR1Ry
YW5zZm9ybWFibGVDb250YWluZXIpOwotcHVibGljOgotICAgIFJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIoU1ZHR3JhcGhpY3NFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Ci0KLSAgICBi
b29sIGlzU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KLSAgICBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2FsVG9QYXJlbnRUcmFuc2Zv
cm0oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2xvY2FsVHJhbnNmb3JtOyB9Ci0gICAgdm9p
ZCBzZXROZWVkc1RyYW5zZm9ybVVwZGF0ZSgpIG92ZXJyaWRlIHsgbV9uZWVkc1RyYW5zZm9ybVVw
ZGF0ZSA9IHRydWU7IH0KLSAgICBib29sIGRpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZSgpIG92ZXJy
aWRlIHsgcmV0dXJuIG1fZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRlOyB9Ci0KLXByaXZhdGU6Ci0g
ICAgU1ZHR3JhcGhpY3NFbGVtZW50JiBncmFwaGljc0VsZW1lbnQoKTsKLQotICAgIHZvaWQgZWxl
bWVudCgpIGNvbnN0ID0gZGVsZXRlOwotICAgIGJvb2wgY2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0o
KSBvdmVycmlkZTsKLSAgICBBZmZpbmVUcmFuc2Zvcm0gbG9jYWxUcmFuc2Zvcm0oKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX2xvY2FsVHJhbnNmb3JtOyB9Ci0KLSAgICBib29sIG1fbmVlZHNU
cmFuc2Zvcm1VcGRhdGUgOiAxOwotICAgIGJvb2wgbV9kaWRUcmFuc2Zvcm1Ub1Jvb3RVcGRhdGUg
OiAxOwotICAgIEFmZmluZVRyYW5zZm9ybSBtX2xvY2FsVHJhbnNmb3JtOwotICAgIEZsb2F0U2l6
ZSBtX2xhc3RUcmFuc2xhdGlvbjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIsIGlzU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcigpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5o
CmluZGV4IGZjNzEzODg4N2M5MmQyOGI5NGVhZTk5NTk3ZjY1NWY5NDI2NGQ0OTUuLjNlZTNiYzE0
NjlkNGY0MmViYTg4ZjQ3NTk0NWU3ODRlY2ZlM2FhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAg
LTI3LDcgKzI3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBpcyB1c2VkIGZv
ciBub24tcm9vdCA8c3ZnPiBlbGVtZW50cyBhbmQgPG1hcmtlcj4gZWxlbWVudHMsIG5laXRoZXIg
b2Ygd2hpY2ggYXJlIFNWR1RyYW5zZm9ybWFibGUKLS8vIHRodXMgd2UgaW5oZXJpdCBmcm9tIExl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lciBpbnN0ZWFkIG9mIFJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIKKy8vIHRodXMgd2UgaW5oZXJpdCBmcm9tIExlZ2FjeVJlbmRlclNWR0NvbnRhaW5l
ciBpbnN0ZWFkIG9mIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIKIGNsYXNz
IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIGZpbmFsIDogcHVibGljIExlZ2FjeVJlbmRlclNW
R0NvbnRhaW5lciB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChSZW5kZXJTVkdWaWV3cG9y
dENvbnRhaW5lcik7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR0NvbnRhaW5lckxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR0NvbnRhaW5lckxheW91dC5jcHAKaW5kZXggYzUzYjNmYzM2NjJkYWY2YjBlOWQ1OTgw
NTQ0ODZlYzhkNDRmMjJjMi4uYjUzNGIwOGM1NGE0MTQwYTllNjJiN2YzZWJmNWNkNTczNDcwOGFh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdDb250YWluZXJM
YXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHQ29udGFpbmVy
TGF5b3V0LmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdTaGFwZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1RleHQuaCIK
LSNpbmNsdWRlICJSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0
LmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyaW5nQ29udGV4dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKaW5kZXggMjA5ZDRkZjlkMDZk
YTUxOTgxYWVlNGE4ZTY1ZjIwNjA3ZTQ2YTM4OS4uY2MzOGVjNzAzMGU2MGNlMTc1OWIxMzI4N2Rl
MjVmNzNkNTY1Yzg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlclN1cHBvcnQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRWxlbWVudEFu
Y2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lSZW5kZXJTVkdSb290LmgiCiAjaW5j
bHVkZSAiTGVnYWN5UmVuZGVyU1ZHU2hhcGUuaCIKKyNpbmNsdWRlICJMZWdhY3lSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQu
aCIKQEAgLTQ0LDcgKzQ1LDYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU1ZHU2hhcGUuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCi0jaW5jbHVk
ZSAiUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudFR5cGVIZWxwZXJzLmgi
CiAjaW5jbHVkZSAiU1ZHR2VvbWV0cnlFbGVtZW50LmgiCkBAIC0yMjQsOCArMjI0LDggQEAgc3Rh
dGljIGlubGluZSBib29sIGxheW91dFNpemVPZk5lYXJlc3RWaWV3cG9ydENoYW5nZWQoY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGUKIGJvb2wgU1ZHUmVuZGVyU3VwcG9ydDo6dHJhbnNmb3JtVG9S
b290Q2hhbmdlZChSZW5kZXJFbGVtZW50KiBhbmNlc3RvcikKIHsKICAgICB3aGlsZSAoYW5jZXN0
b3IgJiYgIWFuY2VzdG9yLT5pc1NWR1Jvb3RPckxlZ2FjeVNWR1Jvb3QoKSkgewotICAgICAgICBp
ZiAoaXM8UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcj4oKmFuY2VzdG9yKSkKLSAgICAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigq
YW5jZXN0b3IpLmRpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZSgpOworICAgICAgICBpZiAoaXM8TGVn
YWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcj4oKmFuY2VzdG9yKSkKKyAgICAgICAg
ICAgIHJldHVybiBkb3duY2FzdDxMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVy
PigqYW5jZXN0b3IpLmRpZFRyYW5zZm9ybVRvUm9vdFVwZGF0ZSgpOwogICAgICAgICBpZiAoaXM8
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1
cm4gZG93bmNhc3Q8UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI+KCphbmNlc3RvcikuZGlkVHJh
bnNmb3JtVG9Sb290VXBkYXRlKCk7CiAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVu
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKaW5kZXggMTgwNTNiODViZTA5NjFlMmVj
NDNiNWU5MTZhMjZmMGM0YzFkM2JlNS4uYzRlYzYwODI2MmViMzQ1YzZmOTFiNGQ3YzNhNjEzNDJk
ZjExMGVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTGVnYWN5UmVu
ZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxp
bmUuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIlNWR0VsZW1lbnRJbmxpbmVzLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudFR5cGVIZWxw
ZXJzLmgiCkBAIC0xMTAsNyArMTEwLDcgQEAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFNWR0FF
bGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwKIHsKICAg
ICBpZiAoaXM8U1ZHRWxlbWVudD4ocGFyZW50Tm9kZSgpKSAmJiBkb3duY2FzdDxTVkdFbGVtZW50
PigqcGFyZW50Tm9kZSgpKS5pc1RleHRDb250ZW50KCkpCiAgICAgICAgIHJldHVybiBjcmVhdGVS
ZW5kZXJlcjxSZW5kZXJTVkdJbmxpbmU+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7Ci0gICAgcmV0
dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXI+KCp0aGlz
LCBXVEZNb3ZlKHN0eWxlKSk7CisgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPExlZ2FjeVJlbmRl
clNWR1RyYW5zZm9ybWFibGVDb250YWluZXI+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CiB9CiAK
IHZvaWQgU1ZHQUVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAKaW5kZXggZGRjMTc5OWViYTZlN2U5YmE4OTczN2E4OGUy
ZDdhYmIzYTIxODM2NS4uNDJjYjljM2MzM2VlMTNkOTc2NTk5OGZkZmI5YTE1ZmExMTAxNGMwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCkBAIC0yMiw5ICsyMiw5IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHR0VsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkxlZ2Fj
eVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdI
aWRkZW5Db250YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgotI2luY2x1
ZGUgIlJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdOYW1l
cy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CkBAIC01OCw3ICs1OCw3IEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50
PiBTVkdHRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUs
CiAgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcj4oKnRoaXMsIFdU
Rk1vdmUoc3R5bGUpKTsKIAotICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJTVkdUcmFu
c2Zvcm1hYmxlQ29udGFpbmVyPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworICAgIHJldHVybiBj
cmVhdGVSZW5kZXJlcjxMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigqdGhp
cywgV1RGTW92ZShzdHlsZSkpOwogfQogCiBib29sIFNWR0dFbGVtZW50OjpyZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTd2l0Y2hFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50
LmNwcAppbmRleCBmYmZhYWNkYzYyNGMyNTVjNDUzOGQ2MmU3MzkwYzkzMTM4ODdjNjMwLi41MTc1
YWY5Y2ZhZmZhMjEzMDFiNzFkYWU2ZjU0MjBhNDRlNjljNjY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N3aXRjaEVsZW1lbnQuY3BwCkBAIC0yMyw3ICsyMyw3IEBACiAjaW5jbHVkZSAiU1ZHU3dp
dGNoRWxlbWVudC5oIgogCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAi
UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIkxlZ2FjeVJlbmRl
clNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhl
bHBlcnMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC01Nyw3ICs1
Nyw3IEBAIGJvb2wgU1ZHU3dpdGNoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihj
b25zdCBOb2RlJiBjaGlsZCkgY29uc3QKIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFNWR1N3
aXRjaEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBj
b25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQogewotICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxS
ZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwor
ICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29u
dGFpbmVyPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VXNlRWxlbWVudC5jcHAKaW5kZXggNzQ5ZjE5ZGJhOGQ2NzgwYjMxYzJmNDlhZjk5ZjQyZWNjNmI1
NzRlMC4uMDU0N2NjYTlkMjZmYmQwZjM5NTk1M2FhYTQ5ZWRiYTUyMjIwNjQyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcApAQCAtMzEsOCArMzEsOCBAQAogI2luY2x1ZGUgIkVs
ZW1lbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgorI2luY2x1ZGUgIkxlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1RyYW5z
Zm9ybWFibGVDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCIK
ICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKICNpbmNsdWRlICJTVkdHRWxlbWVu
dC5oIgpAQCAtMjY2LDcgKzI2Niw3IEBAIFJlZlB0cjxTVkdFbGVtZW50PiBTVkdVc2VFbGVtZW50
Ojp0YXJnZXRDbG9uZSgpIGNvbnN0CiAKIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBTVkdVc2VF
bGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29uc3Qg
UmVuZGVyVHJlZVBvc2l0aW9uJikKIHsKLSAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVy
U1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcj4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKKyAgICBy
ZXR1cm4gY3JlYXRlUmVuZGVyZXI8TGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
cj4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKIH0KIAogc3RhdGljIGJvb2wgaXNEaXJlY3RSZWZl
cmVuY2UoY29uc3QgU1ZHRWxlbWVudCYgZWxlbWVudCkK
</data>
<flag name="review"
          id="480001"
          type_id="1"
          status="+"
          setter="rbuis"
    />
    <flag name="commit-queue"
          id="480019"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>