<?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>102912</bug_id>
          
          <creation_ts>2012-11-21 02:49:06 -0800</creation_ts>
          <short_desc>[Shadow DOM] Implement Element::shadowRoot with prefix</short_desc>
          <delta_ts>2012-12-06 23:29:07 -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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>63606</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>abarth</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>tkent</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772712</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-21 02:49:06 -0800</bug_when>
    <thetext>http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#extensions-to-element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784623</commentid>
    <comment_count>1</comment_count>
      <attachid>177937</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-05 22:20:13 -0800</bug_when>
    <thetext>Created attachment 177937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784791</commentid>
    <comment_count>2</comment_count>
      <attachid>177937</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-06 02:42:34 -0800</bug_when>
    <thetext>Comment on attachment 177937
Patch

Attachment 177937 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15152784

New failing tests:
fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
fast/dom/HTMLMeterElement/meter-writing-mode.html
fast/dom/HTMLInputElement/input-slider-update.html
fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
http/tests/inspector/console-resource-errors.html
fast/forms/number/number-appearance-rtl.html
fast/forms/number/number-appearance-spinbutton-disabled-readonly.html
fast/forms/file/file-style-inheritance.html
http/tests/cookies/single-quoted-value.html
fast/forms/range/input-appearance-range.html
fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
fast/css/input-search-padding.html
fast/forms/control-restrict-line-height.html
fast/forms/file/input-file-re-render.html
fast/forms/file/file-input-disabled.html
fast/forms/range/range-drag.html
fast/dom/HTMLProgressElement/progress-writing-mode.html
fast/forms/file/file-input-direction.html
accessibility/media-element.html
fast/block/block-remove-child-delete-line-box-crash.html
fast/forms/range/range-drag-when-toggled-disabled.html
fast/forms/number/number-size.html
fast/dom/HTMLProgressElement/indeterminate-progress-001.html
fast/dom/HTMLInputElement/input-slider-update-styled.html
fast/forms/number/number-appearance-spinbutton-layer.html
fast/forms/number/number-large-padding.html
fast/dom/HTMLMeterElement/meter-styles.html
fast/forms/box-shadow-override.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784795</commentid>
    <comment_count>3</comment_count>
      <attachid>177937</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-12-06 02:44:43 -0800</bug_when>
    <thetext>Comment on attachment 177937
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1383
&gt; +    if (shadowRoot-&gt;type() != ShadowRoot::AuthorShadowRoot)

Is it worth writing a method with a name that reflects the intent? This condition is shared with olderShadowRoot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785469</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 17:42:44 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1383
&gt; &gt; +    if (shadowRoot-&gt;type() != ShadowRoot::AuthorShadowRoot)
&gt; 
&gt; Is it worth writing a method with a name that reflects the intent? This condition is shared with olderShadowRoot.
Right. isAccessible() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785526</commentid>
    <comment_count>5</comment_count>
      <attachid>178131</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 18:41:03 -0800</bug_when>
    <thetext>Created attachment 178131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785568</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-06 20:04:27 -0800</bug_when>
    <thetext>Wrong patch? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785575</commentid>
    <comment_count>7</comment_count>
      <attachid>178131</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 20:23:04 -0800</bug_when>
    <thetext>Comment on attachment 178131
Patch

;-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785595</commentid>
    <comment_count>8</comment_count>
      <attachid>178151</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 20:58:33 -0800</bug_when>
    <thetext>Created attachment 178151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785596</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 20:59:28 -0800</bug_when>
    <thetext>Fixed broken tests. The patch becomes bigger but most of the diff  is about a renaming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785603</commentid>
    <comment_count>10</comment_count>
      <attachid>178151</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-06 21:06:40 -0800</bug_when>
    <thetext>Comment on attachment 178151
Patch

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

&gt; Source/WebCore/dom/Node.cpp:1381
&gt;      while (root) {

Whoa -- why is this not a treeScope lookup?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785652</commentid>
    <comment_count>11</comment_count>
      <attachid>178151</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 22:43:46 -0800</bug_when>
    <thetext>Comment on attachment 178151
Patch

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

&gt;&gt; Source/WebCore/dom/Node.cpp:1381
&gt;&gt;      while (root) {
&gt; 
&gt; Whoa -- why is this not a treeScope lookup?

Dunno but good catch. IIRC this is a result of a series of refactoring. Filed Bug 104342 for using treeScope().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785667</commentid>
    <comment_count>12</comment_count>
      <attachid>178151</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-06 23:21:15 -0800</bug_when>
    <thetext>Comment on attachment 178151
Patch

Clearing flags on attachment: 178151

Committed r136924: &lt;http://trac.webkit.org/changeset/136924&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785668</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-06 23:21:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177937</attachid>
            <date>2012-12-05 22:20:13 -0800</date>
            <delta_ts>2012-12-06 18:40:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102912-20121206151737.patch</filename>
            <type>text/plain</type>
            <size>5324</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2Nzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM3ZDVmZTczNGNlNWVi
MzNiNDgzZmJhNjkxMTNkOTk5YWY2MTFjMi4uMzdmNTExOTU0NzkzOTRlNWU2OWYyMjc3YWQ3M2Jl
MDdhMmRiNzA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA1ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
SW1wbGVtZW50IEVsZW1lbnQ6OnNoYWRvd1Jvb3Qgd2l0aCBwcmVmaXgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEVsZW1lbnQ6OnNoYWRvd1Jv
b3QoKSB3aGljaCByZXR1cm4gdGhlIHlvdW5nZXN0IGF1dGhvciBzaGFkb3cgcm9vdC4KKworICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLXNoYWRvdy1yb290Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0VsZW1lbnQu
aDoKKyAgICAgICAgKEVsZW1lbnQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKwogMjAx
Mi0xMi0wNSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W1Y4XSBSZW1vdmUgYWRkSW1wbGljaXRSZWZlcmVuY2VzRm9yTm9kZVdpdGhFdmVudExpc3RlbmVy
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMWY3NzUyM2YyODAwNzljN2NhN2U2YmJlOWEy
YjZhY2JiYmY5YmEyYy4uZDY4YTc3NTFhMDhjMTJlMWRlODU1NjE0NjExNTA3OWM3NGJmNzY0ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTM3NCw2ICsxMzc0LDE3IEBAIFBhc3NSZWZQdHI8
U2hhZG93Um9vdD4gRWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdChFeGNlcHRpb25Db2RlJiBlYykK
ICAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIGVjKTsKIH0KIAorU2hhZG93Um9v
dCogRWxlbWVudDo6c2hhZG93Um9vdCgpIGNvbnN0Cit7CisgICAgRWxlbWVudFNoYWRvdyogZWxl
bWVudFNoYWRvdyA9IHNoYWRvdygpOworICAgIGlmICghZWxlbWVudFNoYWRvdykKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IGVsZW1lbnRTaGFkb3ctPnlv
dW5nZXN0U2hhZG93Um9vdCgpOworICAgIGlmIChzaGFkb3dSb290LT50eXBlKCkgIT0gU2hhZG93
Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHNo
YWRvd1Jvb3Q7Cit9CisKIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OnVzZXJBZ2VudFNoYWRvd1Jvb3Qo
KSBjb25zdAogewogICAgIGlmIChFbGVtZW50U2hhZG93KiBlbGVtZW50U2hhZG93ID0gc2hhZG93
KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDAyMThjYmM4YjAyYTgwNmE4NmQxNWU2MWNlZmYw
NGViZDAwZDBlYjEuLmFkNmRhMGVhNTBlMDA3YWVkNGM0NTgyYmFmZjFiNjg3N2RhNzE4YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaApAQCAtMjc3LDYgKzI3Nyw3IEBAIHB1YmxpYzoKICAgICBFbGVtZW50
U2hhZG93KiBzaGFkb3coKSBjb25zdDsKICAgICBFbGVtZW50U2hhZG93KiBlbnN1cmVTaGFkb3co
KTsKICAgICBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZVNoYWRvd1Jvb3QoRXhjZXB0aW9u
Q29kZSYpOworICAgIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QoKSBjb25zdDsKIAogICAgIHZpcnR1
YWwgdm9pZCB3aWxsQWRkQXV0aG9yU2hhZG93Um9vdCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBh
cmVBdXRob3JTaGFkb3dzQWxsb3dlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmlkbAppbmRleCBhMTQyNGM5YWI1YmMyZDg2OTA0NDM3YWQ4ODAzYjgwMTM5ZjE2NWJl
Li40MjRkN2Y2ZWVlYWE0NDZhM2JiNzk0NmVhMjBmYjlmYmQ2MGRhYzQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaWRsCkBAIC0xMjMsNiArMTIzLDcgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9TSEFET1df
RE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTQogICAgIFtSZWZsZWN0LCBWOEVuYWJsZWRBdFJ1bnRp
bWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBzZXVkbzsKICAgICBbVjhFbmFibGVk
QXRSdW50aW1lPXNoYWRvd0RPTSwgSW1wbGVtZW50ZWRBcz1jcmVhdGVTaGFkb3dSb290XSBTaGFk
b3dSb290IHdlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAg
ICBbVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTSwgSW1wbGVtZW50ZWRBcz1zaGFkb3dSb290
XSByZWFkb25seSBhdHRyaWJ1dGUgU2hhZG93Um9vdCB3ZWJraXRTaGFkb3dSb290OwogI2VuZGlm
CiAKICAgICAvLyBET00gNApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDllY2JjODVlMDUwNzAxZTAzMmI3NTc2NjdkOTMwODM0
MzQzZWIzNWQuLmJlMzA2NjU0N2NjYWRkZTcxY2E5MmEwNTE5NTY0NDYxMzAwM2FhMzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0wNSAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdv
b2dsZS5jb20+CisKKyAgICAgICAgW1NoYWRvdyBET01dIEltcGxlbWVudCBFbGVtZW50OjpzaGFk
b3dSb290IHdpdGggcHJlZml4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtc2hhZG93LXJvb3QtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJl
LXNoYWRvdy1yb290Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTA1ICBBbmRyZWkgQnVjdXIgIDxh
YnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgUmVnaW9uc10gQmxvY2tzIGRvbid0IHJl
bGF5b3V0IGNoaWxkcmVuIGlmIHRoZSB3aWR0aCBvZiBhIHJlZ2lvbiBjaGFuZ2VzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLXNoYWRvdy1yb290
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUt
c2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkMjFiOTNiZGI3ZjMyZDJlMzY0
NjQwN2RlYjJkYWNkYjljMzg4MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUZXN0cyBmb3IgU2hhZG93QXdhcmUuc2hhZG93Um9vdCBwcm9wZXJ0eS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaG9zdC53ZWJraXRTaGFkb3dSb290
IGlzIG51bGwKK1BBU1Mgcm9vdDEgaXMgaG9zdC53ZWJraXRTaGFkb3dSb290CitQQVNTIHJvb3Qy
IGlzIGhvc3Qud2Via2l0U2hhZG93Um9vdAorUEFTUyBob3N0V2l0aFVBU2hhZG93LndlYmtpdFNo
YWRvd1Jvb3QgaXMgbnVsbAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctYXdhcmUtc2hhZG93LXJvb3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYXdhcmUtc2hhZG93LXJvb3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWJkM2FlNWZiOGE0ZTM4
YjAxYzJhNzUyODk3MWUxNzc4N2Q3MzhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1zaGFkb3ctcm9vdC5odG1sCkBAIC0wLDAgKzEs
MjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBTaGFkb3dBd2FyZS5zaGFkb3dSb290
IHByb3BlcnR5LiIpOworCit2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
Oworc2hvdWxkQmVOdWxsKCJob3N0LndlYmtpdFNoYWRvd1Jvb3QiKTsKK3ZhciByb290MSA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworc2hvdWxkQmUoInJvb3QxIiwgImhvc3Qud2Vi
a2l0U2hhZG93Um9vdCIpOwordmFyIHJvb3QyID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CitzaG91bGRCZSgicm9vdDIiLCAiaG9zdC53ZWJraXRTaGFkb3dSb290Iik7CisKK3ZhciBo
b3N0V2l0aFVBU2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK3Nob3Vs
ZEJlTnVsbCgiaG9zdFdpdGhVQVNoYWRvdy53ZWJraXRTaGFkb3dSb290Iik7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178131</attachid>
            <date>2012-12-06 18:41:03 -0800</date>
            <delta_ts>2012-12-06 20:58:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102912-20121207113827.patch</filename>
            <type>text/plain</type>
            <size>7018</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA4MjJhOTEzMTg5Yjc3
YmVjMjA0NDllY2EyY2E2YTM4MjM3YmQ4Ny4uNzM0NzFjNjE5ODM4YTkzZjIyYjFjZWFmMzZjYTU3
ZjdhMjI4Y2ZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEyLTA2ICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRGlzYWJs
ZWQgZmlsZSBpbnB1dCBib3ggc3RvcHMgYSBjZXJ0YWluIG90aGVyIGRpdiBmcm9tIGJlaW5nIHJl
bmRlcmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCisKKyAgICAgICAg
VGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IHNldE5lZWRzU3R5bGVSZWNhbGMoKSBjYWxsIGR1cmluZyBz
dHlsZSByZWNhbGN1bGF0aW9uLAorICAgICAgICB3aGljaCByZXN1bHRlZCBpbiBpbmNvbnNpc3Rl
bnQgQ2hpbGROZWVkc1N0eWxlUmVjYWxjIGZsYWdzIGluIERPTSB0cmVlLgorCisgICAgICAgIFdo
ZW4gcmVhdHRhY2ggb2YgZmlsZSBpbnB1dCBoYXBwZW5zIGR1cmluZyBzdHlsZSByZWNhbGN1bGF0
aW9uLAorICAgICAgICBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dXBkYXRlRnJvbUVsZW1lbnQo
KSBpcyBjYWxsZWQgZnJvbSBhdHRhY2goKS4KKyAgICAgICAgSXQgbWF5IGNoYW5nZSB0aGUgZGlz
YWJsZWQgc3RhdGUgb2YgdGhlIHVwbG9hZCBidXR0b24gaW4gaXRzIHNoYWRvdyB0cmVlLAorICAg
ICAgICBidXQgaXQgdHJpZ2dlcnMgc3R5bGUgcmVjYWxjdWxhdGlvbi4KKworICAgICAgICBUaGlz
IHBhdGNoIHNvbHZlcyB0aGlzIGlzc3VlIGJ5IHNldHRpbmcgZGlzYWJsZWQgc3RhdGUgb2YgdGhl
IHVwbG9hZCBidXR0b24gaW4KKyAgICAgICAgRmlsZUlucHV0VHlwZTo6ZGlzYWJsZWRBdHRyaWJ1
dGVDaGFuZ2VkIGluc3RlYWQgb2YgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuCisKKyAgICAgICAg
VGVzdDogZmFzdC9mb3Jtcy9maWxlL3NpYmxpbmctb2YtZGlzYWJsZWQtZmlsZS1pbnB1dC5odG1s
CisKKyAgICAgICAgKiBodG1sL0ZpbGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RmlsZUlucHV0VHlwZTo6ZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAg
ICogaHRtbC9GaWxlSW5wdXRUeXBlLmg6CisgICAgICAgIChGaWxlSW5wdXRUeXBlKTogRGVjbGFy
ZSBkaXNhYmxlZEF0dHJpYnV0ZUNoYW5nZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRD
b250cm9sOjp1cGRhdGVGcm9tRWxlbWVudCk6IFJlbW92ZSBjYWxsIHRvIGJ1dHRvbi0+c2V0RGlz
YWJsZWQoKS4KKwogMjAxMi0xMi0wNiAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRWxlbWVudC5wc2V1ZG8gcHJvcGVydHkgc2hvdWxkIGJlIHByZWZp
eGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCBmNjEwNWNhOTQ2ZjBh
OTllNTBkMDUyMmM1YTI5ZDVlMWYzZjNiMzg4Li4xZWRkNjVhYWUyY2U2ZmE1NDkyMDk5N2M3NzU3
ZjE5MjE3NjU3NzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTMw
Niw2ICszMDYsMTQgQEAgdm9pZCBGaWxlSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkK
ICAgICBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoZWxlbWVu
dCgpLT5tdWx0aXBsZSgpID8gVXBsb2FkQnV0dG9uRWxlbWVudDo6Y3JlYXRlRm9yTXVsdGlwbGUo
ZWxlbWVudCgpLT5kb2N1bWVudCgpKTogVXBsb2FkQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGVsZW1l
bnQoKS0+ZG9jdW1lbnQoKSksIGVjKTsKIH0KIAordm9pZCBGaWxlSW5wdXRUeXBlOjpkaXNhYmxl
ZEF0dHJpYnV0ZUNoYW5nZWQoKQoreworICAgIEFTU0VSVChlbGVtZW50KCktPnNoYWRvdygpKTsK
KyAgICBVcGxvYWRCdXR0b25FbGVtZW50KiBidXR0b24gPSBzdGF0aWNfY2FzdDxVcGxvYWRCdXR0
b25FbGVtZW50Kj4oZWxlbWVudCgpLT51c2VyQWdlbnRTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQo
KSk7CisgICAgaWYgKGJ1dHRvbikKKyAgICAgICAgYnV0dG9uLT5zZXREaXNhYmxlZChlbGVtZW50
KCktPmRpc2FibGVkKCkpOworfQorCiB2b2lkIEZpbGVJbnB1dFR5cGU6Om11bHRpcGxlQXR0cmli
dXRlQ2hhbmdlZCgpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQoKS0+c2hhZG93KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ZpbGVJbnB1dFR5cGUuaAppbmRleCAxMGFjZGU3MDJkODE4ZDg2MWRmYTlmMmI0NWU1
YzNhYjNmZDA1NjU2Li5hMGY0MjkyNjc2YjViYjQ2Y2JhZTk5ZTMyODc0ZTMwMGY4NjY1YWU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaApAQCAtNzEsNiArNzEsNyBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgSWNvbiogaWNvbigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBpc0ZpbGVVcGxvYWQoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY3Jl
YXRlU2hhZG93U3VidHJlZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlZEF0
dHJpYnV0ZUNoYW5nZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbXVsdGlwbGVBdHRy
aWJ1dGVDaGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgZGVmYXVsdFRvb2xU
aXAoKSBjb25zdCBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXggY2U2ZjI3OGI1MjU5YzZmNGM4ZmZj
YjNkNGI1ZTZiNDJjMzAwNzIwNC4uMTg4ZDg1NTk0ZGNkZTc5YjBkMjMxY2RhOWIxNWU4N2QyNzZl
ZTRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxv
YWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuY3BwCkBAIC03MiwxNCArNzIsNiBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRD
b250cm9sOjp1cGRhdGVGcm9tRWxlbWVudCgpCiAgICAgQVNTRVJUKGlucHV0LT5pc0ZpbGVVcGxv
YWQoKSk7CiAKICAgICBpZiAoSFRNTElucHV0RWxlbWVudCogYnV0dG9uID0gdXBsb2FkQnV0dG9u
KCkpIHsKLSAgICAgICAgYm9vbCBuZXdEaXNhYmxlZCA9ICF0aGVtZSgpLT5pc0VuYWJsZWQodGhp
cyk7Ci0gICAgICAgIC8vIFdlIHNob3VsZCBhdm9pZCB0byBjYWxsIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OnNldERpc2FibGVkKCkgYXMKLSAgICAgICAgLy8gcG9zc2libGUgYmVjYXVzZSBzZXRB
dHRyaWJ1dGUoKSBpbiBzZXREaXNhYmxlZCgpIGNhbiBjYXVzZSBzdHlsZQotICAgICAgICAvLyBy
ZWNhbGN1bGF0aW9uLCBhbmQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cmVjYWxjU3R5bGUoKSBj
YWxscwotICAgICAgICAvLyB1cGRhdGVGcm9tRWxlbWVudCgpIGV2ZW50dWFsbHkuCi0gICAgICAg
IGlmIChidXR0b24tPmRpc2FibGVkKCkgIT0gbmV3RGlzYWJsZWQpCi0gICAgICAgICAgICBidXR0
b24tPnNldERpc2FibGVkKG5ld0Rpc2FibGVkKTsKLQogICAgICAgICBib29sIG5ld0NhblJlY2Vp
dmVEcm9wcGVkRmlsZXNTdGF0ZSA9IGlucHV0LT5jYW5SZWNlaXZlRHJvcHBlZEZpbGVzKCk7CiAg
ICAgICAgIGlmIChtX2NhblJlY2VpdmVEcm9wcGVkRmlsZXMgIT0gbmV3Q2FuUmVjZWl2ZURyb3Bw
ZWRGaWxlc1N0YXRlKSB7CiAgICAgICAgICAgICBtX2NhblJlY2VpdmVEcm9wcGVkRmlsZXMgPSBu
ZXdDYW5SZWNlaXZlRHJvcHBlZEZpbGVzU3RhdGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmIwNTFlZDViNjY3MDgzNGFh
NGQzYzI2YWNlNjM0ZjAzOWFkODZlNS4uOWYxMjg5N2FhZWYxZDFjYzM5OGI0MGZkNGZjYmMxMTEy
NmI1ZGYzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEyLTA2ICBLdW5paGlrbyBTYWth
bW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRGlzYWJsZWQgZmlsZSBp
bnB1dCBib3ggc3RvcHMgYSBjZXJ0YWluIG90aGVyIGRpdiBmcm9tIGJlaW5nIHJlbmRlcmVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQyMjYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCisKKyAgICAgICAgQWRkIGEgdGVz
dCB0byBlbnN1cmUgdGhhdCBzaWJsaW5nIG9mIGRpc2FibGVkIGZpbGUgaW5wdXQgaXMgY29ycmVj
dGx5IHJlbmRlcmVkLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL3NpYmxpbmctb2YtZGlz
YWJsZWQtZmlsZS1pbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZmlsZS9zaWJsaW5nLW9mLWRpc2FibGVkLWZpbGUtaW5wdXQuaHRtbDogQWRkZWQuCisKIDIw
MTItMTItMDYgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEVsZW1lbnQucHNldWRvIHByb3BlcnR5IHNob3VsZCBiZSBwcmVmaXhlZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3NpYmxpbmctb2YtZGlzYWJsZWQtZmlsZS1p
bnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvc2libGluZy1v
Zi1kaXNhYmxlZC1maWxlLWlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWUzYTVlNjU3
YmUwOGU2ZjVlNWI1YWQ3NjA2YTZlNjI0OWQ0OTg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9maWxlL3NpYmxpbmctb2YtZGlzYWJsZWQtZmlsZS1pbnB1dC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MjI2IERpc2FibGVkIGZpbGUgaW5wdXQgYm94IHN0b3BzIGEg
Y2VydGFpbiBvdGhlciBkaXYgZnJvbSBiZWluZyByZW5kZXJlZC4KKworCitQQVNTIGlmIHRoaXMg
dGV4dCBpcyB2aXNpYmxlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxl
L3NpYmxpbmctb2YtZGlzYWJsZWQtZmlsZS1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9maWxlL3NpYmxpbmctb2YtZGlzYWJsZWQtZmlsZS1pbnB1dC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZhNTQxODJhMGRjYTNmNzYyZjFlNDc1MjJkYWRjMDIxOTk5YjZjMGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvc2libGluZy1vZi1kaXNhYmxlZC1maWxl
LWlucHV0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorZnVuY3Rp
b24gb25Mb2FkKCkgeworICAgIGRpdjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdjEpOworCisgICAgZGl2MiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGRpdjEuYXBwZW5kQ2hpbGQoZGl2Mik7CisK
KyAgICBmaWxlSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworICAgIGZp
bGVJbnB1dC50eXBlID0gJ2ZpbGUnOworICAgIGZpbGVJbnB1dC5kaXNhYmxlZCA9IHRydWU7Cisg
ICAgZGl2Mi5hcHBlbmRDaGlsZChmaWxlSW5wdXQpOworCisgICAgZGl2VHh0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZGl2Mi5hcHBlbmRDaGlsZChkaXZUeHQpOworCisg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgZGl2VHh0LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCdQQVNTIGlmIHRoaXMgdGV4dCBpcyB2aXNpYmxlLicpKTsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfSwgMSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0ib25Mb2FkKCk7Ij4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQyMjYiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDQyMjY8L2E+CitEaXNhYmxlZCBmaWxlIGlucHV0IGJveCBzdG9wcyBh
IGNlcnRhaW4gb3RoZXIgZGl2IGZyb20gYmVpbmcgcmVuZGVyZWQuCis8L3A+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178151</attachid>
            <date>2012-12-06 20:58:33 -0800</date>
            <delta_ts>2012-12-06 23:21:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102912-20121207135557.patch</filename>
            <type>text/plain</type>
            <size>25680</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM0NzFjNjE5ODM4YTkz
ZjIyYjFjZWFmMzZjYTU3ZjdhMjI4Y2ZjNC4uNDMyZjI4ZGY4NWEyODNiYzg4ODU0OGMyZjk3Y2Vl
NWRmZjU1YjIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEyLTEyLTA2ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
SW1wbGVtZW50IEVsZW1lbnQ6OnNoYWRvd1Jvb3Qgd2l0aCBwcmVmaXgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gQWRkZWQgRWxlbWVudDo6c2hhZG93
Um9vdCgpIHdoaWNoIHJldHVybiB0aGUgeW91bmdlc3QgYXV0aG9yIHNoYWRvdyByb290LgorICAg
ICAgICAtIFJlbmFtZWQgZXhpc3RpbmcgTm9kZTo6c2hhZG93Um9vdCgpIHRvIGNvbnRhaW5pbmdT
aGFkb3dSb290KCkgdG8gYXZvaWQgbmFtZSBzaGFkb3dpbmcuCisgICAgICAgICAgVGhlIG5hbWUg
c2hhZG93Um9vdCgpIGlzIGNvbmZ1c2luZyBhbnl3YXkgc28gdGhpcyBpcyBnb29kIG9wcG9ydHVu
aXR5IHRvIHJlbmFtZSBpdC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWF3YXJlLXNoYWRvdy1yb290Lmh0bWwKKworICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKToK
KyAgICAgICAgKiBjc3MvU3R5bGVTY29wZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlU2NvcGVSZXNvbHZlcjo6c2NvcGVGb3IpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVT
Y29wZVJlc29sdmVyOjphZGRIb3N0UnVsZSk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoRWxlbWVudCk6CisgICAgICAg
ICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OnNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0
dXJlU2V0KToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
OjpyZW5kZXJlcklzRWRpdGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2hhZG93SG9z
dCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpzaGFkb3dBbmNlc3Rvck5vZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Tm9kZTo6Y29udGFpbmluZ1NoYWRvd1Jvb3QpOgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChOb2RlKToKKyAgICAgICAgKiBkb20vUmFuZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2U6OnNoYWRvd1Jvb3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omluc2VydGVkSW50byk6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpyZW1vdmVkRnJvbSk6CisgICAgICAgICogZG9tL1No
YWRvd1Jvb3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmlzQWNjZXNzaWJsZSk6
CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dEl0ZXJhdG9yOjpoYW5kbGVSZXBsYWNlZEVsZW1lbnQpOgorICAgICAgICAqIGVkaXRpbmcv
aHRtbGVkaXRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhGb3JWaXNpYmxlUG9zaXRp
b24pOgorICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MU3R5bGVFbGVtZW50OjpzY29wZWRBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OnJlbW92ZWRGcm9tKToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9I
VE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnRlbnRFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1l
bnQ6Omluc2VydGVkSW50byk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6
OnJlbW92ZWRGcm9tKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2hhZG93RWxlbWVudDo6aW5zZXJ0ZWRJbnRvKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxTaGFkb3dFbGVtZW50OjpyZW1vdmVkRnJvbSk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zZXJ0aW9uUG9pbnQ6OmF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2lu
dDo6ZGV0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50Ojppc0FjdGl2ZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAo
V2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6OnJlbW92ZWRGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc2VydGlvblBvaW50OjpzZXRSZXNldFN0eWxlSW5oZXJpdGFuY2UpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omluc3RhbmNlQXNzb2NpYXRl
ZFdpdGhTaGFkb3dUcmVlRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29ycmVzcG9uZGluZ0VsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Y29sbGVjdEluc3RhbmNlc0ZvclNWR0VsZW1lbnQpOgorCiAyMDEyLTEy
LTA2ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgRGlzYWJsZWQgZmlsZSBpbnB1dCBib3ggc3RvcHMgYSBjZXJ0YWluIG90aGVyIGRpdiBmcm9t
IGJlaW5nIHJlbmRlcmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4
IGQ0ODQxY2EwMmJhZGJhNmExMWZiY2Y5ZjhkNzE0ODA4ZjNlYThlZmMuLmExYmU5YzQzMDE2YmE1
MDk3MmQ3N2E3NWI5MjEyZTJjZWY4NTU3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNo
ZWNrZXIuY3BwCkBAIC00NDgsNyArNDQ4LDcgQEAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1h
dGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWMKIAog
ICAgIGlmIChjb250ZXh0LnNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpQc2V1ZG9F
bGVtZW50KSB7CiAgICAgICAgIGlmIChjb250ZXh0LnNlbGVjdG9yLT5pc0N1c3RvbVBzZXVkb0Vs
ZW1lbnQoKSkgewotICAgICAgICAgICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBjb250ZXh0LmVs
ZW1lbnQtPnNoYWRvd1Jvb3QoKSkgeworICAgICAgICAgICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3Qg
PSBjb250ZXh0LmVsZW1lbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKICAgICAgICAgICAg
ICAgICBpZiAoY29udGV4dC5lbGVtZW50LT5zaGFkb3dQc2V1ZG9JZCgpICE9IGNvbnRleHQuc2Vs
ZWN0b3ItPnZhbHVlKCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxz
TG9jYWxseTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2NvcGVSZXNv
bHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTY29wZVJlc29sdmVyLmNwcAppbmRl
eCA1ZmYyYjNlMGIxMTU0OTk0NDdlMjFjODZmNThmNjQ2MTMwMWNmMGZkLi43NjgxNzI1MzFlYjNh
MjA1ZTVlZjBiYjM0MmNiMGM4ZTI5YmZjYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVTY29wZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVT
Y29wZVJlc29sdmVyLmNwcApAQCAtNjgsNyArNjgsNyBAQCBjb25zdCBDb250YWluZXJOb2RlKiBT
dHlsZVNjb3BlUmVzb2x2ZXI6OnNjb3BlRm9yKGNvbnN0IENTU1N0eWxlU2hlZXQqIHNoZWV0KQog
CiAgICAgSFRNTFN0eWxlRWxlbWVudCogc3R5bGVFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTFN0
eWxlRWxlbWVudCo+KG93bmVyTm9kZSk7CiAgICAgaWYgKCFzdHlsZUVsZW1lbnQtPnNjb3BlZCgp
KQotICAgICAgICByZXR1cm4gc3R5bGVFbGVtZW50LT5pc0luU2hhZG93VHJlZSgpID8gc3R5bGVF
bGVtZW50LT5zaGFkb3dSb290KCkgOiAwOworICAgICAgICByZXR1cm4gc3R5bGVFbGVtZW50LT5p
c0luU2hhZG93VHJlZSgpID8gc3R5bGVFbGVtZW50LT5jb250YWluaW5nU2hhZG93Um9vdCgpIDog
MDsKIAogICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHN0eWxlRWxlbWVudC0+cGFyZW50Tm9k
ZSgpOwogICAgIGlmICghcGFyZW50KQpAQCAtMTc1LDcgKzE3NSw3IEBAIHZvaWQgU3R5bGVTY29w
ZVJlc29sdmVyOjphZGRIb3N0UnVsZShTdHlsZVJ1bGVIb3N0KiBob3N0UnVsZSwgYm9vbCBoYXNE
b2N1bWVudFNlCiAgICAgaWYgKCFzY29wZSB8fCAhc2NvcGUtPmlzSW5TaGFkb3dUcmVlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBzY29wZS0+c2hh
ZG93Um9vdCgpOworICAgIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBzY29wZS0+Y29udGFpbmlu
Z1NoYWRvd1Jvb3QoKTsKICAgICBpZiAoIXNoYWRvd1Jvb3QgfHwgIXNoYWRvd1Jvb3QtPmhvc3Qo
KSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYWIxOTlmMDE4
ZDUyOWY0NTM5NWQxMGUyYzJkODVhMzk5ZDY3Y2M1NC4uOWU3ZTI3YTllZmJhODQ3NDFjOWVhZGYy
Y2EwNGJmMzMwMmE1MmY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTM4MSw2ICsxMzgx
LDE3IEBAIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gRWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdChF
eGNlcHRpb25Db2RlJiBlYykKICAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIGVj
KTsKIH0KIAorU2hhZG93Um9vdCogRWxlbWVudDo6c2hhZG93Um9vdCgpIGNvbnN0Cit7CisgICAg
RWxlbWVudFNoYWRvdyogZWxlbWVudFNoYWRvdyA9IHNoYWRvdygpOworICAgIGlmICghZWxlbWVu
dFNoYWRvdykKKyAgICAgICAgcmV0dXJuIDA7CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9
IGVsZW1lbnRTaGFkb3ctPnlvdW5nZXN0U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9v
dC0+aXNBY2Nlc3NpYmxlKCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBzaGFkb3dS
b290OworfQorCiBTaGFkb3dSb290KiBFbGVtZW50Ojp1c2VyQWdlbnRTaGFkb3dSb290KCkgY29u
c3QKIHsKICAgICBpZiAoRWxlbWVudFNoYWRvdyogZWxlbWVudFNoYWRvdyA9IHNoYWRvdygpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAppbmRleCAwMThlNTc4ZWNlNmU5ZmZlODgyMWY1MTJlMjljNTJhZGU3
YTQxZjM5Li44MjljNTEzNWRkNDIzNDIwYzUzOTA1MjQwOGNlZmUwNmFhMzI2MTZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKQEAgLTI3Nyw2ICsyNzcsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudFNoYWRv
dyogc2hhZG93KCkgY29uc3Q7CiAgICAgRWxlbWVudFNoYWRvdyogZW5zdXJlU2hhZG93KCk7CiAg
ICAgUGFzc1JlZlB0cjxTaGFkb3dSb290PiBjcmVhdGVTaGFkb3dSb290KEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICBTaGFkb3dSb290KiBzaGFkb3dSb290KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZv
aWQgd2lsbEFkZEF1dGhvclNoYWRvd1Jvb3QoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgYXJlQXV0
aG9yU2hhZG93c0FsbG93ZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5pZGwKaW5kZXggMWU5ZGJjODc2ZTA3OTI0ZTc5MTNhOGQ5NTdiY2MxZTU2YjhkYzBkNy4uZDE3
MjM4OTJmOTVmZjcyNzBjM2E2NzdmN2Y2ZDQ2OGFjNTdmODU3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmlkbApAQCAtMTIzLDYgKzEyMyw3IEBACiAjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9XX0RPTSkg
JiYgRU5BQkxFX1NIQURPV19ET00KICAgICBbUmVmbGVjdD1wc2V1ZG8sIFY4RW5hYmxlZEF0UnVu
dGltZT1zaGFkb3dET00sIEltcGxlbWVudGVkQXM9cHNldWRvXSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHdlYmtpdFBzZXVkbzsKICAgICBbVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTSwgSW1wbGVt
ZW50ZWRBcz1jcmVhdGVTaGFkb3dSb290XSBTaGFkb3dSb290IHdlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICBbVjhFbmFibGVkQXRSdW50aW1lPXNoYWRv
d0RPTSwgSW1wbGVtZW50ZWRBcz1zaGFkb3dSb290XSByZWFkb25seSBhdHRyaWJ1dGUgU2hhZG93
Um9vdCB3ZWJraXRTaGFkb3dSb290OwogI2VuZGlmCiAKICAgICAvLyBET00gNApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRTaGFkb3cuY3BwCmluZGV4IGI0MTc0MmJlNjQyZTVkMjc3N2MzOTgwZTI0YTlh
NjNmZTQwOTU4YWYuLmM5ZjE5ODI5YjBmOTViNWYxNmUxZGM4YjZlYmNlMTU3MzJkYTE4ZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lk
IEVsZW1lbnRTaGFkb3c6OnNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0dXJlU2V0KCkKIAogICAg
IG1fc2hvdWxkQ29sbGVjdFNlbGVjdEZlYXR1cmVTZXQgPSB0cnVlOwogCi0gICAgaWYgKFNoYWRv
d1Jvb3QqIHBhcmVudFNoYWRvd1Jvb3QgPSBob3N0KCktPnNoYWRvd1Jvb3QoKSkgeworICAgIGlm
IChTaGFkb3dSb290KiBwYXJlbnRTaGFkb3dSb290ID0gaG9zdCgpLT5jb250YWluaW5nU2hhZG93
Um9vdCgpKSB7CiAgICAgICAgIGlmIChFbGVtZW50U2hhZG93KiBwYXJlbnRFbGVtZW50U2hhZG93
ID0gcGFyZW50U2hhZG93Um9vdC0+b3duZXIoKSkKICAgICAgICAgICAgIHBhcmVudEVsZW1lbnRT
aGFkb3ctPnNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0dXJlU2V0KCk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCmluZGV4IDU4NGRiZTlmZTI0ZDVjOTdhYzg5ODU1YTI2OGU1NDkwNDczMDNkYjguLjlk
Mjk3Mjc4YjQ3OGE2MTEwMDQxYzRjYzE5Mzc0ZjZkNzkxMWI5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
QEAgLTczMCw3ICs3MzAsNyBAQCB2b2lkIE5vZGU6Omluc3BlY3QoKQogCiBib29sIE5vZGU6OnJl
bmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwsIFVzZXJTZWxlY3RB
bGxUcmVhdG1lbnQgdHJlYXRtZW50KSBjb25zdAogewotICAgIGlmIChkb2N1bWVudCgpLT5mcmFt
ZSgpICYmIGRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSAmJiBkb2N1bWVudCgpLT5mcmFtZSgp
LT5wYWdlKCktPmlzRWRpdGFibGUoKSAmJiAhc2hhZG93Um9vdCgpKQorICAgIGlmIChkb2N1bWVu
dCgpLT5mcmFtZSgpICYmIGRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSAmJiBkb2N1bWVudCgp
LT5mcmFtZSgpLT5wYWdlKCktPmlzRWRpdGFibGUoKSAmJiAhY29udGFpbmluZ1NoYWRvd1Jvb3Qo
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoaXNQc2V1ZG9FbGVtZW50KCkpCkBA
IC0xMzYyLDIwICsxMzYyLDIwIEBAIGJvb2wgTm9kZTo6Y2FuU3RhcnRTZWxlY3Rpb24oKSBjb25z
dAogCiBFbGVtZW50KiBOb2RlOjpzaGFkb3dIb3N0KCkgY29uc3QKIHsKLSAgICBpZiAoU2hhZG93
Um9vdCogcm9vdCA9IHNoYWRvd1Jvb3QoKSkKKyAgICBpZiAoU2hhZG93Um9vdCogcm9vdCA9IGNv
bnRhaW5pbmdTaGFkb3dSb290KCkpCiAgICAgICAgIHJldHVybiByb290LT5ob3N0KCk7CiAgICAg
cmV0dXJuIDA7CiB9CiAKIE5vZGUqIE5vZGU6OnNoYWRvd0FuY2VzdG9yTm9kZSgpIGNvbnN0CiB7
Ci0gICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBzaGFkb3dSb290KCkpCisgICAgaWYgKFNoYWRv
d1Jvb3QqIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gcm9v
dC0+aG9zdCgpOwogCiAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8Tm9kZSo+KHRoaXMpOwogfQogCi1T
aGFkb3dSb290KiBOb2RlOjpzaGFkb3dSb290KCkgY29uc3QKK1NoYWRvd1Jvb3QqIE5vZGU6OmNv
bnRhaW5pbmdTaGFkb3dSb290KCkgY29uc3QKIHsKICAgICBOb2RlKiByb290ID0gY29uc3RfY2Fz
dDxOb2RlKj4odGhpcyk7CiAgICAgd2hpbGUgKHJvb3QpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDdhNDcw
ZWVjMDY5YmE2MjczYjE2NTU2MGQ2ZTc2OWM4ODQ2YjMwZjguLjdjYjMxYzBiNDk1MzRjZGY4MmZi
MDg4OTliOWFkOWNmM2JjYWM3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjY1LDcgKzI2NSw3IEBAIHB1
YmxpYzoKICAgICAvLyBJZiB0aGlzIG5vZGUgaXMgaW4gYSBzaGFkb3cgdHJlZSwgcmV0dXJucyBp
dHMgc2hhZG93IGhvc3QuIE90aGVyd2lzZSwgcmV0dXJucyB0aGlzLgogICAgIC8vIERlcHJlY2F0
ZWQuIFNob3VsZCB1c2Ugc2hhZG93SG9zdCgpIGFuZCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLgog
ICAgIE5vZGUqIHNoYWRvd0FuY2VzdG9yTm9kZSgpIGNvbnN0OwotICAgIFNoYWRvd1Jvb3QqIHNo
YWRvd1Jvb3QoKSBjb25zdDsKKyAgICBTaGFkb3dSb290KiBjb250YWluaW5nU2hhZG93Um9vdCgp
IGNvbnN0OwogICAgIFNoYWRvd1Jvb3QqIHlvdW5nZXN0U2hhZG93Um9vdCgpIGNvbnN0OwogCiAg
ICAgLy8gUmV0dXJucyAwLCBhIGNoaWxkIG9mIFNoYWRvd1Jvb3QsIG9yIGEgbGVnYWN5IHNoYWRv
dyByb290LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5kZXggY2MwNjg0NTgzZWQ3N2ZjMmU4NGE4ZjE5M2Ux
ZDc3OTkyMDkzM2Q5OS4uM2Y0NjVlY2JiMDFjZjdkODUzMmY0N2I4MWRmYjQ2MzJiNTU0OTk0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUmFuZ2UuY3BwCkBAIC0xNTYyLDcgKzE1NjIsNyBAQCBOb2RlKiBSYW5nZTo6Zmly
c3ROb2RlKCkgY29uc3QKIAogU2hhZG93Um9vdCogUmFuZ2U6OnNoYWRvd1Jvb3QoKSBjb25zdAog
ewotICAgIHJldHVybiBzdGFydENvbnRhaW5lcigpID8gc3RhcnRDb250YWluZXIoKS0+c2hhZG93
Um9vdCgpIDogMDsKKyAgICByZXR1cm4gc3RhcnRDb250YWluZXIoKSA/IHN0YXJ0Q29udGFpbmVy
KCktPmNvbnRhaW5pbmdTaGFkb3dSb290KCkgOiAwOwogfQogCiBOb2RlKiBSYW5nZTo6cGFzdExh
c3ROb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCA2Mjg5MzliNGUw
MDRiMTMwYTM1YzBhMjEwMWFiYWQ4YWQ5NDM1ZDc1Li5jNmIyNjFiZTVjYTMxMDZmMjFkZTdjMGUz
MDg2YzZhMjlmZTUwN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC0yODMsNyAr
MjgzLDcgQEAgTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBTaGFkb3dSb290Ojpp
bnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXIKICAgICBpZiAobV9yZWdpc3RlcmVkV2l0
aFBhcmVudFNoYWRvd1Jvb3QpCiAgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogCi0gICAg
aWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBob3N0KCktPnNoYWRvd1Jvb3QoKSkgeworICAgIGlmIChT
aGFkb3dSb290KiByb290ID0gaG9zdCgpLT5jb250YWluaW5nU2hhZG93Um9vdCgpKSB7CiAgICAg
ICAgIHJvb3QtPnJlZ2lzdGVyRWxlbWVudFNoYWRvdygpOwogICAgICAgICBtX3JlZ2lzdGVyZWRX
aXRoUGFyZW50U2hhZG93Um9vdCA9IHRydWU7CiAgICAgfQpAQCAtMjk0LDkgKzI5NCw5IEBAIE5v
ZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgU2hhZG93Um9vdDo6aW5zZXJ0ZWRJbnRv
KENvbnRhaW5lck5vZGUqIGluc2VyCiB2b2lkIFNoYWRvd1Jvb3Q6OnJlbW92ZWRGcm9tKENvbnRh
aW5lck5vZGUqIGluc2VydGlvblBvaW50KQogewogICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aW5E
b2N1bWVudCgpICYmIG1fcmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290KSB7Ci0gICAgICAg
IFNoYWRvd1Jvb3QqIHJvb3QgPSBob3N0KCktPnNoYWRvd1Jvb3QoKTsKKyAgICAgICAgU2hhZG93
Um9vdCogcm9vdCA9IGhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAgICAgaWYg
KCFyb290KQotICAgICAgICAgICAgcm9vdCA9IGluc2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7
CisgICAgICAgICAgICByb290ID0gaW5zZXJ0aW9uUG9pbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290
KCk7CiAKICAgICAgICAgaWYgKHJvb3QpCiAgICAgICAgICAgICByb290LT51bnJlZ2lzdGVyRWxl
bWVudFNoYWRvdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggZDA1ZTBiNDcwMjcxMzMw
ZGFhOGMyM2U2MWU3MWU3MDc0NGQxNDc5MC4uY2NhYjAyNWEzYWZiYWMwZTZkMjQ1YWYyOTBjZDUy
N2I1MTVjZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC0xMTAsNiArMTEwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KSBPVkVSUklERTsKIAogICAgIFNoYWRvd1Jvb3RUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBt
X2lzQXV0aG9yU2hhZG93Um9vdCA/IEF1dGhvclNoYWRvd1Jvb3QgOiBVc2VyQWdlbnRTaGFkb3dS
b290OyB9CisgICAgYm9vbCBpc0FjY2Vzc2libGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
QXV0aG9yU2hhZG93Um9vdDsgfQogCiAgICAgUGFzc1JlZlB0cjxOb2RlPiBjbG9uZU5vZGUoYm9v
bCwgRXhjZXB0aW9uQ29kZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1RleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5j
cHAKaW5kZXggYTJhYzIwZjdhN2NlMWUyYmI4ZGRiOTczNjljMGZiMzNlMDE5YjM5NC4uOGU4N2Y3
ZmVlOGVlZDhkNWNmOWRlMjY0OWU1NGNmMGQ4YzgxMjNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtNjg0LDcgKzY4NCw3IEBAIGJvb2wgVGV4dEl0ZXJhdG9y
OjpoYW5kbGVSZXBsYWNlZEVsZW1lbnQoKQogCiAgICAgaWYgKG1fZW50ZXJzVGV4dENvbnRyb2xz
ICYmIHJlbmRlcmVyLT5pc1RleHRDb250cm9sKCkpIHsKICAgICAgICAgaWYgKEhUTUxFbGVtZW50
KiBpbm5lclRleHRFbGVtZW50ID0gdG9SZW5kZXJUZXh0Q29udHJvbChyZW5kZXJlciktPnRleHRG
b3JtQ29udHJvbEVsZW1lbnQoKS0+aW5uZXJUZXh0RWxlbWVudCgpKSB7Ci0gICAgICAgICAgICBt
X25vZGUgPSBpbm5lclRleHRFbGVtZW50LT5zaGFkb3dSb290KCk7CisgICAgICAgICAgICBtX25v
ZGUgPSBpbm5lclRleHRFbGVtZW50LT5jb250YWluaW5nU2hhZG93Um9vdCgpOwogICAgICAgICAg
ICAgcHVzaEZ1bGx5Q2xpcHBlZFN0YXRlKG1fZnVsbHlDbGlwcGVkU3RhY2ssIG1fbm9kZSk7CiAg
ICAgICAgICAgICBtX29mZnNldCA9IDA7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4IDllNTMyZDNiMGI1MTA1Y2MyZGYx
NjE4MzBmMDZjNTkyZmQ2YmZjNGYuLmZlNWVmNGQyODRiZTI3MjJlNGEyODM0OTc0MTQxNjZkMWRm
NDVhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0xMDk5LDcg
KzEwOTksNyBAQCBpbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiB2aXNpYmxlUG9zaXRpb24sIFJlZlB0cjxDb250YQogCiAgICAgUG9zaXRpb24gcCh2aXNp
YmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKSk7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
cC5hbmNob3JOb2RlKCktPmRvY3VtZW50KCk7Ci0gICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9
IHAuYW5jaG9yTm9kZSgpLT5zaGFkb3dSb290KCk7CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9v
dCA9IHAuYW5jaG9yTm9kZSgpLT5jb250YWluaW5nU2hhZG93Um9vdCgpOwogCiAgICAgaWYgKHNo
YWRvd1Jvb3QpCiAgICAgICAgIHNjb3BlID0gc2hhZG93Um9vdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTdHlsZUVsZW1lbnQuY3BwCmluZGV4IGRiOTFjOTlmNGNjYjdlYzliNjRkNDgzMDk0Yjc1
MjdjZjJjYWIwMDIuLmQ2ZWQzYTk3MzMxZDY3OTI2NGI3MTdjZDY4NjBjMWVmOWNkNjA2YWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcApAQCAtOTgsNyArOTgsNyBA
QCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnNjb3BlZEF0dHJpYnV0ZUNoYW5nZWQoYm9vbCBzY29w
ZWQpCiAgICAgICAgIC8vIEFzIGFueSA8c3R5bGU+IGluIGEgc2hhZG93IHRyZWUgaXMgdHJlYXRl
ZCBhcyAic2NvcGVkIiwKICAgICAgICAgLy8gbmVlZCB0byByZW1vdmUgdGhlIDxzdHlsZT4gZnJv
bSBpdHMgc2hhZG93IHJvb3QuCiAgICAgICAgIGlmIChtX3Njb3BlZFN0eWxlUmVnaXN0cmF0aW9u
U3RhdGUgPT0gUmVnaXN0ZXJlZEluU2hhZG93Um9vdCkKLSAgICAgICAgICAgIHVucmVnaXN0ZXJX
aXRoU2NvcGluZ05vZGUoc2hhZG93Um9vdCgpKTsKKyAgICAgICAgICAgIHVucmVnaXN0ZXJXaXRo
U2NvcGluZ05vZGUoY29udGFpbmluZ1NoYWRvd1Jvb3QoKSk7CiAKICAgICAgICAgaWYgKG1fc2Nv
cGVkU3R5bGVSZWdpc3RyYXRpb25TdGF0ZSAhPSBSZWdpc3RlcmVkQXNTY29wZWQpCiAgICAgICAg
ICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSh0cnVlKTsKQEAgLTEzMSw3ICsxMzEsNyBAQCB2
b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKGJvb2wgc2NvcGVk
KQogICAgIGlmIChtX3Njb3BlZFN0eWxlUmVnaXN0cmF0aW9uU3RhdGUgIT0gTm90UmVnaXN0ZXJl
ZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQ29udGFpbmVyTm9kZSogc2NvcGUgPSBzY29wZWQg
PyBwYXJlbnROb2RlKCkgOiBzaGFkb3dSb290KCk7CisgICAgQ29udGFpbmVyTm9kZSogc2NvcGUg
PSBzY29wZWQgPyBwYXJlbnROb2RlKCkgOiBjb250YWluaW5nU2hhZG93Um9vdCgpOwogICAgIGlm
ICghc2NvcGUpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIXNjb3BlLT5pc0VsZW1lbnROb2Rl
KCkgJiYgIXNjb3BlLT5pc1NoYWRvd1Jvb3QoKSkgewpAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9p
bnQpCiAgICAgaWYgKG1fc2NvcGVkU3R5bGVSZWdpc3RyYXRpb25TdGF0ZSAhPSBOb3RSZWdpc3Rl
cmVkKSB7CiAgICAgICAgIENvbnRhaW5lck5vZGUqIHNjb3BlOwogICAgICAgICBpZiAobV9zY29w
ZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlID09IFJlZ2lzdGVyZWRJblNoYWRvd1Jvb3QpIHsKLSAg
ICAgICAgICAgIHNjb3BlID0gc2hhZG93Um9vdCgpOworICAgICAgICAgICAgc2NvcGUgPSBjb250
YWluaW5nU2hhZG93Um9vdCgpOwogICAgICAgICAgICAgaWYgKCFzY29wZSkKLSAgICAgICAgICAg
ICAgICBzY29wZSA9IGluc2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7CisgICAgICAgICAgICAg
ICAgc2NvcGUgPSBpbnNlcnRpb25Qb2ludC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBzY29wZSA9IHBhcmVudE5vZGUoKSA/IHBhcmVudE5vZGUo
KSA6IGluc2VydGlvblBvaW50OwogICAgICAgICB1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKHNj
b3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0
cmlidXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0
b3IuY3BwCmluZGV4IDBjMDk1ZTQzNzM2MmM2MzE5ZGQxYjZlMTU0Y2Q1YjdkZDVhZjUxM2IuLjkw
NDZlMDM1ZDIyOGM5NDE4YmRhM2Q2NjI0NjMxYTBmN2MyMDliMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcApAQCAtMTYzLDcgKzE2
Myw3IEBAIHZvaWQgQ29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKEVsZW1lbnQqIGhvc3Qp
CiAKICAgICBmb3IgKHNpemVfdCBpID0gYWN0aXZlU2hhZG93SW5zZXJ0aW9uUG9pbnRzLnNpemUo
KTsgaSA+IDA7IC0taSkgewogICAgICAgICBIVE1MU2hhZG93RWxlbWVudCogc2hhZG93RWxlbWVu
dCA9IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50c1tpIC0gMV07Ci0gICAgICAgIFNoYWRvd1Jv
b3QqIHJvb3QgPSBzaGFkb3dFbGVtZW50LT5zaGFkb3dSb290KCk7CisgICAgICAgIFNoYWRvd1Jv
b3QqIHJvb3QgPSBzaGFkb3dFbGVtZW50LT5jb250YWluaW5nU2hhZG93Um9vdCgpOwogICAgICAg
ICBBU1NFUlQocm9vdCk7CiAgICAgICAgIGlmIChyb290LT5vbGRlclNoYWRvd1Jvb3QoKSkgewog
ICAgICAgICAgICAgZGlzdHJpYnV0ZU5vZGVDaGlsZHJlblRvKHNoYWRvd0VsZW1lbnQsIHJvb3Qt
Pm9sZGVyU2hhZG93Um9vdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9I
VE1MQ29udGVudEVsZW1lbnQuY3BwCmluZGV4IGEyNWQxMzI1MWEzZmFkOWJjZDRkNjU2ZjdiNjFh
ZDY2Y2NkOTNkNGMuLjZmYWU3MmU5ZjZhZTIyZTFmNmJiOGNjYTk1MWQxYmU3NWEwODQ2YmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNw
cApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTENvbnRlbnRFbGVtZW50OjplbnN1cmVTZWxl
Y3RQYXJzZWQoKQogdm9pZCBIVE1MQ29udGVudEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAg
aWYgKG5hbWUgPT0gc2VsZWN0QXR0cikgewotICAgICAgICBpZiAoU2hhZG93Um9vdCogcm9vdCA9
IHNoYWRvd1Jvb3QoKSkgeworICAgICAgICBpZiAoU2hhZG93Um9vdCogcm9vdCA9IGNvbnRhaW5p
bmdTaGFkb3dSb290KCkpIHsKICAgICAgICAgICAgIHJvb3QtPm93bmVyKCktPnNldFNob3VsZENv
bGxlY3RTZWxlY3RGZWF0dXJlU2V0KCk7CiAgICAgICAgICAgICByb290LT5vd25lcigpLT5pbnZh
bGlkYXRlRGlzdHJpYnV0aW9uKCk7CiAgICAgICAgIH0KQEAgLTExNSw3ICsxMTUsNyBAQCBOb2Rl
OjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEhUTUxDb250ZW50RWxlbWVudDo6aW5zZXJ0
ZWRJbnRvKENvbnRhaW5lck5vZAogICAgIEluc2VydGlvblBvaW50OjppbnNlcnRlZEludG8oaW5z
ZXJ0aW9uUG9pbnQpOwogCiAgICAgaWYgKGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgJiYg
aXNBY3RpdmUoKSkgewotICAgICAgICBTaGFkb3dSb290KiByb290ID0gc2hhZG93Um9vdCgpOwor
ICAgICAgICBTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAg
ICAgcm9vdC0+cmVnaXN0ZXJDb250ZW50RWxlbWVudCgpOwogICAgICAgICByb290LT5vd25lcigp
LT5zZXRTaG91bGRDb2xsZWN0U2VsZWN0RmVhdHVyZVNldCgpOwogICAgICAgICBtX3JlZ2lzdGVy
ZWRXaXRoU2hhZG93Um9vdCA9IHRydWU7CkBAIC0xMjcsOSArMTI3LDkgQEAgTm9kZTo6SW5zZXJ0
aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBIVE1MQ29udGVudEVsZW1lbnQ6Omluc2VydGVkSW50byhD
b250YWluZXJOb2QKIHZvaWQgSFRNTENvbnRlbnRFbGVtZW50OjpyZW1vdmVkRnJvbShDb250YWlu
ZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKICAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9j
dW1lbnQoKSAmJiBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCkgewotICAgICAgICBTaGFkb3dS
b290KiByb290ID0gc2hhZG93Um9vdCgpOworICAgICAgICBTaGFkb3dSb290KiByb290ID0gY29u
dGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAgICAgaWYgKCFyb290KQotICAgICAgICAgICAgcm9v
dCA9IGluc2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7CisgICAgICAgICAgICByb290ID0gaW5z
ZXJ0aW9uUG9pbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CiAgICAgICAgIGlmIChyb290KQog
ICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3RlckNvbnRlbnRFbGVtZW50KCk7CiAgICAgICAgIG1f
cmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKaW5kZXggZGExOGJhOGVhZTVlNGIyNGZl
NWFmYzY2NDk3OWU2YjJkNWE1OTY0ZC4uMWRhNTQ1NzE2ZmI0ZTdhMTkwMzEyYTg2MzE0NDk5ZjFk
ZDMxYWFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRv
d0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dF
bGVtZW50LmNwcApAQCAtNjUsNyArNjUsNyBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25S
ZXF1ZXN0IEhUTUxTaGFkb3dFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZQogICAg
IEluc2VydGlvblBvaW50OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOwogCiAgICAgaWYg
KGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgJiYgaXNBY3RpdmUoKSkgewotICAgICAgICBp
ZiAoU2hhZG93Um9vdCogcm9vdCA9IHNoYWRvd1Jvb3QoKSkgeworICAgICAgICBpZiAoU2hhZG93
Um9vdCogcm9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKICAgICAgICAgICAgIHJvb3Qt
PnJlZ2lzdGVyU2hhZG93RWxlbWVudCgpOwogICAgICAgICAgICAgbV9yZWdpc3RlcmVkV2l0aFNo
YWRvd1Jvb3QgPSB0cnVlOwogICAgICAgICB9CkBAIC03Nyw5ICs3Nyw5IEBAIE5vZGU6Okluc2Vy
dGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgSFRNTFNoYWRvd0VsZW1lbnQ6Omluc2VydGVkSW50byhD
b250YWluZXJOb2RlCiB2b2lkIEhUTUxTaGFkb3dFbGVtZW50OjpyZW1vdmVkRnJvbShDb250YWlu
ZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKICAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9j
dW1lbnQoKSAmJiBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCkgewotICAgICAgICBTaGFkb3dS
b290KiByb290ID0gc2hhZG93Um9vdCgpOworICAgICAgICBTaGFkb3dSb290KiByb290ID0gY29u
dGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAgICAgaWYgKCFyb290KQotICAgICAgICAgICAgcm9v
dCA9IGluc2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7CisgICAgICAgICAgICByb290ID0gaW5z
ZXJ0aW9uUG9pbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CiAgICAgICAgIGlmIChyb290KQog
ICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3RlclNoYWRvd0VsZW1lbnQoKTsKICAgICAgICAgbV9y
ZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0luc2VydGlvblBvaW50LmNwcAppbmRleCAyYTk4Y2M4YjA5MTBiM2RkYzdmZDc2NTFi
NjBiMWFmZTcyNWQ3ODZjLi5lMWQ4OGI0YTI5ZTY2NTYzNzI5ODQ0NTFhNTAyYzEwN2Y1MWNhMTAx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCkBA
IC00OSw3ICs0OSw3IEBAIEluc2VydGlvblBvaW50Ojp+SW5zZXJ0aW9uUG9pbnQoKQogCiB2b2lk
IEluc2VydGlvblBvaW50OjphdHRhY2goKQogewotICAgIGlmIChTaGFkb3dSb290KiByb290ID0g
c2hhZG93Um9vdCgpKQorICAgIGlmIChTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1NoYWRv
d1Jvb3QoKSkKICAgICAgICAgcm9vdC0+b3duZXIoKS0+ZW5zdXJlRGlzdHJpYnV0aW9uKCk7CiAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2Rpc3RyaWJ1dGlvbi5zaXplKCk7ICsraSkgewog
ICAgICAgICBpZiAoIW1fZGlzdHJpYnV0aW9uLmF0KGkpLT5hdHRhY2hlZCgpKQpAQCAtNjEsNyAr
NjEsNyBAQCB2b2lkIEluc2VydGlvblBvaW50OjphdHRhY2goKQogCiB2b2lkIEluc2VydGlvblBv
aW50OjpkZXRhY2goKQogewotICAgIGlmIChTaGFkb3dSb290KiByb290ID0gc2hhZG93Um9vdCgp
KQorICAgIGlmIChTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKICAg
ICAgICAgcm9vdC0+b3duZXIoKS0+ZW5zdXJlRGlzdHJpYnV0aW9uKCk7CiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtX2Rpc3RyaWJ1dGlvbi5zaXplKCk7ICsraSkKICAgICAgICAgbV9kaXN0
cmlidXRpb24uYXQoaSktPmRldGFjaCgpOwpAQCAtODEsNyArODEsNyBAQCBib29sIEluc2VydGlv
blBvaW50Ojppc1NoYWRvd0JvdW5kYXJ5KCkgY29uc3QKIAogYm9vbCBJbnNlcnRpb25Qb2ludDo6
aXNBY3RpdmUoKSBjb25zdAogewotICAgIGlmICghc2hhZG93Um9vdCgpKQorICAgIGlmICghY29u
dGFpbmluZ1NoYWRvd1Jvb3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNvbnN0IE5v
ZGUqIG5vZGUgPSBwYXJlbnROb2RlKCk7CiAgICAgd2hpbGUgKG5vZGUpIHsKQEAgLTEyOCw3ICsx
MjgsNyBAQCBOb2RlKiBJbnNlcnRpb25Qb2ludDo6cHJldmlvdXNUbyhjb25zdCBOb2RlKiBub2Rl
KSBjb25zdAogdm9pZCBJbnNlcnRpb25Qb2ludDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdl
ZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hp
bGRDb3VudERlbHRhKQogewogICAgIEhUTUxFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdl
ZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwot
ICAgIGlmIChTaGFkb3dSb290KiByb290ID0gc2hhZG93Um9vdCgpKQorICAgIGlmIChTaGFkb3dS
b290KiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKICAgICAgICAgcm9vdC0+b3duZXIo
KS0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwogfQogCkBAIC0xMzYsNyArMTM2LDcgQEAgTm9k
ZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBJbnNlcnRpb25Qb2ludDo6aW5zZXJ0ZWRJ
bnRvKENvbnRhaW5lck5vZGUqIGkKIHsKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKGlu
c2VydGlvblBvaW50KTsKICAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSkgewot
ICAgICAgICBpZiAoU2hhZG93Um9vdCogcm9vdCA9IHNoYWRvd1Jvb3QoKSkgeworICAgICAgICBp
ZiAoU2hhZG93Um9vdCogcm9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKICAgICAgICAg
ICAgIHJvb3QtPm93bmVyKCktPnNldFZhbGlkaXR5VW5kZXRlcm1pbmVkKCk7CiAgICAgICAgICAg
ICByb290LT5vd25lcigpLT5pbnZhbGlkYXRlRGlzdHJpYnV0aW9uKCk7CiAgICAgICAgIH0KQEAg
LTE0OCw5ICsxNDgsOSBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEluc2Vy
dGlvblBvaW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaQogdm9pZCBJbnNlcnRpb25Q
b2ludDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCiB7CiAgICAg
aWYgKGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkpIHsKLSAgICAgICAgU2hhZG93Um9vdCog
cm9vdCA9IHNoYWRvd1Jvb3QoKTsKKyAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9IGNvbnRhaW5p
bmdTaGFkb3dSb290KCk7CiAgICAgICAgIGlmICghcm9vdCkKLSAgICAgICAgICAgIHJvb3QgPSBp
bnNlcnRpb25Qb2ludC0+c2hhZG93Um9vdCgpOworICAgICAgICAgICAgcm9vdCA9IGluc2VydGlv
blBvaW50LT5jb250YWluaW5nU2hhZG93Um9vdCgpOwogCiAgICAgICAgIC8vIGhvc3QgY2FuIGJl
IG51bGwgd2hlbiByZW1vdmVkRnJvbSgpIGlzIGNhbGxlZCBmcm9tIEVsZW1lbnRTaGFkb3cgZGVz
dHJ1Y3Rvci4KICAgICAgICAgaWYgKHJvb3QgJiYgcm9vdC0+aG9zdCgpKQpAQCAtMTczLDcgKzE3
Myw3IEBAIHZvaWQgSW5zZXJ0aW9uUG9pbnQ6OnNldFJlc2V0U3R5bGVJbmhlcml0YW5jZShib29s
IHZhbHVlKQogICAgIGlmICh2YWx1ZSAhPSBtX3Nob3VsZFJlc2V0U3R5bGVJbmhlcml0YW5jZSkg
ewogICAgICAgICBtX3Nob3VsZFJlc2V0U3R5bGVJbmhlcml0YW5jZSA9IHZhbHVlOwogICAgICAg
ICBpZiAoYXR0YWNoZWQoKSAmJiBpc0FjdGl2ZSgpKQotICAgICAgICAgICAgc2hhZG93Um9vdCgp
LT5ob3N0KCktPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICAgICAgICAgIGNvbnRhaW5pbmdT
aGFkb3dSb290KCktPmhvc3QoKS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDg5NDYyYjgzYWJjYjI2NmY1MTcw
MGUxYWQwNjM5NWUwY2M1NWRhYjIuLjRhZWVmMDRiODZmYWE3MjUzMTQ0ZDY1NWIxYTg4Mjk0ZjVj
MTM1Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTIyMjQsNyArMjIy
NCw3IEBAIHN0YXRpYyBpbmxpbmUgU1ZHRWxlbWVudEluc3RhbmNlKiBpbnN0YW5jZUFzc29jaWF0
ZWRXaXRoU2hhZG93VHJlZUVsZW1lbnQoTm9kZSoKICAgICBpZiAoIXJlZmVyZW5jZU5vZGUgfHwg
IXJlZmVyZW5jZU5vZGUtPmlzU1ZHRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAg
IFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSByZWZlcmVuY2VOb2RlLT5zaGFkb3dSb290KCk7Cisg
ICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IHJlZmVyZW5jZU5vZGUtPmNvbnRhaW5pbmdTaGFk
b3dSb290KCk7CiAgICAgaWYgKCFzaGFkb3dSb290KQogICAgICAgICByZXR1cm4gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IDZjZDRlODNjNzFlZTVmM2ZkYTJmMDNkNGI0MWRj
YWYwZDUyYzM0OWEuLjQ0MmU5ODM4NjQ1NWI1MTgxZDlhODFhNGI3ODRjZThhNjEwYmEwODggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTMwMSw3ICszMDEsNyBAQCB2b2lkIFNWR0Vs
ZW1lbnQ6OmN1cnNvckltYWdlVmFsdWVSZW1vdmVkKCkKIAogU1ZHRWxlbWVudCogU1ZHRWxlbWVu
dDo6Y29ycmVzcG9uZGluZ0VsZW1lbnQoKQogewotICAgIEFTU0VSVCghaGFzU1ZHUmFyZURhdGEo
KSB8fCAhc3ZnUmFyZURhdGEoKS0+Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSB8fCBzaGFkb3dSb290
KCkpOworICAgIEFTU0VSVCghaGFzU1ZHUmFyZURhdGEoKSB8fCAhc3ZnUmFyZURhdGEoKS0+Y29y
cmVzcG9uZGluZ0VsZW1lbnQoKSB8fCBjb250YWluaW5nU2hhZG93Um9vdCgpKTsKICAgICByZXR1
cm4gaGFzU1ZHUmFyZURhdGEoKSA/IHN2Z1JhcmVEYXRhKCktPmNvcnJlc3BvbmRpbmdFbGVtZW50
KCkgOiAwOwogfQogCkBAIC0zNTYsNyArMzU2LDcgQEAgYm9vbCBTVkdFbGVtZW50OjpoYXZlTG9h
ZGVkUmVxdWlyZWRSZXNvdXJjZXMoKQogc3RhdGljIGlubGluZSB2b2lkIGNvbGxlY3RJbnN0YW5j
ZXNGb3JTVkdFbGVtZW50KFNWR0VsZW1lbnQqIGVsZW1lbnQsIEhhc2hTZXQ8U1ZHRWxlbWVudElu
c3RhbmNlKj4mIGluc3RhbmNlcykKIHsKICAgICBBU1NFUlQoZWxlbWVudCk7Ci0gICAgaWYgKGVs
ZW1lbnQtPnNoYWRvd1Jvb3QoKSkKKyAgICBpZiAoZWxlbWVudC0+Y29udGFpbmluZ1NoYWRvd1Jv
b3QoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFlbGVtZW50LT5pc1N0eWxlZCgpKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1zaGFk
b3ctcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWF3YXJlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDIxYjkzYmRiN2Yz
MmQyZTM2NDY0MDdkZWIyZGFjZGI5YzM4ODAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGVzdHMgZm9yIFNoYWRvd0F3YXJlLnNoYWRvd1Jvb3QgcHJvcGVy
dHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGhvc3Qud2Via2l0U2hh
ZG93Um9vdCBpcyBudWxsCitQQVNTIHJvb3QxIGlzIGhvc3Qud2Via2l0U2hhZG93Um9vdAorUEFT
UyByb290MiBpcyBob3N0LndlYmtpdFNoYWRvd1Jvb3QKK1BBU1MgaG9zdFdpdGhVQVNoYWRvdy53
ZWJraXRTaGFkb3dSb290IGlzIG51bGwKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWF3YXJlLXNoYWRvdy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWF3YXJlLXNoYWRvdy1yb290Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDViZDNhZTVm
YjhhNGUzOGIwMWMyYTc1Mjg5NzFlMTc3ODdkNzM4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtc2hhZG93LXJvb3QuaHRtbApAQCAt
MCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBmb3IgU2hhZG93QXdhcmUuc2hh
ZG93Um9vdCBwcm9wZXJ0eS4iKTsKKwordmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKK3Nob3VsZEJlTnVsbCgiaG9zdC53ZWJraXRTaGFkb3dSb290Iik7Cit2YXIgcm9v
dDEgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3Nob3VsZEJlKCJyb290MSIsICJo
b3N0LndlYmtpdFNoYWRvd1Jvb3QiKTsKK3ZhciByb290MiA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOworc2hvdWxkQmUoInJvb3QyIiwgImhvc3Qud2Via2l0U2hhZG93Um9vdCIpOwor
Cit2YXIgaG9zdFdpdGhVQVNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7
CitzaG91bGRCZU51bGwoImhvc3RXaXRoVUFTaGFkb3cud2Via2l0U2hhZG93Um9vdCIpOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>