<?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>78796</bug_id>
          
          <creation_ts>2012-02-16 03:15:02 -0800</creation_ts>
          <short_desc>[Refactoring] Remove location  from NodeRenderingContext.</short_desc>
          <delta_ts>2012-02-16 20:14:11 -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>DOM</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>hayato</cc>
    
    <cc>morrita</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558045</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-16 03:15:02 -0800</bug_when>
    <thetext>We had location and phase in NodeRenderingContext because we had to traverse a shadow tree twice to attach it.
Currently we don&apos;t traverse it twice, we should be able to make NodeRenderingContext much simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558068</commentid>
    <comment_count>1</comment_count>
      <attachid>127354</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-16 04:08:40 -0800</bug_when>
    <thetext>Created attachment 127354
Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558727</commentid>
    <comment_count>2</comment_count>
      <attachid>127477</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-16 17:17:04 -0800</bug_when>
    <thetext>Created attachment 127477
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558742</commentid>
    <comment_count>3</comment_count>
      <attachid>127477</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-16 17:29:14 -0800</bug_when>
    <thetext>Comment on attachment 127477
Patch

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

basically looks good. Let&apos;s take small time to make the intention clear.

&gt; Source/WebCore/dom/NodeRenderingContext.h:79
&gt;      };

It&apos;s time to give good name for these phase.
Could you pick some relevant word from the Shadow DOM node composition algorithm?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558761</commentid>
    <comment_count>4</comment_count>
      <attachid>127485</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-16 17:49:27 -0800</bug_when>
    <thetext>Created attachment 127485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558845</commentid>
    <comment_count>5</comment_count>
      <attachid>127485</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 20:14:05 -0800</bug_when>
    <thetext>Comment on attachment 127485
Patch

Clearing flags on attachment: 127485

Committed r108021: &lt;http://trac.webkit.org/changeset/108021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558846</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 20:14:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127354</attachid>
            <date>2012-02-16 04:08:40 -0800</date>
            <delta_ts>2012-02-16 17:16:59 -0800</delta_ts>
            <desc>Test</desc>
            <filename>bug-78796-20120216210839.patch</filename>
            <type>text/plain</type>
            <size>4654</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3ODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5k
ZXJpbmdDb250ZXh0LmNwcAppbmRleCA2YzkwYjYxOWFhMDIxMTA5YWUxNjhhNjk0NWYxZDdjYjA4
YTQyMzVhLi5kYTg0NDQ2NjhiZGZjN2NkZGU1OWM3MWMyNDExNjJiNjMyODhmMDM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ0LDggKzQ0LDEw
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpOb2RlUmVu
ZGVyaW5nQ29udGV4dChOb2RlKiBub2RlKQorI2lmIDAKICAgICA6IG1fbG9jYXRpb24oTG9jYXRp
b25Ob3RJblRyZWUpCi0gICAgLCBtX3BoYXNlKEF0dGFjaFN0cmFpZ2h0KQorI2VuZGlmCisgICAg
OiBtX3BoYXNlKEF0dGFjaFN0cmFpZ2h0KQogICAgICwgbV9ub2RlKG5vZGUpCiAgICAgLCBtX3Bh
cmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSgwKQogICAgICwgbV92aXN1YWxQYXJlbnRTaGFk
b3dSb290KDApCkBAIC01OCwxMiArNjAsMTggQEAgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Ok5vZGVS
ZW5kZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChw
YXJlbnQtPmlzU2hhZG93Um9vdCgpKSB7CisjaWYgMAogICAgICAgICBtX2xvY2F0aW9uID0gTG9j
YXRpb25TaGFkb3dDaGlsZDsKKyNlbHNlCisgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hTaGFkb3c7
CisjZW5kaWYKICAgICAgICAgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBwYXJl
bnQtPnNoYWRvd0hvc3QoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorI2lmIDAKICAgICBt
X2xvY2F0aW9uID0gTG9jYXRpb25MaWdodENoaWxkOworI2VuZGlmCiAKICAgICBpZiAocGFyZW50
LT5pc0VsZW1lbnROb2RlKCkpIHsKICAgICAgICAgaWYgKHRvRWxlbWVudChwYXJlbnQpLT5oYXNT
aGFkb3dSb290KCkpCkBAIC05Niw4ICsxMDQsMTAgQEAgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Ok5v
ZGVSZW5kZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiB9CiAKIE5vZGVSZW5kZXJpbmdDb250ZXh0
OjpOb2RlUmVuZGVyaW5nQ29udGV4dChOb2RlKiBub2RlLCBSZW5kZXJTdHlsZSogc3R5bGUpCisj
aWYgMAogICAgIDogbV9sb2NhdGlvbihMb2NhdGlvblVuZGV0ZXJtaW5lZCkKLSAgICAsIG1fcGhh
c2UoQXR0YWNoU3RyYWlnaHQpCisjZW5kaWYKKyAgICA6IG1fcGhhc2UoQXR0YWNoU3RyYWlnaHQp
CiAgICAgLCBtX25vZGUobm9kZSkKICAgICAsIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0
eWxlKDApCiAgICAgLCBtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QoMCkKQEAgLTE3Miw3ICsxODIs
OSBAQCBzdGF0aWMgUmVuZGVyT2JqZWN0KiBsYXN0UmVuZGVyZXJPZihIVE1MQ29udGVudEVsZW1l
bnQqIHBhcmVudCkKIAogUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bmV4dFJl
bmRlcmVyKCkgY29uc3QKIHsKKyNpZiAwCiAgICAgQVNTRVJUKG1fbm9kZS0+cmVuZGVyZXIoKSB8
fCBtX2xvY2F0aW9uICE9IExvY2F0aW9uVW5kZXRlcm1pbmVkKTsKKyNlbmRpZgogICAgIGlmIChS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gbV9ub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1
cm4gcmVuZGVyZXItPm5leHRTaWJsaW5nKCk7CiAKQEAgLTIxMSw3ICsyMjMsMTAgQEAgUmVuZGVy
T2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bmV4dFJlbmRlcmVyKCkgY29uc3QKIAogUmVu
ZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cHJldmlvdXNSZW5kZXJlcigpIGNvbnN0
CiB7CisjaWYgMAogICAgIEFTU0VSVChtX25vZGUtPnJlbmRlcmVyKCkgfHwgbV9sb2NhdGlvbiAh
PSBMb2NhdGlvblVuZGV0ZXJtaW5lZCk7CisjZW5kaWYKKwogICAgIGlmIChSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyID0gbV9ub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVyZXIt
PnByZXZpb3VzU2libGluZygpOwogCkBAIC0yNDgsMTQgKzI2MywxOCBAQCBSZW5kZXJPYmplY3Qq
IE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwcmV2aW91c1JlbmRlcmVyKCkgY29uc3QKIFJlbmRlck9i
amVjdCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRlcmVyKCkgY29uc3QKIHsKICAg
ICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1fbm9kZS0+cmVuZGVyZXIoKSkgeworI2lm
IDAKICAgICAgICAgQVNTRVJUKG1fbG9jYXRpb24gPT0gTG9jYXRpb25VbmRldGVybWluZWQpOwor
I2VuZGlmCiAgICAgICAgIHJldHVybiByZW5kZXJlci0+cGFyZW50KCk7CiAgICAgfQogCiAgICAg
aWYgKG1fcGFyZW50Rmxvd1JlbmRlcmVyKQogICAgICAgICByZXR1cm4gbV9wYXJlbnRGbG93UmVu
ZGVyZXI7CiAKKyNpZiAwCiAgICAgQVNTRVJUKG1fbG9jYXRpb24gIT0gTG9jYXRpb25VbmRldGVy
bWluZWQpOworI2VuZGlmCiAgICAgcmV0dXJuIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0
eWxlID8gbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUtPnJlbmRlcmVyKCkgOiAwOwog
fQogCkBAIC0yNjcsMTcgKzI4NiwyOCBAQCB2b2lkIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojpob3N0
Q2hpbGRyZW5DaGFuZ2VkKCkKIAogYm9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoKSBjb25zdAogeworI2lmIDAKICAgICBBU1NFUlQobV9sb2NhdGlvbiAhPSBM
b2NhdGlvblVuZGV0ZXJtaW5lZCk7CisjZW5kaWYKICAgICBBU1NFUlQocGFyZW50Tm9kZUZvclJl
bmRlcmluZ0FuZFN0eWxlKCkpOwogCisjaWYgMAogICAgIGlmIChtX2xvY2F0aW9uID09IExvY2F0
aW9uTm90SW5UcmVlIHx8IG1fcGhhc2UgPT0gQXR0YWNoQ29udGVudExpZ2h0KQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CisjZWxzZQorICAgIGlmIChtX3BoYXNlID09IEF0dGFjaENvbnRlbnRMaWdo
dCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiAKICAgICBSZW5kZXJPYmplY3QqIHBh
cmVudFJlbmRlcmVyID0gdGhpcy0+cGFyZW50UmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJl
bmRlcmVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiAwCiAgICAgaWYgKG1fbG9jYXRp
b24gPT0gTG9jYXRpb25MaWdodENoaWxkICYmIG1fcGhhc2UgPT0gQXR0YWNoU3RyYWlnaHQpIHsK
KyNlbHNlCisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoU3RyYWlnaHQpIHsKKyNlbmRpZgogICAg
ICAgICAvLyBGSVhNRTogSWdub3JpbmcgY2FuSGF2ZUNoaWxkcmVuKCkgaW4gYSBjYXNlIG9mIHNo
YWRvdyBjaGlsZHJlbiBtaWdodCBiZSB3cm9uZy4KICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQyMwogICAgICAgICBpZiAoIXBhcmVudFJl
bmRlcmVyLT5jYW5IYXZlQ2hpbGRyZW4oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJp
bmdDb250ZXh0LmgKaW5kZXggMzM3MWIwM2NiZDA0ZDM1YjVmMjExM2FmZjU1YjAwODFlYjg4YTM2
ZC4uNjIyNmQxZjcyZTQ4Mzg2Y2E1NmJjYTc0YmI5NzMwYzQ1MTMxYjAyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTY4LDIxICs2OCwyNiBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAKKyNpZiAwCiAgICAgZW51bSBUcmVlTG9jYXRpb24gewogICAgICAg
ICBMb2NhdGlvblVuZGV0ZXJtaW5lZCwKICAgICAgICAgTG9jYXRpb25Ob3RJblRyZWUsCiAgICAg
ICAgIExvY2F0aW9uTGlnaHRDaGlsZCwKICAgICAgICAgTG9jYXRpb25TaGFkb3dDaGlsZCwKICAg
ICB9OworI2VuZGlmCiAKICAgICBlbnVtIEF0dGFjaFBoYXNlIHsKICAgICAgICAgQXR0YWNoU3Ry
YWlnaHQsCisgICAgICAgIEF0dGFjaFNoYWRvdywKICAgICAgICAgQXR0YWNoQ29udGVudExpZ2h0
LAogICAgICAgICBBdHRhY2hDb250ZW50Rm9yd2FyZGVkLAogICAgICAgICBBdHRhY2hDb250ZW50
RmFsbGJhY2ssCiAgICAgfTsKIAorI2lmIDAKICAgICBUcmVlTG9jYXRpb24gbV9sb2NhdGlvbjsK
KyNlbmRpZgogICAgIEF0dGFjaFBoYXNlIG1fcGhhc2U7CiAgICAgTm9kZSogbV9ub2RlOwogICAg
IENvbnRhaW5lck5vZGUqIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlOwpAQCAtMTAw
LDcgKzEwNSw5IEBAIGlubGluZSBOb2RlKiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bm9kZSgpIGNv
bnN0CiAKIGlubGluZSBDb250YWluZXJOb2RlKiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cGFyZW50
Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlKCkgY29uc3QKIHsKKyNpZiAwCiAgICAgQVNTRVJUKG1f
bG9jYXRpb24gIT0gTG9jYXRpb25VbmRldGVybWluZWQpOworI2VuZGlmCiAgICAgcmV0dXJuIG1f
cGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127477</attachid>
            <date>2012-02-16 17:17:04 -0800</date>
            <delta_ts>2012-02-16 17:49:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78796-20120217101702.patch</filename>
            <type>text/plain</type>
            <size>9861</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVkNGVhMGY1MDlkMjY3
NmZjYTUzMDZjZmUzNzhiMDRiMWQ2NjhlZS4uYTUzYzBhNTcyM2FjZWRhZWYyNDNlNzJhMzhhMTQ4
YWU0OWJiMDIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTE2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jp
bmddIFJlbW92ZSBsb2NhdGlvbiBmcm9tIE5vZGVSZW5kZXJpbmdDb250ZXh0LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc2ltcGxlIHJl
ZmFjdG9yaW5nIHRvIHJlbW92ZSBtX2xvY2F0aW9uIGZyb20gTm9kZVJlbmRlcmluZ0NvbnRleHQu
CisgICAgICAgIFRyZWVMb2NhdGlvbiBpcyBtZXJnZWQgaW50byBBdHRhY2hQaGFzZSBsaWtlIHRo
ZSBmb2xsb3dpbmcuCisgICAgICAgICAgICBMb2NhdGlvblVuZGVydGVybWluZWQgLT4gQXR0YWNo
VW5rbm93bgorICAgICAgICAgICAgTG9jYXRpb25Ob3RJblRyZWUgLT4gQXR0YWNoTm90SW5UcmVl
CisgICAgICAgICAgICBMb2NhdGlvbkxpZ2h0Q2hpbGQgLT4gQXR0YWNoU3RyYWlnaHQgLyBBdHRh
Y2hOb3RTZWxlY3RlZCAvIEF0dGFjaEZvcndhcmRlZAorICAgICAgICAgICAgTG9jYXRpb25TaGFk
b3dDaGlsZCAtPiBBdHRhY2hTdHJhaWdodCAvIEF0dGFjaFNoYWRvdyAvIEF0dGFjaEZhbGxiYWNr
CisKKyAgICAgICAgV2UgaGF2ZSByZW5hbWVkIHRoZSBlbnVtIGl0ZW1zIG9mIEF0dGFjaFBoYXNl
LCBiZWNhdXNlIG5vdCBvbmx5IDxjb250ZW50PiBidXQgYWxzbworICAgICAgICA8c2hhZG93PiB3
aWxsIHVzZSB0aGUgcGhhc2VzLiBTbyAnQ29udGVudCcgaW4gbmFtZSBpcyByZW1vdmVkLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICog
ZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5k
ZXJpbmdDb250ZXh0OjpOb2RlUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlUmVuZGVyaW5nQ29udGV4dDo6bmV4dFJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGVSZW5kZXJpbmdDb250ZXh0OjpwcmV2aW91c1JlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAq
IGRvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAoTm9kZVJlbmRlcmluZ0NvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudE5vZGVG
b3JSZW5kZXJpbmdBbmRTdHlsZSk6CisKIDIwMTItMDItMTUgIFNoaW55YSBLYXdhbmFrYSAgPHNo
aW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBhbiBpbnRlcm5hbCBmbGFnIHRvIGFj
Y2VwdCBtdWx0aXBsZSBzaGFkb3cgcm9vdHMgZm9yIHRoZSBwdXJwb3NlIG9mIHRlc3RzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNmM5MGI2MTlh
YTAyMTEwOWFlMTY4YTY5NDVmMWQ3Y2IwOGE0MjM1YS4uNDc2YzlmZDVjY2Q2ZGJmYjZhYWE5NGFj
NWVmNzJkODljNTlkZTM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5k
ZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC00NCw4ICs0NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE5vZGVS
ZW5kZXJpbmdDb250ZXh0OjpOb2RlUmVuZGVyaW5nQ29udGV4dChOb2RlKiBub2RlKQotICAgIDog
bV9sb2NhdGlvbihMb2NhdGlvbk5vdEluVHJlZSkKLSAgICAsIG1fcGhhc2UoQXR0YWNoU3RyYWln
aHQpCisgICAgOiBtX3BoYXNlKEF0dGFjaE5vdEluVHJlZSkKICAgICAsIG1fbm9kZShub2RlKQog
ICAgICwgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoMCkKICAgICAsIG1fdmlzdWFs
UGFyZW50U2hhZG93Um9vdCgwKQpAQCAtNTgsMTMgKzU3LDExIEBAIE5vZGVSZW5kZXJpbmdDb250
ZXh0OjpOb2RlUmVuZGVyaW5nQ29udGV4dChOb2RlKiBub2RlKQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAocGFyZW50LT5pc1NoYWRvd1Jvb3QoKSkgewotICAgICAgICBtX2xvY2F0aW9uID0g
TG9jYXRpb25TaGFkb3dDaGlsZDsKKyAgICAgICAgbV9waGFzZSA9IEF0dGFjaFNoYWRvdzsKICAg
ICAgICAgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBwYXJlbnQtPnNoYWRvd0hv
c3QoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fbG9jYXRpb24gPSBMb2NhdGlv
bkxpZ2h0Q2hpbGQ7Ci0KICAgICBpZiAocGFyZW50LT5pc0VsZW1lbnROb2RlKCkpIHsKICAgICAg
ICAgaWYgKHRvRWxlbWVudChwYXJlbnQpLT5oYXNTaGFkb3dSb290KCkpCiAgICAgICAgICAgICBt
X3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QgPSB0b0VsZW1lbnQocGFyZW50KS0+c2hhZG93Um9vdExp
c3QoKS0+eW91bmdlc3RTaGFkb3dSb290KCk7CkBAIC03MiwxMiArNjksMTIgQEAgTm9kZVJlbmRl
cmluZ0NvbnRleHQ6Ok5vZGVSZW5kZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiAgICAgICAgIGlm
IChtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QpIHsKICAgICAgICAgICAgIGlmICgobV9pbnNlcnRp
b25Qb2ludCA9IG1fdmlzdWFsUGFyZW50U2hhZG93Um9vdC0+aW5zZXJ0aW9uUG9pbnRGb3IobV9u
b2RlKSkKICAgICAgICAgICAgICAgICAmJiBtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QtPmlzU2Vs
ZWN0b3JBY3RpdmUoKSkgewotICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hDb250ZW50
Rm9yd2FyZGVkOworICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hGb3J3YXJkZWQ7CiAg
ICAgICAgICAgICAgICAgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBOb2RlUmVu
ZGVyaW5nQ29udGV4dChtX2luc2VydGlvblBvaW50KS5wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5k
U3R5bGUoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgIG1fcGhhc2UgPSBBdHRhY2hDb250ZW50TGlnaHQ7CisgICAgICAgICAgICBtX3BoYXNl
ID0gQXR0YWNoTm90U2VsZWN0ZWQ7CiAgICAgICAgICAgICBtX3BhcmVudE5vZGVGb3JSZW5kZXJp
bmdBbmRTdHlsZSA9IHBhcmVudDsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAt
ODUsMTkgKzgyLDE5IEBAIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpOb2RlUmVuZGVyaW5nQ29udGV4
dChOb2RlKiBub2RlKQogICAgICAgICBpZiAocGFyZW50LT5pc0NvbnRlbnRFbGVtZW50KCkpIHsK
ICAgICAgICAgICAgIEhUTUxDb250ZW50RWxlbWVudCogc2hhZG93Q29udGVudEVsZW1lbnQgPSB0
b0hUTUxDb250ZW50RWxlbWVudChwYXJlbnQpOwogICAgICAgICAgICAgaWYgKCFzaGFkb3dDb250
ZW50RWxlbWVudC0+aGFzU2VsZWN0aW9uKCkpIHsKLSAgICAgICAgICAgICAgICBtX3BoYXNlID0g
QXR0YWNoQ29udGVudEZhbGxiYWNrOworICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hG
YWxsYmFjazsKICAgICAgICAgICAgICAgICBtX3BhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHls
ZSA9IE5vZGVSZW5kZXJpbmdDb250ZXh0KHBhcmVudCkucGFyZW50Tm9kZUZvclJlbmRlcmluZ0Fu
ZFN0eWxlKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgfQogCisgICAgbV9waGFzZSA9IEF0dGFjaFN0cmFpZ2h0OwogICAgIG1fcGFyZW50
Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlID0gcGFyZW50OwogfQogCiBOb2RlUmVuZGVyaW5nQ29u
dGV4dDo6Tm9kZVJlbmRlcmluZ0NvbnRleHQoTm9kZSogbm9kZSwgUmVuZGVyU3R5bGUqIHN0eWxl
KQotICAgIDogbV9sb2NhdGlvbihMb2NhdGlvblVuZGV0ZXJtaW5lZCkKLSAgICAsIG1fcGhhc2Uo
QXR0YWNoU3RyYWlnaHQpCisgICAgOiBtX3BoYXNlKEF0dGFjaFVua25vd24pCiAgICAgLCBtX25v
ZGUobm9kZSkKICAgICAsIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlKDApCiAgICAg
LCBtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QoMCkKQEAgLTE3MiwxNCArMTY5LDE0IEBAIHN0YXRp
YyBSZW5kZXJPYmplY3QqIGxhc3RSZW5kZXJlck9mKEhUTUxDb250ZW50RWxlbWVudCogcGFyZW50
KQogCiBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpuZXh0UmVuZGVyZXIoKSBj
b25zdAogewotICAgIEFTU0VSVChtX25vZGUtPnJlbmRlcmVyKCkgfHwgbV9sb2NhdGlvbiAhPSBM
b2NhdGlvblVuZGV0ZXJtaW5lZCk7CisgICAgQVNTRVJUKG1fbm9kZS0+cmVuZGVyZXIoKSB8fCBt
X3BoYXNlICE9IEF0dGFjaFVua25vd24pOwogICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
ID0gbV9ub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVyZXItPm5leHRTaWJs
aW5nKCk7CiAKICAgICBpZiAobV9wYXJlbnRGbG93UmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBt
X3BhcmVudEZsb3dSZW5kZXJlci0+bmV4dFJlbmRlcmVyRm9yTm9kZShtX25vZGUpOwogCi0gICAg
aWYgKG1fcGhhc2UgPT0gQXR0YWNoQ29udGVudEZvcndhcmRlZCkgeworICAgIGlmIChtX3BoYXNl
ID09IEF0dGFjaEZvcndhcmRlZCkgewogICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBmb3VuZCA9
IG5leHRSZW5kZXJlck9mKG1faW5zZXJ0aW9uUG9pbnQsIG1fbm9kZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gZm91bmQ7CiAgICAgICAgIHJldHVybiBOb2RlUmVuZGVyaW5nQ29udGV4dChtX2luc2Vy
dGlvblBvaW50KS5uZXh0UmVuZGVyZXIoKTsKQEAgLTE4Nyw3ICsxODQsNyBAQCBSZW5kZXJPYmpl
Y3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpuZXh0UmVuZGVyZXIoKSBjb25zdAogCiAgICAgLy8g
QXZvaWQgYW4gTyhuXjIpIHByb2JsZW0gd2l0aCB0aGlzIGZ1bmN0aW9uIGJ5IG5vdCBjaGVja2lu
ZyBmb3IKICAgICAvLyBuZXh0UmVuZGVyZXIoKSB3aGVuIHRoZSBwYXJlbnQgZWxlbWVudCBoYXNu
J3QgYXR0YWNoZWQgeWV0LgotICAgIGlmIChtX25vZGUtPnBhcmVudE9ySG9zdE5vZGUoKSAmJiAh
bV9ub2RlLT5wYXJlbnRPckhvc3ROb2RlKCktPmF0dGFjaGVkKCkgJiYgbV9waGFzZSAhPSBBdHRh
Y2hDb250ZW50RmFsbGJhY2spCisgICAgaWYgKG1fbm9kZS0+cGFyZW50T3JIb3N0Tm9kZSgpICYm
ICFtX25vZGUtPnBhcmVudE9ySG9zdE5vZGUoKS0+YXR0YWNoZWQoKSAmJiBtX3BoYXNlICE9IEF0
dGFjaEZhbGxiYWNrKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGZvciAoTm9kZSogbm9kZSA9
IG1fbm9kZS0+bmV4dFNpYmxpbmcoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkp
IHsKQEAgLTIwMyw3ICsyMDAsNyBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0
OjpuZXh0UmVuZGVyZXIoKSBjb25zdAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKG1fcGhh
c2UgPT0gQXR0YWNoQ29udGVudEZhbGxiYWNrKQorICAgIGlmIChtX3BoYXNlID09IEF0dGFjaEZh
bGxiYWNrKQogICAgICAgICByZXR1cm4gTm9kZVJlbmRlcmluZ0NvbnRleHQobV9ub2RlLT5wYXJl
bnROb2RlKCkpLm5leHRSZW5kZXJlcigpOwogCiAgICAgcmV0dXJuIDA7CkBAIC0yMTEsMTQgKzIw
OCwxNSBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpuZXh0UmVuZGVyZXIo
KSBjb25zdAogCiBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwcmV2aW91c1Jl
bmRlcmVyKCkgY29uc3QKIHsKLSAgICBBU1NFUlQobV9ub2RlLT5yZW5kZXJlcigpIHx8IG1fbG9j
YXRpb24gIT0gTG9jYXRpb25VbmRldGVybWluZWQpOworICAgIEFTU0VSVChtX25vZGUtPnJlbmRl
cmVyKCkgfHwgbV9waGFzZSAhPSBBdHRhY2hVbmtub3duKTsKKwogICAgIGlmIChSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyID0gbV9ub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVy
ZXItPnByZXZpb3VzU2libGluZygpOwogCiAgICAgaWYgKG1fcGFyZW50Rmxvd1JlbmRlcmVyKQog
ICAgICAgICByZXR1cm4gbV9wYXJlbnRGbG93UmVuZGVyZXItPnByZXZpb3VzUmVuZGVyZXJGb3JO
b2RlKG1fbm9kZSk7CiAKLSAgICBpZiAobV9waGFzZSA9PSBBdHRhY2hDb250ZW50Rm9yd2FyZGVk
KSB7CisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoRm9yd2FyZGVkKSB7CiAgICAgICAgIGlmIChS
ZW5kZXJPYmplY3QqIGZvdW5kID0gcHJldmlvdXNSZW5kZXJlck9mKG1faW5zZXJ0aW9uUG9pbnQs
IG1fbm9kZSkpCiAgICAgICAgICAgICByZXR1cm4gZm91bmQ7CiAgICAgICAgIHJldHVybiBOb2Rl
UmVuZGVyaW5nQ29udGV4dChtX2luc2VydGlvblBvaW50KS5wcmV2aW91c1JlbmRlcmVyKCk7CkBA
IC0yMzksNyArMjM3LDcgQEAgUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cHJl
dmlvdXNSZW5kZXJlcigpIGNvbnN0CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAobV9waGFz
ZSA9PSBBdHRhY2hDb250ZW50RmFsbGJhY2spCisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoRmFs
bGJhY2spCiAgICAgICAgIHJldHVybiBOb2RlUmVuZGVyaW5nQ29udGV4dChtX25vZGUtPnBhcmVu
dE5vZGUoKSkucHJldmlvdXNSZW5kZXJlcigpOwogCiAgICAgcmV0dXJuIDA7CkBAIC0yNDgsMzYg
KzI0NiwzNiBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwcmV2aW91c1Jl
bmRlcmVyKCkgY29uc3QKIFJlbmRlck9iamVjdCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVu
dFJlbmRlcmVyKCkgY29uc3QKIHsKICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1f
bm9kZS0+cmVuZGVyZXIoKSkgewotICAgICAgICBBU1NFUlQobV9sb2NhdGlvbiA9PSBMb2NhdGlv
blVuZGV0ZXJtaW5lZCk7CisgICAgICAgIEFTU0VSVChtX3BoYXNlID09IEF0dGFjaFVua25vd24p
OwogICAgICAgICByZXR1cm4gcmVuZGVyZXItPnBhcmVudCgpOwogICAgIH0KIAogICAgIGlmICht
X3BhcmVudEZsb3dSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1JlbmRlcmVy
OwogCi0gICAgQVNTRVJUKG1fbG9jYXRpb24gIT0gTG9jYXRpb25VbmRldGVybWluZWQpOworICAg
IEFTU0VSVChtX3BoYXNlICE9IEF0dGFjaFVua25vd24pOwogICAgIHJldHVybiBtX3BhcmVudE5v
ZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSA/IG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxl
LT5yZW5kZXJlcigpIDogMDsKIH0KIAogdm9pZCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6aG9zdENo
aWxkcmVuQ2hhbmdlZCgpCiB7Ci0gICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoQ29udGVudExpZ2h0
KQorICAgIGlmIChtX3BoYXNlID09IEF0dGFjaE5vdFNlbGVjdGVkKQogICAgICAgICBtX3Zpc3Vh
bFBhcmVudFNoYWRvd1Jvb3QtPmhvc3RDaGlsZHJlbkNoYW5nZWQoKTsKIH0KIAogYm9vbCBOb2Rl
UmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSBjb25zdAogewotICAgIEFT
U0VSVChtX2xvY2F0aW9uICE9IExvY2F0aW9uVW5kZXRlcm1pbmVkKTsKKyAgICBBU1NFUlQobV9w
aGFzZSAhPSBBdHRhY2hVbmtub3duKTsKICAgICBBU1NFUlQocGFyZW50Tm9kZUZvclJlbmRlcmlu
Z0FuZFN0eWxlKCkpOwogCi0gICAgaWYgKG1fbG9jYXRpb24gPT0gTG9jYXRpb25Ob3RJblRyZWUg
fHwgbV9waGFzZSA9PSBBdHRhY2hDb250ZW50TGlnaHQpCisgICAgaWYgKG1fcGhhc2UgPT0gQXR0
YWNoTm90SW5UcmVlIHx8IG1fcGhhc2UgPT0gQXR0YWNoTm90U2VsZWN0ZWQpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIgPSB0aGlzLT5w
YXJlbnRSZW5kZXJlcigpOwogICAgIGlmICghcGFyZW50UmVuZGVyZXIpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmIChtX2xvY2F0aW9uID09IExvY2F0aW9uTGlnaHRDaGlsZCAmJiBt
X3BoYXNlID09IEF0dGFjaFN0cmFpZ2h0KSB7CisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoU3Ry
YWlnaHQpIHsKICAgICAgICAgLy8gRklYTUU6IElnbm9yaW5nIGNhbkhhdmVDaGlsZHJlbigpIGlu
IGEgY2FzZSBvZiBzaGFkb3cgY2hpbGRyZW4gbWlnaHQgYmUgd3JvbmcuCiAgICAgICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MjMKICAgICAgICAg
aWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDMzNzFiMDNjYmQwNGQzNWI1ZjIxMTNhZmY1
NWIwMDgxZWI4OGEzNmQuLmE3ZjY1MWIxZDRhYTYyMGQ0YzcxMDYxM2FhYzY0ZGZiN2IzODIzNjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCkBAIC02OCwyMSAr
NjgsMTYgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgZW51bSBUcmVlTG9jYXRpb24gewot
ICAgICAgICBMb2NhdGlvblVuZGV0ZXJtaW5lZCwKLSAgICAgICAgTG9jYXRpb25Ob3RJblRyZWUs
Ci0gICAgICAgIExvY2F0aW9uTGlnaHRDaGlsZCwKLSAgICAgICAgTG9jYXRpb25TaGFkb3dDaGls
ZCwKLSAgICB9OwotCiAgICAgZW51bSBBdHRhY2hQaGFzZSB7CisgICAgICAgIEF0dGFjaFVua25v
d24sCisgICAgICAgIEF0dGFjaE5vdEluVHJlZSwKKyAgICAgICAgQXR0YWNoTm90U2VsZWN0ZWQs
CiAgICAgICAgIEF0dGFjaFN0cmFpZ2h0LAotICAgICAgICBBdHRhY2hDb250ZW50TGlnaHQsCi0g
ICAgICAgIEF0dGFjaENvbnRlbnRGb3J3YXJkZWQsCi0gICAgICAgIEF0dGFjaENvbnRlbnRGYWxs
YmFjaywKKyAgICAgICAgQXR0YWNoU2hhZG93LAorICAgICAgICBBdHRhY2hGb3J3YXJkZWQsCisg
ICAgICAgIEF0dGFjaEZhbGxiYWNrCiAgICAgfTsKIAotICAgIFRyZWVMb2NhdGlvbiBtX2xvY2F0
aW9uOwogICAgIEF0dGFjaFBoYXNlIG1fcGhhc2U7CiAgICAgTm9kZSogbV9ub2RlOwogICAgIENv
bnRhaW5lck5vZGUqIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlOwpAQCAtMTAwLDcg
Kzk1LDcgQEAgaW5saW5lIE5vZGUqIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojpub2RlKCkgY29uc3QK
IAogaW5saW5lIENvbnRhaW5lck5vZGUqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnROb2Rl
Rm9yUmVuZGVyaW5nQW5kU3R5bGUoKSBjb25zdAogewotICAgIEFTU0VSVChtX2xvY2F0aW9uICE9
IExvY2F0aW9uVW5kZXRlcm1pbmVkKTsKKyAgICBBU1NFUlQobV9waGFzZSAhPSBBdHRhY2hVbmtu
b3duKTsKICAgICByZXR1cm4gbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127485</attachid>
            <date>2012-02-16 17:49:27 -0800</date>
            <delta_ts>2012-02-16 20:14:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78796-20120217104926.patch</filename>
            <type>text/plain</type>
            <size>10261</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVkNGVhMGY1MDlkMjY3
NmZjYTUzMDZjZmUzNzhiMDRiMWQ2NjhlZS4uNDdhNjNjNWYxMTY1YmQzOGYxMGFjZjllMWNjNjE1
MDFmYTJhYTIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTE2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jp
bmddIFJlbW92ZSBsb2NhdGlvbiBmcm9tIE5vZGVSZW5kZXJpbmdDb250ZXh0LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc2ltcGxlIHJl
ZmFjdG9yaW5nIHRvIHJlbW92ZSBtX2xvY2F0aW9uIGZyb20gTm9kZVJlbmRlcmluZ0NvbnRleHQu
CisgICAgICAgIFRyZWVMb2NhdGlvbiBpcyBtZXJnZWQgaW50byBBdHRhY2hQaGFzZSBsaWtlIHRo
ZSBmb2xsb3dpbmcuCisgICAgICAgICAgICBMb2NhdGlvblVuZGVydGVybWluZWQgLT4gQ2FsY3Vs
YXRpbmcKKyAgICAgICAgICAgIExvY2F0aW9uTm90SW5UcmVlIC0+IEF0dGFjaGluZ05vdEluVHJl
ZQorICAgICAgICAgICAgTG9jYXRpb25MaWdodENoaWxkIC0+IEF0dGFjaGluZ1N0cmFpZ2h0IC8g
QXR0YWNoaW5nTm90RGlzdHJpYnV0ZWQgLyBBdHRhY2hpbmdEaXN0cmlidXRlZAorICAgICAgICAg
ICAgTG9jYXRpb25TaGFkb3dDaGlsZCAtPiBBdHRhY2hpbmdTdHJhaWdodCAvIEF0dGFjaGluZ1No
YWRvd0NoaWxkIC8gQXR0YWNoaW5nRmFsbGJhY2sKKworICAgICAgICBXZSBoYXZlIHJlbmFtZWQg
dGhlIGVudW0gaXRlbXMgb2YgQXR0YWNoUGhhc2UsIGJlY2F1c2Ugbm90IG9ubHkgPGNvbnRlbnQ+
IGJ1dCBhbHNvCisgICAgICAgIDxzaGFkb3c+IHdpbGwgdXNlIHRoZSBwaGFzZXMuIEJhc2ljYWxs
eSB0aGVzZSB3b3JkcyBhcmUgdGFrZW4gZnJvbSBTaGFkb3cgRE9NIHNwZWMuCisgICAgICAgICdD
YWxjdWxhdGluZycgbWVhbnMgTm9kZVJlbmRlcmluZ0NvbnRleHQgaXMgdXNlZCBub3QgZm9yIGF0
dGFjaGluZyBidXQgZm9yIGNhbGN1bGF0aW5nIFJlbmRlck9iamVjdC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGRvbS9Ob2RlUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4
dDo6Tm9kZVJlbmRlcmluZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmlu
Z0NvbnRleHQ6Om5leHRSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5n
Q29udGV4dDo6cHJldmlvdXNSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVy
aW5nQ29udGV4dDo6cGFyZW50UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRl
cmluZ0NvbnRleHQ6OnNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBkb20vTm9kZVJl
bmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKE5vZGVSZW5kZXJpbmdDb250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnROb2RlRm9yUmVuZGVyaW5n
QW5kU3R5bGUpOgorCiAyMDEyLTAyLTE1ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBBZGQgYW4gaW50ZXJuYWwgZmxhZyB0byBhY2NlcHQgbXVsdGlw
bGUgc2hhZG93IHJvb3RzIGZvciB0aGUgcHVycG9zZSBvZiB0ZXN0cy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDZjOTBiNjE5YWEwMjExMDlhZTE2
OGE2OTQ1ZjFkN2NiMDhhNDIzNWEuLjE0YjhkZWI4ODI2M2FiMTUyZjk4ZTA5ZGQwNWFlMjhjZTZi
NDMyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcApA
QCAtNDQsOCArNDQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBOb2RlUmVuZGVyaW5nQ29u
dGV4dDo6Tm9kZVJlbmRlcmluZ0NvbnRleHQoTm9kZSogbm9kZSkKLSAgICA6IG1fbG9jYXRpb24o
TG9jYXRpb25Ob3RJblRyZWUpCi0gICAgLCBtX3BoYXNlKEF0dGFjaFN0cmFpZ2h0KQorICAgIDog
bV9waGFzZShBdHRhY2hpbmdOb3RJblRyZWUpCiAgICAgLCBtX25vZGUobm9kZSkKICAgICAsIG1f
cGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlKDApCiAgICAgLCBtX3Zpc3VhbFBhcmVudFNo
YWRvd1Jvb3QoMCkKQEAgLTU4LDEzICs1NywxMSBAQCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6Tm9k
ZVJlbmRlcmluZ0NvbnRleHQoTm9kZSogbm9kZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KHBhcmVudC0+aXNTaGFkb3dSb290KCkpIHsKLSAgICAgICAgbV9sb2NhdGlvbiA9IExvY2F0aW9u
U2hhZG93Q2hpbGQ7CisgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hpbmdTaGFkb3dDaGlsZDsKICAg
ICAgICAgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBwYXJlbnQtPnNoYWRvd0hv
c3QoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fbG9jYXRpb24gPSBMb2NhdGlv
bkxpZ2h0Q2hpbGQ7Ci0KICAgICBpZiAocGFyZW50LT5pc0VsZW1lbnROb2RlKCkpIHsKICAgICAg
ICAgaWYgKHRvRWxlbWVudChwYXJlbnQpLT5oYXNTaGFkb3dSb290KCkpCiAgICAgICAgICAgICBt
X3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QgPSB0b0VsZW1lbnQocGFyZW50KS0+c2hhZG93Um9vdExp
c3QoKS0+eW91bmdlc3RTaGFkb3dSb290KCk7CkBAIC03MiwxMiArNjksMTIgQEAgTm9kZVJlbmRl
cmluZ0NvbnRleHQ6Ok5vZGVSZW5kZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiAgICAgICAgIGlm
IChtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QpIHsKICAgICAgICAgICAgIGlmICgobV9pbnNlcnRp
b25Qb2ludCA9IG1fdmlzdWFsUGFyZW50U2hhZG93Um9vdC0+aW5zZXJ0aW9uUG9pbnRGb3IobV9u
b2RlKSkKICAgICAgICAgICAgICAgICAmJiBtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QtPmlzU2Vs
ZWN0b3JBY3RpdmUoKSkgewotICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hDb250ZW50
Rm9yd2FyZGVkOworICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBBdHRhY2hpbmdEaXN0cmlidXRl
ZDsKICAgICAgICAgICAgICAgICBtX3BhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSA9IE5v
ZGVSZW5kZXJpbmdDb250ZXh0KG1faW5zZXJ0aW9uUG9pbnQpLnBhcmVudE5vZGVGb3JSZW5kZXJp
bmdBbmRTdHlsZSgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgbV9waGFzZSA9IEF0dGFjaENvbnRlbnRMaWdodDsKKyAgICAgICAgICAgIG1f
cGhhc2UgPSBBdHRhY2hpbmdOb3REaXN0cmlidXRlZDsKICAgICAgICAgICAgIG1fcGFyZW50Tm9k
ZUZvclJlbmRlcmluZ0FuZFN0eWxlID0gcGFyZW50OwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CkBAIC04NSwxOSArODIsMTkgQEAgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Ok5vZGVSZW5k
ZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiAgICAgICAgIGlmIChwYXJlbnQtPmlzQ29udGVudEVs
ZW1lbnQoKSkgewogICAgICAgICAgICAgSFRNTENvbnRlbnRFbGVtZW50KiBzaGFkb3dDb250ZW50
RWxlbWVudCA9IHRvSFRNTENvbnRlbnRFbGVtZW50KHBhcmVudCk7CiAgICAgICAgICAgICBpZiAo
IXNoYWRvd0NvbnRlbnRFbGVtZW50LT5oYXNTZWxlY3Rpb24oKSkgewotICAgICAgICAgICAgICAg
IG1fcGhhc2UgPSBBdHRhY2hDb250ZW50RmFsbGJhY2s7CisgICAgICAgICAgICAgICAgbV9waGFz
ZSA9IEF0dGFjaGluZ0ZhbGxiYWNrOwogICAgICAgICAgICAgICAgIG1fcGFyZW50Tm9kZUZvclJl
bmRlcmluZ0FuZFN0eWxlID0gTm9kZVJlbmRlcmluZ0NvbnRleHQocGFyZW50KS5wYXJlbnROb2Rl
Rm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBtX3BoYXNlID0gQXR0YWNoaW5nU3RyYWln
aHQ7CiAgICAgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBwYXJlbnQ7CiB9CiAK
IE5vZGVSZW5kZXJpbmdDb250ZXh0OjpOb2RlUmVuZGVyaW5nQ29udGV4dChOb2RlKiBub2RlLCBS
ZW5kZXJTdHlsZSogc3R5bGUpCi0gICAgOiBtX2xvY2F0aW9uKExvY2F0aW9uVW5kZXRlcm1pbmVk
KQotICAgICwgbV9waGFzZShBdHRhY2hTdHJhaWdodCkKKyAgICA6IG1fcGhhc2UoQ2FsY3VsYXRp
bmcpCiAgICAgLCBtX25vZGUobm9kZSkKICAgICAsIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0Fu
ZFN0eWxlKDApCiAgICAgLCBtX3Zpc3VhbFBhcmVudFNoYWRvd1Jvb3QoMCkKQEAgLTE3MiwxNCAr
MTY5LDE0IEBAIHN0YXRpYyBSZW5kZXJPYmplY3QqIGxhc3RSZW5kZXJlck9mKEhUTUxDb250ZW50
RWxlbWVudCogcGFyZW50KQogCiBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojpu
ZXh0UmVuZGVyZXIoKSBjb25zdAogewotICAgIEFTU0VSVChtX25vZGUtPnJlbmRlcmVyKCkgfHwg
bV9sb2NhdGlvbiAhPSBMb2NhdGlvblVuZGV0ZXJtaW5lZCk7CisgICAgQVNTRVJUKG1fbm9kZS0+
cmVuZGVyZXIoKSB8fCBtX3BoYXNlICE9IENhbGN1bGF0aW5nKTsKICAgICBpZiAoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciA9IG1fbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHJlbmRl
cmVyLT5uZXh0U2libGluZygpOwogCiAgICAgaWYgKG1fcGFyZW50Rmxvd1JlbmRlcmVyKQogICAg
ICAgICByZXR1cm4gbV9wYXJlbnRGbG93UmVuZGVyZXItPm5leHRSZW5kZXJlckZvck5vZGUobV9u
b2RlKTsKIAotICAgIGlmIChtX3BoYXNlID09IEF0dGFjaENvbnRlbnRGb3J3YXJkZWQpIHsKKyAg
ICBpZiAobV9waGFzZSA9PSBBdHRhY2hpbmdEaXN0cmlidXRlZCkgewogICAgICAgICBpZiAoUmVu
ZGVyT2JqZWN0KiBmb3VuZCA9IG5leHRSZW5kZXJlck9mKG1faW5zZXJ0aW9uUG9pbnQsIG1fbm9k
ZSkpCiAgICAgICAgICAgICByZXR1cm4gZm91bmQ7CiAgICAgICAgIHJldHVybiBOb2RlUmVuZGVy
aW5nQ29udGV4dChtX2luc2VydGlvblBvaW50KS5uZXh0UmVuZGVyZXIoKTsKQEAgLTE4Nyw3ICsx
ODQsNyBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpuZXh0UmVuZGVyZXIo
KSBjb25zdAogCiAgICAgLy8gQXZvaWQgYW4gTyhuXjIpIHByb2JsZW0gd2l0aCB0aGlzIGZ1bmN0
aW9uIGJ5IG5vdCBjaGVja2luZyBmb3IKICAgICAvLyBuZXh0UmVuZGVyZXIoKSB3aGVuIHRoZSBw
YXJlbnQgZWxlbWVudCBoYXNuJ3QgYXR0YWNoZWQgeWV0LgotICAgIGlmIChtX25vZGUtPnBhcmVu
dE9ySG9zdE5vZGUoKSAmJiAhbV9ub2RlLT5wYXJlbnRPckhvc3ROb2RlKCktPmF0dGFjaGVkKCkg
JiYgbV9waGFzZSAhPSBBdHRhY2hDb250ZW50RmFsbGJhY2spCisgICAgaWYgKG1fbm9kZS0+cGFy
ZW50T3JIb3N0Tm9kZSgpICYmICFtX25vZGUtPnBhcmVudE9ySG9zdE5vZGUoKS0+YXR0YWNoZWQo
KSAmJiBtX3BoYXNlICE9IEF0dGFjaGluZ0ZhbGxiYWNrKQogICAgICAgICByZXR1cm4gMDsKIAog
ICAgIGZvciAoTm9kZSogbm9kZSA9IG1fbm9kZS0+bmV4dFNpYmxpbmcoKTsgbm9kZTsgbm9kZSA9
IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKQEAgLTIwMyw3ICsyMDAsNyBAQCBSZW5kZXJPYmplY3Qq
IE5vZGVSZW5kZXJpbmdDb250ZXh0OjpuZXh0UmVuZGVyZXIoKSBjb25zdAogICAgICAgICB9CiAg
ICAgfQogCi0gICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoQ29udGVudEZhbGxiYWNrKQorICAgIGlm
IChtX3BoYXNlID09IEF0dGFjaGluZ0ZhbGxiYWNrKQogICAgICAgICByZXR1cm4gTm9kZVJlbmRl
cmluZ0NvbnRleHQobV9ub2RlLT5wYXJlbnROb2RlKCkpLm5leHRSZW5kZXJlcigpOwogCiAgICAg
cmV0dXJuIDA7CkBAIC0yMTEsMTQgKzIwOCwxNSBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJp
bmdDb250ZXh0OjpuZXh0UmVuZGVyZXIoKSBjb25zdAogCiBSZW5kZXJPYmplY3QqIE5vZGVSZW5k
ZXJpbmdDb250ZXh0OjpwcmV2aW91c1JlbmRlcmVyKCkgY29uc3QKIHsKLSAgICBBU1NFUlQobV9u
b2RlLT5yZW5kZXJlcigpIHx8IG1fbG9jYXRpb24gIT0gTG9jYXRpb25VbmRldGVybWluZWQpOwor
ICAgIEFTU0VSVChtX25vZGUtPnJlbmRlcmVyKCkgfHwgbV9waGFzZSAhPSBDYWxjdWxhdGluZyk7
CisKICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1fbm9kZS0+cmVuZGVyZXIoKSkK
ICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLT5wcmV2aW91c1NpYmxpbmcoKTsKIAogICAgIGlmICht
X3BhcmVudEZsb3dSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1JlbmRlcmVy
LT5wcmV2aW91c1JlbmRlcmVyRm9yTm9kZShtX25vZGUpOwogCi0gICAgaWYgKG1fcGhhc2UgPT0g
QXR0YWNoQ29udGVudEZvcndhcmRlZCkgeworICAgIGlmIChtX3BoYXNlID09IEF0dGFjaGluZ0Rp
c3RyaWJ1dGVkKSB7CiAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIGZvdW5kID0gcHJldmlvdXNS
ZW5kZXJlck9mKG1faW5zZXJ0aW9uUG9pbnQsIG1fbm9kZSkpCiAgICAgICAgICAgICByZXR1cm4g
Zm91bmQ7CiAgICAgICAgIHJldHVybiBOb2RlUmVuZGVyaW5nQ29udGV4dChtX2luc2VydGlvblBv
aW50KS5wcmV2aW91c1JlbmRlcmVyKCk7CkBAIC0yMzksNyArMjM3LDcgQEAgUmVuZGVyT2JqZWN0
KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cHJldmlvdXNSZW5kZXJlcigpIGNvbnN0CiAgICAgICAg
IH0KICAgICB9CiAKLSAgICBpZiAobV9waGFzZSA9PSBBdHRhY2hDb250ZW50RmFsbGJhY2spCisg
ICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoaW5nRmFsbGJhY2spCiAgICAgICAgIHJldHVybiBOb2Rl
UmVuZGVyaW5nQ29udGV4dChtX25vZGUtPnBhcmVudE5vZGUoKSkucHJldmlvdXNSZW5kZXJlcigp
OwogCiAgICAgcmV0dXJuIDA7CkBAIC0yNDgsMzYgKzI0NiwzNiBAQCBSZW5kZXJPYmplY3QqIE5v
ZGVSZW5kZXJpbmdDb250ZXh0OjpwcmV2aW91c1JlbmRlcmVyKCkgY29uc3QKIFJlbmRlck9iamVj
dCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRlcmVyKCkgY29uc3QKIHsKICAgICBp
ZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1fbm9kZS0+cmVuZGVyZXIoKSkgewotICAgICAg
ICBBU1NFUlQobV9sb2NhdGlvbiA9PSBMb2NhdGlvblVuZGV0ZXJtaW5lZCk7CisgICAgICAgIEFT
U0VSVChtX3BoYXNlID09IENhbGN1bGF0aW5nKTsKICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLT5w
YXJlbnQoKTsKICAgICB9CiAKICAgICBpZiAobV9wYXJlbnRGbG93UmVuZGVyZXIpCiAgICAgICAg
IHJldHVybiBtX3BhcmVudEZsb3dSZW5kZXJlcjsKIAotICAgIEFTU0VSVChtX2xvY2F0aW9uICE9
IExvY2F0aW9uVW5kZXRlcm1pbmVkKTsKKyAgICBBU1NFUlQobV9waGFzZSAhPSBDYWxjdWxhdGlu
Zyk7CiAgICAgcmV0dXJuIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlID8gbV9wYXJl
bnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUtPnJlbmRlcmVyKCkgOiAwOwogfQogCiB2b2lkIE5v
ZGVSZW5kZXJpbmdDb250ZXh0Ojpob3N0Q2hpbGRyZW5DaGFuZ2VkKCkKIHsKLSAgICBpZiAobV9w
aGFzZSA9PSBBdHRhY2hDb250ZW50TGlnaHQpCisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoaW5n
Tm90RGlzdHJpYnV0ZWQpCiAgICAgICAgIG1fdmlzdWFsUGFyZW50U2hhZG93Um9vdC0+aG9zdENo
aWxkcmVuQ2hhbmdlZCgpOwogfQogCiBib29sIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRD
cmVhdGVSZW5kZXJlcigpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1fbG9jYXRpb24gIT0gTG9jYXRp
b25VbmRldGVybWluZWQpOworICAgIEFTU0VSVChtX3BoYXNlICE9IENhbGN1bGF0aW5nKTsKICAg
ICBBU1NFUlQocGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlKCkpOwogCi0gICAgaWYgKG1f
bG9jYXRpb24gPT0gTG9jYXRpb25Ob3RJblRyZWUgfHwgbV9waGFzZSA9PSBBdHRhY2hDb250ZW50
TGlnaHQpCisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoaW5nTm90SW5UcmVlIHx8IG1fcGhhc2Ug
PT0gQXR0YWNoaW5nTm90RGlzdHJpYnV0ZWQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIgPSB0aGlzLT5wYXJlbnRSZW5kZXJlcigpOwog
ICAgIGlmICghcGFyZW50UmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
IChtX2xvY2F0aW9uID09IExvY2F0aW9uTGlnaHRDaGlsZCAmJiBtX3BoYXNlID09IEF0dGFjaFN0
cmFpZ2h0KSB7CisgICAgaWYgKG1fcGhhc2UgPT0gQXR0YWNoaW5nU3RyYWlnaHQpIHsKICAgICAg
ICAgLy8gRklYTUU6IElnbm9yaW5nIGNhbkhhdmVDaGlsZHJlbigpIGluIGEgY2FzZSBvZiBzaGFk
b3cgY2hpbGRyZW4gbWlnaHQgYmUgd3JvbmcuCiAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MjMKICAgICAgICAgaWYgKCFwYXJlbnRSZW5k
ZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZVJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5n
Q29udGV4dC5oCmluZGV4IDMzNzFiMDNjYmQwNGQzNWI1ZjIxMTNhZmY1NWIwMDgxZWI4OGEzNmQu
LmVjYzIyZmUyM2EyYThlNmRlNDc3YmFmMTg5ZjJhMjU4MzhlMDYwMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCkBAIC02NywyMyArNjcsMTcgQEAgcHVibGlj
OgogICAgIHZvaWQgbW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKCk7CiAKIHByaXZhdGU6Ci0KLSAg
ICBlbnVtIFRyZWVMb2NhdGlvbiB7Ci0gICAgICAgIExvY2F0aW9uVW5kZXRlcm1pbmVkLAotICAg
ICAgICBMb2NhdGlvbk5vdEluVHJlZSwKLSAgICAgICAgTG9jYXRpb25MaWdodENoaWxkLAotICAg
ICAgICBMb2NhdGlvblNoYWRvd0NoaWxkLAotICAgIH07Ci0KLSAgICBlbnVtIEF0dGFjaFBoYXNl
IHsKLSAgICAgICAgQXR0YWNoU3RyYWlnaHQsCi0gICAgICAgIEF0dGFjaENvbnRlbnRMaWdodCwK
LSAgICAgICAgQXR0YWNoQ29udGVudEZvcndhcmRlZCwKLSAgICAgICAgQXR0YWNoQ29udGVudEZh
bGxiYWNrLAorICAgIGVudW0gQXR0YWNoaW5nUGhhc2UgeworICAgICAgICBDYWxjdWxhdGluZywK
KyAgICAgICAgQXR0YWNoaW5nU3RyYWlnaHQsCisgICAgICAgIEF0dGFjaGluZ05vdEluVHJlZSwK
KyAgICAgICAgQXR0YWNoaW5nTm90RGlzdHJpYnV0ZWQsCisgICAgICAgIEF0dGFjaGluZ0Rpc3Ry
aWJ1dGVkLAorICAgICAgICBBdHRhY2hpbmdTaGFkb3dDaGlsZCwKKyAgICAgICAgQXR0YWNoaW5n
RmFsbGJhY2ssCiAgICAgfTsKIAotICAgIFRyZWVMb2NhdGlvbiBtX2xvY2F0aW9uOwotICAgIEF0
dGFjaFBoYXNlIG1fcGhhc2U7CisgICAgQXR0YWNoaW5nUGhhc2UgbV9waGFzZTsKICAgICBOb2Rl
KiBtX25vZGU7CiAgICAgQ29udGFpbmVyTm9kZSogbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5k
U3R5bGU7CiAgICAgU2hhZG93Um9vdCogbV92aXN1YWxQYXJlbnRTaGFkb3dSb290OwpAQCAtMTAw
LDcgKzk0LDcgQEAgaW5saW5lIE5vZGUqIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojpub2RlKCkgY29u
c3QKIAogaW5saW5lIENvbnRhaW5lck5vZGUqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRO
b2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKSBjb25zdAogewotICAgIEFTU0VSVChtX2xvY2F0aW9u
ICE9IExvY2F0aW9uVW5kZXRlcm1pbmVkKTsKKyAgICBBU1NFUlQobV9waGFzZSAhPSBDYWxjdWxh
dGluZyk7CiAgICAgcmV0dXJuIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlOwogfQog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>