<?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>230447</bug_id>
          
          <creation_ts>2021-09-18 14:13:10 -0700</creation_ts>
          <short_desc>Push font-palette-values data into CSSFontSelector</short_desc>
          <delta_ts>2021-09-21 13:17:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</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>
          <dependson>230337</dependson>
    
    <dependson>230544</dependson>
    
    <dependson>230546</dependson>
          <blocked>230446</blocked>
    
    <blocked>230449</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1794801</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-18 14:13:10 -0700</bug_when>
    <thetext>... And move the values of the color-override / base-palette descriptors into types that can be accessed from platform/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794848</commentid>
    <comment_count>1</comment_count>
      <attachid>438580</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-18 23:17:59 -0700</bug_when>
    <thetext>Created attachment 438580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795459</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-21 01:15:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/83343615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795473</commentid>
    <comment_count>3</comment_count>
      <attachid>438795</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-21 02:01:52 -0700</bug_when>
    <thetext>Created attachment 438795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795474</commentid>
    <comment_count>4</comment_count>
      <attachid>438795</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-21 02:05:59 -0700</bug_when>
    <thetext>Comment on attachment 438795
Patch

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

&gt; Source/WebCore/css/CSSFontSelector.h:148
&gt; +struct CSSFontSelector::PaletteKey {

Couldn&apos;t this just be std::pair&lt;AtomString, AtomString&gt;?

&gt; Source/WebCore/css/CSSFontSelector.h:178
&gt; +struct CSSFontSelector::PaletteKeyHash {

And avoid all this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795483</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-21 02:21:57 -0700</bug_when>
    <thetext>Committed r282807 (241939@main): &lt;https://commits.webkit.org/241939@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795500</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-09-21 03:57:06 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 230544</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795700</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-21 12:04:53 -0700</bug_when>
    <thetext>Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795719</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-21 13:17:56 -0700</bug_when>
    <thetext>Committed r282838 (241969@main): &lt;https://commits.webkit.org/241969@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438580</attachid>
            <date>2021-09-18 23:17:59 -0700</date>
            <delta_ts>2021-09-21 02:01:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>22668</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGVhMzBjM2I5MTUzYjQyOWNmYjJjN2RjNGEyOTc5MmIxYmY2ZWYzMWEKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgU2VwIDE4
IDE4OjU2OjUwIDIwMjEgLTA3MDAKCiAgICBQdXNoIGZvbnQtcGFsZXR0ZS12YWx1ZXMgZGF0YSBp
bnRvIENTU0ZvbnRTZWxlY3RvcgogICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMDQ0NwogICAgCiAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAgIAog
ICAgVGhpcyBzdGVwIGlzIG5lY2Vzc2FyeSBmb3IgcGx1bWJpbmcgZm9udC1wYWxldHRlLXZhbHVl
cyBkYXRhIGludG8gcGxhdGZvcm0vCiAgICBzbyBpdCBjYW4gYmUgZmVkIGl0bm8gQ29yZSBUZXh0
LgogICAgCiAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFu
Z2UuCiAgICAKICAgICogSGVhZGVycy5jbWFrZToKICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgogICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKICAgIChXZWJDb3Jl
OjpDU1NGb250U2VsZWN0b3I6OmJ1aWxkU3RhcnRlZCk6CiAgICAoV2ViQ29yZTo6Q1NTRm9udFNl
bGVjdG9yOjpidWlsZENvbXBsZXRlZCk6CiAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjph
ZGRGb250RmFjZVJ1bGUpOgogICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udFBh
bGV0dGVWYWx1ZXNSdWxlKToKICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgogICAgKiBjc3Mv
U3R5bGVSdWxlLmNwcDoKICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgogICAgKiBjc3MvU3R5bGVSdWxlLmg6CiAgICAq
IGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CiAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CiAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQYWxldHRlVmFsdWVzLmg6IEFkZGVkLgogICAgKFdlYkNvcmU6OkZvbnRQYWxldHRlVmFs
dWVzOjpGb250UGFsZXR0ZVZhbHVlcyk6CiAgICAoV2ViQ29yZTo6Rm9udFBhbGV0dGVWYWx1ZXM6
OmJhc2VQYWxldHRlIGNvbnN0KToKICAgIChXZWJDb3JlOjpGb250UGFsZXR0ZVZhbHVlczo6b3Zl
cnJpZGVDb2xvciBjb25zdCk6CiAgICAoV2ViQ29yZTo6Rm9udFBhbGV0dGVWYWx1ZXM6OmNsZWFy
T3ZlcnJpZGVDb2xvcik6CiAgICAoV2ViQ29yZTo6Rm9udFBhbGV0dGVWYWx1ZXM6OnJlbW92ZSk6
CiAgICAqIHN0eWxlL1J1bGVTZXQuY3BwOgogICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpC
dWlsZGVyOjphZGRDaGlsZFJ1bGVzKToKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFkYjFjZmIyYzdmLi45YzQx
YTI4ZWM0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAyMS0wOS0xOCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFB1c2ggZm9udC1w
YWxldHRlLXZhbHVlcyBkYXRhIGludG8gQ1NTRm9udFNlbGVjdG9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA0NDcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHN0ZXAgaXMgbmVjZXNzYXJ5IGZv
ciBwbHVtYmluZyBmb250LXBhbGV0dGUtdmFsdWVzIGRhdGEgaW50byBwbGF0Zm9ybS8KKyAgICAg
ICAgc28gaXQgY2FuIGJlIGZlZCBpdG5vIENvcmUgVGV4dC4KKworICAgICAgICBObyBuZXcgdGVz
dHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBIZWFk
ZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRTZWxlY3Rvcjo6YnVpbGRTdGFydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRT
ZWxlY3Rvcjo6YnVpbGRDb21wbGV0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVj
dG9yOjphZGRGb250RmFjZVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9y
OjphZGRGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0
b3IuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyk6Cisg
ICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBh
bGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0
ZVZhbHVlcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpG
b250UGFsZXR0ZVZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGFsZXR0ZVZhbHVlczo6
YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBhbGV0dGVWYWx1ZXM6
Om92ZXJyaWRlQ29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBhbGV0dGVWYWx1
ZXM6OmNsZWFyT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpGb250UGFsZXR0ZVZh
bHVlczo6cmVtb3ZlKToKKyAgICAgICAgKiBzdHlsZS9SdWxlU2V0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpCdWlsZGVyOjphZGRDaGlsZFJ1bGVzKToKKwogMjAyMS0w
OS0xOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAg
IFBhcnNpbmcgc3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggNzAyZmE4NGFjYmQwLi4wN2RhNmQ4OGM4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAt
MTI2MSw2ICsxMjYxLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0
ZS5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRSYW5nZXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rpb25BbGdvcml0aG0u
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDM0N2M4NWQzYjcwZi4uYWY2NTkzODBhOGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NTYsNiArNjU2LDcgQEAK
IAkJMUM3QTZFQjUyNkY1RDhGNTAwOTZEOEM3IC8qIEZvbnRQYWxldHRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzQ2NzRGRDI2RjQ4NDM2MDBCNjEy
NzMgLyogRm9udFBhbGV0dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkxQzgxQjk1QTBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4
MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzgxQjk1QzBFOTczMzA4
MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9y
Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMUNBRDVEOUEyNkY2ODc4OTAwQjZCNDY5IC8qIEZvbnRQYWxldHRlVmFsdWVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FENUQ5ODI2RjY4NjMx
MDBCNkI0NjkgLyogRm9udFBhbGV0dGVWYWx1ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2Vi
U2NyaXB0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQ0FGMzQ3RTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNBRjM0ODIwQTZD
NDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUYzNDdGMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJT
Y3JpcHRPYmplY3QubW0gKi87IH07CiAJCTFDQUYzNDgzMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJT
Y3JpcHRPYmplY3RQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQ0FGMzQ4MDBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0UHJp
dmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC03MDYwLDYgKzcwNjEsNyBAQAogCQkxQzg0QkU0MTI2RDM5MzlGMDAyRDYxRkMgLyogQ29tcG9z
ZWRDaGFyYWN0ZXJDbHVzdGVyVGV4dEl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBvc2Vk
Q2hhcmFjdGVyQ2x1c3RlclRleHRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQzhEMjZEMDIyQzA5Q0RFMDBEMTI1RjMgLyogbGliY29tcHJlc3Npb24udGJkICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gInNvdXJjZWNvZGUu
dGV4dC1iYXNlZC1keWxpYi1kZWZpbml0aW9uIjsgbmFtZSA9IGxpYmNvbXByZXNzaW9uLnRiZDsg
cGF0aCA9IHVzci9saWIvbGliY29tcHJlc3Npb24udGJkOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsg
fTsKIAkJMUM5MDRERjkwQkE5RDJDODAwODFFOUQwIC8qIFZlcnNpb24ueGNjb25maWcgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNBRDVEOTgyNkY2ODYzMTAwQjZCNDY5IC8qIEZvbnRQYWxldHRl
VmFsdWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRQYWxldHRlVmFsdWVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDQUYzNDdFMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRP
YmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU2NyaXB0T2JqZWN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUYzNDdGMEE2QzQwNTIwMEFCRTA2
RSAvKiBXZWJTY3JpcHRPYmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJTY3JpcHRPYmplY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFDQUYzNDgwMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3RQcml2YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNjcmlwdE9iamVjdFByaXZhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3MTk0LDYgKzI3MTk2LDcgQEAKIAkJCQk1
MDFCQUFBODEzOTUwRTJDMDBGN0FDRUIgLyogV2luZFJ1bGUuaCAqLywKIAkJCQkzNzk5MTk5NDEy
MDBEREY0MDBFQTA0MUMgLyogV09GRkZpbGVGb3JtYXQuY3BwICovLAogCQkJCTM3OTkxOTk1MTIw
MERERjQwMEVBMDQxQyAvKiBXT0ZGRmlsZUZvcm1hdC5oICovLAorCQkJCTFDQUQ1RDk4MjZGNjg2
MzEwMEI2QjQ2OSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBn
cmFwaGljczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zNTg4Nyw2ICszNTg5MCw3
IEBACiAJCQkJN0U5OUFGNTMwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZElu
ZGljYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDYwQzc0NTkyNkRENjlCQjAwNDI3RDNFIC8q
IFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRDEyOUNF
MUYzRDBFRjYwMEQxNUU0NyAvKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkxQ0FENUQ5QTI2RjY4Nzg5MDBCNkI0NjkgLyogRm9udFBhbGV0dGVW
YWx1ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQ0I0MUJCNEM0RTgwMDEyODk4RiAvKiBX
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NjM1MjFBRDIwODEwOTJBMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxRTFCRjAwMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rl
cy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmlu
ZGV4IGMyOGJjNzgyNWFiOC4uYTdjZWFkNWRmZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcs
IDIwMDgsIDIwMTEsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA3IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiAgICAgICAgICAgKEMpIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5u
QGtkZS5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xMjksMTIgKzEyOSwxNCBAQCB2b2lkIENT
U0ZvbnRTZWxlY3Rvcjo6YnVpbGRTdGFydGVkKCkKIAogICAgIEFTU0VSVChtX2Nzc0Nvbm5lY3Rp
b25zUG9zc2libHlUb1JlbW92ZS5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtX2Nzc0Nvbm5lY3Rp
b25zRW5jb3VudGVyZWREdXJpbmdCdWlsZC5pc0VtcHR5KCkpOwotICAgIEFTU0VSVChtX3N0YWdp
bmdBcmVhLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKG1fZm9udEZhY2VTdGFnaW5nQXJlYS5pc0Vt
cHR5KCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jc3NGb250RmFjZVNldC0+ZmFj
ZUNvdW50KCk7ICsraSkgewogICAgICAgICBDU1NGb250RmFjZSYgZmFjZSA9IG1fY3NzRm9udEZh
Y2VTZXQuZ2V0KClbaV07CiAgICAgICAgIGlmIChmYWNlLmNzc0Nvbm5lY3Rpb24oKSkKICAgICAg
ICAgICAgIG1fY3NzQ29ubmVjdGlvbnNQb3NzaWJseVRvUmVtb3ZlLmFkZCgmZmFjZSk7CiAgICAg
fQorCisgICAgbV9wYWxldHRlRmFtaWx5TWFwLmNsZWFyKCk7CiB9CiAKIHZvaWQgQ1NTRm9udFNl
bGVjdG9yOjpidWlsZENvbXBsZXRlZCgpCkBAIC0xNTIsMTAgKzE1NCwxMCBAQCB2b2lkIENTU0Zv
bnRTZWxlY3Rvcjo6YnVpbGRDb21wbGV0ZWQoKQogICAgICAgICAgICAgbV9jc3NGb250RmFjZVNl
dC0+cmVtb3ZlKCpmYWNlKTsKICAgICB9CiAKLSAgICBmb3IgKGF1dG8mIGl0ZW0gOiBtX3N0YWdp
bmdBcmVhKQorICAgIGZvciAoYXV0byYgaXRlbSA6IG1fZm9udEZhY2VTdGFnaW5nQXJlYSkKICAg
ICAgICAgYWRkRm9udEZhY2VSdWxlKGl0ZW0uc3R5bGVSdWxlRm9udEZhY2UsIGl0ZW0uaXNJbml0
aWF0aW5nRWxlbWVudEluVXNlckFnZW50U2hhZG93VHJlZSk7CiAgICAgbV9jc3NDb25uZWN0aW9u
c0VuY291bnRlcmVkRHVyaW5nQnVpbGQuY2xlYXIoKTsKLSAgICBtX3N0YWdpbmdBcmVhLmNsZWFy
KCk7CisgICAgbV9mb250RmFjZVN0YWdpbmdBcmVhLmNsZWFyKCk7CiAgICAgbV9jc3NDb25uZWN0
aW9uc1Bvc3NpYmx5VG9SZW1vdmUuY2xlYXIoKTsKIH0KIApAQCAtMTYzLDcgKzE2NSw3IEBAIHZv
aWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UmIGZv
bnRGYWNlUnVsZSwgYm9vbCBpc0luCiB7CiAgICAgaWYgKG1fYnVpbGRJc1VuZGVyd2F5KSB7CiAg
ICAgICAgIG1fY3NzQ29ubmVjdGlvbnNFbmNvdW50ZXJlZER1cmluZ0J1aWxkLmFkZCgmZm9udEZh
Y2VSdWxlKTsKLSAgICAgICAgbV9zdGFnaW5nQXJlYS5hcHBlbmQoe2ZvbnRGYWNlUnVsZSwgaXNJ
bml0aWF0aW5nRWxlbWVudEluVXNlckFnZW50U2hhZG93VHJlZX0pOworICAgICAgICBtX2ZvbnRG
YWNlU3RhZ2luZ0FyZWEuYXBwZW5kKHtmb250RmFjZVJ1bGUsIGlzSW5pdGlhdGluZ0VsZW1lbnRJ
blVzZXJBZ2VudFNoYWRvd1RyZWV9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjI5
LDYgKzIzMSwxOCBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKFN0eWxl
UnVsZUZvbnRGYWNlJiBmb250RmFjZVJ1bGUsIGJvb2wgaXNJbgogICAgICsrbV92ZXJzaW9uOwog
fQogCit2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udFBhbGV0dGVWYWx1ZXNSdWxlKFN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzJiBmb250UGFsZXR0ZVZhbHVlc1J1bGUpCit7CisgICAgYXV0
byBhZGRSZXN1bHQgPSBtX3BhbGV0dGVGYW1pbHlNYXAuZW5zdXJlKGZvbnRQYWxldHRlVmFsdWVz
UnVsZS5mb250RmFtaWx5KCksIFtdICgpIHsKKyAgICAgICAgcmV0dXJuIFBhbGV0dGVOYW1lTWFw
IHsgfTsKKyAgICB9KTsKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmVuc3VyZShmb250
UGFsZXR0ZVZhbHVlc1J1bGUubmFtZSgpLCBbJl0gKCkgeworICAgICAgICByZXR1cm4gZm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmZvbnRQYWxldHRlVmFsdWVzKCk7CisgICAgfSk7CisKKyAgICArK21f
dmVyc2lvbjsKK30KKwogdm9pZCBDU1NGb250U2VsZWN0b3I6OnJlZ2lzdGVyRm9ySW52YWxpZGF0
aW9uQ2FsbGJhY2tzKEZvbnRTZWxlY3RvckNsaWVudCYgY2xpZW50KQogewogICAgIG1fY2xpZW50
cy5hZGQoJmNsaWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKaW5kZXggMjRi
OGQ2NjljZjcwLi44ZmYyMDVmZTZkMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9y
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNyAt
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJ1aWxkQ29t
cGxldGVkKCk7CiAKICAgICB2b2lkIGFkZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYs
IGJvb2wgaXNJbml0aWF0aW5nRWxlbWVudEluVXNlckFnZW50U2hhZG93VHJlZSk7CisgICAgdm9p
ZCBhZGRGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmKTsK
IAogICAgIEZvbnRDYWNoZSYgZm9udENhY2hlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9mb250
Q2FjaGUuZ2V0KCk7IH0KICAgICB2b2lkIGZvbnRDYWNoZUludmFsaWRhdGVkKCkgZmluYWw7CkBA
IC0xMTcsNyArMTE4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgU3R5bGVSdWxlRm9udEZhY2UmIHN0
eWxlUnVsZUZvbnRGYWNlOwogICAgICAgICBib29sIGlzSW5pdGlhdGluZ0VsZW1lbnRJblVzZXJB
Z2VudFNoYWRvd1RyZWU7CiAgICAgfTsKLSAgICBWZWN0b3I8UGVuZGluZ0ZvbnRGYWNlUnVsZT4g
bV9zdGFnaW5nQXJlYTsKKyAgICBWZWN0b3I8UGVuZGluZ0ZvbnRGYWNlUnVsZT4gbV9mb250RmFj
ZVN0YWdpbmdBcmVhOwogCiAgICAgV2Vha1B0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX2Nv
bnRleHQ7CiAgICAgUmVmPEZvbnRDYWNoZT4gbV9mb250Q2FjaGU7CkBAIC0xMjUsNiArMTI2LDEw
IEBAIHByaXZhdGU6CiAgICAgUmVmPENTU0ZvbnRGYWNlU2V0PiBtX2Nzc0ZvbnRGYWNlU2V0Owog
ICAgIEhhc2hTZXQ8Rm9udFNlbGVjdG9yQ2xpZW50Kj4gbV9jbGllbnRzOwogCisgICAgdXNpbmcg
UGFsZXR0ZU5hbWVNYXAgPSBIYXNoTWFwPEF0b21TdHJpbmcsIEZvbnRQYWxldHRlVmFsdWVzPjsK
KyAgICB1c2luZyBQYWxldHRlRmFtaWx5TWFwID0gSGFzaE1hcDxBdG9tU3RyaW5nLCBQYWxldHRl
TmFtZU1hcD47CisgICAgUGFsZXR0ZUZhbWlseU1hcCBtX3BhbGV0dGVGYW1pbHlNYXA7CisKICAg
ICBIYXNoU2V0PFJlZlB0cjxDU1NGb250RmFjZT4+IG1fY3NzQ29ubmVjdGlvbnNQb3NzaWJseVRv
UmVtb3ZlOwogICAgIEhhc2hTZXQ8UmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPj4gbV9jc3NDb25u
ZWN0aW9uc0VuY291bnRlcmVkRHVyaW5nQnVpbGQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAK
aW5kZXggNDIzMTBhOWEyM2MwLi44NDNmMWMwY2RlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCkBAIC0zNDksMTIgKzM0OSwxMSBAQCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1
bGVGb250RmFjZTo6bXV0YWJsZVByb3BlcnRpZXMoKQogICAgIHJldHVybiBkb3duY2FzdDxNdXRh
YmxlU3R5bGVQcm9wZXJ0aWVzPihtX3Byb3BlcnRpZXMuZ2V0KCkpOwogfQogCi1TdHlsZVJ1bGVG
b250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0
cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgUGFsZXR0ZUlu
ZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9y
KQorU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
KGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHksIGNv
bnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8
Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9yKQogICAg
IDogU3R5bGVSdWxlQmFzZShTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKICAgICAs
IG1fbmFtZShuYW1lKQogICAgICwgbV9mb250RmFtaWx5KGZvbnRGYW1pbHkpCi0gICAgLCBtX2Jh
c2VQYWxldHRlKGJhc2VQYWxldHRlKQotICAgICwgbV9vdmVycmlkZUNvbG9yKFdURk1vdmUob3Zl
cnJpZGVDb2xvcikpCisgICAgLCBtX2ZvbnRQYWxldHRlVmFsdWVzKGJhc2VQYWxldHRlLCBXVEZN
b3ZlKG92ZXJyaWRlQ29sb3IpKQogewogfQogCkBAIC0zNjIsOCArMzYxLDcgQEAgU3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxl
UnVsZUZvbnRQYWxldHQKICAgICA6IFN0eWxlUnVsZUJhc2UobykKICAgICAsIG1fbmFtZShvLm5h
bWUoKSkKICAgICAsIG1fZm9udEZhbWlseShvLmZvbnRGYW1pbHkoKSkKLSAgICAsIG1fYmFzZVBh
bGV0dGUoby5iYXNlUGFsZXR0ZSgpKQotICAgICwgbV9vdmVycmlkZUNvbG9yKG8ub3ZlcnJpZGVD
b2xvcigpKQorICAgICwgbV9mb250UGFsZXR0ZVZhbHVlcyhvLm1fZm9udFBhbGV0dGVWYWx1ZXMp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCBiNTNkZjliMTk3MjcuLmFkZWNkYmQ5
NThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtMjMsNiArMjMsNyBAQAogCiAjaW5jbHVk
ZSAiQ1NTU2VsZWN0b3JMaXN0LmgiCiAjaW5jbHVkZSAiQ29tcGlsZWRTZWxlY3Rvci5oIgorI2lu
Y2x1ZGUgIkZvbnRQYWxldHRlVmFsdWVzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgi
CiAjaW5jbHVkZSAiU3R5bGVSdWxlVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAg
LTE1OCwxMSArMTU5LDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgU3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6Ci0gICAgdXNpbmcg
UGFsZXR0ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5nPjsKLSAgICB1c2luZyBQ
YWxldHRlQ29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50NjRfdD47Ci0gICAgdXNp
bmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xvckluZGV4LCBDb2xvcj47
Ci0KLSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjcmVhdGUoY29u
c3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3Qg
UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4mJiBvdmVy
cmlkZUNvbG9yKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzKG5hbWUsIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRlQ29sb3Ip
KSk7IH0KKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjcmVhdGUo
Y29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29u
c3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxG
b250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwgZm9udEZh
bWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsgfQogICAgIAogICAg
IH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOwogCkBAIC0xNzYsMzggKzE3Myw0MCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBtX2ZvbnRGYW1pbHk7CiAgICAgfQogCi0gICAgY29uc3Qg
UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSgpIGNvbnN0CisgICAgY29uc3QgRm9udFBhbGV0dGVW
YWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBt
X2ZvbnRQYWxldHRlVmFsdWVzOworICAgIH0KKworICAgIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVz
OjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVy
biBtX2Jhc2VQYWxldHRlOworICAgICAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5iYXNl
UGFsZXR0ZSgpOwogICAgIH0KIAotICAgIGNvbnN0IFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+JiBv
dmVycmlkZUNvbG9yKCkgY29uc3QKKyAgICBjb25zdCBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6
Ok92ZXJyaWRkZW5Db2xvcj4mIG92ZXJyaWRlQ29sb3IoKSBjb25zdAogICAgIHsKLSAgICAgICAg
cmV0dXJuIG1fb3ZlcnJpZGVDb2xvcjsKKyAgICAgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1
ZXMub3ZlcnJpZGVDb2xvcigpOwogICAgIH0KIAogICAgIHZvaWQgY2xlYXJPdmVycmlkZUNvbG9y
KCkKICAgICB7Ci0gICAgICAgIG1fb3ZlcnJpZGVDb2xvci5jbGVhcigpOworICAgICAgICBtX2Zv
bnRQYWxldHRlVmFsdWVzLmNsZWFyT3ZlcnJpZGVDb2xvcigpOwogICAgIH0KIAogICAgIGJvb2wg
cmVtb3ZlKHVuc2lnbmVkIGtleSkKICAgICB7Ci0gICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29s
b3IucmVtb3ZlQWxsTWF0Y2hpbmcoW2tleV0oY29uc3QgT3ZlcnJpZGRlbkNvbG9yJiBvdmVycmlk
ZGVuQ29sb3IpIC0+IGJvb2wgewotICAgICAgICAgICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8aW50NjRfdD4ob3ZlcnJpZGRlbkNvbG9yLmZpcnN0KSAmJiBXVEY6OmdldDxpbnQ2NF90
PihvdmVycmlkZGVuQ29sb3IuZmlyc3QpID09IGtleTsKLSAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzLnJlbW92ZShrZXkpOwogICAgIH0KIAogICAgIFJlZjxT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKnRoaXMpKTsgfQogCiBwcml2YXRlOgot
ICAgIGV4cGxpY2l0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcm
IG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHksIGNvbnN0IFBhbGV0dGVJbmRleCYg
YmFzZVBhbGV0dGUsIFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcik7Cisg
ICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29u
c3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0
dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRl
bkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpOwogICAgIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
KGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJik7CiAKICAgICBBdG9tU3RyaW5nIG1f
bmFtZTsKICAgICBBdG9tU3RyaW5nIG1fZm9udEZhbWlseTsKLSAgICBQYWxldHRlSW5kZXggbV9i
YXNlUGFsZXR0ZTsKLSAgICBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiBtX292ZXJyaWRlQ29sb3I7
CisgICAgRm9udFBhbGV0dGVWYWx1ZXMgbV9mb250UGFsZXR0ZVZhbHVlczsKIH07CiAKIGNsYXNz
IFN0eWxlUnVsZVBhZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAppbmRleCBhZjVkZTVmOGEyNmUuLjkw
ZDA5ZWQzOWExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwu
Y3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ1NTVmFyaWFibGVQYXJzZXIuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJGb250
UGFsZXR0ZVZhbHVlcy5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlQYXJzZXIuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgpAQCAt
Njc2LDcgKzY3Nyw3IEBAIFJlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gQ1NTUGFy
c2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDCiAgICAgaWYgKGF1dG8gZm9u
dEZhbWlseVZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0
eUZvbnRGYW1pbHkpKQogICAgICAgICBmb250RmFtaWx5ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCpmb250RmFtaWx5VmFsdWUpLmZvbnRGYW1pbHkoKS5mYW1pbHlOYW1lOwogCi0gICAg
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCBiYXNlUGFsZXR0ZShudWxs
QXRvbSgpKTsKKyAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4IGJhc2VQYWxldHRl
KG51bGxBdG9tKCkpOwogICAgIGlmIChhdXRvIGJhc2VQYWxldHRlVmFsdWUgPSBwcm9wZXJ0aWVz
LT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QmFzZVBhbGV0dGUpKSB7CiAgICAgICAg
IGNvbnN0IGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+
KCpiYXNlUGFsZXR0ZVZhbHVlKTsKICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzU3RyaW5n
KCkpCkBAIC02ODUsMTEgKzY4NiwxMSBAQCBSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQwogICAgICAg
ICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1ZTxpbnQ2NF90PigpOwogICAg
IH0KIAotICAgIFZlY3RvcjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNv
bG9yPiBvdmVycmlkZUNvbG9yOworICAgIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJp
ZGRlbkNvbG9yPiBvdmVycmlkZUNvbG9yOwogICAgIGlmIChhdXRvIG92ZXJyaWRlQ29sb3JWYWx1
ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlPdmVycmlkZUNv
bG9yKSkgewogICAgICAgICBjb25zdCBhdXRvJiBsaXN0ID0gZG93bmNhc3Q8Q1NTVmFsdWVMaXN0
Pigqb3ZlcnJpZGVDb2xvclZhbHVlKTsKICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBpdGVtIDog
bGlzdCkgewotICAgICAgICAgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVD
b2xvckluZGV4IGtleShudWxsQXRvbSgpKTsKKyAgICAgICAgICAgIEZvbnRQYWxldHRlVmFsdWVz
OjpQYWxldHRlQ29sb3JJbmRleCBrZXkobnVsbEF0b20oKSk7CiAgICAgICAgICAgICBjb25zdCBh
dXRvJiBwYWlyID0gZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWU+KGl0ZW0uZ2V0KCkpOwogICAgICAgICAgICAgaWYgKHBhaXIua2V5KCkuaXNTdHJpbmcoKSkK
ICAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnN0cmluZ1ZhbHVlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIzOWI1YmQ3MjhkMAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxl
dHRlVmFsdWVzLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRm9udFBhbGV0dGVWYWx1ZXMgeworcHVibGljOgorICAg
IHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8aW50NjRfdCwgQXRvbVN0cmluZz47CisgICAg
dXNpbmcgUGFsZXR0ZUNvbG9ySW5kZXggPSBWYXJpYW50PEF0b21TdHJpbmcsIGludDY0X3Q+Owor
ICAgIHVzaW5nIE92ZXJyaWRkZW5Db2xvciA9IHN0ZDo6cGFpcjxQYWxldHRlQ29sb3JJbmRleCwg
Q29sb3I+OworCisgICAgRm9udFBhbGV0dGVWYWx1ZXMoKSA9IGRlZmF1bHQ7CisKKyAgICBGb250
UGFsZXR0ZVZhbHVlcyhjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8T3Zl
cnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisgICAgICAgIDogbV9iYXNlUGFsZXR0ZShi
YXNlUGFsZXR0ZSkKKyAgICAgICAgLCBtX292ZXJyaWRlQ29sb3IoV1RGTW92ZShvdmVycmlkZUNv
bG9yKSkKKyAgICB7CisgICAgfQorCisgICAgY29uc3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0
ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9iYXNlUGFsZXR0ZTsKKyAgICB9CisK
KyAgICBjb25zdCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9vdmVycmlkZUNvbG9yOworICAgIH0KKworICAgIHZv
aWQgY2xlYXJPdmVycmlkZUNvbG9yKCkKKyAgICB7CisgICAgICAgIG1fb3ZlcnJpZGVDb2xvci5j
bGVhcigpOworICAgIH0KKworICAgIGJvb2wgcmVtb3ZlKHVuc2lnbmVkIGtleSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3IucmVtb3ZlQWxsTWF0Y2hpbmcoW2tleV0oY29u
c3QgT3ZlcnJpZGRlbkNvbG9yJiBvdmVycmlkZGVuQ29sb3IpIC0+IGJvb2wgeworICAgICAgICAg
ICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8aW50NjRfdD4ob3ZlcnJpZGRlbkNvbG9y
LmZpcnN0KSAmJiBXVEY6OmdldDxpbnQ2NF90PihvdmVycmlkZGVuQ29sb3IuZmlyc3QpID09IGtl
eTsKKyAgICAgICAgfSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBhbGV0dGVJbmRleCBtX2Jh
c2VQYWxldHRlOworICAgIFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+IG1fb3ZlcnJpZGVDb2xvcjsK
K307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKaW5kZXggMTdhNzlkMjk1NTlkLi44YzZk
NzhlMTE3ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCkBAIC0yLDcgKzIsNyBAQAogICog
Q29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAgICAg
ICAgKEMpIDIwMDQtMjAwNSBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gKGtkZUBjYXJld29sZi5jb20p
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgTmljaG9sYXMgU2hhbmtzICh3ZWJraXRAbmlj
a3NoYW5rcy5jb20pCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5
YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBFcmljIFNl
aWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNo
IE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxl
LmNvbS8pCkBAIC0zNTgsNiArMzU4LDE1IEBAIHZvaWQgUnVsZVNldDo6QnVpbGRlcjo6YWRkQ2hp
bGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMpCiAgICAg
ICAgICAgICBtZWRpYVF1ZXJ5Q29sbGVjdG9yLmRpZE11dGF0ZVJlc29sdmVyKCk7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQorICAgICAgICBpZiAoaXM8U3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXM+KCpydWxlKSkgeworICAgICAgICAgICAgLy8gQWRkIHRoaXMgZm9udCBmYWNl
IHRvIG91ciBzZXQuCisgICAgICAgICAgICBpZiAocmVzb2x2ZXIpIHsKKyAgICAgICAgICAgICAg
ICByZXNvbHZlci0+ZG9jdW1lbnQoKS5mb250U2VsZWN0b3IoKS5hZGRGb250UGFsZXR0ZVZhbHVl
c1J1bGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KCpydWxlLmdldCgpKSk7
CisgICAgICAgICAgICAgICAgcmVzb2x2ZXItPmludmFsaWRhdGVNYXRjaGVkRGVjbGFyYXRpb25z
Q2FjaGUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1lZGlhUXVlcnlDb2xsZWN0b3Iu
ZGlkTXV0YXRlUmVzb2x2ZXIoKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAg
ICAgICAgIGlmIChpczxTdHlsZVJ1bGVLZXlmcmFtZXM+KCpydWxlKSkgewogICAgICAgICAgICAg
aWYgKHJlc29sdmVyKQogICAgICAgICAgICAgICAgIHJlc29sdmVyLT5hZGRLZXlmcmFtZVN0eWxl
KGRvd25jYXN0PFN0eWxlUnVsZUtleWZyYW1lcz4oKnJ1bGUpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438795</attachid>
            <date>2021-09-21 02:01:52 -0700</date>
            <delta_ts>2021-09-21 02:18:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230447-20210921020151.patch</filename>
            <type>text/plain</type>
            <size>7320</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMwNDE4OTZhNzY2NGRh
YzBmMjVhMjdjN2RhZDg5YjI0MTQ2ZmY1OS4uMzIyMGI2MWNmY2M2OThmZmQyY2U4OTdiNTc0YTZh
OWIyY2E4OGNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA5LTIxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUHVzaCBmb250
LXBhbGV0dGUtdmFsdWVzIGRhdGEgaW50byBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDQ0NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcgSSBhZGRlZCBwYXJzaW5nIHN1cHBvcnQgZm9yIGZv
bnQtcGFsZXR0ZS12YWx1ZXMuCisgICAgICAgIFRoaXMgcGF0Y2ggcHVzaGVzIHRoZSBwYXJzZWQg
ZGF0YSBkb3duIGludG8gQ1NTRm9udFNlbGVjdG9yLCBzbyBpdCBjYW4gYmUgcGFzc2VkIGludG8g
dGhlIGZvbnQKKyAgICAgICAgY3JlYXRpb24gcm91dGluZXMuIFRoZSBkYXRhIGlzIHJldGFpbmVk
LCBzbyBpdCdzIGFsd2F5cyBwb3NzaWJsZSB0byBxdWVyeSB0aGUgQ1NTRm9udFNlbGVjdG9yIGZv
cgorICAgICAgICB0aGUgc3RhdGUgb2YgdGhlIHdvcmxkIHJlZ2FyZGluZyBmb250IHBhbGV0dGVz
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNo
YW5nZS4gVGhpcyBxdWVyeWluZyBmdW5jdGlvbmFsaXR5IHdpbGwgYmUgaG9va2VkIHVwCisgICAg
ICAgIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA0NDkuCisK
KyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRTZWxlY3Rvcjo6YnVpbGRTdGFydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRT
ZWxlY3Rvcjo6YWRkRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRTZWxlY3Rvcjo6Zm9udFJhbmdlc0ZvckZhbWlseSk6CisgICAgICAgICogY3NzL0NTU0Zv
bnRTZWxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGU6OlJ1bGVTZXQ6OkJ1aWxkZXI6OmFkZENoaWxkUnVsZXMpOgorCiAyMDIxLTA5
LTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
UGFyc2luZyBzdXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGMyOGJjNzgyNWFiOGM1ZGY5Mjg4ZGFhYTc0MTNiYTQy
M2NmZDliYWYuLjEzMTkzY2I3NDVmOTU3OGRkOTk5MzlkOWEwYzcxMTg0Yjk4NmVmYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiAgICAgICAgICAgKEMpIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1t
ZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xMzUsNiAr
MTM1LDggQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJ1aWxkU3RhcnRlZCgpCiAgICAgICAgIGlm
IChmYWNlLmNzc0Nvbm5lY3Rpb24oKSkKICAgICAgICAgICAgIG1fY3NzQ29ubmVjdGlvbnNQb3Nz
aWJseVRvUmVtb3ZlLmFkZCgmZmFjZSk7CiAgICAgfQorCisgICAgbV9wYWxldHRlRmFtaWx5TWFw
LmNsZWFyKCk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpidWlsZENvbXBsZXRlZCgpCkBA
IC0yMjksNiArMjMxLDE1IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUo
U3R5bGVSdWxlRm9udEZhY2UmIGZvbnRGYWNlUnVsZSwgYm9vbCBpc0luCiAgICAgKyttX3ZlcnNp
b247CiB9CiAKK3ZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250UGFsZXR0ZVZhbHVlc1J1bGUo
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSkKK3sKKyAg
ICBhdXRvIGFkZFJlc3VsdCA9IG1fcGFsZXR0ZUZhbWlseU1hcC5lbnN1cmUoUGFsZXR0ZUtleShm
b250UGFsZXR0ZVZhbHVlc1J1bGUuZm9udEZhbWlseSgpLCBmb250UGFsZXR0ZVZhbHVlc1J1bGUu
bmFtZSgpKSwgWyZdICgpIHsKKyAgICAgICAgcmV0dXJuIGZvbnRQYWxldHRlVmFsdWVzUnVsZS5m
b250UGFsZXR0ZVZhbHVlcygpOworICAgIH0pOworCisgICAgKyttX3ZlcnNpb247Cit9CisKIHZv
aWQgQ1NTRm9udFNlbGVjdG9yOjpyZWdpc3RlckZvckludmFsaWRhdGlvbkNhbGxiYWNrcyhGb250
U2VsZWN0b3JDbGllbnQmIGNsaWVudCkKIHsKICAgICBtX2NsaWVudHMuYWRkKCZjbGllbnQpOwpA
QCAtMzIwLDYgKzMzMSw4IEBAIEZvbnRSYW5nZXMgQ1NTRm9udFNlbGVjdG9yOjpmb250UmFuZ2Vz
Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyCiAgICAgICAgICAgICBm
YW1pbHlGb3JMb29rdXAgPSAqZ2VuZXJpY0ZhbWlseU9wdGlvbmFsOwogICAgIH07CiAKKyAgICAv
LyBGSVhNRSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNDQ5OiBR
dWVyeSBmb3IgZm9udCBwYWxldHRlIGRhdGEgYW5kIHBhc3MgaXQgaW50byB0aGUgZm9udCBjcmVh
dGlvbiByb3V0aW5lcy4KKwogICAgIGlmIChyZXNvbHZlR2VuZXJpY0ZhbWlseUZpcnN0KQogICAg
ICAgICByZXNvbHZlQW5kQXNzaWduR2VuZXJpY0ZhbWlseSgpOwogICAgIERvY3VtZW50KiBkb2N1
bWVudCA9IGlzPERvY3VtZW50PihtX2NvbnRleHQuZ2V0KCkpID8gJmRvd25jYXN0PERvY3VtZW50
PigqbV9jb250ZXh0KSA6IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udFNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgK
aW5kZXggMjRiOGQ2NjljZjcwYmU4OTAyYTM5NGUzNTYzYjlkNGIyZjliNDlmYS4uNWZkMzVkNWQ3
MzI4YTAyZmI4MWEyNDJkYzI5MWU4NDlmYzBiOTYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIw
MDgsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJ1
aWxkQ29tcGxldGVkKCk7CiAKICAgICB2b2lkIGFkZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250
RmFjZSYsIGJvb2wgaXNJbml0aWF0aW5nRWxlbWVudEluVXNlckFnZW50U2hhZG93VHJlZSk7Cisg
ICAgdm9pZCBhZGRGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMmKTsKIAogICAgIEZvbnRDYWNoZSYgZm9udENhY2hlKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9mb250Q2FjaGUuZ2V0KCk7IH0KICAgICB2b2lkIGZvbnRDYWNoZUludmFsaWRhdGVkKCkgZmlu
YWw7CkBAIC0xMjUsNiArMTI2LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPENTU0ZvbnRGYWNlU2V0
PiBtX2Nzc0ZvbnRGYWNlU2V0OwogICAgIEhhc2hTZXQ8Rm9udFNlbGVjdG9yQ2xpZW50Kj4gbV9j
bGllbnRzOwogCisgICAgc3RydWN0IFBhbGV0dGVLZXk7CisgICAgc3RydWN0IFBhbGV0dGVLZXlI
YXNoOworICAgIEhhc2hNYXA8UGFsZXR0ZUtleSwgRm9udFBhbGV0dGVWYWx1ZXMsIFBhbGV0dGVL
ZXlIYXNoLCBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8UGFsZXR0ZUtleT4+IG1fcGFsZXR0ZUZhbWls
eU1hcDsKKwogICAgIEhhc2hTZXQ8UmVmUHRyPENTU0ZvbnRGYWNlPj4gbV9jc3NDb25uZWN0aW9u
c1Bvc3NpYmx5VG9SZW1vdmU7CiAgICAgSGFzaFNldDxSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+
PiBtX2Nzc0Nvbm5lY3Rpb25zRW5jb3VudGVyZWREdXJpbmdCdWlsZDsKIApAQCAtMTQwLDQgKzE0
NSw0OCBAQCBwcml2YXRlOgogICAgIFdlYktpdEZvbnRGYW1pbHlOYW1lczo6RmFtaWx5TmFtZXNM
aXN0PEF0b21TdHJpbmc+IG1fZm9udEZhbWlseU5hbWVzOwogfTsKIAorc3RydWN0IENTU0ZvbnRT
ZWxlY3Rvcjo6UGFsZXR0ZUtleSB7CisgICAgUGFsZXR0ZUtleSgpCisgICAgeworICAgIH0KKwor
ICAgIFBhbGV0dGVLZXkoY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgQXRvbVN0
cmluZyYgcGFsZXR0ZU5hbWUpCisgICAgICAgIDogZm9udEZhbWlseShmb250RmFtaWx5KQorICAg
ICAgICAsIHBhbGV0dGVOYW1lKHBhbGV0dGVOYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBleHBs
aWNpdCBQYWxldHRlS2V5KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSB0KQorICAgICAg
ICA6IGZvbnRGYW1pbHkodCkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBpc0hhc2hUYWJsZURl
bGV0ZWRWYWx1ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZm9udEZhbWlseS5pc0hh
c2hUYWJsZURlbGV0ZWRWYWx1ZSgpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBQYWxldHRlS2V5JiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmb250RmFt
aWx5ID09IG90aGVyLmZvbnRGYW1pbHkgJiYgcGFsZXR0ZU5hbWUgPT0gb3RoZXIucGFsZXR0ZU5h
bWU7CisgICAgfQorCisgICAgQXRvbVN0cmluZyBmb250RmFtaWx5OworICAgIEF0b21TdHJpbmcg
cGFsZXR0ZU5hbWU7Cit9OworCitzdHJ1Y3QgQ1NTRm9udFNlbGVjdG9yOjpQYWxldHRlS2V5SGFz
aCB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgUGFsZXR0ZUtleSYga2V5KQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVIYXNoKGtleS5mb250RmFtaWx5LCBrZXkucGFsZXR0
ZU5hbWUpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFBhbGV0dGVLZXkm
IGEsIGNvbnN0IFBhbGV0dGVLZXkmIGIpCisgICAgeworICAgICAgICByZXR1cm4gYSA9PSBiOwor
ICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxl
dGVkID0gdHJ1ZTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVs
ZVNldC5jcHAKaW5kZXggMTdhNzlkMjk1NTlkYjFiYzZkNDkxM2RmYTZiNzY1M2M4MDQwYTQ2Ni4u
Mzk3YmYyNTk0ODE5MGUyZDEwZjcxMzc0MTk3ZGVlN2FiNzYyMzU1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
UnVsZVNldC5jcHAKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBL
bm9sbCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwNC0yMDA1IEFsbGFuIFNh
bmRmZWxkIEplbnNlbiAoa2RlQGNhcmV3b2xmLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwNyBOaWNob2xhcyBTaGFua3MgKHdlYmtpdEBuaWNrc2hhbmtzLmNvbSkKLSAqIENvcHlyaWdo
dCAoQykgMjAwNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgogICog
Q29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKQEAgLTM1OCw2ICszNTgsMTQg
QEAgdm9pZCBSdWxlU2V0OjpCdWlsZGVyOjphZGRDaGlsZFJ1bGVzKGNvbnN0IFZlY3RvcjxSZWZQ
dHI8U3R5bGVSdWxlQmFzZT4+JiBydWxlcykKICAgICAgICAgICAgIG1lZGlhUXVlcnlDb2xsZWN0
b3IuZGlkTXV0YXRlUmVzb2x2ZXIoKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
CisgICAgICAgIGlmIChpczxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4oKnJ1bGUpKSB7Cisg
ICAgICAgICAgICBpZiAocmVzb2x2ZXIpIHsKKyAgICAgICAgICAgICAgICByZXNvbHZlci0+ZG9j
dW1lbnQoKS5mb250U2VsZWN0b3IoKS5hZGRGb250UGFsZXR0ZVZhbHVlc1J1bGUoZG93bmNhc3Q8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KCpydWxlLmdldCgpKSk7CisgICAgICAgICAgICAg
ICAgcmVzb2x2ZXItPmludmFsaWRhdGVNYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIG1lZGlhUXVlcnlDb2xsZWN0b3IuZGlkTXV0YXRlUmVzb2x2
ZXIoKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAgIGlmIChpczxT
dHlsZVJ1bGVLZXlmcmFtZXM+KCpydWxlKSkgewogICAgICAgICAgICAgaWYgKHJlc29sdmVyKQog
ICAgICAgICAgICAgICAgIHJlc29sdmVyLT5hZGRLZXlmcmFtZVN0eWxlKGRvd25jYXN0PFN0eWxl
UnVsZUtleWZyYW1lcz4oKnJ1bGUpKTsK
</data>
<flag name="review"
          id="462284"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="462286"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>