<?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>83512</bug_id>
          
          <creation_ts>2012-04-09 14:58:17 -0700</creation_ts>
          <short_desc>FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows</short_desc>
          <delta_ts>2012-08-22 11:30:52 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94735</blocked>
    
    <blocked>51450</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Koji Ishii">kojii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bashi</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>reed</cc>
    
    <cc>senorblanco</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>598646</commentid>
    <comment_count>0</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-04-09 14:58:17 -0700</bug_when>
    <thetext>As summary says, the value isn&apos;t set on Chromium platform and is always gDefaultUnitsPerEm = 1000.

It looks like the bug 75961 is the one for Skia, but Chromium Windows use Win32 API instead of Skia for the metrics and since the data is available there, I think we should set the value from Win32 on Windows.

Note that bug 51450 requires this fix (or 75961 + switching to Skia on Windows.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598655</commentid>
    <comment_count>1</comment_count>
      <attachid>136312</attachid>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-04-09 15:05:38 -0700</bug_when>
    <thetext>Created attachment 136312
set FontMetrics.unitsPerEm on Chromium Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598915</commentid>
    <comment_count>2</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-04-09 19:34:04 -0700</bug_when>
    <thetext>LGTM. Tony, could you do formal review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599125</commentid>
    <comment_count>3</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-04-10 03:14:00 -0700</bug_when>
    <thetext>Note that I searched for unitsPerEm() within chrome.sln. All usages of unitsPerEm() are either Mac, CGWin, or ENABLE(SVG_FONTS), and all such source files are under _excluded_files in the sln.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606065</commentid>
    <comment_count>4</comment_count>
      <attachid>136312</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-19 16:00:45 -0700</bug_when>
    <thetext>Comment on attachment 136312
set FontMetrics.unitsPerEm on Chromium Windows

What is the purpose if there is no behavior change?  Please state in your ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606562</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-04-20 07:13:49 -0700</bug_when>
    <thetext>Koji,

Is unitsperem all that is needed in SkTypeface to switch over to using Skia for metrics (something we really want to do, so we can change Skia&apos;s backend to directwrite)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606596</commentid>
    <comment_count>6</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-04-20 08:52:51 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Koji,
&gt; 
&gt; Is unitsperem all that is needed in SkTypeface to switch over to using Skia for metrics (something we really want to do, so we can change Skia&apos;s backend to directwrite)?

Hi Mike,

Unfortunately, no. There are bunch of code in SimpleFontDataChromiumWin.cpp and FontPlatformDataChromiumWin.cpp that use GDI for font metrics as you might know, and I&apos;m adding a couple of more because functions I need for 51450 are missing in Skia Win today.

The reason I put this bug was that, my on-going patches for 51450 and 69282 require unitsPerEm, neither Chromium Windows nor Skia sets it today, and I thought having a separate bug from 51450 works better for you guys to be aware that I&apos;m adding more GDI code. As it goes, 51450 has more GDI code than this bug that I&apos;m talking with bashi@google.com to resolve this one as INVALID and merge this patch to 51450.

It sounds great to me that that you&apos;re planning to switch over to DirectWrite. Do you have a bug for these GDI font code to move to Skia? If so, and if the bug is going to land earlier than this/51450, I&apos;m happy to add the functions to Skia Win instead of these files. Another function I need is to get OpenType table, which is available for Linux version of Skia but not for Windows, so I&apos;m trying to add it in 51450.

If it&apos;s going to take a bit more, I might resolve this one as INVALID and merge with 51450, then you guys can look into current code plus 51450 to see which functions you need to move to Skia. Please let me know your preferences and I&apos;m very happy to help you.

Another thing to keep in mind is whether you&apos;re supporting old Windows that don&apos;t run DirectWrite or not. If you do, then you need a run-time switch between GDI and DirectWrite, and you&apos;ll need GDI code anyway, and it might make sense for me to keep adding GDI code and for you to move them to Skia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606621</commentid>
    <comment_count>7</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-04-20 09:15:08 -0700</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=124406

1. We are a ways from DW support, so I wouldn&apos;t wait for it if you have a quick fix for something now.
2. We will support runtime switching between GDI and DW backends (in skia)

Please use the above crbug to list any missing APIs in Skia that you identify (ala unitsperem)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609676</commentid>
    <comment_count>8</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-04-25 05:44:37 -0700</bug_when>
    <thetext>After discussing with Chrome guys, I think it&apos;s more appropriate to merge this fix into bug 51450, and therefore I&apos;m resolving this as INVALID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700693</commentid>
    <comment_count>9</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-08-21 06:22:49 -0700</bug_when>
    <thetext>Given the review of bug 51450 by Tony, it was recommended to split the patch for the code that is not behind #if ENABLE(OPENTYPE_VERTICAL).

This bug was originally entered for that purpose, so re-opening, and changed title to reflect what I&apos;m going to do better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700797</commentid>
    <comment_count>10</comment_count>
      <attachid>159696</attachid>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-08-21 08:35:02 -0700</bug_when>
    <thetext>Created attachment 159696
Implement FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph for Chromium Win</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701058</commentid>
    <comment_count>11</comment_count>
      <attachid>159696</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-08-21 13:25:59 -0700</bug_when>
    <thetext>Comment on attachment 159696
Implement FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph for Chromium Win

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

The code change seems fine. Did you mean to set r? for this patch?

&gt; Source/WebCore/ChangeLog:11
&gt; +        1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
&gt; +        2. FontPlatformData.orientation() always returns Horizontal.
&gt; +        3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().

It would be good to note what each of these changes does. For example, I assume (2) does nothing right now (doesn&apos;t change any layout tests).  (1) and (3) probably causes some text to change in size, but it would be good to mention which tests demonstrate this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701300</commentid>
    <comment_count>12</comment_count>
      <attachid>159802</attachid>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-08-21 16:48:30 -0700</bug_when>
    <thetext>Created attachment 159802
Updated ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701305</commentid>
    <comment_count>13</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2012-08-21 16:51:27 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 159696 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159696&amp;action=review
&gt; It would be good to note what each of these changes does. For example, I assume (2) does nothing right now (doesn&apos;t change any layout tests).  (1) and (3) probably causes some text to change in size, but it would be good to mention which tests demonstrate this.

Thank you again, added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702014</commentid>
    <comment_count>14</comment_count>
      <attachid>159802</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 09:53:29 -0700</bug_when>
    <thetext>Comment on attachment 159802
Updated ChangeLog

Clearing flags on attachment: 159802

Committed r126312: &lt;http://trac.webkit.org/changeset/126312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702015</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 09:53:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136312</attachid>
            <date>2012-04-09 15:05:38 -0700</date>
            <delta_ts>2012-08-21 08:35:02 -0700</delta_ts>
            <desc>set FontMetrics.unitsPerEm on Chromium Windows</desc>
            <filename>83512-1.patch</filename>
            <type>text/plain</type>
            <size>1451</size>
            <attacher name="Koji Ishii">kojii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwOGJiZTU5Li5lOTI2Nzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTItMDQtMDkgIEtvamkgSXNoaWkgIDxrb2ppaXNoaUBnbWFpbC5jb20+CisKKyAgICAg
ICAgRm9udE1ldHJpY3MudW5pdHNQZXJFbSgpIGlzbid0IHNldCBvbiBDaHJvbWl1bSBXaW5kb3dz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzUxMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyBhcmUgcmVxdWlyZWQuIE5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorCiAyMDEyLTA0
LTAxICBLb2ppIElzaGlpICA8a29qaWlzaGlAZ21haWwuY29tPgogCiAgICAgICAgIENhY2hlIHN1
cHBvcnQgZm9yIE9wZW5UeXBlVmVydGljYWxEYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnRE
YXRhQ2hyb21pdW1XaW4uY3BwCmluZGV4IDZiOTA2ZTAuLjZiYWQ1M2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hy
b21pdW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCkBAIC04MSw2ICs4MSw4IEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBPVVRMSU5FVEVYVE1FVFJJQyBv
dXRsaW5lVGV4dE1ldHJpYzsKICAgICBpZiAoR2V0T3V0bGluZVRleHRNZXRyaWNzKGRjLCBzaXpl
b2Yob3V0bGluZVRleHRNZXRyaWMpLCAmb3V0bGluZVRleHRNZXRyaWMpID4gMCkgeworICAgICAg
ICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0ob3V0bGluZVRleHRNZXRyaWMub3RtRU1TcXVh
cmUpOworCiAgICAgICAgIC8vIFRoaXMgaXMgYSBUcnVlVHlwZSBmb250LiAgV2UgbWlnaHQgYmUg
YWJsZSB0byBnZXQgYW4gYWNjdXJhdGUgeEhlaWdodC4KICAgICAgICAgR0xZUEhNRVRSSUNTIGds
eXBoTWV0cmljcyA9IHswfTsKICAgICAgICAgTUFUMiBpZGVudGl0eU1hdHJpeCA9IHt7MCwgMX0s
IHswLCAwfSwgezAsIDB9LCB7MCwgMX19Owo=
</data>
<flag name="review"
          id="141126"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159696</attachid>
            <date>2012-08-21 08:35:02 -0700</date>
            <delta_ts>2012-08-21 16:48:30 -0700</delta_ts>
            <desc>Implement FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph for Chromium Win</desc>
            <filename>83512-2.patch</filename>
            <type>text/plain</type>
            <size>21000</size>
            <attacher name="Koji Ishii">kojii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMjc3ZWUwLi5hZWJlMGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDgt
MjEgIEtvamkgSXNoaWkgIDxrb2ppaXNoaUBnbWFpbC5jb20+CisKKyAgICAgICAgRm9udE1ldHJp
Y3MudW5pdHNQZXJFbSgpLCBGb250UGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCksIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUJvdW5kc0ZvckdseXBoIGFyZSBub3QgaW1wbGVtZW50ZWQgb24gQ2hy
b21pdW0gV2luZG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODM1MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDaHJvbWl1bSBXaW5kb3dzIGRvZXMgbm90IGltcGxlbWVudCBmb2xsb3dpbmcgMyBmdW5j
dGlvbnMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIGJ1ZyA1MTQ1MC4KKyAgICAgICAgMS4gRm9udE1l
dHJpY3MudW5pdHNQZXJFbSgpIGFsd2F5cyByZXR1cm5zIHRoZSBkZWZhdWx0IHZhbHVlIChnRGVm
YXVsdFVuaXRzUGVyRW0gPSAxMDAwKS4KKyAgICAgICAgMi4gRm9udFBsYXRmb3JtRGF0YS5vcmll
bnRhdGlvbigpIGFsd2F5cyByZXR1cm5zIEhvcml6b250YWwuCisgICAgICAgIDMuIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUJvdW5kc0ZvckdseXBoKCkgYWx3YXlzIHJldHVybnMgRmxvYXRSZWN0
KCkuCisgICAgICAgIFRvbnkgc3VnZ2VzdGVkIGluIGJ1ZyA1MTQ1MCByZXZpZXcgdG8gc3BsaXQg
Y29kZSB0aGF0IGlzIG5vdCBiZWhpbmQKKyAgICAgICAgI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJU
SUNBTCkgdG8gYSBzZXBhcmF0ZSBwYXRjaC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L3JlcGFpbnQvc3RhY2tlZC1kaWFjcml0aWNzLWV4cGVjdGVkLnBuZzoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC90ZXh0L2VtcGhhc2lzLW92ZXJsYXAtZXhw
ZWN0ZWQudHh0OiBBZGRlZCBkdWUgdG8gbWV0cmljcyBjaGFuZ2UuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogRW5hYmxlZCAzIHRlc3RzIGZvciBDaHJvbWl1
bSBXaW4uCisKIDIwMTItMDgtMTggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgRm9sbG93IHVwIHRvIHIxMjU5NjYsIGZpeGluZyBmbGFreSB0ZXN0cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L3JlcGFp
bnQvc3RhY2tlZC1kaWFjcml0aWNzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L3JlcGFpbnQvc3RhY2tlZC1kaWFjcml0aWNzLWV4cGVjdGVkLnBu
ZwppbmRleCBlNjZhNmJiYzYxMzllMjM5YjJjNmUzZmZjYWNkYmI2YmYzMTYwZTFkLi4zZWJhNzY2
ZTg3MDQzYTg0MWM1OTc2ZDQ0MjYwMmUzYjY5N2M3YmM5IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNo
CmRlbHRhIDE2NQp6Y21leHBedSVhX2slcG14djg2JHhuWW0/Pmd8VnJyblc+UitubypqZWFqS2M2
YWd2MzNRZCZpeTdjJkVjI0o3ITYKem5GNEliLXx6b0ZafCZyaDBgbiY/NUhhRVpaTWdrYnt7Rnd5
KS1wM1pJOTxUTFN5NXk8cXZZPzRHcnhjUXhXJE5wCnpWUDlYYGZuRTNLTjN0Oy14YypSM2FkTTsz
YE9PTUsyOD9MTFdDZnZRQGYtaHtwQTtxUj0pZGx8Z2FIVVZVSHgzdgpJSVZDZyEwR2l9TE1GMFEq
CgpkZWx0YSAyMDYKemNtYUUyXndEVTdrJXFaeHFOJXh3TDFMMW5ySE1zeWxCST10Tj1rQil2MXpo
VnMpYT9PS35qUjBlaGRTSEI9ZzNvCnpPYVpxMEBBdjxnVFFtOGp6PGZ6SD00OzF+eUttIVRYd1hr
S08xUyZ9ZHlYc3ZMd3VXaSVWYjZvTytOYyYqWjtpVAp6ZSFyPWRmdVRuNy1EWDlSOEh8JGxSLWYo
Yz03cTVfOUpxZHdDKnUyVzxJQFpiS2RmdyZTVD03SW9YOXgmZj4wMz0KY0k5fXtge1J7byU5WHpT
YTdjYztVcj5tZEtJO1ZzdDA5WiMrTDt3SCkKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC90ZXh0L2VtcGhhc2lzLW92ZXJsYXAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvdGV4dC9lbXBoYXNpcy1v
dmVybGFwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
NjEzODQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL2Zhc3QvdGV4dC9lbXBoYXNpcy1vdmVybGFwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEy
NSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTc2CisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDI0KSBzaXplIDE2MHgxNDQK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjB4MzIKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2MDogIjExMTEgIgorICAgICAgICAgIFJl
bmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMTI4eDMyCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMzIpIHNpemUgMTI4eDMyCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMyKSB3
aWR0aCAxMjg6ICIyMjIyIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI4LDMy
KSBzaXplIDMyeDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI4LDMyKSB3aWR0aCAzMjog
IiAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MzIgW2NvbG9yPSMwMDAwRkZd
CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODApIHNpemUgMTI4eDMyCisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDgwKSB3aWR0aCAxMjg6ICIzMzMzIgorICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI4LDgwKSBzaXplIDMyeDMyCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTI4LDgwKSB3aWR0aCAzMjogIiAiCisgICAgICAgICAgUmVuZGVyQlIg
e0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwxMTIpIHNpemUgMTI4eDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMTIpIHdpZHRo
IDEyODogIjQ0NDQiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTYwLDE0Nykgc2l6
ZSA0eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDE2MCwxNDcpIHdpZHRoIDQ6ICIgIgorICAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTY0LDI0KSBzaXplIDE2MHgxNDQKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjB4MzIKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2MDogIjExMTEgIgorICAgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgw
LDApIHNpemUgMTI4eDMyIFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDMyKSBzaXplIDEyOHgzMgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwzMikgd2lkdGggMTI4OiAiMjIyMiIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEyOCwzMikgc2l6ZSAzMngzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOCwzMikgd2lk
dGggMzI6ICIgIgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI4eDMyCisgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODApIHNpemUgMTI4eDMyCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDgwKSB3aWR0aCAxMjg6ICIzMzMzIgorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTI4LDgwKSBzaXplIDMyeDMyCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTI4LDgwKSB3aWR0aCAzMjogIiAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMTIpIHNp
emUgMTI4eDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMTIpIHdpZHRoIDEyODogIjQ0
NDQiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzI0LDE0Nykgc2l6ZSA0eDE5Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDMyNCwxNDcpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMzI4LDgpIHNpemUgMTYweDE2MAorICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2MHgzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTYwOiAiMTExMSAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAx
Mjh4MzIgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMzIpIHNpemUgMTI4eDMyCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMyKSB3aWR0
aCAxMjg6ICIyMjIyIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI4LDMyKSBz
aXplIDMyeDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI4LDMyKSB3aWR0aCAzMjogIiAi
CisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MzIgW2NvbG9yPSMwMDAwRkZdCisg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsOTYpIHNpemUgMTI4eDMyCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDk2KSB3aWR0aCAxMjg6ICIzMzMzIgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI4LDk2KSBzaXplIDMyeDMyCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTI4LDk2KSB3aWR0aCAzMjogIiAiCisgICAgICAgICAgUmVuZGVyQlIge0JS
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwx
MjgpIHNpemUgMTI4eDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMjgpIHdpZHRoIDEy
ODogIjQ0NDQiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTc2KSBzaXplIDc4NHgxNzYKKyAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsOCkgc2l6ZSAxNjB4MTQ0CisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTYweDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxNjA6ICIxMTExICIKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgw
LDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDEyOHgzMgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMyKSBzaXplIDEy
OHgzMgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMikgd2lkdGggMTI4OiAiMjIyMiIK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyOCwzMikgc2l6ZSAzMngzMgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEyOCwzMikgd2lkdGggMzI6ICIgIgorICAgICAgICAgIFJl
bmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMTI4eDMyIFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDgwKSBzaXplIDEyOHgzMgorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw4MCkgd2lkdGggMTI4OiAiMzMzMyIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEyOCw4MCkgc2l6ZSAzMngzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEy
OCw4MCkgd2lkdGggMzI6ICIgIgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTEyKSBzaXplIDEyOHgz
MgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTEyKSB3aWR0aCAxMjg6ICI0NDQ0IgorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE2MCwxMCkgc2l6ZSA0eDE5CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDE2MCwxMCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgxNjQsOCkgc2l6ZSAxNjB4MTQ0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMTYweDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAxNjA6ICIxMTExICIKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyOHgzMiBbY29s
b3I9IzAwMDBGRl0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwzMikgc2l6
ZSAxMjh4MzIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzIpIHdpZHRoIDEyODogIjIy
MjIiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjgsMzIpIHNpemUgMzJ4MzIK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsMzIpIHdpZHRoIDMyOiAiICIKKyAgICAgICAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5l
IHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyOHgzMgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDgwKSBzaXplIDEyOHgzMgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4
MCkgd2lkdGggMTI4OiAiMzMzMyIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEy
OCw4MCkgc2l6ZSAzMngzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOCw4MCkgd2lkdGgg
MzI6ICIgIgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTEyKSBzaXplIDEyOHgzMgorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMTEyKSB3aWR0aCAxMjg6ICI0NDQ0IgorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDMyNCwxMCkgc2l6ZSA0eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDMyNCwxMCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzMjgs
OCkgc2l6ZSAxNjB4MTYwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMTYweDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjA6ICIxMTEx
ICIKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyOHgzMiBbY29sb3I9IzAwMDBGRl0K
KyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwzMikgc2l6ZSAxMjh4MzIKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzIpIHdpZHRoIDEyODogIjIyMjIiCisgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjgsMzIpIHNpemUgMzJ4MzIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMjgsMzIpIHdpZHRoIDMyOiAiICIKKyAgICAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAo
MCwwKSBzaXplIDEyOHgzMiBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCw5Nikgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsOTYpIHdpZHRoIDEyODogIjMzMzMiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxMjgsOTYpIHNpemUgMzJ4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsOTYpIHdp
ZHRoIDMyOiAiICIKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEyOCkgc2l6ZSAxMjh4MzIKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEyOCkgd2lkdGggMTI4OiAiNDQ0NCIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5OGE3OTVhLi4wOGNmZmNlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIy
MDQsMTAgKzIyMDQsMTAgQEAgQlVHV0s5MDM2MyBERUJVRyA6IGZhc3Qvb3ZlcmZsb3cvbG90cy1v
Zi1zaWJsaW5nLWlubGluZS1ib3hlcy5odG1sID0gUEFTUyBUSU1FT1UKIC8vIFdlYktpdCByb2xs
IDc0MjU1Ojc0MzA4CiBCVUdDUjY3NDE2IExJTlVYIEFORFJPSUQgV0lOIDogZmFzdC90ZXh0L2Vt
cGhhc2lzLmh0bWwgPSBJTUFHRStURVhUCiBCVUdDUjY3NDE2IDogZmFzdC90ZXh0L2VtcGhhc2lz
LXZlcnRpY2FsLmh0bWwgPSBJTUFHRSBJTUFHRStURVhUCi1CVUdDUjY3NTQwIExJTlVYIEFORFJP
SUQgV0lOIDogZmFzdC90ZXh0L2VtcGhhc2lzLW92ZXJsYXAuaHRtbCA9IElNQUdFK1RFWFQKLUJV
R0NSNjc1NDAgTElOVVggQU5EUk9JRCBXSU4gOiBmYXN0L3RleHQvZW1waGFzaXMtYXZvaWQtcnVi
eS5odG1sID0gSU1BR0UKK0JVR0NSNjc1NDAgTElOVVggQU5EUk9JRCA6IGZhc3QvdGV4dC9lbXBo
YXNpcy1vdmVybGFwLmh0bWwgPSBJTUFHRStURVhUCitCVUdDUjY3NTQwIExJTlVYIEFORFJPSUQg
OiBmYXN0L3RleHQvZW1waGFzaXMtYXZvaWQtcnVieS5odG1sID0gSU1BR0UKIEJVR0NSNjc1NDAg
TElOVVggQU5EUk9JRCBXSU4gU05PV0xFT1BBUkQgOiBmYXN0L3JlcGFpbnQvdGV4dC1lbXBoYXNp
cy1oLmh0bWwgPSBJTUFHRQotQlVHQ1I2NzU0MCBMSU5VWCBBTkRST0lEIFdJTiA6IGZhc3QvcmVw
YWludC90ZXh0LWVtcGhhc2lzLXYuaHRtbCA9IElNQUdFCitCVUdDUjY3NTQwIExJTlVYIEFORFJP
SUQgOiBmYXN0L3JlcGFpbnQvdGV4dC1lbXBoYXNpcy12Lmh0bWwgPSBJTUFHRQogCiBCVUdDUjY3
NDQyIExJTlVYIFdJTiA6IGZhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy5odG1sID0gVEVYVAog
QlVHQ1I2NzQ0MiBMSU5VWCBBTkRST0lEIFdJTiA6IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy5odG1sID0gVEVYVApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDQwMDlkMTkuLjIyZTllZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMi0wOC0y
MSAgS29qaSBJc2hpaSAgPGtvamlpc2hpQGdtYWlsLmNvbT4KKworICAgICAgICBGb250TWV0cmlj
cy51bml0c1BlckVtKCksIEZvbnRQbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSwgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGggYXJlIG5vdCBpbXBsZW1lbnRlZCBvbiBDaHJv
bWl1bSBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MzUxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENocm9taXVtIFdpbmRvd3MgZG9lcyBub3QgaW1wbGVtZW50IGZvbGxvd2luZyAzIGZ1bmN0
aW9ucyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgYnVnIDUxNDUwLgorICAgICAgICAxLiBGb250TWV0
cmljcy51bml0c1BlckVtKCkgYWx3YXlzIHJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgKGdEZWZh
dWx0VW5pdHNQZXJFbSA9IDEwMDApLgorICAgICAgICAyLiBGb250UGxhdGZvcm1EYXRhLm9yaWVu
dGF0aW9uKCkgYWx3YXlzIHJldHVybnMgSG9yaXpvbnRhbC4KKyAgICAgICAgMy4gU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoKSBhbHdheXMgcmV0dXJucyBGbG9hdFJlY3Qo
KS4KKyAgICAgICAgVG9ueSBzdWdnZXN0ZWQgaW4gYnVnIDUxNDUwIHJldmlldyB0byBzcGxpdCBj
b2RlIHRoYXQgaXMgbm90IGJlaGluZAorICAgICAgICAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJ
Q0FMKSB0byBhIHNlcGFyYXRlIHBhdGNoLgorCisgICAgICAgIFRlc3Q6IEZvbGxvd2luZyAzIGV4
aXN0aW5nIGJ1dCBza2lwcGVkIHRlc3RzIGFyZSBub3cgZW5hYmxlZCBhbmQgcGFzcy4KKyAgICAg
ICAgICAgICAgZmFzdC90ZXh0L2VtcGhhc2lzLW92ZXJsYXAuaHRtbAorICAgICAgICAgICAgICBm
YXN0L3RleHQvZW1waGFzaXMtYXZvaWQtcnVieS5odG1sCisgICAgICAgICAgICAgIGZhc3QvcmVw
YWludC90ZXh0LWVtcGhhc2lzLXYuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vRm9udENhY2hlQ2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKTogQWRkIG9yaWVudGF0aW9uLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKTogQWRkIG9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0
YTo6b3BlcmF0b3I9KTogQWRkIG9yaWVudGF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oOgorICAgICAgICAoRm9u
dFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcmll
bnRhdGlvbik6IEFkZCBvcmllbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9y
bURhdGE6OnNldE9yaWVudGF0aW9uKTogQWRkIG9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9PSk6IEFkZCBvcmllbnRhdGlvbi4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2lu
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOiBT
ZXQgRm9udE1ldHJpY3MudW5pdHNQZXJFbS4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpjcmVhdGVTY2FsZWRGb250RGF0YSk6IEFkZCBvcmllbnRhdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kc0ZvckdseXBoKTogSW1wbGVtZW50
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQ
bGF0Zm9ybURhdGEpOiBBZGQgb3JpZW50YXRpb24uCisKIDIwMTItMDgtMTggIFBoaWxpcCBSb2dl
cnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBTVkdNYXNrRWxlbWVudCB0
byBpbmhlcml0IGZyb20gU3R5bGVkRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlQ2hyb21pdW1XaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlQ2hyb21pdW1X
aW4uY3BwCmluZGV4IDE1NmRjZDMuLjlmODk5OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJv
bWl1bVdpbi5jcHAKQEAgLTYyOSw3ICs2MjksOCBAQCBGb250UGxhdGZvcm1EYXRhKiBGb250Q2Fj
aGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RAog
ICAgIH0KIAogICAgIHJldHVybiBuZXcgRm9udFBsYXRmb3JtRGF0YShoZm9udCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXpl
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uY29t
cHV0ZWRQaXhlbFNpemUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udERl
c2NyaXB0aW9uLm9yaWVudGF0aW9uKCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1X
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBs
YXRmb3JtRGF0YUNocm9taXVtV2luLmNwcAppbmRleCBhNjU0MWVlLi42ZjI3ZjhhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZv
cm1EYXRhQ2hyb21pdW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5jcHAKQEAgLTMyLDE0ICsz
MiwxNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZvbnRQbGF0Zm9ybURhdGEu
aCIKIAotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDxvYmppZGwuaD4KLSNpbmNsdWRl
IDxtbGFuZy5oPgotCisjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiSFduZERDLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgi
CiAjaW5jbHVkZSAiU2tUeXBlZmFjZV93aW4uaCIKICNpbmNsdWRlICJTa2lhRm9udFdpbi5oIgor
CisjaW5jbHVkZSA8bWxhbmcuaD4KKyNpbmNsdWRlIDxvYmppZGwuaD4KKyNpbmNsdWRlIDx3aW5k
b3dzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC02Miw2ICs2NCw3IEBAIFNrVHlwZWZhY2UqIENyZWF0ZVR5cGVmYWNlRnJvbUhGb250
KEhGT05UIGhmb250LCBpbnQqIHNpemUsIGludCogbGZRdWFsaXR5KQogRm9udFBsYXRmb3JtRGF0
YTo6Rm9udFBsYXRmb3JtRGF0YShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCiAgICAg
OiBtX2ZvbnQoaGFzaFRhYmxlRGVsZXRlZEZvbnRWYWx1ZSgpKQogICAgICwgbV9zaXplKC0xKQor
ICAgICwgbV9vcmllbnRhdGlvbihIb3Jpem9udGFsKQogICAgICwgbV9zY3JpcHRDYWNoZSgwKQog
ICAgICwgbV9zY3JpcHRGb250UHJvcGVydGllcygwKQogICAgICwgbV90eXBlZmFjZSgwKQpAQCAt
NzIsNiArNzUsNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKFdURjo6SGFz
aFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEoKQogICAgIDogbV9mb250KDApCiAgICAgLCBtX3NpemUoMCkKKyAgICAsIG1fb3JpZW50YXRp
b24oSG9yaXpvbnRhbCkKICAgICAsIG1fc2NyaXB0Q2FjaGUoMCkKICAgICAsIG1fc2NyaXB0Rm9u
dFByb3BlcnRpZXMoMCkKICAgICAsIG1fdHlwZWZhY2UoMCkKQEAgLTc5LDkgKzgzLDEwIEBAIEZv
bnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoKQogewogfQogCi1Gb250UGxhdGZvcm1E
YXRhOjpGb250UGxhdGZvcm1EYXRhKEhGT05UIGZvbnQsIGZsb2F0IHNpemUpCitGb250UGxhdGZv
cm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEhGT05UIGZvbnQsIGZsb2F0IHNpemUsIEZvbnRPcmll
bnRhdGlvbiBvcmllbnRhdGlvbikKICAgICA6IG1fZm9udChSZWZDb3VudGVkSEZPTlQ6OmNyZWF0
ZShmb250KSkKICAgICAsIG1fc2l6ZShzaXplKQorICAgICwgbV9vcmllbnRhdGlvbihvcmllbnRh
dGlvbikKICAgICAsIG1fc2NyaXB0Q2FjaGUoMCkKICAgICAsIG1fc2NyaXB0Rm9udFByb3BlcnRp
ZXMoMCkKICAgICAsIG1fdHlwZWZhY2UoQ3JlYXRlVHlwZWZhY2VGcm9tSEZvbnQoZm9udCwgMCwg
Jm1fbGZRdWFsaXR5KSkKQEAgLTkyLDYgKzk3LDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YShIRk9OVCBmb250LCBmbG9hdCBzaXplKQogRm9udFBsYXRmb3JtRGF0YTo6Rm9u
dFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSkKICAgICA6
IG1fZm9udCgwKQogICAgICwgbV9zaXplKHNpemUpCisgICAgLCBtX29yaWVudGF0aW9uKEhvcml6
b250YWwpCiAgICAgLCBtX3NjcmlwdENhY2hlKDApCiAgICAgLCBtX3NjcmlwdEZvbnRQcm9wZXJ0
aWVzKDApCiAgICAgLCBtX3R5cGVmYWNlKDApCkBAIC0xMDIsNiArMTA4LDcgQEAgRm9udFBsYXRm
b3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2Js
aXF1ZSkKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgZGF0YSkKICAgICA6IG1fZm9udChkYXRhLm1fZm9udCkKICAgICAsIG1fc2l6ZShk
YXRhLm1fc2l6ZSkKKyAgICAsIG1fb3JpZW50YXRpb24oZGF0YS5tX29yaWVudGF0aW9uKQogICAg
ICwgbV9zY3JpcHRDYWNoZSgwKQogICAgICwgbV9zY3JpcHRGb250UHJvcGVydGllcygwKQogICAg
ICwgbV90eXBlZmFjZShkYXRhLm1fdHlwZWZhY2UpCkBAIC0xMTUsNiArMTIyLDcgQEAgRm9udFBs
YXRmb3JtRGF0YSYgRm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9KGNvbnN0IEZvbnRQbGF0Zm9y
bURhdGEmIGRhdGEpCiAgICAgaWYgKHRoaXMgIT0gJmRhdGEpIHsKICAgICAgICAgbV9mb250ID0g
ZGF0YS5tX2ZvbnQ7CiAgICAgICAgIG1fc2l6ZSA9IGRhdGEubV9zaXplOworICAgICAgICBtX29y
aWVudGF0aW9uID0gZGF0YS5tX29yaWVudGF0aW9uOwogICAgICAgICBTa1JlZkNudF9TYWZlQXNz
aWduKG1fdHlwZWZhY2UsIGRhdGEubV90eXBlZmFjZSk7CiAgICAgICAgIG1fbGZRdWFsaXR5ID0g
ZGF0YS5tX2xmUXVhbGl0eTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21p
dW1XaW4uaAppbmRleCBkMjY0YjE3Li41NWE1YzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxh
dGZvcm1EYXRhQ2hyb21pdW1XaW4uaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgRm9u
dFBsYXRmb3JtRGF0YShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoKTsKICAgICAvLyBUaGlzIGNvbnN0cnVjdG9yIHRha2VzIG93bmVyc2hpcCBv
ZiB0aGUgSEZPTlQKLSAgICBGb250UGxhdGZvcm1EYXRhKEhGT05ULCBmbG9hdCBzaXplKTsKKyAg
ICBGb250UGxhdGZvcm1EYXRhKEhGT05ULCBmbG9hdCBzaXplLCBGb250T3JpZW50YXRpb24pOwog
ICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUp
OwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogCkBAIC03
OSw4ICs3OSw4IEBAIHB1YmxpYzoKICAgICBTa1R5cGVmYWNlKiB0eXBlZmFjZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZWZhY2U7IH0KICAgICBpbnQgbGZRdWFsaXR5KCkgY29uc3QgeyByZXR1cm4g
bV9sZlF1YWxpdHk7IH0KIAotICAgIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIEhvcml6b250YWw7IH0gLy8gRklYTUU6IEltcGxlbWVudC4KLSAgICB2b2lkIHNl
dE9yaWVudGF0aW9uKEZvbnRPcmllbnRhdGlvbikgeyB9IC8vIEZJWE1FOiBJbXBsZW1lbnQuCisg
ICAgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRh
dGlvbjsgfQorICAgIHZvaWQgc2V0T3JpZW50YXRpb24oRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uKSB7IG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsgfQogCiAgICAgdW5zaWduZWQgaGFz
aCgpIGNvbnN0CiAgICAgewpAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgb3RoZXIpIGNvbnN0CiAgICAgeyAKLSAg
ICAgICAgcmV0dXJuIG1fZm9udCA9PSBvdGhlci5tX2ZvbnQgJiYgbV9zaXplID09IG90aGVyLm1f
c2l6ZTsKKyAgICAgICAgcmV0dXJuIG1fZm9udCA9PSBvdGhlci5tX2ZvbnQgJiYgbV9zaXplID09
IG90aGVyLm1fc2l6ZSAmJiBtX29yaWVudGF0aW9uID09IG90aGVyLm1fb3JpZW50YXRpb247CiAg
ICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtMTM3LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAKICAg
ICBSZWZQdHI8UmVmQ291bnRlZEhGT05UPiBtX2ZvbnQ7CiAgICAgZmxvYXQgbV9zaXplOyAgLy8g
UG9pbnQgc2l6ZSBvZiB0aGUgZm9udCBpbiBwaXhlbHMuCisgICAgRm9udE9yaWVudGF0aW9uIG1f
b3JpZW50YXRpb247CiAKICAgICBTa1R5cGVmYWNlKiBtX3R5cGVmYWNlOyAvLyBjYWNoZWQgZnJv
bSBtX2ZvbnQKICAgICBpbnQgbV9sZlF1YWxpdHk7IC8vIGNhY2hlZCBmcm9tIG1fZm9udApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxl
Rm9udERhdGFDaHJvbWl1bVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAppbmRleCBhM2RiZDc3Li41
NzlmYTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcApA
QCAtODEsNiArODEsOCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAg
ICAgT1VUTElORVRFWFRNRVRSSUMgb3V0bGluZVRleHRNZXRyaWM7CiAgICAgaWYgKEdldE91dGxp
bmVUZXh0TWV0cmljcyhkYywgc2l6ZW9mKG91dGxpbmVUZXh0TWV0cmljKSwgJm91dGxpbmVUZXh0
TWV0cmljKSA+IDApIHsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKG91dGxp
bmVUZXh0TWV0cmljLm90bUVNU3F1YXJlKTsKKwogICAgICAgICAvLyBUaGlzIGlzIGEgVHJ1ZVR5
cGUgZm9udC4gIFdlIG1pZ2h0IGJlIGFibGUgdG8gZ2V0IGFuIGFjY3VyYXRlIHhIZWlnaHQuCiAg
ICAgICAgIEdMWVBITUVUUklDUyBnbHlwaE1ldHJpY3MgPSB7MH07CiAgICAgICAgIE1BVDIgaWRl
bnRpdHlNYXRyaXggPSB7ezAsIDF9LCB7MCwgMH0sIHswLCAwfSwgezAsIDF9fTsKQEAgLTExNCw3
ICsxMTYsNyBAQCBQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVGb250RGF0YTo6Y3Jl
YXRlU2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaQogICAgIGZsb2F0IHNjYWxlZFNpemUg
PSBzY2FsZUZhY3RvciAqIGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKTsKICAgICB3aW5G
b250LmxmSGVpZ2h0ID0gLWxyb3VuZGYoc2NhbGVkU2l6ZSk7CiAgICAgSEZPTlQgaGZvbnQgPSBD
cmVhdGVGb250SW5kaXJlY3QoJndpbkZvbnQpOwotICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2lt
cGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0YShoZm9udCwgc2NhbGVkU2l6ZSksIGlzQ3VzdG9t
Rm9udCgpLCBmYWxzZSkpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEo
Rm9udFBsYXRmb3JtRGF0YShoZm9udCwgc2NhbGVkU2l6ZSwgbV9wbGF0Zm9ybURhdGEub3JpZW50
YXRpb24oKSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVGb250RGF0YSog
U2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uKSBjb25zdApAQCAtMTY4LDkgKzE3MCwyOCBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpkZXRlcm1pbmVQaXRjaCgpCiAgICAgU2VsZWN0T2JqZWN0KGRjLCBvbGRGb250KTsK
IH0KIAotRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kc0ZvckdseXBoKEds
eXBoKSBjb25zdAorRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kc0Zvckds
eXBoKEdseXBoIGdseXBoKSBjb25zdAogewotICAgIHJldHVybiBGbG9hdFJlY3QoKTsKKyAgICBI
V25kREMgaGRjKDApOworICAgIFNldEdyYXBoaWNzTW9kZShoZGMsIEdNX0FEVkFOQ0VEKTsKKyAg
ICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBtX3BsYXRmb3JtRGF0YS5oZm9u
dCgpKTsKKworICAgIEdMWVBITUVUUklDUyBnZGlNZXRyaWNzOworICAgIHN0YXRpYyBjb25zdCBN
QVQyIGlkZW50aXR5ID0geyAwLCAxLCAgMCwgMCwgIDAsIDAsICAwLCAxIH07CisgICAgaWYgKEdl
dEdseXBoT3V0bGluZShoZGMsIGdseXBoLCBHR09fTUVUUklDUyB8IEdHT19HTFlQSF9JTkRFWCwg
JmdkaU1ldHJpY3MsIDAsIDAsICZpZGVudGl0eSkgPT0gLTEpIHsKKyAgICAgICAgaWYgKFBsYXRm
b3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgewor
ICAgICAgICAgICAgLy8gUmV0cnkgR2V0VGV4dE1ldHJpY3MuCisgICAgICAgICAgICAvLyBGSVhN
RTogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGVycm9yIGlmIHRoaXMgY2FsbCBhbHNvIGZhaWxzLgor
ICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNjQwMS4KKyAgICAgICAgICAgIGlm
IChHZXRHbHlwaE91dGxpbmUoaGRjLCBnbHlwaCwgR0dPX01FVFJJQ1MgfCBHR09fR0xZUEhfSU5E
RVgsICZnZGlNZXRyaWNzLCAwLCAwLCAmaWRlbnRpdHkpID09IC0xKQorICAgICAgICAgICAgICAg
IExPR19FUlJPUigiVW5hYmxlIHRvIGdldCB0aGUgZ2x5cGggbWV0cmljcyBhZnRlciBzZWNvbmQg
YXR0ZW1wdCIpOworICAgICAgICB9CisgICAgfQorCisgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xk
Rm9udCk7CisKKyAgICByZXR1cm4gRmxvYXRSZWN0KGdkaU1ldHJpY3MuZ21wdEdseXBoT3JpZ2lu
LngsIC1nZGlNZXRyaWNzLmdtcHRHbHlwaE9yaWdpbi55LAorICAgICAgICBnZGlNZXRyaWNzLmdt
QmxhY2tCb3hYLCBnZGlNZXRyaWNzLmdtQmxhY2tCb3hZKTsKIH0KIAogZmxvYXQgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuY3BwCmluZGV4IDlhZTUwMDcuLjNlMWI5OTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBAIEZvbnRQbGF0Zm9ybURh
dGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShpbnQgc2l6ZSwgYm9v
bCBib2xkLCBiCiAgICAgbG9nRm9udC5sZldlaWdodCA9IGJvbGQgPyBGV19CT0xEIDogRldfRE9O
VENBUkU7CiAKICAgICBIRk9OVCBoZm9udCA9IENyZWF0ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCk7
Ci0gICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoaGZvbnQsIHNpemUpOworICAgIHJldHVybiBG
b250UGxhdGZvcm1EYXRhKGhmb250LCBzaXplLCBvcmllbnRhdGlvbik7CiAjZWxpZiBPUyhVTklY
KQogICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2UpOwogICAgIHJldHVybiBGb250UGxhdGZvcm1E
YXRhKG1fZm9udFJlZmVyZW5jZSwgIiIsIHNpemUsIGJvbGQgJiYgIW1fZm9udFJlZmVyZW5jZS0+
aXNCb2xkKCksIGl0YWxpYyAmJiAhbV9mb250UmVmZXJlbmNlLT5pc0l0YWxpYygpLCBvcmllbnRh
dGlvbiwgdGV4dE9yaWVudGF0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159802</attachid>
            <date>2012-08-21 16:48:30 -0700</date>
            <delta_ts>2012-08-22 09:53:29 -0700</delta_ts>
            <desc>Updated ChangeLog</desc>
            <filename>83512-3.patch</filename>
            <type>text/plain</type>
            <size>21239</size>
            <attacher name="Koji Ishii">kojii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMjc3ZWUwLi44OGQzZTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDgt
MjEgIEtvamkgSXNoaWkgIDxrb2ppaXNoaUBnbWFpbC5jb20+CisKKyAgICAgICAgRm9udE1ldHJp
Y3MudW5pdHNQZXJFbSgpLCBGb250UGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCksIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUJvdW5kc0ZvckdseXBoIGFyZSBub3QgaW1wbGVtZW50ZWQgb24gQ2hy
b21pdW0gV2luZG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODM1MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDaHJvbWl1bSBXaW5kb3dzIGRvZXMgbm90IGltcGxlbWVudCBmb2xsb3dpbmcgMyBmdW5j
dGlvbnMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIGJ1ZyA1MTQ1MC4KKyAgICAgICAgMS4gRm9udE1l
dHJpY3MudW5pdHNQZXJFbSgpIGFsd2F5cyByZXR1cm5zIHRoZSBkZWZhdWx0IHZhbHVlIChnRGVm
YXVsdFVuaXRzUGVyRW0gPSAxMDAwKS4KKyAgICAgICAgICAgVGhpcyBjaGFuZ2UgcmVxdWlyZXMg
cmViYXNlbGluZSBvZiBmYXN0L3JlcGFpbnQvc3RhY2tlZC1kaWFjcml0aWNzIGFuZCBmYXN0L3Rl
eHQvZW1waGFzaXMtb3ZlcmxhcC4KKyAgICAgICAgMi4gRm9udFBsYXRmb3JtRGF0YS5vcmllbnRh
dGlvbigpIGFsd2F5cyByZXR1cm5zIEhvcml6b250YWwuIFRoaXMgaGFzIG5vIGVmZmVjdCBhcyBv
ZiB0aGlzIHBhdGNoLgorICAgICAgICAzLiBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNG
b3JHbHlwaCgpIGFsd2F5cyByZXR1cm5zIEZsb2F0UmVjdCgpLgorICAgICAgICAgICBUaGlzIGNo
YW5nZSBpbXByb3ZlcyByZW5kZXJpbmcgb2YgdGV4dC1lbXBoYXNpcyBhbmQgMyBleGlzdGluZyB0
ZXN0cyBwYXNzIG5vdy4KKyAgICAgICAgVG9ueSBzdWdnZXN0ZWQgaW4gYnVnIDUxNDUwIHJldmll
dyB0byBzcGxpdCBjb2RlIHRoYXQgaXMgbm90IGJlaGluZAorICAgICAgICAjaWYgRU5BQkxFKE9Q
RU5UWVBFX1ZFUlRJQ0FMKSB0byBhIHNlcGFyYXRlIHBhdGNoLgorCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0td2luL2Zhc3QvcmVwYWludC9zdGFja2VkLWRpYWNyaXRpY3MtZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L3RleHQvZW1waGFzaXMt
b3ZlcmxhcC1leHBlY3RlZC50eHQ6IEFkZGVkIGR1ZSB0byBtZXRyaWNzIGNoYW5nZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBFbmFibGVkIDMgdGVzdHMg
Zm9yIENocm9taXVtIFdpbi4KKwogMjAxMi0wOC0xOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGb2xsb3cgdXAgdG8gcjEyNTk2NiwgZml4aW5nIGZs
YWt5IHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L2Zhc3QvcmVwYWludC9zdGFja2VkLWRpYWNyaXRpY3MtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvcmVwYWludC9zdGFja2VkLWRpYWNyaXRpY3Mt
ZXhwZWN0ZWQucG5nCmluZGV4IGU2NmE2YmJjNjEzOWUyMzliMmM2ZTNmZmNhY2RiYjZiZjMxNjBl
MWQuLjNlYmE3NjZlODcwNDNhODQxYzU5NzZkNDQyNjAyZTNiNjk3YzdiYzkgMTAwNjQ0CkdJVCBi
aW5hcnkgcGF0Y2gKZGVsdGEgMTY1CnpjbWV4cF51JWFfayVwbXh2ODYkeG5ZbT8+Z3xWcnJuVz5S
K25vKmplYWpLYzZhZ3YzM1FkJml5N2MmRWMjSjchNgp6bkY0SWItfHpvRlp8JnJoMGBuJj81SGFF
WlpNZ2tie3tGd3kpLXAzWkk5PFRMU3k1eTxxdlk/NEdyeGNReFckTnAKelZQOVhgZm5FM0tOM3Q7
LXhjKlIzYWRNOzNgT09NSzI4P0xMV0NmdlFAZi1oe3BBO3FSPSlkbHxnYUhVVlVIeDN2CklJVkNn
ITBHaX1MTUYwUSoKCmRlbHRhIDIwNgp6Y21hRTJed0RVN2slcVp4cU4leHdMMUwxbnJITXN5bEJJ
PXROPWtCKXYxemhWcylhP09LfmpSMGVoZFNIQj1nM28Kek9hWnEwQEF2PGdUUW04ano8ZnpIPTQ7
MX55S20hVFh3WGtLTzFTJn1keVhzdkx3dVdpJVZiNm9PK05jJipaO2lUCnplIXI9ZGZ1VG43LURY
OVI4SHwkbFItZihjPTdxNV85SnFkd0MqdTJXPElAWmJLZGZ3JlNUPTdJb1g5eCZmPjAzPQpjSTl9
e2B7UntvJTlYelNhN2NjO1VyPm1kS0k7VnN0MDlaIytMO3dIKQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L3RleHQvZW1waGFzaXMtb3ZlcmxhcC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC90ZXh0
L2VtcGhhc2lzLW92ZXJsYXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmQ2MTM4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vZmFzdC90ZXh0L2VtcGhhc2lzLW92ZXJsYXAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTI1IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDc4NHgxNzYKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjQpIHNp
emUgMTYweDE0NAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2
MHgzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTYwOiAiMTExMSAiCisg
ICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwzMikgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzIpIHdpZHRoIDEyODogIjIyMjIiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxMjgsMzIpIHNpemUgMzJ4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsMzIp
IHdpZHRoIDMyOiAiICIKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyOHgzMiBbY29s
b3I9IzAwMDBGRl0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw4MCkgc2l6
ZSAxMjh4MzIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsODApIHdpZHRoIDEyODogIjMz
MzMiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjgsODApIHNpemUgMzJ4MzIK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsODApIHdpZHRoIDMyOiAiICIKKyAgICAgICAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDExMikgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDExMikgd2lkdGggMTI4OiAiNDQ0NCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
NjAsMTQ3KSBzaXplIDR4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYwLDE0Nykgd2lkdGgg
NDogIiAiCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxNjQsMjQpIHNpemUgMTYweDE0
NAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2MHgzMgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTYwOiAiMTExMSAiCisgICAgICAgICAg
UmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MzIgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzIpIHNpemUgMTI4eDMyCisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDMyKSB3aWR0aCAxMjg6ICIyMjIyIgorICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTI4LDMyKSBzaXplIDMyeDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTI4LDMyKSB3aWR0aCAzMjogIiAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4
MzIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw4MCkgc2l6ZSAxMjh4MzIK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsODApIHdpZHRoIDEyODogIjMzMzMiCisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjgsODApIHNpemUgMzJ4MzIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMjgsODApIHdpZHRoIDMyOiAiICIKKyAgICAgICAgICBSZW5kZXJC
UiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDExMikgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDExMikgd2lk
dGggMTI4OiAiNDQ0NCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMjQsMTQ3KSBz
aXplIDR4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzI0LDE0Nykgd2lkdGggNDogIiAiCisg
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzMjgsOCkgc2l6ZSAxNjB4MTYwCisgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTYweDMyCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjA6ICIxMTExICIKKyAgICAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAo
MCwwKSBzaXplIDEyOHgzMiBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwzMikgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMzIpIHdpZHRoIDEyODogIjIyMjIiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxMjgsMzIpIHNpemUgMzJ4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsMzIpIHdp
ZHRoIDMyOiAiICIKKyAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyOHgzMiBbY29sb3I9
IzAwMDBGRl0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw5Nikgc2l6ZSAx
Mjh4MzIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTYpIHdpZHRoIDEyODogIjMzMzMi
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjgsOTYpIHNpemUgMzJ4MzIKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsOTYpIHdpZHRoIDMyOiAiICIKKyAgICAgICAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDEyOCkgc2l6ZSAxMjh4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEy
OCkgd2lkdGggMTI4OiAiNDQ0NCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxNzYpIHNpemUgNzg0eDE3
NgorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4KSBzaXplIDE2MHgxNDQKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjB4MzIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2MDogIjExMTEgIgorICAgICAgICAgIFJlbmRlckJS
IHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMTI4eDMyCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MzIpIHNpemUgMTI4eDMyCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMyKSB3aWR0aCAx
Mjg6ICIyMjIyIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI4LDMyKSBzaXpl
IDMyeDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI4LDMyKSB3aWR0aCAzMjogIiAiCisg
ICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MzIgW2NvbG9yPSMwMDgwMDBdCisgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODApIHNpemUgMTI4eDMyCisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDgwKSB3aWR0aCAxMjg6ICIzMzMzIgorICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMTI4LDgwKSBzaXplIDMyeDMyCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTI4LDgwKSB3aWR0aCAzMjogIiAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMTIp
IHNpemUgMTI4eDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMTIpIHdpZHRoIDEyODog
IjQ0NDQiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTYwLDEwKSBzaXplIDR4MTkK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYwLDEwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDE2NCw4KSBzaXplIDE2MHgxNDQKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjB4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDE2MDogIjExMTEgIgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
MTI4eDMyIFtjb2xvcj0jMDAwMEZGXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDMyKSBzaXplIDEyOHgzMgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMikgd2lk
dGggMTI4OiAiMjIyMiIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyOCwzMikg
c2l6ZSAzMngzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOCwzMikgd2lkdGggMzI6ICIg
IgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI4eDMyCisgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsODApIHNpemUgMTI4eDMyCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDgwKSB3aWR0aCAxMjg6ICIzMzMzIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTI4LDgwKSBzaXplIDMyeDMyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI4
LDgwKSB3aWR0aCAzMjogIiAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMTIpIHNpemUgMTI4eDMy
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMTIpIHdpZHRoIDEyODogIjQ0NDQiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzI0LDEwKSBzaXplIDR4MTkKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzI0LDEwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDMyOCw4KSBzaXplIDE2MHgxNjAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAxNjB4MzIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDE2MDogIjExMTEgIgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI4eDMyIFtjb2xv
cj0jMDAwMEZGXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMyKSBzaXpl
IDEyOHgzMgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMikgd2lkdGggMTI4OiAiMjIy
MiIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyOCwzMikgc2l6ZSAzMngzMgor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOCwzMikgd2lkdGggMzI6ICIgIgorICAgICAgICAg
IFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMTI4eDMyIFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDk2KSBzaXplIDEyOHgzMgorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw5Nikgd2lkdGggMTI4OiAiMzMzMyIKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEyOCw5Nikgc2l6ZSAzMngzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDEyOCw5Nikgd2lkdGggMzI6ICIgIgorICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTI4KSBzaXplIDEy
OHgzMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTI4KSB3aWR0aCAxMjg6ICI0NDQ0Igor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk4YTc5NWEuLjA4
Y2ZmY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjIwNCwxMCArMjIwNCwxMCBAQCBCVUdXSzkwMzYzIERFQlVHIDogZmFzdC9vdmVy
Zmxvdy9sb3RzLW9mLXNpYmxpbmctaW5saW5lLWJveGVzLmh0bWwgPSBQQVNTIFRJTUVPVQogLy8g
V2ViS2l0IHJvbGwgNzQyNTU6NzQzMDgKIEJVR0NSNjc0MTYgTElOVVggQU5EUk9JRCBXSU4gOiBm
YXN0L3RleHQvZW1waGFzaXMuaHRtbCA9IElNQUdFK1RFWFQKIEJVR0NSNjc0MTYgOiBmYXN0L3Rl
eHQvZW1waGFzaXMtdmVydGljYWwuaHRtbCA9IElNQUdFIElNQUdFK1RFWFQKLUJVR0NSNjc1NDAg
TElOVVggQU5EUk9JRCBXSU4gOiBmYXN0L3RleHQvZW1waGFzaXMtb3ZlcmxhcC5odG1sID0gSU1B
R0UrVEVYVAotQlVHQ1I2NzU0MCBMSU5VWCBBTkRST0lEIFdJTiA6IGZhc3QvdGV4dC9lbXBoYXNp
cy1hdm9pZC1ydWJ5Lmh0bWwgPSBJTUFHRQorQlVHQ1I2NzU0MCBMSU5VWCBBTkRST0lEIDogZmFz
dC90ZXh0L2VtcGhhc2lzLW92ZXJsYXAuaHRtbCA9IElNQUdFK1RFWFQKK0JVR0NSNjc1NDAgTElO
VVggQU5EUk9JRCA6IGZhc3QvdGV4dC9lbXBoYXNpcy1hdm9pZC1ydWJ5Lmh0bWwgPSBJTUFHRQog
QlVHQ1I2NzU0MCBMSU5VWCBBTkRST0lEIFdJTiBTTk9XTEVPUEFSRCA6IGZhc3QvcmVwYWludC90
ZXh0LWVtcGhhc2lzLWguaHRtbCA9IElNQUdFCi1CVUdDUjY3NTQwIExJTlVYIEFORFJPSUQgV0lO
IDogZmFzdC9yZXBhaW50L3RleHQtZW1waGFzaXMtdi5odG1sID0gSU1BR0UKK0JVR0NSNjc1NDAg
TElOVVggQU5EUk9JRCA6IGZhc3QvcmVwYWludC90ZXh0LWVtcGhhc2lzLXYuaHRtbCA9IElNQUdF
CiAKIEJVR0NSNjc0NDIgTElOVVggV0lOIDogZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0
bWwgPSBURVhUCiBCVUdDUjY3NDQyIExJTlVYIEFORFJPSUQgV0lOIDogcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0bWwgPSBURVhUCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNDAwOWQxOS4uMjJlOWVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBA
CisyMDEyLTA4LTIxICBLb2ppIElzaGlpICA8a29qaWlzaGlAZ21haWwuY29tPgorCisgICAgICAg
IEZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSwgRm9udFBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigp
LCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCBhcmUgbm90IGltcGxlbWVu
dGVkIG9uIENocm9taXVtIFdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgzNTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hyb21pdW0gV2luZG93cyBkb2VzIG5vdCBpbXBsZW1lbnQgZm9sbG93
aW5nIDMgZnVuY3Rpb25zIHRoYXQgYXJlIHJlcXVpcmVkIGZvciBidWcgNTE0NTAuCisgICAgICAg
IDEuIEZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSBhbHdheXMgcmV0dXJucyB0aGUgZGVmYXVsdCB2
YWx1ZSAoZ0RlZmF1bHRVbml0c1BlckVtID0gMTAwMCkuCisgICAgICAgIDIuIEZvbnRQbGF0Zm9y
bURhdGEub3JpZW50YXRpb24oKSBhbHdheXMgcmV0dXJucyBIb3Jpem9udGFsLgorICAgICAgICAz
LiBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCgpIGFsd2F5cyByZXR1cm5z
IEZsb2F0UmVjdCgpLgorICAgICAgICBUb255IHN1Z2dlc3RlZCBpbiBidWcgNTE0NTAgcmV2aWV3
IHRvIHNwbGl0IGNvZGUgdGhhdCBpcyBub3QgYmVoaW5kCisgICAgICAgICNpZiBFTkFCTEUoT1BF
TlRZUEVfVkVSVElDQUwpIHRvIGEgc2VwYXJhdGUgcGF0Y2guCisKKyAgICAgICAgVGVzdDogRm9s
bG93aW5nIDMgZXhpc3RpbmcgYnV0IHNraXBwZWQgdGVzdHMgYXJlIG5vdyBlbmFibGVkIGFuZCBw
YXNzLgorICAgICAgICAgICAgICBmYXN0L3RleHQvZW1waGFzaXMtb3ZlcmxhcC5odG1sCisgICAg
ICAgICAgICAgIGZhc3QvdGV4dC9lbXBoYXNpcy1hdm9pZC1ydWJ5Lmh0bWwKKyAgICAgICAgICAg
ICAgZmFzdC9yZXBhaW50L3RleHQtZW1waGFzaXMtdi5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEpOiBBZGQgb3JpZW50YXRp
b24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0
YUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZv
bnRQbGF0Zm9ybURhdGEpOiBBZGQgb3JpZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpGb250
UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0pOiBBZGQgb3JpZW50YXRpb24uCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmg6Cisg
ICAgICAgIChGb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9y
bURhdGE6Om9yaWVudGF0aW9uKTogQWRkIG9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBsYXRmb3JtRGF0YTo6c2V0T3JpZW50YXRpb24pOiBBZGQgb3JpZW50YXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj09KTogQWRkIG9yaWVudGF0
aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRh
Q2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtSW5pdCk6IFNldCBGb250TWV0cmljcy51bml0c1BlckVtLgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OmNyZWF0ZVNjYWxlZEZvbnREYXRhKTogQWRkIG9yaWVudGF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgp
OiBJbXBsZW1lbnRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6Zm9udFBsYXRmb3JtRGF0YSk6IEFkZCBvcmllbnRhdGlvbi4KKwogMjAxMi0wOC0xOCAg
UGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFNWR01h
c2tFbGVtZW50IHRvIGluaGVyaXQgZnJvbSBTdHlsZWRFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJvbWl1bVdp
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2Fj
aGVDaHJvbWl1bVdpbi5jcHAKaW5kZXggMTU2ZGNkMy4uOWY4OTk4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlQ2hyb21pdW1X
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Zv
bnRDYWNoZUNocm9taXVtV2luLmNwcApAQCAtNjI5LDcgKzYyOSw4IEBAIEZvbnRQbGF0Zm9ybURh
dGEqIEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRp
b24mIGZvbnRECiAgICAgfQogCiAgICAgcmV0dXJuIG5ldyBGb250UGxhdGZvcm1EYXRhKGhmb250
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uY29tcHV0
ZWRQaXhlbFNpemUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnREZXNj
cmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmb250RGVzY3JpcHRpb24ub3JpZW50YXRpb24oKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURh
dGFDaHJvbWl1bVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4uY3BwCmluZGV4IGE2NTQxZWUuLjZmMjdm
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmNwcApA
QCAtMzIsMTQgKzMyLDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFBs
YXRmb3JtRGF0YS5oIgogCi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPG9iamlkbC5o
PgotI2luY2x1ZGUgPG1sYW5nLmg+Ci0KKyNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRl
ICJIV25kREMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKKyNpbmNsdWRlICJTaGFy
ZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTa1R5cGVmYWNlX3dpbi5oIgogI2luY2x1ZGUgIlNraWFG
b250V2luLmgiCisKKyNpbmNsdWRlIDxtbGFuZy5oPgorI2luY2x1ZGUgPG9iamlkbC5oPgorI2lu
Y2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTYyLDYgKzY0LDcgQEAgU2tUeXBlZmFjZSogQ3JlYXRlVHlwZWZh
Y2VGcm9tSEZvbnQoSEZPTlQgaGZvbnQsIGludCogc2l6ZSwgaW50KiBsZlF1YWxpdHkpCiBGb250
UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVl
VHlwZSkKICAgICA6IG1fZm9udChoYXNoVGFibGVEZWxldGVkRm9udFZhbHVlKCkpCiAgICAgLCBt
X3NpemUoLTEpCisgICAgLCBtX29yaWVudGF0aW9uKEhvcml6b250YWwpCiAgICAgLCBtX3Njcmlw
dENhY2hlKDApCiAgICAgLCBtX3NjcmlwdEZvbnRQcm9wZXJ0aWVzKDApCiAgICAgLCBtX3R5cGVm
YWNlKDApCkBAIC03Miw2ICs3NSw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQogRm9udFBsYXRmb3JtRGF0YTo6Rm9u
dFBsYXRmb3JtRGF0YSgpCiAgICAgOiBtX2ZvbnQoMCkKICAgICAsIG1fc2l6ZSgwKQorICAgICwg
bV9vcmllbnRhdGlvbihIb3Jpem9udGFsKQogICAgICwgbV9zY3JpcHRDYWNoZSgwKQogICAgICwg
bV9zY3JpcHRGb250UHJvcGVydGllcygwKQogICAgICwgbV90eXBlZmFjZSgwKQpAQCAtNzksOSAr
ODMsMTAgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YSgpCiB7CiB9CiAKLUZv
bnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoSEZPTlQgZm9udCwgZmxvYXQgc2l6ZSkK
K0ZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoSEZPTlQgZm9udCwgZmxvYXQgc2l6
ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogICAgIDogbV9mb250KFJlZkNvdW50ZWRI
Rk9OVDo6Y3JlYXRlKGZvbnQpKQogICAgICwgbV9zaXplKHNpemUpCisgICAgLCBtX29yaWVudGF0
aW9uKG9yaWVudGF0aW9uKQogICAgICwgbV9zY3JpcHRDYWNoZSgwKQogICAgICwgbV9zY3JpcHRG
b250UHJvcGVydGllcygwKQogICAgICwgbV90eXBlZmFjZShDcmVhdGVUeXBlZmFjZUZyb21IRm9u
dChmb250LCAwLCAmbV9sZlF1YWxpdHkpKQpAQCAtOTIsNiArOTcsNyBAQCBGb250UGxhdGZvcm1E
YXRhOjpGb250UGxhdGZvcm1EYXRhKEhGT05UIGZvbnQsIGZsb2F0IHNpemUpCiBGb250UGxhdGZv
cm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKGZsb2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxp
cXVlKQogICAgIDogbV9mb250KDApCiAgICAgLCBtX3NpemUoc2l6ZSkKKyAgICAsIG1fb3JpZW50
YXRpb24oSG9yaXpvbnRhbCkKICAgICAsIG1fc2NyaXB0Q2FjaGUoMCkKICAgICAsIG1fc2NyaXB0
Rm9udFByb3BlcnRpZXMoMCkKICAgICAsIG1fdHlwZWZhY2UoMCkKQEAgLTEwMiw2ICsxMDgsNyBA
QCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKGZsb2F0IHNpemUsIGJvb2wgYm9s
ZCwgYm9vbCBvYmxpcXVlKQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250UGxhdGZvcm1EYXRhJiBkYXRhKQogICAgIDogbV9mb250KGRhdGEubV9mb250KQogICAg
ICwgbV9zaXplKGRhdGEubV9zaXplKQorICAgICwgbV9vcmllbnRhdGlvbihkYXRhLm1fb3JpZW50
YXRpb24pCiAgICAgLCBtX3NjcmlwdENhY2hlKDApCiAgICAgLCBtX3NjcmlwdEZvbnRQcm9wZXJ0
aWVzKDApCiAgICAgLCBtX3R5cGVmYWNlKGRhdGEubV90eXBlZmFjZSkKQEAgLTExNSw2ICsxMjIs
NyBAQCBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0oY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSYgZGF0YSkKICAgICBpZiAodGhpcyAhPSAmZGF0YSkgewogICAgICAg
ICBtX2ZvbnQgPSBkYXRhLm1fZm9udDsKICAgICAgICAgbV9zaXplID0gZGF0YS5tX3NpemU7Cisg
ICAgICAgIG1fb3JpZW50YXRpb24gPSBkYXRhLm1fb3JpZW50YXRpb247CiAgICAgICAgIFNrUmVm
Q250X1NhZmVBc3NpZ24obV90eXBlZmFjZSwgZGF0YS5tX3R5cGVmYWNlKTsKICAgICAgICAgbV9s
ZlF1YWxpdHkgPSBkYXRhLm1fbGZRdWFsaXR5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9y
bURhdGFDaHJvbWl1bVdpbi5oCmluZGV4IGQyNjRiMTcuLjU1YTVjMmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFD
aHJvbWl1bVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oCkBAIC02NCw3ICs2NCw3IEBAIHB1Ymxp
YzoKICAgICBGb250UGxhdGZvcm1EYXRhKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSk7
CiAgICAgRm9udFBsYXRmb3JtRGF0YSgpOwogICAgIC8vIFRoaXMgY29uc3RydWN0b3IgdGFrZXMg
b3duZXJzaGlwIG9mIHRoZSBIRk9OVAotICAgIEZvbnRQbGF0Zm9ybURhdGEoSEZPTlQsIGZsb2F0
IHNpemUpOworICAgIEZvbnRQbGF0Zm9ybURhdGEoSEZPTlQsIGZsb2F0IHNpemUsIEZvbnRPcmll
bnRhdGlvbik7CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJv
b2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRh
Jik7CiAKQEAgLTc5LDggKzc5LDggQEAgcHVibGljOgogICAgIFNrVHlwZWZhY2UqIHR5cGVmYWNl
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlZmFjZTsgfQogICAgIGludCBsZlF1YWxpdHkoKSBjb25z
dCB7IHJldHVybiBtX2xmUXVhbGl0eTsgfQogCi0gICAgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uKCkgY29uc3QgeyByZXR1cm4gSG9yaXpvbnRhbDsgfSAvLyBGSVhNRTogSW1wbGVtZW50Lgot
ICAgIHZvaWQgc2V0T3JpZW50YXRpb24oRm9udE9yaWVudGF0aW9uKSB7IH0gLy8gRklYTUU6IElt
cGxlbWVudC4KKyAgICBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVy
biBtX29yaWVudGF0aW9uOyB9CisgICAgdm9pZCBzZXRPcmllbnRhdGlvbihGb250T3JpZW50YXRp
b24gb3JpZW50YXRpb24pIHsgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOyB9CiAKICAgICB1
bnNpZ25lZCBoYXNoKCkgY29uc3QKICAgICB7CkBAIC04OSw3ICs4OSw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29uc3QK
ICAgICB7IAotICAgICAgICByZXR1cm4gbV9mb250ID09IG90aGVyLm1fZm9udCAmJiBtX3NpemUg
PT0gb3RoZXIubV9zaXplOworICAgICAgICByZXR1cm4gbV9mb250ID09IG90aGVyLm1fZm9udCAm
JiBtX3NpemUgPT0gb3RoZXIubV9zaXplICYmIG1fb3JpZW50YXRpb24gPT0gb3RoZXIubV9vcmll
bnRhdGlvbjsKICAgICB9CiAKICNpZm5kZWYgTkRFQlVHCkBAIC0xMzcsNiArMTM3LDcgQEAgcHJp
dmF0ZToKIAogICAgIFJlZlB0cjxSZWZDb3VudGVkSEZPTlQ+IG1fZm9udDsKICAgICBmbG9hdCBt
X3NpemU7ICAvLyBQb2ludCBzaXplIG9mIHRoZSBmb250IGluIHBpeGVscy4KKyAgICBGb250T3Jp
ZW50YXRpb24gbV9vcmllbnRhdGlvbjsKIAogICAgIFNrVHlwZWZhY2UqIG1fdHlwZWZhY2U7IC8v
IGNhY2hlZCBmcm9tIG1fZm9udAogICAgIGludCBtX2xmUXVhbGl0eTsgLy8gY2FjaGVkIGZyb20g
bV9mb250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCmluZGV4
IGEzZGJkNzcuLjU3OWZhMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwCkBAIC04MSw2ICs4MSw4IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
SW5pdCgpCiAKICAgICBPVVRMSU5FVEVYVE1FVFJJQyBvdXRsaW5lVGV4dE1ldHJpYzsKICAgICBp
ZiAoR2V0T3V0bGluZVRleHRNZXRyaWNzKGRjLCBzaXplb2Yob3V0bGluZVRleHRNZXRyaWMpLCAm
b3V0bGluZVRleHRNZXRyaWMpID4gMCkgeworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRz
UGVyRW0ob3V0bGluZVRleHRNZXRyaWMub3RtRU1TcXVhcmUpOworCiAgICAgICAgIC8vIFRoaXMg
aXMgYSBUcnVlVHlwZSBmb250LiAgV2UgbWlnaHQgYmUgYWJsZSB0byBnZXQgYW4gYWNjdXJhdGUg
eEhlaWdodC4KICAgICAgICAgR0xZUEhNRVRSSUNTIGdseXBoTWV0cmljcyA9IHswfTsKICAgICAg
ICAgTUFUMiBpZGVudGl0eU1hdHJpeCA9IHt7MCwgMX0sIHswLCAwfSwgezAsIDB9LCB7MCwgMX19
OwpAQCAtMTE0LDcgKzExNiw3IEBAIFBhc3NPd25QdHI8U2ltcGxlRm9udERhdGE+IFNpbXBsZUZv
bnREYXRhOjpjcmVhdGVTY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpCiAgICAgZmxvYXQg
c2NhbGVkU2l6ZSA9IHNjYWxlRmFjdG9yICogZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkU2l6ZSgp
OwogICAgIHdpbkZvbnQubGZIZWlnaHQgPSAtbHJvdW5kZihzY2FsZWRTaXplKTsKICAgICBIRk9O
VCBoZm9udCA9IENyZWF0ZUZvbnRJbmRpcmVjdCgmd2luRm9udCk7Ci0gICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBTaW1wbGVGb250RGF0YShGb250UGxhdGZvcm1EYXRhKGhmb250LCBzY2FsZWRTaXpl
KSwgaXNDdXN0b21Gb250KCksIGZhbHNlKSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1w
bGVGb250RGF0YShGb250UGxhdGZvcm1EYXRhKGhmb250LCBzY2FsZWRTaXplLCBtX3BsYXRmb3Jt
RGF0YS5vcmllbnRhdGlvbigpKSwgaXNDdXN0b21Gb250KCksIGZhbHNlKSk7CiB9CiAKIFNpbXBs
ZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6c21hbGxDYXBzRm9udERhdGEoY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24pIGNvbnN0CkBAIC0xNjgsOSArMTcwLDI4IEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OmRldGVybWluZVBpdGNoKCkKICAgICBTZWxlY3RPYmplY3QoZGMs
IG9sZEZvbnQpOwogfQogCi1GbG9hdFJlY3QgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRz
Rm9yR2x5cGgoR2x5cGgpIGNvbnN0CitGbG9hdFJlY3QgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
Qm91bmRzRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEZsb2F0UmVj
dCgpOworICAgIEhXbmREQyBoZGMoMCk7CisgICAgU2V0R3JhcGhpY3NNb2RlKGhkYywgR01fQURW
QU5DRUQpOworICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChoZGMsIG1fcGxhdGZv
cm1EYXRhLmhmb250KCkpOworCisgICAgR0xZUEhNRVRSSUNTIGdkaU1ldHJpY3M7CisgICAgc3Rh
dGljIGNvbnN0IE1BVDIgaWRlbnRpdHkgPSB7IDAsIDEsICAwLCAwLCAgMCwgMCwgIDAsIDEgfTsK
KyAgICBpZiAoR2V0R2x5cGhPdXRsaW5lKGhkYywgZ2x5cGgsIEdHT19NRVRSSUNTIHwgR0dPX0dM
WVBIX0lOREVYLCAmZ2RpTWV0cmljcywgMCwgMCwgJmlkZW50aXR5KSA9PSAtMSkgeworICAgICAg
ICBpZiAoUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKG1fcGxhdGZvcm1EYXRhLmhm
b250KCkpKSB7CisgICAgICAgICAgICAvLyBSZXRyeSBHZXRUZXh0TWV0cmljcy4KKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgZXJyb3IgaWYgdGhpcyBjYWxsIGFs
c28gZmFpbHMuCisgICAgICAgICAgICAvLyBTZWUgaHR0cDovL2NyYnVnLmNvbS82NDAxLgorICAg
ICAgICAgICAgaWYgKEdldEdseXBoT3V0bGluZShoZGMsIGdseXBoLCBHR09fTUVUUklDUyB8IEdH
T19HTFlQSF9JTkRFWCwgJmdkaU1ldHJpY3MsIDAsIDAsICZpZGVudGl0eSkgPT0gLTEpCisgICAg
ICAgICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gZ2V0IHRoZSBnbHlwaCBtZXRyaWNzIGFm
dGVyIHNlY29uZCBhdHRlbXB0Iik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBTZWxlY3RPYmpl
Y3QoaGRjLCBvbGRGb250KTsKKworICAgIHJldHVybiBGbG9hdFJlY3QoZ2RpTWV0cmljcy5nbXB0
R2x5cGhPcmlnaW4ueCwgLWdkaU1ldHJpY3MuZ21wdEdseXBoT3JpZ2luLnksCisgICAgICAgIGdk
aU1ldHJpY3MuZ21CbGFja0JveFgsIGdkaU1ldHJpY3MuZ21CbGFja0JveFkpOwogfQogCiBmbG9h
dCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKaW5kZXggOWFlNTAwNy4uM2UxYjk5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC0xMDAsNyArMTAwLDcgQEAgRm9u
dFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGlu
dCBzaXplLCBib29sIGJvbGQsIGIKICAgICBsb2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IEZXX0JP
TEQgOiBGV19ET05UQ0FSRTsKIAogICAgIEhGT05UIGhmb250ID0gQ3JlYXRlRm9udEluZGlyZWN0
KCZsb2dGb250KTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShoZm9udCwgc2l6ZSk7Cisg
ICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoaGZvbnQsIHNpemUsIG9yaWVudGF0aW9uKTsKICNl
bGlmIE9TKFVOSVgpCiAgICAgQVNTRVJUKG1fZm9udFJlZmVyZW5jZSk7CiAgICAgcmV0dXJuIEZv
bnRQbGF0Zm9ybURhdGEobV9mb250UmVmZXJlbmNlLCAiIiwgc2l6ZSwgYm9sZCAmJiAhbV9mb250
UmVmZXJlbmNlLT5pc0JvbGQoKSwgaXRhbGljICYmICFtX2ZvbnRSZWZlcmVuY2UtPmlzSXRhbGlj
KCksIG9yaWVudGF0aW9uLCB0ZXh0T3JpZW50YXRpb24pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>