<?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>63652</bug_id>
          
          <creation_ts>2011-06-29 13:44:14 -0700</creation_ts>
          <short_desc>Switch RenderBoxModelObject::margin* and setMargin* to to new layout types</short_desc>
          <delta_ts>2011-06-29 14:41:58 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>429837</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-06-29 13:44:14 -0700</bug_when>
    <thetext>Convert the marginTop/Left/Bottom/Right/Start/End/Before/After methods and associated setters to new layout types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429860</commentid>
    <comment_count>1</comment_count>
      <attachid>99147</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-06-29 14:02:48 -0700</bug_when>
    <thetext>Created attachment 99147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429896</commentid>
    <comment_count>2</comment_count>
      <attachid>99147</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 14:41:54 -0700</bug_when>
    <thetext>Comment on attachment 99147
Patch

Clearing flags on attachment: 99147

Committed r90049: &lt;http://trac.webkit.org/changeset/90049&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429897</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 14:41:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99147</attachid>
            <date>2011-06-29 14:02:48 -0700</date>
            <delta_ts>2011-06-29 14:41:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63652-20110629140247.patch</filename>
            <type>text/plain</type>
            <size>16949</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwMDQwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDYtMjkgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFN3aXRjaCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6bWFyZ2luKiBh
bmQgc2V0TWFyZ2luKiB0byB0byBuZXcgbGF5b3V0IHR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY1MgorCisgICAgICAgIFN3aXRjaCBtYXJn
aW4gbWV0aG9kcyBmb3IgcmVuZGVyIHRyZWUgb3ZlciB0byB0aGUgbmV3IGxheW91dCB1bml0IGFi
c3RyYWN0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rpb25hbGl0eSBjaGFu
Z2VzLgorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
ay5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQu
aDoKKwogMjAxMS0wNi0yOSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNpb24gOTAwMzIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsMTMg
KzExNiwxMyBAQCBwdWJsaWM6CiAgICAgLy8gbG9naWNhbExlZnQgPSBsZWZ0IGluIGEgaG9yaXpv
bnRhbCBsaW5lIGFuZCB0b3AgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBtYXJnaW5Cb3Jk
ZXJQYWRkaW5nTG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBtYXJnaW5Mb2dpY2FsTGVmdCgp
ICsgYm9yZGVyTG9naWNhbExlZnQoKSArIHBhZGRpbmdMb2dpY2FsTGVmdCgpOyB9CiAgICAgaW50
IG1hcmdpbkJvcmRlclBhZGRpbmdMb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBtYXJnaW5M
b2dpY2FsUmlnaHQoKSArIGJvcmRlckxvZ2ljYWxSaWdodCgpICsgcGFkZGluZ0xvZ2ljYWxSaWdo
dCgpOyB9Ci0gICAgaW50IG1hcmdpbkxvZ2ljYWxMZWZ0KCkgY29uc3QKKyAgICBMYXlvdXRVbml0
IG1hcmdpbkxvZ2ljYWxMZWZ0KCkgY29uc3QKICAgICB7CiAgICAgICAgIGlmICghaW5jbHVkZUxv
Z2ljYWxMZWZ0RWRnZSgpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJldHVybiBp
c0hvcml6b250YWwoKSA/IGJveE1vZGVsT2JqZWN0KCktPm1hcmdpbkxlZnQoKSA6IGJveE1vZGVs
T2JqZWN0KCktPm1hcmdpblRvcCgpOwogICAgIH0KLSAgICBpbnQgbWFyZ2luTG9naWNhbFJpZ2h0
KCkgY29uc3QKKyAgICBMYXlvdXRVbml0IG1hcmdpbkxvZ2ljYWxSaWdodCgpIGNvbnN0CiAgICAg
ewogICAgICAgICBpZiAoIWluY2x1ZGVMb2dpY2FsUmlnaHRFZGdlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAko
cmV2aXNpb24gOTAwMzIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTIxLDcgKzYxMjEsNyBAQCBpbnQgUmVuZGVyQmxvY2s6
OmNvbGxhcHNlZE1hcmdpbkFmdGVyRm9yCiAgICAgcmV0dXJuIG1hcmdpbkFmdGVyRm9yQ2hpbGQo
Y2hpbGQpOwogfQogCi1pbnQgUmVuZGVyQmxvY2s6Om1hcmdpbkJlZm9yZUZvckNoaWxkKFJlbmRl
ckJveE1vZGVsT2JqZWN0KiBjaGlsZCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6Om1h
cmdpbkJlZm9yZUZvckNoaWxkKFJlbmRlckJveE1vZGVsT2JqZWN0KiBjaGlsZCkgY29uc3QKIHsK
ICAgICBzd2l0Y2ggKHN0eWxlKCktPndyaXRpbmdNb2RlKCkpIHsKICAgICBjYXNlIFRvcFRvQm90
dG9tV3JpdGluZ01vZGU6CkBAIC02MTM3LDcgKzYxMzcsNyBAQCBpbnQgUmVuZGVyQmxvY2s6Om1h
cmdpbkJlZm9yZUZvckNoaWxkKFJlCiAgICAgcmV0dXJuIGNoaWxkLT5tYXJnaW5Ub3AoKTsKIH0K
IAotaW50IFJlbmRlckJsb2NrOjptYXJnaW5BZnRlckZvckNoaWxkKFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiBjaGlsZCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6Om1hcmdpbkFmdGVyRm9y
Q2hpbGQoUmVuZGVyQm94TW9kZWxPYmplY3QqIGNoaWxkKSBjb25zdAogewogICAgIHN3aXRjaCAo
c3R5bGUoKS0+d3JpdGluZ01vZGUoKSkgewogICAgIGNhc2UgVG9wVG9Cb3R0b21Xcml0aW5nTW9k
ZToKQEAgLTYxNTMsMjEgKzYxNTMsMjEgQEAgaW50IFJlbmRlckJsb2NrOjptYXJnaW5BZnRlckZv
ckNoaWxkKFJlbgogICAgIHJldHVybiBjaGlsZC0+bWFyZ2luQm90dG9tKCk7CiB9CiAgICAgCi1p
bnQgUmVuZGVyQmxvY2s6Om1hcmdpblN0YXJ0Rm9yQ2hpbGQoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IGNoaWxkKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bWFyZ2luU3RhcnRGb3JDaGls
ZChSZW5kZXJCb3hNb2RlbE9iamVjdCogY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkgPyBjaGlsZC0+bWFyZ2luTGVmdCgpIDogY2hpbGQtPm1hcmdpblJpZ2h0KCk7
CiAgICAgcmV0dXJuIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IGNoaWxkLT5t
YXJnaW5Ub3AoKSA6IGNoaWxkLT5tYXJnaW5Cb3R0b20oKTsKIH0KIAotaW50IFJlbmRlckJsb2Nr
OjptYXJnaW5FbmRGb3JDaGlsZChSZW5kZXJCb3hNb2RlbE9iamVjdCogY2hpbGQpIGNvbnN0CitM
YXlvdXRVbml0IFJlbmRlckJsb2NrOjptYXJnaW5FbmRGb3JDaGlsZChSZW5kZXJCb3hNb2RlbE9i
amVjdCogY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkp
CiAgICAgICAgIHJldHVybiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBjaGls
ZC0+bWFyZ2luUmlnaHQoKSA6IGNoaWxkLT5tYXJnaW5MZWZ0KCk7CiAgICAgcmV0dXJuIHN0eWxl
KCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IGNoaWxkLT5tYXJnaW5Cb3R0b20oKSA6IGNo
aWxkLT5tYXJnaW5Ub3AoKTsKIH0KIAotdm9pZCBSZW5kZXJCbG9jazo6c2V0TWFyZ2luU3RhcnRG
b3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBpbnQgbWFyZ2luKQordm9pZCBSZW5kZXJCbG9jazo6
c2V0TWFyZ2luU3RhcnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0IG1hcmdp
bikKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewogICAgICAgICBpZiAo
c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQpAQCAtNjE4Miw3ICs2MTgyLDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6c2V0TWFyZ2luU3RhcnRGb3JDaGlsZAogICAgIH0KIH0KIAotdm9p
ZCBSZW5kZXJCbG9jazo6c2V0TWFyZ2luRW5kRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgaW50
IG1hcmdpbikKK3ZvaWQgUmVuZGVyQmxvY2s6OnNldE1hcmdpbkVuZEZvckNoaWxkKFJlbmRlckJv
eCogY2hpbGQsIExheW91dFVuaXQgbWFyZ2luKQogewogICAgIGlmIChpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKSB7CiAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpCkBAIC02MTk3LDcgKzYxOTcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpzZXRNYXJnaW5FbmRG
b3JDaGlsZChSCiAgICAgfQogfQogCi12b2lkIFJlbmRlckJsb2NrOjpzZXRNYXJnaW5CZWZvcmVG
b3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBpbnQgbWFyZ2luKQordm9pZCBSZW5kZXJCbG9jazo6
c2V0TWFyZ2luQmVmb3JlRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBtYXJn
aW4pCiB7CiAgICAgc3dpdGNoIChzdHlsZSgpLT53cml0aW5nTW9kZSgpKSB7CiAgICAgY2FzZSBU
b3BUb0JvdHRvbVdyaXRpbmdNb2RlOgpAQCAtNjIxNSw3ICs2MjE1LDcgQEAgdm9pZCBSZW5kZXJC
bG9jazo6c2V0TWFyZ2luQmVmb3JlRm9yQ2hpbAogICAgIH0KIH0KIAotdm9pZCBSZW5kZXJCbG9j
azo6c2V0TWFyZ2luQWZ0ZXJGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBpbnQgbWFyZ2luKQor
dm9pZCBSZW5kZXJCbG9jazo6c2V0TWFyZ2luQWZ0ZXJGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxk
LCBMYXlvdXRVbml0IG1hcmdpbikKIHsKICAgICBzd2l0Y2ggKHN0eWxlKCktPndyaXRpbmdNb2Rl
KCkpIHsKICAgICBjYXNlIFRvcFRvQm90dG9tV3JpdGluZ01vZGU6CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gOTAwMzIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMTk4LDE0ICsx
OTgsMTQgQEAgcHVibGljOgogICAgIGludCBsb2dpY2FsVG9wRm9yQ2hpbGQoUmVuZGVyQm94KiBj
aGlsZCkgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGNoaWxkLT55KCkgOiBj
aGlsZC0+eCgpOyB9CiAgICAgdm9pZCBzZXRMb2dpY2FsTGVmdEZvckNoaWxkKFJlbmRlckJveCog
Y2hpbGQsIGludCBsb2dpY2FsTGVmdCwgQXBwbHlMYXlvdXREZWx0YU1vZGUgPSBEb05vdEFwcGx5
TGF5b3V0RGVsdGEpOwogICAgIHZvaWQgc2V0TG9naWNhbFRvcEZvckNoaWxkKFJlbmRlckJveCog
Y2hpbGQsIGludCBsb2dpY2FsVG9wLCBBcHBseUxheW91dERlbHRhTW9kZSA9IERvTm90QXBwbHlM
YXlvdXREZWx0YSk7Ci0gICAgaW50IG1hcmdpbkJlZm9yZUZvckNoaWxkKFJlbmRlckJveE1vZGVs
T2JqZWN0KiBjaGlsZCkgY29uc3Q7Ci0gICAgaW50IG1hcmdpbkFmdGVyRm9yQ2hpbGQoUmVuZGVy
Qm94TW9kZWxPYmplY3QqIGNoaWxkKSBjb25zdDsKLSAgICBpbnQgbWFyZ2luU3RhcnRGb3JDaGls
ZChSZW5kZXJCb3hNb2RlbE9iamVjdCogY2hpbGQpIGNvbnN0OwotICAgIGludCBtYXJnaW5FbmRG
b3JDaGlsZChSZW5kZXJCb3hNb2RlbE9iamVjdCogY2hpbGQpIGNvbnN0OwotICAgIHZvaWQgc2V0
TWFyZ2luU3RhcnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBpbnQpOwotICAgIHZvaWQgc2V0
TWFyZ2luRW5kRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgaW50KTsKLSAgICB2b2lkIHNldE1h
cmdpbkJlZm9yZUZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIGludCk7Ci0gICAgdm9pZCBzZXRN
YXJnaW5BZnRlckZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIGludCk7CisgICAgTGF5b3V0VW5p
dCBtYXJnaW5CZWZvcmVGb3JDaGlsZChSZW5kZXJCb3hNb2RlbE9iamVjdCogY2hpbGQpIGNvbnN0
OworICAgIExheW91dFVuaXQgbWFyZ2luQWZ0ZXJGb3JDaGlsZChSZW5kZXJCb3hNb2RlbE9iamVj
dCogY2hpbGQpIGNvbnN0OworICAgIExheW91dFVuaXQgbWFyZ2luU3RhcnRGb3JDaGlsZChSZW5k
ZXJCb3hNb2RlbE9iamVjdCogY2hpbGQpIGNvbnN0OworICAgIExheW91dFVuaXQgbWFyZ2luRW5k
Rm9yQ2hpbGQoUmVuZGVyQm94TW9kZWxPYmplY3QqIGNoaWxkKSBjb25zdDsKKyAgICB2b2lkIHNl
dE1hcmdpblN0YXJ0Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCk7CisgICAg
dm9pZCBzZXRNYXJnaW5FbmRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0KTsK
KyAgICB2b2lkIHNldE1hcmdpbkJlZm9yZUZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIExheW91
dFVuaXQpOworICAgIHZvaWQgc2V0TWFyZ2luQWZ0ZXJGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxk
LCBMYXlvdXRVbml0KTsKICAgICBpbnQgY29sbGFwc2VkTWFyZ2luQmVmb3JlRm9yQ2hpbGQoUmVu
ZGVyQm94KiBjaGlsZCkgY29uc3Q7CiAgICAgaW50IGNvbGxhcHNlZE1hcmdpbkFmdGVyRm9yQ2hp
bGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA5MDAzMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw3ICs4MSw3IEBAIFJlbmRl
ckJveDo6flJlbmRlckJveCgpCiB7CiB9CiAKLWludCBSZW5kZXJCb3g6Om1hcmdpbkJlZm9yZSgp
IGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6bWFyZ2luQmVmb3JlKCkgY29uc3QKIHsKICAg
ICBzd2l0Y2ggKHN0eWxlKCktPndyaXRpbmdNb2RlKCkpIHsKICAgICBjYXNlIFRvcFRvQm90dG9t
V3JpdGluZ01vZGU6CkBAIC05Nyw3ICs5Nyw3IEBAIGludCBSZW5kZXJCb3g6Om1hcmdpbkJlZm9y
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbWFyZ2luVG9wOwogfQogCi1pbnQgUmVuZGVyQm94Ojpt
YXJnaW5BZnRlcigpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6bWFyZ2luQWZ0ZXIoKSBj
b25zdAogewogICAgIHN3aXRjaCAoc3R5bGUoKS0+d3JpdGluZ01vZGUoKSkgewogICAgIGNhc2Ug
VG9wVG9Cb3R0b21Xcml0aW5nTW9kZToKQEAgLTExMywyMSArMTEzLDIxIEBAIGludCBSZW5kZXJC
b3g6Om1hcmdpbkFmdGVyKCkgY29uc3QKICAgICByZXR1cm4gbV9tYXJnaW5Cb3R0b207CiB9CiAK
LWludCBSZW5kZXJCb3g6Om1hcmdpblN0YXJ0KCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQm94
OjptYXJnaW5TdGFydCgpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCiAgICAgICAgIHJldHVybiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBt
X21hcmdpbkxlZnQgOiBtX21hcmdpblJpZ2h0OwogICAgIHJldHVybiBzdHlsZSgpLT5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkgPyBtX21hcmdpblRvcCA6IG1fbWFyZ2luQm90dG9tOwogfQogCi1p
bnQgUmVuZGVyQm94OjptYXJnaW5FbmQoKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJCb3g6Om1h
cmdpbkVuZCgpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAg
ICAgICAgIHJldHVybiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBtX21hcmdp
blJpZ2h0IDogbV9tYXJnaW5MZWZ0OwogICAgIHJldHVybiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkgPyBtX21hcmdpbkJvdHRvbSA6IG1fbWFyZ2luVG9wOwogfQogCi12b2lkIFJl
bmRlckJveDo6c2V0TWFyZ2luU3RhcnQoaW50IG1hcmdpbikKK3ZvaWQgUmVuZGVyQm94OjpzZXRN
YXJnaW5TdGFydChMYXlvdXRVbml0IG1hcmdpbikKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSkgewogICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKQpAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgUmVuZGVyQm94OjpzZXRNYXJnaW5TdGFydChp
bnQgbWFyZ2kKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRNYXJnaW5FbmQoaW50IG1h
cmdpbikKK3ZvaWQgUmVuZGVyQm94OjpzZXRNYXJnaW5FbmQoTGF5b3V0VW5pdCBtYXJnaW4pCiB7
CiAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgaWYgKHN0eWxl
KCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTE1Nyw3ICsxNTcsNyBAQCB2b2lkIFJl
bmRlckJveDo6c2V0TWFyZ2luRW5kKGludCBtYXJnaW4pCiAgICAgfQogfQogCi12b2lkIFJlbmRl
ckJveDo6c2V0TWFyZ2luQmVmb3JlKGludCBtYXJnaW4pCit2b2lkIFJlbmRlckJveDo6c2V0TWFy
Z2luQmVmb3JlKExheW91dFVuaXQgbWFyZ2luKQogewogICAgIHN3aXRjaCAoc3R5bGUoKS0+d3Jp
dGluZ01vZGUoKSkgewogICAgIGNhc2UgVG9wVG9Cb3R0b21Xcml0aW5nTW9kZToKQEAgLTE3NSw3
ICsxNzUsNyBAQCB2b2lkIFJlbmRlckJveDo6c2V0TWFyZ2luQmVmb3JlKGludCBtYXJnCiAgICAg
fQogfQogCi12b2lkIFJlbmRlckJveDo6c2V0TWFyZ2luQWZ0ZXIoaW50IG1hcmdpbikKK3ZvaWQg
UmVuZGVyQm94OjpzZXRNYXJnaW5BZnRlcihMYXlvdXRVbml0IG1hcmdpbikKIHsKICAgICBzd2l0
Y2ggKHN0eWxlKCktPndyaXRpbmdNb2RlKCkpIHsKICAgICBjYXNlIFRvcFRvQm90dG9tV3JpdGlu
Z01vZGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA5
MDAzMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMjAyLDIyICsyMDIsMjIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRT
Y3JvbGxMZWZ0KGludCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFRvcChpbnQpOwogCi0g
ICAgdmlydHVhbCBpbnQgbWFyZ2luVG9wKCkgY29uc3QgeyByZXR1cm4gbV9tYXJnaW5Ub3A7IH0K
LSAgICB2aXJ0dWFsIGludCBtYXJnaW5Cb3R0b20oKSBjb25zdCB7IHJldHVybiBtX21hcmdpbkJv
dHRvbTsgfQotICAgIHZpcnR1YWwgaW50IG1hcmdpbkxlZnQoKSBjb25zdCB7IHJldHVybiBtX21h
cmdpbkxlZnQ7IH0KLSAgICB2aXJ0dWFsIGludCBtYXJnaW5SaWdodCgpIGNvbnN0IHsgcmV0dXJu
IG1fbWFyZ2luUmlnaHQ7IH0KLSAgICB2b2lkIHNldE1hcmdpblRvcChpbnQgbWFyZ2luKSB7IG1f
bWFyZ2luVG9wID0gbWFyZ2luOyB9Ci0gICAgdm9pZCBzZXRNYXJnaW5Cb3R0b20oaW50IG1hcmdp
bikgeyBtX21hcmdpbkJvdHRvbSA9IG1hcmdpbjsgfQotICAgIHZvaWQgc2V0TWFyZ2luTGVmdChp
bnQgbWFyZ2luKSB7IG1fbWFyZ2luTGVmdCA9IG1hcmdpbjsgfQotICAgIHZvaWQgc2V0TWFyZ2lu
UmlnaHQoaW50IG1hcmdpbikgeyBtX21hcmdpblJpZ2h0ID0gbWFyZ2luOyB9Ci0gICAgdmlydHVh
bCBpbnQgbWFyZ2luQmVmb3JlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWFyZ2luQWZ0ZXIo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXJnaW5TdGFydCgpIGNvbnN0OwotICAgIHZpcnR1
YWwgaW50IG1hcmdpbkVuZCgpIGNvbnN0OwotICAgIHZvaWQgc2V0TWFyZ2luU3RhcnQoaW50KTsK
LSAgICB2b2lkIHNldE1hcmdpbkVuZChpbnQpOwotICAgIHZvaWQgc2V0TWFyZ2luQmVmb3JlKGlu
dCk7Ci0gICAgdm9pZCBzZXRNYXJnaW5BZnRlcihpbnQpOworICAgIHZpcnR1YWwgTGF5b3V0VW5p
dCBtYXJnaW5Ub3AoKSBjb25zdCB7IHJldHVybiBtX21hcmdpblRvcDsgfQorICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBtYXJnaW5Cb3R0b20oKSBjb25zdCB7IHJldHVybiBtX21hcmdpbkJvdHRvbTsg
fQorICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5MZWZ0KCkgY29uc3QgeyByZXR1cm4gbV9t
YXJnaW5MZWZ0OyB9CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblJpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gbV9tYXJnaW5SaWdodDsgfQorICAgIHZvaWQgc2V0TWFyZ2luVG9wKExheW91dFVu
aXQgbWFyZ2luKSB7IG1fbWFyZ2luVG9wID0gbWFyZ2luOyB9CisgICAgdm9pZCBzZXRNYXJnaW5C
b3R0b20oTGF5b3V0VW5pdCBtYXJnaW4pIHsgbV9tYXJnaW5Cb3R0b20gPSBtYXJnaW47IH0KKyAg
ICB2b2lkIHNldE1hcmdpbkxlZnQoTGF5b3V0VW5pdCBtYXJnaW4pIHsgbV9tYXJnaW5MZWZ0ID0g
bWFyZ2luOyB9CisgICAgdm9pZCBzZXRNYXJnaW5SaWdodChMYXlvdXRVbml0IG1hcmdpbikgeyBt
X21hcmdpblJpZ2h0ID0gbWFyZ2luOyB9CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkJl
Zm9yZSgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5BZnRlcigpIGNvbnN0
OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5TdGFydCgpIGNvbnN0OworICAgIHZpcnR1
YWwgTGF5b3V0VW5pdCBtYXJnaW5FbmQoKSBjb25zdDsKKyAgICB2b2lkIHNldE1hcmdpblN0YXJ0
KExheW91dFVuaXQpOworICAgIHZvaWQgc2V0TWFyZ2luRW5kKExheW91dFVuaXQpOworICAgIHZv
aWQgc2V0TWFyZ2luQmVmb3JlKExheW91dFVuaXQpOworICAgIHZvaWQgc2V0TWFyZ2luQWZ0ZXIo
TGF5b3V0VW5pdCk7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIGZpdmUgZnVuY3Rpb25zIGFyZSB1
c2VkIHRvIGltcGxlbWVudCBjb2xsYXBzaW5nIG1hcmdpbnMuCiAgICAgLy8gQWxsIG9iamVjdHMg
a25vdyB0aGVpciBtYXhpbWFsIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBtYXJnaW5zLiAgVGhlCkBA
IC00NzAsMTAgKzQ3MCwxMCBAQCBwcml2YXRlOgogICAgIExheW91dFJlY3QgbV9mcmFtZVJlY3Q7
CiAKIHByb3RlY3RlZDoKLSAgICBpbnQgbV9tYXJnaW5MZWZ0OwotICAgIGludCBtX21hcmdpblJp
Z2h0OwotICAgIGludCBtX21hcmdpblRvcDsKLSAgICBpbnQgbV9tYXJnaW5Cb3R0b207CisgICAg
TGF5b3V0VW5pdCBtX21hcmdpbkxlZnQ7CisgICAgTGF5b3V0VW5pdCBtX21hcmdpblJpZ2h0Owor
ICAgIExheW91dFVuaXQgbV9tYXJnaW5Ub3A7CisgICAgTGF5b3V0VW5pdCBtX21hcmdpbkJvdHRv
bTsKIAogICAgIC8vIFRoZSBwcmVmZXJyZWQgbG9naWNhbCB3aWR0aCBvZiB0aGUgZWxlbWVudCBp
ZiBpdCB3ZXJlIHRvIGJyZWFrIGl0cyBsaW5lcyBhdCBldmVyeSBwb3NzaWJsZSBvcHBvcnR1bml0
eS4KICAgICBpbnQgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAkocmV2aXNpb24gOTAw
MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAko
d29ya2luZyBjb3B5KQpAQCAtMTAyLDE0ICsxMDIsMTQgQEAgcHVibGljOgogICAgIGludCBib3Jk
ZXJMb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBib3JkZXJMZWZ0KCkgOiBib3JkZXJUb3AoKTsgfQogICAgIGludCBib3JkZXJM
b2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gYm9yZGVyUmlnaHQoKSA6IGJvcmRlckJvdHRvbSgpOyB9CiAKLSAgICB2aXJ0dWFs
IGludCBtYXJnaW5Ub3AoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBpbnQgbWFyZ2luQm90dG9t
KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgaW50IG1hcmdpbkxlZnQoKSBjb25zdCA9IDA7Ci0g
ICAgdmlydHVhbCBpbnQgbWFyZ2luUmlnaHQoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBpbnQg
bWFyZ2luQmVmb3JlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgaW50IG1hcmdpbkFmdGVyKCkg
Y29uc3QgPSAwOwotICAgIHZpcnR1YWwgaW50IG1hcmdpblN0YXJ0KCkgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgaW50IG1hcmdpbkVuZCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIExheW91dFVu
aXQgbWFyZ2luVG9wKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5C
b3R0b20oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkxlZnQoKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblJpZ2h0KCkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5CZWZvcmUoKSBjb25zdCA9IDA7CisgICAg
dmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkFmdGVyKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBtYXJnaW5TdGFydCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIExheW91dFVu
aXQgbWFyZ2luRW5kKCkgY29uc3QgPSAwOwogCiAgICAgYm9vbCBoYXNJbmxpbmVEaXJlY3Rpb25C
b3JkZXJzUGFkZGluZ09yTWFyZ2luKCkgY29uc3QgeyByZXR1cm4gaGFzSW5saW5lRGlyZWN0aW9u
Qm9yZGVyc09yUGFkZGluZygpIHx8IG1hcmdpblN0YXJ0KCl8fCBtYXJnaW5FbmQoKTsgfQogICAg
IGJvb2wgaGFzSW5saW5lRGlyZWN0aW9uQm9yZGVyc09yUGFkZGluZygpIGNvbnN0IHsgcmV0dXJu
IGJvcmRlclN0YXJ0KCkgfHwgYm9yZGVyRW5kKCkgfHwgcGFkZGluZ1N0YXJ0KCl8fCBwYWRkaW5n
RW5kKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3Bw
CShyZXZpc2lvbiA5MDAzMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NDcsNyArNjQ3LDcgQEAgTGF5b3V0VW5pdCBSZW5k
ZXJJbmxpbmU6Om9mZnNldFRvcCgpIGNvbgogICAgIHJldHVybiB5OwogfQogCi1zdGF0aWMgaW50
IGNvbXB1dGVNYXJnaW4oY29uc3QgUmVuZGVySW5saW5lKiByZW5kZXJlciwgY29uc3QgTGVuZ3Ro
JiBtYXJnaW4pCitzdGF0aWMgTGF5b3V0VW5pdCBjb21wdXRlTWFyZ2luKGNvbnN0IFJlbmRlcklu
bGluZSogcmVuZGVyZXIsIGNvbnN0IExlbmd0aCYgbWFyZ2luKQogewogICAgIGlmIChtYXJnaW4u
aXNBdXRvKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtNjU4LDQyICs2NTgsNDIgQEAgc3RhdGlj
IGludCBjb21wdXRlTWFyZ2luKGNvbnN0IFJlbmRlcklubAogICAgIHJldHVybiAwOwogfQogCi1p
bnQgUmVuZGVySW5saW5lOjptYXJnaW5MZWZ0KCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVySW5s
aW5lOjptYXJnaW5MZWZ0KCkgY29uc3QKIHsKICAgICByZXR1cm4gY29tcHV0ZU1hcmdpbih0aGlz
LCBzdHlsZSgpLT5tYXJnaW5MZWZ0KCkpOwogfQogCi1pbnQgUmVuZGVySW5saW5lOjptYXJnaW5S
aWdodCgpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlcklubGluZTo6bWFyZ2luUmlnaHQoKSBjb25z
dAogewogICAgIHJldHVybiBjb21wdXRlTWFyZ2luKHRoaXMsIHN0eWxlKCktPm1hcmdpblJpZ2h0
KCkpOwogfQogCi1pbnQgUmVuZGVySW5saW5lOjptYXJnaW5Ub3AoKSBjb25zdAorTGF5b3V0VW5p
dCBSZW5kZXJJbmxpbmU6Om1hcmdpblRvcCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNvbXB1dGVN
YXJnaW4odGhpcywgc3R5bGUoKS0+bWFyZ2luVG9wKCkpOwogfQogCi1pbnQgUmVuZGVySW5saW5l
OjptYXJnaW5Cb3R0b20oKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJJbmxpbmU6Om1hcmdpbkJv
dHRvbSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNvbXB1dGVNYXJnaW4odGhpcywgc3R5bGUoKS0+
bWFyZ2luQm90dG9tKCkpOwogfQogCi1pbnQgUmVuZGVySW5saW5lOjptYXJnaW5TdGFydCgpIGNv
bnN0CitMYXlvdXRVbml0IFJlbmRlcklubGluZTo6bWFyZ2luU3RhcnQoKSBjb25zdAogewogICAg
IHJldHVybiBjb21wdXRlTWFyZ2luKHRoaXMsIHN0eWxlKCktPm1hcmdpblN0YXJ0KCkpOwogfQog
Ci1pbnQgUmVuZGVySW5saW5lOjptYXJnaW5FbmQoKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJJ
bmxpbmU6Om1hcmdpbkVuZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNvbXB1dGVNYXJnaW4odGhp
cywgc3R5bGUoKS0+bWFyZ2luRW5kKCkpOwogfQogCi1pbnQgUmVuZGVySW5saW5lOjptYXJnaW5C
ZWZvcmUoKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJJbmxpbmU6Om1hcmdpbkJlZm9yZSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGNvbXB1dGVNYXJnaW4odGhpcywgc3R5bGUoKS0+bWFyZ2luQmVm
b3JlKCkpOwogfQogCi1pbnQgUmVuZGVySW5saW5lOjptYXJnaW5BZnRlcigpIGNvbnN0CitMYXlv
dXRVbml0IFJlbmRlcklubGluZTo6bWFyZ2luQWZ0ZXIoKSBjb25zdAogewogICAgIHJldHVybiBj
b21wdXRlTWFyZ2luKHRoaXMsIHN0eWxlKCktPm1hcmdpbkFmdGVyKCkpOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkocmV2aXNpb24gOTAwMzIpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM5LDE0ICszOSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVu
ZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IDApOwogCi0g
ICAgdmlydHVhbCBpbnQgbWFyZ2luTGVmdCgpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IG1hcmdp
blJpZ2h0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWFyZ2luVG9wKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBpbnQgbWFyZ2luQm90dG9tKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWFyZ2lu
QmVmb3JlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWFyZ2luQWZ0ZXIoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGludCBtYXJnaW5TdGFydCgpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IG1hcmdp
bkVuZCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5MZWZ0KCkgY29uc3Q7
CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblJpZ2h0KCkgY29uc3Q7CisgICAgdmlydHVh
bCBMYXlvdXRVbml0IG1hcmdpblRvcCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBt
YXJnaW5Cb3R0b20oKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luQmVmb3Jl
KCkgY29uc3Q7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkFmdGVyKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblN0YXJ0KCkgY29uc3Q7CisgICAgdmlydHVhbCBM
YXlvdXRVbml0IG1hcmdpbkVuZCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIGFic29sdXRl
UmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0
KTsKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCShyZXZpc2lvbiA5MDAzMikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTk5LDggKzk5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50UmVjdCBzZWxlY3Rpb25S
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9v
bCBjbGlwVG9WaXNpYmxlQ29udGVudCA9IHRydWUpOwogICAgIHZpcnR1YWwgSW50UmVjdCBsb2Nh
bENhcmV0UmVjdChJbmxpbmVCb3gqLCBpbnQgY2FyZXRPZmZzZXQsIGludCogZXh0cmFXaWR0aFRv
RW5kT2ZMaW5lID0gMCk7CiAKLSAgICB2aXJ0dWFsIGludCBtYXJnaW5MZWZ0KCkgY29uc3QgeyBy
ZXR1cm4gc3R5bGUoKS0+bWFyZ2luTGVmdCgpLmNhbGNNaW5WYWx1ZSgwKTsgfQotICAgIHZpcnR1
YWwgaW50IG1hcmdpblJpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+bWFyZ2luUmlnaHQo
KS5jYWxjTWluVmFsdWUoMCk7IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luTGVmdCgp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPm1hcmdpbkxlZnQoKS5jYWxjTWluVmFsdWUoMCk7IH0K
KyAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luUmlnaHQoKSBjb25zdCB7IHJldHVybiBzdHls
ZSgpLT5tYXJnaW5SaWdodCgpLmNhbGNNaW5WYWx1ZSgwKTsgfQogCiAgICAgdmlydHVhbCBJbnRS
ZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>