<?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>236172</bug_id>
          
          <creation_ts>2022-02-04 21:59:14 -0800</creation_ts>
          <short_desc>Tab characters and ch units do not obey synthetic bold width adjustments correctly</short_desc>
          <delta_ts>2022-03-03 14:21:26 -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>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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837707</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-04 21:59:14 -0800</bug_when>
    <thetext>Tab characters and ch units do not obey synthetic bold width adjustments correctly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837708</commentid>
    <comment_count>1</comment_count>
      <attachid>450974</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-04 22:04:35 -0800</bug_when>
    <thetext>Created attachment 450974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839545</commentid>
    <comment_count>2</comment_count>
      <attachid>451501</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-10 00:04:59 -0800</bug_when>
    <thetext>Created attachment 451501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840060</commentid>
    <comment_count>3</comment_count>
      <attachid>451622</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-10 17:06:04 -0800</bug_when>
    <thetext>Created attachment 451622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840154</commentid>
    <comment_count>4</comment_count>
      <attachid>451637</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-10 20:18:08 -0800</bug_when>
    <thetext>Created attachment 451637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840179</commentid>
    <comment_count>5</comment_count>
      <attachid>451637</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-02-10 21:17:49 -0800</bug_when>
    <thetext>Comment on attachment 451637
Patch

nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840248</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-11 00:41:03 -0800</bug_when>
    <thetext>Committed r289609 (247122@trunk): &lt;https://commits.webkit.org/247122@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840249</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-11 00:42:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/88803268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848064</commentid>
    <comment_count>8</comment_count>
      <attachid>451637</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-03 14:21:26 -0800</bug_when>
    <thetext>Comment on attachment 451637
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=451637&amp;action=review

&gt; Source/WebCore/ChangeLog:15
&gt; +        This patch adds a 2-value enum argument to the Font::widthForGlyph() function, so callers
&gt; +        can pass in which behavior they want. The function has a default value to include the
&gt; +        synthetic bold expansion.

Why is an argument better than two functions?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450974</attachid>
            <date>2022-02-04 22:04:35 -0800</date>
            <delta_ts>2022-02-10 00:04:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236172-20220204220434.patch</filename>
            <type>text/plain</type>
            <size>21019</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJhM2RkMWJkZGM4ZTQy
ODBmMWJiZjhmOGYxMzVjYjgyYzk0NDhiZC4uNmZjNmZkY2ZkZWUxZTUzMjU2MWY3OGVmMjhlMGIw
ZmExYTg4ZjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIyLTAyLTA0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGFiIGNoYXJh
Y3RlcnMgYW5kIGNoIHVuaXRzIGRvIG5vdCBvYmV5IHN5bnRoZXRpYyBib2xkIHdpZHRoIGFkanVz
dG1lbnRzIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgdHVybnMgb3V0IHdlIGhhdmUgYSBsb3Qgb2YgcGxhY2VzIHdoZXJlIGNvZGUg
d2FudHMgdG8ga25vdyB0aGUgc3ludGhldGljLWJvbGQtZXhwYW5kZWQKKyAgICAgICAgd2lkdGgg
b2YgY2hhcmFjdGVycy4gT25lIHBsYWNlIGlzICd0YWItd2lkdGg6IDxpbnRlZ2VyPicgYW5kIGFu
b3RoZXIgaXMgdGhlICdjaCcgdW5pdC4KKyAgICAgICAgSG93ZXZlciwgV2lkdGhJdGVyYXRvciBh
bmQgQ29tcGxleFRleHRDb250cm9sbGVyIGRvbid0IHdhbnQgdGhlIHN5bnRoZXRpYy1ib2xkLWV4
cGFuZGVkCisgICAgICAgIHdpZHRocywgYmVjYXVzZSB0aGV5IGV4cGxpY2l0bHkgYXBwbHkgc3lu
dGhldGljIGJvbGQgYWZ0ZXIgc2hhcGluZy4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSAy
LXZhbHVlIGVudW0gYXJndW1lbnQgdG8gdGhlIEZvbnQ6OndpZHRoRm9yR2x5cGgoKSBmdW5jdGlv
biwgc28gY2FsbGVycworICAgICAgICBjYW4gcGFzcyBpbiB3aGljaCBiZWhhdmlvciB0aGV5IHdh
bnQuIFRoZSBmdW5jdGlvbiBoYXMgYSBkZWZhdWx0IHZhbHVlIHRvIGluY2x1ZGUgdGhlCisgICAg
ICAgIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4KKworICAgICAgICBJIHRoZW4gYXVkaXRlZCBl
dmVyeSBjYWxsIHNpdGUgb2YgdGhpcyBmdW5jdGlvbiwgYW5kIHBhc3NlZCBpbiB0aGUgY29ycmVj
dCBlbnVtIHZhbHVlLgorICAgICAgICBEb2luZyB0aGlzIGxlZCBtZSB0byBkaXNjb3ZlciB0d28g
YnVncyB3aGVyZSB0aGUgd3JvbmcgYmVoYXZpb3Igd2FzIGJlaW5nIHVzZWQsIGFuZCB0aGlzCisg
ICAgICAgIHBhdGNoIGZpeGVzIHRoZW0gYW5kIGFkZHMgdGVzdHMgZm9yIHRoZW0uCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpmYWxsYmFja0ZvbnRzRm9yUnVuV2l0aEl0
ZXJhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RH
bHlwaHNBbmRBZHZhbmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OkNvbXBsZXhUZXh0UnVuOjpDb21wbGV4VGV4dFJ1bik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c3BhY2VXaWR0aCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aEZvckdseXBoIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2Nh
ZGU6OnRhYldpZHRoIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlv
bmFsV2lkdGggY29uc3QpOgorCiAyMDIyLTAyLTA0ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxz
b25AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVT
b3VyY2Ugb25seSBvdXRwdXRzIG9uZSBmcmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGls
LmNwcAppbmRleCAxZGRiZmZlMDdhYjk2NDJkYTYwMTFkNTVkY2NlYjEyYWVmMzA4MTkzLi4wNWYz
YjQ2NDlkNjNiY2EzMjY3MWI3YTkxYzU0M2I0NDlmNTMwMjJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90
ZXh0L1RleHRVdGlsLmNwcApAQCAtMTIxLDcgKzEyMSw4IEBAIHN0YXRpYyB2b2lkIGZhbGxiYWNr
Rm9udHNGb3JSdW5XaXRoSXRlcmF0b3IoSGFzaFNldDxjb25zdCBGb250Kj4mIGZhbGxiYWNrRm9u
dHMsCiAgICAgICAgICAgICBhdXRvIGdseXBoRGF0YSA9IGZvbnRDYXNjYWRlLmdseXBoRGF0YUZv
ckNoYXJhY3RlcihjaGFyYWN0ZXIsIGlzUlRMKTsKICAgICAgICAgICAgIGlmIChnbHlwaERhdGEu
Z2x5cGggJiYgZ2x5cGhEYXRhLmZvbnQgJiYgZ2x5cGhEYXRhLmZvbnQgIT0gJnByaW1hcnlGb250
KSB7CiAgICAgICAgICAgICAgICAgYXV0byBpc05vblNwYWNpbmdNYXJrID0gVV9NQVNLKHVfY2hh
clR5cGUoY2hhcmFjdGVyKSkgJiBVX0dDX01OX01BU0s7Ci0gICAgICAgICAgICAgICAgaWYgKGlz
Tm9uU3BhY2luZ01hcmsgfHwgZ2x5cGhEYXRhLmZvbnQtPndpZHRoRm9yR2x5cGgoZ2x5cGhEYXRh
LmdseXBoKSkKKyAgICAgICAgICAgICAgICAvLyBJZiB3ZSBpbmNsdWRlIHRoZSBzeW50aGV0aWMg
Ym9sZCBleHBhbnNpb24sIHRoZW4gZXZlbiB6ZXJvLXdpZHRoIGdseXBocyB3aWxsIGhhdmUgdGhl
aXIgZm9udHMgYWRkZWQuCisgICAgICAgICAgICAgICAgaWYgKGlzTm9uU3BhY2luZ01hcmsgfHwg
Z2x5cGhEYXRhLmZvbnQtPndpZHRoRm9yR2x5cGgoZ2x5cGhEYXRhLmdseXBoLCBGb250OjpTeW50
aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNsdWRlKSkKICAgICAgICAgICAgICAgICAgICAgZmFsbGJh
Y2tGb250cy5hZGQoZ2x5cGhEYXRhLmZvbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKaW5kZXggZDNjNzU2ZmE4M2RmMDY4YzBkZTc1ZjQwYmJlNjgyNjc3
NzM2NDdlNy4uMTQwZTY4ZTZkZDE4MzcxNTUyNWE5ZmQ5OTI0ODNiMzE4NWFiMDZiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4
dENvbnRyb2xsZXIuY3BwCkBAIC02OTMsNyArNjkzLDggQEAgdm9pZCBDb21wbGV4VGV4dENvbnRy
b2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICAgICAgY29uc3QgQ0dHbHlwaCog
Z2x5cGhzID0gY29tcGxleFRleHRSdW4uZ2x5cGhzKCk7CiAgICAgICAgIGNvbnN0IEZsb2F0U2l6
ZSogYWR2YW5jZXMgPSBjb21wbGV4VGV4dFJ1bi5iYXNlQWR2YW5jZXMoKTsKIAotICAgICAgICBm
bG9hdCBzcGFjZVdpZHRoID0gZm9udC5zcGFjZVdpZHRoKCk7CisgICAgICAgIC8vIExvd2VyIGlu
IHRoaXMgZnVuY3Rpb24sIHN5bnRoZXRpYyBib2xkIGlzIGJsYW5rZXQtYXBwbGllZCB0byBldmVy
eXRoaW5nLCBzbyBubyBuZWVkIHRvIGRvdWJsZS1hcHBseSBpdCBoZXJlLgorICAgICAgICBmbG9h
dCBzcGFjZVdpZHRoID0gZm9udC5zcGFjZVdpZHRoKEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNp
b246OkV4Y2x1ZGUpOwogICAgICAgICBjb25zdCBVQ2hhciogY3AgPSBjb21wbGV4VGV4dFJ1bi5j
aGFyYWN0ZXJzKCk7CiAgICAgICAgIEZsb2F0UG9pbnQgZ2x5cGhPcmlnaW47CiAgICAgICAgIHVu
c2lnbmVkIGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1pbigpIDogc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1h
eCgpOwpAQCAtNzE0LDggKzcxNSw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1
c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgICAgICAgICBDR0dseXBoIGdseXBoID0gZ2x5cGhz
W2ldOwogICAgICAgICAgICAgRmxvYXRTaXplIGFkdmFuY2UgPSB0cmVhdEFzU3BhY2UgPyBGbG9h
dFNpemUoc3BhY2VXaWR0aCwgYWR2YW5jZXNbaV0uaGVpZ2h0KCkpIDogYWR2YW5jZXNbaV07CiAK
LSAgICAgICAgICAgIGlmIChjaCA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygpKQotICAgICAg
ICAgICAgICAgIGFkdmFuY2Uuc2V0V2lkdGgobV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVuLnRh
YlNpemUoKSwgbV9ydW4ueFBvcygpICsgbV90b3RhbEFkdmFuY2Uud2lkdGgoKSkpOworICAgICAg
ICAgICAgaWYgKGNoID09IHRhYkNoYXJhY3RlciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkKKyAgICAg
ICAgICAgICAgICBhZHZhbmNlLnNldFdpZHRoKG1fZm9udC50YWJXaWR0aChmb250LCBtX3J1bi50
YWJTaXplKCksIG1fcnVuLnhQb3MoKSArIG1fdG90YWxBZHZhbmNlLndpZHRoKCksIEZvbnQ6OlN5
bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpKTsKICAgICAgICAgICAgIGVsc2UgaWYgKEZv
bnRDYXNjYWRlOjp0cmVhdEFzWmVyb1dpZHRoU3BhY2UoY2gpICYmICF0cmVhdEFzU3BhY2UpIHsK
ICAgICAgICAgICAgICAgICBhZHZhbmNlLnNldFdpZHRoKDApOwogICAgICAgICAgICAgICAgIGds
eXBoID0gZm9udC5zcGFjZUdseXBoKCk7CkBAIC04NDQsNyArODQ1LDggQEAgQ29tcGxleFRleHRD
b250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6Q29tcGxleFRleHRSdW4oY29uc3QgRm9udCYgZm9u
dCwgY29uc3QgVUMKIAogICAgIC8vIFN5bnRoZXNpemUgYSBydW4gb2YgbWlzc2luZyBnbHlwaHMu
CiAgICAgbV9nbHlwaHMuZmlsbCgwLCBtX2dseXBoQ291bnQpOwotICAgIG1fYmFzZUFkdmFuY2Vz
LmZpbGwoRmxvYXRTaXplKG1fZm9udC53aWR0aEZvckdseXBoKDApLCAwKSwgbV9nbHlwaENvdW50
KTsKKyAgICAvLyBTeW50aGV0aWMgYm9sZCB3aWxsIGJlIGhhbmRsZWQgbGF0ZXIgaW4gYWRqdXN0
R2x5cGhzQW5kQWR2YW5jZXMoKS4KKyAgICBtX2Jhc2VBZHZhbmNlcy5maWxsKEZsb2F0U2l6ZSht
X2ZvbnQud2lkdGhGb3JHbHlwaCgwLCBGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNs
dWRlKSwgMCksIG1fZ2x5cGhDb3VudCk7CiB9CiAKIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29t
cGxleFRleHRSdW46OkNvbXBsZXhUZXh0UnVuKGNvbnN0IFZlY3RvcjxGbG9hdFNpemU+JiBhZHZh
bmNlcywgY29uc3QgVmVjdG9yPEZsb2F0UG9pbnQ+JiBvcmlnaW5zLCBjb25zdCBWZWN0b3I8R2x5
cGg+JiBnbHlwaHMsIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4mIHN0cmluZ0luZGljZXMsIEZsb2F0
U2l6ZSBpbml0aWFsQWR2YW5jZSwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVUNoYXIqIGNoYXJh
Y3RlcnMsIHVuc2lnbmVkIHN0cmluZ0xvY2F0aW9uLCB1bnNpZ25lZCBzdHJpbmdMZW5ndGgsIHVu
c2lnbmVkIGluZGV4QmVnaW4sIHVuc2lnbmVkIGluZGV4RW5kLCBib29sIGx0cikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCA3OTUzOWExNTFiMDViMTgwYjMwOTkx
MzVjNDE1NzA0NDhiMDUwNjg5Li43ZWVmZWVjMjhiZmFmMWYxYzI2YjBkMjgyNGY4YzE4NGRjYTky
OWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC0xMzgsMjIg
KzEzOCwxOSBAQCBwdWJsaWM6CiAKICAgICBGbG9hdFJlY3QgYm91bmRzRm9yR2x5cGgoR2x5cGgp
IGNvbnN0OwogCi0gICAgLy8gSWYgeW91J3JlIGNhbGxpbmcgdGhpcywgeW91IG5lZWQgdG8gY2Fy
ZSBhYm91dCBzeW50aGV0aWMgYm9sZC4KLSAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhl
IHdpZHRoIGJlZm9yZSBhZGRpbmcgaW4gdGhlIHN5bnRoZXRpYyBib2xkIG9mZnNldC4KLSAgICAv
LyBUaGlzIGlzIGJlY2F1c2UgdGhlc2Ugd2lkdGhzIGFyZSBmZWQgYXMgYW4gaW5wdXQgdG8gc2hh
cGluZywgd2hpY2ggbmVlZHMgdG8gY29uc3VtZSB0aGUgdHJ1ZSB3aWR0aHMuCi0gICAgLy8gVGhl
biwgdGhlIHN5bnRoZXRpYyBib2xkIG9mZnNldCBpcyBhcHBsaWVkIGFmdGVyIHNoYXBpbmcuCi0g
ICAgLy8gSWYgeW91J3JlIG5vdCBnb2luZyB0aHJvdWdoIFdpZHRoSXRlcmF0b3Igb3IgQ29tcGxl
eFRleHRDb250cm9sbGVyIChhbmQgdGh1cyBwb3RlbnRpYWxseSBleGVjdXRpbmcgc2hhcGluZyB5
b3Vyc2VsZiksCi0gICAgLy8gdGhlbiB5b3UgbmVlZCB0byBkZWNpZGUgd2hldGhlciBvciBub3Qg
eW91IG5lZWQgdG8gYWRkIHN5bnRoZXRpY0JvbGRPZmZzZXQoKSB0byB0aGUgcmVzdWx0IG9mIHlv
dXIgd2lkdGhGb3JHbHlwaCgpIGNhbGwuCi0gICAgZmxvYXQgd2lkdGhGb3JHbHlwaChHbHlwaCkg
Y29uc3Q7CisgICAgLy8gU2hvdWxkIHRoZSByZXN1bHQgb2YgdGhpcyBmdW5jdGlvbiBpbmNsdWRl
IHRoZSByZXN1bHRzIG9mIHN5bnRoZXRpYyBib2xkPworICAgIGVudW0gY2xhc3MgU3ludGhldGlj
Qm9sZEluY2x1c2lvbiB7CisgICAgICAgIEluY29ycG9yYXRlLAorICAgICAgICBFeGNsdWRlCisg
ICAgfTsKKyAgICBmbG9hdCB3aWR0aEZvckdseXBoKEdseXBoLCBTeW50aGV0aWNCb2xkSW5jbHVz
aW9uID0gU3ludGhldGljQm9sZEluY2x1c2lvbjo6SW5jb3Jwb3JhdGUpIGNvbnN0OwogCiAgICAg
Y29uc3QgUGF0aCYgcGF0aEZvckdseXBoKEdseXBoKSBjb25zdDsgLy8gRG9uJ3Qgc3RvcmUgdGhl
IHJlc3VsdCBvZiB0aGlzISBUaGUgaGFzaCBtYXAgaXMgZnJlZSB0byByZWhhc2ggYXQgYW55IHBv
aW50LCBsZWF2aW5nIHRoaXMgcmVmZXJlbmNlIGRhbmdsaW5nLgotICAgIEZsb2F0UmVjdCBwbGF0
Zm9ybUJvdW5kc0ZvckdseXBoKEdseXBoKSBjb25zdDsKLSAgICBmbG9hdCBwbGF0Zm9ybVdpZHRo
Rm9yR2x5cGgoR2x5cGgpIGNvbnN0OwotICAgIFBhdGggcGxhdGZvcm1QYXRoRm9yR2x5cGgoR2x5
cGgpIGNvbnN0OwogCi0gICAgLy8gSWYgeW91J3JlIGNhbGxpbmcgdGhpcywgeW91IG5lZWQgdG8g
Y2FyZSBhYm91dCBzeW50aGV0aWMgYm9sZC4KLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQganVzdCBh
Ym92ZSB3aWR0aEZvckdseXBoKCkuCi0gICAgZmxvYXQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fc3BhY2VXaWR0aDsgfQorICAgIGZsb2F0IHNwYWNlV2lkdGgoU3ludGhldGljQm9sZElu
Y2x1c2lvbiBTeW50aGV0aWNCb2xkSW5jbHVzaW9uID0gU3ludGhldGljQm9sZEluY2x1c2lvbjo6
SW5jb3Jwb3JhdGUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zcGFjZVdpZHRoICsg
KFN5bnRoZXRpY0JvbGRJbmNsdXNpb24gPT0gU3ludGhldGljQm9sZEluY2x1c2lvbjo6SW5jb3Jw
b3JhdGUgPyBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgOiAwKTsKKyAgICB9CiAKICAgICBmbG9hdCBz
eW50aGV0aWNCb2xkT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNCb2xkT2Zmc2V0
OyB9CiAKQEAgLTIzNiw2ICsyMzMsMTAgQEAgcHJpdmF0ZToKICAgICBmbG9hdCB3aWR0aEZvckdE
SUdseXBoKEdseXBoKSBjb25zdDsKICNlbmRpZgogCisgICAgRmxvYXRSZWN0IHBsYXRmb3JtQm91
bmRzRm9yR2x5cGgoR2x5cGgpIGNvbnN0OworICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JHbHlw
aChHbHlwaCkgY29uc3Q7CisgICAgUGF0aCBwbGF0Zm9ybVBhdGhGb3JHbHlwaChHbHlwaCkgY29u
c3Q7CisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBjbGFzcyBDb21wbGV4Q29sb3JGb3JtYXRH
bHlwaHMgewogICAgIHB1YmxpYzoKQEAgLTM2OSw3ICszNzAsNyBAQCBBTFdBWVNfSU5MSU5FIEZs
b2F0UmVjdCBGb250Ojpib3VuZHNGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICByZXR1
cm4gYm91bmRzOwogfQogCi1BTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgo
R2x5cGggZ2x5cGgpIGNvbnN0CitBTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5
cGgoR2x5cGggZ2x5cGgsIFN5bnRoZXRpY0JvbGRJbmNsdXNpb24gU3ludGhldGljQm9sZEluY2x1
c2lvbikgY29uc3QKIHsKICAgICAvLyBUaGUgb3B0aW1pemF0aW9uIG9mIHJldHVybmluZyAwIGZv
ciB0aGUgemVyby13aWR0aC1zcGFjZSBnbHlwaCBpcyBpbmNvcnJlY3QgZm9yIHRoZSBMYXN0UmVz
b3J0IGZvbnQsCiAgICAgLy8gdXNlZCBpbiBwbGFjZSBvZiB0aGUgYWN0dWFsIGZvbnQgd2hlbiBp
c0xvYWRpbmcoKSBpcyB0cnVlIG9uIGJvdGggbWFjT1MgYW5kIGlPUy4KQEAgLTM4MCw3ICszODEs
NyBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgp
IGNvbnN0CiAKICAgICBmbG9hdCB3aWR0aCA9IG1fZ2x5cGhUb1dpZHRoTWFwLm1ldHJpY3NGb3JH
bHlwaChnbHlwaCk7CiAgICAgaWYgKHdpZHRoICE9IGNHbHlwaFNpemVVbmtub3duKQotICAgICAg
ICByZXR1cm4gd2lkdGg7CisgICAgICAgIHJldHVybiB3aWR0aCArIChTeW50aGV0aWNCb2xkSW5j
bHVzaW9uID09IFN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkluY29ycG9yYXRlID8gc3ludGhldGlj
Qm9sZE9mZnNldCgpIDogMCk7CiAKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwpCiAgICAg
aWYgKG1fdmVydGljYWxEYXRhKQpAQCAtMzkwLDcgKzM5MSw3IEBAIEFMV0FZU19JTkxJTkUgZmxv
YXQgRm9udDo6d2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICAgICAgd2lkdGgg
PSBwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoZ2x5cGgpOwogCiAgICAgbV9nbHlwaFRvV2lkdGhNYXAu
c2V0TWV0cmljc0ZvckdseXBoKGdseXBoLCB3aWR0aCk7Ci0gICAgcmV0dXJuIHdpZHRoOworICAg
IHJldHVybiB3aWR0aCArIChTeW50aGV0aWNCb2xkSW5jbHVzaW9uID09IFN5bnRoZXRpY0JvbGRJ
bmNsdXNpb246OkluY29ycG9yYXRlID8gc3ludGhldGljQm9sZE9mZnNldCgpIDogMCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAppbmRleCAzYzhlMjQ5Nzc1OTkzYTlmZjk2OWUyZDA4NmE4
MGYwZGYxYjRkM2YxLi44NTE4MGFkMTA5ZmQ4MThlOWJiMTU4OGNlOTYyYWI0NjMwODE2YTA5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3Bw
CkBAIC0zMTYsNiArMzE2LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4
dChTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGkKICAgICBhdXRvJiBm
b250ID0gcHJpbWFyeUZvbnQoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGV4dC5s
ZW5ndGgoKTsgKytpKSB7CiAgICAgICAgIGF1dG8gZ2x5cGggPSBnbHlwaERhdGFGb3JDaGFyYWN0
ZXIodGV4dFtpXSwgZmFsc2UpLmdseXBoOworICAgICAgICBBU1NFUlQoIWZvbnQuc3ludGhldGlj
Qm9sZE9mZnNldCgpKTsgLy8gVGhpcyBmdW5jdGlvbiBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hl
biBSZW5kZXJUZXh0Ojpjb21wdXRlQ2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSByZXR1
cm5zIHRydWUsIGFuZCB0aGF0IGZ1bmN0aW9uIHJlcXVpcmVzIG5vIHN5bnRoZXRpYyBib2xkLgog
ICAgICAgICBhdXRvIGdseXBoV2lkdGggPSBmb250LndpZHRoRm9yR2x5cGgoZ2x5cGgpOwogICAg
ICAgICBiZWZvcmVXaWR0aCArPSBnbHlwaFdpZHRoOwogICAgICAgICBnbHlwaEJ1ZmZlci5hZGQo
Z2x5cGgsIGZvbnQsIGdseXBoV2lkdGgsIGkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXggMjRjZmI3MTM3NDMxYTc3ZWNiMDFmZWRhYTQ0
NzNjNjk3ODQ0NzZjMy4uMDlmNDFkNjAxZDYwY2IxMGZiOTk2NTQwMTQ5YTFiYzY1MmZjZTgzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBA
IC0xNjgsOCArMTY4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNQbGF0Zm9ybUZvbnQoKSBjb25z
dCB7IHJldHVybiBtX2ZvbnRzLT5pc0ZvclBsYXRmb3JtRm9udCgpOyB9CiAKICAgICBjb25zdCBG
b250TWV0cmljcyYgbWV0cmljc09mUHJpbWFyeUZvbnQoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLmZvbnRNZXRyaWNzKCk7IH0KLSAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBGb250Jiwg
Y29uc3QgVGFiU2l6ZSYsIGZsb2F0KSBjb25zdDsKLSAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBU
YWJTaXplJiB0YWJTaXplLCBmbG9hdCBwb3NpdGlvbikgY29uc3QgeyByZXR1cm4gdGFiV2lkdGgo
cHJpbWFyeUZvbnQoKSwgdGFiU2l6ZSwgcG9zaXRpb24pOyB9CisgICAgZmxvYXQgdGFiV2lkdGgo
Y29uc3QgRm9udCYsIGNvbnN0IFRhYlNpemUmLCBmbG9hdCwgRm9udDo6U3ludGhldGljQm9sZElu
Y2x1c2lvbikgY29uc3Q7CiAgICAgYm9vbCBoYXNWYWxpZEF2ZXJhZ2VDaGFyV2lkdGgoKSBjb25z
dDsKICAgICBib29sIGZhc3RBdmVyYWdlQ2hhcldpZHRoSWZBdmFpbGFibGUoZmxvYXQgJndpZHRo
KSBjb25zdDsgLy8gcmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MKIApAQCAtMzczLDEzICszNzIsMjAg
QEAgaW5saW5lIEZvbnRTZWxlY3RvciogRm9udENhc2NhZGU6OmZvbnRTZWxlY3RvcigpIGNvbnN0
CiAgICAgcmV0dXJuIG1fZm9udHMgPyBtX2ZvbnRzLT5mb250U2VsZWN0b3IoKSA6IG51bGxwdHI7
CiB9CiAKLWlubGluZSBmbG9hdCBGb250Q2FzY2FkZTo6dGFiV2lkdGgoY29uc3QgRm9udCYgZm9u
dCwgY29uc3QgVGFiU2l6ZSYgdGFiU2l6ZSwgZmxvYXQgcG9zaXRpb24pIGNvbnN0CitpbmxpbmUg
ZmxvYXQgRm9udENhc2NhZGU6OnRhYldpZHRoKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRhYlNp
emUmIHRhYlNpemUsIGZsb2F0IHBvc2l0aW9uLCBGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9u
IHN5bnRoZXRpY0JvbGRJbmNsdXNpb24pIGNvbnN0CiB7CiAgICAgZmxvYXQgYmFzZVRhYldpZHRo
ID0gdGFiU2l6ZS53aWR0aEluUGl4ZWxzKGZvbnQuc3BhY2VXaWR0aCgpKTsKKyAgICBmbG9hdCBy
ZXN1bHQgPSAwOwogICAgIGlmICghYmFzZVRhYldpZHRoKQotICAgICAgICByZXR1cm4gbGV0dGVy
U3BhY2luZygpOwotICAgIGZsb2F0IHRhYkRlbHRhV2lkdGggPSBiYXNlVGFiV2lkdGggLSBmbW9k
Zihwb3NpdGlvbiwgYmFzZVRhYldpZHRoKTsKLSAgICByZXR1cm4gKHRhYkRlbHRhV2lkdGggPCBm
b250LnNwYWNlV2lkdGgoKSAvIDIpID8gYmFzZVRhYldpZHRoIDogdGFiRGVsdGFXaWR0aDsKKyAg
ICAgICAgcmVzdWx0ID0gbGV0dGVyU3BhY2luZygpOworICAgIGVsc2UgeworICAgICAgICBmbG9h
dCB0YWJEZWx0YVdpZHRoID0gYmFzZVRhYldpZHRoIC0gZm1vZGYocG9zaXRpb24sIGJhc2VUYWJX
aWR0aCk7CisgICAgICAgIHJlc3VsdCA9ICh0YWJEZWx0YVdpZHRoIDwgZm9udC5zcGFjZVdpZHRo
KCkgLyAyKSA/IGJhc2VUYWJXaWR0aCA6IHRhYkRlbHRhV2lkdGg7CisgICAgfQorICAgIC8vIElm
IG91ciBjYWxsZXIgcGFzc2VzIGluIFN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUsIHRo
YXQgbWVhbnMgdGhleSdyZSBnb2luZyB0byBhcHBseSBzeW50aGV0aWMgYm9sZCB0aGVtc2VsdmVz
IGxhdGVyLgorICAgIC8vIEhvd2V2ZXIsIHJlZ2FyZGxlc3Mgb2YgdGhhdCwgdGhlIHNwYWNlIGNo
YXJhY3RlcnMgdGhhdCBhcmUgZmVkIGludG8gdGhlIHdpZHRoIGNhbGN1bGF0aW9uIG5lZWQgdG8g
aGF2ZSB0aGVpciBjb3JyZWN0IHdpZHRoLCBpbmNsdWRpbmcgdGhlIHN5bnRoZXRpYyBib2xkLgor
ICAgIC8vIFNvLCB3ZSd2ZSBhbHJlYWR5IGdvdCBzeW50aGV0aWMgYm9sZCBhcHBsaWVkLCBzbyBp
ZiB3ZSdyZSBzdXBwb3NlZCB0byBleGNsdWRlIGl0LCB3ZSBuZWVkIHRvIHN1YnRyYWN0IGl0IG91
dCBoZXJlLgorICAgIHJldHVybiByZXN1bHQgLSAoc3ludGhldGljQm9sZEluY2x1c2lvbiA9PSBG
b250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNsdWRlID8gZm9udC5zeW50aGV0aWNCb2xk
T2Zmc2V0KCkgOiAwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCBmOGNlNjc1YWNiYjU4NTQ5ZGU4NDk4MDZi
ZTU0N2RiY2U4NWM0Njk4Li5lODYwYmIxMjhjMmYxNjBiMTIyMzBiNGJhNGZiZDA2MDExM2ZlZTI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmNwcApAQCAtMzA2LDcgKzMwNiw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAg
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBnbHlwaERhdGEuZm9udCA/ICpnbHlwaERhdGEuZm9udCA6
IHByaW1hcnlGb250OwogCiAgICAgICAgIHByZXZpb3VzV2lkdGggPSB3aWR0aDsKLSAgICAgICAg
d2lkdGggPSBmb250LndpZHRoRm9yR2x5cGgoZ2x5cGgpOworICAgICAgICB3aWR0aCA9IGZvbnQu
d2lkdGhGb3JHbHlwaChnbHlwaCwgRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVk
ZSk7IC8vIFdlIGFwcGx5IHN5bnRoZXRpYyBib2xkIGFmdGVyIHNoYXBpbmcsIGluIGFwcGx5Q1NT
VmlzaWJpbGl0eVJ1bGVzKCkuCiAKICAgICAgICAgaWYgKCZmb250ICE9IGxhc3RGb250RGF0YSkK
ICAgICAgICAgICAgIGNvbW1pdEN1cnJlbnRGb250UmFuZ2UoZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGxhc3RGb250RGF0YSwgZm9udCwgcHJpbWFy
eUZvbnQsIGNoYXJhY3Rlciwgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UsIHdpZHRoLCBjaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2UpOwpAQCAtMzE0LDcgKzMxNCw3IEBAIGlubGluZSB2b2lkIFdpZHRo
SXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5
cGhCdWZmCiAgICAgICAgICAgICB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSArPSB3aWR0aDsKIAog
ICAgICAgICBpZiAoRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpKQotICAgICAg
ICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZChjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIGNoYXJhY3RlciA9PSBzcGFjZSwgcHJldmlvdXNXaWR0aCwgY2hhcmFj
dGVyID09IHRhYkNoYXJhY3RlciA/IHdpZHRoIDogZm9udC5zcGFjZVdpZHRoKCkpOworICAgICAg
ICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZChjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIGNoYXJhY3RlciA9PSBzcGFjZSwgcHJldmlvdXNXaWR0aCwgY2hhcmFj
dGVyID09IHRhYkNoYXJhY3RlciA/IHdpZHRoIDogZm9udC5zcGFjZVdpZHRoKEZvbnQ6OlN5bnRo
ZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpKTsKIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9y
R2x5cGhCb3VuZHMpIHsKICAgICAgICAgICAgIGJvdW5kcyA9IGZvbnQuYm91bmRzRm9yR2x5cGgo
Z2x5cGgpOwpAQCAtMzU0LDcgKzM1NCw4IEBAIGF1dG8gV2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRl
QWRkaXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhCdWZmCiAKICAg
ICBpZiAoY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewog
ICAgICAgICBhdXRvJiBmb250ID0gZ2x5cGhCdWZmZXIuZm9udEF0KHRyYWlsaW5nR2x5cGhJbmRl
eCk7Ci0gICAgICAgIGF1dG8gbmV3V2lkdGggPSBtX2ZvbnQudGFiV2lkdGgoZm9udCwgbV9ydW4u
dGFiU2l6ZSgpLCBwb3NpdGlvbik7CisgICAgICAgIC8vIFN5bnRoZXRpYyBib2xkIHdpbGwgYmUg
aGFuZGxlZCBpbiBhcHBseUNTU1Zpc2liaWxpdHlSdWxlcygpIGxhdGVyLgorICAgICAgICBhdXRv
IG5ld1dpZHRoID0gbV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVuLnRhYlNpemUoKSwgcG9zaXRp
b24sIEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpOwogICAgICAgICBhdXRv
IGN1cnJlbnRXaWR0aCA9IHdpZHRoKGdseXBoQnVmZmVyLmFkdmFuY2VBdCh0cmFpbGluZ0dseXBo
SW5kZXgpKTsKICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbmV3V2lkdGggLSBjdXJy
ZW50V2lkdGg7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBiNTRiN2Y5OWExMWZkNzc0MTQxM2U3ZDE1YjkzYzUx
MTlhNTYxZWUuLjViMDA5MjFkMGI3MjdjYTAzNzE4MzUyYjM1OWE4MTYwNjUwNjE4YzUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAyMi0wMi0wNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgorCisgICAgICAgIFRhYiBjaGFyYWN0ZXJzIGFuZCBjaCB1bml0cyBkbyBu
b3Qgb2JleSBzeW50aGV0aWMgYm9sZCB3aWR0aCBhZGp1c3RtZW50cyBjb3JyZWN0bHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90ZXh0L2No
LXVuaXQtc3ludGhldGljLWJvbGQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21wbGV4LWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxl
eC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1i
b2xkLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90YWItd2lkdGgt
c3ludGhldGljLWJvbGQuaHRtbDogQWRkZWQuCisKIDIwMjItMDItMDQgIEFyY2FkeSBHb2xkbWlu
dHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MjgwMDc3KTogW0dUS10gSXQgY2F1c2VkIDE1NSBuZXcgdGVzdCBmYWlsdXJlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQtZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODc3MDE1ZDUxMjZmY2Y5OGJkOThlYzNkZGQ4NGNhMDAzZDg2
MTJhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5
bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB0aGF0IHRoZSA8Y29kZT5jaDwvY29kZT4gdW5pdCwgd2hpY2ggaXMgc3VwcG9zZWQgdG8gYmUg
YXMgd2lkZSBhcyB0aGUgPGNvZGU+MDwvY29kZT4gY2hhcmFjdGVyLCBpcyBpbiBmYWN0IHRoYXQg
d2lkZSwgZXZlbiBpZiB0aGUgZm9udCBpcyB1c2luZyBzeW50aGV0aWMgYm9sZC4gVGhlIHRlc3Qg
cGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNoZXMgaW4gYm90aCBjYXNl
cy4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFjbyc7IGRpc3BsYXk6
IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogZ3JlZW47IGNvbG9yOiB0cmFuc3BhcmVudDsiPjAw
MDAwMDAwMDA8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U3
MTVjYWExMGYwYjM4YjZiYWVmNDUxZGI5ZmVhZWUyMTRlMmUxNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKQEAgLTAs
MCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIDxjb2RlPmNoPC9jb2RlPiB1bml0LCB3
aGljaCBpcyBzdXBwb3NlZCB0byBiZSBhcyB3aWRlIGFzIHRoZSA8Y29kZT4wPC9jb2RlPiBjaGFy
YWN0ZXIsIGlzIGluIGZhY3QgdGhhdCB3aWRlLCBldmVuIGlmIHRoZSBmb250IGlzIHVzaW5nIHN5
bnRoZXRpYyBib2xkLiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIHdpZHRoIG9mIHRoZSBncmVlbiBi
b3ggbWF0Y2hlcyBpbiBib3RoIGNhc2VzLgorPGRpdiBzdHlsZT0iZm9udDogYm9sZCAxNnB4ICdN
b25hY28nOyBiYWNrZ3JvdW5kOiBncmVlbjsgd2lkdGg6IDEwY2g7IGNvbG9yOiB0cmFuc3BhcmVu
dDsiPmE8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21wbGV4LWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJjNTMxODJmMzkzMjI3YTNlMWE0ZDM4OWM4YmUxNmZk
NWUyMDk4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lk
dGgtc3ludGhldGljLWJvbGQtY29tcGxleC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0
ZXN0IG1ha2VzIHN1cmUgdGhhdCwgd2hlbiB0aGUgd2lkdGggb2YgYSB0YWIgaXMgc2V0IHRvIGJl
IGEgbXVsdGlwbGUgb2YgdGhlIHNwYWNlIHdpZHRoLCB0aGF0IHRoZSBzcGFjZSB3aWR0aCBpbmNs
dWRlcyB0aGUgc3ludGhldGljIGJvbGQgZXhwYW5zaW9uLiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhl
IHdpZHRoIG9mIHRoZSBncmVlbiBib3ggbWF0Y2hlcyBpbiBib3RoIGNhc2VzLgorPGRpdj4KKzxw
cmUgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9uYWNvJzsgZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBiYWNrZ3JvdW5kOiBncmVlbjsgdGFiLXNpemU6IDE2OyI+ICAgICAgICAgICAgICAgIDwvcHJl
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNvbXBsZXguaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRmMjQ2MWZjNDhhMDA1MDM5OWQzMDNkZjc4Nzc2ZDkxNWRhOWE3MTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNv
bXBsZXguaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQsIHdoZW4gdGhl
IHdpZHRoIG9mIGEgdGFiIGlzIHNldCB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzcGFjZSB3aWR0
aCwgdGhhdCB0aGUgc3BhY2Ugd2lkdGggaW5jbHVkZXMgdGhlIHN5bnRoZXRpYyBib2xkIGV4cGFu
c2lvbi4gVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNo
ZXMgaW4gYm90aCBjYXNlcy4KKzxkaXY+Cis8cHJlIHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01v
bmFjbyc7IGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ0FCQ0QnOyBkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IGJhY2tncm91bmQ6IGdyZWVuOyB0YWItc2l6ZTogMTY7Ij4mI3g5OzwvcHJlPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFi
LXdpZHRoLXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJj
NTMxODJmMzkzMjI3YTNlMWE0ZDM4OWM4YmUxNmZkNWUyMDk4ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQsIHdoZW4gdGhlIHdpZHRo
IG9mIGEgdGFiIGlzIHNldCB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzcGFjZSB3aWR0aCwgdGhh
dCB0aGUgc3BhY2Ugd2lkdGggaW5jbHVkZXMgdGhlIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4g
VGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNoZXMgaW4g
Ym90aCBjYXNlcy4KKzxkaXY+Cis8cHJlIHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFjbyc7
IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogZ3JlZW47IHRhYi1zaXplOiAxNjsi
PiAgICAgICAgICAgICAgICA8L3ByZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmYjEwNDRmYjRmOGM4YzM2OGRiYTkwMjdiZWMzMjY2ZDVkZWJiNWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1i
b2xkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0LCB3aGVuIHRoZSB3
aWR0aCBvZiBhIHRhYiBpcyBzZXQgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgc3BhY2Ugd2lkdGgs
IHRoYXQgdGhlIHNwYWNlIHdpZHRoIGluY2x1ZGVzIHRoZSBzeW50aGV0aWMgYm9sZCBleHBhbnNp
b24uIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgd2lkdGggb2YgdGhlIGdyZWVuIGJveCBtYXRjaGVz
IGluIGJvdGggY2FzZXMuCis8ZGl2PgorPHByZSBzdHlsZT0iZm9udDogYm9sZCAxNnB4ICdNb25h
Y28nOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IGdyZWVuOyB0YWItc2l6ZTog
MTY7Ij4mI3g5OzwvcHJlPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451501</attachid>
            <date>2022-02-10 00:04:59 -0800</date>
            <delta_ts>2022-02-10 17:06:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236172-20220210000458.patch</filename>
            <type>text/plain</type>
            <size>22556</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JhNWM4NWZjZDI4Yzc0
NmEyOTA4YzM1NTJkMTJiZTUxYWM3ZDg0Yy4uN2FhOTRmYjExNzJkNWViZmQ1MDEyZjUyZjcxY2E2
YzExNjM5YzMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIyLTAyLTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGFiIGNoYXJh
Y3RlcnMgYW5kIGNoIHVuaXRzIGRvIG5vdCBvYmV5IHN5bnRoZXRpYyBib2xkIHdpZHRoIGFkanVz
dG1lbnRzIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgdHVybnMgb3V0IHdlIGhhdmUgYSBsb3Qgb2YgcGxhY2VzIHdoZXJlIGNvZGUg
d2FudHMgdG8ga25vdyB0aGUgc3ludGhldGljLWJvbGQtZXhwYW5kZWQKKyAgICAgICAgd2lkdGgg
b2YgY2hhcmFjdGVycy4gT25lIHBsYWNlIGlzICd0YWItd2lkdGg6IDxpbnRlZ2VyPicgYW5kIGFu
b3RoZXIgaXMgdGhlICdjaCcgdW5pdC4KKyAgICAgICAgSG93ZXZlciwgV2lkdGhJdGVyYXRvciBh
bmQgQ29tcGxleFRleHRDb250cm9sbGVyIGRvbid0IHdhbnQgdGhlIHN5bnRoZXRpYy1ib2xkLWV4
cGFuZGVkCisgICAgICAgIHdpZHRocywgYmVjYXVzZSB0aGV5IGV4cGxpY2l0bHkgYXBwbHkgc3lu
dGhldGljIGJvbGQgYWZ0ZXIgc2hhcGluZy4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSAy
LXZhbHVlIGVudW0gYXJndW1lbnQgdG8gdGhlIEZvbnQ6OndpZHRoRm9yR2x5cGgoKSBmdW5jdGlv
biwgc28gY2FsbGVycworICAgICAgICBjYW4gcGFzcyBpbiB3aGljaCBiZWhhdmlvciB0aGV5IHdh
bnQuIFRoZSBmdW5jdGlvbiBoYXMgYSBkZWZhdWx0IHZhbHVlIHRvIGluY2x1ZGUgdGhlCisgICAg
ICAgIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4KKworICAgICAgICBJIHRoZW4gYXVkaXRlZCBl
dmVyeSBjYWxsIHNpdGUgb2YgdGhpcyBmdW5jdGlvbiwgYW5kIHBhc3NlZCBpbiB0aGUgY29ycmVj
dCBlbnVtIHZhbHVlLgorICAgICAgICBEb2luZyB0aGlzIGxlZCBtZSB0byBkaXNjb3ZlciB0d28g
YnVncyB3aGVyZSB0aGUgd3JvbmcgYmVoYXZpb3Igd2FzIGJlaW5nIHVzZWQsIGFuZCB0aGlzCisg
ICAgICAgIHBhdGNoIGZpeGVzIHRoZW0gYW5kIGFkZHMgdGVzdHMgZm9yIHRoZW0uCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpmYWxsYmFja0ZvbnRzRm9yUnVuV2l0aEl0
ZXJhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RH
bHlwaHNBbmRBZHZhbmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OkNvbXBsZXhUZXh0UnVuOjpDb21wbGV4VGV4dFJ1bik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c3BhY2VXaWR0aCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aEZvckdseXBoIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2Nh
ZGU6OnRhYldpZHRoIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlv
bmFsV2lkdGggY29uc3QpOgorCiAyMDIyLTAyLTA5ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gTW92ZSBJbWFnZUJ1ZmZlcjo6Y3Jl
YXRlQ29tcGF0aWJsZUltYWdlQnVmZmVyKCkgYW5kIFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0
ZUltYWdlQnVmZmVyIHRvIEdyYXBoaWNzQ29udGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRV
dGlsLmNwcAppbmRleCAxZGRiZmZlMDdhYjk2NDJkYTYwMTFkNTVkY2NlYjEyYWVmMzA4MTkzLi4w
NWYzYjQ2NDlkNjNiY2EzMjY3MWI3YTkxYzU0M2I0NDlmNTMwMjJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGls
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS90ZXh0L1RleHRVdGlsLmNwcApAQCAtMTIxLDcgKzEyMSw4IEBAIHN0YXRpYyB2b2lkIGZhbGxi
YWNrRm9udHNGb3JSdW5XaXRoSXRlcmF0b3IoSGFzaFNldDxjb25zdCBGb250Kj4mIGZhbGxiYWNr
Rm9udHMsCiAgICAgICAgICAgICBhdXRvIGdseXBoRGF0YSA9IGZvbnRDYXNjYWRlLmdseXBoRGF0
YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIGlzUlRMKTsKICAgICAgICAgICAgIGlmIChnbHlwaERh
dGEuZ2x5cGggJiYgZ2x5cGhEYXRhLmZvbnQgJiYgZ2x5cGhEYXRhLmZvbnQgIT0gJnByaW1hcnlG
b250KSB7CiAgICAgICAgICAgICAgICAgYXV0byBpc05vblNwYWNpbmdNYXJrID0gVV9NQVNLKHVf
Y2hhclR5cGUoY2hhcmFjdGVyKSkgJiBVX0dDX01OX01BU0s7Ci0gICAgICAgICAgICAgICAgaWYg
KGlzTm9uU3BhY2luZ01hcmsgfHwgZ2x5cGhEYXRhLmZvbnQtPndpZHRoRm9yR2x5cGgoZ2x5cGhE
YXRhLmdseXBoKSkKKyAgICAgICAgICAgICAgICAvLyBJZiB3ZSBpbmNsdWRlIHRoZSBzeW50aGV0
aWMgYm9sZCBleHBhbnNpb24sIHRoZW4gZXZlbiB6ZXJvLXdpZHRoIGdseXBocyB3aWxsIGhhdmUg
dGhlaXIgZm9udHMgYWRkZWQuCisgICAgICAgICAgICAgICAgaWYgKGlzTm9uU3BhY2luZ01hcmsg
fHwgZ2x5cGhEYXRhLmZvbnQtPndpZHRoRm9yR2x5cGgoZ2x5cGhEYXRhLmdseXBoLCBGb250OjpT
eW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNsdWRlKSkKICAgICAgICAgICAgICAgICAgICAgZmFs
bGJhY2tGb250cy5hZGQoZ2x5cGhEYXRhLmZvbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRl
eHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBs
ZXhUZXh0Q29udHJvbGxlci5jcHAKaW5kZXggZDNjNzU2ZmE4M2RmMDY4YzBkZTc1ZjQwYmJlNjgy
Njc3NzM2NDdlNy4uMTQwZTY4ZTZkZDE4MzcxNTUyNWE5ZmQ5OTI0ODNiMzE4NWFiMDZiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4
VGV4dENvbnRyb2xsZXIuY3BwCkBAIC02OTMsNyArNjkzLDggQEAgdm9pZCBDb21wbGV4VGV4dENv
bnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICAgICAgY29uc3QgQ0dHbHlw
aCogZ2x5cGhzID0gY29tcGxleFRleHRSdW4uZ2x5cGhzKCk7CiAgICAgICAgIGNvbnN0IEZsb2F0
U2l6ZSogYWR2YW5jZXMgPSBjb21wbGV4VGV4dFJ1bi5iYXNlQWR2YW5jZXMoKTsKIAotICAgICAg
ICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udC5zcGFjZVdpZHRoKCk7CisgICAgICAgIC8vIExvd2Vy
IGluIHRoaXMgZnVuY3Rpb24sIHN5bnRoZXRpYyBib2xkIGlzIGJsYW5rZXQtYXBwbGllZCB0byBl
dmVyeXRoaW5nLCBzbyBubyBuZWVkIHRvIGRvdWJsZS1hcHBseSBpdCBoZXJlLgorICAgICAgICBm
bG9hdCBzcGFjZVdpZHRoID0gZm9udC5zcGFjZVdpZHRoKEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNs
dXNpb246OkV4Y2x1ZGUpOwogICAgICAgICBjb25zdCBVQ2hhciogY3AgPSBjb21wbGV4VGV4dFJ1
bi5jaGFyYWN0ZXJzKCk7CiAgICAgICAgIEZsb2F0UG9pbnQgZ2x5cGhPcmlnaW47CiAgICAgICAg
IHVuc2lnbmVkIGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gc3RkOjpudW1lcmlj
X2xpbWl0czx1bnNpZ25lZD46Om1pbigpIDogc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46
Om1heCgpOwpAQCAtNzE0LDggKzcxNSw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgICAgICAgICBDR0dseXBoIGdseXBoID0gZ2x5
cGhzW2ldOwogICAgICAgICAgICAgRmxvYXRTaXplIGFkdmFuY2UgPSB0cmVhdEFzU3BhY2UgPyBG
bG9hdFNpemUoc3BhY2VXaWR0aCwgYWR2YW5jZXNbaV0uaGVpZ2h0KCkpIDogYWR2YW5jZXNbaV07
CiAKLSAgICAgICAgICAgIGlmIChjaCA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygpKQotICAg
ICAgICAgICAgICAgIGFkdmFuY2Uuc2V0V2lkdGgobV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVu
LnRhYlNpemUoKSwgbV9ydW4ueFBvcygpICsgbV90b3RhbEFkdmFuY2Uud2lkdGgoKSkpOworICAg
ICAgICAgICAgaWYgKGNoID09IHRhYkNoYXJhY3RlciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkKKyAg
ICAgICAgICAgICAgICBhZHZhbmNlLnNldFdpZHRoKG1fZm9udC50YWJXaWR0aChmb250LCBtX3J1
bi50YWJTaXplKCksIG1fcnVuLnhQb3MoKSArIG1fdG90YWxBZHZhbmNlLndpZHRoKCksIEZvbnQ6
OlN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpKTsKICAgICAgICAgICAgIGVsc2UgaWYg
KEZvbnRDYXNjYWRlOjp0cmVhdEFzWmVyb1dpZHRoU3BhY2UoY2gpICYmICF0cmVhdEFzU3BhY2Up
IHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLnNldFdpZHRoKDApOwogICAgICAgICAgICAgICAg
IGdseXBoID0gZm9udC5zcGFjZUdseXBoKCk7CkBAIC04NDQsNyArODQ1LDggQEAgQ29tcGxleFRl
eHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6Q29tcGxleFRleHRSdW4oY29uc3QgRm9udCYg
Zm9udCwgY29uc3QgVUMKIAogICAgIC8vIFN5bnRoZXNpemUgYSBydW4gb2YgbWlzc2luZyBnbHlw
aHMuCiAgICAgbV9nbHlwaHMuZmlsbCgwLCBtX2dseXBoQ291bnQpOwotICAgIG1fYmFzZUFkdmFu
Y2VzLmZpbGwoRmxvYXRTaXplKG1fZm9udC53aWR0aEZvckdseXBoKDApLCAwKSwgbV9nbHlwaENv
dW50KTsKKyAgICAvLyBTeW50aGV0aWMgYm9sZCB3aWxsIGJlIGhhbmRsZWQgbGF0ZXIgaW4gYWRq
dXN0R2x5cGhzQW5kQWR2YW5jZXMoKS4KKyAgICBtX2Jhc2VBZHZhbmNlcy5maWxsKEZsb2F0U2l6
ZShtX2ZvbnQud2lkdGhGb3JHbHlwaCgwLCBGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpF
eGNsdWRlKSwgMCksIG1fZ2x5cGhDb3VudCk7CiB9CiAKIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6
Q29tcGxleFRleHRSdW46OkNvbXBsZXhUZXh0UnVuKGNvbnN0IFZlY3RvcjxGbG9hdFNpemU+JiBh
ZHZhbmNlcywgY29uc3QgVmVjdG9yPEZsb2F0UG9pbnQ+JiBvcmlnaW5zLCBjb25zdCBWZWN0b3I8
R2x5cGg+JiBnbHlwaHMsIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4mIHN0cmluZ0luZGljZXMsIEZs
b2F0U2l6ZSBpbml0aWFsQWR2YW5jZSwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVUNoYXIqIGNo
YXJhY3RlcnMsIHVuc2lnbmVkIHN0cmluZ0xvY2F0aW9uLCB1bnNpZ25lZCBzdHJpbmdMZW5ndGgs
IHVuc2lnbmVkIGluZGV4QmVnaW4sIHVuc2lnbmVkIGluZGV4RW5kLCBib29sIGx0cikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKaW5kZXggZGI5OWQ0MDExODU5ODEx
Mjc3ZDA5ZjBjZGNiNDQ0OTU2NDhmNzQzYi4uYzQ1MDhiZDc1YWIyODVlMjA1Mjk0MWIzM2IyYTQ1
YjQ1ZDA1ZmI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAK
QEAgLTE2NSwxNSArMTY1LDExIEBAIHZvaWQgRm9udDo6cGxhdGZvcm1HbHlwaEluaXQoKQogICAg
IH0gZWxzZQogICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldElkZW9ncmFtV2lkdGgocGxhdGZvcm1E
YXRhKCkuc2l6ZSgpKTsKIAotICAgIG1fc3BhY2VXaWR0aCA9IHdpZHRoRm9yR2x5cGgobV9zcGFj
ZUdseXBoKTsKKyAgICBtX3NwYWNlV2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCwg
U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSk7IC8vIHNwYWNlV2lkdGgoKSBoYW5kbGVz
IGFkZGluZyBpbiB0aGUgc3ludGhldGljIGJvbGQuCiAgICAgYXV0byBhbW91bnRUb0FkanVzdExp
bmVHYXAgPSBzdGQ6Om1pbihtX2ZvbnRNZXRyaWNzLmZsb2F0TGluZUdhcCgpLCAwLjBmKTsKICAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobV9mb250TWV0cmljcy5mbG9hdExpbmVHYXAoKSAt
IGFtb3VudFRvQWRqdXN0TGluZUdhcCk7CiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
ZyhtX2ZvbnRNZXRyaWNzLmZsb2F0TGluZVNwYWNpbmcoKSAtIGFtb3VudFRvQWRqdXN0TGluZUdh
cCk7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICAvLyBOYXN0eSBoYWNrIHRvIGRldGVybWlu
ZSBpZiB3ZSBzaG91bGQgcm91bmQgb3IgY2VpbCBzcGFjZSB3aWR0aHMuCi0gICAgLy8gSWYgdGhl
IGZvbnQgaXMgbW9ub3NwYWNlIG9yIGZha2UgbW9ub3NwYWNlIHdlIGNlaWwgdG8gZW5zdXJlIHRo
YXQKLSAgICAvLyBldmVyeSBjaGFyYWN0ZXIgYW5kIHRoZSBzcGFjZSBhcmUgdGhlIHNhbWUgd2lk
dGguIE90aGVyd2lzZSB3ZSByb3VuZC4KLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJl
YXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZihtX3NwYWNlV2lkdGgpIDogcm91bmRmKG1fc3BhY2VXaWR0
aCk7CiB9CiAKIEZvbnQ6On5Gb250KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaAppbmRleCA3OTUzOWExNTFiMDViMTgwYjMwOTkxMzVjNDE1NzA0NDhiMDUwNjg5Li5iODkz
YjM4MDFiYjA1MzIwZDQ1ZjJhMzlmMDhiZmMxZDg0Mzg1NmU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC0xMzgsMjIgKzEzOCwxOSBAQCBwdWJsaWM6CiAKICAg
ICBGbG9hdFJlY3QgYm91bmRzRm9yR2x5cGgoR2x5cGgpIGNvbnN0OwogCi0gICAgLy8gSWYgeW91
J3JlIGNhbGxpbmcgdGhpcywgeW91IG5lZWQgdG8gY2FyZSBhYm91dCBzeW50aGV0aWMgYm9sZC4K
LSAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHdpZHRoIGJlZm9yZSBhZGRpbmcgaW4g
dGhlIHN5bnRoZXRpYyBib2xkIG9mZnNldC4KLSAgICAvLyBUaGlzIGlzIGJlY2F1c2UgdGhlc2Ug
d2lkdGhzIGFyZSBmZWQgYXMgYW4gaW5wdXQgdG8gc2hhcGluZywgd2hpY2ggbmVlZHMgdG8gY29u
c3VtZSB0aGUgdHJ1ZSB3aWR0aHMuCi0gICAgLy8gVGhlbiwgdGhlIHN5bnRoZXRpYyBib2xkIG9m
ZnNldCBpcyBhcHBsaWVkIGFmdGVyIHNoYXBpbmcuCi0gICAgLy8gSWYgeW91J3JlIG5vdCBnb2lu
ZyB0aHJvdWdoIFdpZHRoSXRlcmF0b3Igb3IgQ29tcGxleFRleHRDb250cm9sbGVyIChhbmQgdGh1
cyBwb3RlbnRpYWxseSBleGVjdXRpbmcgc2hhcGluZyB5b3Vyc2VsZiksCi0gICAgLy8gdGhlbiB5
b3UgbmVlZCB0byBkZWNpZGUgd2hldGhlciBvciBub3QgeW91IG5lZWQgdG8gYWRkIHN5bnRoZXRp
Y0JvbGRPZmZzZXQoKSB0byB0aGUgcmVzdWx0IG9mIHlvdXIgd2lkdGhGb3JHbHlwaCgpIGNhbGwu
Ci0gICAgZmxvYXQgd2lkdGhGb3JHbHlwaChHbHlwaCkgY29uc3Q7CisgICAgLy8gU2hvdWxkIHRo
ZSByZXN1bHQgb2YgdGhpcyBmdW5jdGlvbiBpbmNsdWRlIHRoZSByZXN1bHRzIG9mIHN5bnRoZXRp
YyBib2xkPworICAgIGVudW0gY2xhc3MgU3ludGhldGljQm9sZEluY2x1c2lvbiB7CisgICAgICAg
IEluY29ycG9yYXRlLAorICAgICAgICBFeGNsdWRlCisgICAgfTsKKyAgICBmbG9hdCB3aWR0aEZv
ckdseXBoKEdseXBoLCBTeW50aGV0aWNCb2xkSW5jbHVzaW9uID0gU3ludGhldGljQm9sZEluY2x1
c2lvbjo6SW5jb3Jwb3JhdGUpIGNvbnN0OwogCiAgICAgY29uc3QgUGF0aCYgcGF0aEZvckdseXBo
KEdseXBoKSBjb25zdDsgLy8gRG9uJ3Qgc3RvcmUgdGhlIHJlc3VsdCBvZiB0aGlzISBUaGUgaGFz
aCBtYXAgaXMgZnJlZSB0byByZWhhc2ggYXQgYW55IHBvaW50LCBsZWF2aW5nIHRoaXMgcmVmZXJl
bmNlIGRhbmdsaW5nLgotICAgIEZsb2F0UmVjdCBwbGF0Zm9ybUJvdW5kc0ZvckdseXBoKEdseXBo
KSBjb25zdDsKLSAgICBmbG9hdCBwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGgpIGNvbnN0Owot
ICAgIFBhdGggcGxhdGZvcm1QYXRoRm9yR2x5cGgoR2x5cGgpIGNvbnN0OwogCi0gICAgLy8gSWYg
eW91J3JlIGNhbGxpbmcgdGhpcywgeW91IG5lZWQgdG8gY2FyZSBhYm91dCBzeW50aGV0aWMgYm9s
ZC4KLSAgICAvLyBTZWUgdGhlIGNvbW1lbnQganVzdCBhYm92ZSB3aWR0aEZvckdseXBoKCkuCi0g
ICAgZmxvYXQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BhY2VXaWR0aDsgfQorICAg
IGZsb2F0IHNwYWNlV2lkdGgoU3ludGhldGljQm9sZEluY2x1c2lvbiBTeW50aGV0aWNCb2xkSW5j
bHVzaW9uID0gU3ludGhldGljQm9sZEluY2x1c2lvbjo6SW5jb3Jwb3JhdGUpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gbV9zcGFjZVdpZHRoICsgKFN5bnRoZXRpY0JvbGRJbmNsdXNpb24g
PT0gU3ludGhldGljQm9sZEluY2x1c2lvbjo6SW5jb3Jwb3JhdGUgPyBzeW50aGV0aWNCb2xkT2Zm
c2V0KCkgOiAwKTsKKyAgICB9CiAKICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgY29u
c3QgeyByZXR1cm4gbV9zeW50aGV0aWNCb2xkT2Zmc2V0OyB9CiAKQEAgLTIzNiw2ICsyMzMsMTAg
QEAgcHJpdmF0ZToKICAgICBmbG9hdCB3aWR0aEZvckdESUdseXBoKEdseXBoKSBjb25zdDsKICNl
bmRpZgogCisgICAgRmxvYXRSZWN0IHBsYXRmb3JtQm91bmRzRm9yR2x5cGgoR2x5cGgpIGNvbnN0
OworICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCkgY29uc3Q7CisgICAgUGF0
aCBwbGF0Zm9ybVBhdGhGb3JHbHlwaChHbHlwaCkgY29uc3Q7CisKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICBjbGFzcyBDb21wbGV4Q29sb3JGb3JtYXRHbHlwaHMgewogICAgIHB1YmxpYzoKQEAg
LTMyNCw3ICszMjUsNiBAQCBwcml2YXRlOgogICAgIFZpc2liaWxpdHkgbV92aXNpYmlsaXR5OyAv
LyBAZm9udC1mYWNlJ3MgaW50ZXJuYWwgdGltZXIgY2FuIGNhdXNlIHVzIHRvIHNob3cgZm9udHMg
ZXZlbiB3aGVuIGEgZm9udCBpcyBiZWluZyBkb3dubG9hZGVkLgogCiAgICAgZmxvYXQgbV9zcGFj
ZVdpZHRoIHsgMCB9OwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoIHsgMCB9OwogCiAg
ICAgZmxvYXQgbV9zeW50aGV0aWNCb2xkT2Zmc2V0IHsgMCB9OwogCkBAIC0zNjksNyArMzY5LDcg
QEAgQUxXQVlTX0lOTElORSBGbG9hdFJlY3QgRm9udDo6Ym91bmRzRm9yR2x5cGgoR2x5cGggZ2x5
cGgpIGNvbnN0CiAgICAgcmV0dXJuIGJvdW5kczsKIH0KIAotQUxXQVlTX0lOTElORSBmbG9hdCBG
b250Ojp3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAorQUxXQVlTX0lOTElORSBmbG9h
dCBGb250Ojp3aWR0aEZvckdseXBoKEdseXBoIGdseXBoLCBTeW50aGV0aWNCb2xkSW5jbHVzaW9u
IFN5bnRoZXRpY0JvbGRJbmNsdXNpb24pIGNvbnN0CiB7CiAgICAgLy8gVGhlIG9wdGltaXphdGlv
biBvZiByZXR1cm5pbmcgMCBmb3IgdGhlIHplcm8td2lkdGgtc3BhY2UgZ2x5cGggaXMgaW5jb3Jy
ZWN0IGZvciB0aGUgTGFzdFJlc29ydCBmb250LAogICAgIC8vIHVzZWQgaW4gcGxhY2Ugb2YgdGhl
IGFjdHVhbCBmb250IHdoZW4gaXNMb2FkaW5nKCkgaXMgdHJ1ZSBvbiBib3RoIG1hY09TIGFuZCBp
T1MuCkBAIC0zODAsNyArMzgwLDcgQEAgQUxXQVlTX0lOTElORSBmbG9hdCBGb250Ojp3aWR0aEZv
ckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogCiAgICAgZmxvYXQgd2lkdGggPSBtX2dseXBoVG9X
aWR0aE1hcC5tZXRyaWNzRm9yR2x5cGgoZ2x5cGgpOwogICAgIGlmICh3aWR0aCAhPSBjR2x5cGhT
aXplVW5rbm93bikKLSAgICAgICAgcmV0dXJuIHdpZHRoOworICAgICAgICByZXR1cm4gd2lkdGgg
KyAoU3ludGhldGljQm9sZEluY2x1c2lvbiA9PSBTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpJbmNv
cnBvcmF0ZSA/IHN5bnRoZXRpY0JvbGRPZmZzZXQoKSA6IDApOwogCiAjaWYgRU5BQkxFKE9QRU5U
WVBFX1ZFUlRJQ0FMKQogICAgIGlmIChtX3ZlcnRpY2FsRGF0YSkKQEAgLTM5MCw3ICszOTAsNyBA
QCBBTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNv
bnN0CiAgICAgICAgIHdpZHRoID0gcGxhdGZvcm1XaWR0aEZvckdseXBoKGdseXBoKTsKIAogICAg
IG1fZ2x5cGhUb1dpZHRoTWFwLnNldE1ldHJpY3NGb3JHbHlwaChnbHlwaCwgd2lkdGgpOwotICAg
IHJldHVybiB3aWR0aDsKKyAgICByZXR1cm4gd2lkdGggKyAoU3ludGhldGljQm9sZEluY2x1c2lv
biA9PSBTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpJbmNvcnBvcmF0ZSA/IHN5bnRoZXRpY0JvbGRP
ZmZzZXQoKSA6IDApOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKaW5kZXggM2M4ZTI0OTc3
NTk5M2E5ZmY5NjllMmQwODZhODBmMGRmMWI0ZDNmMS4uODUxODBhZDEwOWZkODE4ZTliYjE1ODhj
ZTk2MmFiNDYzMDgxNmEwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcApAQCAtMzE2LDYgKzMxNiw3IEBAIGZsb2F0IEZvbnRDYXNjYWRl
Ojp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHRE
aXJlY3RpCiAgICAgYXV0byYgZm9udCA9IHByaW1hcnlGb250KCk7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHRleHQubGVuZ3RoKCk7ICsraSkgewogICAgICAgICBhdXRvIGdseXBoID0g
Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKHRleHRbaV0sIGZhbHNlKS5nbHlwaDsKKyAgICAgICAgQVNT
RVJUKCFmb250LnN5bnRoZXRpY0JvbGRPZmZzZXQoKSk7IC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxk
IG9ubHkgYmUgY2FsbGVkIHdoZW4gUmVuZGVyVGV4dDo6Y29tcHV0ZUNhblVzZVNpbXBsaWZpZWRU
ZXh0TWVhc3VyaW5nKCkgcmV0dXJucyB0cnVlLCBhbmQgdGhhdCBmdW5jdGlvbiByZXF1aXJlcyBu
byBzeW50aGV0aWMgYm9sZC4KICAgICAgICAgYXV0byBnbHlwaFdpZHRoID0gZm9udC53aWR0aEZv
ckdseXBoKGdseXBoKTsKICAgICAgICAgYmVmb3JlV2lkdGggKz0gZ2x5cGhXaWR0aDsKICAgICAg
ICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCBmb250LCBnbHlwaFdpZHRoLCBpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDI0Y2ZiNzEz
NzQzMWE3N2VjYjAxZmVkYWE0NDczYzY5Nzg0NDc2YzMuLjA5ZjQxZDYwMWQ2MGNiMTBmYjk5NjU0
MDE0OWExYmM2NTJmY2U4MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuaApAQCAtMTY4LDggKzE2OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
UGxhdGZvcm1Gb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250cy0+aXNGb3JQbGF0Zm9ybUZvbnQo
KTsgfQogCiAgICAgY29uc3QgRm9udE1ldHJpY3MmIG1ldHJpY3NPZlByaW1hcnlGb250KCkgY29u
c3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS5mb250TWV0cmljcygpOyB9Ci0gICAgZmxvYXQgdGFi
V2lkdGgoY29uc3QgRm9udCYsIGNvbnN0IFRhYlNpemUmLCBmbG9hdCkgY29uc3Q7Ci0gICAgZmxv
YXQgdGFiV2lkdGgoY29uc3QgVGFiU2l6ZSYgdGFiU2l6ZSwgZmxvYXQgcG9zaXRpb24pIGNvbnN0
IHsgcmV0dXJuIHRhYldpZHRoKHByaW1hcnlGb250KCksIHRhYlNpemUsIHBvc2l0aW9uKTsgfQor
ICAgIGZsb2F0IHRhYldpZHRoKGNvbnN0IEZvbnQmLCBjb25zdCBUYWJTaXplJiwgZmxvYXQsIEZv
bnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNpb24pIGNvbnN0OwogICAgIGJvb2wgaGFzVmFsaWRBdmVy
YWdlQ2hhcldpZHRoKCkgY29uc3Q7CiAgICAgYm9vbCBmYXN0QXZlcmFnZUNoYXJXaWR0aElmQXZh
aWxhYmxlKGZsb2F0ICZ3aWR0aCkgY29uc3Q7IC8vIHJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzCiAK
QEAgLTM3MywxMyArMzcyLDIwIEBAIGlubGluZSBGb250U2VsZWN0b3IqIEZvbnRDYXNjYWRlOjpm
b250U2VsZWN0b3IoKSBjb25zdAogICAgIHJldHVybiBtX2ZvbnRzID8gbV9mb250cy0+Zm9udFNl
bGVjdG9yKCkgOiBudWxscHRyOwogfQogCi1pbmxpbmUgZmxvYXQgRm9udENhc2NhZGU6OnRhYldp
ZHRoKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRhYlNpemUmIHRhYlNpemUsIGZsb2F0IHBvc2l0
aW9uKSBjb25zdAoraW5saW5lIGZsb2F0IEZvbnRDYXNjYWRlOjp0YWJXaWR0aChjb25zdCBGb250
JiBmb250LCBjb25zdCBUYWJTaXplJiB0YWJTaXplLCBmbG9hdCBwb3NpdGlvbiwgRm9udDo6U3lu
dGhldGljQm9sZEluY2x1c2lvbiBzeW50aGV0aWNCb2xkSW5jbHVzaW9uKSBjb25zdAogewogICAg
IGZsb2F0IGJhc2VUYWJXaWR0aCA9IHRhYlNpemUud2lkdGhJblBpeGVscyhmb250LnNwYWNlV2lk
dGgoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0gMDsKICAgICBpZiAoIWJhc2VUYWJXaWR0aCkKLSAg
ICAgICAgcmV0dXJuIGxldHRlclNwYWNpbmcoKTsKLSAgICBmbG9hdCB0YWJEZWx0YVdpZHRoID0g
YmFzZVRhYldpZHRoIC0gZm1vZGYocG9zaXRpb24sIGJhc2VUYWJXaWR0aCk7Ci0gICAgcmV0dXJu
ICh0YWJEZWx0YVdpZHRoIDwgZm9udC5zcGFjZVdpZHRoKCkgLyAyKSA/IGJhc2VUYWJXaWR0aCA6
IHRhYkRlbHRhV2lkdGg7CisgICAgICAgIHJlc3VsdCA9IGxldHRlclNwYWNpbmcoKTsKKyAgICBl
bHNlIHsKKyAgICAgICAgZmxvYXQgdGFiRGVsdGFXaWR0aCA9IGJhc2VUYWJXaWR0aCAtIGZtb2Rm
KHBvc2l0aW9uLCBiYXNlVGFiV2lkdGgpOworICAgICAgICByZXN1bHQgPSAodGFiRGVsdGFXaWR0
aCA8IGZvbnQuc3BhY2VXaWR0aCgpIC8gMikgPyBiYXNlVGFiV2lkdGggOiB0YWJEZWx0YVdpZHRo
OworICAgIH0KKyAgICAvLyBJZiBvdXIgY2FsbGVyIHBhc3NlcyBpbiBTeW50aGV0aWNCb2xkSW5j
bHVzaW9uOjpFeGNsdWRlLCB0aGF0IG1lYW5zIHRoZXkncmUgZ29pbmcgdG8gYXBwbHkgc3ludGhl
dGljIGJvbGQgdGhlbXNlbHZlcyBsYXRlci4KKyAgICAvLyBIb3dldmVyLCByZWdhcmRsZXNzIG9m
IHRoYXQsIHRoZSBzcGFjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIGZlZCBpbnRvIHRoZSB3aWR0aCBj
YWxjdWxhdGlvbiBuZWVkIHRvIGhhdmUgdGhlaXIgY29ycmVjdCB3aWR0aCwgaW5jbHVkaW5nIHRo
ZSBzeW50aGV0aWMgYm9sZC4KKyAgICAvLyBTbywgd2UndmUgYWxyZWFkeSBnb3Qgc3ludGhldGlj
IGJvbGQgYXBwbGllZCwgc28gaWYgd2UncmUgc3VwcG9zZWQgdG8gZXhjbHVkZSBpdCwgd2UgbmVl
ZCB0byBzdWJ0cmFjdCBpdCBvdXQgaGVyZS4KKyAgICByZXR1cm4gcmVzdWx0IC0gKHN5bnRoZXRp
Y0JvbGRJbmNsdXNpb24gPT0gRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSA/
IGZvbnQuc3ludGhldGljQm9sZE9mZnNldCgpIDogMCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggZjhjZTY3
NWFjYmI1ODU0OWRlODQ5ODA2YmU1NDdkYmNlODVjNDY5OC4uZTg2MGJiMTI4YzJmMTYwYjEyMjMw
YjRiYTRmYmQwNjAxMTNmZWUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKQEAgLTMwNiw3ICszMDYsNyBAQCBpbmxpbmUgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0
b3IsIEdseXBoQnVmZgogICAgICAgICBjb25zdCBGb250JiBmb250ID0gZ2x5cGhEYXRhLmZvbnQg
PyAqZ2x5cGhEYXRhLmZvbnQgOiBwcmltYXJ5Rm9udDsKIAogICAgICAgICBwcmV2aW91c1dpZHRo
ID0gd2lkdGg7Ci0gICAgICAgIHdpZHRoID0gZm9udC53aWR0aEZvckdseXBoKGdseXBoKTsKKyAg
ICAgICAgd2lkdGggPSBmb250LndpZHRoRm9yR2x5cGgoZ2x5cGgsIEZvbnQ6OlN5bnRoZXRpY0Jv
bGRJbmNsdXNpb246OkV4Y2x1ZGUpOyAvLyBXZSBhcHBseSBzeW50aGV0aWMgYm9sZCBhZnRlciBz
aGFwaW5nLCBpbiBhcHBseUNTU1Zpc2liaWxpdHlSdWxlcygpLgogCiAgICAgICAgIGlmICgmZm9u
dCAhPSBsYXN0Rm9udERhdGEpCiAgICAgICAgICAgICBjb21taXRDdXJyZW50Rm9udFJhbmdlKGds
eXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCBsYXN0Rm9u
dERhdGEsIGZvbnQsIHByaW1hcnlGb250LCBjaGFyYWN0ZXIsIHdpZHRoT2ZDdXJyZW50Rm9udFJh
bmdlLCB3aWR0aCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKQEAgLTMxNCw3ICszMTQsNyBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgd2lkdGhPZkN1cnJlbnRGb250
UmFuZ2UgKz0gd2lkdGg7CiAKICAgICAgICAgaWYgKEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2Uo
Y2hhcmFjdGVyKSkKLSAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1
Y3RBbmRBcHBlbmQoY3VycmVudENoYXJhY3RlckluZGV4LCBjaGFyYWN0ZXIgPT0gc3BhY2UsIHBy
ZXZpb3VzV2lkdGgsIGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIgPyB3aWR0aCA6IGZvbnQuc3Bh
Y2VXaWR0aCgpKTsKKyAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1
Y3RBbmRBcHBlbmQoY3VycmVudENoYXJhY3RlckluZGV4LCBjaGFyYWN0ZXIgPT0gc3BhY2UsIHBy
ZXZpb3VzV2lkdGgsIGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIgPyB3aWR0aCA6IGZvbnQuc3Bh
Y2VXaWR0aChGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNsdWRlKSk7CiAKICAgICAg
ICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAgICBib3VuZHMgPSBm
b250LmJvdW5kc0ZvckdseXBoKGdseXBoKTsKQEAgLTM1NCw3ICszNTQsOCBAQCBhdXRvIFdpZHRo
SXRlcmF0b3I6OmNhbGN1bGF0ZUFkZGl0aW9uYWxXaWR0aChHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZm
ZXIsIEdseXBoQnVmZgogCiAgICAgaWYgKGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXIgJiYgbV9y
dW4uYWxsb3dUYWJzKCkpIHsKICAgICAgICAgYXV0byYgZm9udCA9IGdseXBoQnVmZmVyLmZvbnRB
dCh0cmFpbGluZ0dseXBoSW5kZXgpOwotICAgICAgICBhdXRvIG5ld1dpZHRoID0gbV9mb250LnRh
YldpZHRoKGZvbnQsIG1fcnVuLnRhYlNpemUoKSwgcG9zaXRpb24pOworICAgICAgICAvLyBTeW50
aGV0aWMgYm9sZCB3aWxsIGJlIGhhbmRsZWQgaW4gYXBwbHlDU1NWaXNpYmlsaXR5UnVsZXMoKSBs
YXRlci4KKyAgICAgICAgYXV0byBuZXdXaWR0aCA9IG1fZm9udC50YWJXaWR0aChmb250LCBtX3J1
bi50YWJTaXplKCksIHBvc2l0aW9uLCBGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNs
dWRlKTsKICAgICAgICAgYXV0byBjdXJyZW50V2lkdGggPSB3aWR0aChnbHlwaEJ1ZmZlci5hZHZh
bmNlQXQodHJhaWxpbmdHbHlwaEluZGV4KSk7CiAgICAgICAgIHJpZ2h0QWRkaXRpb25hbFdpZHRo
ICs9IG5ld1dpZHRoIC0gY3VycmVudFdpZHRoOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYTFlM2Q4YWRhZmY5
ZThhMTYxMDcxNWYxNWUxYTcxYjAyM2I0YjE2Li43MmI4ZjMxYWJiOWQ4YmZhMzUwYTk0NjZiMmE3
OGQ4Y2Q1ZDY2ZmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDItMDkgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBUYWIgY2hhcmFjdGVy
cyBhbmQgY2ggdW5pdHMgZG8gbm90IG9iZXkgc3ludGhldGljIGJvbGQgd2lkdGggYWRqdXN0bWVu
dHMgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzYxNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxl
eC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGFiLXdpZHRoLXN5
bnRoZXRpYy1ib2xkLWNvbXBsZXguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3Rh
Yi13aWR0aC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAy
LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5jIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3NzAxNWQ1MTI2ZmNmOThiZDk4ZWMzZGRkODRjYTAwM2Q4NjEy
YTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvY2gtdW5pdC1zeW50
aGV0aWMtYm9sZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCB0aGUgPGNvZGU+Y2g8L2NvZGU+IHVuaXQsIHdoaWNoIGlzIHN1cHBvc2VkIHRvIGJlIGFz
IHdpZGUgYXMgdGhlIDxjb2RlPjA8L2NvZGU+IGNoYXJhY3RlciwgaXMgaW4gZmFjdCB0aGF0IHdp
ZGUsIGV2ZW4gaWYgdGhlIGZvbnQgaXMgdXNpbmcgc3ludGhldGljIGJvbGQuIFRoZSB0ZXN0IHBh
c3NlcyBpZiB0aGUgd2lkdGggb2YgdGhlIGdyZWVuIGJveCBtYXRjaGVzIGluIGJvdGggY2FzZXMu
Cis8ZGl2PgorPGRpdiBzdHlsZT0iZm9udDogYm9sZCAxNnB4ICdNb25hY28nOyBkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IGdyZWVuOyBjb2xvcjogdHJhbnNwYXJlbnQ7Ij4wMDAw
MDAwMDAwPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNzE1
Y2FhMTBmMGIzOGI2YmFlZjQ1MWRiOWZlYWVlMjE0ZTJlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC5odG1sCkBAIC0wLDAg
KzEsOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+
CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSA8Y29kZT5jaDwvY29kZT4gdW5pdCwgd2hp
Y2ggaXMgc3VwcG9zZWQgdG8gYmUgYXMgd2lkZSBhcyB0aGUgPGNvZGU+MDwvY29kZT4gY2hhcmFj
dGVyLCBpcyBpbiBmYWN0IHRoYXQgd2lkZSwgZXZlbiBpZiB0aGUgZm9udCBpcyB1c2luZyBzeW50
aGV0aWMgYm9sZC4gVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94
IG1hdGNoZXMgaW4gYm90aCBjYXNlcy4KKzxkaXYgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9u
YWNvJzsgYmFja2dyb3VuZDogZ3JlZW47IHdpZHRoOiAxMGNoOyBjb2xvcjogdHJhbnNwYXJlbnQ7
Ij5hPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNvbXBsZXgtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViYzUzMTgyZjM5MzIyN2EzZTFhNGQzODljOGJlMTZmZDVl
MjA5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRo
LXN5bnRoZXRpYy1ib2xkLWNvbXBsZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDExIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQsIHdoZW4gdGhlIHdpZHRoIG9mIGEgdGFiIGlzIHNldCB0byBiZSBh
IG11bHRpcGxlIG9mIHRoZSBzcGFjZSB3aWR0aCwgdGhhdCB0aGUgc3BhY2Ugd2lkdGggaW5jbHVk
ZXMgdGhlIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4gVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3
aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNoZXMgaW4gYm90aCBjYXNlcy4KKzxkaXY+Cis8cHJl
IHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFjbyc7IGRpc3BsYXk6IGlubGluZS1ibG9jazsg
YmFja2dyb3VuZDogZ3JlZW47IHRhYi1zaXplOiAxNjsiPiAgICAgICAgICAgICAgICA8L3ByZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21wbGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNvbXBsZXguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kZjI0NjFmYzQ4YTAwNTAzOTlkMzAzZGY3ODc3NmQ5MTVkYTlhNzE0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21w
bGV4Lmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0LCB3aGVuIHRoZSB3
aWR0aCBvZiBhIHRhYiBpcyBzZXQgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgc3BhY2Ugd2lkdGgs
IHRoYXQgdGhlIHNwYWNlIHdpZHRoIGluY2x1ZGVzIHRoZSBzeW50aGV0aWMgYm9sZCBleHBhbnNp
b24uIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgd2lkdGggb2YgdGhlIGdyZWVuIGJveCBtYXRjaGVz
IGluIGJvdGggY2FzZXMuCis8ZGl2PgorPHByZSBzdHlsZT0iZm9udDogYm9sZCAxNnB4ICdNb25h
Y28nOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdBQkNEJzsgZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBiYWNrZ3JvdW5kOiBncmVlbjsgdGFiLXNpemU6IDE2OyI+JiN4OTs8L3ByZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13
aWR0aC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViYzUz
MTgyZjM5MzIyN2EzZTFhNGQzODljOGJlMTZmZDVlMjA5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9o
ZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0LCB3aGVuIHRoZSB3aWR0aCBv
ZiBhIHRhYiBpcyBzZXQgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgc3BhY2Ugd2lkdGgsIHRoYXQg
dGhlIHNwYWNlIHdpZHRoIGluY2x1ZGVzIHRoZSBzeW50aGV0aWMgYm9sZCBleHBhbnNpb24uIFRo
ZSB0ZXN0IHBhc3NlcyBpZiB0aGUgd2lkdGggb2YgdGhlIGdyZWVuIGJveCBtYXRjaGVzIGluIGJv
dGggY2FzZXMuCis8ZGl2PgorPHByZSBzdHlsZT0iZm9udDogYm9sZCAxNnB4ICdNb25hY28nOyBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IGdyZWVuOyB0YWItc2l6ZTogMTY7Ij4g
ICAgICAgICAgICAgICAgPC9wcmU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZmIxMDQ0ZmI0ZjhjOGMzNjhkYmE5MDI3YmVjMzI2NmQ1ZGViYjVjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9s
ZC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCwgd2hlbiB0aGUgd2lk
dGggb2YgYSB0YWIgaXMgc2V0IHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNwYWNlIHdpZHRoLCB0
aGF0IHRoZSBzcGFjZSB3aWR0aCBpbmNsdWRlcyB0aGUgc3ludGhldGljIGJvbGQgZXhwYW5zaW9u
LiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIHdpZHRoIG9mIHRoZSBncmVlbiBib3ggbWF0Y2hlcyBp
biBib3RoIGNhc2VzLgorPGRpdj4KKzxwcmUgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9uYWNv
JzsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiBncmVlbjsgdGFiLXNpemU6IDE2
OyI+JiN4OTs8L3ByZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451622</attachid>
            <date>2022-02-10 17:06:04 -0800</date>
            <delta_ts>2022-02-10 20:18:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236172-20220210170603.patch</filename>
            <type>text/plain</type>
            <size>29326</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTE5OTliNTNlNDFkMDIy
ODA5MGJlMGIxMTg1NmZiNGMxOTZkOWZhNy4uYzRmZDlkYmQ5ZWJhYWE2YmJiOTBmOTllNDFiYTBk
ZjYwM2IxODUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAyLTEwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGFiIGNoYXJh
Y3RlcnMgYW5kIGNoIHVuaXRzIGRvIG5vdCBvYmV5IHN5bnRoZXRpYyBib2xkIHdpZHRoIGFkanVz
dG1lbnRzIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgdHVybnMgb3V0IHdlIGhhdmUgYSBsb3Qgb2YgcGxhY2VzIHdoZXJlIGNvZGUg
d2FudHMgdG8ga25vdyB0aGUgc3ludGhldGljLWJvbGQtZXhwYW5kZWQKKyAgICAgICAgd2lkdGgg
b2YgY2hhcmFjdGVycy4gT25lIHBsYWNlIGlzICd0YWItd2lkdGg6IDxpbnRlZ2VyPicgYW5kIGFu
b3RoZXIgaXMgdGhlICdjaCcgdW5pdC4KKyAgICAgICAgSG93ZXZlciwgV2lkdGhJdGVyYXRvciBh
bmQgQ29tcGxleFRleHRDb250cm9sbGVyIGRvbid0IHdhbnQgdGhlIHN5bnRoZXRpYy1ib2xkLWV4
cGFuZGVkCisgICAgICAgIHdpZHRocywgYmVjYXVzZSB0aGV5IGV4cGxpY2l0bHkgYXBwbHkgc3lu
dGhldGljIGJvbGQgYWZ0ZXIgc2hhcGluZy4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSAy
LXZhbHVlIGVudW0gYXJndW1lbnQgdG8gdGhlIEZvbnQ6OndpZHRoRm9yR2x5cGgoKSBmdW5jdGlv
biwgc28gY2FsbGVycworICAgICAgICBjYW4gcGFzcyBpbiB3aGljaCBiZWhhdmlvciB0aGV5IHdh
bnQuIFRoZSBmdW5jdGlvbiBoYXMgYSBkZWZhdWx0IHZhbHVlIHRvIGluY2x1ZGUgdGhlCisgICAg
ICAgIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4KKworICAgICAgICBJIHRoZW4gYXVkaXRlZCBl
dmVyeSBjYWxsIHNpdGUgb2YgdGhpcyBmdW5jdGlvbiwgYW5kIHBhc3NlZCBpbiB0aGUgY29ycmVj
dCBlbnVtIHZhbHVlLgorICAgICAgICBEb2luZyB0aGlzIGxlZCBtZSB0byBkaXNjb3ZlciB0d28g
YnVncyB3aGVyZSB0aGUgd3JvbmcgYmVoYXZpb3Igd2FzIGJlaW5nIHVzZWQsIGFuZCB0aGlzCisg
ICAgICAgIHBhdGNoIGZpeGVzIHRoZW0gYW5kIGFkZHMgdGVzdHMgZm9yIHRoZW0uCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpmYWxsYmFja0ZvbnRzRm9yUnVuV2l0aEl0
ZXJhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RH
bHlwaHNBbmRBZHZhbmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OkNvbXBsZXhUZXh0UnVuOjpDb21wbGV4VGV4dFJ1bik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUdseXBo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udDo6c3BhY2VXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3
aWR0aEZvckdseXBoIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OnRhYldpZHRoIGNvbnN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0
aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGggY29uc3QpOgorCiAyMDIyLTAyLTEw
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFk
anVzdCBiaWRpIChhbmQgbW9zdGx5IFJUTCkgY29vcmRzIHRvIHN1cHBvcnQgdmVydGljYWwgd3Jp
dGluZyBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCmluZGV4IDFkZGJmZmUw
N2FiOTY0MmRhNjAxMWQ1NWRjY2ViMTJhZWYzMDgxOTMuLjA1ZjNiNDY0OWQ2M2JjYTMyNjcxYjdh
OTFjNTQzYjQ0OWY1MzAyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwCkBA
IC0xMjEsNyArMTIxLDggQEAgc3RhdGljIHZvaWQgZmFsbGJhY2tGb250c0ZvclJ1bldpdGhJdGVy
YXRvcihIYXNoU2V0PGNvbnN0IEZvbnQqPiYgZmFsbGJhY2tGb250cywKICAgICAgICAgICAgIGF1
dG8gZ2x5cGhEYXRhID0gZm9udENhc2NhZGUuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3Rl
ciwgaXNSVEwpOwogICAgICAgICAgICAgaWYgKGdseXBoRGF0YS5nbHlwaCAmJiBnbHlwaERhdGEu
Zm9udCAmJiBnbHlwaERhdGEuZm9udCAhPSAmcHJpbWFyeUZvbnQpIHsKICAgICAgICAgICAgICAg
ICBhdXRvIGlzTm9uU3BhY2luZ01hcmsgPSBVX01BU0sodV9jaGFyVHlwZShjaGFyYWN0ZXIpKSAm
IFVfR0NfTU5fTUFTSzsKLSAgICAgICAgICAgICAgICBpZiAoaXNOb25TcGFjaW5nTWFyayB8fCBn
bHlwaERhdGEuZm9udC0+d2lkdGhGb3JHbHlwaChnbHlwaERhdGEuZ2x5cGgpKQorICAgICAgICAg
ICAgICAgIC8vIElmIHdlIGluY2x1ZGUgdGhlIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbiwgdGhl
biBldmVuIHplcm8td2lkdGggZ2x5cGhzIHdpbGwgaGF2ZSB0aGVpciBmb250cyBhZGRlZC4KKyAg
ICAgICAgICAgICAgICBpZiAoaXNOb25TcGFjaW5nTWFyayB8fCBnbHlwaERhdGEuZm9udC0+d2lk
dGhGb3JHbHlwaChnbHlwaERhdGEuZ2x5cGgsIEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNpb246
OkV4Y2x1ZGUpKQogICAgICAgICAgICAgICAgICAgICBmYWxsYmFja0ZvbnRzLmFkZChnbHlwaERh
dGEuZm9udCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcApp
bmRleCBkM2M3NTZmYTgzZGYwNjhjMGRlNzVmNDBiYmU2ODI2Nzc3MzY0N2U3Li4xNDBlNjhlNmRk
MTgzNzE1NTI1YTlmZDk5MjQ4M2IzMTg1YWIwNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKQEAg
LTY5Myw3ICs2OTMsOCBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhz
QW5kQWR2YW5jZXMoKQogICAgICAgICBjb25zdCBDR0dseXBoKiBnbHlwaHMgPSBjb21wbGV4VGV4
dFJ1bi5nbHlwaHMoKTsKICAgICAgICAgY29uc3QgRmxvYXRTaXplKiBhZHZhbmNlcyA9IGNvbXBs
ZXhUZXh0UnVuLmJhc2VBZHZhbmNlcygpOwogCi0gICAgICAgIGZsb2F0IHNwYWNlV2lkdGggPSBm
b250LnNwYWNlV2lkdGgoKTsKKyAgICAgICAgLy8gTG93ZXIgaW4gdGhpcyBmdW5jdGlvbiwgc3lu
dGhldGljIGJvbGQgaXMgYmxhbmtldC1hcHBsaWVkIHRvIGV2ZXJ5dGhpbmcsIHNvIG5vIG5lZWQg
dG8gZG91YmxlLWFwcGx5IGl0IGhlcmUuCisgICAgICAgIGZsb2F0IHNwYWNlV2lkdGggPSBmb250
LnNwYWNlV2lkdGgoRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSk7CiAgICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKICAgICAg
ICAgRmxvYXRQb2ludCBnbHlwaE9yaWdpbjsKICAgICAgICAgdW5zaWduZWQgbGFzdENoYXJhY3Rl
ckluZGV4ID0gbV9ydW4ubHRyKCkgPyBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWlu
KCkgOiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCk7CkBAIC03MTQsOCArNzE1
LDggQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2Vz
KCkKICAgICAgICAgICAgIENHR2x5cGggZ2x5cGggPSBnbHlwaHNbaV07CiAgICAgICAgICAgICBG
bG9hdFNpemUgYWR2YW5jZSA9IHRyZWF0QXNTcGFjZSA/IEZsb2F0U2l6ZShzcGFjZVdpZHRoLCBh
ZHZhbmNlc1tpXS5oZWlnaHQoKSkgOiBhZHZhbmNlc1tpXTsKIAotICAgICAgICAgICAgaWYgKGNo
ID09ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkpCi0gICAgICAgICAgICAgICAgYWR2YW5jZS5z
ZXRXaWR0aChtX2ZvbnQudGFiV2lkdGgoZm9udCwgbV9ydW4udGFiU2l6ZSgpLCBtX3J1bi54UG9z
KCkgKyBtX3RvdGFsQWR2YW5jZS53aWR0aCgpKSk7CisgICAgICAgICAgICBpZiAoY2ggPT0gdGFi
Q2hhcmFjdGVyICYmIG1fcnVuLmFsbG93VGFicygpKQorICAgICAgICAgICAgICAgIGFkdmFuY2Uu
c2V0V2lkdGgobV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVuLnRhYlNpemUoKSwgbV9ydW4ueFBv
cygpICsgbV90b3RhbEFkdmFuY2Uud2lkdGgoKSwgRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lv
bjo6RXhjbHVkZSkpOwogICAgICAgICAgICAgZWxzZSBpZiAoRm9udENhc2NhZGU6OnRyZWF0QXNa
ZXJvV2lkdGhTcGFjZShjaCkgJiYgIXRyZWF0QXNTcGFjZSkgewogICAgICAgICAgICAgICAgIGFk
dmFuY2Uuc2V0V2lkdGgoMCk7CiAgICAgICAgICAgICAgICAgZ2x5cGggPSBmb250LnNwYWNlR2x5
cGgoKTsKQEAgLTg0NCw3ICs4NDUsOCBAQCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhU
ZXh0UnVuOjpDb21wbGV4VGV4dFJ1bihjb25zdCBGb250JiBmb250LCBjb25zdCBVQwogCiAgICAg
Ly8gU3ludGhlc2l6ZSBhIHJ1biBvZiBtaXNzaW5nIGdseXBocy4KICAgICBtX2dseXBocy5maWxs
KDAsIG1fZ2x5cGhDb3VudCk7Ci0gICAgbV9iYXNlQWR2YW5jZXMuZmlsbChGbG9hdFNpemUobV9m
b250LndpZHRoRm9yR2x5cGgoMCksIDApLCBtX2dseXBoQ291bnQpOworICAgIC8vIFN5bnRoZXRp
YyBib2xkIHdpbGwgYmUgaGFuZGxlZCBsYXRlciBpbiBhZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygp
LgorICAgIG1fYmFzZUFkdmFuY2VzLmZpbGwoRmxvYXRTaXplKG1fZm9udC53aWR0aEZvckdseXBo
KDAsIEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpLCAwKSwgbV9nbHlwaENv
dW50KTsKIH0KIAogQ29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6Q29tcGxl
eFRleHRSdW4oY29uc3QgVmVjdG9yPEZsb2F0U2l6ZT4mIGFkdmFuY2VzLCBjb25zdCBWZWN0b3I8
RmxvYXRQb2ludD4mIG9yaWdpbnMsIGNvbnN0IFZlY3RvcjxHbHlwaD4mIGdseXBocywgY29uc3Qg
VmVjdG9yPHVuc2lnbmVkPiYgc3RyaW5nSW5kaWNlcywgRmxvYXRTaXplIGluaXRpYWxBZHZhbmNl
LCBjb25zdCBGb250JiBmb250LCBjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgc3Ry
aW5nTG9jYXRpb24sIHVuc2lnbmVkIHN0cmluZ0xlbmd0aCwgdW5zaWduZWQgaW5kZXhCZWdpbiwg
dW5zaWduZWQgaW5kZXhFbmQsIGJvb2wgbHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmNwcAppbmRleCBkYjk5ZDQwMTE4NTk4MTEyNzdkMDlmMGNkY2I0NDQ5NTY0OGY3
NDNiLi5jNDUwOGJkNzVhYjI4NWUyMDUyOTQxYjMzYjJhNDViNDVkMDVmYjgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcApAQCAtMTY1LDE1ICsxNjUsMTEgQEAg
dm9pZCBGb250OjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgfSBlbHNlCiAgICAgICAgIG1fZm9u
dE1ldHJpY3Muc2V0SWRlb2dyYW1XaWR0aChwbGF0Zm9ybURhdGEoKS5zaXplKCkpOwogCi0gICAg
bV9zcGFjZVdpZHRoID0gd2lkdGhGb3JHbHlwaChtX3NwYWNlR2x5cGgpOworICAgIG1fc3BhY2VX
aWR0aCA9IHdpZHRoRm9yR2x5cGgobV9zcGFjZUdseXBoLCBTeW50aGV0aWNCb2xkSW5jbHVzaW9u
OjpFeGNsdWRlKTsgLy8gc3BhY2VXaWR0aCgpIGhhbmRsZXMgYWRkaW5nIGluIHRoZSBzeW50aGV0
aWMgYm9sZC4KICAgICBhdXRvIGFtb3VudFRvQWRqdXN0TGluZUdhcCA9IHN0ZDo6bWluKG1fZm9u
dE1ldHJpY3MuZmxvYXRMaW5lR2FwKCksIDAuMGYpOwogICAgIG1fZm9udE1ldHJpY3Muc2V0TGlu
ZUdhcChtX2ZvbnRNZXRyaWNzLmZsb2F0TGluZUdhcCgpIC0gYW1vdW50VG9BZGp1c3RMaW5lR2Fw
KTsKICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKG1fZm9udE1ldHJpY3MuZmxvYXRM
aW5lU3BhY2luZygpIC0gYW1vdW50VG9BZGp1c3RMaW5lR2FwKTsKICAgICBkZXRlcm1pbmVQaXRj
aCgpOwotICAgIC8vIE5hc3R5IGhhY2sgdG8gZGV0ZXJtaW5lIGlmIHdlIHNob3VsZCByb3VuZCBv
ciBjZWlsIHNwYWNlIHdpZHRocy4KLSAgICAvLyBJZiB0aGUgZm9udCBpcyBtb25vc3BhY2Ugb3Ig
ZmFrZSBtb25vc3BhY2Ugd2UgY2VpbCB0byBlbnN1cmUgdGhhdAotICAgIC8vIGV2ZXJ5IGNoYXJh
Y3RlciBhbmQgdGhlIHNwYWNlIGFyZSB0aGUgc2FtZSB3aWR0aC4gT3RoZXJ3aXNlIHdlIHJvdW5k
LgotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gbV90cmVhdEFzRml4ZWRQaXRjaCA/IGNlaWxm
KG1fc3BhY2VXaWR0aCkgOiByb3VuZGYobV9zcGFjZVdpZHRoKTsKIH0KIAogRm9udDo6fkZvbnQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IDc5NTM5YTE1MWIw
NWIxODBiMzA5OTEzNWM0MTU3MDQ0OGIwNTA2ODkuLmI4OTNiMzgwMWJiMDUzMjBkNDVmMmEzOWYw
OGJmYzFkODQzODU2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgK
QEAgLTEzOCwyMiArMTM4LDE5IEBAIHB1YmxpYzoKIAogICAgIEZsb2F0UmVjdCBib3VuZHNGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKLSAgICAvLyBJZiB5b3UncmUgY2FsbGluZyB0aGlzLCB5b3Ug
bmVlZCB0byBjYXJlIGFib3V0IHN5bnRoZXRpYyBib2xkLgotICAgIC8vIFRoaXMgZnVuY3Rpb24g
cmV0dXJucyB0aGUgd2lkdGggYmVmb3JlIGFkZGluZyBpbiB0aGUgc3ludGhldGljIGJvbGQgb2Zm
c2V0LgotICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB0aGVzZSB3aWR0aHMgYXJlIGZlZCBhcyBhbiBp
bnB1dCB0byBzaGFwaW5nLCB3aGljaCBuZWVkcyB0byBjb25zdW1lIHRoZSB0cnVlIHdpZHRocy4K
LSAgICAvLyBUaGVuLCB0aGUgc3ludGhldGljIGJvbGQgb2Zmc2V0IGlzIGFwcGxpZWQgYWZ0ZXIg
c2hhcGluZy4KLSAgICAvLyBJZiB5b3UncmUgbm90IGdvaW5nIHRocm91Z2ggV2lkdGhJdGVyYXRv
ciBvciBDb21wbGV4VGV4dENvbnRyb2xsZXIgKGFuZCB0aHVzIHBvdGVudGlhbGx5IGV4ZWN1dGlu
ZyBzaGFwaW5nIHlvdXJzZWxmKSwKLSAgICAvLyB0aGVuIHlvdSBuZWVkIHRvIGRlY2lkZSB3aGV0
aGVyIG9yIG5vdCB5b3UgbmVlZCB0byBhZGQgc3ludGhldGljQm9sZE9mZnNldCgpIHRvIHRoZSBy
ZXN1bHQgb2YgeW91ciB3aWR0aEZvckdseXBoKCkgY2FsbC4KLSAgICBmbG9hdCB3aWR0aEZvckds
eXBoKEdseXBoKSBjb25zdDsKKyAgICAvLyBTaG91bGQgdGhlIHJlc3VsdCBvZiB0aGlzIGZ1bmN0
aW9uIGluY2x1ZGUgdGhlIHJlc3VsdHMgb2Ygc3ludGhldGljIGJvbGQ/CisgICAgZW51bSBjbGFz
cyBTeW50aGV0aWNCb2xkSW5jbHVzaW9uIHsKKyAgICAgICAgSW5jb3Jwb3JhdGUsCisgICAgICAg
IEV4Y2x1ZGUKKyAgICB9OworICAgIGZsb2F0IHdpZHRoRm9yR2x5cGgoR2x5cGgsIFN5bnRoZXRp
Y0JvbGRJbmNsdXNpb24gPSBTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpJbmNvcnBvcmF0ZSkgY29u
c3Q7CiAKICAgICBjb25zdCBQYXRoJiBwYXRoRm9yR2x5cGgoR2x5cGgpIGNvbnN0OyAvLyBEb24n
dCBzdG9yZSB0aGUgcmVzdWx0IG9mIHRoaXMhIFRoZSBoYXNoIG1hcCBpcyBmcmVlIHRvIHJlaGFz
aCBhdCBhbnkgcG9pbnQsIGxlYXZpbmcgdGhpcyByZWZlcmVuY2UgZGFuZ2xpbmcuCi0gICAgRmxv
YXRSZWN0IHBsYXRmb3JtQm91bmRzRm9yR2x5cGgoR2x5cGgpIGNvbnN0OwotICAgIGZsb2F0IHBs
YXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCkgY29uc3Q7Ci0gICAgUGF0aCBwbGF0Zm9ybVBhdGhG
b3JHbHlwaChHbHlwaCkgY29uc3Q7CiAKLSAgICAvLyBJZiB5b3UncmUgY2FsbGluZyB0aGlzLCB5
b3UgbmVlZCB0byBjYXJlIGFib3V0IHN5bnRoZXRpYyBib2xkLgotICAgIC8vIFNlZSB0aGUgY29t
bWVudCBqdXN0IGFib3ZlIHdpZHRoRm9yR2x5cGgoKS4KLSAgICBmbG9hdCBzcGFjZVdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV9zcGFjZVdpZHRoOyB9CisgICAgZmxvYXQgc3BhY2VXaWR0aChTeW50
aGV0aWNCb2xkSW5jbHVzaW9uIFN5bnRoZXRpY0JvbGRJbmNsdXNpb24gPSBTeW50aGV0aWNCb2xk
SW5jbHVzaW9uOjpJbmNvcnBvcmF0ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3Nw
YWNlV2lkdGggKyAoU3ludGhldGljQm9sZEluY2x1c2lvbiA9PSBTeW50aGV0aWNCb2xkSW5jbHVz
aW9uOjpJbmNvcnBvcmF0ZSA/IHN5bnRoZXRpY0JvbGRPZmZzZXQoKSA6IDApOworICAgIH0KIAog
ICAgIGZsb2F0IHN5bnRoZXRpY0JvbGRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3N5bnRoZXRp
Y0JvbGRPZmZzZXQ7IH0KIApAQCAtMjM2LDYgKzIzMywxMCBAQCBwcml2YXRlOgogICAgIGZsb2F0
IHdpZHRoRm9yR0RJR2x5cGgoR2x5cGgpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBGbG9hdFJlY3Qg
cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaChHbHlwaCkgY29uc3Q7CisgICAgZmxvYXQgcGxhdGZvcm1X
aWR0aEZvckdseXBoKEdseXBoKSBjb25zdDsKKyAgICBQYXRoIHBsYXRmb3JtUGF0aEZvckdseXBo
KEdseXBoKSBjb25zdDsKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGNsYXNzIENvbXBsZXhD
b2xvckZvcm1hdEdseXBocyB7CiAgICAgcHVibGljOgpAQCAtMzI0LDcgKzMyNSw2IEBAIHByaXZh
dGU6CiAgICAgVmlzaWJpbGl0eSBtX3Zpc2liaWxpdHk7IC8vIEBmb250LWZhY2UncyBpbnRlcm5h
bCB0aW1lciBjYW4gY2F1c2UgdXMgdG8gc2hvdyBmb250cyBldmVuIHdoZW4gYSBmb250IGlzIGJl
aW5nIGRvd25sb2FkZWQuCiAKICAgICBmbG9hdCBtX3NwYWNlV2lkdGggeyAwIH07Ci0gICAgZmxv
YXQgbV9hZGp1c3RlZFNwYWNlV2lkdGggeyAwIH07CiAKICAgICBmbG9hdCBtX3N5bnRoZXRpY0Jv
bGRPZmZzZXQgeyAwIH07CiAKQEAgLTM2OSw3ICszNjksNyBAQCBBTFdBWVNfSU5MSU5FIEZsb2F0
UmVjdCBGb250Ojpib3VuZHNGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICByZXR1cm4g
Ym91bmRzOwogfQogCi1BTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgoR2x5
cGggZ2x5cGgpIGNvbnN0CitBTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgo
R2x5cGggZ2x5cGgsIFN5bnRoZXRpY0JvbGRJbmNsdXNpb24gU3ludGhldGljQm9sZEluY2x1c2lv
bikgY29uc3QKIHsKICAgICAvLyBUaGUgb3B0aW1pemF0aW9uIG9mIHJldHVybmluZyAwIGZvciB0
aGUgemVyby13aWR0aC1zcGFjZSBnbHlwaCBpcyBpbmNvcnJlY3QgZm9yIHRoZSBMYXN0UmVzb3J0
IGZvbnQsCiAgICAgLy8gdXNlZCBpbiBwbGFjZSBvZiB0aGUgYWN0dWFsIGZvbnQgd2hlbiBpc0xv
YWRpbmcoKSBpcyB0cnVlIG9uIGJvdGggbWFjT1MgYW5kIGlPUy4KQEAgLTM4MCw3ICszODAsNyBA
QCBBTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNv
bnN0CiAKICAgICBmbG9hdCB3aWR0aCA9IG1fZ2x5cGhUb1dpZHRoTWFwLm1ldHJpY3NGb3JHbHlw
aChnbHlwaCk7CiAgICAgaWYgKHdpZHRoICE9IGNHbHlwaFNpemVVbmtub3duKQotICAgICAgICBy
ZXR1cm4gd2lkdGg7CisgICAgICAgIHJldHVybiB3aWR0aCArIChTeW50aGV0aWNCb2xkSW5jbHVz
aW9uID09IFN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkluY29ycG9yYXRlID8gc3ludGhldGljQm9s
ZE9mZnNldCgpIDogMCk7CiAKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwpCiAgICAgaWYg
KG1fdmVydGljYWxEYXRhKQpAQCAtMzkwLDcgKzM5MCw3IEBAIEFMV0FZU19JTkxJTkUgZmxvYXQg
Rm9udDo6d2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICAgICAgd2lkdGggPSBw
bGF0Zm9ybVdpZHRoRm9yR2x5cGgoZ2x5cGgpOwogCiAgICAgbV9nbHlwaFRvV2lkdGhNYXAuc2V0
TWV0cmljc0ZvckdseXBoKGdseXBoLCB3aWR0aCk7Ci0gICAgcmV0dXJuIHdpZHRoOworICAgIHJl
dHVybiB3aWR0aCArIChTeW50aGV0aWNCb2xkSW5jbHVzaW9uID09IFN5bnRoZXRpY0JvbGRJbmNs
dXNpb246OkluY29ycG9yYXRlID8gc3ludGhldGljQm9sZE9mZnNldCgpIDogMCk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcAppbmRleCAzYzhlMjQ5Nzc1OTkzYTlmZjk2OWUyZDA4NmE4MGYw
ZGYxYjRkM2YxLi44NTE4MGFkMTA5ZmQ4MThlOWJiMTU4OGNlOTYyYWI0NjMwODE2YTA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBA
IC0zMTYsNiArMzE2LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChT
dHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGkKICAgICBhdXRvJiBmb250
ID0gcHJpbWFyeUZvbnQoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGV4dC5sZW5n
dGgoKTsgKytpKSB7CiAgICAgICAgIGF1dG8gZ2x5cGggPSBnbHlwaERhdGFGb3JDaGFyYWN0ZXIo
dGV4dFtpXSwgZmFsc2UpLmdseXBoOworICAgICAgICBBU1NFUlQoIWZvbnQuc3ludGhldGljQm9s
ZE9mZnNldCgpKTsgLy8gVGhpcyBmdW5jdGlvbiBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiBS
ZW5kZXJUZXh0Ojpjb21wdXRlQ2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcoKSByZXR1cm5z
IHRydWUsIGFuZCB0aGF0IGZ1bmN0aW9uIHJlcXVpcmVzIG5vIHN5bnRoZXRpYyBib2xkLgogICAg
ICAgICBhdXRvIGdseXBoV2lkdGggPSBmb250LndpZHRoRm9yR2x5cGgoZ2x5cGgpOwogICAgICAg
ICBiZWZvcmVXaWR0aCArPSBnbHlwaFdpZHRoOwogICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZ2x5
cGgsIGZvbnQsIGdseXBoV2lkdGgsIGkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXggMjRjZmI3MTM3NDMxYTc3ZWNiMDFmZWRhYTQ0NzNj
Njk3ODQ0NzZjMy4uMDlmNDFkNjAxZDYwY2IxMGZiOTk2NTQwMTQ5YTFiYzY1MmZjZTgzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0x
NjgsOCArMTY4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNQbGF0Zm9ybUZvbnQoKSBjb25zdCB7
IHJldHVybiBtX2ZvbnRzLT5pc0ZvclBsYXRmb3JtRm9udCgpOyB9CiAKICAgICBjb25zdCBGb250
TWV0cmljcyYgbWV0cmljc09mUHJpbWFyeUZvbnQoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9u
dCgpLmZvbnRNZXRyaWNzKCk7IH0KLSAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBGb250JiwgY29u
c3QgVGFiU2l6ZSYsIGZsb2F0KSBjb25zdDsKLSAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBUYWJT
aXplJiB0YWJTaXplLCBmbG9hdCBwb3NpdGlvbikgY29uc3QgeyByZXR1cm4gdGFiV2lkdGgocHJp
bWFyeUZvbnQoKSwgdGFiU2l6ZSwgcG9zaXRpb24pOyB9CisgICAgZmxvYXQgdGFiV2lkdGgoY29u
c3QgRm9udCYsIGNvbnN0IFRhYlNpemUmLCBmbG9hdCwgRm9udDo6U3ludGhldGljQm9sZEluY2x1
c2lvbikgY29uc3Q7CiAgICAgYm9vbCBoYXNWYWxpZEF2ZXJhZ2VDaGFyV2lkdGgoKSBjb25zdDsK
ICAgICBib29sIGZhc3RBdmVyYWdlQ2hhcldpZHRoSWZBdmFpbGFibGUoZmxvYXQgJndpZHRoKSBj
b25zdDsgLy8gcmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MKIApAQCAtMzczLDEzICszNzIsMjAgQEAg
aW5saW5lIEZvbnRTZWxlY3RvciogRm9udENhc2NhZGU6OmZvbnRTZWxlY3RvcigpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fZm9udHMgPyBtX2ZvbnRzLT5mb250U2VsZWN0b3IoKSA6IG51bGxwdHI7CiB9
CiAKLWlubGluZSBmbG9hdCBGb250Q2FzY2FkZTo6dGFiV2lkdGgoY29uc3QgRm9udCYgZm9udCwg
Y29uc3QgVGFiU2l6ZSYgdGFiU2l6ZSwgZmxvYXQgcG9zaXRpb24pIGNvbnN0CitpbmxpbmUgZmxv
YXQgRm9udENhc2NhZGU6OnRhYldpZHRoKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRhYlNpemUm
IHRhYlNpemUsIGZsb2F0IHBvc2l0aW9uLCBGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uIHN5
bnRoZXRpY0JvbGRJbmNsdXNpb24pIGNvbnN0CiB7CiAgICAgZmxvYXQgYmFzZVRhYldpZHRoID0g
dGFiU2l6ZS53aWR0aEluUGl4ZWxzKGZvbnQuc3BhY2VXaWR0aCgpKTsKKyAgICBmbG9hdCByZXN1
bHQgPSAwOwogICAgIGlmICghYmFzZVRhYldpZHRoKQotICAgICAgICByZXR1cm4gbGV0dGVyU3Bh
Y2luZygpOwotICAgIGZsb2F0IHRhYkRlbHRhV2lkdGggPSBiYXNlVGFiV2lkdGggLSBmbW9kZihw
b3NpdGlvbiwgYmFzZVRhYldpZHRoKTsKLSAgICByZXR1cm4gKHRhYkRlbHRhV2lkdGggPCBmb250
LnNwYWNlV2lkdGgoKSAvIDIpID8gYmFzZVRhYldpZHRoIDogdGFiRGVsdGFXaWR0aDsKKyAgICAg
ICAgcmVzdWx0ID0gbGV0dGVyU3BhY2luZygpOworICAgIGVsc2UgeworICAgICAgICBmbG9hdCB0
YWJEZWx0YVdpZHRoID0gYmFzZVRhYldpZHRoIC0gZm1vZGYocG9zaXRpb24sIGJhc2VUYWJXaWR0
aCk7CisgICAgICAgIHJlc3VsdCA9ICh0YWJEZWx0YVdpZHRoIDwgZm9udC5zcGFjZVdpZHRoKCkg
LyAyKSA/IGJhc2VUYWJXaWR0aCA6IHRhYkRlbHRhV2lkdGg7CisgICAgfQorICAgIC8vIElmIG91
ciBjYWxsZXIgcGFzc2VzIGluIFN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUsIHRoYXQg
bWVhbnMgdGhleSdyZSBnb2luZyB0byBhcHBseSBzeW50aGV0aWMgYm9sZCB0aGVtc2VsdmVzIGxh
dGVyLgorICAgIC8vIEhvd2V2ZXIsIHJlZ2FyZGxlc3Mgb2YgdGhhdCwgdGhlIHNwYWNlIGNoYXJh
Y3RlcnMgdGhhdCBhcmUgZmVkIGludG8gdGhlIHdpZHRoIGNhbGN1bGF0aW9uIG5lZWQgdG8gaGF2
ZSB0aGVpciBjb3JyZWN0IHdpZHRoLCBpbmNsdWRpbmcgdGhlIHN5bnRoZXRpYyBib2xkLgorICAg
IC8vIFNvLCB3ZSd2ZSBhbHJlYWR5IGdvdCBzeW50aGV0aWMgYm9sZCBhcHBsaWVkLCBzbyBpZiB3
ZSdyZSBzdXBwb3NlZCB0byBleGNsdWRlIGl0LCB3ZSBuZWVkIHRvIHN1YnRyYWN0IGl0IG91dCBo
ZXJlLgorICAgIHJldHVybiByZXN1bHQgLSAoc3ludGhldGljQm9sZEluY2x1c2lvbiA9PSBGb250
OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNsdWRlID8gZm9udC5zeW50aGV0aWNCb2xkT2Zm
c2V0KCkgOiAwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCBmOGNlNjc1YWNiYjU4NTQ5ZGU4NDk4MDZiZTU0
N2RiY2U4NWM0Njk4Li5lODYwYmIxMjhjMmYxNjBiMTIyMzBiNGJhNGZiZDA2MDExM2ZlZTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9y
LmNwcApAQCAtMzA2LDcgKzMwNiw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAg
IGNvbnN0IEZvbnQmIGZvbnQgPSBnbHlwaERhdGEuZm9udCA/ICpnbHlwaERhdGEuZm9udCA6IHBy
aW1hcnlGb250OwogCiAgICAgICAgIHByZXZpb3VzV2lkdGggPSB3aWR0aDsKLSAgICAgICAgd2lk
dGggPSBmb250LndpZHRoRm9yR2x5cGgoZ2x5cGgpOworICAgICAgICB3aWR0aCA9IGZvbnQud2lk
dGhGb3JHbHlwaChnbHlwaCwgRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSk7
IC8vIFdlIGFwcGx5IHN5bnRoZXRpYyBib2xkIGFmdGVyIHNoYXBpbmcsIGluIGFwcGx5Q1NTVmlz
aWJpbGl0eVJ1bGVzKCkuCiAKICAgICAgICAgaWYgKCZmb250ICE9IGxhc3RGb250RGF0YSkKICAg
ICAgICAgICAgIGNvbW1pdEN1cnJlbnRGb250UmFuZ2UoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENv
dW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGxhc3RGb250RGF0YSwgZm9udCwgcHJpbWFyeUZv
bnQsIGNoYXJhY3Rlciwgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UsIHdpZHRoLCBjaGFyYWN0ZXJz
VHJlYXRlZEFzU3BhY2UpOwpAQCAtMzE0LDcgKzMxNCw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRl
cmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhC
dWZmCiAgICAgICAgICAgICB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSArPSB3aWR0aDsKIAogICAg
ICAgICBpZiAoRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpKQotICAgICAgICAg
ICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZChjdXJyZW50Q2hh
cmFjdGVySW5kZXgsIGNoYXJhY3RlciA9PSBzcGFjZSwgcHJldmlvdXNXaWR0aCwgY2hhcmFjdGVy
ID09IHRhYkNoYXJhY3RlciA/IHdpZHRoIDogZm9udC5zcGFjZVdpZHRoKCkpOworICAgICAgICAg
ICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZChjdXJyZW50Q2hh
cmFjdGVySW5kZXgsIGNoYXJhY3RlciA9PSBzcGFjZSwgcHJldmlvdXNXaWR0aCwgY2hhcmFjdGVy
ID09IHRhYkNoYXJhY3RlciA/IHdpZHRoIDogZm9udC5zcGFjZVdpZHRoKEZvbnQ6OlN5bnRoZXRp
Y0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpKTsKIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9yR2x5
cGhCb3VuZHMpIHsKICAgICAgICAgICAgIGJvdW5kcyA9IGZvbnQuYm91bmRzRm9yR2x5cGgoZ2x5
cGgpOwpAQCAtMzU0LDcgKzM1NCw4IEBAIGF1dG8gV2lkdGhJdGVyYXRvcjo6Y2FsY3VsYXRlQWRk
aXRpb25hbFdpZHRoKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgR2x5cGhCdWZmCiAKICAgICBp
ZiAoY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlciAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAg
ICAgICBhdXRvJiBmb250ID0gZ2x5cGhCdWZmZXIuZm9udEF0KHRyYWlsaW5nR2x5cGhJbmRleCk7
Ci0gICAgICAgIGF1dG8gbmV3V2lkdGggPSBtX2ZvbnQudGFiV2lkdGgoZm9udCwgbV9ydW4udGFi
U2l6ZSgpLCBwb3NpdGlvbik7CisgICAgICAgIC8vIFN5bnRoZXRpYyBib2xkIHdpbGwgYmUgaGFu
ZGxlZCBpbiBhcHBseUNTU1Zpc2liaWxpdHlSdWxlcygpIGxhdGVyLgorICAgICAgICBhdXRvIG5l
d1dpZHRoID0gbV9mb250LnRhYldpZHRoKGZvbnQsIG1fcnVuLnRhYlNpemUoKSwgcG9zaXRpb24s
IEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUpOwogICAgICAgICBhdXRvIGN1
cnJlbnRXaWR0aCA9IHdpZHRoKGdseXBoQnVmZmVyLmFkdmFuY2VBdCh0cmFpbGluZ0dseXBoSW5k
ZXgpKTsKICAgICAgICAgcmlnaHRBZGRpdGlvbmFsV2lkdGggKz0gbmV3V2lkdGggLSBjdXJyZW50
V2lkdGg7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJiMWJhM2E0MDBjYTEyNDVjOWUxNThiYTI4ZmQxMzBiNTFl
MmM1YTkuLjZhZDc2NGJjMjFiNzQyYmFhMmRmMDhjZGU0YTMxNTMwNTRlODEzMjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAyMi0wMi0xMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgorCisgICAgICAgIFRhYiBjaGFyYWN0ZXJzIGFuZCBjaCB1bml0cyBkbyBub3Qg
b2JleSBzeW50aGV0aWMgYm9sZCB3aWR0aCBhZGp1c3RtZW50cyBjb3JyZWN0bHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDMgbmV3IHRlc3RzLiBBbHNv
LCB0aGUgY2hhbmdlcyBpbiBpZ25vcmVkLXByb3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dCBhcmUg
YSByZXZlcnQgb2YgdGhlIHJlYmFzZWxpbmUgaW4KKyAgICAgICAgcjI4MTY4Ny4gVGhhdCByZWJh
c2VsaW5lIHdhcyB3cm9uZywgc28gdGhpcyB1bmRvZXMgaXQuCisKKyAgICAgICAgKiBmYXN0L3Rl
eHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNvbXBsZXgtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1j
b21wbGV4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhl
dGljLWJvbGQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RhYi13
aWR0aC1zeW50aGV0aWMtYm9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHls
aW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy1jYXRhbGluYS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9y
ZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLW1vamF2ZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAw
MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3Bl
cnRpZXMtMDAxLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMi0xMCAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NzcwMTVkNTEyNmZjZjk4YmQ5OGVjM2RkZDg0Y2EwMDNkODYxMmE0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhl
dGljLWJvbGQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRo
YXQgdGhlIDxjb2RlPmNoPC9jb2RlPiB1bml0LCB3aGljaCBpcyBzdXBwb3NlZCB0byBiZSBhcyB3
aWRlIGFzIHRoZSA8Y29kZT4wPC9jb2RlPiBjaGFyYWN0ZXIsIGlzIGluIGZhY3QgdGhhdCB3aWRl
LCBldmVuIGlmIHRoZSBmb250IGlzIHVzaW5nIHN5bnRoZXRpYyBib2xkLiBUaGUgdGVzdCBwYXNz
ZXMgaWYgdGhlIHdpZHRoIG9mIHRoZSBncmVlbiBib3ggbWF0Y2hlcyBpbiBib3RoIGNhc2VzLgor
PGRpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9uYWNvJzsgZGlzcGxheTogaW5s
aW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiBncmVlbjsgY29sb3I6IHRyYW5zcGFyZW50OyI+MDAwMDAw
MDAwMDwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvY2gtdW5pdC1zeW50aGV0aWMtYm9sZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTcxNWNh
YTEwZjBiMzhiNmJhZWY0NTFkYjlmZWFlZTIxNGUyZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5Pgor
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgPGNvZGU+Y2g8L2NvZGU+IHVuaXQsIHdoaWNo
IGlzIHN1cHBvc2VkIHRvIGJlIGFzIHdpZGUgYXMgdGhlIDxjb2RlPjA8L2NvZGU+IGNoYXJhY3Rl
ciwgaXMgaW4gZmFjdCB0aGF0IHdpZGUsIGV2ZW4gaWYgdGhlIGZvbnQgaXMgdXNpbmcgc3ludGhl
dGljIGJvbGQuIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgd2lkdGggb2YgdGhlIGdyZWVuIGJveCBt
YXRjaGVzIGluIGJvdGggY2FzZXMuCis8ZGl2IHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFj
byc7IGJhY2tncm91bmQ6IGdyZWVuOyB3aWR0aDogMTBjaDsgY29sb3I6IHRyYW5zcGFyZW50OyI+
YTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21wbGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNvbXBsZXgtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41YmM1MzE4MmYzOTMyMjdhM2UxYTRkMzg5YzhiZTE2ZmQ1ZTIw
OThlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1z
eW50aGV0aWMtYm9sZC1jb21wbGV4LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0LCB3aGVuIHRoZSB3aWR0aCBvZiBhIHRhYiBpcyBzZXQgdG8gYmUgYSBt
dWx0aXBsZSBvZiB0aGUgc3BhY2Ugd2lkdGgsIHRoYXQgdGhlIHNwYWNlIHdpZHRoIGluY2x1ZGVz
IHRoZSBzeW50aGV0aWMgYm9sZCBleHBhbnNpb24uIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgd2lk
dGggb2YgdGhlIGdyZWVuIGJveCBtYXRjaGVzIGluIGJvdGggY2FzZXMuCis8ZGl2PgorPHByZSBz
dHlsZT0iZm9udDogYm9sZCAxNnB4ICdNb25hY28nOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJh
Y2tncm91bmQ6IGdyZWVuOyB0YWItc2l6ZTogMTY7Ij4gICAgICAgICAgICAgICAgPC9wcmU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21wbGV4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGYyNDYxZmM0OGEwMDUwMzk5ZDMwM2RmNzg3NzZkOTE1ZGE5YTcxNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxl
eC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCwgd2hlbiB0aGUgd2lk
dGggb2YgYSB0YWIgaXMgc2V0IHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNwYWNlIHdpZHRoLCB0
aGF0IHRoZSBzcGFjZSB3aWR0aCBpbmNsdWRlcyB0aGUgc3ludGhldGljIGJvbGQgZXhwYW5zaW9u
LiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIHdpZHRoIG9mIHRoZSBncmVlbiBib3ggbWF0Y2hlcyBp
biBib3RoIGNhc2VzLgorPGRpdj4KKzxwcmUgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9uYWNv
JzsgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnQUJDRCc7IGRpc3BsYXk6IGlubGluZS1ibG9jazsg
YmFja2dyb3VuZDogZ3JlZW47IHRhYi1zaXplOiAxNjsiPiYjeDk7PC9wcmU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lk
dGgtc3ludGhldGljLWJvbGQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90
YWItd2lkdGgtc3ludGhldGljLWJvbGQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YmM1MzE4
MmYzOTMyMjdhM2UxYTRkMzg5YzhiZTE2ZmQ1ZTIwOThlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVh
ZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCwgd2hlbiB0aGUgd2lkdGggb2Yg
YSB0YWIgaXMgc2V0IHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNwYWNlIHdpZHRoLCB0aGF0IHRo
ZSBzcGFjZSB3aWR0aCBpbmNsdWRlcyB0aGUgc3ludGhldGljIGJvbGQgZXhwYW5zaW9uLiBUaGUg
dGVzdCBwYXNzZXMgaWYgdGhlIHdpZHRoIG9mIHRoZSBncmVlbiBib3ggbWF0Y2hlcyBpbiBib3Ro
IGNhc2VzLgorPGRpdj4KKzxwcmUgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9uYWNvJzsgZGlz
cGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiBncmVlbjsgdGFiLXNpemU6IDE2OyI+ICAg
ICAgICAgICAgICAgIDwvcHJlPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWZiMTA0NGZiNGY4YzhjMzY4ZGJhOTAyN2JlYzMyNjZkNWRlYmI1YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQu
aHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQsIHdoZW4gdGhlIHdpZHRo
IG9mIGEgdGFiIGlzIHNldCB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzcGFjZSB3aWR0aCwgdGhh
dCB0aGUgc3BhY2Ugd2lkdGggaW5jbHVkZXMgdGhlIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4g
VGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNoZXMgaW4g
Ym90aCBjYXNlcy4KKzxkaXY+Cis8cHJlIHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFjbyc7
IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogZ3JlZW47IHRhYi1zaXplOiAxNjsi
PiYjeDk7PC9wcmU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGht
bC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEt
ZXhwZWN0ZWQudHh0CmluZGV4IGJkMjU5Y2UwMDlmZDEzYTUwYjAwMGQ3NTIwY2EyYmMyOGM2MDg3
NWMuLjkxYTU1ZTE5ZmVkNGQyNWMxNTFmODk2YmJjMzQ1NmVlNjgwM2ZmOTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3Bl
cnRpZXMtMDAxLWV4cGVjdGVkLnR4dApAQCAtMjQsNyArMjQsNyBAQCBQQVNTIG1lbmNsb3NlIGxh
eW91dCBpcyBub3QgYWZmZWN0ZWQgYnkgYWxpZ24tc2VsZjogZW5kOyBqdXN0aWZ5LXNlbGY6IGVu
ZDsKIFBBU1MgbWVuY2xvc2UgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZl
Y3RlZCBieSB3aWR0aDogMTAwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50
OwogUEFTUyBtZW5jbG9zZSBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdpZHRoOiAxMDBweCAh
aW1wb3J0YW50OyBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7CiBQQVNTIG1lcnJvciBwcmVmZXJy
ZWQgd2lkdGggY2FsY3VsYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHdyaXRpbmctbW9kZTogdmVy
dGljYWwtcmw7Ci1GQUlMIG1lcnJvciBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdyaXRpbmct
bW9kZTogdmVydGljYWwtcmw7IGFzc2VydF9hcHByb3hfZXF1YWxzOiBpbmxpbmUgcG9zaXRpb24g
KGNoaWxkIDEpIGV4cGVjdGVkIDguMDMxMjUgKy8tIDEgYnV0IGdvdCAwCitGQUlMIG1lcnJvciBs
YXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IGFzc2Vy
dF9hcHByb3hfZXF1YWxzOiBpbmxpbmUgcG9zaXRpb24gKGNoaWxkIDEpIGV4cGVjdGVkIDkuMDMx
MjUgKy8tIDEgYnV0IGdvdCAwCiBQQVNTIG1lcnJvciBwcmVmZXJyZWQgd2lkdGggY2FsY3VsYXRp
b24gaXMgbm90IGFmZmVjdGVkIGJ5IHdoaXRlLXNwYWNlOiBub3JtYWw7CiBQQVNTIG1lcnJvciBs
YXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdoaXRlLXNwYWNlOiBub3JtYWw7CiBQQVNTIG1lcnJv
ciBwcmVmZXJyZWQgd2lkdGggY2FsY3VsYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IGZsb2F0OiBy
aWdodDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcv
aWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtY2F0YWxpbmEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVs
YXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDkwNjU2MTU4ZWZmOGQ0NmE0NTk3NTMwMzFjNjRlYzYwNTY1NzY4NTMuLjg5N2M1ZDBiNDdk
MzU0ODdiYWMyYmJkNjdiZTExYjNmODdhZWU5MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1jYXRhbGluYS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGht
bC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXBy
b3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dApAQCAtMjQsNyArMjQsNyBAQCBQQVNTIG1lbmNsb3Nl
IGxheW91dCBpcyBub3QgYWZmZWN0ZWQgYnkgYWxpZ24tc2VsZjogZW5kOyBqdXN0aWZ5LXNlbGY6
IGVuZDsKIFBBU1MgbWVuY2xvc2UgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBh
ZmZlY3RlZCBieSB3aWR0aDogMTAwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0
YW50OwogUEFTUyBtZW5jbG9zZSBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdpZHRoOiAxMDBw
eCAhaW1wb3J0YW50OyBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7CiBQQVNTIG1lcnJvciBwcmVm
ZXJyZWQgd2lkdGggY2FsY3VsYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHdyaXRpbmctbW9kZTog
dmVydGljYWwtcmw7Ci1GQUlMIG1lcnJvciBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdyaXRp
bmctbW9kZTogdmVydGljYWwtcmw7IGFzc2VydF9hcHByb3hfZXF1YWxzOiBpbmxpbmUgcG9zaXRp
b24gKGNoaWxkIDEpIGV4cGVjdGVkIDguMDMxMjUgKy8tIDEgYnV0IGdvdCAwCitGQUlMIG1lcnJv
ciBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IGFz
c2VydF9hcHByb3hfZXF1YWxzOiBpbmxpbmUgcG9zaXRpb24gKGNoaWxkIDEpIGV4cGVjdGVkIDku
MDMxMjUgKy8tIDEgYnV0IGdvdCAwCiBQQVNTIG1lcnJvciBwcmVmZXJyZWQgd2lkdGggY2FsY3Vs
YXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHdoaXRlLXNwYWNlOiBub3JtYWw7CiBQQVNTIG1lcnJv
ciBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IHdoaXRlLXNwYWNlOiBub3JtYWw7CiBQQVNTIG1l
cnJvciBwcmVmZXJyZWQgd2lkdGggY2FsY3VsYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IGZsb2F0
OiByaWdodDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5n
L2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLW1vamF2ZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxh
dGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQKaW5k
ZXggOTA2NTYxNThlZmY4ZDQ2YTQ1OTc1MzAzMWM2NGVjNjA1NjU3Njg1My4uODk3YzVkMGI0N2Qz
NTQ4N2JhYzJiYmQ2N2JlMTFiM2Y4N2FlZTkxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLW1vamF2ZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9y
ZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0
aWVzLTAwMS1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0LDcgQEAgUEFTUyBtZW5jbG9zZSBsYXlv
dXQgaXMgbm90IGFmZmVjdGVkIGJ5IGFsaWduLXNlbGY6IGVuZDsganVzdGlmeS1zZWxmOiBlbmQ7
CiBQQVNTIG1lbmNsb3NlIHByZWZlcnJlZCB3aWR0aCBjYWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0
ZWQgYnkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogMjAwcHggIWltcG9ydGFudDsK
IFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3aWR0aDogMTAwcHggIWlt
cG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50OwogUEFTUyBtZXJyb3IgcHJlZmVycmVk
IHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6IHZlcnRp
Y2FsLXJsOwotRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2VxdWFsczogaW5saW5lIHBvc2l0aW9uIChj
aGlsZCAxKSBleHBlY3RlZCA4LjAzMTI1ICsvLSAxIGJ1dCBnb3QgMAorRkFJTCBtZXJyb3IgbGF5
b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRf
YXBwcm94X2VxdWFsczogaW5saW5lIHBvc2l0aW9uIChjaGlsZCAxKSBleHBlY3RlZCA5LjAzMTI1
ICsvLSAxIGJ1dCBnb3QgMAogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9u
IGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTogbm9ybWFsOwogUEFTUyBtZXJyb3IgbGF5
b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTogbm9ybWFsOwogUEFTUyBtZXJyb3Ig
cHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSBmbG9hdDogcmln
aHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJv
cGVydGllcy0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9p
Z25vcmVkLXByb3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dAppbmRleCA0ZTljYzVjMWUxMGRiYWIw
MTU4YzI0NGYxNzk2NjRhNTNkNmVkOGRmLi4zZDRiZDUzODI4ZDNkMjg1MDU4NDYwNWI2NDg5MDNh
NjRkMjJjMWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9y
ZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3Nz
LXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0
LDcgQEAgUEFTUyBtZW5jbG9zZSBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IGFsaWduLXNlbGY6
IGVuZDsganVzdGlmeS1zZWxmOiBlbmQ7CiBQQVNTIG1lbmNsb3NlIHByZWZlcnJlZCB3aWR0aCBj
YWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhl
aWdodDogMjAwcHggIWltcG9ydGFudDsKIFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZl
Y3RlZCBieSB3aWR0aDogMTAwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50
OwogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3Rl
ZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOwotRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5v
dCBhZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2Vx
dWFsczogaW5saW5lIHBvc2l0aW9uIChjaGlsZCAxKSBleHBlY3RlZCA4LjAzMTI1ICsvLSAxIGJ1
dCBnb3QgMAorRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2VxdWFsczogaW5saW5lIHBvc2l0aW9uIChj
aGlsZCAxKSBleHBlY3RlZCA5LjAzMTI1ICsvLSAxIGJ1dCBnb3QgMAogUEFTUyBtZXJyb3IgcHJl
ZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTog
bm9ybWFsOwogUEFTUyBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFj
ZTogbm9ybWFsOwogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5v
dCBhZmZlY3RlZCBieSBmbG9hdDogcmlnaHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451637</attachid>
            <date>2022-02-10 20:18:08 -0800</date>
            <delta_ts>2022-02-10 21:17:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236172-20220210201807.patch</filename>
            <type>text/plain</type>
            <size>30884</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU1NTEyYzE3MDM1NWJm
NWMzMWJlY2E4NWQ3NjljMzI3ZWYxZmE0Yy4uZWIzZmIwMDQ4OTU1YmJlYTUyMmE4ZWM1MDAzNmZm
YTJhNzY3MTUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAyLTEwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGFiIGNoYXJh
Y3RlcnMgYW5kIGNoIHVuaXRzIGRvIG5vdCBvYmV5IHN5bnRoZXRpYyBib2xkIHdpZHRoIGFkanVz
dG1lbnRzIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgdHVybnMgb3V0IHdlIGhhdmUgYSBsb3Qgb2YgcGxhY2VzIHdoZXJlIGNvZGUg
d2FudHMgdG8ga25vdyB0aGUgc3ludGhldGljLWJvbGQtZXhwYW5kZWQKKyAgICAgICAgd2lkdGgg
b2YgY2hhcmFjdGVycy4gT25lIHBsYWNlIGlzICd0YWItd2lkdGg6IDxpbnRlZ2VyPicgYW5kIGFu
b3RoZXIgaXMgdGhlICdjaCcgdW5pdC4KKyAgICAgICAgSG93ZXZlciwgV2lkdGhJdGVyYXRvciBh
bmQgQ29tcGxleFRleHRDb250cm9sbGVyIGRvbid0IHdhbnQgdGhlIHN5bnRoZXRpYy1ib2xkLWV4
cGFuZGVkCisgICAgICAgIHdpZHRocywgYmVjYXVzZSB0aGV5IGV4cGxpY2l0bHkgYXBwbHkgc3lu
dGhldGljIGJvbGQgYWZ0ZXIgc2hhcGluZy4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSAy
LXZhbHVlIGVudW0gYXJndW1lbnQgdG8gdGhlIEZvbnQ6OndpZHRoRm9yR2x5cGgoKSBmdW5jdGlv
biwgc28gY2FsbGVycworICAgICAgICBjYW4gcGFzcyBpbiB3aGljaCBiZWhhdmlvciB0aGV5IHdh
bnQuIFRoZSBmdW5jdGlvbiBoYXMgYSBkZWZhdWx0IHZhbHVlIHRvIGluY2x1ZGUgdGhlCisgICAg
ICAgIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lvbi4KKworICAgICAgICBJIHRoZW4gYXVkaXRlZCBl
dmVyeSBjYWxsIHNpdGUgb2YgdGhpcyBmdW5jdGlvbiwgYW5kIHBhc3NlZCBpbiB0aGUgY29ycmVj
dCBlbnVtIHZhbHVlLgorICAgICAgICBEb2luZyB0aGlzIGxlZCBtZSB0byBkaXNjb3ZlciB0d28g
YnVncyB3aGVyZSB0aGUgd3JvbmcgYmVoYXZpb3Igd2FzIGJlaW5nIHVzZWQsIGFuZCB0aGlzCisg
ICAgICAgIHBhdGNoIGZpeGVzIHRoZW0gYW5kIGFkZHMgdGVzdHMgZm9yIHRoZW0uCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpmYWxsYmFja0ZvbnRzRm9yUnVuV2l0aEl0
ZXJhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RH
bHlwaHNBbmRBZHZhbmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OkNvbXBsZXhUZXh0UnVuOjpDb21wbGV4VGV4dFJ1bik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUdseXBo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udDo6c3BhY2VXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3
aWR0aEZvckdseXBoIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OnRhYldpZHRoIGNvbnN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0
aEl0ZXJhdG9yOjpjYWxjdWxhdGVBZGRpdGlvbmFsV2lkdGggY29uc3QpOgorCiAyMDIyLTAyLTEw
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIE5v
bi1jb250ZW50IHJ1bnMgKGUuZy4gaW5saW5lIGJveCBzdGFydC9lbmQpIGRvIG5vdCBuZWVkICJ3
aXRoaW4gdGhlIGxpbmUiIGZsaXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKaW5k
ZXggMWRkYmZmZTA3YWI5NjQyZGE2MDExZDU1ZGNjZWIxMmFlZjMwODE5My4uMDVmM2I0NjQ5ZDYz
YmNhMzI2NzFiN2E5MWM1NDNiNDQ5ZjUzMDIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0
VXRpbC5jcHAKQEAgLTEyMSw3ICsxMjEsOCBAQCBzdGF0aWMgdm9pZCBmYWxsYmFja0ZvbnRzRm9y
UnVuV2l0aEl0ZXJhdG9yKEhhc2hTZXQ8Y29uc3QgRm9udCo+JiBmYWxsYmFja0ZvbnRzLAogICAg
ICAgICAgICAgYXV0byBnbHlwaERhdGEgPSBmb250Q2FzY2FkZS5nbHlwaERhdGFGb3JDaGFyYWN0
ZXIoY2hhcmFjdGVyLCBpc1JUTCk7CiAgICAgICAgICAgICBpZiAoZ2x5cGhEYXRhLmdseXBoICYm
IGdseXBoRGF0YS5mb250ICYmIGdseXBoRGF0YS5mb250ICE9ICZwcmltYXJ5Rm9udCkgewogICAg
ICAgICAgICAgICAgIGF1dG8gaXNOb25TcGFjaW5nTWFyayA9IFVfTUFTSyh1X2NoYXJUeXBlKGNo
YXJhY3RlcikpICYgVV9HQ19NTl9NQVNLOwotICAgICAgICAgICAgICAgIGlmIChpc05vblNwYWNp
bmdNYXJrIHx8IGdseXBoRGF0YS5mb250LT53aWR0aEZvckdseXBoKGdseXBoRGF0YS5nbHlwaCkp
CisgICAgICAgICAgICAgICAgLy8gSWYgd2UgaW5jbHVkZSB0aGUgc3ludGhldGljIGJvbGQgZXhw
YW5zaW9uLCB0aGVuIGV2ZW4gemVyby13aWR0aCBnbHlwaHMgd2lsbCBoYXZlIHRoZWlyIGZvbnRz
IGFkZGVkLgorICAgICAgICAgICAgICAgIGlmIChpc05vblNwYWNpbmdNYXJrIHx8IGdseXBoRGF0
YS5mb250LT53aWR0aEZvckdseXBoKGdseXBoRGF0YS5nbHlwaCwgRm9udDo6U3ludGhldGljQm9s
ZEluY2x1c2lvbjo6RXhjbHVkZSkpCiAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrRm9udHMu
YWRkKGdseXBoRGF0YS5mb250KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRy
b2xsZXIuY3BwCmluZGV4IGQzYzc1NmZhODNkZjA2OGMwZGU3NWY0MGJiZTY4MjY3NzczNjQ3ZTcu
LjE0MGU2OGU2ZGQxODM3MTU1MjVhOWZkOTkyNDgzYjMxODVhYjA2YjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9s
bGVyLmNwcApAQCAtNjkzLDcgKzY5Myw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgICAgIGNvbnN0IENHR2x5cGgqIGdseXBocyA9
IGNvbXBsZXhUZXh0UnVuLmdseXBocygpOwogICAgICAgICBjb25zdCBGbG9hdFNpemUqIGFkdmFu
Y2VzID0gY29tcGxleFRleHRSdW4uYmFzZUFkdmFuY2VzKCk7CiAKLSAgICAgICAgZmxvYXQgc3Bh
Y2VXaWR0aCA9IGZvbnQuc3BhY2VXaWR0aCgpOworICAgICAgICAvLyBMb3dlciBpbiB0aGlzIGZ1
bmN0aW9uLCBzeW50aGV0aWMgYm9sZCBpcyBibGFua2V0LWFwcGxpZWQgdG8gZXZlcnl0aGluZywg
c28gbm8gbmVlZCB0byBkb3VibGUtYXBwbHkgaXQgaGVyZS4KKyAgICAgICAgZmxvYXQgc3BhY2VX
aWR0aCA9IGZvbnQuc3BhY2VXaWR0aChGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9uOjpFeGNs
dWRlKTsKICAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVy
cygpOwogICAgICAgICBGbG9hdFBvaW50IGdseXBoT3JpZ2luOwogICAgICAgICB1bnNpZ25lZCBs
YXN0Q2hhcmFjdGVySW5kZXggPSBtX3J1bi5sdHIoKSA/IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5z
aWduZWQ+OjptaW4oKSA6IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKTsKQEAg
LTcxNCw4ICs3MTUsOCBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhz
QW5kQWR2YW5jZXMoKQogICAgICAgICAgICAgQ0dHbHlwaCBnbHlwaCA9IGdseXBoc1tpXTsKICAg
ICAgICAgICAgIEZsb2F0U2l6ZSBhZHZhbmNlID0gdHJlYXRBc1NwYWNlID8gRmxvYXRTaXplKHNw
YWNlV2lkdGgsIGFkdmFuY2VzW2ldLmhlaWdodCgpKSA6IGFkdmFuY2VzW2ldOwogCi0gICAgICAg
ICAgICBpZiAoY2ggPT0gJ1x0JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkKLSAgICAgICAgICAgICAg
ICBhZHZhbmNlLnNldFdpZHRoKG1fZm9udC50YWJXaWR0aChmb250LCBtX3J1bi50YWJTaXplKCks
IG1fcnVuLnhQb3MoKSArIG1fdG90YWxBZHZhbmNlLndpZHRoKCkpKTsKKyAgICAgICAgICAgIGlm
IChjaCA9PSB0YWJDaGFyYWN0ZXIgJiYgbV9ydW4uYWxsb3dUYWJzKCkpCisgICAgICAgICAgICAg
ICAgYWR2YW5jZS5zZXRXaWR0aChtX2ZvbnQudGFiV2lkdGgoZm9udCwgbV9ydW4udGFiU2l6ZSgp
LCBtX3J1bi54UG9zKCkgKyBtX3RvdGFsQWR2YW5jZS53aWR0aCgpLCBGb250OjpTeW50aGV0aWNC
b2xkSW5jbHVzaW9uOjpFeGNsdWRlKSk7CiAgICAgICAgICAgICBlbHNlIGlmIChGb250Q2FzY2Fk
ZTo6dHJlYXRBc1plcm9XaWR0aFNwYWNlKGNoKSAmJiAhdHJlYXRBc1NwYWNlKSB7CiAgICAgICAg
ICAgICAgICAgYWR2YW5jZS5zZXRXaWR0aCgwKTsKICAgICAgICAgICAgICAgICBnbHlwaCA9IGZv
bnQuc3BhY2VHbHlwaCgpOwpAQCAtODQ0LDcgKzg0NSw4IEBAIENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6Q29tcGxleFRleHRSdW46OkNvbXBsZXhUZXh0UnVuKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0
IFVDCiAKICAgICAvLyBTeW50aGVzaXplIGEgcnVuIG9mIG1pc3NpbmcgZ2x5cGhzLgogICAgIG1f
Z2x5cGhzLmZpbGwoMCwgbV9nbHlwaENvdW50KTsKLSAgICBtX2Jhc2VBZHZhbmNlcy5maWxsKEZs
b2F0U2l6ZShtX2ZvbnQud2lkdGhGb3JHbHlwaCgwKSwgMCksIG1fZ2x5cGhDb3VudCk7CisgICAg
Ly8gU3ludGhldGljIGJvbGQgd2lsbCBiZSBoYW5kbGVkIGxhdGVyIGluIGFkanVzdEdseXBoc0Fu
ZEFkdmFuY2VzKCkuCisgICAgbV9iYXNlQWR2YW5jZXMuZmlsbChGbG9hdFNpemUobV9mb250Lndp
ZHRoRm9yR2x5cGgoMCwgRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSksIDAp
LCBtX2dseXBoQ291bnQpOwogfQogCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0
UnVuOjpDb21wbGV4VGV4dFJ1bihjb25zdCBWZWN0b3I8RmxvYXRTaXplPiYgYWR2YW5jZXMsIGNv
bnN0IFZlY3RvcjxGbG9hdFBvaW50PiYgb3JpZ2lucywgY29uc3QgVmVjdG9yPEdseXBoPiYgZ2x5
cGhzLCBjb25zdCBWZWN0b3I8dW5zaWduZWQ+JiBzdHJpbmdJbmRpY2VzLCBGbG9hdFNpemUgaW5p
dGlhbEFkdmFuY2UsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1
bnNpZ25lZCBzdHJpbmdMb2NhdGlvbiwgdW5zaWduZWQgc3RyaW5nTGVuZ3RoLCB1bnNpZ25lZCBp
bmRleEJlZ2luLCB1bnNpZ25lZCBpbmRleEVuZCwgYm9vbCBsdHIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IGRiOTlkNDAxMTg1OTgxMTI3N2QwOWYwY2Rj
YjQ0NDk1NjQ4Zjc0M2IuLmM0NTA4YmQ3NWFiMjg1ZTIwNTI5NDFiMzNiMmE0NWI0NWQwNWZiODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xNjUsMTUg
KzE2NSwxMSBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICB9IGVsc2UKICAg
ICAgICAgbV9mb250TWV0cmljcy5zZXRJZGVvZ3JhbVdpZHRoKHBsYXRmb3JtRGF0YSgpLnNpemUo
KSk7CiAKLSAgICBtX3NwYWNlV2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7Cisg
ICAgbV9zcGFjZVdpZHRoID0gd2lkdGhGb3JHbHlwaChtX3NwYWNlR2x5cGgsIFN5bnRoZXRpY0Jv
bGRJbmNsdXNpb246OkV4Y2x1ZGUpOyAvLyBzcGFjZVdpZHRoKCkgaGFuZGxlcyBhZGRpbmcgaW4g
dGhlIHN5bnRoZXRpYyBib2xkLgogICAgIGF1dG8gYW1vdW50VG9BZGp1c3RMaW5lR2FwID0gc3Rk
OjptaW4obV9mb250TWV0cmljcy5mbG9hdExpbmVHYXAoKSwgMC4wZik7CiAgICAgbV9mb250TWV0
cmljcy5zZXRMaW5lR2FwKG1fZm9udE1ldHJpY3MuZmxvYXRMaW5lR2FwKCkgLSBhbW91bnRUb0Fk
anVzdExpbmVHYXApOwogICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobV9mb250TWV0
cmljcy5mbG9hdExpbmVTcGFjaW5nKCkgLSBhbW91bnRUb0FkanVzdExpbmVHYXApOwogICAgIGRl
dGVybWluZVBpdGNoKCk7Ci0gICAgLy8gTmFzdHkgaGFjayB0byBkZXRlcm1pbmUgaWYgd2Ugc2hv
dWxkIHJvdW5kIG9yIGNlaWwgc3BhY2Ugd2lkdGhzLgotICAgIC8vIElmIHRoZSBmb250IGlzIG1v
bm9zcGFjZSBvciBmYWtlIG1vbm9zcGFjZSB3ZSBjZWlsIHRvIGVuc3VyZSB0aGF0Ci0gICAgLy8g
ZXZlcnkgY2hhcmFjdGVyIGFuZCB0aGUgc3BhY2UgYXJlIHRoZSBzYW1lIHdpZHRoLiBPdGhlcndp
c2Ugd2Ugcm91bmQuCi0gICAgbV9hZGp1c3RlZFNwYWNlV2lkdGggPSBtX3RyZWF0QXNGaXhlZFBp
dGNoID8gY2VpbGYobV9zcGFjZVdpZHRoKSA6IHJvdW5kZihtX3NwYWNlV2lkdGgpOwogfQogCiBG
b250Ojp+Rm9udCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKaW5kZXgg
Nzk1MzlhMTUxYjA1YjE4MGIzMDk5MTM1YzQxNTcwNDQ4YjA1MDY4OS4uYjg5M2IzODAxYmIwNTMy
MGQ0NWYyYTM5ZjA4YmZjMWQ4NDM4NTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuaApAQCAtMTM4LDIyICsxMzgsMTkgQEAgcHVibGljOgogCiAgICAgRmxvYXRSZWN0
IGJvdW5kc0ZvckdseXBoKEdseXBoKSBjb25zdDsKIAotICAgIC8vIElmIHlvdSdyZSBjYWxsaW5n
IHRoaXMsIHlvdSBuZWVkIHRvIGNhcmUgYWJvdXQgc3ludGhldGljIGJvbGQuCi0gICAgLy8gVGhp
cyBmdW5jdGlvbiByZXR1cm5zIHRoZSB3aWR0aCBiZWZvcmUgYWRkaW5nIGluIHRoZSBzeW50aGV0
aWMgYm9sZCBvZmZzZXQuCi0gICAgLy8gVGhpcyBpcyBiZWNhdXNlIHRoZXNlIHdpZHRocyBhcmUg
ZmVkIGFzIGFuIGlucHV0IHRvIHNoYXBpbmcsIHdoaWNoIG5lZWRzIHRvIGNvbnN1bWUgdGhlIHRy
dWUgd2lkdGhzLgotICAgIC8vIFRoZW4sIHRoZSBzeW50aGV0aWMgYm9sZCBvZmZzZXQgaXMgYXBw
bGllZCBhZnRlciBzaGFwaW5nLgotICAgIC8vIElmIHlvdSdyZSBub3QgZ29pbmcgdGhyb3VnaCBX
aWR0aEl0ZXJhdG9yIG9yIENvbXBsZXhUZXh0Q29udHJvbGxlciAoYW5kIHRodXMgcG90ZW50aWFs
bHkgZXhlY3V0aW5nIHNoYXBpbmcgeW91cnNlbGYpLAotICAgIC8vIHRoZW4geW91IG5lZWQgdG8g
ZGVjaWRlIHdoZXRoZXIgb3Igbm90IHlvdSBuZWVkIHRvIGFkZCBzeW50aGV0aWNCb2xkT2Zmc2V0
KCkgdG8gdGhlIHJlc3VsdCBvZiB5b3VyIHdpZHRoRm9yR2x5cGgoKSBjYWxsLgotICAgIGZsb2F0
IHdpZHRoRm9yR2x5cGgoR2x5cGgpIGNvbnN0OworICAgIC8vIFNob3VsZCB0aGUgcmVzdWx0IG9m
IHRoaXMgZnVuY3Rpb24gaW5jbHVkZSB0aGUgcmVzdWx0cyBvZiBzeW50aGV0aWMgYm9sZD8KKyAg
ICBlbnVtIGNsYXNzIFN5bnRoZXRpY0JvbGRJbmNsdXNpb24geworICAgICAgICBJbmNvcnBvcmF0
ZSwKKyAgICAgICAgRXhjbHVkZQorICAgIH07CisgICAgZmxvYXQgd2lkdGhGb3JHbHlwaChHbHlw
aCwgU3ludGhldGljQm9sZEluY2x1c2lvbiA9IFN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkluY29y
cG9yYXRlKSBjb25zdDsKIAogICAgIGNvbnN0IFBhdGgmIHBhdGhGb3JHbHlwaChHbHlwaCkgY29u
c3Q7IC8vIERvbid0IHN0b3JlIHRoZSByZXN1bHQgb2YgdGhpcyEgVGhlIGhhc2ggbWFwIGlzIGZy
ZWUgdG8gcmVoYXNoIGF0IGFueSBwb2ludCwgbGVhdmluZyB0aGlzIHJlZmVyZW5jZSBkYW5nbGlu
Zy4KLSAgICBGbG9hdFJlY3QgcGxhdGZvcm1Cb3VuZHNGb3JHbHlwaChHbHlwaCkgY29uc3Q7Ci0g
ICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoKSBjb25zdDsKLSAgICBQYXRoIHBs
YXRmb3JtUGF0aEZvckdseXBoKEdseXBoKSBjb25zdDsKIAotICAgIC8vIElmIHlvdSdyZSBjYWxs
aW5nIHRoaXMsIHlvdSBuZWVkIHRvIGNhcmUgYWJvdXQgc3ludGhldGljIGJvbGQuCi0gICAgLy8g
U2VlIHRoZSBjb21tZW50IGp1c3QgYWJvdmUgd2lkdGhGb3JHbHlwaCgpLgotICAgIGZsb2F0IHNw
YWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3NwYWNlV2lkdGg7IH0KKyAgICBmbG9hdCBzcGFj
ZVdpZHRoKFN5bnRoZXRpY0JvbGRJbmNsdXNpb24gU3ludGhldGljQm9sZEluY2x1c2lvbiA9IFN5
bnRoZXRpY0JvbGRJbmNsdXNpb246OkluY29ycG9yYXRlKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuIG1fc3BhY2VXaWR0aCArIChTeW50aGV0aWNCb2xkSW5jbHVzaW9uID09IFN5bnRoZXRp
Y0JvbGRJbmNsdXNpb246OkluY29ycG9yYXRlID8gc3ludGhldGljQm9sZE9mZnNldCgpIDogMCk7
CisgICAgfQogCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9mZnNldCgpIGNvbnN0IHsgcmV0dXJu
IG1fc3ludGhldGljQm9sZE9mZnNldDsgfQogCkBAIC0yMzYsNiArMjMzLDEwIEBAIHByaXZhdGU6
CiAgICAgZmxvYXQgd2lkdGhGb3JHRElHbHlwaChHbHlwaCkgY29uc3Q7CiAjZW5kaWYKIAorICAg
IEZsb2F0UmVjdCBwbGF0Zm9ybUJvdW5kc0ZvckdseXBoKEdseXBoKSBjb25zdDsKKyAgICBmbG9h
dCBwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGgpIGNvbnN0OworICAgIFBhdGggcGxhdGZvcm1Q
YXRoRm9yR2x5cGgoR2x5cGgpIGNvbnN0OworCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgY2xh
c3MgQ29tcGxleENvbG9yRm9ybWF0R2x5cGhzIHsKICAgICBwdWJsaWM6CkBAIC0zMjQsNyArMzI1
LDYgQEAgcHJpdmF0ZToKICAgICBWaXNpYmlsaXR5IG1fdmlzaWJpbGl0eTsgLy8gQGZvbnQtZmFj
ZSdzIGludGVybmFsIHRpbWVyIGNhbiBjYXVzZSB1cyB0byBzaG93IGZvbnRzIGV2ZW4gd2hlbiBh
IGZvbnQgaXMgYmVpbmcgZG93bmxvYWRlZC4KIAogICAgIGZsb2F0IG1fc3BhY2VXaWR0aCB7IDAg
fTsKLSAgICBmbG9hdCBtX2FkanVzdGVkU3BhY2VXaWR0aCB7IDAgfTsKIAogICAgIGZsb2F0IG1f
c3ludGhldGljQm9sZE9mZnNldCB7IDAgfTsKIApAQCAtMzY5LDcgKzM2OSw3IEBAIEFMV0FZU19J
TkxJTkUgRmxvYXRSZWN0IEZvbnQ6OmJvdW5kc0ZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAog
ICAgIHJldHVybiBib3VuZHM7CiB9CiAKLUFMV0FZU19JTkxJTkUgZmxvYXQgRm9udDo6d2lkdGhG
b3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKK0FMV0FZU19JTkxJTkUgZmxvYXQgRm9udDo6d2lk
dGhGb3JHbHlwaChHbHlwaCBnbHlwaCwgU3ludGhldGljQm9sZEluY2x1c2lvbiBTeW50aGV0aWNC
b2xkSW5jbHVzaW9uKSBjb25zdAogewogICAgIC8vIFRoZSBvcHRpbWl6YXRpb24gb2YgcmV0dXJu
aW5nIDAgZm9yIHRoZSB6ZXJvLXdpZHRoLXNwYWNlIGdseXBoIGlzIGluY29ycmVjdCBmb3IgdGhl
IExhc3RSZXNvcnQgZm9udCwKICAgICAvLyB1c2VkIGluIHBsYWNlIG9mIHRoZSBhY3R1YWwgZm9u
dCB3aGVuIGlzTG9hZGluZygpIGlzIHRydWUgb24gYm90aCBtYWNPUyBhbmQgaU9TLgpAQCAtMzgw
LDcgKzM4MCw3IEBAIEFMV0FZU19JTkxJTkUgZmxvYXQgRm9udDo6d2lkdGhGb3JHbHlwaChHbHlw
aCBnbHlwaCkgY29uc3QKIAogICAgIGZsb2F0IHdpZHRoID0gbV9nbHlwaFRvV2lkdGhNYXAubWV0
cmljc0ZvckdseXBoKGdseXBoKTsKICAgICBpZiAod2lkdGggIT0gY0dseXBoU2l6ZVVua25vd24p
Ci0gICAgICAgIHJldHVybiB3aWR0aDsKKyAgICAgICAgcmV0dXJuIHdpZHRoICsgKFN5bnRoZXRp
Y0JvbGRJbmNsdXNpb24gPT0gU3ludGhldGljQm9sZEluY2x1c2lvbjo6SW5jb3Jwb3JhdGUgPyBz
eW50aGV0aWNCb2xkT2Zmc2V0KCkgOiAwKTsKIAogI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNB
TCkKICAgICBpZiAobV92ZXJ0aWNhbERhdGEpCkBAIC0zOTAsNyArMzkwLDcgQEAgQUxXQVlTX0lO
TElORSBmbG9hdCBGb250Ojp3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogICAgICAg
ICB3aWR0aCA9IHBsYXRmb3JtV2lkdGhGb3JHbHlwaChnbHlwaCk7CiAKICAgICBtX2dseXBoVG9X
aWR0aE1hcC5zZXRNZXRyaWNzRm9yR2x5cGgoZ2x5cGgsIHdpZHRoKTsKLSAgICByZXR1cm4gd2lk
dGg7CisgICAgcmV0dXJuIHdpZHRoICsgKFN5bnRoZXRpY0JvbGRJbmNsdXNpb24gPT0gU3ludGhl
dGljQm9sZEluY2x1c2lvbjo6SW5jb3Jwb3JhdGUgPyBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgOiAw
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IDNjOGUyNDk3NzU5OTNhOWZmOTY5
ZTJkMDg2YTgwZjBkZjFiNGQzZjEuLjg1MTgwYWQxMDlmZDgxOGU5YmIxNTg4Y2U5NjJhYjQ2MzA4
MTZhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5jcHAKQEAgLTMxNiw2ICszMTYsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JT
aW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aQogICAg
IGF1dG8mIGZvbnQgPSBwcmltYXJ5Rm9udCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCB0ZXh0Lmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgYXV0byBnbHlwaCA9IGdseXBoRGF0YUZv
ckNoYXJhY3Rlcih0ZXh0W2ldLCBmYWxzZSkuZ2x5cGg7CisgICAgICAgIEFTU0VSVCghZm9udC5z
eW50aGV0aWNCb2xkT2Zmc2V0KCkpOyAvLyBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIGNh
bGxlZCB3aGVuIFJlbmRlclRleHQ6OmNvbXB1dGVDYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmlu
ZygpIHJldHVybnMgdHJ1ZSwgYW5kIHRoYXQgZnVuY3Rpb24gcmVxdWlyZXMgbm8gc3ludGhldGlj
IGJvbGQuCiAgICAgICAgIGF1dG8gZ2x5cGhXaWR0aCA9IGZvbnQud2lkdGhGb3JHbHlwaChnbHlw
aCk7CiAgICAgICAgIGJlZm9yZVdpZHRoICs9IGdseXBoV2lkdGg7CiAgICAgICAgIGdseXBoQnVm
ZmVyLmFkZChnbHlwaCwgZm9udCwgZ2x5cGhXaWR0aCwgaSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAppbmRleCAyNGNmYjcxMzc0MzFhNzdlY2Iw
MWZlZGFhNDQ3M2M2OTc4NDQ3NmMzLi4wOWY0MWQ2MDFkNjBjYjEwZmI5OTY1NDAxNDlhMWJjNjUy
ZmNlODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlLmgKQEAgLTE2OCw4ICsxNjgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1BsYXRmb3JtRm9u
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udHMtPmlzRm9yUGxhdGZvcm1Gb250KCk7IH0KIAogICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBtZXRyaWNzT2ZQcmltYXJ5Rm9udCgpIGNvbnN0IHsgcmV0dXJu
IHByaW1hcnlGb250KCkuZm9udE1ldHJpY3MoKTsgfQotICAgIGZsb2F0IHRhYldpZHRoKGNvbnN0
IEZvbnQmLCBjb25zdCBUYWJTaXplJiwgZmxvYXQpIGNvbnN0OwotICAgIGZsb2F0IHRhYldpZHRo
KGNvbnN0IFRhYlNpemUmIHRhYlNpemUsIGZsb2F0IHBvc2l0aW9uKSBjb25zdCB7IHJldHVybiB0
YWJXaWR0aChwcmltYXJ5Rm9udCgpLCB0YWJTaXplLCBwb3NpdGlvbik7IH0KKyAgICBmbG9hdCB0
YWJXaWR0aChjb25zdCBGb250JiwgY29uc3QgVGFiU2l6ZSYsIGZsb2F0LCBGb250OjpTeW50aGV0
aWNCb2xkSW5jbHVzaW9uKSBjb25zdDsKICAgICBib29sIGhhc1ZhbGlkQXZlcmFnZUNoYXJXaWR0
aCgpIGNvbnN0OwogICAgIGJvb2wgZmFzdEF2ZXJhZ2VDaGFyV2lkdGhJZkF2YWlsYWJsZShmbG9h
dCAmd2lkdGgpIGNvbnN0OyAvLyByZXR1cm5zIHRydWUgb24gc3VjY2VzcwogCkBAIC0zNzMsMTMg
KzM3MiwyMCBAQCBpbmxpbmUgRm9udFNlbGVjdG9yKiBGb250Q2FzY2FkZTo6Zm9udFNlbGVjdG9y
KCkgY29uc3QKICAgICByZXR1cm4gbV9mb250cyA/IG1fZm9udHMtPmZvbnRTZWxlY3RvcigpIDog
bnVsbHB0cjsKIH0KIAotaW5saW5lIGZsb2F0IEZvbnRDYXNjYWRlOjp0YWJXaWR0aChjb25zdCBG
b250JiBmb250LCBjb25zdCBUYWJTaXplJiB0YWJTaXplLCBmbG9hdCBwb3NpdGlvbikgY29uc3QK
K2lubGluZSBmbG9hdCBGb250Q2FzY2FkZTo6dGFiV2lkdGgoY29uc3QgRm9udCYgZm9udCwgY29u
c3QgVGFiU2l6ZSYgdGFiU2l6ZSwgZmxvYXQgcG9zaXRpb24sIEZvbnQ6OlN5bnRoZXRpY0JvbGRJ
bmNsdXNpb24gc3ludGhldGljQm9sZEluY2x1c2lvbikgY29uc3QKIHsKICAgICBmbG9hdCBiYXNl
VGFiV2lkdGggPSB0YWJTaXplLndpZHRoSW5QaXhlbHMoZm9udC5zcGFjZVdpZHRoKCkpOworICAg
IGZsb2F0IHJlc3VsdCA9IDA7CiAgICAgaWYgKCFiYXNlVGFiV2lkdGgpCi0gICAgICAgIHJldHVy
biBsZXR0ZXJTcGFjaW5nKCk7Ci0gICAgZmxvYXQgdGFiRGVsdGFXaWR0aCA9IGJhc2VUYWJXaWR0
aCAtIGZtb2RmKHBvc2l0aW9uLCBiYXNlVGFiV2lkdGgpOwotICAgIHJldHVybiAodGFiRGVsdGFX
aWR0aCA8IGZvbnQuc3BhY2VXaWR0aCgpIC8gMikgPyBiYXNlVGFiV2lkdGggOiB0YWJEZWx0YVdp
ZHRoOworICAgICAgICByZXN1bHQgPSBsZXR0ZXJTcGFjaW5nKCk7CisgICAgZWxzZSB7CisgICAg
ICAgIGZsb2F0IHRhYkRlbHRhV2lkdGggPSBiYXNlVGFiV2lkdGggLSBmbW9kZihwb3NpdGlvbiwg
YmFzZVRhYldpZHRoKTsKKyAgICAgICAgcmVzdWx0ID0gKHRhYkRlbHRhV2lkdGggPCBmb250LnNw
YWNlV2lkdGgoKSAvIDIpID8gYmFzZVRhYldpZHRoIDogdGFiRGVsdGFXaWR0aDsKKyAgICB9Cisg
ICAgLy8gSWYgb3VyIGNhbGxlciBwYXNzZXMgaW4gU3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhj
bHVkZSwgdGhhdCBtZWFucyB0aGV5J3JlIGdvaW5nIHRvIGFwcGx5IHN5bnRoZXRpYyBib2xkIHRo
ZW1zZWx2ZXMgbGF0ZXIuCisgICAgLy8gSG93ZXZlciwgcmVnYXJkbGVzcyBvZiB0aGF0LCB0aGUg
c3BhY2UgY2hhcmFjdGVycyB0aGF0IGFyZSBmZWQgaW50byB0aGUgd2lkdGggY2FsY3VsYXRpb24g
bmVlZCB0byBoYXZlIHRoZWlyIGNvcnJlY3Qgd2lkdGgsIGluY2x1ZGluZyB0aGUgc3ludGhldGlj
IGJvbGQuCisgICAgLy8gU28sIHdlJ3ZlIGFscmVhZHkgZ290IHN5bnRoZXRpYyBib2xkIGFwcGxp
ZWQsIHNvIGlmIHdlJ3JlIHN1cHBvc2VkIHRvIGV4Y2x1ZGUgaXQsIHdlIG5lZWQgdG8gc3VidHJh
Y3QgaXQgb3V0IGhlcmUuCisgICAgcmV0dXJuIHJlc3VsdCAtIChzeW50aGV0aWNCb2xkSW5jbHVz
aW9uID09IEZvbnQ6OlN5bnRoZXRpY0JvbGRJbmNsdXNpb246OkV4Y2x1ZGUgPyBmb250LnN5bnRo
ZXRpY0JvbGRPZmZzZXQoKSA6IDApOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IGY4Y2U2NzVhY2JiNTg1NDlk
ZTg0OTgwNmJlNTQ3ZGJjZTg1YzQ2OTguLmU4NjBiYjEyOGMyZjE2MGIxMjIzMGI0YmE0ZmJkMDYw
MTEzZmVlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCkBAIC0zMDYsNyArMzA2LDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVy
YXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1
ZmYKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGdseXBoRGF0YS5mb250ID8gKmdseXBoRGF0
YS5mb250IDogcHJpbWFyeUZvbnQ7CiAKICAgICAgICAgcHJldmlvdXNXaWR0aCA9IHdpZHRoOwot
ICAgICAgICB3aWR0aCA9IGZvbnQud2lkdGhGb3JHbHlwaChnbHlwaCk7CisgICAgICAgIHdpZHRo
ID0gZm9udC53aWR0aEZvckdseXBoKGdseXBoLCBGb250OjpTeW50aGV0aWNCb2xkSW5jbHVzaW9u
OjpFeGNsdWRlKTsgLy8gV2UgYXBwbHkgc3ludGhldGljIGJvbGQgYWZ0ZXIgc2hhcGluZywgaW4g
YXBwbHlDU1NWaXNpYmlsaXR5UnVsZXMoKS4KIAogICAgICAgICBpZiAoJmZvbnQgIT0gbGFzdEZv
bnREYXRhKQogICAgICAgICAgICAgY29tbWl0Q3VycmVudEZvbnRSYW5nZShnbHlwaEJ1ZmZlciwg
bGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgbGFzdEZvbnREYXRhLCBmb250
LCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgd2lkdGgs
IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CkBAIC0zMTQsNyArMzE0LDcgQEAgaW5saW5lIHZv
aWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJh
dG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlICs9IHdp
ZHRoOwogCiAgICAgICAgIGlmIChGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rlcikp
Ci0gICAgICAgICAgICBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UuY29uc3RydWN0QW5kQXBwZW5k
KGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY2hhcmFjdGVyID09IHNwYWNlLCBwcmV2aW91c1dpZHRo
LCBjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyID8gd2lkdGggOiBmb250LnNwYWNlV2lkdGgoKSk7
CisgICAgICAgICAgICBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UuY29uc3RydWN0QW5kQXBwZW5k
KGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY2hhcmFjdGVyID09IHNwYWNlLCBwcmV2aW91c1dpZHRo
LCBjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyID8gd2lkdGggOiBmb250LnNwYWNlV2lkdGgoRm9u
dDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSkpOwogCiAgICAgICAgIGlmIChtX2Fj
Y291bnRGb3JHbHlwaEJvdW5kcykgewogICAgICAgICAgICAgYm91bmRzID0gZm9udC5ib3VuZHNG
b3JHbHlwaChnbHlwaCk7CkBAIC0zNTQsNyArMzU0LDggQEAgYXV0byBXaWR0aEl0ZXJhdG9yOjpj
YWxjdWxhdGVBZGRpdGlvbmFsV2lkdGgoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBHbHlwaEJ1
ZmYKIAogICAgIGlmIChjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyICYmIG1fcnVuLmFsbG93VGFi
cygpKSB7CiAgICAgICAgIGF1dG8mIGZvbnQgPSBnbHlwaEJ1ZmZlci5mb250QXQodHJhaWxpbmdH
bHlwaEluZGV4KTsKLSAgICAgICAgYXV0byBuZXdXaWR0aCA9IG1fZm9udC50YWJXaWR0aChmb250
LCBtX3J1bi50YWJTaXplKCksIHBvc2l0aW9uKTsKKyAgICAgICAgLy8gU3ludGhldGljIGJvbGQg
d2lsbCBiZSBoYW5kbGVkIGluIGFwcGx5Q1NTVmlzaWJpbGl0eVJ1bGVzKCkgbGF0ZXIuCisgICAg
ICAgIGF1dG8gbmV3V2lkdGggPSBtX2ZvbnQudGFiV2lkdGgoZm9udCwgbV9ydW4udGFiU2l6ZSgp
LCBwb3NpdGlvbiwgRm9udDo6U3ludGhldGljQm9sZEluY2x1c2lvbjo6RXhjbHVkZSk7CiAgICAg
ICAgIGF1dG8gY3VycmVudFdpZHRoID0gd2lkdGgoZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KHRyYWls
aW5nR2x5cGhJbmRleCkpOwogICAgICAgICByaWdodEFkZGl0aW9uYWxXaWR0aCArPSBuZXdXaWR0
aCAtIGN1cnJlbnRXaWR0aDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWIzNzBjMjA3MzQwMWVjZjI2ZDNhYWYy
N2JmNDkxN2I3YTBlNjhjMS4uYzFkYjQ2ZjBiMjljZjg2ZDhkNGQ5OGNlYzhiYjFlNDlmN2FiNzg1
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAyLTEwICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGFiIGNoYXJhY3RlcnMgYW5kIGNoIHVu
aXRzIGRvIG5vdCBvYmV5IHN5bnRoZXRpYyBib2xkIHdpZHRoIGFkanVzdG1lbnRzIGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MTcy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgMyBuZXcg
dGVzdHMuIEFsc28sIHRoZSBjaGFuZ2VzIGluIGlnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0
ZWQudHh0IGFyZSBhIHJldmVydCBvZiB0aGUgcmViYXNlbGluZSBpbgorICAgICAgICByMjgxNjg3
LiBUaGF0IHJlYmFzZWxpbmUgd2FzIHdyb25nLCBzbyB0aGlzIHVuZG9lcyBpdC4KKworICAgICAg
ICAqIGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRo
ZXRpYy1ib2xkLWNvbXBsZXguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RhYi13
aWR0aC1zeW50aGV0aWMtYm9sZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlv
bnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3BlcnRpZXMtMDAxLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXBy
b3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2ln
bm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAyLTEwICBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10g
YWNjZWxlcmF0ZWQgYW5pbWF0aW9ucyBzaG91bGQgbm90IHJ1biBhY2NlbGVyYXRlZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc3MDE1ZDUxMjZmY2Y5OGJkOThlYzNkZGQ4NGNhMDAz
ZDg2MTJhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0
LXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMg
c3VyZSB0aGF0IHRoZSA8Y29kZT5jaDwvY29kZT4gdW5pdCwgd2hpY2ggaXMgc3VwcG9zZWQgdG8g
YmUgYXMgd2lkZSBhcyB0aGUgPGNvZGU+MDwvY29kZT4gY2hhcmFjdGVyLCBpcyBpbiBmYWN0IHRo
YXQgd2lkZSwgZXZlbiBpZiB0aGUgZm9udCBpcyB1c2luZyBzeW50aGV0aWMgYm9sZC4gVGhlIHRl
c3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNoZXMgaW4gYm90aCBj
YXNlcy4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFjbyc7IGRpc3Bs
YXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogZ3JlZW47IGNvbG9yOiB0cmFuc3BhcmVudDsi
PjAwMDAwMDAwMDA8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2NoLXVuaXQtc3ludGhldGljLWJvbGQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2U3MTVjYWExMGYwYjM4YjZiYWVmNDUxZGI5ZmVhZWUyMTRlMmUxNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9jaC11bml0LXN5bnRoZXRpYy1ib2xkLmh0bWwKQEAg
LTAsMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIDxjb2RlPmNoPC9jb2RlPiB1bml0
LCB3aGljaCBpcyBzdXBwb3NlZCB0byBiZSBhcyB3aWRlIGFzIHRoZSA8Y29kZT4wPC9jb2RlPiBj
aGFyYWN0ZXIsIGlzIGluIGZhY3QgdGhhdCB3aWRlLCBldmVuIGlmIHRoZSBmb250IGlzIHVzaW5n
IHN5bnRoZXRpYyBib2xkLiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIHdpZHRoIG9mIHRoZSBncmVl
biBib3ggbWF0Y2hlcyBpbiBib3RoIGNhc2VzLgorPGRpdiBzdHlsZT0iZm9udDogYm9sZCAxNnB4
ICdNb25hY28nOyBiYWNrZ3JvdW5kOiBncmVlbjsgd2lkdGg6IDEwY2g7IGNvbG9yOiB0cmFuc3Bh
cmVudDsiPmE8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC1jb21wbGV4
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJjNTMxODJmMzkzMjI3YTNlMWE0ZDM4OWM4YmUx
NmZkNWUyMDk4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWIt
d2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCwgd2hlbiB0aGUgd2lkdGggb2YgYSB0YWIgaXMgc2V0IHRv
IGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNwYWNlIHdpZHRoLCB0aGF0IHRoZSBzcGFjZSB3aWR0aCBp
bmNsdWRlcyB0aGUgc3ludGhldGljIGJvbGQgZXhwYW5zaW9uLiBUaGUgdGVzdCBwYXNzZXMgaWYg
dGhlIHdpZHRoIG9mIHRoZSBncmVlbiBib3ggbWF0Y2hlcyBpbiBib3RoIGNhc2VzLgorPGRpdj4K
KzxwcmUgc3R5bGU9ImZvbnQ6IGJvbGQgMTZweCAnTW9uYWNvJzsgZGlzcGxheTogaW5saW5lLWJs
b2NrOyBiYWNrZ3JvdW5kOiBncmVlbjsgdGFiLXNpemU6IDE2OyI+ICAgICAgICAgICAgICAgIDwv
cHJlPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWNvbXBsZXguaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtY29tcGxleC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRmMjQ2MWZjNDhhMDA1MDM5OWQzMDNkZjc4Nzc2ZDkxNWRhOWE3MTQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xk
LWNvbXBsZXguaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQsIHdoZW4g
dGhlIHdpZHRoIG9mIGEgdGFiIGlzIHNldCB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzcGFjZSB3
aWR0aCwgdGhhdCB0aGUgc3BhY2Ugd2lkdGggaW5jbHVkZXMgdGhlIHN5bnRoZXRpYyBib2xkIGV4
cGFuc2lvbi4gVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1h
dGNoZXMgaW4gYm90aCBjYXNlcy4KKzxkaXY+Cis8cHJlIHN0eWxlPSJmb250OiBib2xkIDE2cHgg
J01vbmFjbyc7IGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ0FCQ0QnOyBkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGJhY2tncm91bmQ6IGdyZWVuOyB0YWItc2l6ZTogMTY7Ij4mI3g5OzwvcHJlPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
dGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRpYy1ib2xkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWJjNTMxODJmMzkzMjI3YTNlMWE0ZDM4OWM4YmUxNmZkNWUyMDk4ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90YWItd2lkdGgtc3ludGhldGljLWJvbGQtZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQsIHdoZW4gdGhlIHdp
ZHRoIG9mIGEgdGFiIGlzIHNldCB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzcGFjZSB3aWR0aCwg
dGhhdCB0aGUgc3BhY2Ugd2lkdGggaW5jbHVkZXMgdGhlIHN5bnRoZXRpYyBib2xkIGV4cGFuc2lv
bi4gVGhlIHRlc3QgcGFzc2VzIGlmIHRoZSB3aWR0aCBvZiB0aGUgZ3JlZW4gYm94IG1hdGNoZXMg
aW4gYm90aCBjYXNlcy4KKzxkaXY+Cis8cHJlIHN0eWxlPSJmb250OiBib2xkIDE2cHggJ01vbmFj
byc7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogZ3JlZW47IHRhYi1zaXplOiAx
NjsiPiAgICAgICAgICAgICAgICA8L3ByZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RhYi13aWR0aC1zeW50aGV0aWMtYm9sZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmYjEwNDRmYjRmOGM4YzM2OGRiYTkwMjdiZWMzMjY2ZDVkZWJiNWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGFiLXdpZHRoLXN5bnRoZXRp
Yy1ib2xkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0LCB3aGVuIHRo
ZSB3aWR0aCBvZiBhIHRhYiBpcyBzZXQgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgc3BhY2Ugd2lk
dGgsIHRoYXQgdGhlIHNwYWNlIHdpZHRoIGluY2x1ZGVzIHRoZSBzeW50aGV0aWMgYm9sZCBleHBh
bnNpb24uIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgd2lkdGggb2YgdGhlIGdyZWVuIGJveCBtYXRj
aGVzIGluIGJvdGggY2FzZXMuCis8ZGl2PgorPHByZSBzdHlsZT0iZm9udDogYm9sZCAxNnB4ICdN
b25hY28nOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IGdyZWVuOyB0YWItc2l6
ZTogMTY7Ij4mI3g5OzwvcHJlPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3BlcnRp
ZXMtMDAxLWV4cGVjdGVkLnR4dAppbmRleCA3YmY3Y2MwNmE0MzNhYTJmYjI4Y2NkYjNmZTNkMzA0
NTU2Njc5M2ZlLi5lZDQ0MTI2ZDM0ZjY3ZWI0ZjU1NmY0NmFkNWMzMGMzN2QzYjlhMGVlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0w
MDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvaWdub3Jl
ZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0LDcgQEAgUEFTUyBtZW5j
bG9zZSBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IGFsaWduLXNlbGY6IGVuZDsganVzdGlmeS1z
ZWxmOiBlbmQ7CiBQQVNTIG1lbmNsb3NlIHByZWZlcnJlZCB3aWR0aCBjYWxjdWxhdGlvbiBpcyBu
b3QgYWZmZWN0ZWQgYnkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogMjAwcHggIWlt
cG9ydGFudDsKIFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3aWR0aDog
MTAwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50OwogUEFTUyBtZXJyb3Ig
cHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLXJsOwotRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3
cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2VxdWFsczogaW5saW5lIHBv
c2l0aW9uIChjaGlsZCAxKSBleHBlY3RlZCA4ICsvLSAxIGJ1dCBnb3QgMAorRkFJTCBtZXJyb3Ig
bGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyBhc3Nl
cnRfYXBwcm94X2VxdWFsczogaW5saW5lIHBvc2l0aW9uIChjaGlsZCAxKSBleHBlY3RlZCA5ICsv
LSAxIGJ1dCBnb3QgMAogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlz
IG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTogbm9ybWFsOwogUEFTUyBtZXJyb3IgbGF5b3V0
IGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTogbm9ybWFsOwogUEFTUyBtZXJyb3IgcHJl
ZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSBmbG9hdDogcmlnaHQ7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVy
dGllcy0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25v
cmVkLXByb3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dAppbmRleCBiZDI1OWNlMDA5ZmQxM2E1MGIw
MDBkNzUyMGNhMmJjMjhjNjA4NzVjLi45MWE1NWUxOWZlZDRkMjVjMTUxZjg5NmJiYzM0NTZlZTY4
MDNmZjk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQt
cHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0
eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0LDcg
QEAgUEFTUyBtZW5jbG9zZSBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IGFsaWduLXNlbGY6IGVu
ZDsganVzdGlmeS1zZWxmOiBlbmQ7CiBQQVNTIG1lbmNsb3NlIHByZWZlcnJlZCB3aWR0aCBjYWxj
dWxhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhlaWdo
dDogMjAwcHggIWltcG9ydGFudDsKIFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZlY3Rl
ZCBieSB3aWR0aDogMTAwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50Owog
UEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBi
eSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOwotRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5vdCBh
ZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2VxdWFs
czogaW5saW5lIHBvc2l0aW9uIChjaGlsZCAxKSBleHBlY3RlZCA4LjAzMTI1ICsvLSAxIGJ1dCBn
b3QgMAorRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6
IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2VxdWFsczogaW5saW5lIHBvc2l0aW9uIChjaGls
ZCAxKSBleHBlY3RlZCA5LjAzMTI1ICsvLSAxIGJ1dCBnb3QgMAogUEFTUyBtZXJyb3IgcHJlZmVy
cmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTogbm9y
bWFsOwogUEFTUyBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTog
bm9ybWFsOwogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBh
ZmZlY3RlZCBieSBmbG9hdDogcmlnaHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtY2F0YWxpbmEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVs
YXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3BlcnRpZXMt
MDAxLWV4cGVjdGVkLnR4dAppbmRleCA5MDY1NjE1OGVmZjhkNDZhNDU5NzUzMDMxYzY0ZWM2MDU2
NTc2ODUzLi44OTdjNWQwYjQ3ZDM1NDg3YmFjMmJiZDY3YmUxMWIzZjg3YWVlOTE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVy
dGllcy0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRh
bGluYS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3Nz
LXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0
LDcgQEAgUEFTUyBtZW5jbG9zZSBsYXlvdXQgaXMgbm90IGFmZmVjdGVkIGJ5IGFsaWduLXNlbGY6
IGVuZDsganVzdGlmeS1zZWxmOiBlbmQ7CiBQQVNTIG1lbmNsb3NlIHByZWZlcnJlZCB3aWR0aCBj
YWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhl
aWdodDogMjAwcHggIWltcG9ydGFudDsKIFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZl
Y3RlZCBieSB3aWR0aDogMTAwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50
OwogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3Rl
ZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOwotRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5v
dCBhZmZlY3RlZCBieSB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2Vx
dWFsczogaW5saW5lIHBvc2l0aW9uIChjaGlsZCAxKSBleHBlY3RlZCA4LjAzMTI1ICsvLSAxIGJ1
dCBnb3QgMAorRkFJTCBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLXJsOyBhc3NlcnRfYXBwcm94X2VxdWFsczogaW5saW5lIHBvc2l0aW9uIChj
aGlsZCAxKSBleHBlY3RlZCA5LjAzMTI1ICsvLSAxIGJ1dCBnb3QgMAogUEFTUyBtZXJyb3IgcHJl
ZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFjZTog
bm9ybWFsOwogUEFTUyBtZXJyb3IgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSB3aGl0ZS1zcGFj
ZTogbm9ybWFsOwogUEFTUyBtZXJyb3IgcHJlZmVycmVkIHdpZHRoIGNhbGN1bGF0aW9uIGlzIG5v
dCBhZmZlY3RlZCBieSBmbG9hdDogcmlnaHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbW9qYXZlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3Jl
bGF0aW9ucy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0w
MDEtZXhwZWN0ZWQudHh0CmluZGV4IDkwNjU2MTU4ZWZmOGQ0NmE0NTk3NTMwMzFjNjRlYzYwNTY1
NzY4NTMuLjg5N2M1ZDBiNDdkMzU0ODdiYWMyYmJkNjdiZTExYjNmODdhZWU5MTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGll
cy0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHls
aW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw3IEBA
IFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZlY3RlZCBieSBhbGlnbi1zZWxmOiBlbmQ7
IGp1c3RpZnktc2VsZjogZW5kOwogUEFTUyBtZW5jbG9zZSBwcmVmZXJyZWQgd2lkdGggY2FsY3Vs
YXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHdpZHRoOiAxMDBweCAhaW1wb3J0YW50OyBoZWlnaHQ6
IDIwMHB4ICFpbXBvcnRhbnQ7CiBQQVNTIG1lbmNsb3NlIGxheW91dCBpcyBub3QgYWZmZWN0ZWQg
Ynkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogMjAwcHggIWltcG9ydGFudDsKIFBB
U1MgbWVycm9yIHByZWZlcnJlZCB3aWR0aCBjYWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkg
d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsKLUZBSUwgbWVycm9yIGxheW91dCBpcyBub3QgYWZm
ZWN0ZWQgYnkgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsgYXNzZXJ0X2FwcHJveF9lcXVhbHM6
IGlubGluZSBwb3NpdGlvbiAoY2hpbGQgMSkgZXhwZWN0ZWQgOC4wMzEyNSArLy0gMSBidXQgZ290
IDAKK0ZBSUwgbWVycm9yIGxheW91dCBpcyBub3QgYWZmZWN0ZWQgYnkgd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1ybDsgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IGlubGluZSBwb3NpdGlvbiAoY2hpbGQg
MSkgZXhwZWN0ZWQgOS4wMzEyNSArLy0gMSBidXQgZ290IDAKIFBBU1MgbWVycm9yIHByZWZlcnJl
ZCB3aWR0aCBjYWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgd2hpdGUtc3BhY2U6IG5vcm1h
bDsKIFBBU1MgbWVycm9yIGxheW91dCBpcyBub3QgYWZmZWN0ZWQgYnkgd2hpdGUtc3BhY2U6IG5v
cm1hbDsKIFBBU1MgbWVycm9yIHByZWZlcnJlZCB3aWR0aCBjYWxjdWxhdGlvbiBpcyBub3QgYWZm
ZWN0ZWQgYnkgZmxvYXQ6IHJpZ2h0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mt
c3R5bGluZy9pZ25vcmVkLXByb3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxh
dGlvbnMvY3NzLXN0eWxpbmcvaWdub3JlZC1wcm9wZXJ0aWVzLTAwMS1leHBlY3RlZC50eHQKaW5k
ZXggNGU5Y2M1YzFlMTBkYmFiMDE1OGMyNDRmMTc5NjY0YTUzZDZlZDhkZi4uM2Q0YmQ1MzgyOGQz
ZDI4NTA1ODQ2MDViNjQ4OTAzYTY0ZDIyYzFlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9u
cy9jc3Mtc3R5bGluZy9pZ25vcmVkLXByb3BlcnRpZXMtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
YXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2lnbm9yZWQtcHJvcGVydGllcy0wMDEtZXhwZWN0
ZWQudHh0CkBAIC0yNCw3ICsyNCw3IEBAIFBBU1MgbWVuY2xvc2UgbGF5b3V0IGlzIG5vdCBhZmZl
Y3RlZCBieSBhbGlnbi1zZWxmOiBlbmQ7IGp1c3RpZnktc2VsZjogZW5kOwogUEFTUyBtZW5jbG9z
ZSBwcmVmZXJyZWQgd2lkdGggY2FsY3VsYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHdpZHRoOiAx
MDBweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7CiBQQVNTIG1lbmNsb3Nl
IGxheW91dCBpcyBub3QgYWZmZWN0ZWQgYnkgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IGhlaWdo
dDogMjAwcHggIWltcG9ydGFudDsKIFBBU1MgbWVycm9yIHByZWZlcnJlZCB3aWR0aCBjYWxjdWxh
dGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsKLUZBSUwg
bWVycm9yIGxheW91dCBpcyBub3QgYWZmZWN0ZWQgYnkgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1y
bDsgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IGlubGluZSBwb3NpdGlvbiAoY2hpbGQgMSkgZXhwZWN0
ZWQgOC4wMzEyNSArLy0gMSBidXQgZ290IDAKK0ZBSUwgbWVycm9yIGxheW91dCBpcyBub3QgYWZm
ZWN0ZWQgYnkgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsgYXNzZXJ0X2FwcHJveF9lcXVhbHM6
IGlubGluZSBwb3NpdGlvbiAoY2hpbGQgMSkgZXhwZWN0ZWQgOS4wMzEyNSArLy0gMSBidXQgZ290
IDAKIFBBU1MgbWVycm9yIHByZWZlcnJlZCB3aWR0aCBjYWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0
ZWQgYnkgd2hpdGUtc3BhY2U6IG5vcm1hbDsKIFBBU1MgbWVycm9yIGxheW91dCBpcyBub3QgYWZm
ZWN0ZWQgYnkgd2hpdGUtc3BhY2U6IG5vcm1hbDsKIFBBU1MgbWVycm9yIHByZWZlcnJlZCB3aWR0
aCBjYWxjdWxhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgZmxvYXQ6IHJpZ2h0Owo=
</data>
<flag name="review"
          id="478423"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>