<?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>140008</bug_id>
          
          <creation_ts>2014-12-30 12:46:02 -0800</creation_ts>
          <short_desc>Move font-related CSS properties to the new StyleBuilder</short_desc>
          <delta_ts>2014-12-30 16:53:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1058200</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-30 12:46:02 -0800</bug_when>
    <thetext>Move font-related CSS properties to the new StyleBuilder by teaching makeprop.pl how to generate them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058203</commentid>
    <comment_count>1</comment_count>
      <attachid>243828</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-30 13:14:57 -0800</bug_when>
    <thetext>Created attachment 243828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058211</commentid>
    <comment_count>2</comment_count>
      <attachid>243830</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-30 14:31:27 -0800</bug_when>
    <thetext>Created attachment 243830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058214</commentid>
    <comment_count>3</comment_count>
      <attachid>243830</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-12-30 15:57:28 -0800</bug_when>
    <thetext>Comment on attachment 243830
Patch

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

&gt; Source/WebCore/css/CSSPropertyNames.in:101
&gt;  -webkit-font-kerning [Inherited, LegacyStyleBuilder]
&gt;  -webkit-font-smoothing [Inherited, LegacyStyleBuilder]
&gt; +-webkit-font-kerning [Inherited, FontProperty, TypeName=FontDescription::Kerning, NameForMethods=Kerning]
&gt; +-webkit-font-smoothing [Inherited, FontProperty, TypeName=FontSmoothingMode]

Build failed because you left in the old lines along with the new ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058215</commentid>
    <comment_count>4</comment_count>
      <attachid>243830</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-30 16:00:19 -0800</bug_when>
    <thetext>Comment on attachment 243830
Patch

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

&gt;&gt; Source/WebCore/css/CSSPropertyNames.in:101
&gt;&gt; +-webkit-font-smoothing [Inherited, FontProperty, TypeName=FontSmoothingMode]
&gt; 
&gt; Build failed because you left in the old lines along with the new ones.

I had a conflict when rebasing and messed up the merge. I&apos;ll fix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058216</commentid>
    <comment_count>5</comment_count>
      <attachid>243832</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-30 16:01:47 -0800</bug_when>
    <thetext>Created attachment 243832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058218</commentid>
    <comment_count>6</comment_count>
      <attachid>243832</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-30 16:53:07 -0800</bug_when>
    <thetext>Comment on attachment 243832
Patch

Clearing flags on attachment: 243832

Committed r177828: &lt;http://trac.webkit.org/changeset/177828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058219</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-30 16:53:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243828</attachid>
            <date>2014-12-30 13:14:57 -0800</date>
            <delta_ts>2014-12-30 14:31:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140008-20141230131500.patch</filename>
            <type>text/plain</type>
            <size>17100</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJlZjQwNzNhZjUyMTNi
OWUyY2FlZmI0ZWZlY2M4ZGVhOTg5MDBlZC4uNTVkOTE3YjI5Y2MxNGJjNTY3NzE1OTcxMGRlYjhi
N2VhMmEwYzU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTEyLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBmb250LXJlbGF0ZWQg
Q1NTIHByb3BlcnRpZXMgdG8gdGhlIG5ldyBTdHlsZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDAwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgZm9udC1yZWxhdGVkIENTUyBwcm9w
ZXJ0aWVzIHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGJ5IHRlYWNoaW5nIG1ha2Vw
cm9wLnBsIGhvdyB0byBnZW5lcmF0ZSB0aGVtLgorCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5
TmFtZXMuaW46CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVjYXRlZFN0eWxlQnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rm9udDo6YXBwbHlJbmhlcml0
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZvbnQ6OmFw
cGx5SW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlGb250OjphcHBseVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlGb250OjpjcmVhdGVIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvbWFrZXBy
b3AucGw6CisgICAgICAgIChnZW5lcmF0ZUluaXRpYWxWYWx1ZVNldHRlcik6CisgICAgICAgIChn
ZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRlcik6CisgICAgICAgIChnZW5lcmF0ZVZhbHVlU2V0dGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6aW5pdGlhbEl0YWxpYyk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RGVzY3JpcHRpb246OmluaXRpYWxTbWFsbENhcHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udERlc2NyaXB0aW9uOjppbml0aWFsS2VybmluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250RGVzY3JpcHRpb246OmluaXRpYWxGb250U21vb3RoaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnREZXNjcmlwdGlvbjo6aW5pdGlhbFRleHRSZW5kZXJpbmdNb2RlKToKKwogMjAxNC0x
Mi0yOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgYW5p
bWF0aW9uIC8gdHJhbnNpdGlvbiBDU1MgcHJvcGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCAyODI2ODQ1MjJmMDVm
NzEzNDZlOGVmNDBmMzdiNjhmZTUxNjMyNjQwLi42MzAzNTYxMDllNjNlYjM4YzQxOGU0Y2QwMGNm
ODdkYWZmNjQxYTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAt
NzYsNiArNzYsMTAgQEAKIC8vICogQW5pbWF0aW9uUHJvcGVydHk6CiAvLyBJbmRpY2F0ZXMgdGhh
dCB0aGlzIENTUyBwcm9wZXJ0eSBpcyBhbiBhbmltYXRpb24gLyB0cmFuc2l0aW9uIHByb3BlcnR5
LgogLy8gSXQgbXVzdCBoYXZlIGNvcnJlc3BvbmRpbmcgbWV0aG9kcyBvbiB0aGUgQW5pbWF0aW9u
IGNsYXNzLgorLy8KKy8vICogRm9udFByb3BlcnR5OgorLy8gSW5kaWNhdGVzIHRoYXQgdGhpcyBD
U1MgcHJvcGVydHkgaXMgZm9udC1yZWxhdGVkLiBJdCBtdXN0IGhhdmUgY29ycmVzcG9uZGluZwor
Ly8gbWV0aG9kcyBvbiB0aGUgRm9udERlc2NyaXB0aW9uIGNsYXNzLgogCiAKIC8vIGhpZ2gtcHJp
b3JpdHkgcHJvcGVydHkgbmFtZXMgaGF2ZSB0byBiZSBsaXN0ZWQgZmlyc3QsIHRvIHNpbXBsaWZ5
IHRoZSBjaGVjawpAQCAtODYsMTMgKzkwLDEzIEBAIGRpc3BsYXkgW0N1c3RvbT1Jbmhlcml0fFZh
bHVlXQogZm9udCBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1aWxkZXJdCiBmb250LWZhbWlseSBb
SW5oZXJpdGVkLCBDdXN0b209QWxsXQogZm9udC1zaXplIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxl
QnVpbGRlcl0KLWZvbnQtc3R5bGUgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQotZm9u
dC12YXJpYW50IFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KK2ZvbnQtc3R5bGUgW0lu
aGVyaXRlZCwgRm9udFByb3BlcnR5LCBUeXBlTmFtZT1Gb250SXRhbGljLCBOYW1lRm9yTWV0aG9k
cz1JdGFsaWNdCitmb250LXZhcmlhbnQgW0luaGVyaXRlZCwgRm9udFByb3BlcnR5LCBUeXBlTmFt
ZT1Gb250U21hbGxDYXBzLCBOYW1lRm9yTWV0aG9kcz1TbWFsbENhcHNdCiBmb250LXdlaWdodCBb
SW5oZXJpdGVkLCBDdXN0b209QWxsXQotdGV4dC1yZW5kZXJpbmcgW0luaGVyaXRlZCwgTGVnYWN5
U3R5bGVCdWlsZGVyXQordGV4dC1yZW5kZXJpbmcgW0luaGVyaXRlZCwgRm9udFByb3BlcnR5LCBU
eXBlTmFtZT1UZXh0UmVuZGVyaW5nTW9kZSwgTmFtZUZvck1ldGhvZHM9VGV4dFJlbmRlcmluZ01v
ZGVdCiAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncyBbSW5oZXJpdGVkLCBMZWdhY3lTdHls
ZUJ1aWxkZXJdCi0td2Via2l0LWZvbnQta2VybmluZyBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1
aWxkZXJdCi0td2Via2l0LWZvbnQtc21vb3RoaW5nIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVp
bGRlcl0KKy13ZWJraXQtZm9udC1rZXJuaW5nIFtJbmhlcml0ZWQsIEZvbnRQcm9wZXJ0eSwgVHlw
ZU5hbWU9Rm9udERlc2NyaXB0aW9uOjpLZXJuaW5nLCBOYW1lRm9yTWV0aG9kcz1LZXJuaW5nXQor
LXdlYmtpdC1mb250LXNtb290aGluZyBbSW5oZXJpdGVkLCBGb250UHJvcGVydHksIFR5cGVOYW1l
PUZvbnRTbW9vdGhpbmdNb2RlXQogLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzIFtJbmhl
cml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KIC13ZWJraXQtbG9jYWxlIFtJbmhlcml0ZWQsIEN1
c3RvbT1WYWx1ZV0KIC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbiBbSW5oZXJpdGVkLCBDdXN0b209
VmFsdWVdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAK
aW5kZXggYjY0NmYwZGVjZWVlYTNmN2IyMWZmZTJiZGI2ZGU4ZTMyNTIzYTUxNy4uMDkyODA5YTY4
OGViMWU2MDdiZDU1MmMzYmI1ZDhhMzBlZjlmNDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAtMTQxLDM2ICsxNDEsNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkgeyByZXR1cm4gUHJv
cGVydHlIYW5kbGVyKCZhcHBseUluaGVyaXRWYWx1ZSwgJmFwcGx5SW5pdGlhbFZhbHVlLCAmYXBw
bHlWYWx1ZSk7IH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBULCBUIChGb250RGVzY3JpcHRp
b246OipnZXR0ZXJGdW5jdGlvbikoKSBjb25zdCwgdm9pZCAoRm9udERlc2NyaXB0aW9uOjoqc2V0
dGVyRnVuY3Rpb24pKFQpLCBUIGluaXRpYWxWYWx1ZT4KLWNsYXNzIEFwcGx5UHJvcGVydHlGb250
IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShDU1NQcm9wZXJ0
eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyKQotICAgIHsKLSAgICAgICAgRm9udERl
c2NyaXB0aW9uIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlUmVzb2x2ZXItPmZvbnREZXNjcmlwdGlv
bigpOwotICAgICAgICAoZm9udERlc2NyaXB0aW9uLipzZXR0ZXJGdW5jdGlvbikoKHN0eWxlUmVz
b2x2ZXItPnBhcmVudEZvbnREZXNjcmlwdGlvbigpLipnZXR0ZXJGdW5jdGlvbikoKSk7Ci0gICAg
ICAgIHN0eWxlUmVzb2x2ZXItPnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOwot
ICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbFZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0gICAgewotICAgICAgICBGb250RGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci0+Zm9udERlc2NyaXB0aW9uKCk7
Ci0gICAgICAgIChmb250RGVzY3JpcHRpb24uKnNldHRlckZ1bmN0aW9uKShpbml0aWFsVmFsdWUp
OwotICAgICAgICBzdHlsZVJlc29sdmVyLT5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0
aW9uKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKLSAgICB7Ci0g
ICAgICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwotICAgICAgICBGb250RGVzY3JpcHRpb24g
Zm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci0+Zm9udERlc2NyaXB0aW9uKCk7Ci0gICAg
ICAgIChmb250RGVzY3JpcHRpb24uKnNldHRlckZ1bmN0aW9uKShwcmltaXRpdmVWYWx1ZSk7Ci0g
ICAgICAgIHN0eWxlUmVzb2x2ZXItPnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24p
OwotICAgIH0KLQotICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpIHsg
cmV0dXJuIFByb3BlcnR5SGFuZGxlcigmYXBwbHlJbmhlcml0VmFsdWUsICZhcHBseUluaXRpYWxW
YWx1ZSwgJmFwcGx5VmFsdWUpOyB9Ci19OwotCiBjbGFzcyBBcHBseVByb3BlcnR5Rm9udFNpemUg
ewogcHJpdmF0ZToKICAgICAvLyBXaGVuIHRoZSBDU1Mga2V5d29yZCAibGFyZ2VyIiBpcyB1c2Vk
LCB0aGlzIGZ1bmN0aW9uIHdpbGwgYXR0ZW1wdCB0byBtYXRjaCB3aXRoaW4gdGhlIGtleXdvcmQK
QEAgLTQxNiwxNiArMzg2LDExIEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRT
dHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJhY2tncm91
bmRSZXBlYXRZLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVGaWxsUmVwZWF0LCBDU1NQcm9wZXJ0
eUJhY2tncm91bmRSZXBlYXRZLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFj
Y2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywgJkZp
bGxMYXllcjo6aXNSZXBlYXRZU2V0LCAmRmlsbExheWVyOjpyZXBlYXRZLCAmRmlsbExheWVyOjpz
ZXRSZXBlYXRZLCAmRmlsbExheWVyOjpjbGVhclJlcGVhdFksICZGaWxsTGF5ZXI6OmluaXRpYWxG
aWxsUmVwZWF0WSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxSZXBlYXRZPjo6Y3JlYXRlSGFuZGxl
cigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwg
QXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxGaWxsU2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6
ZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5
ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6OmlzU2l6ZVNl
dCwgJkZpbGxMYXllcjo6c2l6ZSwgJkZpbGxMYXllcjo6c2V0U2l6ZSwgJkZpbGxMYXllcjo6Y2xl
YXJTaXplLCAmRmlsbExheWVyOjppbml0aWFsRmlsbFNpemUsICZDU1NUb1N0eWxlTWFwOjptYXBG
aWxsU2l6ZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5Rm9udFNpemUsIEFwcGx5UHJvcGVydHlGb250U2l6ZTo6Y3JlYXRlSGFuZGxlcigpKTsK
LSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250U3R5bGUsIEFwcGx5UHJvcGVy
dHlGb250PEZvbnRJdGFsaWMsICZGb250RGVzY3JpcHRpb246Oml0YWxpYywgJkZvbnREZXNjcmlw
dGlvbjo6c2V0SXRhbGljLCBGb250SXRhbGljT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250VmFyaWFudCwgQXBwbHlQcm9wZXJ0eUZv
bnQ8Rm9udFNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c21hbGxDYXBzLCAmRm9udERlc2Ny
aXB0aW9uOjpzZXRTbWFsbENhcHMsIEZvbnRTbWFsbENhcHNPZmY+OjpjcmVhdGVIYW5kbGVyKCkp
OwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmcsIEFwcGx5
UHJvcGVydHlGb250PFRleHRSZW5kZXJpbmdNb2RlLCAmRm9udERlc2NyaXB0aW9uOjp0ZXh0UmVu
ZGVyaW5nTW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6c2V0VGV4dFJlbmRlcmluZ01vZGUsIEF1dG9U
ZXh0UmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKIAogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRD
bGlwKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5k
Q29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBvc2l0ZU9wZXJhdG9yLCBDU1NQ
cm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tncm91bmRGaWxsTGF5ZXIsICZS
ZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0eWxlOjpiYWNrZ3Jv
dW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxMYXllcjo6Y29tcG9z
aXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNsZWFyQ29tcG9zaXRl
LCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZp
bGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1Byb3BlcnR5QmFja2dyb3VuZE9y
aWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3Vu
ZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250RGVz
Y3JpcHRpb246Oktlcm5pbmcsICZGb250RGVzY3JpcHRpb246Omtlcm5pbmcsICZGb250RGVzY3Jp
cHRpb246OnNldEtlcm5pbmcsIEZvbnREZXNjcmlwdGlvbjo6QXV0b0tlcm5pbmc+OjpjcmVhdGVI
YW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRT
bW9vdGhpbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbW9vdGhpbmdNb2RlLCAmRm9udERlc2Ny
aXB0aW9uOjpmb250U21vb3RoaW5nLCAmRm9udERlc2NyaXB0aW9uOjpzZXRGb250U21vb3RoaW5n
LCBBdXRvU21vb3RoaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRGb250VmFyaWFudExpZ2F0dXJlcywgQXBwbHlQcm9wZXJ0eUZv
bnRWYXJpYW50TGlnYXR1cmVzOjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDbGlwLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVG
aWxsQm94LCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDbGlwLCBNYXNrRmlsbExheWVyLCAmUmVuZGVy
U3R5bGU6OmFjY2Vzc01hc2tMYXllcnMsICZSZW5kZXJTdHlsZTo6bWFza0xheWVycywgJkZpbGxM
YXllcjo6aXNDbGlwU2V0LCAmRmlsbExheWVyOjpjbGlwLCAmRmlsbExheWVyOjpzZXRDbGlwLCAm
RmlsbExheWVyOjpjbGVhckNsaXAsICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsQ2xpcCwgJkNTU1Rv
U3R5bGVNYXA6Om1hcEZpbGxDbGlwPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrQ29tcG9zaXRlLCBBcHBseVByb3BlcnR5Rmls
bExheWVyPENvbXBvc2l0ZU9wZXJhdG9yLCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDb21wb3NpdGUs
IE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzTWFza0xheWVycywgJlJlbmRlclN0
eWxlOjptYXNrTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxMYXllcjo6
Y29tcG9zaXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNsZWFyQ29t
cG9zaXRlLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5bGVNYXA6
Om1hcEZpbGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBs
CmluZGV4IDEzM2NhZDYxNGIxYjU0NmExNTEwMzFiY2Q3YmNlYzM2ZjNiZTQxODguLmNiNDFlYjBi
NWE4NGQzMGJmNjg5MzA4YTFiZjQwMGQ5ZmE4ZTYwY2MgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwK
QEAgLTQ3LDYgKzQ3LDcgQEAgbXkgJXN0eWxlQnVpbGRlck9wdGlvbnMgPSAoCiAgIEF1dG9GdW5j
dGlvbnMgPT4gMSwKICAgQ29udmVydGVyID0+IDEsCiAgIEN1c3RvbSA9PiAxLAorICBGb250UHJv
cGVydHkgPT4gMSwKICAgR2V0dGVyID0+IDEsCiAgIEluaXRpYWwgPT4gMSwKICAgTmFtZUZvck1l
dGhvZHMgPT4gMSwKQEAgLTU2Miw2ICs1NjMsOCBAQCBzdWIgZ2VuZXJhdGVJbml0aWFsVmFsdWVT
ZXR0ZXIgewogICBteSAkbmFtZSA9IHNoaWZ0OwogICBteSAkaW5kZW50ID0gc2hpZnQ7CiAKKyAg
bXkgJHNldHRlciA9ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJT
ZXR0ZXIifTsKKyAgbXkgJGluaXRpYWwgPSAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRp
b25zeyRuYW1lfXsiSW5pdGlhbCJ9OwogICBteSAkc2V0dGVyQ29udGVudCA9ICIiOwogICAkc2V0
dGVyQ29udGVudCAuPSAkaW5kZW50IC4gInN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbCIgLiAkbmFt
ZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsKICAgJHNl
dHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJ7XG4iOwpAQCAtNTY5LDEzICs1NzIsMTcgQEAgc3Vi
IGdlbmVyYXRlSW5pdGlhbFZhbHVlU2V0dGVyIHsKICAgaWYgKGV4aXN0cyAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0aW9ucyJ9KSB7CiAgICAgJHNl
dHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuIGdldEF1dG9TZXR0ZXIoJG5hbWUsICRz
dHlsZSkgLiAiO1xuIjsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVp
bGRlck9wdGlvbnN7JG5hbWV9eyJWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCJ9KSB7Ci0gICAgICBt
eSAkaW5pdGlhbENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVC
dWlsZGVyT3B0aW9uc3skbmFtZX17IkluaXRpYWwifSAuICIoKSI7CisgICAgICBteSAkaW5pdGlh
bENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJGluaXRpYWwgLiAiKCkiOwogICAgICAgJHNldHRl
ckNvbnRlbnQgLj0gZ2VuZXJhdGVDb2xvclZhbHVlU2V0dGVyKCRuYW1lLCAkaW5pdGlhbENvbG9y
LCAkaW5kZW50IC4gIiAgICAiKTsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0
eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Qcm9wZXJ0eSJ9KSB7CiAgICAgJHNl
dHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Qcm9wZXJ0eUluaXRpYWxWYWx1ZVNldHRl
cigkbmFtZSwgJGluZGVudCAuICIgICAgIik7CisgIH0gZWxzaWYgKGV4aXN0cyAkcHJvcGVydGll
c1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiRm9udFByb3BlcnR5In0pIHsKKyAgICAk
c2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBGb250RGVzY3JpcHRpb24gZm9udERlc2Ny
aXB0aW9uID0gc3R5bGVSZXNvbHZlci5mb250RGVzY3JpcHRpb24oKTtcbiI7CisgICAgJHNldHRl
ckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgZm9udERlc2NyaXB0aW9uLiIgLiAkc2V0dGVyIC4g
IihGb250RGVzY3JpcHRpb246OiIgLiAkaW5pdGlhbCAuICIoKSk7XG4iOworICAgICRzZXR0ZXJD
b250ZW50IC49ICRpbmRlbnQgLiAiICAgIHN0eWxlUmVzb2x2ZXIuc2V0Rm9udERlc2NyaXB0aW9u
KGZvbnREZXNjcmlwdGlvbik7XG4iOwogICB9IGVsc2UgewotICAgIG15ICRzZXRWYWx1ZSA9ICRz
dHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsi
U2V0dGVyIn07Ci0gICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRW
YWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRp
b25zeyRuYW1lfXsiSW5pdGlhbCJ9IC4gIigpKTtcbiI7CisgICAgbXkgJHNldFZhbHVlID0gJHN0
eWxlIC4gIi0+IiAuICRzZXR0ZXI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIg
ICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkaW5pdGlhbCAuICIoKSk7XG4i
OwogICB9CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAifVxuIjsKIApAQCAtNTkxLDcg
KzU5OCw4IEBAIHN1YiBnZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRlciB7CiAgICRzZXR0ZXJDb250
ZW50IC49ICRpbmRlbnQgLiAie1xuIjsKICAgbXkgJHBhcmVudFN0eWxlID0gInN0eWxlUmVzb2x2
ZXIucGFyZW50U3R5bGUoKSI7CiAgIG15ICRzdHlsZSA9ICJzdHlsZVJlc29sdmVyLnN0eWxlKCki
OwotICBteSAkc2V0VmFsdWUgPSAkc3R5bGUgLiAiLT4iIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVC
dWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OworICBteSAkZ2V0dGVyID0gJHByb3BlcnRp
ZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkdldHRlciJ9OworICBteSAkc2V0dGVy
ID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9Owog
ICBteSAkZGlkQ2FsbFNldFZhbHVlID0gMDsKICAgaWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0aW9ucyJ9KSB7CiAgICAgJHNldHRl
ckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgaWYgKCIgLiBnZXRBdXRvR2V0dGVyKCRuYW1lLCAk
cGFyZW50U3R5bGUpIC4gIikge1xuIjsKQEAgLTU5OSw3ICs2MDcsNyBAQCBzdWIgZ2VuZXJhdGVJ
bmhlcml0VmFsdWVTZXR0ZXIgewogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAg
ICAgICByZXR1cm47XG4iOwogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIH1c
biI7CiAgIH0gZWxzaWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25z
eyRuYW1lfXsiVmlzaXRlZExpbmtDb2xvclN1cHBvcnQifSkgewotICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgIENvbG9yIGNvbG9yID0gIiAuICRwYXJlbnRTdHlsZSAuICItPiIg
LiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiR2V0dGVyIn0gLiAi
KCk7XG4iOworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIENvbG9yIGNvbG9y
ID0gIiAuICRwYXJlbnRTdHlsZSAuICItPiIgLiAkZ2V0dGVyIC4gIigpO1xuIjsKICAgICBpZiAo
IWV4aXN0cygkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiTm9EZWZh
dWx0Q29sb3IifSkpIHsKICAgICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIGlm
ICghY29sb3IuaXNWYWxpZCgpKVxuIjsKICAgICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQg
LiAiICAgICAgICBjb2xvciA9ICIgLiAkcGFyZW50U3R5bGUgLiAiLT5jb2xvcigpO1xuIjsKQEAg
LTYwOSw5ICs2MTcsMTUgQEAgc3ViIGdlbmVyYXRlSW5oZXJpdFZhbHVlU2V0dGVyIHsKICAgfSBl
bHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJB
bmltYXRpb25Qcm9wZXJ0eSJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmlt
YXRpb25Qcm9wZXJ0eUluaGVyaXRWYWx1ZVNldHRlcigkbmFtZSwgJGluZGVudCAuICIgICAgIik7
CiAgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CisgIH0gZWxzaWYgKGV4aXN0cyAkcHJvcGVydGll
c1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiRm9udFByb3BlcnR5In0pIHsKKyAgICAk
c2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBGb250RGVzY3JpcHRpb24gZm9udERlc2Ny
aXB0aW9uID0gc3R5bGVSZXNvbHZlci5mb250RGVzY3JpcHRpb24oKTtcbiI7CisgICAgJHNldHRl
ckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgZm9udERlc2NyaXB0aW9uLiIgLiAkc2V0dGVyIC4g
IihzdHlsZVJlc29sdmVyLnBhcmVudEZvbnREZXNjcmlwdGlvbigpLiIgLiAkZ2V0dGVyIC4gIigp
KTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgc3R5bGVSZXNvbHZl
ci5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTtcbiI7CisgICAgJGRpZENhbGxT
ZXRWYWx1ZSA9IDE7CiAgIH0KICAgaWYgKCEkZGlkQ2FsbFNldFZhbHVlKSB7Ci0gICAgbXkgJGlu
aGVyaXRlZFZhbHVlID0gJHBhcmVudFN0eWxlIC4gIi0+IiAuICAkcHJvcGVydGllc1dpdGhTdHls
ZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiR2V0dGVyIn0gLiAiKCkiOworICAgIG15ICRpbmhlcml0
ZWRWYWx1ZSA9ICRwYXJlbnRTdHlsZSAuICItPiIgLiAgJGdldHRlciAuICIoKSI7CisgICAgbXkg
JHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRzZXR0ZXI7CiAgICAgJHNldHRlckNvbnRlbnQg
Lj0gJGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoIiAuICRpbmhlcml0ZWRWYWx1ZSAu
ICIpO1xuIjsKICAgfQogICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIn1cbiI7CkBAIC02
MzMsNiArNjQ3LDcgQEAgc3ViIGdlbmVyYXRlVmFsdWVTZXR0ZXIgewogICAgICRjb252ZXJ0ZWRW
YWx1ZSA9ICJzdGF0aWNfY2FzdDwiIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9u
c3skbmFtZX17IlR5cGVOYW1lIn0gLiAiPihkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFs
dWUpKSI7CiAgIH0KIAorICBteSAkc2V0dGVyID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVy
T3B0aW9uc3skbmFtZX17IlNldHRlciJ9OwogICBteSAkc3R5bGUgPSAic3R5bGVSZXNvbHZlci5z
dHlsZSgpIjsKICAgbXkgJGRpZENhbGxTZXRWYWx1ZSA9IDA7CiAgIGlmIChleGlzdHMgJHByb3Bl
cnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkF1dG9GdW5jdGlvbnMifSkgewpA
QCAtNjQxLDE5ICs2NTYsMjQgQEAgc3ViIGdlbmVyYXRlVmFsdWVTZXR0ZXIgewogICAgICRzZXR0
ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICByZXR1cm47XG4iOwogICAgICRzZXR0ZXJD
b250ZW50IC49ICRpbmRlbnQgLiAiICAgIH1cbiI7CiAgIH0gZWxzaWYgKGV4aXN0cyAkcHJvcGVy
dGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiVmlzaXRlZExpbmtDb2xvclN1cHBv
cnQifSkgewotICAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgYXV0byYgcHJp
bWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpO1xuIjsKLSAg
ICAgIGlmICgkbmFtZSBlcSAiY29sb3IiKSB7Ci0gICAgICAgICMgVGhlICJjb2xvciIgcHJvcGVy
dHkgc3VwcG9ydHMgImN1cnJlbnRDb2xvciIgdmFsdWUuIFdlIHNob3VsZCBhZGQgYSBwYXJhbWV0
ZXIuCi0gICAgICAgICRzZXR0ZXJDb250ZW50IC49IGhhbmRsZUN1cnJlbnRDb2xvclZhbHVlKCRu
YW1lLCAicHJpbWl0aXZlVmFsdWUiLCAkaW5kZW50IC4gIiAgICAiKTsKLSAgICAgIH0KLSAgICAg
ICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JWYWx1ZVNldHRlcigkbmFtZSwgInByaW1p
dGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIiwgVkFMVUVfSVNfUFJJTUlUSVZFKTsKLSAgICAg
ICRkaWRDYWxsU2V0VmFsdWUgPSAxOworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAi
ICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZh
bHVlKTtcbiI7CisgICAgaWYgKCRuYW1lIGVxICJjb2xvciIpIHsKKyAgICAgICMgVGhlICJjb2xv
ciIgcHJvcGVydHkgc3VwcG9ydHMgImN1cnJlbnRDb2xvciIgdmFsdWUuIFdlIHNob3VsZCBhZGQg
YSBwYXJhbWV0ZXIuCisgICAgICAkc2V0dGVyQ29udGVudCAuPSBoYW5kbGVDdXJyZW50Q29sb3JW
YWx1ZSgkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIik7CisgICAgfQor
ICAgICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JWYWx1ZVNldHRlcigkbmFtZSwgInBy
aW1pdGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIiwgVkFMVUVfSVNfUFJJTUlUSVZFKTsKKyAg
ICAkZGlkQ2FsbFNldFZhbHVlID0gMTsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0
aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Qcm9wZXJ0eSJ9KSB7Ci0gICAg
ICAkc2V0dGVyQ29udGVudCAuPSBnZW5lcmF0ZUFuaW1hdGlvblByb3BlcnR5VmFsdWVTZXR0ZXIo
JG5hbWUsICRpbmRlbnQgLiAiICAgICIpOwotICAgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7Cisg
ICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Qcm9wZXJ0eVZhbHVlU2V0dGVy
KCRuYW1lLCAkaW5kZW50IC4gIiAgICAiKTsKKyAgICAkZGlkQ2FsbFNldFZhbHVlID0gMTsKKyAg
fSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9
eyJGb250UHJvcGVydHkifSkgeworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAg
IEZvbnREZXNjcmlwdGlvbiBmb250RGVzY3JpcHRpb24gPSBzdHlsZVJlc29sdmVyLmZvbnREZXNj
cmlwdGlvbigpO1xuIjsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBmb250
RGVzY3JpcHRpb24uIiAuICRzZXR0ZXIgLiAiKCIgLiAkY29udmVydGVkVmFsdWUgLiAiKTtcbiI7
CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgc3R5bGVSZXNvbHZlci5zZXRG
b250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTtcbiI7CisgICAgJGRpZENhbGxTZXRWYWx1
ZSA9IDE7CiAgIH0KICAgaWYgKCEkZGlkQ2FsbFNldFZhbHVlKSB7Ci0gICAgbXkgJHNldFZhbHVl
ID0gJHN0eWxlIC4gIi0+IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5h
bWV9eyJTZXR0ZXIifTsKKyAgICBteSAkc2V0VmFsdWUgPSAkc3R5bGUgLiAiLT4iIC4gJHNldHRl
cjsKICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAiIC4gJHNldFZhbHVlIC4g
IigiIC4gJGNvbnZlcnRlZFZhbHVlIC4gIik7XG4iOwogICB9CiAgICRzZXR0ZXJDb250ZW50IC49
ICRpbmRlbnQgLiAifVxuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggMDJjNmM1MjQzNjU1Njg4Yzg0NDdiNzNiOWIzY2Ni
ZTUwNmNmOTZlMi4uNTM1ODRkMDllNWFlOTUxYTZiMzAyNGVjNGM0MjdiNmU5YWQwMzFjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9u
LmgKQEAgLTE3Niw2ICsxNzYsMTMgQEAgcHVibGljOgogICAgIH0KICNlbmRpZgogCisgICAgLy8g
SW5pdGlhbCB2YWx1ZXMgZm9yIGZvbnQgcHJvcGVydGllcy4KKyAgICBzdGF0aWMgRm9udEl0YWxp
YyBpbml0aWFsSXRhbGljKCkgeyByZXR1cm4gRm9udEl0YWxpY09mZjsgfQorICAgIHN0YXRpYyBG
b250U21hbGxDYXBzIGluaXRpYWxTbWFsbENhcHMoKSB7IHJldHVybiBGb250U21hbGxDYXBzT2Zm
OyB9CisgICAgc3RhdGljIEtlcm5pbmcgaW5pdGlhbEtlcm5pbmcoKSB7IHJldHVybiBBdXRvS2Vy
bmluZzsgfQorICAgIHN0YXRpYyBGb250U21vb3RoaW5nTW9kZSBpbml0aWFsRm9udFNtb290aGlu
ZygpIHsgcmV0dXJuIEF1dG9TbW9vdGhpbmc7IH0KKyAgICBzdGF0aWMgVGV4dFJlbmRlcmluZ01v
ZGUgaW5pdGlhbFRleHRSZW5kZXJpbmdNb2RlKCkgeyByZXR1cm4gQXV0b1RleHRSZW5kZXJpbmc7
IH0KKwogcHJpdmF0ZToKICAgICBSZWZDb3VudGVkQXJyYXk8QXRvbWljU3RyaW5nPiBtX2ZhbWls
aWVzOwogICAgIFJlZlB0cjxGb250RmVhdHVyZVNldHRpbmdzPiBtX2ZlYXR1cmVTZXR0aW5nczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243830</attachid>
            <date>2014-12-30 14:31:27 -0800</date>
            <delta_ts>2014-12-30 16:01:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140008-20141230143129.patch</filename>
            <type>text/plain</type>
            <size>17403</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWI5NmI4ODU5MTU1YjVh
NWU3Yjg5YTZjMTA3NTcxYTc3N2NiNTBlNi4uYzI5ZGI5NWUxNTZhMzFlZmM5YzhiNzUzNzY3ZGNj
MjNhOThhNTljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDE0LTEyLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBmb250LXJlbGF0ZWQg
Q1NTIHByb3BlcnRpZXMgdG8gdGhlIG5ldyBTdHlsZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDAwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgZm9udC1yZWxhdGVkIENTUyBwcm9w
ZXJ0aWVzIHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGJ5IHRlYWNoaW5nIG1ha2Vw
cm9wLnBsIGhvdyB0byBnZW5lcmF0ZSB0aGVtLgorCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5
TmFtZXMuaW46CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVjYXRlZFN0eWxlQnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rm9udDo6YXBwbHlJbmhlcml0
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZvbnQ6OmFw
cGx5SW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlGb250OjphcHBseVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlGb250OjpjcmVhdGVIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvbWFrZXBy
b3AucGw6CisgICAgICAgIChnZW5lcmF0ZUluaXRpYWxWYWx1ZVNldHRlcik6CisgICAgICAgIChn
ZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRlcik6CisgICAgICAgIChnZW5lcmF0ZVZhbHVlU2V0dGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6aW5pdGlhbEl0YWxpYyk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RGVzY3JpcHRpb246OmluaXRpYWxTbWFsbENhcHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udERlc2NyaXB0aW9uOjppbml0aWFsS2VybmluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250RGVzY3JpcHRpb246OmluaXRpYWxGb250U21vb3RoaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnREZXNjcmlwdGlvbjo6aW5pdGlhbFRleHRSZW5kZXJpbmdNb2RlKToKKworMjAxNC0x
Mi0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIE1vdmUgJy13
ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlJyBDU1MgcHJvcGVydHkgdG8gdGhlIG5ldyBTdHls
ZUJ1aWxkZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MDAwNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDkwMThh
ODlmYzYyOGE3YzFkZmUzMTg1MzFhNDM3YTk3NzI2NzU5YWIuLjU0MjdhOTFkMmVjOWJkZmVmNjk5
ZDAwOGY2YmJiOWU1N2JjN2MzODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCkBAIC03Niw2ICs3NiwxMCBAQAogLy8gKiBBbmltYXRpb25Qcm9wZXJ0eToKIC8vIEluZGlj
YXRlcyB0aGF0IHRoaXMgQ1NTIHByb3BlcnR5IGlzIGFuIGFuaW1hdGlvbiAvIHRyYW5zaXRpb24g
cHJvcGVydHkuCiAvLyBJdCBtdXN0IGhhdmUgY29ycmVzcG9uZGluZyBtZXRob2RzIG9uIHRoZSBB
bmltYXRpb24gY2xhc3MuCisvLworLy8gKiBGb250UHJvcGVydHk6CisvLyBJbmRpY2F0ZXMgdGhh
dCB0aGlzIENTUyBwcm9wZXJ0eSBpcyBmb250LXJlbGF0ZWQuIEl0IG11c3QgaGF2ZSBjb3JyZXNw
b25kaW5nCisvLyBtZXRob2RzIG9uIHRoZSBGb250RGVzY3JpcHRpb24gY2xhc3MuCiAKIAogLy8g
aGlnaC1wcmlvcml0eSBwcm9wZXJ0eSBuYW1lcyBoYXZlIHRvIGJlIGxpc3RlZCBmaXJzdCwgdG8g
c2ltcGxpZnkgdGhlIGNoZWNrCkBAIC04NiwxMyArOTAsMTUgQEAgZGlzcGxheSBbQ3VzdG9tPUlu
aGVyaXR8VmFsdWVdCiBmb250IFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KIGZvbnQt
ZmFtaWx5IFtJbmhlcml0ZWQsIEN1c3RvbT1BbGxdCiBmb250LXNpemUgW0luaGVyaXRlZCwgTGVn
YWN5U3R5bGVCdWlsZGVyXQotZm9udC1zdHlsZSBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1aWxk
ZXJdCi1mb250LXZhcmlhbnQgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorZm9udC1z
dHlsZSBbSW5oZXJpdGVkLCBGb250UHJvcGVydHksIFR5cGVOYW1lPUZvbnRJdGFsaWMsIE5hbWVG
b3JNZXRob2RzPUl0YWxpY10KK2ZvbnQtdmFyaWFudCBbSW5oZXJpdGVkLCBGb250UHJvcGVydHks
IFR5cGVOYW1lPUZvbnRTbWFsbENhcHMsIE5hbWVGb3JNZXRob2RzPVNtYWxsQ2Fwc10KIGZvbnQt
d2VpZ2h0IFtJbmhlcml0ZWQsIEN1c3RvbT1BbGxdCi10ZXh0LXJlbmRlcmluZyBbSW5oZXJpdGVk
LCBMZWdhY3lTdHlsZUJ1aWxkZXJdCit0ZXh0LXJlbmRlcmluZyBbSW5oZXJpdGVkLCBGb250UHJv
cGVydHksIFR5cGVOYW1lPVRleHRSZW5kZXJpbmdNb2RlLCBOYW1lRm9yTWV0aG9kcz1UZXh0UmVu
ZGVyaW5nTW9kZV0KIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzIFtJbmhlcml0ZWQsIExl
Z2FjeVN0eWxlQnVpbGRlcl0KIC13ZWJraXQtZm9udC1rZXJuaW5nIFtJbmhlcml0ZWQsIExlZ2Fj
eVN0eWxlQnVpbGRlcl0KIC13ZWJraXQtZm9udC1zbW9vdGhpbmcgW0luaGVyaXRlZCwgTGVnYWN5
U3R5bGVCdWlsZGVyXQorLXdlYmtpdC1mb250LWtlcm5pbmcgW0luaGVyaXRlZCwgRm9udFByb3Bl
cnR5LCBUeXBlTmFtZT1Gb250RGVzY3JpcHRpb246Oktlcm5pbmcsIE5hbWVGb3JNZXRob2RzPUtl
cm5pbmddCistd2Via2l0LWZvbnQtc21vb3RoaW5nIFtJbmhlcml0ZWQsIEZvbnRQcm9wZXJ0eSwg
VHlwZU5hbWU9Rm9udFNtb290aGluZ01vZGVdCiAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVy
ZXMgW0luaGVyaXRlZCwgQ3VzdG9tPUFsbF0KIC13ZWJraXQtbG9jYWxlIFtJbmhlcml0ZWQsIEN1
c3RvbT1WYWx1ZV0KIC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbiBbSW5oZXJpdGVkLCBDdXN0b209
VmFsdWVdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAK
aW5kZXggNTA2ZmQyY2UwMzQzNDYwMTYzOTVhZGNjZTQ0OGRmZGQ2MDUxYjFkYS4uMTRlZjI3NmFj
ZDRjNzU5YzI4M2Y2NDM5MTQ1ODE5MTczZmQ0Njg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAtMTQxLDM2ICsxNDEsNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkgeyByZXR1cm4gUHJv
cGVydHlIYW5kbGVyKCZhcHBseUluaGVyaXRWYWx1ZSwgJmFwcGx5SW5pdGlhbFZhbHVlLCAmYXBw
bHlWYWx1ZSk7IH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBULCBUIChGb250RGVzY3JpcHRp
b246OipnZXR0ZXJGdW5jdGlvbikoKSBjb25zdCwgdm9pZCAoRm9udERlc2NyaXB0aW9uOjoqc2V0
dGVyRnVuY3Rpb24pKFQpLCBUIGluaXRpYWxWYWx1ZT4KLWNsYXNzIEFwcGx5UHJvcGVydHlGb250
IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShDU1NQcm9wZXJ0
eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyKQotICAgIHsKLSAgICAgICAgRm9udERl
c2NyaXB0aW9uIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlUmVzb2x2ZXItPmZvbnREZXNjcmlwdGlv
bigpOwotICAgICAgICAoZm9udERlc2NyaXB0aW9uLipzZXR0ZXJGdW5jdGlvbikoKHN0eWxlUmVz
b2x2ZXItPnBhcmVudEZvbnREZXNjcmlwdGlvbigpLipnZXR0ZXJGdW5jdGlvbikoKSk7Ci0gICAg
ICAgIHN0eWxlUmVzb2x2ZXItPnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOwot
ICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbFZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0gICAgewotICAgICAgICBGb250RGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci0+Zm9udERlc2NyaXB0aW9uKCk7
Ci0gICAgICAgIChmb250RGVzY3JpcHRpb24uKnNldHRlckZ1bmN0aW9uKShpbml0aWFsVmFsdWUp
OwotICAgICAgICBzdHlsZVJlc29sdmVyLT5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0
aW9uKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKLSAgICB7Ci0g
ICAgICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwotICAgICAgICBGb250RGVzY3JpcHRpb24g
Zm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci0+Zm9udERlc2NyaXB0aW9uKCk7Ci0gICAg
ICAgIChmb250RGVzY3JpcHRpb24uKnNldHRlckZ1bmN0aW9uKShwcmltaXRpdmVWYWx1ZSk7Ci0g
ICAgICAgIHN0eWxlUmVzb2x2ZXItPnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24p
OwotICAgIH0KLQotICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpIHsg
cmV0dXJuIFByb3BlcnR5SGFuZGxlcigmYXBwbHlJbmhlcml0VmFsdWUsICZhcHBseUluaXRpYWxW
YWx1ZSwgJmFwcGx5VmFsdWUpOyB9Ci19OwotCiBjbGFzcyBBcHBseVByb3BlcnR5Rm9udFNpemUg
ewogcHJpdmF0ZToKICAgICAvLyBXaGVuIHRoZSBDU1Mga2V5d29yZCAibGFyZ2VyIiBpcyB1c2Vk
LCB0aGlzIGZ1bmN0aW9uIHdpbGwgYXR0ZW1wdCB0byBtYXRjaCB3aXRoaW4gdGhlIGtleXdvcmQK
QEAgLTMzNiwxNiArMzA2LDExIEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRT
dHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJhY2tncm91
bmRSZXBlYXRZLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVGaWxsUmVwZWF0LCBDU1NQcm9wZXJ0
eUJhY2tncm91bmRSZXBlYXRZLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFj
Y2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywgJkZp
bGxMYXllcjo6aXNSZXBlYXRZU2V0LCAmRmlsbExheWVyOjpyZXBlYXRZLCAmRmlsbExheWVyOjpz
ZXRSZXBlYXRZLCAmRmlsbExheWVyOjpjbGVhclJlcGVhdFksICZGaWxsTGF5ZXI6OmluaXRpYWxG
aWxsUmVwZWF0WSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxSZXBlYXRZPjo6Y3JlYXRlSGFuZGxl
cigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwg
QXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxGaWxsU2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6
ZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5
ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6OmlzU2l6ZVNl
dCwgJkZpbGxMYXllcjo6c2l6ZSwgJkZpbGxMYXllcjo6c2V0U2l6ZSwgJkZpbGxMYXllcjo6Y2xl
YXJTaXplLCAmRmlsbExheWVyOjppbml0aWFsRmlsbFNpemUsICZDU1NUb1N0eWxlTWFwOjptYXBG
aWxsU2l6ZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5Rm9udFNpemUsIEFwcGx5UHJvcGVydHlGb250U2l6ZTo6Y3JlYXRlSGFuZGxlcigpKTsK
LSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250U3R5bGUsIEFwcGx5UHJvcGVy
dHlGb250PEZvbnRJdGFsaWMsICZGb250RGVzY3JpcHRpb246Oml0YWxpYywgJkZvbnREZXNjcmlw
dGlvbjo6c2V0SXRhbGljLCBGb250SXRhbGljT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250VmFyaWFudCwgQXBwbHlQcm9wZXJ0eUZv
bnQ8Rm9udFNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c21hbGxDYXBzLCAmRm9udERlc2Ny
aXB0aW9uOjpzZXRTbWFsbENhcHMsIEZvbnRTbWFsbENhcHNPZmY+OjpjcmVhdGVIYW5kbGVyKCkp
OwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmcsIEFwcGx5
UHJvcGVydHlGb250PFRleHRSZW5kZXJpbmdNb2RlLCAmRm9udERlc2NyaXB0aW9uOjp0ZXh0UmVu
ZGVyaW5nTW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6c2V0VGV4dFJlbmRlcmluZ01vZGUsIEF1dG9U
ZXh0UmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKIAogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRD
bGlwKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5k
Q29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBvc2l0ZU9wZXJhdG9yLCBDU1NQ
cm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tncm91bmRGaWxsTGF5ZXIsICZS
ZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0eWxlOjpiYWNrZ3Jv
dW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxMYXllcjo6Y29tcG9z
aXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNsZWFyQ29tcG9zaXRl
LCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZp
bGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1Byb3BlcnR5QmFja2dyb3VuZE9y
aWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3Vu
ZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250RGVz
Y3JpcHRpb246Oktlcm5pbmcsICZGb250RGVzY3JpcHRpb246Omtlcm5pbmcsICZGb250RGVzY3Jp
cHRpb246OnNldEtlcm5pbmcsIEZvbnREZXNjcmlwdGlvbjo6QXV0b0tlcm5pbmc+OjpjcmVhdGVI
YW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRT
bW9vdGhpbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbW9vdGhpbmdNb2RlLCAmRm9udERlc2Ny
aXB0aW9uOjpmb250U21vb3RoaW5nLCAmRm9udERlc2NyaXB0aW9uOjpzZXRGb250U21vb3RoaW5n
LCBBdXRvU21vb3RoaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrQ2xpcCwgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxFRmls
bEJveCwgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ2xpcCwgTWFza0ZpbGxMYXllciwgJlJlbmRlclN0
eWxlOjphY2Nlc3NNYXNrTGF5ZXJzLCAmUmVuZGVyU3R5bGU6Om1hc2tMYXllcnMsICZGaWxsTGF5
ZXI6OmlzQ2xpcFNldCwgJkZpbGxMYXllcjo6Y2xpcCwgJkZpbGxMYXllcjo6c2V0Q2xpcCwgJkZp
bGxMYXllcjo6Y2xlYXJDbGlwLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENsaXAsICZDU1NUb1N0
eWxlTWFwOjptYXBGaWxsQ2xpcD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5V2Via2l0TWFza0NvbXBvc2l0ZSwgQXBwbHlQcm9wZXJ0eUZpbGxM
YXllcjxDb21wb3NpdGVPcGVyYXRvciwgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ29tcG9zaXRlLCBN
YXNrRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc01hc2tMYXllcnMsICZSZW5kZXJTdHls
ZTo6bWFza0xheWVycywgJkZpbGxMYXllcjo6aXNDb21wb3NpdGVTZXQsICZGaWxsTGF5ZXI6OmNv
bXBvc2l0ZSwgJkZpbGxMYXllcjo6c2V0Q29tcG9zaXRlLCAmRmlsbExheWVyOjpjbGVhckNvbXBv
c2l0ZSwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxDb21wb3NpdGUsICZDU1NUb1N0eWxlTWFwOjpt
YXBGaWxsQ29tcG9zaXRlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrT3JpZ2luLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVG
aWxsQm94LCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tPcmlnaW4sIE1hc2tGaWxsTGF5ZXIsICZSZW5k
ZXJTdHlsZTo6YWNjZXNzTWFza0xheWVycywgJlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLCAmRmls
bExheWVyOjppc09yaWdpblNldCwgJkZpbGxMYXllcjo6b3JpZ2luLCAmRmlsbExheWVyOjpzZXRP
cmlnaW4sICZGaWxsTGF5ZXI6OmNsZWFyT3JpZ2luLCAmRmlsbExheWVyOjppbml0aWFsRmlsbE9y
aWdpbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxPcmlnaW4+OjpjcmVhdGVIYW5kbGVyKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNv
cmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDEzM2NhZDYxNGIxYjU0NmExNTEwMzFiY2Q3YmNlYzM2
ZjNiZTQxODguLmNiNDFlYjBiNWE4NGQzMGJmNjg5MzA4YTFiZjQwMGQ5ZmE4ZTYwY2MgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvbWFrZXByb3AucGwKQEAgLTQ3LDYgKzQ3LDcgQEAgbXkgJXN0eWxlQnVpbGRlck9wdGlv
bnMgPSAoCiAgIEF1dG9GdW5jdGlvbnMgPT4gMSwKICAgQ29udmVydGVyID0+IDEsCiAgIEN1c3Rv
bSA9PiAxLAorICBGb250UHJvcGVydHkgPT4gMSwKICAgR2V0dGVyID0+IDEsCiAgIEluaXRpYWwg
PT4gMSwKICAgTmFtZUZvck1ldGhvZHMgPT4gMSwKQEAgLTU2Miw2ICs1NjMsOCBAQCBzdWIgZ2Vu
ZXJhdGVJbml0aWFsVmFsdWVTZXR0ZXIgewogICBteSAkbmFtZSA9IHNoaWZ0OwogICBteSAkaW5k
ZW50ID0gc2hpZnQ7CiAKKyAgbXkgJHNldHRlciA9ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRl
ck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgbXkgJGluaXRpYWwgPSAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiSW5pdGlhbCJ9OwogICBteSAkc2V0dGVyQ29u
dGVudCA9ICIiOwogICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gInN0YXRpYyB2b2lkIGFw
cGx5SW5pdGlhbCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJlc29sdmVyJiBzdHlsZVJl
c29sdmVyKVxuIjsKICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJ7XG4iOwpAQCAtNTY5
LDEzICs1NzIsMTcgQEAgc3ViIGdlbmVyYXRlSW5pdGlhbFZhbHVlU2V0dGVyIHsKICAgaWYgKGV4
aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0
aW9ucyJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuIGdldEF1
dG9TZXR0ZXIoJG5hbWUsICRzdHlsZSkgLiAiO1xuIjsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9w
ZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJWaXNpdGVkTGlua0NvbG9yU3Vw
cG9ydCJ9KSB7Ci0gICAgICBteSAkaW5pdGlhbENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkluaXRpYWwifSAuICIoKSI7
CisgICAgICBteSAkaW5pdGlhbENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJGluaXRpYWwgLiAi
KCkiOwogICAgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVDb2xvclZhbHVlU2V0dGVyKCRu
YW1lLCAkaW5pdGlhbENvbG9yLCAkaW5kZW50IC4gIiAgICAiKTsKICAgfSBlbHNpZiAoZXhpc3Rz
ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Qcm9w
ZXJ0eSJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Qcm9wZXJ0
eUluaXRpYWxWYWx1ZVNldHRlcigkbmFtZSwgJGluZGVudCAuICIgICAgIik7CisgIH0gZWxzaWYg
KGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiRm9udFBy
b3BlcnR5In0pIHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBGb250RGVz
Y3JpcHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci5mb250RGVzY3JpcHRpb24o
KTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgZm9udERlc2NyaXB0
aW9uLiIgLiAkc2V0dGVyIC4gIihGb250RGVzY3JpcHRpb246OiIgLiAkaW5pdGlhbCAuICIoKSk7
XG4iOworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIHN0eWxlUmVzb2x2ZXIu
c2V0Rm9udERlc2NyaXB0aW9uKGZvbnREZXNjcmlwdGlvbik7XG4iOwogICB9IGVsc2UgewotICAg
IG15ICRzZXRWYWx1ZSA9ICRzdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxk
ZXJPcHRpb25zeyRuYW1lfXsiU2V0dGVyIn07Ci0gICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVu
dCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiSW5pdGlhbCJ9IC4gIigpKTtcbiI7CisgICAg
bXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRzZXR0ZXI7CisgICAgJHNldHRlckNvbnRl
bnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAk
aW5pdGlhbCAuICIoKSk7XG4iOwogICB9CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAi
fVxuIjsKIApAQCAtNTkxLDcgKzU5OCw4IEBAIHN1YiBnZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRl
ciB7CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAie1xuIjsKICAgbXkgJHBhcmVudFN0
eWxlID0gInN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKSI7CiAgIG15ICRzdHlsZSA9ICJzdHls
ZVJlc29sdmVyLnN0eWxlKCkiOwotICBteSAkc2V0VmFsdWUgPSAkc3R5bGUgLiAiLT4iIC4gJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OworICBteSAk
Z2V0dGVyID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkdldHRl
ciJ9OworICBteSAkc2V0dGVyID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3sk
bmFtZX17IlNldHRlciJ9OwogICBteSAkZGlkQ2FsbFNldFZhbHVlID0gMDsKICAgaWYgKGV4aXN0
cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0aW9u
cyJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgaWYgKCIgLiBnZXRB
dXRvR2V0dGVyKCRuYW1lLCAkcGFyZW50U3R5bGUpIC4gIikge1xuIjsKQEAgLTU5OSw3ICs2MDcs
NyBAQCBzdWIgZ2VuZXJhdGVJbmhlcml0VmFsdWVTZXR0ZXIgewogICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgICAgICByZXR1cm47XG4iOwogICAgICRzZXR0ZXJDb250ZW50IC49
ICRpbmRlbnQgLiAiICAgIH1cbiI7CiAgIH0gZWxzaWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiVmlzaXRlZExpbmtDb2xvclN1cHBvcnQifSkgewot
ICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIENvbG9yIGNvbG9yID0gIiAuICRw
YXJlbnRTdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRu
YW1lfXsiR2V0dGVyIn0gLiAiKCk7XG4iOworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQg
LiAiICAgIENvbG9yIGNvbG9yID0gIiAuICRwYXJlbnRTdHlsZSAuICItPiIgLiAkZ2V0dGVyIC4g
IigpO1xuIjsKICAgICBpZiAoIWV4aXN0cygkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRp
b25zeyRuYW1lfXsiTm9EZWZhdWx0Q29sb3IifSkpIHsKICAgICAgICRzZXR0ZXJDb250ZW50IC49
ICRpbmRlbnQgLiAiICAgIGlmICghY29sb3IuaXNWYWxpZCgpKVxuIjsKICAgICAgICRzZXR0ZXJD
b250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICBjb2xvciA9ICIgLiAkcGFyZW50U3R5bGUgLiAi
LT5jb2xvcigpO1xuIjsKQEAgLTYwOSw5ICs2MTcsMTUgQEAgc3ViIGdlbmVyYXRlSW5oZXJpdFZh
bHVlU2V0dGVyIHsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRl
ck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Qcm9wZXJ0eSJ9KSB7CiAgICAgJHNldHRlckNvbnRl
bnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Qcm9wZXJ0eUluaGVyaXRWYWx1ZVNldHRlcigkbmFtZSwg
JGluZGVudCAuICIgICAgIik7CiAgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CisgIH0gZWxzaWYg
KGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiRm9udFBy
b3BlcnR5In0pIHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBGb250RGVz
Y3JpcHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci5mb250RGVzY3JpcHRpb24o
KTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgZm9udERlc2NyaXB0
aW9uLiIgLiAkc2V0dGVyIC4gIihzdHlsZVJlc29sdmVyLnBhcmVudEZvbnREZXNjcmlwdGlvbigp
LiIgLiAkZ2V0dGVyIC4gIigpKTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAu
ICIgICAgc3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTtc
biI7CisgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CiAgIH0KICAgaWYgKCEkZGlkQ2FsbFNldFZh
bHVlKSB7Ci0gICAgbXkgJGluaGVyaXRlZFZhbHVlID0gJHBhcmVudFN0eWxlIC4gIi0+IiAuICAk
cHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiR2V0dGVyIn0gLiAiKCki
OworICAgIG15ICRpbmhlcml0ZWRWYWx1ZSA9ICRwYXJlbnRTdHlsZSAuICItPiIgLiAgJGdldHRl
ciAuICIoKSI7CisgICAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRzZXR0ZXI7CiAg
ICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoIiAu
ICRpbmhlcml0ZWRWYWx1ZSAuICIpO1xuIjsKICAgfQogICAkc2V0dGVyQ29udGVudCAuPSAkaW5k
ZW50IC4gIn1cbiI7CkBAIC02MzMsNiArNjQ3LDcgQEAgc3ViIGdlbmVyYXRlVmFsdWVTZXR0ZXIg
ewogICAgICRjb252ZXJ0ZWRWYWx1ZSA9ICJzdGF0aWNfY2FzdDwiIC4gJHByb3BlcnRpZXNXaXRo
U3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlR5cGVOYW1lIn0gLiAiPihkb3duY2FzdDxDU1NQ
cmltaXRpdmVWYWx1ZT4odmFsdWUpKSI7CiAgIH0KIAorICBteSAkc2V0dGVyID0gJHByb3BlcnRp
ZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OwogICBteSAkc3R5bGUg
PSAic3R5bGVSZXNvbHZlci5zdHlsZSgpIjsKICAgbXkgJGRpZENhbGxTZXRWYWx1ZSA9IDA7CiAg
IGlmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkF1
dG9GdW5jdGlvbnMifSkgewpAQCAtNjQxLDE5ICs2NTYsMjQgQEAgc3ViIGdlbmVyYXRlVmFsdWVT
ZXR0ZXIgewogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICByZXR1cm47
XG4iOwogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIH1cbiI7CiAgIH0gZWxz
aWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiVmlz
aXRlZExpbmtDb2xvclN1cHBvcnQifSkgewotICAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVu
dCAuICIgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZT4odmFsdWUpO1xuIjsKLSAgICAgIGlmICgkbmFtZSBlcSAiY29sb3IiKSB7Ci0gICAgICAgICMg
VGhlICJjb2xvciIgcHJvcGVydHkgc3VwcG9ydHMgImN1cnJlbnRDb2xvciIgdmFsdWUuIFdlIHNo
b3VsZCBhZGQgYSBwYXJhbWV0ZXIuCi0gICAgICAgICRzZXR0ZXJDb250ZW50IC49IGhhbmRsZUN1
cnJlbnRDb2xvclZhbHVlKCRuYW1lLCAicHJpbWl0aXZlVmFsdWUiLCAkaW5kZW50IC4gIiAgICAi
KTsKLSAgICAgIH0KLSAgICAgICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JWYWx1ZVNl
dHRlcigkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIiwgVkFMVUVfSVNf
UFJJTUlUSVZFKTsKLSAgICAgICRkaWRDYWxsU2V0VmFsdWUgPSAxOworICAgICRzZXR0ZXJDb250
ZW50IC49ICRpbmRlbnQgLiAiICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKTtcbiI7CisgICAgaWYgKCRuYW1lIGVxICJjb2xvciIpIHsK
KyAgICAgICMgVGhlICJjb2xvciIgcHJvcGVydHkgc3VwcG9ydHMgImN1cnJlbnRDb2xvciIgdmFs
dWUuIFdlIHNob3VsZCBhZGQgYSBwYXJhbWV0ZXIuCisgICAgICAkc2V0dGVyQ29udGVudCAuPSBo
YW5kbGVDdXJyZW50Q29sb3JWYWx1ZSgkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAu
ICIgICAgIik7CisgICAgfQorICAgICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JWYWx1
ZVNldHRlcigkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIiwgVkFMVUVf
SVNfUFJJTUlUSVZFKTsKKyAgICAkZGlkQ2FsbFNldFZhbHVlID0gMTsKICAgfSBlbHNpZiAoZXhp
c3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Q
cm9wZXJ0eSJ9KSB7Ci0gICAgICAkc2V0dGVyQ29udGVudCAuPSBnZW5lcmF0ZUFuaW1hdGlvblBy
b3BlcnR5VmFsdWVTZXR0ZXIoJG5hbWUsICRpbmRlbnQgLiAiICAgICIpOwotICAgICAgJGRpZENh
bGxTZXRWYWx1ZSA9IDE7CisgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Q
cm9wZXJ0eVZhbHVlU2V0dGVyKCRuYW1lLCAkaW5kZW50IC4gIiAgICAiKTsKKyAgICAkZGlkQ2Fs
bFNldFZhbHVlID0gMTsKKyAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVp
bGRlck9wdGlvbnN7JG5hbWV9eyJGb250UHJvcGVydHkifSkgeworICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgIEZvbnREZXNjcmlwdGlvbiBmb250RGVzY3JpcHRpb24gPSBzdHls
ZVJlc29sdmVyLmZvbnREZXNjcmlwdGlvbigpO1xuIjsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAk
aW5kZW50IC4gIiAgICBmb250RGVzY3JpcHRpb24uIiAuICRzZXR0ZXIgLiAiKCIgLiAkY29udmVy
dGVkVmFsdWUgLiAiKTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAg
c3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTtcbiI7Cisg
ICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CiAgIH0KICAgaWYgKCEkZGlkQ2FsbFNldFZhbHVlKSB7
Ci0gICAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxl
QnVpbGRlck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgICBteSAkc2V0VmFsdWUgPSAkc3R5
bGUgLiAiLT4iIC4gJHNldHRlcjsKICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAg
ICAiIC4gJHNldFZhbHVlIC4gIigiIC4gJGNvbnZlcnRlZFZhbHVlIC4gIik7XG4iOwogICB9CiAg
ICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAifVxuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggMDJjNmM1MjQzNjU1
Njg4Yzg0NDdiNzNiOWIzY2NiZTUwNmNmOTZlMi4uNTM1ODRkMDllNWFlOTUxYTZiMzAyNGVjNGM0
MjdiNmU5YWQwMzFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERlc2NyaXB0aW9uLmgKQEAgLTE3Niw2ICsxNzYsMTMgQEAgcHVibGljOgogICAgIH0K
ICNlbmRpZgogCisgICAgLy8gSW5pdGlhbCB2YWx1ZXMgZm9yIGZvbnQgcHJvcGVydGllcy4KKyAg
ICBzdGF0aWMgRm9udEl0YWxpYyBpbml0aWFsSXRhbGljKCkgeyByZXR1cm4gRm9udEl0YWxpY09m
ZjsgfQorICAgIHN0YXRpYyBGb250U21hbGxDYXBzIGluaXRpYWxTbWFsbENhcHMoKSB7IHJldHVy
biBGb250U21hbGxDYXBzT2ZmOyB9CisgICAgc3RhdGljIEtlcm5pbmcgaW5pdGlhbEtlcm5pbmco
KSB7IHJldHVybiBBdXRvS2VybmluZzsgfQorICAgIHN0YXRpYyBGb250U21vb3RoaW5nTW9kZSBp
bml0aWFsRm9udFNtb290aGluZygpIHsgcmV0dXJuIEF1dG9TbW9vdGhpbmc7IH0KKyAgICBzdGF0
aWMgVGV4dFJlbmRlcmluZ01vZGUgaW5pdGlhbFRleHRSZW5kZXJpbmdNb2RlKCkgeyByZXR1cm4g
QXV0b1RleHRSZW5kZXJpbmc7IH0KKwogcHJpdmF0ZToKICAgICBSZWZDb3VudGVkQXJyYXk8QXRv
bWljU3RyaW5nPiBtX2ZhbWlsaWVzOwogICAgIFJlZlB0cjxGb250RmVhdHVyZVNldHRpbmdzPiBt
X2ZlYXR1cmVTZXR0aW5nczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243832</attachid>
            <date>2014-12-30 16:01:47 -0800</date>
            <delta_ts>2014-12-30 16:53:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140008-20141230160149.patch</filename>
            <type>text/plain</type>
            <size>17403</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWI5NmI4ODU5MTU1YjVh
NWU3Yjg5YTZjMTA3NTcxYTc3N2NiNTBlNi4uYzI5ZGI5NWUxNTZhMzFlZmM5YzhiNzUzNzY3ZGNj
MjNhOThhNTljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDE0LTEyLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBmb250LXJlbGF0ZWQg
Q1NTIHByb3BlcnRpZXMgdG8gdGhlIG5ldyBTdHlsZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDAwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgZm9udC1yZWxhdGVkIENTUyBwcm9w
ZXJ0aWVzIHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGJ5IHRlYWNoaW5nIG1ha2Vw
cm9wLnBsIGhvdyB0byBnZW5lcmF0ZSB0aGVtLgorCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5
TmFtZXMuaW46CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVjYXRlZFN0eWxlQnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rm9udDo6YXBwbHlJbmhlcml0
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZvbnQ6OmFw
cGx5SW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlGb250OjphcHBseVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlGb250OjpjcmVhdGVIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvbWFrZXBy
b3AucGw6CisgICAgICAgIChnZW5lcmF0ZUluaXRpYWxWYWx1ZVNldHRlcik6CisgICAgICAgIChn
ZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRlcik6CisgICAgICAgIChnZW5lcmF0ZVZhbHVlU2V0dGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6aW5pdGlhbEl0YWxpYyk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RGVzY3JpcHRpb246OmluaXRpYWxTbWFsbENhcHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udERlc2NyaXB0aW9uOjppbml0aWFsS2VybmluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250RGVzY3JpcHRpb246OmluaXRpYWxGb250U21vb3RoaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnREZXNjcmlwdGlvbjo6aW5pdGlhbFRleHRSZW5kZXJpbmdNb2RlKToKKworMjAxNC0x
Mi0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIE1vdmUgJy13
ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlJyBDU1MgcHJvcGVydHkgdG8gdGhlIG5ldyBTdHls
ZUJ1aWxkZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MDAwNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDkwMThh
ODlmYzYyOGE3YzFkZmUzMTg1MzFhNDM3YTk3NzI2NzU5YWIuLmQ3NzBlYzE5YmM4MjYwZjlmMDkx
MzE5OTk5YjhjZmIyNmIwMmJkZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCkBAIC03Niw2ICs3NiwxMCBAQAogLy8gKiBBbmltYXRpb25Qcm9wZXJ0eToKIC8vIEluZGlj
YXRlcyB0aGF0IHRoaXMgQ1NTIHByb3BlcnR5IGlzIGFuIGFuaW1hdGlvbiAvIHRyYW5zaXRpb24g
cHJvcGVydHkuCiAvLyBJdCBtdXN0IGhhdmUgY29ycmVzcG9uZGluZyBtZXRob2RzIG9uIHRoZSBB
bmltYXRpb24gY2xhc3MuCisvLworLy8gKiBGb250UHJvcGVydHk6CisvLyBJbmRpY2F0ZXMgdGhh
dCB0aGlzIENTUyBwcm9wZXJ0eSBpcyBmb250LXJlbGF0ZWQuIEl0IG11c3QgaGF2ZSBjb3JyZXNw
b25kaW5nCisvLyBtZXRob2RzIG9uIHRoZSBGb250RGVzY3JpcHRpb24gY2xhc3MuCiAKIAogLy8g
aGlnaC1wcmlvcml0eSBwcm9wZXJ0eSBuYW1lcyBoYXZlIHRvIGJlIGxpc3RlZCBmaXJzdCwgdG8g
c2ltcGxpZnkgdGhlIGNoZWNrCkBAIC04NiwxMyArOTAsMTMgQEAgZGlzcGxheSBbQ3VzdG9tPUlu
aGVyaXR8VmFsdWVdCiBmb250IFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KIGZvbnQt
ZmFtaWx5IFtJbmhlcml0ZWQsIEN1c3RvbT1BbGxdCiBmb250LXNpemUgW0luaGVyaXRlZCwgTGVn
YWN5U3R5bGVCdWlsZGVyXQotZm9udC1zdHlsZSBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1aWxk
ZXJdCi1mb250LXZhcmlhbnQgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorZm9udC1z
dHlsZSBbSW5oZXJpdGVkLCBGb250UHJvcGVydHksIFR5cGVOYW1lPUZvbnRJdGFsaWMsIE5hbWVG
b3JNZXRob2RzPUl0YWxpY10KK2ZvbnQtdmFyaWFudCBbSW5oZXJpdGVkLCBGb250UHJvcGVydHks
IFR5cGVOYW1lPUZvbnRTbWFsbENhcHMsIE5hbWVGb3JNZXRob2RzPVNtYWxsQ2Fwc10KIGZvbnQt
d2VpZ2h0IFtJbmhlcml0ZWQsIEN1c3RvbT1BbGxdCi10ZXh0LXJlbmRlcmluZyBbSW5oZXJpdGVk
LCBMZWdhY3lTdHlsZUJ1aWxkZXJdCit0ZXh0LXJlbmRlcmluZyBbSW5oZXJpdGVkLCBGb250UHJv
cGVydHksIFR5cGVOYW1lPVRleHRSZW5kZXJpbmdNb2RlLCBOYW1lRm9yTWV0aG9kcz1UZXh0UmVu
ZGVyaW5nTW9kZV0KIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzIFtJbmhlcml0ZWQsIExl
Z2FjeVN0eWxlQnVpbGRlcl0KLS13ZWJraXQtZm9udC1rZXJuaW5nIFtJbmhlcml0ZWQsIExlZ2Fj
eVN0eWxlQnVpbGRlcl0KLS13ZWJraXQtZm9udC1zbW9vdGhpbmcgW0luaGVyaXRlZCwgTGVnYWN5
U3R5bGVCdWlsZGVyXQorLXdlYmtpdC1mb250LWtlcm5pbmcgW0luaGVyaXRlZCwgRm9udFByb3Bl
cnR5LCBUeXBlTmFtZT1Gb250RGVzY3JpcHRpb246Oktlcm5pbmcsIE5hbWVGb3JNZXRob2RzPUtl
cm5pbmddCistd2Via2l0LWZvbnQtc21vb3RoaW5nIFtJbmhlcml0ZWQsIEZvbnRQcm9wZXJ0eSwg
VHlwZU5hbWU9Rm9udFNtb290aGluZ01vZGVdCiAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVy
ZXMgW0luaGVyaXRlZCwgQ3VzdG9tPUFsbF0KIC13ZWJraXQtbG9jYWxlIFtJbmhlcml0ZWQsIEN1
c3RvbT1WYWx1ZV0KIC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbiBbSW5oZXJpdGVkLCBDdXN0b209
VmFsdWVdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAK
aW5kZXggNTA2ZmQyY2UwMzQzNDYwMTYzOTVhZGNjZTQ0OGRmZGQ2MDUxYjFkYS4uMTRlZjI3NmFj
ZDRjNzU5YzI4M2Y2NDM5MTQ1ODE5MTczZmQ0Njg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAtMTQxLDM2ICsxNDEsNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkgeyByZXR1cm4gUHJv
cGVydHlIYW5kbGVyKCZhcHBseUluaGVyaXRWYWx1ZSwgJmFwcGx5SW5pdGlhbFZhbHVlLCAmYXBw
bHlWYWx1ZSk7IH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBULCBUIChGb250RGVzY3JpcHRp
b246OipnZXR0ZXJGdW5jdGlvbikoKSBjb25zdCwgdm9pZCAoRm9udERlc2NyaXB0aW9uOjoqc2V0
dGVyRnVuY3Rpb24pKFQpLCBUIGluaXRpYWxWYWx1ZT4KLWNsYXNzIEFwcGx5UHJvcGVydHlGb250
IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShDU1NQcm9wZXJ0
eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyKQotICAgIHsKLSAgICAgICAgRm9udERl
c2NyaXB0aW9uIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlUmVzb2x2ZXItPmZvbnREZXNjcmlwdGlv
bigpOwotICAgICAgICAoZm9udERlc2NyaXB0aW9uLipzZXR0ZXJGdW5jdGlvbikoKHN0eWxlUmVz
b2x2ZXItPnBhcmVudEZvbnREZXNjcmlwdGlvbigpLipnZXR0ZXJGdW5jdGlvbikoKSk7Ci0gICAg
ICAgIHN0eWxlUmVzb2x2ZXItPnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOwot
ICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbFZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0gICAgewotICAgICAgICBGb250RGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci0+Zm9udERlc2NyaXB0aW9uKCk7
Ci0gICAgICAgIChmb250RGVzY3JpcHRpb24uKnNldHRlckZ1bmN0aW9uKShpbml0aWFsVmFsdWUp
OwotICAgICAgICBzdHlsZVJlc29sdmVyLT5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0
aW9uKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKLSAgICB7Ci0g
ICAgICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwotICAgICAgICBGb250RGVzY3JpcHRpb24g
Zm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci0+Zm9udERlc2NyaXB0aW9uKCk7Ci0gICAg
ICAgIChmb250RGVzY3JpcHRpb24uKnNldHRlckZ1bmN0aW9uKShwcmltaXRpdmVWYWx1ZSk7Ci0g
ICAgICAgIHN0eWxlUmVzb2x2ZXItPnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24p
OwotICAgIH0KLQotICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpIHsg
cmV0dXJuIFByb3BlcnR5SGFuZGxlcigmYXBwbHlJbmhlcml0VmFsdWUsICZhcHBseUluaXRpYWxW
YWx1ZSwgJmFwcGx5VmFsdWUpOyB9Ci19OwotCiBjbGFzcyBBcHBseVByb3BlcnR5Rm9udFNpemUg
ewogcHJpdmF0ZToKICAgICAvLyBXaGVuIHRoZSBDU1Mga2V5d29yZCAibGFyZ2VyIiBpcyB1c2Vk
LCB0aGlzIGZ1bmN0aW9uIHdpbGwgYXR0ZW1wdCB0byBtYXRjaCB3aXRoaW4gdGhlIGtleXdvcmQK
QEAgLTMzNiwxNiArMzA2LDExIEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRT
dHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJhY2tncm91
bmRSZXBlYXRZLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVGaWxsUmVwZWF0LCBDU1NQcm9wZXJ0
eUJhY2tncm91bmRSZXBlYXRZLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFj
Y2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywgJkZp
bGxMYXllcjo6aXNSZXBlYXRZU2V0LCAmRmlsbExheWVyOjpyZXBlYXRZLCAmRmlsbExheWVyOjpz
ZXRSZXBlYXRZLCAmRmlsbExheWVyOjpjbGVhclJlcGVhdFksICZGaWxsTGF5ZXI6OmluaXRpYWxG
aWxsUmVwZWF0WSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxSZXBlYXRZPjo6Y3JlYXRlSGFuZGxl
cigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwg
QXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxGaWxsU2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6
ZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5
ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6OmlzU2l6ZVNl
dCwgJkZpbGxMYXllcjo6c2l6ZSwgJkZpbGxMYXllcjo6c2V0U2l6ZSwgJkZpbGxMYXllcjo6Y2xl
YXJTaXplLCAmRmlsbExheWVyOjppbml0aWFsRmlsbFNpemUsICZDU1NUb1N0eWxlTWFwOjptYXBG
aWxsU2l6ZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5Rm9udFNpemUsIEFwcGx5UHJvcGVydHlGb250U2l6ZTo6Y3JlYXRlSGFuZGxlcigpKTsK
LSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250U3R5bGUsIEFwcGx5UHJvcGVy
dHlGb250PEZvbnRJdGFsaWMsICZGb250RGVzY3JpcHRpb246Oml0YWxpYywgJkZvbnREZXNjcmlw
dGlvbjo6c2V0SXRhbGljLCBGb250SXRhbGljT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250VmFyaWFudCwgQXBwbHlQcm9wZXJ0eUZv
bnQ8Rm9udFNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c21hbGxDYXBzLCAmRm9udERlc2Ny
aXB0aW9uOjpzZXRTbWFsbENhcHMsIEZvbnRTbWFsbENhcHNPZmY+OjpjcmVhdGVIYW5kbGVyKCkp
OwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmcsIEFwcGx5
UHJvcGVydHlGb250PFRleHRSZW5kZXJpbmdNb2RlLCAmRm9udERlc2NyaXB0aW9uOjp0ZXh0UmVu
ZGVyaW5nTW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6c2V0VGV4dFJlbmRlcmluZ01vZGUsIEF1dG9U
ZXh0UmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKIAogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRD
bGlwKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5k
Q29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBvc2l0ZU9wZXJhdG9yLCBDU1NQ
cm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tncm91bmRGaWxsTGF5ZXIsICZS
ZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0eWxlOjpiYWNrZ3Jv
dW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxMYXllcjo6Y29tcG9z
aXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNsZWFyQ29tcG9zaXRl
LCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZp
bGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1Byb3BlcnR5QmFja2dyb3VuZE9y
aWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3Vu
ZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250RGVz
Y3JpcHRpb246Oktlcm5pbmcsICZGb250RGVzY3JpcHRpb246Omtlcm5pbmcsICZGb250RGVzY3Jp
cHRpb246OnNldEtlcm5pbmcsIEZvbnREZXNjcmlwdGlvbjo6QXV0b0tlcm5pbmc+OjpjcmVhdGVI
YW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRT
bW9vdGhpbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbW9vdGhpbmdNb2RlLCAmRm9udERlc2Ny
aXB0aW9uOjpmb250U21vb3RoaW5nLCAmRm9udERlc2NyaXB0aW9uOjpzZXRGb250U21vb3RoaW5n
LCBBdXRvU21vb3RoaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrQ2xpcCwgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxFRmls
bEJveCwgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ2xpcCwgTWFza0ZpbGxMYXllciwgJlJlbmRlclN0
eWxlOjphY2Nlc3NNYXNrTGF5ZXJzLCAmUmVuZGVyU3R5bGU6Om1hc2tMYXllcnMsICZGaWxsTGF5
ZXI6OmlzQ2xpcFNldCwgJkZpbGxMYXllcjo6Y2xpcCwgJkZpbGxMYXllcjo6c2V0Q2xpcCwgJkZp
bGxMYXllcjo6Y2xlYXJDbGlwLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENsaXAsICZDU1NUb1N0
eWxlTWFwOjptYXBGaWxsQ2xpcD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5V2Via2l0TWFza0NvbXBvc2l0ZSwgQXBwbHlQcm9wZXJ0eUZpbGxM
YXllcjxDb21wb3NpdGVPcGVyYXRvciwgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ29tcG9zaXRlLCBN
YXNrRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc01hc2tMYXllcnMsICZSZW5kZXJTdHls
ZTo6bWFza0xheWVycywgJkZpbGxMYXllcjo6aXNDb21wb3NpdGVTZXQsICZGaWxsTGF5ZXI6OmNv
bXBvc2l0ZSwgJkZpbGxMYXllcjo6c2V0Q29tcG9zaXRlLCAmRmlsbExheWVyOjpjbGVhckNvbXBv
c2l0ZSwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxDb21wb3NpdGUsICZDU1NUb1N0eWxlTWFwOjpt
YXBGaWxsQ29tcG9zaXRlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrT3JpZ2luLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVG
aWxsQm94LCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tPcmlnaW4sIE1hc2tGaWxsTGF5ZXIsICZSZW5k
ZXJTdHlsZTo6YWNjZXNzTWFza0xheWVycywgJlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLCAmRmls
bExheWVyOjppc09yaWdpblNldCwgJkZpbGxMYXllcjo6b3JpZ2luLCAmRmlsbExheWVyOjpzZXRP
cmlnaW4sICZGaWxsTGF5ZXI6OmNsZWFyT3JpZ2luLCAmRmlsbExheWVyOjppbml0aWFsRmlsbE9y
aWdpbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxPcmlnaW4+OjpjcmVhdGVIYW5kbGVyKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNv
cmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDEzM2NhZDYxNGIxYjU0NmExNTEwMzFiY2Q3YmNlYzM2
ZjNiZTQxODguLmNiNDFlYjBiNWE4NGQzMGJmNjg5MzA4YTFiZjQwMGQ5ZmE4ZTYwY2MgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvbWFrZXByb3AucGwKQEAgLTQ3LDYgKzQ3LDcgQEAgbXkgJXN0eWxlQnVpbGRlck9wdGlv
bnMgPSAoCiAgIEF1dG9GdW5jdGlvbnMgPT4gMSwKICAgQ29udmVydGVyID0+IDEsCiAgIEN1c3Rv
bSA9PiAxLAorICBGb250UHJvcGVydHkgPT4gMSwKICAgR2V0dGVyID0+IDEsCiAgIEluaXRpYWwg
PT4gMSwKICAgTmFtZUZvck1ldGhvZHMgPT4gMSwKQEAgLTU2Miw2ICs1NjMsOCBAQCBzdWIgZ2Vu
ZXJhdGVJbml0aWFsVmFsdWVTZXR0ZXIgewogICBteSAkbmFtZSA9IHNoaWZ0OwogICBteSAkaW5k
ZW50ID0gc2hpZnQ7CiAKKyAgbXkgJHNldHRlciA9ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRl
ck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgbXkgJGluaXRpYWwgPSAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiSW5pdGlhbCJ9OwogICBteSAkc2V0dGVyQ29u
dGVudCA9ICIiOwogICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gInN0YXRpYyB2b2lkIGFw
cGx5SW5pdGlhbCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJlc29sdmVyJiBzdHlsZVJl
c29sdmVyKVxuIjsKICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJ7XG4iOwpAQCAtNTY5
LDEzICs1NzIsMTcgQEAgc3ViIGdlbmVyYXRlSW5pdGlhbFZhbHVlU2V0dGVyIHsKICAgaWYgKGV4
aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0
aW9ucyJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuIGdldEF1
dG9TZXR0ZXIoJG5hbWUsICRzdHlsZSkgLiAiO1xuIjsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9w
ZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJWaXNpdGVkTGlua0NvbG9yU3Vw
cG9ydCJ9KSB7Ci0gICAgICBteSAkaW5pdGlhbENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkluaXRpYWwifSAuICIoKSI7
CisgICAgICBteSAkaW5pdGlhbENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJGluaXRpYWwgLiAi
KCkiOwogICAgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVDb2xvclZhbHVlU2V0dGVyKCRu
YW1lLCAkaW5pdGlhbENvbG9yLCAkaW5kZW50IC4gIiAgICAiKTsKICAgfSBlbHNpZiAoZXhpc3Rz
ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Qcm9w
ZXJ0eSJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Qcm9wZXJ0
eUluaXRpYWxWYWx1ZVNldHRlcigkbmFtZSwgJGluZGVudCAuICIgICAgIik7CisgIH0gZWxzaWYg
KGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiRm9udFBy
b3BlcnR5In0pIHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBGb250RGVz
Y3JpcHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci5mb250RGVzY3JpcHRpb24o
KTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgZm9udERlc2NyaXB0
aW9uLiIgLiAkc2V0dGVyIC4gIihGb250RGVzY3JpcHRpb246OiIgLiAkaW5pdGlhbCAuICIoKSk7
XG4iOworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIHN0eWxlUmVzb2x2ZXIu
c2V0Rm9udERlc2NyaXB0aW9uKGZvbnREZXNjcmlwdGlvbik7XG4iOwogICB9IGVsc2UgewotICAg
IG15ICRzZXRWYWx1ZSA9ICRzdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxk
ZXJPcHRpb25zeyRuYW1lfXsiU2V0dGVyIn07Ci0gICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVu
dCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiSW5pdGlhbCJ9IC4gIigpKTtcbiI7CisgICAg
bXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRzZXR0ZXI7CisgICAgJHNldHRlckNvbnRl
bnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAk
aW5pdGlhbCAuICIoKSk7XG4iOwogICB9CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAi
fVxuIjsKIApAQCAtNTkxLDcgKzU5OCw4IEBAIHN1YiBnZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRl
ciB7CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAie1xuIjsKICAgbXkgJHBhcmVudFN0
eWxlID0gInN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKSI7CiAgIG15ICRzdHlsZSA9ICJzdHls
ZVJlc29sdmVyLnN0eWxlKCkiOwotICBteSAkc2V0VmFsdWUgPSAkc3R5bGUgLiAiLT4iIC4gJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OworICBteSAk
Z2V0dGVyID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkdldHRl
ciJ9OworICBteSAkc2V0dGVyID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3sk
bmFtZX17IlNldHRlciJ9OwogICBteSAkZGlkQ2FsbFNldFZhbHVlID0gMDsKICAgaWYgKGV4aXN0
cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0aW9u
cyJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgaWYgKCIgLiBnZXRB
dXRvR2V0dGVyKCRuYW1lLCAkcGFyZW50U3R5bGUpIC4gIikge1xuIjsKQEAgLTU5OSw3ICs2MDcs
NyBAQCBzdWIgZ2VuZXJhdGVJbmhlcml0VmFsdWVTZXR0ZXIgewogICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgICAgICByZXR1cm47XG4iOwogICAgICRzZXR0ZXJDb250ZW50IC49
ICRpbmRlbnQgLiAiICAgIH1cbiI7CiAgIH0gZWxzaWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiVmlzaXRlZExpbmtDb2xvclN1cHBvcnQifSkgewot
ICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIENvbG9yIGNvbG9yID0gIiAuICRw
YXJlbnRTdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRu
YW1lfXsiR2V0dGVyIn0gLiAiKCk7XG4iOworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQg
LiAiICAgIENvbG9yIGNvbG9yID0gIiAuICRwYXJlbnRTdHlsZSAuICItPiIgLiAkZ2V0dGVyIC4g
IigpO1xuIjsKICAgICBpZiAoIWV4aXN0cygkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRp
b25zeyRuYW1lfXsiTm9EZWZhdWx0Q29sb3IifSkpIHsKICAgICAgICRzZXR0ZXJDb250ZW50IC49
ICRpbmRlbnQgLiAiICAgIGlmICghY29sb3IuaXNWYWxpZCgpKVxuIjsKICAgICAgICRzZXR0ZXJD
b250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICBjb2xvciA9ICIgLiAkcGFyZW50U3R5bGUgLiAi
LT5jb2xvcigpO1xuIjsKQEAgLTYwOSw5ICs2MTcsMTUgQEAgc3ViIGdlbmVyYXRlSW5oZXJpdFZh
bHVlU2V0dGVyIHsKICAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRl
ck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Qcm9wZXJ0eSJ9KSB7CiAgICAgJHNldHRlckNvbnRl
bnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Qcm9wZXJ0eUluaGVyaXRWYWx1ZVNldHRlcigkbmFtZSwg
JGluZGVudCAuICIgICAgIik7CiAgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CisgIH0gZWxzaWYg
KGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiRm9udFBy
b3BlcnR5In0pIHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBGb250RGVz
Y3JpcHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZlci5mb250RGVzY3JpcHRpb24o
KTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgZm9udERlc2NyaXB0
aW9uLiIgLiAkc2V0dGVyIC4gIihzdHlsZVJlc29sdmVyLnBhcmVudEZvbnREZXNjcmlwdGlvbigp
LiIgLiAkZ2V0dGVyIC4gIigpKTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAu
ICIgICAgc3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTtc
biI7CisgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CiAgIH0KICAgaWYgKCEkZGlkQ2FsbFNldFZh
bHVlKSB7Ci0gICAgbXkgJGluaGVyaXRlZFZhbHVlID0gJHBhcmVudFN0eWxlIC4gIi0+IiAuICAk
cHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiR2V0dGVyIn0gLiAiKCki
OworICAgIG15ICRpbmhlcml0ZWRWYWx1ZSA9ICRwYXJlbnRTdHlsZSAuICItPiIgLiAgJGdldHRl
ciAuICIoKSI7CisgICAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRzZXR0ZXI7CiAg
ICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoIiAu
ICRpbmhlcml0ZWRWYWx1ZSAuICIpO1xuIjsKICAgfQogICAkc2V0dGVyQ29udGVudCAuPSAkaW5k
ZW50IC4gIn1cbiI7CkBAIC02MzMsNiArNjQ3LDcgQEAgc3ViIGdlbmVyYXRlVmFsdWVTZXR0ZXIg
ewogICAgICRjb252ZXJ0ZWRWYWx1ZSA9ICJzdGF0aWNfY2FzdDwiIC4gJHByb3BlcnRpZXNXaXRo
U3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlR5cGVOYW1lIn0gLiAiPihkb3duY2FzdDxDU1NQ
cmltaXRpdmVWYWx1ZT4odmFsdWUpKSI7CiAgIH0KIAorICBteSAkc2V0dGVyID0gJHByb3BlcnRp
ZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OwogICBteSAkc3R5bGUg
PSAic3R5bGVSZXNvbHZlci5zdHlsZSgpIjsKICAgbXkgJGRpZENhbGxTZXRWYWx1ZSA9IDA7CiAg
IGlmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkF1
dG9GdW5jdGlvbnMifSkgewpAQCAtNjQxLDE5ICs2NTYsMjQgQEAgc3ViIGdlbmVyYXRlVmFsdWVT
ZXR0ZXIgewogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICByZXR1cm47
XG4iOwogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIH1cbiI7CiAgIH0gZWxz
aWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiVmlz
aXRlZExpbmtDb2xvclN1cHBvcnQifSkgewotICAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVu
dCAuICIgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZT4odmFsdWUpO1xuIjsKLSAgICAgIGlmICgkbmFtZSBlcSAiY29sb3IiKSB7Ci0gICAgICAgICMg
VGhlICJjb2xvciIgcHJvcGVydHkgc3VwcG9ydHMgImN1cnJlbnRDb2xvciIgdmFsdWUuIFdlIHNo
b3VsZCBhZGQgYSBwYXJhbWV0ZXIuCi0gICAgICAgICRzZXR0ZXJDb250ZW50IC49IGhhbmRsZUN1
cnJlbnRDb2xvclZhbHVlKCRuYW1lLCAicHJpbWl0aXZlVmFsdWUiLCAkaW5kZW50IC4gIiAgICAi
KTsKLSAgICAgIH0KLSAgICAgICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JWYWx1ZVNl
dHRlcigkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIiwgVkFMVUVfSVNf
UFJJTUlUSVZFKTsKLSAgICAgICRkaWRDYWxsU2V0VmFsdWUgPSAxOworICAgICRzZXR0ZXJDb250
ZW50IC49ICRpbmRlbnQgLiAiICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKTtcbiI7CisgICAgaWYgKCRuYW1lIGVxICJjb2xvciIpIHsK
KyAgICAgICMgVGhlICJjb2xvciIgcHJvcGVydHkgc3VwcG9ydHMgImN1cnJlbnRDb2xvciIgdmFs
dWUuIFdlIHNob3VsZCBhZGQgYSBwYXJhbWV0ZXIuCisgICAgICAkc2V0dGVyQ29udGVudCAuPSBo
YW5kbGVDdXJyZW50Q29sb3JWYWx1ZSgkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAu
ICIgICAgIik7CisgICAgfQorICAgICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JWYWx1
ZVNldHRlcigkbmFtZSwgInByaW1pdGl2ZVZhbHVlIiwgJGluZGVudCAuICIgICAgIiwgVkFMVUVf
SVNfUFJJTUlUSVZFKTsKKyAgICAkZGlkQ2FsbFNldFZhbHVlID0gMTsKICAgfSBlbHNpZiAoZXhp
c3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBbmltYXRpb25Q
cm9wZXJ0eSJ9KSB7Ci0gICAgICAkc2V0dGVyQ29udGVudCAuPSBnZW5lcmF0ZUFuaW1hdGlvblBy
b3BlcnR5VmFsdWVTZXR0ZXIoJG5hbWUsICRpbmRlbnQgLiAiICAgICIpOwotICAgICAgJGRpZENh
bGxTZXRWYWx1ZSA9IDE7CisgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVBbmltYXRpb25Q
cm9wZXJ0eVZhbHVlU2V0dGVyKCRuYW1lLCAkaW5kZW50IC4gIiAgICAiKTsKKyAgICAkZGlkQ2Fs
bFNldFZhbHVlID0gMTsKKyAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVp
bGRlck9wdGlvbnN7JG5hbWV9eyJGb250UHJvcGVydHkifSkgeworICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgIEZvbnREZXNjcmlwdGlvbiBmb250RGVzY3JpcHRpb24gPSBzdHls
ZVJlc29sdmVyLmZvbnREZXNjcmlwdGlvbigpO1xuIjsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAk
aW5kZW50IC4gIiAgICBmb250RGVzY3JpcHRpb24uIiAuICRzZXR0ZXIgLiAiKCIgLiAkY29udmVy
dGVkVmFsdWUgLiAiKTtcbiI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAg
c3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTtcbiI7Cisg
ICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CiAgIH0KICAgaWYgKCEkZGlkQ2FsbFNldFZhbHVlKSB7
Ci0gICAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxl
QnVpbGRlck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgICBteSAkc2V0VmFsdWUgPSAkc3R5
bGUgLiAiLT4iIC4gJHNldHRlcjsKICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAg
ICAiIC4gJHNldFZhbHVlIC4gIigiIC4gJGNvbnZlcnRlZFZhbHVlIC4gIik7XG4iOwogICB9CiAg
ICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAifVxuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggMDJjNmM1MjQzNjU1
Njg4Yzg0NDdiNzNiOWIzY2NiZTUwNmNmOTZlMi4uNTM1ODRkMDllNWFlOTUxYTZiMzAyNGVjNGM0
MjdiNmU5YWQwMzFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERlc2NyaXB0aW9uLmgKQEAgLTE3Niw2ICsxNzYsMTMgQEAgcHVibGljOgogICAgIH0K
ICNlbmRpZgogCisgICAgLy8gSW5pdGlhbCB2YWx1ZXMgZm9yIGZvbnQgcHJvcGVydGllcy4KKyAg
ICBzdGF0aWMgRm9udEl0YWxpYyBpbml0aWFsSXRhbGljKCkgeyByZXR1cm4gRm9udEl0YWxpY09m
ZjsgfQorICAgIHN0YXRpYyBGb250U21hbGxDYXBzIGluaXRpYWxTbWFsbENhcHMoKSB7IHJldHVy
biBGb250U21hbGxDYXBzT2ZmOyB9CisgICAgc3RhdGljIEtlcm5pbmcgaW5pdGlhbEtlcm5pbmco
KSB7IHJldHVybiBBdXRvS2VybmluZzsgfQorICAgIHN0YXRpYyBGb250U21vb3RoaW5nTW9kZSBp
bml0aWFsRm9udFNtb290aGluZygpIHsgcmV0dXJuIEF1dG9TbW9vdGhpbmc7IH0KKyAgICBzdGF0
aWMgVGV4dFJlbmRlcmluZ01vZGUgaW5pdGlhbFRleHRSZW5kZXJpbmdNb2RlKCkgeyByZXR1cm4g
QXV0b1RleHRSZW5kZXJpbmc7IH0KKwogcHJpdmF0ZToKICAgICBSZWZDb3VudGVkQXJyYXk8QXRv
bWljU3RyaW5nPiBtX2ZhbWlsaWVzOwogICAgIFJlZlB0cjxGb250RmVhdHVyZVNldHRpbmdzPiBt
X2ZlYXR1cmVTZXR0aW5nczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>