<?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>106303</bug_id>
          
          <creation_ts>2013-01-07 23:23:23 -0800</creation_ts>
          <short_desc>text-align:justify separate U+3033 from U+3035</short_desc>
          <delta_ts>2023-02-03 05:56:38 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></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>89235</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yuki Sekiguchi">yuki.sekiguchi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kojii</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>802071</commentid>
    <comment_count>0</comment_count>
      <attachid>181652</attachid>
    <who name="Yuki Sekiguchi">yuki.sekiguchi</who>
    <bug_when>2013-01-07 23:23:23 -0800</bug_when>
    <thetext>Created attachment 181652
inseparable.html. Reproduced content for justification.

In the attached inseparable.html, U+3033 should not be separated from U+3035, but it is separated.

This bug is only reproduced on Mac, because other platforms don&apos;t expand between ideographs.

Requirements for Japanese Text Layout say not to separate the characters.
http://www.w3.org/TR/jlreq/#character_sequences_which_do_not_allow_space_insertion_as_part_of_line_adjustment_processing
&gt;  Combinations of character classes which allow spaces to be inserted for line alignment, are described as a complete table in Appendix E Opportunities for Inter-character Space Expansion during Line Adjustment, following 3.9 About Character Classes.

In 3.9 About Character Classes, U+3033 and U+3035 are Inseparable characters (cl-08).
In 4th note in Appendix E.2 Notes:
http://www.w3.org/TR/jlreq/#opportunities_for_intercharacter_space_expansion_during_line_adjustment
&gt; A third order opportunity exists for inter-character space expansion, to take up to a maximum of a quarter em space, with respect to the corresponding character size, between two consecutive inseparable characters (cl-08) which are of different kinds.

Therefore, we should not separate separate U+3033 from U+3035.

Line breaking also is occurred between U+3033 and U+3035.
Please watch inseparable-line-break.html.

Requirements for Japanese Text Layout say not to break line between the characters.
http://www.w3.org/TR/jlreq/#possibilities_for_linebreaking_between_characters
In 5th note in C.2 Notes:
&gt; There is no line break opportunity between following couple of consecutive inseparable characters (cl-08) as follows:
&gt; VERTICAL KANA REPEAT MARK UPPER HALF &quot;〳&quot;, VERTICAL KANA REPEAT MARK LOWER HALF &quot;〵&quot;
&gt; VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF &quot;〴&quot;, VERTICAL KANA REPEAT MARK LOWER HALF &quot;〵&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802073</commentid>
    <comment_count>1</comment_count>
      <attachid>181653</attachid>
    <who name="Yuki Sekiguchi">yuki.sekiguchi</who>
    <bug_when>2013-01-07 23:24:51 -0800</bug_when>
    <thetext>Created attachment 181653
inseparable-line-break.html. Reproduced content for line breaking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802081</commentid>
    <comment_count>2</comment_count>
      <attachid>181657</attachid>
    <who name="Yuki Sekiguchi">yuki.sekiguchi</who>
    <bug_when>2013-01-07 23:44:29 -0800</bug_when>
    <thetext>Created attachment 181657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802272</commentid>
    <comment_count>3</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-01-08 08:40:09 -0800</bug_when>
    <thetext>(1) line break opportunities need to be determined by ICU and not use a hardcoded escape around ICU such as Font::isUnbreakableCharactersPair;

(2) the JLREQ document [1] is not a W3C recommendation; it is a collection of input requirements being considered for preparing normative recommendations, such as CSS3 Text, the current draft of which defines the recommended behavior in [2][3];

(3) the current Unicode Line Break class database marks U+3033 and U+3035 as ID (Ideograph) class, and not IN (Inseperable); in general, ICU and CSS3 Text make normative reference to this database for determining line break classes;

(4) there is already a pending patch in process [5] which will be adding line-break property support according to [3][6][7], so any change for JLREQ related line breaking should be handled as part of [5];

[1] http://www.w3.org/TR/2012/NOTE-jlreq-20120403/
[2] http://dev.w3.org/csswg/css3-text/#line-break-details
[3] http://dev.w3.org/csswg/css3-text/#line-break
[4] http://www.unicode.org/Public/UNIDATA/LineBreak.txt
[5] http://bugs.webkit.org/show_bug.cgi?id=89235 
[6] http://trac.webkit.org/wiki/LineBreaking
[7] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802274</commentid>
    <comment_count>4</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-01-08 08:41:04 -0800</bug_when>
    <thetext>mark as dependent on bug 89235 to resolve line break semantics for japanese</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802942</commentid>
    <comment_count>5</comment_count>
    <who name="Yuki Sekiguchi">yuki.sekiguchi</who>
    <bug_when>2013-01-08 20:14:06 -0800</bug_when>
    <thetext>Thank you, Glenn.
Your advice is very helpful to me.

I will ask CSS guys and Unicode guys to follow JLREQ behavior.

Therefore, I currently remove review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845787</commentid>
    <comment_count>6</comment_count>
    <who name="Koji Ishii">kojii</who>
    <bug_when>2013-03-02 03:03:26 -0800</bug_when>
    <thetext>Unicode 6.3 will fix line break property for U+3035 to CM. It will be propagated when ICU incorporates new data from CLDR.

Please be prepared, ANY * CM will not break, and not to justify between them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1930839</commentid>
    <comment_count>7</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-02-03 05:56:25 -0800</bug_when>
    <thetext>inseparable.html. Reproduced content for justification. &lt;- WebKit Trunk, Chrome Canary 112 and Firefox Nightly 111 match each other.

inseparable-line-break.html. Reproduced content for line breaking. &lt;- WebKit Trunk &amp; Chrome Canary 112 match each other but Firefox Nightly 111 differ in this.

I am not sure on the desired behavior in the last test, so will tag others to comment about whether it is something need to be fixed in WebKit or not. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>181652</attachid>
            <date>2013-01-07 23:23:23 -0800</date>
            <delta_ts>2013-01-07 23:23:23 -0800</delta_ts>
            <desc>inseparable.html. Reproduced content for justification.</desc>
            <filename>inseparable.html</filename>
            <type>text/html</type>
            <size>229</size>
            <attacher name="Yuki Sekiguchi">yuki.sekiguchi</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxib2R5IHN0eWxlPSJmb250LWZhbWlseTogQWhlbTsi
Pg0KPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBib3JkZXI6
IHNvbGlkIDVweCBibHVlOyI+DQomI3gzMDQyOyYjeDMwMzM7JiN4MzAzNTsmI3gzMDQyOw0KYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhDQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4N
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>181653</attachid>
            <date>2013-01-07 23:24:51 -0800</date>
            <delta_ts>2013-01-07 23:24:51 -0800</delta_ts>
            <desc>inseparable-line-break.html. Reproduced content for line breaking.</desc>
            <filename>inseparable-line-break.html</filename>
            <type>text/html</type>
            <size>171</size>
            <attacher name="Yuki Sekiguchi">yuki.sekiguchi</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxib2R5IHN0eWxlPSJmb250LWZhbWlseTogQWhlbTsi
Pg0KPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQph
YWFhYWFhYWFhYSYjeDMwMzM7JiN4MzAzNTthYWENCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181657</attachid>
            <date>2013-01-07 23:44:29 -0800</date>
            <delta_ts>2013-01-08 20:14:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106303-20130108164133.patch</filename>
            <type>text/plain</type>
            <size>21040</size>
            <attacher name="Yuki Sekiguchi">yuki.sekiguchi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE4Yzc3Mzc1NWE0ZjJl
Zjg0ZjRhNTFmNGU4Y2U5ZDY2MGVhZDNjNC4uMjkxYzZjM2ZmMGEyMWQ5NGM4ZDcwOWU0NGEyZTk3
NGZhZmJlMmY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAxLTA3ICBZdWtp
IFNla2lndWNoaSAgPHl1a2kuc2VraWd1Y2hpQGFjY2Vzcy1jb21wYW55LmNvbT4KKworICAgICAg
ICB0ZXh0LWFsaWduOmp1c3RpZnkgc2VwYXJhdGUgVSszMDMzIGZyb20gVSszMDM1CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYzMDMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCBzZXBhcmF0ZSBp
bnNlcGFyYWJsZSBjaGFyYWN0ZXJzLgorCisgICAgICAgIEN1cnJlbnQgV2ViS2l0IGlnbm9yZSBp
bnNlcGFyYWJsZSBjaGFyYWN0ZXJzIHJ1bGUgd2hpY2ggaXMgZGVmaW5lZCBieSBSZXF1aXJlbWVu
dHMgZm9yIEphcGFuZXNlIFRleHQgTGF5b3V0LgorICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9U
Ui9qbHJlcS8jY2hhcmFjdGVyX3NlcXVlbmNlc193aGljaF9kb19ub3RfYWxsb3dfc3BhY2VfaW5z
ZXJ0aW9uX2FzX3BhcnRfb2ZfbGluZV9hZGp1c3RtZW50X3Byb2Nlc3NpbmcKKyAgICAgICAgSW4g
NHRoIG5vdGUgaW4gQXBwZW5kaXggRS4yIE5vdGVzOgorICAgICAgICBodHRwOi8vd3d3LnczLm9y
Zy9UUi9qbHJlcS8jb3Bwb3J0dW5pdGllc19mb3JfaW50ZXJjaGFyYWN0ZXJfc3BhY2VfZXhwYW5z
aW9uX2R1cmluZ19saW5lX2FkanVzdG1lbnQKKworICAgICAgICBXZWJLaXQgYWxzbyBpZ25vcmUg
bGluZSBicmVha2luZyBhYm91dCBpbnNlcGFyYWJsZSBjaGFyYWN0ZXJzLgorICAgICAgICBodHRw
Oi8vd3d3LnczLm9yZy9UUi9qbHJlcS8jcG9zc2liaWxpdGllc19mb3JfbGluZWJyZWFraW5nX2Jl
dHdlZW5fY2hhcmFjdGVycyAoQy4yLTUpCisKKyAgICAgICAgQ2hlY2sgd2hldGhlciBwcmV2aW91
cyBvciBuZXh0IGNoYXJhY3RlciBpcyBpbnNlcGFyYWJsZSB3aGVuIHdlIGNvdW50IGV4cGFuc2lv
biBvcHBvcnR1bml0eSBhbmQgYnJlYWsgbGluZS4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2luc2VwYXJhYmxlLWNoYXJhY3RlcnMtcnVsZS1qdXN0aWZpY2F0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvdGV4dC9pbnNlcGFyYWJsZS1jaGFyYWN0ZXJzLXJ1bGUtbGluZS1icmVhay5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmlzVW5icmVha2FibGVDaGFyYWN0ZXJzUGFpcik6IEFkZCBtZXRob2QgdG8g
Y2hlY2sgdGhlIGNoYXJhY3RlciBwYWlyIGlzIHVuYnJlYWthYmxlLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KTog
Q2hlY2sgaW5zZXBhcmFibGUgY2hhcmFjdGVycyB3aGVuIGNvdW50aW5nIGV4cGFuc2lvbiBvcHBv
cnR1bml0eS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgIChG
b250KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbCk6CisgICAgICAg
ICAtIFdlIHdhbnQgbmV4dCBjaGFyYWN0ZXIgYmVjYXVzZSB3ZSBtdXN0IGNoZWNrIGN1cnJlbnQg
Y2hhcmFjdGVyIGFuZCBuZXh0IGNoYXJhY3RlciBhcmUgdW5icmVha2FibGUuCisgICAgICAgICAg
IFRoZXJlZm9yZSwgd2UgYWR2YW5jZSBpdGVyYXRvciBhdCB0aGUgZmlyc3QgcGFydCBvZiB0aGUg
bG9vcCB0byBnZXQgbmV4dCBjaGFyYWN0ZXIuCisgICAgICAgICogcmVuZGVyaW5nL2JyZWFrX2xp
bmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5leHRCcmVha2FibGVQb3NpdGlvbik6CisgICAg
ICAgICAtIElmIGxhc3QgY2hhcmFjdGVyIGFuZCBjdXJyZW50IGNoYXJhY3RlciBhcmUgdW5icmVh
a2FibGUsIHdlIGNhbm5vdCBtYWtlIHRoZW0gYnJlYWthYmxlIHBvc2l0aW9uLgorCiAyMDEzLTAx
LTA3ICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgW0VGTF1bV2ViR0xdIENyYXNoIG9mIFdlYktpdFRlc3RSdW5uZXIgd2hlbiBydW5u
aW5nIHdlYmdsIGxheW91dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250LmNwcAppbmRleCA3YjczZTJjNTQzMzE2NWQ4ZmEyY2MzODI2OGYwMGQ4M2I3ZjgxZjc3Li5m
NDM5MTFiOTdiOWUxNThiYzZmMGIwZmEzMjZmNGFhMWRiNTFlYTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcApAQCAtNTE1LDYgKzUxNSwyOCBAQCBGb250OjpD
b2RlUGF0aCBGb250OjpjaGFyYWN0ZXJSYW5nZUNvZGVQYXRoKGNvbnN0IFVDaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBsZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK2Jvb2wgRm9udDo6aXNV
bmJyZWFrYWJsZUNoYXJhY3RlcnNQYWlyKFVDaGFyMzIgY3VycmVudCwgVUNoYXIzMiBuZXh0KQor
eworICAgIHN3aXRjaCAoY3VycmVudCkgeworICAgIC8vIFJlcXVpcmVtZW50cyBmb3IgSmFwYW5l
c2UgVGV4dCBMYXlvdXQKKyAgICAvLyAzLjEuMTAgVW5icmVha2FibGUgQ2hhcmFjdGVyIFNlcXVl
bmNlcworICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTIvTk9URS1qbHJlcS0yMDEyMDQw
My8jdW5icmVha2FibGVfY2hhcmFjdGVyX3NlcXVlbmNlcworICAgIC8vIExFQURFUlMKKyAgICBj
YXNlIDB4MjAyNjogLy8gSE9SSVpPTlRBTCBFTExJUFNJUyAKKyAgICBjYXNlIDB4MjAyNTogLy8g
VFdPIERPVCBMRUFERVIKKyAgICAvLyBEQVNIRVMKKyAgICBjYXNlIDB4MjAxNDogLy8gRU0gREFT
SAorICAgIGNhc2UgMHgyMDE1OiAvLyBIT1JJWk9OVEFMIEJBUgorICAgICAgICByZXR1cm4gY3Vy
cmVudCA9PSBuZXh0OworICAgIC8vIFZFUlRJQ0FMIEtBTkEgUkVQRUFUIE1BUktTCisgICAgY2Fz
ZSAweDMwMzM6IC8vIFZFUlRJQ0FMIEtBTkEgUkVQRUFUIE1BUksgVVBQRVIgSEFMRgorICAgIGNh
c2UgMHgzMDM0OiAvLyBWRVJUSUNBTCBLQU5BIFJFUEVBVCBXSVRIIFZPSUNFRCBTT1VORCBNQVJL
IFVQUEVSIEhBTEYKKyAgICAgICAgaWYgKG5leHQgPT0gMHgzMDM1KSAvLyBWRVJUSUNBTCBLQU5B
IFJFUEVBVCBNQVJLIExPV0VSIEhBTEYKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICByZXR1cm4gZmFsc2U7Cit9CisgICAgCiBib29sIEZvbnQ6OmlzQ0pLSWRlb2dyYXBoKFVD
aGFyMzIgYykKIHsKICAgICAvLyBUaGUgYmFzaWMgQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyBibG9j
ay4KQEAgLTc0NSwxMCArNzY3LDEyIEBAIHVuc2lnbmVkIEZvbnQ6OmV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgsCiAgICAgc3Rh
dGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IGNhbkV4cGFuZEFyb3VuZElkZW9ncmFw
aHNJbkNvbXBsZXhUZXh0KCk7CiAgICAgdW5zaWduZWQgY291bnQgPSAwOwogICAgIGlmIChkaXJl
Y3Rpb24gPT0gTFRSKSB7CisgICAgICAgIFVDaGFyMzIgcHJldiA9IDA7CiAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIFVDaGFyMzIgY2hh
cmFjdGVyID0gY2hhcmFjdGVyc1tpXTsKICAgICAgICAgICAgIGlmICh0cmVhdEFzU3BhY2UoY2hh
cmFjdGVyKSkgewogICAgICAgICAgICAgICAgIGNvdW50Kys7CisgICAgICAgICAgICAgICAgcHJl
diA9IGNoYXJhY3RlcjsKICAgICAgICAgICAgICAgICBpc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KQEAgLTc1NiwyMCArNzgw
LDMzIEBAIHVuc2lnbmVkIEZvbnQ6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQoY29uc3QgVUNo
YXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgY2hhcmFjdGVy
ID0gVTE2X0dFVF9TVVBQTEVNRU5UQVJZKGNoYXJhY3RlciwgY2hhcmFjdGVyc1tpICsgMV0pOwog
ICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc2l6ZV90
IGogPSBpICsgMTsKKyAgICAgICAgICAgIFVDaGFyMzIgbmV4dCA9IGogPCBsZW5ndGggPyBjaGFy
YWN0ZXJzW2pdIDogMDsKKyAgICAgICAgICAgIGlmIChVMTZfSVNfTEVBRChuZXh0KSAmJiBqICsg
MSA8IGxlbmd0aCAmJiBVMTZfSVNfVFJBSUwoY2hhcmFjdGVyc1tqICsgMV0pKQorICAgICAgICAg
ICAgICAgIG5leHQgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkobmV4dCwgY2hhcmFjdGVyc1tqICsg
MV0pOwogICAgICAgICAgICAgaWYgKGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgaXNDSktJZGVv
Z3JhcGhPclN5bWJvbChjaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc0FmdGVy
RXhwYW5zaW9uKQorICAgICAgICAgICAgICAgIGlmICghaXNBZnRlckV4cGFuc2lvbiAmJiAhaXNV
bmJyZWFrYWJsZUNoYXJhY3RlcnNQYWlyKHByZXYsIGNoYXJhY3RlcikpCiAgICAgICAgICAgICAg
ICAgICAgIGNvdW50Kys7Ci0gICAgICAgICAgICAgICAgY291bnQrKzsKLSAgICAgICAgICAgICAg
ICBpc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgIGlmICghaXNVbmJy
ZWFrYWJsZUNoYXJhY3RlcnNQYWlyKGNoYXJhY3RlciwgbmV4dCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgY291bnQrKzsKKyAgICAgICAgICAgICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9IHRy
dWU7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIGlzQWZ0ZXJF
eHBhbnNpb24gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcmV2ID0gY2hhcmFjdGVyOwogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJldiA9
IGNoYXJhY3RlcjsKICAgICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAg
ICAgfQogICAgIH0gZWxzZSB7CisgICAgICAgIFVDaGFyMzIgbmV4dCA9IDA7CiAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSBsZW5ndGg7IGkgPiAwOyAtLWkpIHsKICAgICAgICAgICAgIFVDaGFyMzIg
Y2hhcmFjdGVyID0gY2hhcmFjdGVyc1tpIC0gMV07CiAgICAgICAgICAgICBpZiAodHJlYXRBc1Nw
YWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgICAgICBjb3VudCsrOworICAgICAgICAgICAg
ICAgIG5leHQgPSBjaGFyYWN0ZXI7CiAgICAgICAgICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9
IHRydWU7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CkBAIC03Nzcs
MTMgKzgxNCwyMyBAQCB1bnNpZ25lZCBGb250OjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KGNv
bnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoLAogICAgICAgICAgICAgICAgIGNo
YXJhY3RlciA9IFUxNl9HRVRfU1VQUExFTUVOVEFSWShjaGFyYWN0ZXJzW2kgLSAyXSwgY2hhcmFj
dGVyKTsKICAgICAgICAgICAgICAgICBpLS07CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBz
aXplX3QgaiA9IGkgLSAxOworICAgICAgICAgICAgVUNoYXIzMiBwcmV2ID0gaiA+IDEgPyBjaGFy
YWN0ZXJzW2ogLSAxXSA6IDA7CisgICAgICAgICAgICBpZiAocHJldiAmJiBVMTZfSVNfVFJBSUwo
cHJldikgJiYgVTE2X0lTX0xFQUQoY2hhcmFjdGVyc1tqIC0gMl0pKQorICAgICAgICAgICAgICAg
IHByZXYgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkoY2hhcmFjdGVyc1tqIC0gMl0sIHByZXYpOwog
ICAgICAgICAgICAgaWYgKGV4cGFuZEFyb3VuZElkZW9ncmFwaHMgJiYgaXNDSktJZGVvZ3JhcGhP
clN5bWJvbChjaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc0FmdGVyRXhwYW5z
aW9uKQorICAgICAgICAgICAgICAgIGlmICghaXNBZnRlckV4cGFuc2lvbiAmJiAhaXNVbmJyZWFr
YWJsZUNoYXJhY3RlcnNQYWlyKHByZXYsIGNoYXJhY3RlcikpCiAgICAgICAgICAgICAgICAgICAg
IGNvdW50Kys7Ci0gICAgICAgICAgICAgICAgY291bnQrKzsKLSAgICAgICAgICAgICAgICBpc0Fm
dGVyRXhwYW5zaW9uID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgIGlmICghaXNVbmJyZWFrYWJs
ZUNoYXJhY3RlcnNQYWlyKGNoYXJhY3RlciwgbmV4dCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Y291bnQrKzsKKyAgICAgICAgICAgICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBuZXh0ID0gY2hhcmFjdGVyOwogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgbmV4dCA9IGNoYXJh
Y3RlcjsKICAgICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgfQog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCBlMzZmOTk0
N2M0M2RjNWY0ZWY0ODAxN2E3ZGNkMzAwYjI0ZmM5OWM5Li44OWVjZmU1ZTJmMzQ4NzhkZTc1ZDFj
ZWQwYjMzMDEwMzZkMmI1ZTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5oCkBAIC0xNjQsNiArMTY0LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzQ0pLSWRl
b2dyYXBoKFVDaGFyMzIpOwogICAgIHN0YXRpYyBib29sIGlzQ0pLSWRlb2dyYXBoT3JTeW1ib2wo
VUNoYXIzMik7CiAKKyAgICBzdGF0aWMgYm9vbCBpc1VuYnJlYWthYmxlQ2hhcmFjdGVyc1BhaXIo
VUNoYXIzMiwgVUNoYXIzMik7CisKICAgICBzdGF0aWMgdW5zaWduZWQgZXhwYW5zaW9uT3Bwb3J0
dW5pdHlDb3VudChjb25zdCBMQ2hhciosIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rpb24sIGJv
b2wmIGlzQWZ0ZXJFeHBhbnNpb24pOwogICAgIHN0YXRpYyB1bnNpZ25lZCBleHBhbnNpb25PcHBv
cnR1bml0eUNvdW50KGNvbnN0IFVDaGFyKiwgc2l6ZV90IGxlbmd0aCwgVGV4dERpcmVjdGlvbiwg
Ym9vbCYgaXNBZnRlckV4cGFuc2lvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggMDI3YmZlNjJkMGUyMDEyMDQ4YmZh
MmFmNWM0MzIyYTc5MmI0YmVlMi4uMjMwNDExNTZhYzFlYTYzNTAyYjI5NzM2Yzk5MGUwOWY3ZDIz
MTcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJ
dGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJ
dGVyYXRvci5jcHAKQEAgLTE1NywxNyArMTU3LDI2IEBAIGlubGluZSB1bnNpZ25lZCBXaWR0aEl0
ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBo
CiAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIGxhc3RGb250RGF0YSA9IHByaW1hcnlGb250Owog
ICAgIGludCBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXItPnNpemUo
KSA6IDA7CiAKKyAgICBVQ2hhcjMyIHByZXYgPSAwOwogICAgIFVDaGFyMzIgY2hhcmFjdGVyID0g
MDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKICAgICBDaGFyYWN0ZXJzVHJlYXRl
ZEFzU3BhY2UgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwogICAgIHdoaWxlICh0ZXh0SXRlcmF0
b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7CiAgICAgICAgIHVuc2lnbmVk
IGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwotICAgICAgICBjb25zdCBHbHlwaERhdGEm
IGdseXBoRGF0YSA9IGdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCwgdGV4dEl0
ZXJhdG9yLmN1cnJlbnRDaGFyYWN0ZXIoKSwgYWR2YW5jZUxlbmd0aCk7CisgICAgICAgIGludCBj
dXJyZW50Q2hhcmFjdGVyT2Zmc2V0ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRDaGFyYWN0ZXIoKTsK
KyAgICAgICAgY29uc3QgR2x5cGhEYXRhJiBnbHlwaERhdGEgPSBnbHlwaERhdGFGb3JDaGFyYWN0
ZXIoY2hhcmFjdGVyLCBydGwsIGN1cnJlbnRDaGFyYWN0ZXJPZmZzZXQsIGFkdmFuY2VMZW5ndGgp
OwogICAgICAgICBHbHlwaCBnbHlwaCA9IGdseXBoRGF0YS5nbHlwaDsKICAgICAgICAgY29uc3Qg
U2ltcGxlRm9udERhdGEqIGZvbnREYXRhID0gZ2x5cGhEYXRhLmZvbnREYXRhOwogCiAgICAgICAg
IEFTU0VSVChmb250RGF0YSk7CiAKKyAgICAgICAgVUNoYXIzMiBuZXh0ID0gMDsKKyAgICAgICAg
dW5zaWduZWQgbmV4dENsdXN0ZXJMZW5ndGggPSAwOworCisgICAgICAgIC8vIEFkdmFuY2UgcGFz
dCB0aGUgY2hhcmFjdGVyIHdlIGp1c3QgZGVhbHQgd2l0aC4KKyAgICAgICAgdGV4dEl0ZXJhdG9y
LmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7ICAgIAorICAgICAgICB0ZXh0SXRlcmF0b3IuY29uc3Vt
ZShuZXh0LCBuZXh0Q2x1c3Rlckxlbmd0aCk7CisKICAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2
ZSBhIGdseXBoIGFuZCBmb250IGRhdGEsIGdldCBpdHMgd2lkdGguCiAgICAgICAgIGZsb2F0IHdp
ZHRoOwogICAgICAgICBpZiAoY2hhcmFjdGVyID09ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkp
CkBAIC0yMTcsNyArMjI2LDcgQEAgaW5saW5lIHVuc2lnbmVkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGgKICAgICAgICAgICAg
ICAgICAvLyBEaXN0cmlidXRlIHRoZSBydW4ncyB0b3RhbCBleHBhbnNpb24gZXZlbmx5IG92ZXIg
YWxsIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVzIGluIHRoZSBydW4uCiAgICAgICAgICAgICAgICAg
aWYgKG1fZXhwYW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHByZXZpb3VzRXhw
YW5zaW9uID0gbV9leHBhbnNpb247Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1Nw
YWNlICYmICFtX2lzQWZ0ZXJFeHBhbnNpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCF0
cmVhdEFzU3BhY2UgJiYgIW1faXNBZnRlckV4cGFuc2lvbiAmJiAhRm9udDo6aXNVbmJyZWFrYWJs
ZUNoYXJhY3RlcnNQYWlyKHByZXYsIGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIFRha2UgdGhlIGV4cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3Jh
cGguCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBl
ck9wcG9ydHVuaXR5OwogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uQXRU
aGlzT3Bwb3J0dW5pdHkgPSAhbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSA/IG1fZXhwYW5zaW9u
UGVyT3Bwb3J0dW5pdHkgOiByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhw
YW5zaW9uKTsKQEAgLTIzMywxOCArMjQyLDIxIEBAIGlubGluZSB1bnNpZ25lZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoCiAg
ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91
c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChtX3J1bi5hbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIHx8IChtX3J1
bi5sdHIoKSAmJiB0ZXh0SXRlcmF0b3IuY3VycmVudENoYXJhY3RlcigpICsgYWR2YW5jZUxlbmd0
aCA8IHN0YXRpY19jYXN0PHNpemVfdD4obV9ydW4ubGVuZ3RoKCkpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgfHwgKG1fcnVuLnJ0bCgpICYmIHRleHRJdGVyYXRvci5jdXJyZW50Q2hhcmFjdGVy
KCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lv
blBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gIW1fcnVu
LmFwcGx5V29yZFJvdW5kaW5nKCkgPyBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5IDogcm91bmRm
KHByZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICBpZiAobV9ydW4uYWxsb3dzVHJhaWxpbmdFeHBhbnNpb24oKSB8fCAobV9ydW4ubHRyKCkgJiYg
Y3VycmVudENoYXJhY3Rlck9mZnNldCArIGFkdmFuY2VMZW5ndGggPCBzdGF0aWNfY2FzdDxzaXpl
X3Q+KG1fcnVuLmxlbmd0aCgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IChtX3J1bi5y
dGwoKSAmJiBjdXJyZW50Q2hhcmFjdGVyT2Zmc2V0KSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCFGb250Ojppc1VuYnJlYWthYmxlQ2hhcmFjdGVyc1BhaXIoY2hhcmFjdGVyLCBuZXh0
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0g
IW1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgPyBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5IDog
cm91bmRmKHByZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faXNB
ZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZh
bHNlOwogCiAgICAgICAgICAgICAgICAgLy8gQWNjb3VudCBmb3Igd29yZCBzcGFjaW5nLgogICAg
ICAgICAgICAgICAgIC8vIFdlIGFwcGx5IGFkZGl0aW9uYWwgc3BhY2UgYmV0d2VlbiAid29yZHMi
IGJ5IGFkZGluZyB3aWR0aCB0byB0aGUgc3BhY2UgY2hhcmFjdGVyLgotICAgICAgICAgICAgICAg
IGlmICh0cmVhdEFzU3BhY2UgJiYgKGNoYXJhY3RlciAhPSAnXHQnIHx8ICFtX3J1bi5hbGxvd1Rh
YnMoKSkgJiYgKHRleHRJdGVyYXRvci5jdXJyZW50Q2hhcmFjdGVyKCkgfHwgY2hhcmFjdGVyID09
IG5vQnJlYWtTcGFjZSkgJiYgbV9mb250LT53b3JkU3BhY2luZygpKQorICAgICAgICAgICAgICAg
IGlmICh0cmVhdEFzU3BhY2UgJiYgKGNoYXJhY3RlciAhPSAnXHQnIHx8ICFtX3J1bi5hbGxvd1Rh
YnMoKSkgJiYgKGN1cnJlbnRDaGFyYWN0ZXJPZmZzZXQgfHwgY2hhcmFjdGVyID09IG5vQnJlYWtT
cGFjZSkgJiYgbV9mb250LT53b3JkU3BhY2luZygpKQogICAgICAgICAgICAgICAgICAgICB3aWR0
aCArPSBtX2ZvbnQtPndvcmRTcGFjaW5nKCk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTI1NiwxNiArMjY4LDEzIEBA
IGlubGluZSB1bnNpZ25lZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJh
dG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoCiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBo
Qm91bmRzKSB7CiAgICAgICAgICAgICBib3VuZHMgPSBmb250RGF0YS0+Ym91bmRzRm9yR2x5cGgo
Z2x5cGgpOwotICAgICAgICAgICAgaWYgKCF0ZXh0SXRlcmF0b3IuY3VycmVudENoYXJhY3Rlcigp
KQorICAgICAgICAgICAgaWYgKCFjdXJyZW50Q2hhcmFjdGVyT2Zmc2V0KQogICAgICAgICAgICAg
ICAgIG1fZmlyc3RHbHlwaE92ZXJmbG93ID0gbWF4PGZsb2F0PigwLCAtYm91bmRzLngoKSk7CiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMgJiYgIUZvbnQ6OmNhblJl
Y2VpdmVUZXh0RW1waGFzaXMoY2hhcmFjdGVyKSkKICAgICAgICAgICAgIGdseXBoID0gMDsKIAot
ICAgICAgICAvLyBBZHZhbmNlIHBhc3QgdGhlIGNoYXJhY3RlciB3ZSBqdXN0IGRlYWx0IHdpdGgu
Ci0gICAgICAgIHRleHRJdGVyYXRvci5hZHZhbmNlKGFkdmFuY2VMZW5ndGgpOwotCiAgICAgICAg
IGZsb2F0IG9sZFdpZHRoID0gd2lkdGg7CiAKICAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0
aGF0IGFyZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGlu
ZyBoYWNrCkBAIC0yOTQsNiArMzAzLDggQEAgaW5saW5lIHVuc2lnbmVkIFdpZHRoSXRlcmF0b3I6
OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGgKICAgICAg
ICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICs9IHdpZHRoOwogICAgICAgICB9CiAK
KyAgICAgICAgcHJldiA9IGNoYXJhY3RlcjsKKwogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCiAg
ICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdp
ZHRoICsgbGFzdFJvdW5kaW5nV2lkdGggOiB3aWR0aCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvYnJlYWtfbGluZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL2JyZWFrX2xpbmVzLmNwcAppbmRleCAxMGY4YjJiZTI5OGVlZmRjMTRiMGY4MTI4OGY1NWQ3
YzViZjg3MTFjLi4xMGRhYTc2NGMxYjdjODU3MDY5ZTg5MGYzY2MxMTljOTQ5NTI3ZTVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvYnJlYWtfbGluZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9icmVha19saW5lcy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJicmVha19saW5lcy5oIgogCisjaW5jbHVk
ZSAiRm9udC5oIgogI2luY2x1ZGUgIlRleHRCcmVha0l0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8d3Rm
L0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0xNjcsNyAr
MTY4LDggQEAgc3RhdGljIGlubGluZSBpbnQgbmV4dEJyZWFrYWJsZVBvc2l0aW9uKExhenlMaW5l
QnJlYWtJdGVyYXRvciYgbGF6eUJyZWFrSXRlcmF0b3IKICAgICAgICAgICAgICAgICBpZiAoYnJl
YWtJdGVyYXRvcikKICAgICAgICAgICAgICAgICAgICAgbmV4dEJyZWFrID0gdGV4dEJyZWFrRm9s
bG93aW5nKGJyZWFrSXRlcmF0b3IsIGkgLSAxKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmIChpID09IG5leHRCcmVhayAmJiAhaXNCcmVha2FibGVTcGFjZTx0cmVhdE5vQnJlYWtTcGFj
ZUFzQnJlYWs+KGxhc3RDaCkpCisgICAgICAgICAgICBpZiAoaSA9PSBuZXh0QnJlYWsgJiYgIWlz
QnJlYWthYmxlU3BhY2U8dHJlYXROb0JyZWFrU3BhY2VBc0JyZWFrPihsYXN0Q2gpCisgICAgICAg
ICAgICAgICAgJiYgIUZvbnQ6OmlzVW5icmVha2FibGVDaGFyYWN0ZXJzUGFpcihsYXN0Q2gsIGNo
KSkKICAgICAgICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjdhNzg2
MjNhNjhlODgxMzQzYzk1ZmIzNThhNTk5MmVhNTZmNWQ2Ny4uNjAyMGQ2NjIzZDIxNTNjYmNiZjlm
MGNlNDI1OGUyNjRkYjBiNjExZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTA3ICBZ
dWtpIFNla2lndWNoaSAgPHl1a2kuc2VraWd1Y2hpQGFjY2Vzcy1jb21wYW55LmNvbT4KKworICAg
ICAgICB0ZXh0LWFsaWduOmp1c3RpZnkgc2VwYXJhdGUgVSszMDMzIGZyb20gVSszMDM1CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYzMDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRoYXQgdGhl
cmUgaXMgbm8gZXhwYW5zaW9uIG9wcG9ydHVuaXR5IGFuZCBicmVha2FibGUgcG9zaXRpb24gYmV0
d2VlbiBpbnNlcGFyYWJsZSBjaGFyYWN0ZXJzLgorCisgICAgICAgICogZmFzdC90ZXh0L2luc2Vw
YXJhYmxlLWNoYXJhY3RlcnMtcnVsZS1qdXN0aWZpY2F0aW9uLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC9pbnNlcGFyYWJsZS1jaGFyYWN0ZXJzLXJ1bGUtanVzdGlm
aWNhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvaW5zZXBhcmFibGUtY2hh
cmFjdGVycy1ydWxlLWxpbmUtYnJlYWstZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0L2luc2VwYXJhYmxlLWNoYXJhY3RlcnMtcnVsZS1saW5lLWJyZWFrLmh0bWw6IEFk
ZGVkLgorCiAyMDEzLTAxLTA3ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBEb2N1bWVudDo6bV9hY3RpdmVOb2RlIHNob3VsZCBiZSBhbHdheXMgYW4gRWxl
bWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnNlcGFyYWJsZS1jaGFy
YWN0ZXJzLXJ1bGUtanVzdGlmaWNhdGlvbi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2luc2VwYXJhYmxlLWNoYXJhY3RlcnMtcnVsZS1qdXN0aWZpY2F0aW9uLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDhiOGIyZTA2Njg5YjFmZjRjOTY2MzE0YzljZTI5NDYwODIxNzdh
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnNlcGFyYWJsZS1j
aGFyYWN0ZXJzLXJ1bGUtanVzdGlmaWNhdGlvbi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzQg
QEAKKzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKzxib2R5IHN0eWxlPSJmb250LWZhbWlseTog
QWhlbTsiPg0KKzwhLS0gVGhlcmUgc2hvdWxkIGJlIG5vIHNwYWNlIGJldHdlZW4gdGhlc2Ugc3lt
Ym9scy4gLS0+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyB0ZXh0LWFsaWduOiBqdXN0aWZ5
OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQorJiN4MzA0Mjs8c3BhbiBzdHlsZT0iZGlzcGxh
eTppbmxpbmUtYmxvY2siPiYjeDIwMjY7JiN4MjAyNjs8L3NwYW4+JiN4MzA0MjsNCithYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWENCis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDog
MjAwcHg7IHRleHQtYWxpZ246IGp1c3RpZnk7IGJvcmRlcjogc29saWQgNXB4IGJsdWU7Ij4NCism
I3gzMDQyOzxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jayI+JiN4MjAyNTsmI3gyMDI1
Ozwvc3Bhbj4mI3gzMDQyOw0KK2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ0KKzwv
ZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgdGV4dC1hbGlnbjoganVzdGlmeTsgYm9y
ZGVyOiBzb2xpZCA1cHggYmx1ZTsiPg0KKyYjeDMwNDI7PHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5s
aW5lLWJsb2NrIj4mI3gyMDE0OyYjeDIwMTQ7PC9zcGFuPiYjeDMwNDI7DQorYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhDQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4
OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQorJiN4MzA0
Mjs8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2siPiYjeDIwMTU7JiN4MjAxNTs8L3Nw
YW4+JiN4MzA0MjsNCithYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWENCis8L2Rpdj4N
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IHRleHQtYWxpZ246IGp1c3RpZnk7IGJvcmRlcjog
c29saWQgNXB4IGJsdWU7Ij4NCismI3gzMDQyOzxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1i
bG9jayI+JiN4MjAxNTsmI3gyMDE1Ozwvc3Bhbj4mI3gzMDQyOw0KK2FhYWFhYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYQ0KKzwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgdGV4
dC1hbGlnbjoganVzdGlmeTsgYm9yZGVyOiBzb2xpZCA1cHggYmx1ZTsiPg0KKyYjeDMwNDI7PHNw
YW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrIj4mI3gzMDMzOyYjeDMwMzU7PC9zcGFuPiYj
eDMwNDI7DQorYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhDQorPC9kaXY+DQorPGRp
diBzdHlsZT0id2lkdGg6IDIwMHB4OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBib3JkZXI6IHNvbGlk
IDVweCBibHVlOyI+DQorJiN4MzA0Mjs8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2si
PiYjeDMwMzQ7JiN4MzAzNTs8L3NwYW4+JiN4MzA0MjsNCithYWFhYWFhYWFhYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWENCis8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9pbnNlcGFyYWJsZS1jaGFyYWN0ZXJzLXJ1bGUtanVzdGlmaWNh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2luc2VwYXJhYmxlLWNoYXJhY3RlcnMt
cnVsZS1qdXN0aWZpY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkwMWZkYjU0ZjA3MTgxNmE2NTE2
YTQ1ZTAwODc3YjMxMjhjNTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9pbnNlcGFyYWJsZS1jaGFyYWN0ZXJzLXJ1bGUtanVzdGlmaWNhdGlvbi5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKzxib2R5IHN0eWxlPSJmb250
LWZhbWlseTogQWhlbTsiPg0KKzwhLS0gVGhlcmUgc2hvdWxkIGJlIG5vIHNwYWNlIGJldHdlZW4g
dGhlc2Ugc3ltYm9scy4gLS0+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyB0ZXh0LWFsaWdu
OiBqdXN0aWZ5OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQorJiN4MzA0MjsmI3gyMDI2OyYj
eDIwMjY7JiN4MzA0MjsNCithYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWENCis8L2Rp
dj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IHRleHQtYWxpZ246IGp1c3RpZnk7IGJvcmRl
cjogc29saWQgNXB4IGJsdWU7Ij4NCismI3gzMDQyOyYjeDIwMjU7JiN4MjAyNTsmI3gzMDQyOw0K
K2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ0KKzwvZGl2Pg0KKzxkaXYgc3R5bGU9
IndpZHRoOiAyMDBweDsgdGV4dC1hbGlnbjoganVzdGlmeTsgYm9yZGVyOiBzb2xpZCA1cHggYmx1
ZTsiPg0KKyYjeDMwNDI7JiN4MjAxNDsmI3gyMDE0OyYjeDMwNDI7DQorYWFhYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYWFhDQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyB0
ZXh0LWFsaWduOiBqdXN0aWZ5OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQorJiN4MzA0Mjsm
I3gyMDE1OyYjeDIwMTU7JiN4MzA0MjsNCithYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
YWENCis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IHRleHQtYWxpZ246IGp1c3Rp
Znk7IGJvcmRlcjogc29saWQgNXB4IGJsdWU7Ij4NCismI3gzMDQyOyYjeDIwMTU7JiN4MjAxNTsm
I3gzMDQyOw0KK2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ0KKzwvZGl2Pg0KKzxk
aXYgc3R5bGU9IndpZHRoOiAyMDBweDsgdGV4dC1hbGlnbjoganVzdGlmeTsgYm9yZGVyOiBzb2xp
ZCA1cHggYmx1ZTsiPg0KKyYjeDMwNDI7JiN4MzAzMzsmI3gzMDM1OyYjeDMwNDI7DQorYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhDQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6
IDIwMHB4OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQor
JiN4MzA0MjsmI3gzMDM0OyYjeDMwMzU7JiN4MzA0MjsNCithYWFhYWFhYWFhYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWENCis8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9pbnNlcGFyYWJsZS1jaGFyYWN0ZXJzLXJ1bGUtbGluZS1icmVh
ay1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2luc2VwYXJhYmxlLWNoYXJh
Y3RlcnMtcnVsZS1saW5lLWJyZWFrLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRiNWI3MzNi
MzVjNDc5YzIyNTRkNWNiNjU4YzNmZTMyYmVkZjA5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9pbnNlcGFyYWJsZS1jaGFyYWN0ZXJzLXJ1bGUtbGluZS1icmVhay1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0K
Kzxib2R5IHN0eWxlPSJmb250LWZhbWlseTogQWhlbTsiPg0KKzwhLS0gRG9uJ3QgYnJlYWsgbGlu
ZSBiZXR3ZWVuIHRoZXNlIHN5bWJvbHMuIC0tPg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsg
Ym9yZGVyOiBzb2xpZCA1cHggYmx1ZTsgd2hpdGUtc3BhY2U6IHByZTsiPmFhYWFhYWFhYWFhJiN4
MjAyNjsmI3gyMDI2Ow0KK2FhYTwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYm9y
ZGVyOiBzb2xpZCA1cHggYmx1ZTsgd2hpdGUtc3BhY2U6IHByZTsiPmFhYWFhYWFhYWFhYSYjeDIw
MjU7JiN4MjAyNTsNCithYWENCis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGJv
cmRlcjogc29saWQgNXB4IGJsdWU7IHdoaXRlLXNwYWNlOiBwcmU7Ij5hYWFhYWFhYWFhYQ0KKyYj
eDIwMTQ7JiN4MjAxNDthYWE8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGJvcmRl
cjogc29saWQgNXB4IGJsdWU7IHdoaXRlLXNwYWNlOiBwcmU7Ij5hYWFhYWFhYWFhYWEmI3gyMDE1
OyYjeDIwMTU7YWFhPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBib3JkZXI6IHNv
bGlkIDVweCBibHVlOyB3aGl0ZS1zcGFjZTogcHJlOyI+YWFhYWFhYWFhYWFhJiN4MjAxNTsmI3gy
MDE1O2FhYTwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYm9yZGVyOiBzb2xpZCA1
cHggYmx1ZTsgd2hpdGUtc3BhY2U6IHByZTsiPmFhYWFhYWFhYWFhDQorJiN4MzAzMzsmI3gzMDM1
O2FhYQ0KKzwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYm9yZGVyOiBzb2xpZCA1
cHggYmx1ZTsgd2hpdGUtc3BhY2U6IHByZTsiPmFhYWFhYWFhYWFhDQorJiN4MzAzNDsmI3gzMDM1
O2FhYQ0KKzwvZGl2Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2luc2VwYXJhYmxlLWNoYXJhY3RlcnMtcnVsZS1saW5lLWJyZWFrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW5zZXBhcmFibGUtY2hhcmFjdGVycy1ydWxlLWxpbmUt
YnJlYWsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzRmNjcxY2E1MDdjMTFkMWY0ZWM3NTYxZjhlMGNhODkw
YzlkYjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2luc2VwYXJh
YmxlLWNoYXJhY3RlcnMtcnVsZS1saW5lLWJyZWFrLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFE
T0NUWVBFIGh0bWw+DQorPGh0bWw+DQorPGJvZHkgc3R5bGU9ImZvbnQtZmFtaWx5OiBBaGVtOyI+
DQorPCEtLSBEb24ndCBicmVhayBsaW5lIGJldHdlZW4gdGhlc2Ugc3ltYm9scy4gLS0+DQorPGRp
diBzdHlsZT0id2lkdGg6IDIwMHB4OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQorYWFhYWFh
YWFhYWEmI3gyMDI2OyYjeDIwMjY7YWFhDQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIw
MHB4OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+DQorYWFhYWFhYWFhYWFhJiN4MjAyNTsmI3gy
MDI1O2FhYQ0KKzwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYm9yZGVyOiBzb2xp
ZCA1cHggYmx1ZTsiPg0KK2FhYWFhYWFhYWFhJiN4MjAxNDsmI3gyMDE0O2FhYQ0KKzwvZGl2Pg0K
KzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYm9yZGVyOiBzb2xpZCA1cHggYmx1ZTsiPg0KK2Fh
YWFhYWFhYWFhYSYjeDIwMTU7JiN4MjAxNTthYWENCis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0
aDogMjAwcHg7IGJvcmRlcjogc29saWQgNXB4IGJsdWU7Ij4NCithYWFhYWFhYWFhYWEmI3gyMDE1
OyYjeDIwMTU7YWFhDQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBib3JkZXI6
IHNvbGlkIDVweCBibHVlOyI+DQorYWFhYWFhYWFhYWEmI3gzMDMzOyYjeDMwMzU7YWFhDQorPC9k
aXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBib3JkZXI6IHNvbGlkIDVweCBibHVlOyI+
DQorYWFhYWFhYWFhYWEmI3gzMDM0OyYjeDMwMzU7YWFhDQorPC9kaXY+DQorPC9ib2R5Pg0KKzwv
aHRtbD4NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>