<?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>60072</bug_id>
          
          <creation_ts>2011-05-03 15:34:49 -0700</creation_ts>
          <short_desc>Refactor computeInlineDirectionPositionsForLine into smaller functions</short_desc>
          <delta_ts>2011-05-03 16:28:17 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57779</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>397460</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-03 15:34:49 -0700</bug_when>
    <thetext>There are several main flows in computeInlineDirectionPositionsForLine that should be refactored into functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397508</commentid>
    <comment_count>1</comment_count>
      <attachid>92158</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-03 16:22:13 -0700</bug_when>
    <thetext>Created attachment 92158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397515</commentid>
    <comment_count>2</comment_count>
      <attachid>92158</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-03 16:28:14 -0700</bug_when>
    <thetext>Comment on attachment 92158
Patch

Clearing flags on attachment: 92158

Committed r85685: &lt;http://trac.webkit.org/changeset/85685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397516</commentid>
    <comment_count>3</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-05-03 16:28:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92158</attachid>
            <date>2011-05-03 16:22:13 -0700</date>
            <delta_ts>2011-05-03 16:28:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60072-20110503162212.patch</filename>
            <type>text/plain</type>
            <size>14761</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1NjgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUtMDMgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIGNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3Np
dGlvbnNGb3JMaW5lIGludG8gc21hbGxlciBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDcyCisKKyAgICAgICAgU3BsaXQgdGhyZWUg
ZnVuY3Rpb25zIG9mZiBmcm9tIGNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5l
CisgICAgICAgIHRvIGltcHJvdmUgaXRzIHJlYWRhYmlsaXR5LgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyBzaW5jZSB0aGlzIGlzIGp1c3QgbW92aW5nIGNvZGUgYXJvdW5kLgorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2V0TWFyZ2lu
c0ZvclJ1YnlSdW4pOgorICAgICAgICAoV2ViQ29yZTo6c2V0TG9naWNhbFdpZHRoRm9yVGV4dFJ1
bik6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlRXhwYW5zaW9uRm9ySnVzdGlmaWVkVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBv
c2l0aW9uc0ZvckxpbmUpOgorCiAyMDExLTA1LTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gODU2NzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpA
QCAtNDQsNiArNDQsNyBAQCBjbGFzcyBSZW5kZXJUZXh0Owogc3RydWN0IEJpZGlSdW47CiBzdHJ1
Y3QgUGFpbnRJbmZvOwogY2xhc3MgTGluZUluZm87CitjbGFzcyBSZW5kZXJSdWJ5UnVuOwogCiB0
ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyOwog
dGVtcGxhdGUgPGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJ1bkxpc3Q7CkBAIC01MDYsNiArNTA3LDgg
QEAgcHJpdmF0ZToKICAgICBSb290SW5saW5lQm94KiBjb25zdHJ1Y3RMaW5lKEJpZGlSdW5MaXN0
PEJpZGlSdW4+JiwgY29uc3QgTGluZUluZm8mKTsKICAgICBJbmxpbmVGbG93Qm94KiBjcmVhdGVM
aW5lQm94ZXMoUmVuZGVyT2JqZWN0KiwgY29uc3QgTGluZUluZm8mLCBJbmxpbmVCb3gqIGNoaWxk
Qm94KTsKIAorICAgIHZvaWQgc2V0TWFyZ2luc0ZvclJ1YnlSdW4oQmlkaVJ1biosIFJlbmRlclJ1
YnlSdW4qLCBSZW5kZXJPYmplY3QqLCBjb25zdCBMaW5lSW5mbyYpOworCiAgICAgdm9pZCBjb21w
dXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZShSb290SW5saW5lQm94KiwgY29uc3Qg
TGluZUluZm8mLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biogdHJhaWxpbmdTcGFjZVJ1biwg
Ym9vbCByZWFjaGVkRW5kLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYsIFZlcnRp
Y2FsUG9zaXRpb25DYWNoZSYpOwogICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uUG9zaXRp
b25zRm9yTGluZShSb290SW5saW5lQm94KiwgQmlkaVJ1biosIEdseXBoT3ZlcmZsb3dBbmRGYWxs
YmFja0ZvbnRzTWFwJiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CiAgICAgdm9pZCBkZWxldGVF
bGxpcHNpc0xpbmVCb3hlcygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9uIDg1Njc5KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0Myw2ICs0NDMsOTEgQEAgc3RhdGljIHZvaWQgdXBkYXRlTG9naWNhbFdpZHRoRm9y
Q2VudGVyQQogICAgICAgICBsb2dpY2FsTGVmdCArPSB0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCA/IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxX
aWR0aCkgOiAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiAt
IHRyYWlsaW5nU3BhY2VXaWR0aDsKIH0KIAordm9pZCBSZW5kZXJCbG9jazo6c2V0TWFyZ2luc0Zv
clJ1YnlSdW4oQmlkaVJ1biogcnVuLCBSZW5kZXJSdWJ5UnVuKiByZW5kZXJlciwgUmVuZGVyT2Jq
ZWN0KiBwcmV2aW91c09iamVjdCwgY29uc3QgTGluZUluZm8mIGxpbmVJbmZvKQoreworICAgIGlu
dCBzdGFydE92ZXJoYW5nOworICAgIGludCBlbmRPdmVyaGFuZzsKKyAgICBSZW5kZXJPYmplY3Qq
IG5leHRPYmplY3QgPSAwOworICAgIGZvciAoQmlkaVJ1biogcnVuV2l0aE5leHRPYmplY3QgPSBy
dW4tPm5leHQoKTsgcnVuV2l0aE5leHRPYmplY3Q7IHJ1bldpdGhOZXh0T2JqZWN0ID0gcnVuV2l0
aE5leHRPYmplY3QtPm5leHQoKSkgeworICAgICAgICBpZiAoIXJ1bldpdGhOZXh0T2JqZWN0LT5t
X29iamVjdC0+aXNQb3NpdGlvbmVkKCkgJiYgIXJ1bldpdGhOZXh0T2JqZWN0LT5tX2JveC0+aXNM
aW5lQnJlYWsoKSkgeworICAgICAgICAgICAgbmV4dE9iamVjdCA9IHJ1bldpdGhOZXh0T2JqZWN0
LT5tX29iamVjdDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIHJl
bmRlcmVyLT5nZXRPdmVyaGFuZyhsaW5lSW5mby5pc0ZpcnN0TGluZSgpLCByZW5kZXJlci0+c3R5
bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcHJldmlvdXNPYmplY3QgOiBuZXh0T2Jq
ZWN0LCByZW5kZXJlci0+c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbmV4dE9i
amVjdCA6IHByZXZpb3VzT2JqZWN0LCBzdGFydE92ZXJoYW5nLCBlbmRPdmVyaGFuZyk7CisgICAg
c2V0TWFyZ2luU3RhcnRGb3JDaGlsZChyZW5kZXJlciwgLXN0YXJ0T3ZlcmhhbmcpOworICAgIHNl
dE1hcmdpbkVuZEZvckNoaWxkKHJlbmRlcmVyLCAtZW5kT3ZlcmhhbmcpOworfQorCitzdGF0aWMg
aW5saW5lIHZvaWQgc2V0TG9naWNhbFdpZHRoRm9yVGV4dFJ1bihSb290SW5saW5lQm94KiBsaW5l
Qm94LCBCaWRpUnVuKiBydW4sIFJlbmRlclRleHQqIHJlbmRlcmVyLCBmbG9hdCB4UG9zLCBjb25z
dCBMaW5lSW5mbyYgbGluZUluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCwgVmVydGlj
YWxQb3NpdGlvbkNhY2hlJiB2ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUpCit7CisgICAgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+IGZhbGxiYWNrRm9udHM7CisgICAgR2x5cGhPdmVyZmxvdyBn
bHlwaE92ZXJmbG93OworICAgIAorICAgIC8vIEFsd2F5cyBjb21wdXRlIGdseXBoIG92ZXJmbG93
IGlmIHRoZSBibG9jaydzIGxpbmUtYm94LWNvbnRhaW4gdmFsdWUgaXMgImdseXBocyIuCisgICAg
aWYgKGxpbmVCb3gtPmZpdHNUb0dseXBocygpKSB7CisgICAgICAgIC8vIElmIHdlIGRvbid0IHN0
aWNrIG91dCBvZiB0aGUgcm9vdCBsaW5lJ3MgZm9udCBib3gsIHRoZW4gZG9uJ3QgYm90aGVyIGNv
bXB1dGluZyBvdXIgZ2x5cGggb3ZlcmZsb3cuIFRoaXMgb3B0aW1pemF0aW9uCisgICAgICAgIC8v
IHdpbGwga2VlcCB1cyBmcm9tIGNvbXB1dGluZyBnbHlwaCBib3VuZHMgaW4gbmVhcmx5IGFsbCBj
YXNlcy4KKyAgICAgICAgYm9vbCBpbmNsdWRlUm9vdExpbmUgPSBsaW5lQm94LT5pbmNsdWRlc1Jv
b3RMaW5lQm94Rm9udE9yTGVhZGluZygpOworICAgICAgICBpbnQgYmFzZWxpbmVTaGlmdCA9IGxp
bmVCb3gtPnZlcnRpY2FsUG9zaXRpb25Gb3JCb3gocnVuLT5tX2JveCwgdmVydGljYWxQb3NpdGlv
bkNhY2hlKTsKKyAgICAgICAgaW50IHJvb3REZXNjZW50ID0gaW5jbHVkZVJvb3RMaW5lID8gbGlu
ZUJveC0+cmVuZGVyZXIoKS0+c3R5bGUobGluZUluZm8uaXNGaXJzdExpbmUoKSktPmZvbnQoKS5m
b250TWV0cmljcygpLmRlc2NlbnQoKSA6IDA7CisgICAgICAgIGludCByb290QXNjZW50ID0gaW5j
bHVkZVJvb3RMaW5lID8gbGluZUJveC0+cmVuZGVyZXIoKS0+c3R5bGUobGluZUluZm8uaXNGaXJz
dExpbmUoKSktPmZvbnQoKS5mb250TWV0cmljcygpLmFzY2VudCgpIDogMDsKKyAgICAgICAgaW50
IGJveEFzY2VudCA9IHJlbmRlcmVyLT5zdHlsZShsaW5lSW5mby5pc0ZpcnN0TGluZSgpKS0+Zm9u
dCgpLmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSBiYXNlbGluZVNoaWZ0OworICAgICAgICBpbnQg
Ym94RGVzY2VudCA9IHJlbmRlcmVyLT5zdHlsZShsaW5lSW5mby5pc0ZpcnN0TGluZSgpKS0+Zm9u
dCgpLmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpICsgYmFzZWxpbmVTaGlmdDsKKyAgICAgICAgaWYg
KGJveEFzY2VudCA+IHJvb3REZXNjZW50IHx8ICBib3hEZXNjZW50ID4gcm9vdEFzY2VudCkKKyAg
ICAgICAgICAgIGdseXBoT3ZlcmZsb3cuY29tcHV0ZUJvdW5kcyA9IHRydWU7IAorICAgIH0KKyAg
ICAKKyAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgIGlmIChzdGF0aWNfY2FzdDxJbmxpbmVU
ZXh0Qm94Kj4ocnVuLT5tX2JveCktPmhhc0h5cGhlbigpKSB7CisgICAgICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgaHlwaGVuU3RyaW5nID0gcmVuZGVyZXItPnN0eWxlKCktPmh5cGhlblN0cmluZygp
OworICAgICAgICBoeXBoZW5XaWR0aCA9IHJlbmRlcmVyLT5zdHlsZShsaW5lSW5mby5pc0ZpcnN0
TGluZSgpKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oaHlwaGVuU3RyaW5nLmNoYXJhY3RlcnMoKSwg
aHlwaGVuU3RyaW5nLmxlbmd0aCgpKSk7CisgICAgfQorICAgIHJ1bi0+bV9ib3gtPnNldExvZ2lj
YWxXaWR0aChyZW5kZXJlci0+d2lkdGgocnVuLT5tX3N0YXJ0LCBydW4tPm1fc3RvcCAtIHJ1bi0+
bV9zdGFydCwgeFBvcywgbGluZUluZm8uaXNGaXJzdExpbmUoKSwgJmZhbGxiYWNrRm9udHMsICZn
bHlwaE92ZXJmbG93KSArIGh5cGhlbldpZHRoKTsKKyAgICBpZiAoIWZhbGxiYWNrRm9udHMuaXNF
bXB0eSgpKSB7CisgICAgICAgIEFTU0VSVChydW4tPm1fYm94LT5pc1RleHQoKSk7CisgICAgICAg
IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRleHRCb3hE
YXRhTWFwLmFkZChzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4ocnVuLT5tX2JveCksIG1ha2Vf
cGFpcihWZWN0b3I8Y29uc3QgU2ltcGxlRm9udERhdGEqPigpLCBHbHlwaE92ZXJmbG93KCkpKS5m
aXJzdDsKKyAgICAgICAgQVNTRVJUKGl0LT5zZWNvbmQuZmlyc3QuaXNFbXB0eSgpKTsKKyAgICAg
ICAgY29weVRvVmVjdG9yKGZhbGxiYWNrRm9udHMsIGl0LT5zZWNvbmQuZmlyc3QpOworICAgICAg
ICBydW4tPm1fYm94LT5wYXJlbnQoKS0+Y2xlYXJEZXNjZW5kYW50c0hhdmVTYW1lTGluZUhlaWdo
dEFuZEJhc2VsaW5lKCk7CisgICAgfQorICAgIGlmICgoZ2x5cGhPdmVyZmxvdy50b3AgfHwgZ2x5
cGhPdmVyZmxvdy5ib3R0b20gfHwgZ2x5cGhPdmVyZmxvdy5sZWZ0IHx8IGdseXBoT3ZlcmZsb3cu
cmlnaHQpKSB7CisgICAgICAgIEFTU0VSVChydW4tPm1fYm94LT5pc1RleHQoKSk7CisgICAgICAg
IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRleHRCb3hE
YXRhTWFwLmFkZChzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4ocnVuLT5tX2JveCksIG1ha2Vf
cGFpcihWZWN0b3I8Y29uc3QgU2ltcGxlRm9udERhdGEqPigpLCBHbHlwaE92ZXJmbG93KCkpKS5m
aXJzdDsKKyAgICAgICAgaXQtPnNlY29uZC5zZWNvbmQgPSBnbHlwaE92ZXJmbG93OworICAgICAg
ICBydW4tPm1fYm94LT5jbGVhcktub3duVG9IYXZlTm9PdmVyZmxvdygpOworICAgIH0KK30KKwor
c3RhdGljIGlubGluZSB2b2lkIGNvbXB1dGVFeHBhbnNpb25Gb3JKdXN0aWZpZWRUZXh0KEJpZGlS
dW4qIGZpcnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVuLCBWZWN0b3I8dW5zaWduZWQs
IDE2PiYgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcywgdW5zaWduZWQgZXhwYW5zaW9uT3Bwb3J0dW5p
dHlDb3VudCwgZmxvYXQmIHRvdGFsTG9naWNhbFdpZHRoLCBmbG9hdCBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgpCit7CisgICAgaWYgKGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgJiYgYXZhaWxhYmxl
TG9naWNhbFdpZHRoID4gdG90YWxMb2dpY2FsV2lkdGgpIHsKKyAgICAgICAgc2l6ZV90IGkgPSAw
OworICAgICAgICBmb3IgKEJpZGlSdW4qIHIgPSBmaXJzdFJ1bjsgcjsgciA9IHItPm5leHQoKSkg
eworICAgICAgICAgICAgaWYgKCFyLT5tX2JveCB8fCByID09IHRyYWlsaW5nU3BhY2VSdW4pCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChy
LT5tX29iamVjdC0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBvcHBvcnR1
bml0aWVzSW5SdW4gPSBleHBhbnNpb25PcHBvcnR1bml0aWVzW2krK107CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgQVNTRVJUKG9wcG9ydHVuaXRpZXNJblJ1biA8PSBleHBhbnNp
b25PcHBvcnR1bml0eUNvdW50KTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAv
LyBPbmx5IGp1c3RpZnkgdGV4dCBpZiB3aGl0ZXNwYWNlIGlzIGNvbGxhcHNlZC4KKyAgICAgICAg
ICAgICAgICBpZiAoci0+bV9vYmplY3QtPnN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7
CisgICAgICAgICAgICAgICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2Fz
dDxJbmxpbmVUZXh0Qm94Kj4oci0+bV9ib3gpOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBl
eHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICog
b3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dEJveC0+c2V0RXhwYW5zaW9uKGV4cGFuc2lvbik7CisgICAgICAgICAg
ICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoICs9IGV4cGFuc2lvbjsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCAtPSBvcHBvcnR1
bml0aWVzSW5SdW47CisgICAgICAgICAgICAgICAgaWYgKCFleHBhbnNpb25PcHBvcnR1bml0eUNv
dW50KQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KK30KKwogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBv
c2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwgY29uc3QgTGluZUluZm8mIGxp
bmVJbmZvLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biogdHJhaWxpbmdTcGFjZVJ1biwgYm9v
bCByZWFjaGVkRW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwLCBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUmIHZlcnRpY2FsUG9zaXRpb25DYWNoZSkKIHsK
QEAgLTQ2NCw3ICs1NDksNiBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0
aW9uCiAgICAgICAgICAgICAgICAgICAgICAgLy8gU2ltaWxhcmx5LCBsaW5lIGJyZWFrIGJveGVz
IGhhdmUgbm8gZWZmZWN0IG9uIHRoZSB3aWR0aC4KICAgICAgICAgaWYgKHItPm1fb2JqZWN0LT5p
c1RleHQoKSkgewogICAgICAgICAgICAgUmVuZGVyVGV4dCogcnQgPSB0b1JlbmRlclRleHQoci0+
bV9vYmplY3QpOwotCiAgICAgICAgICAgICBpZiAodGV4dEFsaWduID09IEpVU1RJRlkgJiYgciAh
PSB0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFpc0FmdGVyRXhwYW5z
aW9uKQogICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oci0+
bV9ib3gpLT5zZXRDYW5IYXZlTGVhZGluZ0V4cGFuc2lvbih0cnVlKTsKQEAgLTQ3OCw2MCArNTYy
LDE0IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAg
ICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggKz0gcnQtPnN0eWxlKGxpbmVJbmZvLmlzRmly
c3RMaW5lKCkpLT5mb250KCkud29yZFNwYWNpbmcoKTsKICAgICAgICAgICAgICAgICBuZWVkc1dv
cmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUocnQtPmNoYXJhY3RlcnMoKVtyLT5tX3N0b3Ag
LSAxXSkgJiYgci0+bV9zdG9wID09IGxlbmd0aDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiBmYWxsYmFja0ZvbnRzOwotICAgICAgICAg
ICAgR2x5cGhPdmVyZmxvdyBnbHlwaE92ZXJmbG93OwogCi0gICAgICAgICAgICAvLyBBbHdheXMg
Y29tcHV0ZSBnbHlwaCBvdmVyZmxvdyBpZiB0aGUgYmxvY2sncyBsaW5lLWJveC1jb250YWluIHZh
bHVlIGlzICJnbHlwaHMiLgotICAgICAgICAgICAgaWYgKGxpbmVCb3gtPmZpdHNUb0dseXBocygp
KSB7Ci0gICAgICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3Qgc3RpY2sgb3V0IG9mIHRoZSByb290
IGxpbmUncyBmb250IGJveCwgdGhlbiBkb24ndCBib3RoZXIgY29tcHV0aW5nIG91ciBnbHlwaCBv
dmVyZmxvdy4gVGhpcyBvcHRpbWl6YXRpb24KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGtlZXAg
dXMgZnJvbSBjb21wdXRpbmcgZ2x5cGggYm91bmRzIGluIG5lYXJseSBhbGwgY2FzZXMuCi0gICAg
ICAgICAgICAgICAgYm9vbCBpbmNsdWRlUm9vdExpbmUgPSBsaW5lQm94LT5pbmNsdWRlc1Jvb3RM
aW5lQm94Rm9udE9yTGVhZGluZygpOwotICAgICAgICAgICAgICAgIGludCBiYXNlbGluZVNoaWZ0
ID0gbGluZUJveC0+dmVydGljYWxQb3NpdGlvbkZvckJveChyLT5tX2JveCwgdmVydGljYWxQb3Np
dGlvbkNhY2hlKTsKLSAgICAgICAgICAgICAgICBpbnQgcm9vdERlc2NlbnQgPSBpbmNsdWRlUm9v
dExpbmUgPyBsaW5lQm94LT5yZW5kZXJlcigpLT5zdHlsZShsaW5lSW5mby5pc0ZpcnN0TGluZSgp
KS0+Zm9udCgpLmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpIDogMDsKLSAgICAgICAgICAgICAgICBp
bnQgcm9vdEFzY2VudCA9IGluY2x1ZGVSb290TGluZSA/IGxpbmVCb3gtPnJlbmRlcmVyKCktPnN0
eWxlKGxpbmVJbmZvLmlzRmlyc3RMaW5lKCkpLT5mb250KCkuZm9udE1ldHJpY3MoKS5hc2NlbnQo
KSA6IDA7Ci0gICAgICAgICAgICAgICAgaW50IGJveEFzY2VudCA9IHJ0LT5zdHlsZShsaW5lSW5m
by5pc0ZpcnN0TGluZSgpKS0+Zm9udCgpLmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSBiYXNlbGlu
ZVNoaWZ0OwotICAgICAgICAgICAgICAgIGludCBib3hEZXNjZW50ID0gcnQtPnN0eWxlKGxpbmVJ
bmZvLmlzRmlyc3RMaW5lKCkpLT5mb250KCkuZm9udE1ldHJpY3MoKS5kZXNjZW50KCkgKyBiYXNl
bGluZVNoaWZ0OwotICAgICAgICAgICAgICAgIGlmIChib3hBc2NlbnQgPiByb290RGVzY2VudCB8
fCAgYm94RGVzY2VudCA+IHJvb3RBc2NlbnQpCi0gICAgICAgICAgICAgICAgICAgIGdseXBoT3Zl
cmZsb3cuY29tcHV0ZUJvdW5kcyA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGludCBoeXBoZW5XaWR0aCA9IDA7Ci0gICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8SW5saW5l
VGV4dEJveCo+KHItPm1fYm94KS0+aGFzSHlwaGVuKCkpIHsKLSAgICAgICAgICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIGh5cGhlblN0cmluZyA9IHJ0LT5zdHlsZSgpLT5oeXBoZW5TdHJpbmco
KTsKLSAgICAgICAgICAgICAgICBoeXBoZW5XaWR0aCA9IHJ0LT5zdHlsZShsaW5lSW5mby5pc0Zp
cnN0TGluZSgpKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oaHlwaGVuU3RyaW5nLmNoYXJhY3RlcnMo
KSwgaHlwaGVuU3RyaW5nLmxlbmd0aCgpKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBy
LT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKHJ0LT53aWR0aChyLT5tX3N0YXJ0LCByLT5tX3N0b3Ag
LSByLT5tX3N0YXJ0LCB0b3RhbExvZ2ljYWxXaWR0aCwgbGluZUluZm8uaXNGaXJzdExpbmUoKSwg
JmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93KSArIGh5cGhlbldpZHRoKTsKLSAgICAgICAg
ICAgIGlmICghZmFsbGJhY2tGb250cy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICBBU1NF
UlQoci0+bV9ib3gtPmlzVGV4dCgpKTsKLSAgICAgICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5hZGQoc3RhdGlj
X2Nhc3Q8SW5saW5lVGV4dEJveCo+KHItPm1fYm94KSwgbWFrZV9wYWlyKFZlY3Rvcjxjb25zdCBT
aW1wbGVGb250RGF0YSo+KCksIEdseXBoT3ZlcmZsb3coKSkpLmZpcnN0OwotICAgICAgICAgICAg
ICAgIEFTU0VSVChpdC0+c2Vjb25kLmZpcnN0LmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICAgICAg
Y29weVRvVmVjdG9yKGZhbGxiYWNrRm9udHMsIGl0LT5zZWNvbmQuZmlyc3QpOwotICAgICAgICAg
ICAgICAgIHItPm1fYm94LT5wYXJlbnQoKS0+Y2xlYXJEZXNjZW5kYW50c0hhdmVTYW1lTGluZUhl
aWdodEFuZEJhc2VsaW5lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoKGdseXBo
T3ZlcmZsb3cudG9wIHx8IGdseXBoT3ZlcmZsb3cuYm90dG9tIHx8IGdseXBoT3ZlcmZsb3cubGVm
dCB8fCBnbHlwaE92ZXJmbG93LnJpZ2h0KSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChyLT5t
X2JveC0+aXNUZXh0KCkpOwotICAgICAgICAgICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFj
a0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRleHRCb3hEYXRhTWFwLmFkZChzdGF0aWNfY2FzdDxJ
bmxpbmVUZXh0Qm94Kj4oci0+bV9ib3gpLCBtYWtlX3BhaXIoVmVjdG9yPGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4oKSwgR2x5cGhPdmVyZmxvdygpKSkuZmlyc3Q7Ci0gICAgICAgICAgICAgICAgaXQt
PnNlY29uZC5zZWNvbmQgPSBnbHlwaE92ZXJmbG93OwotICAgICAgICAgICAgICAgIHItPm1fYm94
LT5jbGVhcktub3duVG9IYXZlTm9PdmVyZmxvdygpOwotICAgICAgICAgICAgfQorICAgICAgICAg
ICAgc2V0TG9naWNhbFdpZHRoRm9yVGV4dFJ1bihsaW5lQm94LCByLCBydCwgdG90YWxMb2dpY2Fs
V2lkdGgsIGxpbmVJbmZvLCB0ZXh0Qm94RGF0YU1hcCwgdmVydGljYWxQb3NpdGlvbkNhY2hlKTsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsK
ICAgICAgICAgICAgIGlmICghci0+bV9vYmplY3QtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAg
ICAgICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IHRvUmVuZGVyQm94KHItPm1fb2JqZWN0
KTsKLSAgICAgICAgICAgICAgICBpZiAocmVuZGVyQm94LT5pc1J1YnlSdW4oKSkgewotICAgICAg
ICAgICAgICAgICAgICBpbnQgc3RhcnRPdmVyaGFuZzsKLSAgICAgICAgICAgICAgICAgICAgaW50
IGVuZE92ZXJoYW5nOwotICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIG5leHRPYmpl
Y3QgPSAwOwotICAgICAgICAgICAgICAgICAgICBmb3IgKEJpZGlSdW4qIHJ1bldpdGhOZXh0T2Jq
ZWN0ID0gci0+bmV4dCgpOyBydW5XaXRoTmV4dE9iamVjdDsgcnVuV2l0aE5leHRPYmplY3QgPSBy
dW5XaXRoTmV4dE9iamVjdC0+bmV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
IXJ1bldpdGhOZXh0T2JqZWN0LT5tX29iamVjdC0+aXNQb3NpdGlvbmVkKCkgJiYgIXJ1bldpdGhO
ZXh0T2JqZWN0LT5tX2JveC0+aXNMaW5lQnJlYWsoKSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5leHRPYmplY3QgPSBydW5XaXRoTmV4dE9iamVjdC0+bV9vYmplY3Q7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgdG9SZW5kZXJSdWJ5UnVu
KHJlbmRlckJveCktPmdldE92ZXJoYW5nKGxpbmVJbmZvLmlzRmlyc3RMaW5lKCksIHJlbmRlckJv
eC0+c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcHJldmlvdXNPYmplY3QgOiBu
ZXh0T2JqZWN0LCByZW5kZXJCb3gtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/
IG5leHRPYmplY3QgOiBwcmV2aW91c09iamVjdCwgc3RhcnRPdmVyaGFuZywgZW5kT3Zlcmhhbmcp
OwotICAgICAgICAgICAgICAgICAgICBzZXRNYXJnaW5TdGFydEZvckNoaWxkKHJlbmRlckJveCwg
LXN0YXJ0T3ZlcmhhbmcpOwotICAgICAgICAgICAgICAgICAgICBzZXRNYXJnaW5FbmRGb3JDaGls
ZChyZW5kZXJCb3gsIC1lbmRPdmVyaGFuZyk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIGlmIChyZW5kZXJCb3gtPmlzUnVieVJ1bigpKQorICAgICAgICAgICAgICAgICAgICBz
ZXRNYXJnaW5zRm9yUnVieVJ1bihyLCB0b1JlbmRlclJ1YnlSdW4ocmVuZGVyQm94KSwgcHJldmlv
dXNPYmplY3QsIGxpbmVJbmZvKTsKICAgICAgICAgICAgICAgICByLT5tX2JveC0+c2V0TG9naWNh
bFdpZHRoKGxvZ2ljYWxXaWR0aEZvckNoaWxkKHJlbmRlckJveCkpOwogICAgICAgICAgICAgICAg
IHRvdGFsTG9naWNhbFdpZHRoICs9IG1hcmdpblN0YXJ0Rm9yQ2hpbGQocmVuZGVyQm94KSArIG1h
cmdpbkVuZEZvckNoaWxkKHJlbmRlckJveCk7CiAgICAgICAgICAgICB9CkBAIC01OTQsMzAgKzYz
Miw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAg
ICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlmIChleHBhbnNpb25PcHBvcnR1bml0eUNvdW50ICYm
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA+IHRvdGFsTG9naWNhbFdpZHRoKSB7Ci0gICAgICAgIHNp
emVfdCBpID0gMDsKLSAgICAgICAgZm9yIChCaWRpUnVuKiByID0gZmlyc3RSdW47IHI7IHIgPSBy
LT5uZXh0KCkpIHsKLSAgICAgICAgICAgIGlmICghci0+bV9ib3ggfHwgciA9PSB0cmFpbGluZ1Nw
YWNlUnVuKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICBpZiAoci0+
bV9vYmplY3QtPmlzVGV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgb3Bwb3J0dW5p
dGllc0luUnVuID0gZXhwYW5zaW9uT3Bwb3J0dW5pdGllc1tpKytdOwotCi0gICAgICAgICAgICAg
ICAgQVNTRVJUKG9wcG9ydHVuaXRpZXNJblJ1biA8PSBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50
KTsKLQotICAgICAgICAgICAgICAgIC8vIE9ubHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2Ug
aXMgY29sbGFwc2VkLgotICAgICAgICAgICAgICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+
Y29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJv
eCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IChhdmFpbGFibGVMb2dpY2FsV2lkdGgg
LSB0b3RhbExvZ2ljYWxXaWR0aCkgKiBvcHBvcnR1bml0aWVzSW5SdW4gLyBleHBhbnNpb25PcHBv
cnR1bml0eUNvdW50OwotICAgICAgICAgICAgICAgICAgICB0ZXh0Qm94LT5zZXRFeHBhbnNpb24o
ZXhwYW5zaW9uKTsKLSAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggKz0gZXhw
YW5zaW9uOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBleHBhbnNpb25PcHBv
cnR1bml0eUNvdW50IC09IG9wcG9ydHVuaXRpZXNJblJ1bjsKLSAgICAgICAgICAgICAgICBpZiAo
IWV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQorICAgIGNvbXB1dGVFeHBhbnNpb25Gb3JK
dXN0aWZpZWRUZXh0KGZpcnN0UnVuLCB0cmFpbGluZ1NwYWNlUnVuLCBleHBhbnNpb25PcHBvcnR1
bml0aWVzLCBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50LCB0b3RhbExvZ2ljYWxXaWR0aCwgYXZh
aWxhYmxlTG9naWNhbFdpZHRoKTsKIAogICAgIC8vIFRoZSB3aWR0aHMgb2YgYWxsIHJ1bnMgYXJl
IG5vdyBrbm93bi4gIFdlIGNhbiBub3cgcGxhY2UgZXZlcnkgaW5saW5lIGJveCAoYW5kCiAgICAg
Ly8gY29tcHV0ZSBhY2N1cmF0ZSB3aWR0aHMgZm9yIHRoZSBpbmxpbmUgZmxvdyBib3hlcykuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>