<?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>162671</bug_id>
          
          <creation_ts>2016-09-28 05:28:24 -0700</creation_ts>
          <short_desc>Use HarfBuzz ot-math API to parse the OpenType MATH table</short_desc>
          <delta_ts>2016-10-30 09:21:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://github.com/behdad/harfbuzz/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>162719</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>annulen</cc>
    
    <cc>behdad</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dr.khaled.hosny</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rego</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1234338</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-28 05:28:24 -0700</bug_when>
    <thetext>The next version of HarfBuzz will provide a new API to parse the OpenType MATH table:

https://github.com/behdad/harfbuzz/blob/master/src/hb-ot-math.h 

When USE_HARFBUZZ is enabled, we should use that API instead of our own parsing code in Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234340</commentid>
    <comment_count>1</comment_count>
      <attachid>290076</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-28 05:29:44 -0700</bug_when>
    <thetext>Created attachment 290076
Make jhbuild use the harfbuzz development version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234407</commentid>
    <comment_count>2</comment_count>
      <attachid>290092</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-28 09:29:07 -0700</bug_when>
    <thetext>Created attachment 290092
WIP Patch (does not build with the current version of harfbuzz)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234748</commentid>
    <comment_count>3</comment_count>
      <attachid>290092</attachid>
    <who name="Khaled Hosny">dr.khaled.hosny</who>
    <bug_when>2016-09-29 01:38:44 -0700</bug_when>
    <thetext>Comment on attachment 290092
WIP Patch (does not build with the current version of harfbuzz)

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

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:237
&gt; +#if USE(HARFBUZZ)

I think the USE(HARFBUZZ) check is misplaced, it looks like the code won’t compile with ENABLE(OPENTYPE_MATH) and !USE(HARFBUZZ).

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:319
&gt; +    }

This seems to be a mere stylistic change (no idea what is the policy here about such changes, though).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234750</commentid>
    <comment_count>4</comment_count>
      <attachid>290092</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-29 01:46:20 -0700</bug_when>
    <thetext>Comment on attachment 290092
WIP Patch (does not build with the current version of harfbuzz)

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

&gt;&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:237
&gt;&gt; +#if USE(HARFBUZZ)
&gt; 
&gt; I think the USE(HARFBUZZ) check is misplaced, it looks like the code won’t compile with ENABLE(OPENTYPE_MATH) and !USE(HARFBUZZ).

Yes, that&apos;s right.

&gt;&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:319
&gt;&gt; +    }
&gt; 
&gt; This seems to be a mere stylistic change (no idea what is the policy here about such changes, though).

It&apos;s a mistake and should not have been done. (webkit-check-style will complain). Thanks for catching this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234782</commentid>
    <comment_count>5</comment_count>
      <attachid>290092</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-29 04:56:19 -0700</bug_when>
    <thetext>Comment on attachment 290092
WIP Patch (does not build with the current version of harfbuzz)

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

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:287
&gt; +    return (font.platformData().size() * value) / scale;

This is actually not needed. We only need to divide by 65536 to convert to float.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234783</commentid>
    <comment_count>6</comment_count>
      <attachid>290200</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-29 04:58:23 -0700</bug_when>
    <thetext>Created attachment 290200
WIP Patch (does not build without fixing bug 162719)

New patch with the comment above addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235170</commentid>
    <comment_count>7</comment_count>
      <attachid>290200</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-09-30 02:22:47 -0700</bug_when>
    <thetext>Comment on attachment 290200
WIP Patch (does not build without fixing bug 162719)

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

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:354
&gt; +    unsigned variantsSize = sizeof (variants) / sizeof (variants[0]);

WTF_ARRAY_LENGTH should be used here.

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:367
&gt; +    unsigned partsSize = sizeof (parts) / sizeof (parts[0]);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238567</commentid>
    <comment_count>8</comment_count>
      <attachid>291172</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-10 15:16:49 -0700</bug_when>
    <thetext>Created attachment 291172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238581</commentid>
    <comment_count>9</comment_count>
      <attachid>290076</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-10 15:55:17 -0700</bug_when>
    <thetext>Comment on attachment 290076
Make jhbuild use the harfbuzz development version

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

&gt; Tools/gtk/jhbuild.modules:137
&gt; +            checkoutdir=&quot;harfbuzz-0.9.35&quot;/&gt;

Is it really wise to rely on a development version?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238764</commentid>
    <comment_count>10</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-10 23:41:22 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Is it really wise to rely on a development version?

This patch is for testing purpose only. See bug 162719, on which this bug depends.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246009</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-29 06:03:46 -0700</bug_when>
    <thetext>Attachment 291172 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:373:  Omit int when using unsigned  [runtime/unsigned] [1]
ERROR: Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:374:  Omit int when using unsigned  [runtime/unsigned] [1]
ERROR: Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:379:  Omit int when using unsigned  [runtime/unsigned] [1]
ERROR: Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:389:  Use nullptr instead of NULL.  [readability/null] [5]
ERROR: Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp:391:  Omit int when using unsigned  [runtime/unsigned] [1]
Total errors found: 5 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246020</commentid>
    <comment_count>12</comment_count>
      <attachid>293290</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-29 07:09:40 -0700</bug_when>
    <thetext>Created attachment 293290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246023</commentid>
    <comment_count>13</comment_count>
      <attachid>293290</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-29 07:53:21 -0700</bug_when>
    <thetext>Comment on attachment 293290
Patch

The new code is only going to be used on WebKitGTK+ (I opened bug 164177 for EFL). I am currently not able to build it, but last time I tried I also got one MathML test that required a small rebaseline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246028</commentid>
    <comment_count>14</comment_count>
      <attachid>293290</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-10-29 08:18:47 -0700</bug_when>
    <thetext>Comment on attachment 293290
Patch

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

You&apos;ll need to add compile-time version checks to support building with Harfbuzz 0.9.35, per our new dependencies policy.

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h:137
&gt; +    hb_font_t* m_mathFont;

You should add a smart pointer. We should avoid holding or transferring ownership with raw pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246201</commentid>
    <comment_count>15</comment_count>
      <attachid>293346</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-30 04:57:16 -0700</bug_when>
    <thetext>Created attachment 293346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246210</commentid>
    <comment_count>16</comment_count>
      <attachid>293346</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-10-30 08:27:06 -0700</bug_when>
    <thetext>Comment on attachment 293346
Patch

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

&gt; Source/cmake/OptionsGTK.cmake:64
&gt; +# For old versions of HarfBuzz that do not expose an API for the OpenType MATH
&gt; +# table, we enable our own code to parse that table.
&gt; +if (&quot;${PC_HARFBUZZ_VERSION}&quot; VERSION_LESS &quot;1.3.3&quot;)
&gt; +    add_definitions(-DENABLE_OPENTYPE_MATH=1)
&gt; +endif ()

Good solution!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246219</commentid>
    <comment_count>17</comment_count>
      <attachid>293346</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-30 09:21:52 -0700</bug_when>
    <thetext>Comment on attachment 293346
Patch

Clearing flags on attachment: 293346

Committed r208128: &lt;http://trac.webkit.org/changeset/208128&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246220</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-30 09:21:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290076</attachid>
            <date>2016-09-28 05:29:44 -0700</date>
            <delta_ts>2016-10-26 08:44:06 -0700</delta_ts>
            <desc>Make jhbuild use the harfbuzz development version</desc>
            <filename>harfbuzz-webkit.patch</filename>
            <type>text/plain</type>
            <size>782</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29scy9ndGsvamhidWls
ZC5tb2R1bGVzCmluZGV4IDdiNTFhZjEuLmFhZTBkNTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9q
aGJ1aWxkLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcwpAQCAtMTMxLDEz
ICsxMzEsMTAgQEAKICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJpY3Ui
Lz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgICA8YnJhbmNoIG1vZHVsZT0ic29mdHdhcmUvaGFy
ZmJ1enovcmVsZWFzZS9oYXJmYnV6ei0wLjkuMzUudGFyLmJ6MiIKKyAgICA8YnJhbmNoIHJlcG89
ImdpdGh1Yi5jb20iCisgICAgICAgICAgICBtb2R1bGU9ImJlaGRhZC9oYXJmYnV6ei5naXQiCiAg
ICAgICAgICAgICB2ZXJzaW9uPSIwLjkuMzUiCi0gICAgICAgICAgICBjaGVja291dGRpcj0iaGFy
ZmJ1enotMC45LjM1IgotICAgICAgICAgICAgcmVwbz0iZnJlZWRlc2t0b3Aub3JnIgotICAgICAg
ICAgICAgaGFzaD0ic2hhMjU2OjBhYTFhOGFiYTZmNTAyMzIxY2Y2ZmVmM2M5ZDJjNzNkZGU0ODM4
OWM1ZWQxZDM2MTVhNzY5MTk0NGMyYTA2ZWQiCi0gICAgICAgICAgICBtZDVzdW09IjUzMWVlODY1
MDYyNmVjZGRjZDkwYjJhNDYzN2UzMWQ0Ij4KLSAgICA8L2JyYW5jaD4KKyAgICAgICAgICAgIGNo
ZWNrb3V0ZGlyPSJoYXJmYnV6ei0wLjkuMzUiLz4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90
b29scyBpZD0ibGliZmZpIiBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290092</attachid>
            <date>2016-09-28 09:29:07 -0700</date>
            <delta_ts>2016-09-29 04:58:23 -0700</delta_ts>
            <desc>WIP Patch (does not build with the current version of harfbuzz)</desc>
            <filename>webkit-harfbuzz.patch</filename>
            <type>text/plain</type>
            <size>6686</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09w
ZW5UeXBlTWF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKaW5kZXggZDUzOTY4OC4uMGVkZDk3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVN
YXRoRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5
cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkZv
bnQuaCIKICNpbmNsdWRlICJGb250UGxhdGZvcm1EYXRhLmgiCi0jaWYgRU5BQkxFKE9QRU5UWVBF
X01BVEgpCisjaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpICYmICFVU0UoSEFSRkJVWlopCiAjaW5j
bHVkZSAiT3BlblR5cGVUeXBlcy5oIgogI2VuZGlmCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgi
CkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotI2lmIEVOQUJMRShPUEVOVFlQRV9NQVRIKQorI2lmIEVOQUJMRShPUEVOVFlQRV9N
QVRIKSAmJiAhVVNFKEhBUkZCVVpaKQogbmFtZXNwYWNlIE9wZW5UeXBlIHsKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQpAQCAtMjMyLDExICsyMzIsMjIgQEAgc3RydWN0IE1BVEhUYWJsZSA6IFRhYmxl
QmFzZSB7CiAjcHJhZ21hIHBhY2soKQogCiB9IC8vIG5hbWVzcGFjZSBPcGVuVHlwZQotI2VuZGlm
IC8vIEVOQUJMRShPUEVOVFlQRV9NQVRIKQorI2VuZGlmIC8vIEVOQUJMRShPUEVOVFlQRV9NQVRI
KSAmJiAhVVNFKEhBUkZCVVpaKQogCi0jaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCisjaWYgVVNF
KEhBUkZCVVpaKQogT3BlblR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YShjb25zdCBGb250
UGxhdGZvcm1EYXRhJiBmb250KQogeworICAgIEhhcmZCdXp6RmFjZSogZmFjZSA9IGZvbnQuaGFy
ZkJ1enpGYWNlKCk7CisgICAgaWYgKCFmYWNlKSB7CisgICAgICAgIG1fbWF0aEZvbnQgPSBudWxs
cHRyOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fbWF0aEZvbnQgPSBmYWNlLT5jcmVh
dGVGb250KCk7CisgICAgaWYgKCFoYl9vdF9tYXRoX2hhc19kYXRhKGhiX2ZvbnRfZ2V0X2ZhY2Uo
bV9tYXRoRm9udCkpKSB7CisgICAgICAgIGhiX2ZvbnRfZGVzdHJveShtX21hdGhGb250KTsKKyAg
ICAgICAgbV9tYXRoRm9udCA9IG51bGxwdHI7CisgICAgfQorI2VsaWYgRU5BQkxFKE9QRU5UWVBF
X01BVEgpCiAgICAgbV9tYXRoQnVmZmVyID0gZm9udC5vcGVuVHlwZVRhYmxlKE9wZW5UeXBlOjpN
QVRIVGFnKTsKICAgICBjb25zdCBPcGVuVHlwZTo6TUFUSFRhYmxlKiBtYXRoID0gT3BlblR5cGU6
OnZhbGlkYXRlVGFibGU8T3BlblR5cGU6Ok1BVEhUYWJsZT4obV9tYXRoQnVmZmVyKTsKICAgICBp
ZiAoIW1hdGgpIHsKQEAgLTI2Miw5ICsyNzMsMjkgQEAgT3BlblR5cGVNYXRoRGF0YTo6T3BlblR5
cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikKIAogT3BlblR5cGVNYXRoRGF0YTo6
fk9wZW5UeXBlTWF0aERhdGEoKQogeworI2lmIFVTRShIQVJGQlVaWikKKyAgICBpZiAobV9tYXRo
Rm9udCkKKyAgICAgICAgaGJfZm9udF9kZXN0cm95KG1fbWF0aEZvbnQpOworI2VuZGlmCit9CisK
KyNpZiBVU0UoSEFSRkJVWlopCitmbG9hdCBPcGVuVHlwZU1hdGhEYXRhOjp0b0xheW91dFZhbHVl
KGNvbnN0IEZvbnQmIGZvbnQsIGhiX3Bvc2l0aW9uX3QgdmFsdWUpIGNvbnN0Cit7CisgICAgaW50
IHNjYWxlOworICAgIGhiX2ZvbnRfZ2V0X3NjYWxlIChtX21hdGhGb250LCAmc2NhbGUsIE5VTEwp
OworICAgIHJldHVybiAoZm9udC5wbGF0Zm9ybURhdGEoKS5zaXplKCkgKiB2YWx1ZSkgLyBzY2Fs
ZTsKIH0KKyNlbmRpZgogCi0jaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCisjaWYgVVNFKEhBUkZC
VVpaKQorZmxvYXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aENvbnN0YW50KGNvbnN0IEZvbnQm
IGZvbnQsIE1hdGhDb25zdGFudCBjb25zdGFudCkgY29uc3QKK3sKKyAgICBoYl9wb3NpdGlvbl90
IHZhbHVlID0gaGJfb3RfbWF0aF9nZXRfY29uc3RhbnQobV9tYXRoRm9udCwgc3RhdGljX2Nhc3Q8
aGJfb3RfbWF0aF9jb25zdGFudF90Pihjb25zdGFudCkpOworICAgIGlmIChjb25zdGFudCA9PSBT
Y3JpcHRQZXJjZW50U2NhbGVEb3duIHx8IGNvbnN0YW50ID09IFNjcmlwdFNjcmlwdFBlcmNlbnRT
Y2FsZURvd24gfHwgY29uc3RhbnQgPT0gUmFkaWNhbERlZ3JlZUJvdHRvbVJhaXNlUGVyY2VudCkK
KyAgICAgICAgcmV0dXJuIHZhbHVlIC8gMTAwLjA7CisgICAgcmV0dXJuIHRvTGF5b3V0VmFsdWUo
Zm9udCwgdmFsdWUpOworI2VsaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCiBmbG9hdCBPcGVuVHlw
ZU1hdGhEYXRhOjpnZXRNYXRoQ29uc3RhbnQoY29uc3QgRm9udCYgZm9udCwgTWF0aENvbnN0YW50
IGNvbnN0YW50KSBjb25zdAogewogICAgIGludDMyX3QgdmFsdWUgPSAwOwpAQCAtMjgzLDggKzMx
NCw5IEBAIGZsb2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhDb25zdGFudChjb25zdCBGb250
JiBmb250LCBNYXRoQ29uc3RhbnQgY29uc3RhbnQpCiAgICAgZWxzZSBpZiAoY29uc3RhbnQgPT0g
UmFkaWNhbERlZ3JlZUJvdHRvbVJhaXNlUGVyY2VudCkKICAgICAgICAgdmFsdWUgPSB1aW50MTZf
dChtYXRoQ29uc3RhbnRzLT5yYWRpY2FsRGVncmVlQm90dG9tUmFpc2VQZXJjZW50KTsKIAotICAg
IGlmIChjb25zdGFudCA9PSBTY3JpcHRQZXJjZW50U2NhbGVEb3duIHx8IGNvbnN0YW50ID09IFNj
cmlwdFNjcmlwdFBlcmNlbnRTY2FsZURvd24gfHwgY29uc3RhbnQgPT0gUmFkaWNhbERlZ3JlZUJv
dHRvbVJhaXNlUGVyY2VudCkKKyAgICBpZiAoY29uc3RhbnQgPT0gU2NyaXB0UGVyY2VudFNjYWxl
RG93biB8fCBjb25zdGFudCA9PSBTY3JpcHRTY3JpcHRQZXJjZW50U2NhbGVEb3duIHx8IGNvbnN0
YW50ID09IFJhZGljYWxEZWdyZWVCb3R0b21SYWlzZVBlcmNlbnQpIHsKICAgICAgICAgcmV0dXJu
IHZhbHVlIC8gMTAwLjA7CisgICAgfQogCiAgICAgcmV0dXJuIHZhbHVlICogZm9udC5zaXplUGVy
VW5pdCgpOwogI2Vsc2UKQEAgLTI5NSw3ICszMjcsMTEgQEAgZmxvYXQgT3BlblR5cGVNYXRoRGF0
YTo6Z2V0TWF0aENvbnN0YW50KGNvbnN0IEZvbnQmLCBNYXRoQ29uc3RhbnQpIGNvbnN0CiAjZW5k
aWYKIH0KIAotI2lmIEVOQUJMRShPUEVOVFlQRV9NQVRIKQorI2lmIFVTRShIQVJGQlVaWikKK2Zs
b2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJlY3Rpb24oY29uc3QgRm9udCYgZm9u
dCwgR2x5cGggZ2x5cGgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvTGF5b3V0VmFsdWUoZm9udCwg
aGJfb3RfbWF0aF9nZXRfZ2x5cGhfaXRhbGljc19jb3JyZWN0aW9uKG1fbWF0aEZvbnQsIGdseXBo
KSk7CisjZWxpZiBFTkFCTEUoT1BFTlRZUEVfTUFUSCkKIGZsb2F0IE9wZW5UeXBlTWF0aERhdGE6
OmdldEl0YWxpY0NvcnJlY3Rpb24oY29uc3QgRm9udCYgZm9udCwgR2x5cGggZ2x5cGgpIGNvbnN0
CiB7CiAgICAgY29uc3QgT3BlblR5cGU6Ok1BVEhUYWJsZSogbWF0aCA9IE9wZW5UeXBlOjp2YWxp
ZGF0ZVRhYmxlPE9wZW5UeXBlOjpNQVRIVGFibGU+KG1fbWF0aEJ1ZmZlcik7CkBAIC0zMTcsNyAr
MzUzLDQwIEBAIGZsb2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJlY3Rpb24oY29u
c3QgRm9udCYsIEdseXBoKSBjb25zdAogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoT1BFTlRZUEVf
TUFUSCkKKyNpZiBVU0UoSEFSRkJVWlopCit2b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhW
YXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBpc1ZlcnRpY2FsLCBWZWN0b3I8R2x5cGg+JiBzaXpl
VmFyaWFudHMsIFZlY3RvcjxBc3NlbWJseVBhcnQ+JiBhc3NlbWJseVBhcnRzKSBjb25zdAorewor
ICAgIGhiX2RpcmVjdGlvbl90IGRpcmVjdGlvbiA9IGlzVmVydGljYWwgPyBIQl9ESVJFQ1RJT05f
QlRUIDogSEJfRElSRUNUSU9OX0xUUjsKKworICAgIHNpemVWYXJpYW50cy5jbGVhcigpOworICAg
IGhiX290X21hdGhfZ2x5cGhfdmFyaWFudF90IHZhcmlhbnRzWzEwXTsKKyAgICB1bnNpZ25lZCB2
YXJpYW50c1NpemUgPSBzaXplb2YgKHZhcmlhbnRzKSAvIHNpemVvZiAodmFyaWFudHNbMF0pOwor
ICAgIHVuc2lnbmVkIGludCBjb3VudDsKKyAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gMDsKKyAg
ICBkbyB7CisgICAgICAgIGNvdW50ID0gdmFyaWFudHNTaXplOworICAgICAgICBoYl9vdF9tYXRo
X2dldF9nbHlwaF92YXJpYW50cyhtX21hdGhGb250LCBnbHlwaCwgZGlyZWN0aW9uLCBvZmZzZXQs
ICZjb3VudCwgdmFyaWFudHMpOworICAgICAgICBvZmZzZXQgKz0gY291bnQ7CisgICAgICAgIGZv
ciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKyAgICAgICAgICAgIHNpemVW
YXJpYW50cy5hcHBlbmQodmFyaWFudHNbaV0uZ2x5cGgpOworICAgIH0gd2hpbGUgKGNvdW50ID09
IHZhcmlhbnRzU2l6ZSk7CisKKyAgICBhc3NlbWJseVBhcnRzLmNsZWFyKCk7CisgICAgaGJfb3Rf
bWF0aF9nbHlwaF9wYXJ0X3QgcGFydHNbMTBdOworICAgIHVuc2lnbmVkIHBhcnRzU2l6ZSA9IHNp
emVvZiAocGFydHMpIC8gc2l6ZW9mIChwYXJ0c1swXSk7CisgICAgb2Zmc2V0ID0gMDsKKyAgICBk
byB7CisgICAgICAgIGNvdW50ID0gcGFydHNTaXplOworICAgICAgICBoYl9vdF9tYXRoX2dldF9n
bHlwaF9hc3NlbWJseShtX21hdGhGb250LCBnbHlwaCwgZGlyZWN0aW9uLCBvZmZzZXQsICZjb3Vu
dCwgcGFydHMsIE5VTEwpOworICAgICAgICBvZmZzZXQgKz0gY291bnQ7CisgICAgICAgIGZvciAo
dW5zaWduZWQgaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworICAgICAgICAgICAgQXNzZW1i
bHlQYXJ0IGFzc2VtYmx5UGFydDsKKyAgICAgICAgICAgIGFzc2VtYmx5UGFydC5nbHlwaCA9IHBh
cnRzW2ldLmdseXBoOworICAgICAgICAgICAgYXNzZW1ibHlQYXJ0LmlzRXh0ZW5kZXIgPSBwYXJ0
c1tpXS5mbGFncyAmIEhCX01BVEhfR0xZUEhfUEFSVF9GTEFHX0VYVEVOREVSOworICAgICAgICAg
ICAgYXNzZW1ibHlQYXJ0cy5hcHBlbmQoYXNzZW1ibHlQYXJ0KTsKKyAgICAgICAgfQorICAgIH0g
d2hpbGUgKGNvdW50ID09IHBhcnRzU2l6ZSk7CisjZWxpZiBFTkFCTEUoT1BFTlRZUEVfTUFUSCkK
IHZvaWQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aFZhcmlhbnRzKEdseXBoIGdseXBoLCBib29s
IGlzVmVydGljYWwsIFZlY3RvcjxHbHlwaD4mIHNpemVWYXJpYW50cywgVmVjdG9yPEFzc2VtYmx5
UGFydD4mIGFzc2VtYmx5UGFydHMpIGNvbnN0CiB7CiAgICAgc2l6ZVZhcmlhbnRzLmNsZWFyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9P
cGVuVHlwZU1hdGhEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgKaW5kZXggZmZhMjg3Ni4uOGUwMGU2OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRo
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09w
ZW5UeXBlTWF0aERhdGEuaApAQCAtMzEsNiArMzEsMTAgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAorI2lmIFVTRShIQVJGQlVaWikKKyNp
bmNsdWRlIDxoYi1vdC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
Rm9udFBsYXRmb3JtRGF0YTsKQEAgLTQ1LDcgKzQ5LDEzIEBAIHB1YmxpYzoKICAgICB9CiAgICAg
fk9wZW5UeXBlTWF0aERhdGEoKTsKIAorI2lmIFVTRShIQVJGQlVaWikKKyAgICBib29sIGhhc01h
dGhEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9tYXRoRm9udDsgfQorI2VsaWYgRU5BQkxFKE9QRU5U
WVBFX01BVEgpCiAgICAgYm9vbCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0aEJ1
ZmZlcjsgfQorI2Vsc2UKKyAgICBib29sIGhhc01hdGhEYXRhKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyNlbmRpZgogCiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIGFyZSBkZWZpbmVkIGluIHRo
ZSBNQVRIIHRhYmxlLgogICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBPcGVuVHlwZU1hdGhE
YXRhOjpnZXRNYXRoQ29uc3RhbnQgYXNzdW1lcyB0aGF0IHRoZXkgY29ycmVzcG9uZCB0byB0aGUg
aW5kaWNlcyBvZiB0aGUgTWF0aENvbnRhbnQgdGFibGUuCkBAIC0xMTksNyArMTI5LDEzIEBAIHB1
YmxpYzoKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBPcGVuVHlwZU1hdGhEYXRhKGNvbnN0IEZv
bnRQbGF0Zm9ybURhdGEmKTsKKworI2lmIFVTRShIQVJGQlVaWikKKyAgICBoYl9mb250X3QqIG1f
bWF0aEZvbnQ7CisgICAgZmxvYXQgdG9MYXlvdXRWYWx1ZShjb25zdCBGb250JiBmb250LCBoYl9w
b3NpdGlvbl90IHZhbHVlKSBjb25zdDsKKyNlbGlmIEVOQUJMRShPUEVOVFlQRV9NQVRIKQogICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fbWF0aEJ1ZmZlcjsKKyNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290200</attachid>
            <date>2016-09-29 04:58:23 -0700</date>
            <delta_ts>2016-10-10 15:16:49 -0700</delta_ts>
            <desc>WIP Patch (does not build without fixing bug 162719)</desc>
            <filename>webkit-harfbuzz.patch</filename>
            <type>text/plain</type>
            <size>5743</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09w
ZW5UeXBlTWF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKaW5kZXggZDUzOTY4OC4uNDE1NGQ4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVN
YXRoRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5
cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkZv
bnQuaCIKICNpbmNsdWRlICJGb250UGxhdGZvcm1EYXRhLmgiCi0jaWYgRU5BQkxFKE9QRU5UWVBF
X01BVEgpCisjaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpICYmICFVU0UoSEFSRkJVWlopCiAjaW5j
bHVkZSAiT3BlblR5cGVUeXBlcy5oIgogI2VuZGlmCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgi
CkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotI2lmIEVOQUJMRShPUEVOVFlQRV9NQVRIKQorI2lmIEVOQUJMRShPUEVOVFlQRV9N
QVRIKSAmJiAhVVNFKEhBUkZCVVpaKQogbmFtZXNwYWNlIE9wZW5UeXBlIHsKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQpAQCAtMjMyLDExICsyMzIsMjIgQEAgc3RydWN0IE1BVEhUYWJsZSA6IFRhYmxl
QmFzZSB7CiAjcHJhZ21hIHBhY2soKQogCiB9IC8vIG5hbWVzcGFjZSBPcGVuVHlwZQotI2VuZGlm
IC8vIEVOQUJMRShPUEVOVFlQRV9NQVRIKQorI2VuZGlmIC8vIEVOQUJMRShPUEVOVFlQRV9NQVRI
KSAmJiAhVVNFKEhBUkZCVVpaKQogCi0jaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCiBPcGVuVHlw
ZU1hdGhEYXRhOjpPcGVuVHlwZU1hdGhEYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnQp
CiB7CisjaWYgVVNFKEhBUkZCVVpaKQorICAgIEhhcmZCdXp6RmFjZSogZmFjZSA9IGZvbnQuaGFy
ZkJ1enpGYWNlKCk7CisgICAgaWYgKCFmYWNlKSB7CisgICAgICAgIG1fbWF0aEZvbnQgPSBudWxs
cHRyOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fbWF0aEZvbnQgPSBmYWNlLT5jcmVh
dGVGb250KCk7CisgICAgaWYgKCFoYl9vdF9tYXRoX2hhc19kYXRhKGhiX2ZvbnRfZ2V0X2ZhY2Uo
bV9tYXRoRm9udCkpKSB7CisgICAgICAgIGhiX2ZvbnRfZGVzdHJveShtX21hdGhGb250KTsKKyAg
ICAgICAgbV9tYXRoRm9udCA9IG51bGxwdHI7CisgICAgfQorI2VsaWYgRU5BQkxFKE9QRU5UWVBF
X01BVEgpCiAgICAgbV9tYXRoQnVmZmVyID0gZm9udC5vcGVuVHlwZVRhYmxlKE9wZW5UeXBlOjpN
QVRIVGFnKTsKICAgICBjb25zdCBPcGVuVHlwZTo6TUFUSFRhYmxlKiBtYXRoID0gT3BlblR5cGU6
OnZhbGlkYXRlVGFibGU8T3BlblR5cGU6Ok1BVEhUYWJsZT4obV9tYXRoQnVmZmVyKTsKICAgICBp
ZiAoIW1hdGgpIHsKQEAgLTI2Miw5ICsyNzMsMjEgQEAgT3BlblR5cGVNYXRoRGF0YTo6T3BlblR5
cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikKIAogT3BlblR5cGVNYXRoRGF0YTo6
fk9wZW5UeXBlTWF0aERhdGEoKQogeworI2lmIFVTRShIQVJGQlVaWikKKyAgICBpZiAobV9tYXRo
Rm9udCkKKyAgICAgICAgaGJfZm9udF9kZXN0cm95KG1fbWF0aEZvbnQpOworI2VuZGlmCiB9CiAK
LSNpZiBFTkFCTEUoT1BFTlRZUEVfTUFUSCkKKyNpZiBVU0UoSEFSRkJVWlopCitmbG9hdCBPcGVu
VHlwZU1hdGhEYXRhOjpnZXRNYXRoQ29uc3RhbnQoY29uc3QgRm9udCYsIE1hdGhDb25zdGFudCBj
b25zdGFudCkgY29uc3QKK3sKKyAgICBoYl9wb3NpdGlvbl90IHZhbHVlID0gaGJfb3RfbWF0aF9n
ZXRfY29uc3RhbnQobV9tYXRoRm9udCwgc3RhdGljX2Nhc3Q8aGJfb3RfbWF0aF9jb25zdGFudF90
Pihjb25zdGFudCkpOworICAgIGlmIChjb25zdGFudCA9PSBTY3JpcHRQZXJjZW50U2NhbGVEb3du
IHx8IGNvbnN0YW50ID09IFNjcmlwdFNjcmlwdFBlcmNlbnRTY2FsZURvd24gfHwgY29uc3RhbnQg
PT0gUmFkaWNhbERlZ3JlZUJvdHRvbVJhaXNlUGVyY2VudCkKKyAgICAgICAgcmV0dXJuIHZhbHVl
IC8gMTAwLjA7CisKKyAgICByZXR1cm4gdmFsdWUgLyA2NTUzNi4wOworI2VsaWYgRU5BQkxFKE9Q
RU5UWVBFX01BVEgpCiBmbG9hdCBPcGVuVHlwZU1hdGhEYXRhOjpnZXRNYXRoQ29uc3RhbnQoY29u
c3QgRm9udCYgZm9udCwgTWF0aENvbnN0YW50IGNvbnN0YW50KSBjb25zdAogewogICAgIGludDMy
X3QgdmFsdWUgPSAwOwpAQCAtMjk1LDcgKzMxOCwxMSBAQCBmbG9hdCBPcGVuVHlwZU1hdGhEYXRh
OjpnZXRNYXRoQ29uc3RhbnQoY29uc3QgRm9udCYsIE1hdGhDb25zdGFudCkgY29uc3QKICNlbmRp
ZgogfQogCi0jaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCisjaWYgVVNFKEhBUkZCVVpaKQorZmxv
YXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0SXRhbGljQ29ycmVjdGlvbihjb25zdCBGb250JiwgR2x5
cGggZ2x5cGgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhiX290X21hdGhfZ2V0X2dseXBoX2l0YWxp
Y3NfY29ycmVjdGlvbihtX21hdGhGb250LCBnbHlwaCkgLyA2NTUzNi4wOworI2VsaWYgRU5BQkxF
KE9QRU5UWVBFX01BVEgpCiBmbG9hdCBPcGVuVHlwZU1hdGhEYXRhOjpnZXRJdGFsaWNDb3JyZWN0
aW9uKGNvbnN0IEZvbnQmIGZvbnQsIEdseXBoIGdseXBoKSBjb25zdAogewogICAgIGNvbnN0IE9w
ZW5UeXBlOjpNQVRIVGFibGUqIG1hdGggPSBPcGVuVHlwZTo6dmFsaWRhdGVUYWJsZTxPcGVuVHlw
ZTo6TUFUSFRhYmxlPihtX21hdGhCdWZmZXIpOwpAQCAtMzE3LDcgKzM0NCw0MCBAQCBmbG9hdCBP
cGVuVHlwZU1hdGhEYXRhOjpnZXRJdGFsaWNDb3JyZWN0aW9uKGNvbnN0IEZvbnQmLCBHbHlwaCkg
Y29uc3QKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCisjaWYgVVNFKEhB
UkZCVVpaKQordm9pZCBPcGVuVHlwZU1hdGhEYXRhOjpnZXRNYXRoVmFyaWFudHMoR2x5cGggZ2x5
cGgsIGJvb2wgaXNWZXJ0aWNhbCwgVmVjdG9yPEdseXBoPiYgc2l6ZVZhcmlhbnRzLCBWZWN0b3I8
QXNzZW1ibHlQYXJ0PiYgYXNzZW1ibHlQYXJ0cykgY29uc3QKK3sKKyAgICBoYl9kaXJlY3Rpb25f
dCBkaXJlY3Rpb24gPSBpc1ZlcnRpY2FsID8gSEJfRElSRUNUSU9OX0JUVCA6IEhCX0RJUkVDVElP
Tl9MVFI7CisKKyAgICBzaXplVmFyaWFudHMuY2xlYXIoKTsKKyAgICBoYl9vdF9tYXRoX2dseXBo
X3ZhcmlhbnRfdCB2YXJpYW50c1sxMF07CisgICAgdW5zaWduZWQgdmFyaWFudHNTaXplID0gc2l6
ZW9mICh2YXJpYW50cykgLyBzaXplb2YgKHZhcmlhbnRzWzBdKTsKKyAgICB1bnNpZ25lZCBpbnQg
Y291bnQ7CisgICAgdW5zaWduZWQgaW50IG9mZnNldCA9IDA7CisgICAgZG8geworICAgICAgICBj
b3VudCA9IHZhcmlhbnRzU2l6ZTsKKyAgICAgICAgaGJfb3RfbWF0aF9nZXRfZ2x5cGhfdmFyaWFu
dHMobV9tYXRoRm9udCwgZ2x5cGgsIGRpcmVjdGlvbiwgb2Zmc2V0LCAmY291bnQsIHZhcmlhbnRz
KTsKKyAgICAgICAgb2Zmc2V0ICs9IGNvdW50OworICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBp
ID0gMDsgaSA8IGNvdW50OyBpKyspCisgICAgICAgICAgICBzaXplVmFyaWFudHMuYXBwZW5kKHZh
cmlhbnRzW2ldLmdseXBoKTsKKyAgICB9IHdoaWxlIChjb3VudCA9PSB2YXJpYW50c1NpemUpOwor
CisgICAgYXNzZW1ibHlQYXJ0cy5jbGVhcigpOworICAgIGhiX290X21hdGhfZ2x5cGhfcGFydF90
IHBhcnRzWzEwXTsKKyAgICB1bnNpZ25lZCBwYXJ0c1NpemUgPSBzaXplb2YgKHBhcnRzKSAvIHNp
emVvZiAocGFydHNbMF0pOworICAgIG9mZnNldCA9IDA7CisgICAgZG8geworICAgICAgICBjb3Vu
dCA9IHBhcnRzU2l6ZTsKKyAgICAgICAgaGJfb3RfbWF0aF9nZXRfZ2x5cGhfYXNzZW1ibHkobV9t
YXRoRm9udCwgZ2x5cGgsIGRpcmVjdGlvbiwgb2Zmc2V0LCAmY291bnQsIHBhcnRzLCBOVUxMKTsK
KyAgICAgICAgb2Zmc2V0ICs9IGNvdW50OworICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0g
MDsgaSA8IGNvdW50OyBpKyspIHsKKyAgICAgICAgICAgIEFzc2VtYmx5UGFydCBhc3NlbWJseVBh
cnQ7CisgICAgICAgICAgICBhc3NlbWJseVBhcnQuZ2x5cGggPSBwYXJ0c1tpXS5nbHlwaDsKKyAg
ICAgICAgICAgIGFzc2VtYmx5UGFydC5pc0V4dGVuZGVyID0gcGFydHNbaV0uZmxhZ3MgJiBIQl9N
QVRIX0dMWVBIX1BBUlRfRkxBR19FWFRFTkRFUjsKKyAgICAgICAgICAgIGFzc2VtYmx5UGFydHMu
YXBwZW5kKGFzc2VtYmx5UGFydCk7CisgICAgICAgIH0KKyAgICB9IHdoaWxlIChjb3VudCA9PSBw
YXJ0c1NpemUpOworI2VsaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCiB2b2lkIE9wZW5UeXBlTWF0
aERhdGE6OmdldE1hdGhWYXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBpc1ZlcnRpY2FsLCBWZWN0
b3I8R2x5cGg+JiBzaXplVmFyaWFudHMsIFZlY3RvcjxBc3NlbWJseVBhcnQ+JiBhc3NlbWJseVBh
cnRzKSBjb25zdAogewogICAgIHNpemVWYXJpYW50cy5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRo
RGF0YS5oCmluZGV4IGZmYTI4NzYuLjEyNjViOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgK
QEAgLTMxLDYgKzMxLDEwIEBACiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKKyNpZiBVU0UoSEFSRkJVWlopCisjaW5jbHVkZSA8aGItb3QuaD4K
KyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7
CkBAIC00NSw3ICs0OSwxMyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5PcGVuVHlwZU1hdGhEYXRh
KCk7CiAKKyNpZiBVU0UoSEFSRkJVWlopCisgICAgYm9vbCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fbWF0aEZvbnQ7IH0KKyNlbGlmIEVOQUJMRShPUEVOVFlQRV9NQVRIKQogICAgIGJv
b2wgaGFzTWF0aERhdGEoKSBjb25zdCB7IHJldHVybiBtX21hdGhCdWZmZXI7IH0KKyNlbHNlCisg
ICAgYm9vbCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKIAog
ICAgIC8vIFRoZXNlIGNvbnN0YW50cyBhcmUgZGVmaW5lZCBpbiB0aGUgTUFUSCB0YWJsZS4KICAg
ICAvLyBUaGUgaW1wbGVtZW50YXRpb24gb2YgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aENvbnN0
YW50IGFzc3VtZXMgdGhhdCB0aGV5IGNvcnJlc3BvbmQgdG8gdGhlIGluZGljZXMgb2YgdGhlIE1h
dGhDb250YW50IHRhYmxlLgpAQCAtMTE5LDcgKzEyOSwxMiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgT3BlblR5cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7
CisKKyNpZiBVU0UoSEFSRkJVWlopCisgICAgaGJfZm9udF90KiBtX21hdGhGb250OworI2VsaWYg
RU5BQkxFKE9QRU5UWVBFX01BVEgpCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9tYXRoQnVm
ZmVyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291172</attachid>
            <date>2016-10-10 15:16:49 -0700</date>
            <delta_ts>2016-10-29 07:09:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>162671.patch</filename>
            <type>text/plain</type>
            <size>5839</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IDgzZDI0OTkuLjAwM2NiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTEzNiw3
ICsxMTM2LDcgQEAKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKIAotI2lmIChP
UyhEQVJXSU4pICYmIFVTRShDRykpIHx8IFVTRShGUkVFVFlQRSkgfHwgKFBMQVRGT1JNKFdJTikg
JiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpCisjaWYgKE9TKERBUldJTikgJiYgVVNFKENHKSkg
fHwgKFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpCiAjdW5kZWYgRU5B
QkxFX09QRU5UWVBFX01BVEgKICNkZWZpbmUgRU5BQkxFX09QRU5UWVBFX01BVEggMQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9P
cGVuVHlwZU1hdGhEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwCmluZGV4IGQ1Mzk2ODguLjQ0N2MzN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
TWF0aERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwCkBAIC0yNTMsNiArMjUzLDE5IEBAIE9wZW5UeXBlTWF0
aERhdGE6Ok9wZW5UeXBlTWF0aERhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgZm9udCkKICAg
ICBjb25zdCBPcGVuVHlwZTo6TWF0aFZhcmlhbnRzKiBtYXRoVmFyaWFudHMgPSBtYXRoLT5tYXRo
VmFyaWFudHMoKm1fbWF0aEJ1ZmZlcik7CiAgICAgaWYgKCFtYXRoVmFyaWFudHMpCiAgICAgICAg
IG1fbWF0aEJ1ZmZlciA9IG51bGxwdHI7CisjZWxpZiBVU0UoSEFSRkJVWlopCitPcGVuVHlwZU1h
dGhEYXRhOjpPcGVuVHlwZU1hdGhEYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnQpCit7
CisgICAgSGFyZkJ1enpGYWNlKiBmYWNlID0gZm9udC5oYXJmQnV6ekZhY2UoKTsKKyAgICBpZiAo
IWZhY2UpIHsKKyAgICAgICAgbV9tYXRoRm9udCA9IG51bGxwdHI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgbV9tYXRoRm9udCA9IGZhY2UtPmNyZWF0ZUZvbnQoKTsKKyAgICBpZiAoIWhi
X290X21hdGhfaGFzX2RhdGEoaGJfZm9udF9nZXRfZmFjZShtX21hdGhGb250KSkpIHsKKyAgICAg
ICAgaGJfZm9udF9kZXN0cm95KG1fbWF0aEZvbnQpOworICAgICAgICBtX21hdGhGb250ID0gbnVs
bHB0cjsKKyAgICB9CiAjZWxzZQogT3BlblR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YShj
b25zdCBGb250UGxhdGZvcm1EYXRhJikKIHsKQEAgLTI2Miw2ICsyNzUsMTAgQEAgT3BlblR5cGVN
YXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikKIAogT3Bl
blR5cGVNYXRoRGF0YTo6fk9wZW5UeXBlTWF0aERhdGEoKQogeworI2lmICFFTkFCTEUoT1BFTlRZ
UEVfTUFUSCkgJiYgVVNFKEhBUkZCVVpaKQorICAgIGlmIChtX21hdGhGb250KQorICAgICAgICBo
Yl9mb250X2Rlc3Ryb3kobV9tYXRoRm9udCk7CisjZW5kaWYKIH0KIAogI2lmIEVOQUJMRShPUEVO
VFlQRV9NQVRIKQpAQCAtMjg3LDYgKzMwNCwxNCBAQCBmbG9hdCBPcGVuVHlwZU1hdGhEYXRhOjpn
ZXRNYXRoQ29uc3RhbnQoY29uc3QgRm9udCYgZm9udCwgTWF0aENvbnN0YW50IGNvbnN0YW50KQog
ICAgICAgICByZXR1cm4gdmFsdWUgLyAxMDAuMDsKIAogICAgIHJldHVybiB2YWx1ZSAqIGZvbnQu
c2l6ZVBlclVuaXQoKTsKKyNlbGlmIFVTRShIQVJGQlVaWikKK2Zsb2F0IE9wZW5UeXBlTWF0aERh
dGE6OmdldE1hdGhDb25zdGFudChjb25zdCBGb250JiwgTWF0aENvbnN0YW50IGNvbnN0YW50KSBj
b25zdAoreworICAgIGhiX3Bvc2l0aW9uX3QgdmFsdWUgPSBoYl9vdF9tYXRoX2dldF9jb25zdGFu
dChtX21hdGhGb250LCBzdGF0aWNfY2FzdDxoYl9vdF9tYXRoX2NvbnN0YW50X3Q+KGNvbnN0YW50
KSk7CisgICAgaWYgKGNvbnN0YW50ID09IFNjcmlwdFBlcmNlbnRTY2FsZURvd24gfHwgY29uc3Rh
bnQgPT0gU2NyaXB0U2NyaXB0UGVyY2VudFNjYWxlRG93biB8fCBjb25zdGFudCA9PSBSYWRpY2Fs
RGVncmVlQm90dG9tUmFpc2VQZXJjZW50KQorICAgICAgICByZXR1cm4gdmFsdWUgLyAxMDAuMDsK
KworICAgIHJldHVybiB2YWx1ZSAvIDY1NTM2LjA7CiAjZWxzZQogZmxvYXQgT3BlblR5cGVNYXRo
RGF0YTo6Z2V0TWF0aENvbnN0YW50KGNvbnN0IEZvbnQmLCBNYXRoQ29uc3RhbnQpIGNvbnN0CiB7
CkBAIC0zMDksNiArMzM0LDEwIEBAIGZsb2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0Nv
cnJlY3Rpb24oY29uc3QgRm9udCYgZm9udCwgR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgcmV0dXJuIG1hdGhJdGFsaWNzQ29ycmVjdGlvbkluZm8tPmdldEl0YWxp
Y0NvcnJlY3Rpb24oKm1fbWF0aEJ1ZmZlciwgZ2x5cGgpICogZm9udC5zaXplUGVyVW5pdCgpOwor
I2VsaWYgVVNFKEhBUkZCVVpaKQorZmxvYXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0SXRhbGljQ29y
cmVjdGlvbihjb25zdCBGb250JiwgR2x5cGggZ2x5cGgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhi
X290X21hdGhfZ2V0X2dseXBoX2l0YWxpY3NfY29ycmVjdGlvbihtX21hdGhGb250LCBnbHlwaCkg
LyA2NTUzNi4wOwogI2Vsc2UKIGZsb2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJl
Y3Rpb24oY29uc3QgRm9udCYsIEdseXBoKSBjb25zdAogewpAQCAtMzMzLDYgKzM2MiwzOSBAQCB2
b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhWYXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBp
c1ZlcnRpY2FsLCBWZWN0b3I8R2x5cAogCiAgICAgbWF0aEdseXBoQ29uc3RydWN0aW9uLT5nZXRT
aXplVmFyaWFudHMoKm1fbWF0aEJ1ZmZlciwgc2l6ZVZhcmlhbnRzKTsKICAgICBtYXRoR2x5cGhD
b25zdHJ1Y3Rpb24tPmdldEFzc2VtYmx5UGFydHMoKm1fbWF0aEJ1ZmZlciwgYXNzZW1ibHlQYXJ0
cyk7CisjZWxpZiBVU0UoSEFSRkJVWlopCit2b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhW
YXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBpc1ZlcnRpY2FsLCBWZWN0b3I8R2x5cGg+JiBzaXpl
VmFyaWFudHMsIFZlY3RvcjxBc3NlbWJseVBhcnQ+JiBhc3NlbWJseVBhcnRzKSBjb25zdAorewor
ICAgIGhiX2RpcmVjdGlvbl90IGRpcmVjdGlvbiA9IGlzVmVydGljYWwgPyBIQl9ESVJFQ1RJT05f
QlRUIDogSEJfRElSRUNUSU9OX0xUUjsKKworICAgIHNpemVWYXJpYW50cy5jbGVhcigpOworICAg
IGhiX290X21hdGhfZ2x5cGhfdmFyaWFudF90IHZhcmlhbnRzWzEwXTsKKyAgICB1bnNpZ25lZCB2
YXJpYW50c1NpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHZhcmlhbnRzKTsKKyAgICB1bnNpZ25lZCBp
bnQgY291bnQ7CisgICAgdW5zaWduZWQgaW50IG9mZnNldCA9IDA7CisgICAgZG8geworICAgICAg
ICBjb3VudCA9IHZhcmlhbnRzU2l6ZTsKKyAgICAgICAgaGJfb3RfbWF0aF9nZXRfZ2x5cGhfdmFy
aWFudHMobV9tYXRoRm9udCwgZ2x5cGgsIGRpcmVjdGlvbiwgb2Zmc2V0LCAmY291bnQsIHZhcmlh
bnRzKTsKKyAgICAgICAgb2Zmc2V0ICs9IGNvdW50OworICAgICAgICBmb3IgKHVuc2lnbmVkIGlu
dCBpID0gMDsgaSA8IGNvdW50OyBpKyspCisgICAgICAgICAgICBzaXplVmFyaWFudHMuYXBwZW5k
KHZhcmlhbnRzW2ldLmdseXBoKTsKKyAgICB9IHdoaWxlIChjb3VudCA9PSB2YXJpYW50c1NpemUp
OworCisgICAgYXNzZW1ibHlQYXJ0cy5jbGVhcigpOworICAgIGhiX290X21hdGhfZ2x5cGhfcGFy
dF90IHBhcnRzWzEwXTsKKyAgICB1bnNpZ25lZCBwYXJ0c1NpemUgPSBXVEZfQVJSQVlfTEVOR1RI
KHBhcnRzKTsKKyAgICBvZmZzZXQgPSAwOworICAgIGRvIHsKKyAgICAgICAgY291bnQgPSBwYXJ0
c1NpemU7CisgICAgICAgIGhiX290X21hdGhfZ2V0X2dseXBoX2Fzc2VtYmx5KG1fbWF0aEZvbnQs
IGdseXBoLCBkaXJlY3Rpb24sIG9mZnNldCwgJmNvdW50LCBwYXJ0cywgTlVMTCk7CisgICAgICAg
IG9mZnNldCArPSBjb3VudDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBj
b3VudDsgaSsrKSB7CisgICAgICAgICAgICBBc3NlbWJseVBhcnQgYXNzZW1ibHlQYXJ0OworICAg
ICAgICAgICAgYXNzZW1ibHlQYXJ0LmdseXBoID0gcGFydHNbaV0uZ2x5cGg7CisgICAgICAgICAg
ICBhc3NlbWJseVBhcnQuaXNFeHRlbmRlciA9IHBhcnRzW2ldLmZsYWdzICYgSEJfTUFUSF9HTFlQ
SF9QQVJUX0ZMQUdfRVhURU5ERVI7CisgICAgICAgICAgICBhc3NlbWJseVBhcnRzLmFwcGVuZChh
c3NlbWJseVBhcnQpOworICAgICAgICB9CisgICAgfSB3aGlsZSAoY291bnQgPT0gcGFydHNTaXpl
KTsKICNlbHNlCiB2b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhWYXJpYW50cyhHbHlwaCwg
Ym9vbCwgVmVjdG9yPEdseXBoPiYsIFZlY3RvcjxBc3NlbWJseVBhcnQ+JikgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5U
eXBlTWF0aERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBl
L09wZW5UeXBlTWF0aERhdGEuaAppbmRleCBmZmEyODc2Li4wMmFjYzVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5
cGVNYXRoRGF0YS5oCkBAIC0zMSw2ICszMSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCisjaWYgIUVOQUJMRShPUEVOVFlQRV9NQVRI
KSAmJiBVU0UoSEFSRkJVWlopCisjaW5jbHVkZSA8aGItb3QuaD4KKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CkBAIC00NSw3ICs0OSwxMyBA
QCBwdWJsaWM6CiAgICAgfQogICAgIH5PcGVuVHlwZU1hdGhEYXRhKCk7CiAKKyNpZiBFTkFCTEUo
T1BFTlRZUEVfTUFUSCkKICAgICBib29sIGhhc01hdGhEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9t
YXRoQnVmZmVyOyB9CisjZWxpZiBVU0UoSEFSRkJVWlopCisgICAgYm9vbCBoYXNNYXRoRGF0YSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWF0aEZvbnQ7IH0KKyNlbHNlCisgICAgYm9vbCBoYXNNYXRoRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKIAogICAgIC8vIFRoZXNlIGNvbnN0
YW50cyBhcmUgZGVmaW5lZCBpbiB0aGUgTUFUSCB0YWJsZS4KICAgICAvLyBUaGUgaW1wbGVtZW50
YXRpb24gb2YgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aENvbnN0YW50IGFzc3VtZXMgdGhhdCB0
aGV5IGNvcnJlc3BvbmQgdG8gdGhlIGluZGljZXMgb2YgdGhlIE1hdGhDb250YW50IHRhYmxlLgpA
QCAtMTE5LDcgKzEyOSwxMiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgT3Bl
blR5cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisKKyNpZiBFTkFCTEUoT1BF
TlRZUEVfTUFUSCkKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtX21hdGhCdWZmZXI7CisjZWxp
ZiBVU0UoSEFSRkJVWlopCisgICAgaGJfZm9udF90KiBtX21hdGhGb250OworI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293290</attachid>
            <date>2016-10-29 07:09:40 -0700</date>
            <delta_ts>2016-10-30 04:57:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>162671.patch</filename>
            <type>text/plain</type>
            <size>6445</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IDc1MjNjMWQuLjE3YmU1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTE0MCw3
ICsxMTQwLDcgQEAKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKIAotI2lmIChP
UyhEQVJXSU4pICYmIFVTRShDRykpIHx8IFVTRShGUkVFVFlQRSkgfHwgKFBMQVRGT1JNKFdJTikg
JiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpCisjaWYgKE9TKERBUldJTikgJiYgVVNFKENHKSkg
fHwgKFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpIHx8IFBMQVRGT1JN
KEVGTCkKICN1bmRlZiBFTkFCTEVfT1BFTlRZUEVfTUFUSAogI2RlZmluZSBFTkFCTEVfT1BFTlRZ
UEVfTUFUSCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKaW5kZXggZDUzOTY4
OC4uMDA0MDY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDE0IEZyZWRlcmljIFdhbmcgKGZyZWQud2FuZ0BmcmVl
LmZyKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNTMsNiArMjU0LDE5IEBAIE9wZW5UeXBlTWF0aERhdGE6Ok9wZW5UeXBlTWF0aERhdGEo
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYgZm9udCkKICAgICBjb25zdCBPcGVuVHlwZTo6TWF0aFZh
cmlhbnRzKiBtYXRoVmFyaWFudHMgPSBtYXRoLT5tYXRoVmFyaWFudHMoKm1fbWF0aEJ1ZmZlcik7
CiAgICAgaWYgKCFtYXRoVmFyaWFudHMpCiAgICAgICAgIG1fbWF0aEJ1ZmZlciA9IG51bGxwdHI7
CisjZWxpZiBVU0UoSEFSRkJVWlopCitPcGVuVHlwZU1hdGhEYXRhOjpPcGVuVHlwZU1hdGhEYXRh
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnQpCit7CisgICAgSGFyZkJ1enpGYWNlKiBmYWNl
ID0gZm9udC5oYXJmQnV6ekZhY2UoKTsKKyAgICBpZiAoIWZhY2UpIHsKKyAgICAgICAgbV9tYXRo
Rm9udCA9IG51bGxwdHI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9tYXRoRm9udCA9
IGZhY2UtPmNyZWF0ZUZvbnQoKTsKKyAgICBpZiAoIWhiX290X21hdGhfaGFzX2RhdGEoaGJfZm9u
dF9nZXRfZmFjZShtX21hdGhGb250KSkpIHsKKyAgICAgICAgaGJfZm9udF9kZXN0cm95KG1fbWF0
aEZvbnQpOworICAgICAgICBtX21hdGhGb250ID0gbnVsbHB0cjsKKyAgICB9CiAjZWxzZQogT3Bl
blR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikK
IHsKQEAgLTI2Miw2ICsyNzYsMTAgQEAgT3BlblR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0
YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikKIAogT3BlblR5cGVNYXRoRGF0YTo6fk9wZW5UeXBl
TWF0aERhdGEoKQogeworI2lmICFFTkFCTEUoT1BFTlRZUEVfTUFUSCkgJiYgVVNFKEhBUkZCVVpa
KQorICAgIGlmIChtX21hdGhGb250KQorICAgICAgICBoYl9mb250X2Rlc3Ryb3kobV9tYXRoRm9u
dCk7CisjZW5kaWYKIH0KIAogI2lmIEVOQUJMRShPUEVOVFlQRV9NQVRIKQpAQCAtMjg3LDYgKzMw
NSwxNCBAQCBmbG9hdCBPcGVuVHlwZU1hdGhEYXRhOjpnZXRNYXRoQ29uc3RhbnQoY29uc3QgRm9u
dCYgZm9udCwgTWF0aENvbnN0YW50IGNvbnN0YW50KQogICAgICAgICByZXR1cm4gdmFsdWUgLyAx
MDAuMDsKIAogICAgIHJldHVybiB2YWx1ZSAqIGZvbnQuc2l6ZVBlclVuaXQoKTsKKyNlbGlmIFVT
RShIQVJGQlVaWikKK2Zsb2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhDb25zdGFudChjb25z
dCBGb250JiwgTWF0aENvbnN0YW50IGNvbnN0YW50KSBjb25zdAoreworICAgIGhiX3Bvc2l0aW9u
X3QgdmFsdWUgPSBoYl9vdF9tYXRoX2dldF9jb25zdGFudChtX21hdGhGb250LCBzdGF0aWNfY2Fz
dDxoYl9vdF9tYXRoX2NvbnN0YW50X3Q+KGNvbnN0YW50KSk7CisgICAgaWYgKGNvbnN0YW50ID09
IFNjcmlwdFBlcmNlbnRTY2FsZURvd24gfHwgY29uc3RhbnQgPT0gU2NyaXB0U2NyaXB0UGVyY2Vu
dFNjYWxlRG93biB8fCBjb25zdGFudCA9PSBSYWRpY2FsRGVncmVlQm90dG9tUmFpc2VQZXJjZW50
KQorICAgICAgICByZXR1cm4gdmFsdWUgLyAxMDAuMDsKKworICAgIHJldHVybiB2YWx1ZSAvIDY1
NTM2LjA7CiAjZWxzZQogZmxvYXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aENvbnN0YW50KGNv
bnN0IEZvbnQmLCBNYXRoQ29uc3RhbnQpIGNvbnN0CiB7CkBAIC0zMDksNiArMzM1LDEwIEBAIGZs
b2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJlY3Rpb24oY29uc3QgRm9udCYgZm9u
dCwgR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1h
dGhJdGFsaWNzQ29ycmVjdGlvbkluZm8tPmdldEl0YWxpY0NvcnJlY3Rpb24oKm1fbWF0aEJ1ZmZl
ciwgZ2x5cGgpICogZm9udC5zaXplUGVyVW5pdCgpOworI2VsaWYgVVNFKEhBUkZCVVpaKQorZmxv
YXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0SXRhbGljQ29ycmVjdGlvbihjb25zdCBGb250JiwgR2x5
cGggZ2x5cGgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhiX290X21hdGhfZ2V0X2dseXBoX2l0YWxp
Y3NfY29ycmVjdGlvbihtX21hdGhGb250LCBnbHlwaCkgLyA2NTUzNi4wOwogI2Vsc2UKIGZsb2F0
IE9wZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJlY3Rpb24oY29uc3QgRm9udCYsIEdseXBo
KSBjb25zdAogewpAQCAtMzMzLDYgKzM2MywzOSBAQCB2b2lkIE9wZW5UeXBlTWF0aERhdGE6Omdl
dE1hdGhWYXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBpc1ZlcnRpY2FsLCBWZWN0b3I8R2x5cAog
CiAgICAgbWF0aEdseXBoQ29uc3RydWN0aW9uLT5nZXRTaXplVmFyaWFudHMoKm1fbWF0aEJ1ZmZl
ciwgc2l6ZVZhcmlhbnRzKTsKICAgICBtYXRoR2x5cGhDb25zdHJ1Y3Rpb24tPmdldEFzc2VtYmx5
UGFydHMoKm1fbWF0aEJ1ZmZlciwgYXNzZW1ibHlQYXJ0cyk7CisjZWxpZiBVU0UoSEFSRkJVWlop
Cit2b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhWYXJpYW50cyhHbHlwaCBnbHlwaCwgYm9v
bCBpc1ZlcnRpY2FsLCBWZWN0b3I8R2x5cGg+JiBzaXplVmFyaWFudHMsIFZlY3RvcjxBc3NlbWJs
eVBhcnQ+JiBhc3NlbWJseVBhcnRzKSBjb25zdAoreworICAgIGhiX2RpcmVjdGlvbl90IGRpcmVj
dGlvbiA9IGlzVmVydGljYWwgPyBIQl9ESVJFQ1RJT05fQlRUIDogSEJfRElSRUNUSU9OX0xUUjsK
KworICAgIHNpemVWYXJpYW50cy5jbGVhcigpOworICAgIGhiX290X21hdGhfZ2x5cGhfdmFyaWFu
dF90IHZhcmlhbnRzWzEwXTsKKyAgICB1bnNpZ25lZCB2YXJpYW50c1NpemUgPSBXVEZfQVJSQVlf
TEVOR1RIKHZhcmlhbnRzKTsKKyAgICB1bnNpZ25lZCBjb3VudDsKKyAgICB1bnNpZ25lZCBvZmZz
ZXQgPSAwOworICAgIGRvIHsKKyAgICAgICAgY291bnQgPSB2YXJpYW50c1NpemU7CisgICAgICAg
IGhiX290X21hdGhfZ2V0X2dseXBoX3ZhcmlhbnRzKG1fbWF0aEZvbnQsIGdseXBoLCBkaXJlY3Rp
b24sIG9mZnNldCwgJmNvdW50LCB2YXJpYW50cyk7CisgICAgICAgIG9mZnNldCArPSBjb3VudDsK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyBpKyspCisgICAgICAgICAg
ICBzaXplVmFyaWFudHMuYXBwZW5kKHZhcmlhbnRzW2ldLmdseXBoKTsKKyAgICB9IHdoaWxlIChj
b3VudCA9PSB2YXJpYW50c1NpemUpOworCisgICAgYXNzZW1ibHlQYXJ0cy5jbGVhcigpOworICAg
IGhiX290X21hdGhfZ2x5cGhfcGFydF90IHBhcnRzWzEwXTsKKyAgICB1bnNpZ25lZCBwYXJ0c1Np
emUgPSBXVEZfQVJSQVlfTEVOR1RIKHBhcnRzKTsKKyAgICBvZmZzZXQgPSAwOworICAgIGRvIHsK
KyAgICAgICAgY291bnQgPSBwYXJ0c1NpemU7CisgICAgICAgIGhiX290X21hdGhfZ2V0X2dseXBo
X2Fzc2VtYmx5KG1fbWF0aEZvbnQsIGdseXBoLCBkaXJlY3Rpb24sIG9mZnNldCwgJmNvdW50LCBw
YXJ0cywgbnVsbHB0cik7CisgICAgICAgIG9mZnNldCArPSBjb3VudDsKKyAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKyAgICAgICAgICAgIEFzc2VtYmx5UGFy
dCBhc3NlbWJseVBhcnQ7CisgICAgICAgICAgICBhc3NlbWJseVBhcnQuZ2x5cGggPSBwYXJ0c1tp
XS5nbHlwaDsKKyAgICAgICAgICAgIGFzc2VtYmx5UGFydC5pc0V4dGVuZGVyID0gcGFydHNbaV0u
ZmxhZ3MgJiBIQl9NQVRIX0dMWVBIX1BBUlRfRkxBR19FWFRFTkRFUjsKKyAgICAgICAgICAgIGFz
c2VtYmx5UGFydHMuYXBwZW5kKGFzc2VtYmx5UGFydCk7CisgICAgICAgIH0KKyAgICB9IHdoaWxl
IChjb3VudCA9PSBwYXJ0c1NpemUpOwogI2Vsc2UKIHZvaWQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0
TWF0aFZhcmlhbnRzKEdseXBoLCBib29sLCBWZWN0b3I8R2x5cGg+JiwgVmVjdG9yPEFzc2VtYmx5
UGFydD4mKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oCmluZGV4IGZmYTI4NzYuLmQ2
ZGUyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlTWF0aERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDE0IEZyZWRlcmljIFdhbmcgKGZyZWQud2FuZ0BmcmVlLmZyKS4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSw2
ICszMiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCisjaWYgIUVOQUJMRShPUEVOVFlQRV9NQVRIKSAmJiBVU0UoSEFSRkJVWlopCisj
aW5jbHVkZSA8aGItb3QuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEZvbnRQbGF0Zm9ybURhdGE7CkBAIC00NSw3ICs1MCwxMyBAQCBwdWJsaWM6CiAgICAgfQogICAg
IH5PcGVuVHlwZU1hdGhEYXRhKCk7CiAKKyNpZiBFTkFCTEUoT1BFTlRZUEVfTUFUSCkKICAgICBi
b29sIGhhc01hdGhEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9tYXRoQnVmZmVyOyB9CisjZWxpZiBV
U0UoSEFSRkJVWlopCisgICAgYm9vbCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0
aEZvbnQ7IH0KKyNlbHNlCisgICAgYm9vbCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisjZW5kaWYKIAogICAgIC8vIFRoZXNlIGNvbnN0YW50cyBhcmUgZGVmaW5lZCBpbiB0
aGUgTUFUSCB0YWJsZS4KICAgICAvLyBUaGUgaW1wbGVtZW50YXRpb24gb2YgT3BlblR5cGVNYXRo
RGF0YTo6Z2V0TWF0aENvbnN0YW50IGFzc3VtZXMgdGhhdCB0aGV5IGNvcnJlc3BvbmQgdG8gdGhl
IGluZGljZXMgb2YgdGhlIE1hdGhDb250YW50IHRhYmxlLgpAQCAtMTE5LDcgKzEzMCwxMiBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgT3BlblR5cGVNYXRoRGF0YShjb25zdCBG
b250UGxhdGZvcm1EYXRhJik7CisKKyNpZiBFTkFCTEUoT1BFTlRZUEVfTUFUSCkKICAgICBSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBtX21hdGhCdWZmZXI7CisjZWxpZiBVU0UoSEFSRkJVWlopCisgICAg
aGJfZm9udF90KiBtX21hdGhGb250OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293346</attachid>
            <date>2016-10-30 04:57:16 -0700</date>
            <delta_ts>2016-10-30 09:21:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162671-20161030125321.patch</filename>
            <type>text/plain</type>
            <size>16879</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4MDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQzNTkwYWE5MTU0Yzg4NWUwNDZjODM3
NWUyMjgxMjczY2QyNDZkMjYuLjg4NjljNmQ2YmFmMjE4MDc3YzNkYzljZWE4MDI5NjdiZmE0NjE4
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTAtMzAgIEZyZWRlcmljIFdhbmcgIDxmd2Fu
Z0BpZ2FsaWEuY29tPgorCisgICAgICAgIFVzZSBIYXJmQnV6eiBvdC1tYXRoIEFQSSB0byBwYXJz
ZSB0aGUgT3BlblR5cGUgTUFUSCB0YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogQnkgZGVmYXVsdCwgZG8gbm90IGVu
YWJsZSBpbnRlcm5hbCBPcGVuVHlwZSBNQVRIIHBhcnNpbmcgb24gR1RLLgorCiAyMDE2LTEwLTI1
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBTdHJpbmcucHJvdG90
eXBlLnJlcGxhY2UoKSBzaG91bGQgdGhyb3cgYW4gT3V0T2ZNZW1vcnlFcnJvciB3aGVuIHVzaW5n
IHRvbyBtdWNoIG1lbW9yeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MjFmZDU0YzFmMjcxYzc1ZWVjMDAxOWFi
MjUzOGE3ZTgxNjk1YmJhLi44NjQ2NjAzMWM1N2ZkMjAxNTBmYmJhMzVmNDA2ZjhjM2IzMjFjNGIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMTAtMzAgIEZyZWRlcmljIFdhbmcg
IDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAgICAgIFVzZSBIYXJmQnV6eiBvdC1tYXRoIEFQSSB0
byBwYXJzZSB0aGUgT3BlblR5cGUgTUFUSCB0YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBhbHJlYWR5IGNvdmVyZWQgYnkg
ZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9P
cGVuVHlwZU1hdGhEYXRhLmNwcDogQWRkIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIHJlbHlp
bmcgb24KKyAgICAgICAgSGFyZkJ1enoncyBuZXcgT3BlblR5cGUgTUFUSCBBUEkuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6Ok9wZW5UeXBlTWF0aERhdGE6Omhhc01hdGhEYXRhKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok9wZW5UeXBlTWF0aERhdGE6OkhiRm9udERlbGV0ZXI6Om9wZXJhdG9yKCkp
OgorCiAyMDE2LTEwLTI4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIGFkZCBJbnB1dCBFdmVudHMgdG8gdGhlIGZlYXR1cmVzIGxp
c3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAppbmRleCA3NTIzYzFkOTFlNDY4NDQyOTVjZjczYTJiZDAyYjJhYWZjMmY0
ZDc0Li5hMjBlZDgwMzY1ZWQ5YzEzYjE5ZTIwOGQ5ZWQ2ZTBiN2E4NGNjYzBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
LmgKQEAgLTExNDAsNyArMTE0MCw3IEBACiAjZGVmaW5lIEhBVkVfTlNfQUNUSVZJVFkgMQogI2Vu
ZGlmCiAKLSNpZiAoT1MoREFSV0lOKSAmJiBVU0UoQ0cpKSB8fCBVU0UoRlJFRVRZUEUpIHx8IChQ
TEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQorI2lmIChPUyhEQVJXSU4p
ICYmIFVTRShDRykpIHx8IChVU0UoRlJFRVRZUEUpICYmICFQTEFURk9STShHVEspKSB8fCAoUExB
VEZPUk0oV0lOKSAmJiAoVVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKICN1bmRlZiBFTkFCTEVfT1BF
TlRZUEVfTUFUSAogI2RlZmluZSBFTkFCTEVfT1BFTlRZUEVfTUFUSCAxCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
TWF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUv
T3BlblR5cGVNYXRoRGF0YS5jcHAKaW5kZXggZDUzOTY4ODljZmM0ODE5Yjk1NTk5NmYxYmFmMDFm
NmU5MmViYmVlYy4uNDA3MzMyNjMzZjZmOTYyZDJkYWVhY2E1YjM0Y2FiMTZiZjQ4Zjg3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5
cGVNYXRoRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDE0IEZyZWRlcmljIFdhbmcgKGZyZWQud2FuZ0BmcmVlLmZyKS4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNTMsNiArMjU0
LDE1IEBAIE9wZW5UeXBlTWF0aERhdGE6Ok9wZW5UeXBlTWF0aERhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgZm9udCkKICAgICBjb25zdCBPcGVuVHlwZTo6TWF0aFZhcmlhbnRzKiBtYXRoVmFy
aWFudHMgPSBtYXRoLT5tYXRoVmFyaWFudHMoKm1fbWF0aEJ1ZmZlcik7CiAgICAgaWYgKCFtYXRo
VmFyaWFudHMpCiAgICAgICAgIG1fbWF0aEJ1ZmZlciA9IG51bGxwdHI7CisjZWxpZiBVU0UoSEFS
RkJVWlopCitPcGVuVHlwZU1hdGhEYXRhOjpPcGVuVHlwZU1hdGhEYXRhKGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmIGZvbnQpCit7CisgICAgSGFyZkJ1enpGYWNlKiBmYWNlID0gZm9udC5oYXJmQnV6
ekZhY2UoKTsKKyAgICBpZiAoZmFjZSkgeworICAgICAgICBtX21hdGhGb250LnJlc2V0KGZhY2Ut
PmNyZWF0ZUZvbnQoKSk7CisgICAgICAgIGlmICghaGJfb3RfbWF0aF9oYXNfZGF0YShoYl9mb250
X2dldF9mYWNlKG1fbWF0aEZvbnQuZ2V0KCkpKSkKKyAgICAgICAgICAgIG1fbWF0aEZvbnQucmVs
ZWFzZSgpOworICAgIH0KICNlbHNlCiBPcGVuVHlwZU1hdGhEYXRhOjpPcGVuVHlwZU1hdGhEYXRh
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKQogewpAQCAtMjg3LDYgKzI5NywxNCBAQCBmbG9hdCBP
cGVuVHlwZU1hdGhEYXRhOjpnZXRNYXRoQ29uc3RhbnQoY29uc3QgRm9udCYgZm9udCwgTWF0aENv
bnN0YW50IGNvbnN0YW50KQogICAgICAgICByZXR1cm4gdmFsdWUgLyAxMDAuMDsKIAogICAgIHJl
dHVybiB2YWx1ZSAqIGZvbnQuc2l6ZVBlclVuaXQoKTsKKyNlbGlmIFVTRShIQVJGQlVaWikKK2Zs
b2F0IE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhDb25zdGFudChjb25zdCBGb250JiwgTWF0aENv
bnN0YW50IGNvbnN0YW50KSBjb25zdAoreworICAgIGhiX3Bvc2l0aW9uX3QgdmFsdWUgPSBoYl9v
dF9tYXRoX2dldF9jb25zdGFudChtX21hdGhGb250LmdldCgpLCBzdGF0aWNfY2FzdDxoYl9vdF9t
YXRoX2NvbnN0YW50X3Q+KGNvbnN0YW50KSk7CisgICAgaWYgKGNvbnN0YW50ID09IFNjcmlwdFBl
cmNlbnRTY2FsZURvd24gfHwgY29uc3RhbnQgPT0gU2NyaXB0U2NyaXB0UGVyY2VudFNjYWxlRG93
biB8fCBjb25zdGFudCA9PSBSYWRpY2FsRGVncmVlQm90dG9tUmFpc2VQZXJjZW50KQorICAgICAg
ICByZXR1cm4gdmFsdWUgLyAxMDAuMDsKKworICAgIHJldHVybiB2YWx1ZSAvIDY1NTM2LjA7CiAj
ZWxzZQogZmxvYXQgT3BlblR5cGVNYXRoRGF0YTo6Z2V0TWF0aENvbnN0YW50KGNvbnN0IEZvbnQm
LCBNYXRoQ29uc3RhbnQpIGNvbnN0CiB7CkBAIC0zMDksNiArMzI3LDEwIEBAIGZsb2F0IE9wZW5U
eXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJlY3Rpb24oY29uc3QgRm9udCYgZm9udCwgR2x5cGgg
Z2x5cGgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1hdGhJdGFsaWNz
Q29ycmVjdGlvbkluZm8tPmdldEl0YWxpY0NvcnJlY3Rpb24oKm1fbWF0aEJ1ZmZlciwgZ2x5cGgp
ICogZm9udC5zaXplUGVyVW5pdCgpOworI2VsaWYgVVNFKEhBUkZCVVpaKQorZmxvYXQgT3BlblR5
cGVNYXRoRGF0YTo6Z2V0SXRhbGljQ29ycmVjdGlvbihjb25zdCBGb250JiwgR2x5cGggZ2x5cGgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGhiX290X21hdGhfZ2V0X2dseXBoX2l0YWxpY3NfY29ycmVj
dGlvbihtX21hdGhGb250LmdldCgpLCBnbHlwaCkgLyA2NTUzNi4wOwogI2Vsc2UKIGZsb2F0IE9w
ZW5UeXBlTWF0aERhdGE6OmdldEl0YWxpY0NvcnJlY3Rpb24oY29uc3QgRm9udCYsIEdseXBoKSBj
b25zdAogewpAQCAtMzMzLDYgKzM1NSwzOSBAQCB2b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1h
dGhWYXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBpc1ZlcnRpY2FsLCBWZWN0b3I8R2x5cAogCiAg
ICAgbWF0aEdseXBoQ29uc3RydWN0aW9uLT5nZXRTaXplVmFyaWFudHMoKm1fbWF0aEJ1ZmZlciwg
c2l6ZVZhcmlhbnRzKTsKICAgICBtYXRoR2x5cGhDb25zdHJ1Y3Rpb24tPmdldEFzc2VtYmx5UGFy
dHMoKm1fbWF0aEJ1ZmZlciwgYXNzZW1ibHlQYXJ0cyk7CisjZWxpZiBVU0UoSEFSRkJVWlopCit2
b2lkIE9wZW5UeXBlTWF0aERhdGE6OmdldE1hdGhWYXJpYW50cyhHbHlwaCBnbHlwaCwgYm9vbCBp
c1ZlcnRpY2FsLCBWZWN0b3I8R2x5cGg+JiBzaXplVmFyaWFudHMsIFZlY3RvcjxBc3NlbWJseVBh
cnQ+JiBhc3NlbWJseVBhcnRzKSBjb25zdAoreworICAgIGhiX2RpcmVjdGlvbl90IGRpcmVjdGlv
biA9IGlzVmVydGljYWwgPyBIQl9ESVJFQ1RJT05fQlRUIDogSEJfRElSRUNUSU9OX0xUUjsKKwor
ICAgIHNpemVWYXJpYW50cy5jbGVhcigpOworICAgIGhiX290X21hdGhfZ2x5cGhfdmFyaWFudF90
IHZhcmlhbnRzWzEwXTsKKyAgICB1bnNpZ25lZCB2YXJpYW50c1NpemUgPSBXVEZfQVJSQVlfTEVO
R1RIKHZhcmlhbnRzKTsKKyAgICB1bnNpZ25lZCBjb3VudDsKKyAgICB1bnNpZ25lZCBvZmZzZXQg
PSAwOworICAgIGRvIHsKKyAgICAgICAgY291bnQgPSB2YXJpYW50c1NpemU7CisgICAgICAgIGhi
X290X21hdGhfZ2V0X2dseXBoX3ZhcmlhbnRzKG1fbWF0aEZvbnQuZ2V0KCksIGdseXBoLCBkaXJl
Y3Rpb24sIG9mZnNldCwgJmNvdW50LCB2YXJpYW50cyk7CisgICAgICAgIG9mZnNldCArPSBjb3Vu
dDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyBpKyspCisgICAgICAg
ICAgICBzaXplVmFyaWFudHMuYXBwZW5kKHZhcmlhbnRzW2ldLmdseXBoKTsKKyAgICB9IHdoaWxl
IChjb3VudCA9PSB2YXJpYW50c1NpemUpOworCisgICAgYXNzZW1ibHlQYXJ0cy5jbGVhcigpOwor
ICAgIGhiX290X21hdGhfZ2x5cGhfcGFydF90IHBhcnRzWzEwXTsKKyAgICB1bnNpZ25lZCBwYXJ0
c1NpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHBhcnRzKTsKKyAgICBvZmZzZXQgPSAwOworICAgIGRv
IHsKKyAgICAgICAgY291bnQgPSBwYXJ0c1NpemU7CisgICAgICAgIGhiX290X21hdGhfZ2V0X2ds
eXBoX2Fzc2VtYmx5KG1fbWF0aEZvbnQuZ2V0KCksIGdseXBoLCBkaXJlY3Rpb24sIG9mZnNldCwg
JmNvdW50LCBwYXJ0cywgbnVsbHB0cik7CisgICAgICAgIG9mZnNldCArPSBjb3VudDsKKyAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKyAgICAgICAgICAgIEFz
c2VtYmx5UGFydCBhc3NlbWJseVBhcnQ7CisgICAgICAgICAgICBhc3NlbWJseVBhcnQuZ2x5cGgg
PSBwYXJ0c1tpXS5nbHlwaDsKKyAgICAgICAgICAgIGFzc2VtYmx5UGFydC5pc0V4dGVuZGVyID0g
cGFydHNbaV0uZmxhZ3MgJiBIQl9NQVRIX0dMWVBIX1BBUlRfRkxBR19FWFRFTkRFUjsKKyAgICAg
ICAgICAgIGFzc2VtYmx5UGFydHMuYXBwZW5kKGFzc2VtYmx5UGFydCk7CisgICAgICAgIH0KKyAg
ICB9IHdoaWxlIChjb3VudCA9PSBwYXJ0c1NpemUpOwogI2Vsc2UKIHZvaWQgT3BlblR5cGVNYXRo
RGF0YTo6Z2V0TWF0aFZhcmlhbnRzKEdseXBoLCBib29sLCBWZWN0b3I8R2x5cGg+JiwgVmVjdG9y
PEFzc2VtYmx5UGFydD4mKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oCmluZGV4IGZm
YTI4NzY3ZWM5NjQ5YjUxMGNkNTEzYTA5MWQ2YTE1YmRkZTJjNGQuLjk3ZDc1NGQwMmE0MmRlNWUz
MzQ2ZTFkMzBhMzZkNTQ1YWUwNjU0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDE0IEZyZWRlcmljIFdhbmcgKGZyZWQu
d2FuZ0BmcmVlLmZyKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yMywxNCArMjQsMTcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBPcGVuVHlwZU1hdGhEYXRhX2gKLSNkZWZpbmUgT3BlblR5cGVNYXRoRGF0YV9oCisjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgIkdseXBoLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAorI2lmICFFTkFCTEUoT1BFTlRZUEVfTUFUSCkgJiYgVVNFKEhBUkZCVVpaKQorI2luY2x1ZGUg
PGhiLW90Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwpAQCAtNDUsNyArNDksMTMgQEAgcHVibGljOgogICAgIH0KICAgICB+T3BlblR5
cGVNYXRoRGF0YSgpOwogCisjaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCiAgICAgYm9vbCBoYXNN
YXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0aEJ1ZmZlcjsgfQorI2VsaWYgVVNFKEhBUkZC
VVpaKQorICAgIGJvb2wgaGFzTWF0aERhdGEoKSBjb25zdCB7IHJldHVybiBtX21hdGhGb250Lmdl
dCgpOyB9CisjZWxzZQorICAgIGJvb2wgaGFzTWF0aERhdGEoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQorI2VuZGlmCiAKICAgICAvLyBUaGVzZSBjb25zdGFudHMgYXJlIGRlZmluZWQgaW4gdGhl
IE1BVEggdGFibGUuCiAgICAgLy8gVGhlIGltcGxlbWVudGF0aW9uIG9mIE9wZW5UeXBlTWF0aERh
dGE6OmdldE1hdGhDb25zdGFudCBhc3N1bWVzIHRoYXQgdGhleSBjb3JyZXNwb25kIHRvIHRoZSBp
bmRpY2VzIG9mIHRoZSBNYXRoQ29udGFudCB0YWJsZS4KQEAgLTExOSw5ICsxMjksMTggQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IE9wZW5UeXBlTWF0aERhdGEoY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYpOworCisjaWYgRU5BQkxFKE9QRU5UWVBFX01BVEgpCiAgICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gbV9tYXRoQnVmZmVyOworI2VsaWYgVVNFKEhBUkZCVVpaKQorICAgIHN0
cnVjdCBIYkZvbnREZWxldGVyIHsKKyAgICAgICAgdm9pZCBvcGVyYXRvcigpKGhiX2ZvbnRfdCog
Zm9udCkKKyAgICAgICAgeworICAgICAgICAgICAgaGJfZm9udF9kZXN0cm95KGZvbnQpOworICAg
ICAgICB9CisgICAgfTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8aGJfZm9udF90LCBIYkZvbnREZWxl
dGVyPiBtX21hdGhGb250OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBPcGVuVHlwZU1hdGhEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9P
cHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggODY1
NGZhNTE0ODQyNTZjYWMyOWZjZTNlNDI5NjA2YjA3MWI2YjVkYS4uY2I1MDk1Y2JhYjA5NDk0ODY4
NmUwZjUxNjQwMjk4Y2IyNmIzM2JkYyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTU3LDYgKzU3
LDEyIEBAIFdFQktJVF9PUFRJT05fQkVHSU4oKQogCiBzZXQoVVNFX1dPRkYyIE9OKQogCisjIEZv
ciBvbGQgdmVyc2lvbnMgb2YgSGFyZkJ1enogdGhhdCBkbyBub3QgZXhwb3NlIGFuIEFQSSBmb3Ig
dGhlIE9wZW5UeXBlIE1BVEgKKyMgdGFibGUsIHdlIGVuYWJsZSBvdXIgb3duIGNvZGUgdG8gcGFy
c2UgdGhhdCB0YWJsZS4KK2lmICgiJHtQQ19IQVJGQlVaWl9WRVJTSU9OfSIgVkVSU0lPTl9MRVNT
ICIxLjMuMyIpCisgICAgYWRkX2RlZmluaXRpb25zKC1ERU5BQkxFX09QRU5UWVBFX01BVEg9MSkK
K2VuZGlmICgpCisKICMgU2V0IHRoZSBkZWZhdWx0IHZhbHVlIGZvciBFTkFCTEVfR0xFUzIgYXV0
b21hdGljYWxseS4KICMgV2UgYXJlIG5vdCBlbmFibGluZyBvciBkaXNhYmxpbmcgYXV0b21hdGlj
YWxseSBhIGZlYXR1cmUgaGVyZSwgYmVjYXVzZQogIyB0aGUgZmVhdHVyZSBpcyBieSBkZWZhdWx0
IGFsd2F5cyBvbiAoRU5BQkxFX09QRU5HTD1PTikuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWM0ZThhMTlhMDM2MWMxNGMy
NTY0YTg0MzU1NjY1NmY2NWJhMGIxMy4uYzRmY2I5ZmQ3NzAyYzQxYWNkYmM5M2M1NzY1ZWY1ZDc3
Njk1ZmRlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTEwLTMwICBGcmVkZXJpYyBXYW5n
ICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBVc2UgSGFyZkJ1enogb3QtbWF0aCBBUEkg
dG8gcGFyc2UgdGhlIE9wZW5UeXBlIE1BVEggdGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgb25lIHRlc3QgZm9yIGxhcmdlIG9w
ZXJhdG9ycyBkdWUgdG8gc21hbGwgcmVuZGVyaW5nIGNoYW5nZXMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvbWF0aG1sL29wZW50eXBlL29wZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnBuZzoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvbWF0aG1sL29wZW50eXBlL29wZW50eXBlLXN0cmV0Y2h5
LWV4cGVjdGVkLnR4dDoKKwogMjAxNi0xMC0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEJyZWFrcG9pbnRzIG5vdCB3b3Jr
aW5nIGluIHNjcmlwdHMgd2l0aCB1bmljb2RlIGNoYXJhY3RlcnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9tYXRobWwvb3BlbnR5cGUvb3BlbnR5cGUtc3RyZXRjaHktZXhw
ZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL21hdGhtbC9vcGVudHlwZS9vcGVu
dHlwZS1zdHJldGNoeS1leHBlY3RlZC5wbmcKaW5kZXggZjE2NzBjODZmOTc0MjlkZGI0YTIxZTRk
OGQxMzQxN2RhMTIyOGNhMC4uNTM3ODEzYTQyMGQ3MmU2MTUxNTlhNDljNDk0YTdjNzE2MTVlZTNj
OSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDM4NTEKemNtZUh+Y35GeF82dUA1c2Zv
UERVVV9ndGE9cD9xSzAhQVErMVZQa05SSjY1e2RMKXF1STAmQUFOR0omKVU8d3xVCno4M2Q2RXFi
Kmh4MHUpaU0xUD5HZUBoQis4YTV7bz1EMjc3fk54SShgcn5PQjxXQnNlK2V0K3puSj5JX2VfVjsl
OAp6NlIlcGlZfF9OMzY5SGg3KkhAbjMwTy1zQkFoTzlzKUgyeUBHOTZXKWcpVSktXjApWiZ4OSQh
TDBWYyFJJihTWnkKeiFPcD9ZYW8oblJvMU4/IWQ/ZmslSk1vPFpvRVZPLU18ezNVbGwxKCZtd0FF
KWA/NHg+UVVEQi15Z2MzNEw+JXZ6Cnord1luY0hhKCRabkNjd3Y/dzlgZ2p7QFVHZGdyQGdIaCpf
cXh+MjdRQHR8ZWdscnpfdmBeKm1XTz9UPnJXTmtoZgp6YzIwR3NaMXxxeVJDNDJyayoyMyMpWTRu
fU40Tmw/WVMmUTtLPU0pXjBqfXMkVmJTdlU2OGNndWE8Zkx8ZClpITsKemYhbnVqaSs8Nk9fezwr
ZnYqej03RHopLXlnU3Q2aXMkTExmM2htNXZHNkRSRTZxckdpen1wMUo3VmB0QD1lNCRJCnotdUI5
dSlsUldRTk9ELXVRO2pKYVAqWWklT0FIQllRcEx2T0QjNypwMnlnZFQzQzlOZWReQXNUXkREPW0q
OUt+cwp6QWUkTXZLdkpuMVgkY2cqbEZRe2pabU9YXkR9NyprKG1YKHZDTF9aQjJ7eipqX2lNdC1H
TF9RKzU7fGleVX5JfDsKenV0enExMiUjV0hyKnx7V1A1cSl2U0VCKkFuOT83dnlkcV5mciQ3Mm0t
NGF5JVhSdT5WUFI/RG9zbjh4elUwX2x2CnopTm5RdUt0RCh2NkRBTXtfVT81YVRAU0dFWllSeTdZ
WDxELXEzKT9GbH1kZW1MRlRAR0VsPUxzJUd0UUZVUFQ0NAp6RXpBPCVWdi0/d2xlQFZNOGZ1c0Rp
KkQqcFczWl5VcmQ/X2JEKDIpaitgS3VXbmdPQi1IbDQ5eUxTY1IkaCZJKCgKenY3TVpwc0A7SiVv
OGh3JHN+MGwzbEhAcCRNTGFVVil0cVheU0dHSVRKZVE2MnVUZn4jLVp3REsjPy1lTVhxUCt4Cnpu
QCVsUy1lQ0ozQHcyaDlzRz8+am1qTHtYcDsmKVFUe3VgMzhaLVFBeEVHYjA+SDEpSVJJR0pwQSsz
fSpNVn16Kgp6dlJ7Sk5Da3NiJENvRDU2eFJUWmlLQFBJPFdNUH1FdzUmYHB7R15kJU1GN2NzI2FL
WmdoK15LY3F3bWBGJTsxdDEKenk4M0VPanJhNnR6ND1sT21uKGZ9aWdMMkhSaV91WHw5RUMqI2x5
dkA8JDVkcWwyb0hzKUBMez1xYkd1RlNEen1qCnpTa1pBZ0YqaTUmc0wmOCgmc1VoU2F+cCN5SUc7
YD1pMT5FNXgwfHE3dGZAJHpXcStIcl8xWT5qU2pLdGopTXsoIwp6bVo4REghVHkkI1omQGI1aSVq
ODIhVlRnPGMwWWhAdnY/LWhvdTh0bldAbF5UZFVoSnRhO0JNeE8tJjk7NWJ3WnIKekI/cTBTRyMk
aS1HfU9mdXVSR19NUVVDYnlXQSRfYipjQ0w+RT0/MWojSmtNM3Z5VXYlT351QzYpUn1mMVlANEdD
CnpPQUdmP25yPmJAV015az5vM29iK0dQVFZkMzEpIT4pIXQ7bDAkRld1KC1UfEZNPygkZW8lcXQw
cktBPTZUb09FPgp6e25uUVF1ZTxKZj09NjRXYGV9ViR7UUN2KmpfIV8qRCRLPnhAcD8jVyRHUlRS
bzs/IT9xUllqJUN7ND1JcjtVP2cKek1ePnJAeVFIS2ZJXkd6Vjg8SH19Mk19bDM+bVFKTSlvTDky
a25lSG0hQD9YZT0qekZpWVNCdnxaTiFuWk5je3Z5CnomPnxefj8zPiNkUzsyQn5YJkg/SnBoPUtW
RHBmQCg1ZmJjJEpvJHFNNzZfYEo+SzIrek1mRzReUk1rOH5CNk91UQp6YTVhWW12QDQkdUQ4ciMh
VTJscjM8dVI3eTg0JTNhZlJEVFh0MEE1Tjx6RG5sM1djSVJwZXU/NSRzdTxyU1h3ZGwKej92azIl
QDh6Ukg3ZyZPOTFNTHtAJlJ8LVBtaVRMQ0YqeH0qVElxUF4yOUhFbk1VRDwrQXshNmhofVAqSDcj
THtHCnpeJWVZfTMkaTxQaWZjYTtLeVJEX2JleWo2TGl4NTZGVTt3NStyNj94QmRmZjtKa0lrODBF
enhqfERuVTFyMz53JQp6ejh8Y2tQKkZVcHVSSzhuaUtSZnc+JkdeeyVZSFIpM1NKfDBGPmJydyRu
NzZtZk5qfD5SJkxTZDw+a1J7cm9lTCEKekFmSFcyTipheX4hUHMpUistNG1XNWZQeXI9XnR0IUww
WXhKWVlmTVFJQmUoNmc2M2VCWVVyLVlsP1hoKUIxRF4hCnpreF54JjhDY1pTeSROS1RYelJJYjdi
IWFQTjg1eU1eK2Y8OWYkbE4+JGNrI29ldn5QYGhscyN1LStHO1lyQl9LPAp6OFpiakMkSDtweStB
LXwzc2hKbkEqSlJGKEQmWFcjTGhVb3hKQENBc3hXXlNAMG5yJkFCMmhyM3NyOWYkN2ViPTwKemR0
SWUoeHF3K090dSswTDJEY01edUdHJD0yOV5AWi1PJl9pbSNGZSh1ZXdoTlgjeWozSyZTblMralNm
YEs2WmAmCnpGIT8oXlNRZDNoPndfciEhaVVgRF9rViVDMSlHbHd8SUBxblZeclYhbSo4WFF7PlAh
fmI1aylITX5kUnQ4bFdGbApOQExJQ2NHdFl3O2B4bSowbTNST0UKCmxpdGVyYWwgMzgzMwp6Y21l
SH5YOzQjRjZvNXw+ZistUCZpTHk4bUVJT18lUUlNc0I7MVo+QE8wOUo/WUpyQ1ZxJH5vbVolTiF4
aXNIRDgKemZHQmFCIW5oP0FTeE84RSNjQ1p1djVMQFEydWRaUTY0WVFNNTw+NkdMO3JNJncpTE9C
X3Y0KG8lZW0qPWA8LSomCnolVUshVlhLcHNoMztAamlLV0RFM3BpQldFYjcqQUxHSTdHaDhBIX1a
VCpedTBNdWMmcjV8VSFUJVg1QmN4VH45TQp6U2phcTxZaUt4Xkg4O2N+KUdmPzJHPDQocXgkZzdB
c09ndmQmP004MVU7NDNPNz1NcFRPQVoyek9ZPihoVEFnfmQKelMyMV9YKUZpdj9kbzVPOCRxfExL
enQ2QihYai1YKVkyMVlFZy1uTnBvTSs3S3dyNzZ6Kz51QyQmTzJkI0RFaWBzCnppcn1Pd0x3Zk97
dllLbGh1ZD4zQEQleUp1UjlMN3xDZGRIZjVoaGwhYTUrWVQlbH1RT0VmfVB4YHw2Kzg9a200YQp6
REd+Q19mPSQ3NTV5a1k1a1o7aTQ3WT1GTFc5dk9nNU82VFowO1d0QzE4Z01JfDR9Sz15N0AzeEhs
IylLKVJNbDsKenNXVTskRFd+Mk0kcWNYVjMjQnJkSDMjR3kzdSZaTGpvfGpSZGg1TjA3cD1pQWhX
Xi1FVUg0Oz1qUTRDRzEoPkgpCnpsKmZhOEdYQXA/ckJYVGt5dXJvQTVEeC13c0RsYVl7PV5YazEj
PEdKJUsybzg7JSotUllsOEpWakQ4bzNaXmtVSgp6PWJTQ24+b3FxUmBlNiRFeGtqUTs3eEsmMnVo
N2dNaiokayVSPClPeG0tcEQ0IV96UDUkN3NHaGVkekBkT3MlKnEKenVhUVYzSDhuPkRvZEFMJjt1
JEM2RXg8RTVTQXMzQF9BWj9Sb3V5ODUjQT56cmY9SHl8KEx1MHdUe0FtXlgjIVdvCnokTFdYQlBA
RFF5PE9XWH5qT0FKfj94am1ScVROKzApaD9hfCRXNSVgPihXekdTRlF5KXQ5JCZwX1Z4ezNRLUYx
Iwp6YUs+VT43OGttM3R9RnR+SkhnYXc9Q14zJCR+RzwwKXtjMXBuS1omfGJhcVpOR1FURyNuXj47
Pl9TUGA4ZTZ+anEKekoyZ0pPT3RKWngybjF5LSgoQzRwQlNRJlJCVHBhSF9CSiYmZ2AoM2NYa1pp
Sk9sQWElX2lQN3dQbDFDYGBnO3UrCnpnOXZEPGJLJShnV2EyKmhkcXJha3JCYXJyPXt+Kj5mTzkw
eChCPXdxNnZxRG97UGkoTnlHZ1FQIXl4aTMlNytBPAp6KWw2QCh2JEp6JGQjX0hYaX1FcG4mZlV5
UjJmYSRqP35yRHNKUytpbHlvITl3NWMqYCopWWtIYlJII0E4LWRZaFAKekArakpTMC1YPypGPVRi
YCl+JG9NWmkmTHZqQD0zSlNwe3hsTGlYbl82QlpZRCRvUmV3NyRvPz9xbFglR1cySkUkCno8P3wr
eGZtP0poKV5kXj1ObD99bFNORGYyWUJfYnAkdkN3JXlueXgrd14xNHshRnB9Y2tZfGxkJmZeIzk1
PUhUYAp6VzBUZEUwRjBzLWhyMWROVl49MElkK0l0aWhMN0ZmPXh3Umk/T2hEbXdBXlp9SF9NPmNK
JGUqKldEXk9QKlNDPXkKemExVE5kQyZrRVhvQkQwZW9RJituKEFublhZK1NsKkxvPlUyKEBZYntR
YHtmdk5fQkQqSkc7MXkjSm51R2kxeU9YCnotcmdMIXd8eypFc3lhOzMmVlVgZmU2JEJhYlNhamxB
TlY/dTFiJmVAVGEheyFSQkxHQEwwM2gha3NxZXltcTQrZAp6byEjdzs1T0AzVkx7M1VkTl41SXRm
e1k2Q3Z5S3JDWlVgUE9yPHNiQXllREs5Zm1xcUBvSCYjPz9uTjRuV3tFRWkKekZmeGpYJE9fQ3hH
di1jaj98RDF7dH5DPG0tZUBHcUUldUBxNlhMcntnNTFiVGc0YEJ3cWdoaztkTG5fYD54dCFKCno5
PzVaYj54Jld7RT4lfnpaTFllR1hsJEQ8I2Nhb3IxbUNhJUY9XkpJdyExdDAkRXpmMDNfRUV3ZE5l
UGA4QmQ/aQp6I08wUG9jXmM3ITJUe2A5WD88P0l5JF96YnI8dnx6YnpoKElRZCZZWXgpbUlveSFs
VVQwbURZQXBRQ2kwUmN3Q1EKekRDMytEKGc/bTFgVUQwQyVlb2w9Y0AxQHhzTXBue0hJb0slT08j
cyF7ciZ4Rmc9QzJANik+LUhKYzV4RD9ueHRpCnpOR2N1TjVPUFNOLUAjR3ZxI2lVcU9pMTMlUWJH
dzVZa2x+SiUlcjNpLWdKO31YfCYrdj1qUnRTVUJNQkclJDYtMwp6SyN5VCl1dCFKLSk/UWx6N2lA
Sm82fU15NEdJb1M5Ujg3dDtTbj9AZVpZWW5SS2k/dXpATl5JSWNWKEQ+e0JrJH0KelFgVT1feiQh
cjEyeGsjdE9MTjQ+cWNaaWdhcEhsYy0tQCt7ZnYkYl9lMH1gaUteRUNqamlyIT9CUlE5aiZ5SVV5
Cno8en1oSV5NUEFjSnJaSU4tVGEpV19FbHYwPz4yYiojcDt+NnpDUEtvSks2YG9NPkBJe3o7T1B+
QWF1UnU8LWc/JAp6Y35rSjtSY1cmeD92a0JmYk17KEM3dzFXYDxmbVd+YTZXdFEqVSE2cF5SXnJF
TCR9aXdTPUhWJkchOUAlZUJKMloKdjUrQ3xiZUkpNjllP29wRj5TTTtlXiV2JH1LezdPa2Z3OFcr
RWY8Vk96b3A+Nkc9UDAhRn1DZTVpdjJRUwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9tYXRobWwvb3BlbnR5cGUvb3BlbnR5cGUtc3RyZXRjaHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL21hdGhtbC9vcGVudHlwZS9vcGVudHlwZS1zdHJldGNo
eS1leHBlY3RlZC50eHQKaW5kZXggNzNjMDQ3MDQzMGU1NTg4M2E3MzExYjJhZjc3NDhiZTVkNjAy
NTg2Mi4uNTc0M2M2ZTdmYmRmYWFhNzc0ZmI4OWNlYzljMmRjYzljZDMyOTY5ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL21hdGhtbC9vcGVudHlwZS9vcGVudHlwZS1zdHJl
dGNoeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL21hdGhtbC9v
cGVudHlwZS9vcGVudHlwZS1zdHJldGNoeS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw4IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDM0NwotICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MzQ3Ci0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNp
emUgNzg0eDMxNQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzM2CisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzMzYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwx
Nikgc2l6ZSA3ODR4MzA0CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MzQKICAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDAsMjApIHNpemUgMjZ4MTEK
ICAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0ICgwLDApIHNpemUgMjZ4MTEKQEAg
LTM1LDEwICszNSwxMCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNDcKICAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsLTMpIHNpemUgMngwCiAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMjogIlx4ezIxOUZ9IgogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwyMTkpIHNpemUgNzg0eDk2Ci0gICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0
ICgwLDApIHNpemUgOTR4OTMKLSAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0ICgw
LDApIHNpemUgOTR4OTMKLSAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQg
KDAsMCkgc2l6ZSA5NHg5MworICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDIxOSkgc2l6ZSA3
ODR4ODUKKyAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDAsMCkgc2l6ZSA4NHg4
MgorICAgICAgICAgIFJlbmRlck1hdGhNTFJvdyB7bXJvd30gYXQgKDAsMCkgc2l6ZSA4NHg4Mgor
ICAgICAgICAgICAgUmVuZGVyTWF0aE1MT3BlcmF0b3Ige21vfSBhdCAoMCwwKSBzaXplIDg0eDgy
CiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTB4
MTIKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxMHgw
CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0aCAxMDogIlx4ezJBMUJ9
IgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDBjMDcwODk0OWQxYTMx
OGYyNzU2YTA5NmJlNmRmODZmZGFjM2RiMDMuLjdlNWQwZDI3ZWZjM2E3YTBmNjA1MWY4YjU4MmQ1
NmQzYTI4NDY0N2IgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0xMC0zMCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+
CisKKyAgICAgICAgVXNlIEhhcmZCdXp6IG90LW1hdGggQVBJIHRvIHBhcnNlIHRoZSBPcGVuVHlw
ZSBNQVRIIHRhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjI2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBFbmFibGUgaW50ZXJuYWwgT3Bl
blR5cGUgTUFUSCBwYXJzaW5nIGZvciBIYXJmQnV6eiA8IDEuMy4zLgorCiAyMDE2LTEwLTI4ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFr
ZV0gQ2hhbmdpbmcgZW5hYmxlZCBmZWF0dXJlcyBzaG91bGQgdHJpZ2dlciByZWNvbXBpbGluZyBh
bGwgSURMCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>