<?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>91716</bug_id>
          
          <creation_ts>2012-07-18 23:33:57 -0700</creation_ts>
          <short_desc>[Refactoring] Use userAgentShadowRoot() for elements having user agent shadow root.</short_desc>
          <delta_ts>2012-07-19 01:56:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>72352</blocked>
          <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>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>tasak</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>673203</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-18 23:33:57 -0700</bug_when>
    <thetext>We have introduced Element::userAgentShadowRoot() for getting a user agent shadow root.
We often used shadow()-&gt;oldestShadowRoot() to take user agent shadow root, but we have to use userAgentShadowRoot() instead.
This will make our code intention clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673214</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-18 23:44:38 -0700</bug_when>
    <thetext>grep &apos;oldestShadowRoot&apos; -r Source/WebCore/html | wc
    30    126    3819

So, it&apos;s not so tough to covert them at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673257</commentid>
    <comment_count>2</comment_count>
      <attachid>153196</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-19 00:41:03 -0700</bug_when>
    <thetext>Created attachment 153196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673267</commentid>
    <comment_count>3</comment_count>
      <attachid>153196</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-07-19 00:55:44 -0700</bug_when>
    <thetext>Comment on attachment 153196
Patch

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

&gt; Source/WebCore/dom/ShadowRoot.cpp:146
&gt; +    if (RefPtr&lt;DocumentFragment&gt; fragment = createFragmentForInnerOuterHTML(markup, host()-&gt;document()-&gt;documentElement(), AllowScriptingContent, ec))

How is this related to this change?

&gt; Source/WebCore/html/HTMLImageElement.cpp:115
&gt; +    if (ShadowRoot* userAgent = userAgentShadowRoot()) {

Could you consider the variable name? It&apos;s ridiculous to call it userAgent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673273</commentid>
    <comment_count>4</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-19 01:03:45 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/dom/ShadowRoot.cpp:146
&gt; &gt; +    if (RefPtr&lt;DocumentFragment&gt; fragment = createFragmentForInnerOuterHTML(markup, host()-&gt;document()-&gt;documentElement(), AllowScriptingContent, ec))
&gt; 
&gt; How is this related to this change?

Oops... my experimental code was mixed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673282</commentid>
    <comment_count>5</comment_count>
      <attachid>153204</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-19 01:07:48 -0700</bug_when>
    <thetext>Created attachment 153204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673283</commentid>
    <comment_count>6</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-19 01:08:17 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 153196 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153196&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/ShadowRoot.cpp:146
&gt; &gt; +    if (RefPtr&lt;DocumentFragment&gt; fragment = createFragmentForInnerOuterHTML(markup, host()-&gt;document()-&gt;documentElement(), AllowScriptingContent, ec))
&gt; 
&gt; How is this related to this change?

--&gt; removed.

&gt; 
&gt; &gt; Source/WebCore/html/HTMLImageElement.cpp:115
&gt; &gt; +    if (ShadowRoot* userAgent = userAgentShadowRoot()) {
&gt; 
&gt; Could you consider the variable name? It&apos;s ridiculous to call it userAgent.

userAgent -&gt; root</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673313</commentid>
    <comment_count>7</comment_count>
      <attachid>153204</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 01:56:27 -0700</bug_when>
    <thetext>Comment on attachment 153204
Patch

Clearing flags on attachment: 153204

Committed r123082: &lt;http://trac.webkit.org/changeset/123082&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673314</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 01:56:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153196</attachid>
            <date>2012-07-19 00:41:03 -0700</date>
            <delta_ts>2012-07-19 01:07:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91716-20120719164102.patch</filename>
            <type>text/plain</type>
            <size>15493</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRhZDY4MWFjOTgxM2M5
MjIyNTJlZjUwMGMxOWM1ZmZiMjBiZTdlMy4uNTc1MWZkNGJiODM1MmE4NmNiOWQ4ODQzOTYyOTQ5
YmUwOTAyZTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA3LTE5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jp
bmddIFVzZSB1c2VyQWdlbnRTaGFkb3dSb290KCkgdG8gdGFrZSB1c2VyIGFnZW50IHNoYWRvdyBy
b290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3
MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBo
YXZlIGludHJvZHVjZWQgRWxlbWVudDo6dXNlckFnZW50U2hhZG93Um9vdCBpbiByMTIzMDcxIHRv
IHRha2UgdXNlciBhZ2VudCBzaGFkb3cgcm9vdC4KKyAgICAgICAgV2UgaGF2ZSB1c2VkIHNoYWRv
dygpLT5vbGRlc3RTaGFkb3dSb290KCkgdG8gdGFrZSB0aGUgdXNlciBhZ2VudCBzaGFkb3cgcm9v
dCwgaG93ZXZlciBpdHMgY29kZSBpbnRlbnRpb24gd2FzCisgICAgICAgIG5vdCBzbyBjbGVhci4g
VXNpbmcgdXNlckFnZW50U2hhZG93Um9vdCgpIHdpbGwgbWFrZSBpdCBjbGVhcmVyLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgc2ltcGxlIHJlZmFjdG9yaW5nLgorCisgICAgICAgICogZG9tL1No
YWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6c2V0SW5uZXJIVE1M
KToKKyAgICAgICAgKiBodG1sL0NvbG9ySW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNvbG9ySW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbG9ySW5wdXRUeXBlOjpzaGFkb3dDb2xvclN3YXRjaCk6CisgICAgICAgICogaHRtbC9GaWxl
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6OmNyZWF0ZVNo
YWRvd1N1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUlucHV0VHlwZTo6bXVsdGlwbGVB
dHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGV0YWlsc0VsZW1lbnQ6OmZpbmRNYWluU3VtbWFyeSk6
CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OndpbGxBZGRBdXRob3JTaGFkb3dSb290KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmltYWdlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW1hZ2VFbGVtZW50Ojppbm5lckVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEtl
eWdlbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEtleWdlbkVsZW1lbnQ6OnNo
YWRvd1NlbGVjdCk6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OmlubmVyVGV4dEVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlUGxhY2Vob2xkZXJU
ZXh0KToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKiBodG1sL1JhbmdlSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpoYW5kbGVNb3Vz
ZURvd25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6Y3JlYXRlU2hh
ZG93U3VidHJlZSk6CisgICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6dXBkYXRlUGxhY2Vob2xkZXJU
ZXh0KToKKyAgICAgICAgKiBodG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKToKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2xp
ZGVyVGh1bWJFbGVtZW50T2YpOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tMaW1pdGVyRWxlbWVu
dE9mKToKKwogMjAxMi0wNy0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBBbm90aGVyIGJ1aWxkIGZpeCBhZnRlciByMTIzMDY1LiBEb24ndCBsaXN0IGRlbGV0
ZWQgZmlsZSBpbiBneXBpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IDY3YmI4NjE4
ZWRlMzgzNTQ4YjM1YjRiODQ0NzRkNDQ5MzJkOTVmMGUuLmMwMTFkYzUyNmQ1NTRhNDliZTFiZGM0
OWFlMTk3N2JkMDljMmEwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTE0Myw3
ICsxNDMsNyBAQCBTdHJpbmcgU2hhZG93Um9vdDo6aW5uZXJIVE1MKCkgY29uc3QKIAogdm9pZCBT
aGFkb3dSb290OjpzZXRJbm5lckhUTUwoY29uc3QgU3RyaW5nJiBtYXJrdXAsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewotICAgIGlmIChSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQgPSBj
cmVhdGVGcmFnbWVudEZvcklubmVyT3V0ZXJIVE1MKG1hcmt1cCwgaG9zdCgpLCBBbGxvd1Njcmlw
dGluZ0NvbnRlbnQsIGVjKSkKKyAgICBpZiAoUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdt
ZW50ID0gY3JlYXRlRnJhZ21lbnRGb3JJbm5lck91dGVySFRNTChtYXJrdXAsIGhvc3QoKS0+ZG9j
dW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCksIEFsbG93U2NyaXB0aW5nQ29udGVudCwgZWMpKQog
ICAgICAgICByZXBsYWNlQ2hpbGRyZW5XaXRoRnJhZ21lbnQodGhpcywgZnJhZ21lbnQucmVsZWFz
ZSgpLCBlYyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAKaW5kZXgg
MWVjZWNjMmI2NDFmODQxNTY1MzQyNWMxZTk0ZTA2N2NmZTM4NjdmMS4uNjAxZDI4ZTk4YzVjZmE0
YzAzMmQxYmJlMDJjMTdlMjczZWIxNjk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9Db2xvcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0
VHlwZS5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIENvbG9ySW5wdXRUeXBlOjpjcmVhdGVT
aGFkb3dTdWJ0cmVlKCkKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICB3cmFwcGVyRWxl
bWVudC0+YXBwZW5kQ2hpbGQoY29sb3JTd2F0Y2gucmVsZWFzZSgpLCBlYyk7CiAgICAgQVNTRVJU
KCFlYyk7Ci0gICAgZWxlbWVudCgpLT5zaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5hcHBl
bmRDaGlsZCh3cmFwcGVyRWxlbWVudC5yZWxlYXNlKCksIGVjKTsKKyAgICBlbGVtZW50KCktPnVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQod3JhcHBlckVsZW1lbnQucmVsZWFzZSgp
LCBlYyk7CiAgICAgQVNTRVJUKCFlYyk7CiAgICAgCiAgICAgdXBkYXRlQ29sb3JTd2F0Y2goKTsK
QEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIENvbG9ySW5wdXRUeXBlOjp1cGRhdGVDb2xvclN3YXRj
aCgpCiAKIEhUTUxFbGVtZW50KiBDb2xvcklucHV0VHlwZTo6c2hhZG93Q29sb3JTd2F0Y2goKSBj
b25zdAogewotICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9IGVsZW1lbnQoKS0+c2hhZG93KCktPm9s
ZGVzdFNoYWRvd1Jvb3QoKTsKKyAgICBTaGFkb3dSb290KiBzaGFkb3cgPSBlbGVtZW50KCktPnVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKTsKICAgICByZXR1cm4gc2hhZG93ID8gdG9IVE1MRWxlbWVudChz
aGFkb3ctPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpKSA6IDA7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZpbGVJbnB1dFR5cGUuY3BwCmluZGV4IGYzOTczM2QxNWYxYjBhNzM0OTJhMDhlNjJjNGE0
YTg1NTZkOGVlNGYuLjdhNzVlMTNjMTJkNjNjYzdhOGJjZGUxN2RlNWU4N2Q3YzM0MjBiOWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcApAQCAtMjk3LDEzICsyOTcsMTMgQEAg
dm9pZCBGaWxlSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAgICBBU1NFUlQo
ZWxlbWVudCgpLT5zaGFkb3coKSk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgZWxl
bWVudCgpLT5zaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChlbGVtZW50
KCktPm11bHRpcGxlKCkgPyBVcGxvYWRCdXR0b25FbGVtZW50OjpjcmVhdGVGb3JNdWx0aXBsZShl
bGVtZW50KCktPmRvY3VtZW50KCkpOiBVcGxvYWRCdXR0b25FbGVtZW50OjpjcmVhdGUoZWxlbWVu
dCgpLT5kb2N1bWVudCgpKSwgZWMpOworICAgIGVsZW1lbnQoKS0+dXNlckFnZW50U2hhZG93Um9v
dCgpLT5hcHBlbmRDaGlsZChlbGVtZW50KCktPm11bHRpcGxlKCkgPyBVcGxvYWRCdXR0b25FbGVt
ZW50OjpjcmVhdGVGb3JNdWx0aXBsZShlbGVtZW50KCktPmRvY3VtZW50KCkpOiBVcGxvYWRCdXR0
b25FbGVtZW50OjpjcmVhdGUoZWxlbWVudCgpLT5kb2N1bWVudCgpKSwgZWMpOwogfQogCiB2b2lk
IEZpbGVJbnB1dFR5cGU6Om11bHRpcGxlQXR0cmlidXRlQ2hhbmdlZCgpCiB7CiAgICAgQVNTRVJU
KGVsZW1lbnQoKS0+c2hhZG93KCkpOwotICAgIFVwbG9hZEJ1dHRvbkVsZW1lbnQqIGJ1dHRvbiA9
IHN0YXRpY19jYXN0PFVwbG9hZEJ1dHRvbkVsZW1lbnQqPihlbGVtZW50KCktPnNoYWRvdygpLT5v
bGRlc3RTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSk7CisgICAgVXBsb2FkQnV0dG9uRWxlbWVu
dCogYnV0dG9uID0gc3RhdGljX2Nhc3Q8VXBsb2FkQnV0dG9uRWxlbWVudCo+KGVsZW1lbnQoKS0+
dXNlckFnZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpOwogICAgIGlmIChidXR0b24pCiAg
ICAgICAgIGJ1dHRvbi0+c2V0VmFsdWUoZWxlbWVudCgpLT5tdWx0aXBsZSgpID8gZmlsZUJ1dHRv
bkNob29zZU11bHRpcGxlRmlsZXNMYWJlbCgpIDogZmlsZUJ1dHRvbkNob29zZUZpbGVMYWJlbCgp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcAppbmRleCA1
MzFiZDMzMDY5Mzc2ZDdlZjE0MDljOWZjZTA0ZjYxMmJjMTg5ZTFhLi5hODBmZTYyMTA1ZTc5ZTM1
NmJkZDJjZDJlOWQzNWM3ZWQ1ZTcwZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0
YWlsc0VsZW1lbnQuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgRWxlbWVudCogSFRNTERldGFpbHNF
bGVtZW50OjpmaW5kTWFpblN1bW1hcnkoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHRvRWxl
bWVudChjaGlsZCk7CiAgICAgfQogCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PERldGFpbHNTdW1t
YXJ5RWxlbWVudCo+KHNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSkt
PmZhbGxiYWNrU3VtbWFyeSgpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZXRhaWxzU3VtbWFy
eUVsZW1lbnQqPih1c2VyQWdlbnRTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSktPmZhbGxiYWNr
U3VtbWFyeSgpOwogfQogCiB2b2lkIEhUTUxEZXRhaWxzRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUo
Y29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VF
bGVtZW50LmNwcAppbmRleCAyOTkyYjZhMTc1YTg1MTE5M2I1M2JjZTA4YjNiZmZmMDE1YzZiYjJi
Li5hZmZmNzg5NzlmYmU1YjY1MDJlOTMwMGJkZDdkY2NkMmI1OTZhNTZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgSFRNTEltYWdl
RWxlbWVudDo6fkhUTUxJbWFnZUVsZW1lbnQoKQogCiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6Ondp
bGxBZGRBdXRob3JTaGFkb3dSb290KCkKIHsKLSAgICBpZiAoc2hhZG93KCktPm9sZGVzdFNoYWRv
d1Jvb3QoKSkKKyAgICBpZiAodXNlckFnZW50U2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm47
CiAKICAgICBjcmVhdGVTaGFkb3dTdWJ0cmVlKCk7CkBAIC0xMTIsOSArMTEyLDkgQEAgdm9pZCBI
VE1MSW1hZ2VFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIAogRWxlbWVudCogSFRNTElt
YWdlRWxlbWVudDo6aW1hZ2VFbGVtZW50KCkKIHsKLSAgICBpZiAoRWxlbWVudFNoYWRvdyogZWxl
bWVudFNoYWRvdyA9IHNoYWRvdygpKSB7Ci0gICAgICAgIEFTU0VSVChlbGVtZW50U2hhZG93LT5v
bGRlc3RTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKS0+aGFzVGFnTmFtZSh3ZWJraXRJbm5lcklt
YWdlVGFnKSk7Ci0gICAgICAgIHJldHVybiB0b0VsZW1lbnQoZWxlbWVudFNoYWRvdy0+b2xkZXN0
U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpOworICAgIGlmIChTaGFkb3dSb290KiB1c2VyQWdl
bnQgPSB1c2VyQWdlbnRTaGFkb3dSb290KCkpIHsKKyAgICAgICAgQVNTRVJUKHVzZXJBZ2VudC0+
Zmlyc3RDaGlsZCgpLT5oYXNUYWdOYW1lKHdlYmtpdElubmVySW1hZ2VUYWcpKTsKKyAgICAgICAg
cmV0dXJuIHRvRWxlbWVudCh1c2VyQWdlbnQtPmZpcnN0Q2hpbGQoKSk7CiAgICAgfQogCiAgICAg
cmV0dXJuIHRoaXM7CkBAIC00MDksOCArNDA5LDggQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpz
ZXRJdGVtVmFsdWVUZXh0KGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKQogCiBp
bmxpbmUgSW1hZ2VJbm5lckVsZW1lbnQqIEhUTUxJbWFnZUVsZW1lbnQ6OmlubmVyRWxlbWVudCgp
IGNvbnN0CiB7Ci0gICAgQVNTRVJUKHNoYWRvdygpKTsKLSAgICByZXR1cm4gdG9JbWFnZUlubmVy
RWxlbWVudChzaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpOworICAg
IEFTU0VSVCh1c2VyQWdlbnRTaGFkb3dSb290KCkpOworICAgIHJldHVybiB0b0ltYWdlSW5uZXJF
bGVtZW50KHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+Zmlyc3RDaGlsZCgpKTsKIH0KIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAppbmRleCBhMWIwMzJlMDY0MGY4
ZTQ4YWJkN2E2M2VmZDVlYjAwZDNlMDdmMmI2Li5jZmUyZDhlNDk2OTUwMDI5OTIyMTkzOGFiYmIy
MjIyMmNmZjBiYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNw
cApAQCAtMTM2LDcgKzEzNiw3IEBAIGJvb2wgSFRNTEtleWdlbkVsZW1lbnQ6OnNob3VsZFNhdmVB
bmRSZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0CiAKIEhUTUxTZWxlY3RFbGVtZW50KiBI
VE1MS2V5Z2VuRWxlbWVudDo6c2hhZG93U2VsZWN0KCkgY29uc3QKIHsKLSAgICBTaGFkb3dSb290
KiByb290ID0gdGhpcy0+c2hhZG93KCktPm9sZGVzdFNoYWRvd1Jvb3QoKTsKKyAgICBTaGFkb3dS
b290KiByb290ID0gdXNlckFnZW50U2hhZG93Um9vdCgpOwogICAgIHJldHVybiByb290ID8gdG9I
VE1MU2VsZWN0RWxlbWVudChyb290LT5maXJzdENoaWxkKCkpIDogMDsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggZDA3YTk3MmM2OWM1NWYz
YWY3MmY5MDhhMzUzYTRmZDE0ODNjOTYxZC4uYmFkODU3MWQzNTFmNWM4NTUzMzAyMDA0ZmFiMjI4
OGZmMDBmNzU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
Y3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgU3RyaW5nIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNhbml0
aXplVXNlcklucHV0VmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlLAogCiBIVE1MRWxl
bWVudCogSFRNTFRleHRBcmVhRWxlbWVudDo6aW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0CiB7Ci0g
ICAgTm9kZSogbm9kZSA9IHNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQo
KTsKKyAgICBOb2RlKiBub2RlID0gdXNlckFnZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCk7
CiAgICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUoZGl2VGFnKSk7CiAgICAgcmV0
dXJuIHRvSFRNTEVsZW1lbnQobm9kZSk7CiB9CkBAIC01MDUsNyArNTA1LDcgQEAgdm9pZCBIVE1M
VGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclRleHQoKQogICAgIFN0cmluZyBwbGFj
ZWhvbGRlclRleHQgPSBzdHJpcHBlZFBsYWNlaG9sZGVyKCk7CiAgICAgaWYgKHBsYWNlaG9sZGVy
VGV4dC5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKG1fcGxhY2Vob2xkZXIpIHsKLSAgICAgICAg
ICAgIHNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCktPnJlbW92ZUNoaWxkKG1fcGxhY2Vob2xk
ZXIuZ2V0KCksIGVjKTsKKyAgICAgICAgICAgIHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+cmVtb3Zl
Q2hpbGQobV9wbGFjZWhvbGRlci5nZXQoKSwgZWMpOwogICAgICAgICAgICAgQVNTRVJUKCFlYyk7
CiAgICAgICAgICAgICBtX3BsYWNlaG9sZGVyLmNsZWFyKCk7CiAgICAgICAgIH0KQEAgLTUxNCw3
ICs1MTQsNyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4
dCgpCiAgICAgaWYgKCFtX3BsYWNlaG9sZGVyKSB7CiAgICAgICAgIG1fcGxhY2Vob2xkZXIgPSBI
VE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpOwogICAgICAgICBtX3BsYWNlaG9sZGVy
LT5zZXRTaGFkb3dQc2V1ZG9JZCgiLXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciIpOwotICAgICAg
ICBzaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRl
ciwgaW5uZXJUZXh0RWxlbWVudCgpLT5uZXh0U2libGluZygpLCBlYyk7CisgICAgICAgIHVzZXJB
Z2VudFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4dEVs
ZW1lbnQoKS0+bmV4dFNpYmxpbmcoKSwgZWMpOwogICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9
CiAgICAgbV9wbGFjZWhvbGRlci0+c2V0SW5uZXJUZXh0KHBsYWNlaG9sZGVyVGV4dCwgZWMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRjNDU4NjUyMzM5ZjQ2YTZhYjBiM2JkODAw
YWJkZjAyMjgzMGI0ZGYuLjNkNTBmNzgzMjczODcxZjdiZDU3NGM5OGI4MDg4ZTFlNDFhMGU2NTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTQ1MywxMiArNDUzLDEwIEBAIHZvaWQg
SW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIAogdm9pZCBJbnB1dFR5cGU6OmRlc3Ry
b3lTaGFkb3dTdWJ0cmVlKCkKIHsKLSAgICBFbGVtZW50U2hhZG93KiBzaGFkb3cgPSBlbGVtZW50
KCktPnNoYWRvdygpOwotICAgIGlmICghc2hhZG93KQorICAgIFNoYWRvd1Jvb3QqIHJvb3QgPSBl
bGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXJvb3QpCiAgICAgICAg
IHJldHVybjsKIAotICAgIFNoYWRvd1Jvb3QqIHJvb3QgPSBzaGFkb3ctPm9sZGVzdFNoYWRvd1Jv
b3QoKTsKLSAgICBBU1NFUlQocm9vdC0+dHlwZSgpID09IFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNo
YWRvd1Jvb3QpOwogICAgIHJvb3QtPnJlbW92ZUFsbENoaWxkcmVuKCk7CiAKICAgICAvLyBJdCdz
IG9rIHRvIGNsZWFyIGNvbnRlbnRzIG9mIGFsbCBvdGhlciBTaGFkb3dSb290cyBiZWNhdXNlIHRo
ZXkgbXVzdCBoYXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRU
eXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCmluZGV4IDZi
MWY4MGY0OGVlOTQ4NWQ4ZjI3Zjc4ZDg5YzJmYmQyZjQzZTcyZTAuLjQzNjY5NjcxM2VkMWY5NGRj
MmJkZDNkNWM0YzlhZjNjMmU2NWY2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
UmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5
cGUuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlTW91
c2VEb3duRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiAgICAgaWYgKGV2ZW50LT5idXR0b24oKSAh
PSBMZWZ0QnV0dG9uIHx8ICF0YXJnZXROb2RlKQogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJU
KGVsZW1lbnQoKS0+c2hhZG93KCkpOwotICAgIGlmICh0YXJnZXROb2RlICE9IGVsZW1lbnQoKSAm
JiAhdGFyZ2V0Tm9kZS0+aXNEZXNjZW5kYW50T2YoZWxlbWVudCgpLT5zaGFkb3coKS0+b2xkZXN0
U2hhZG93Um9vdCgpKSkKKyAgICBpZiAodGFyZ2V0Tm9kZSAhPSBlbGVtZW50KCkgJiYgIXRhcmdl
dE5vZGUtPmlzRGVzY2VuZGFudE9mKGVsZW1lbnQoKS0+dXNlckFnZW50U2hhZG93Um9vdCgpKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIFNsaWRlclRodW1iRWxlbWVudCogdGh1bWIgPSBzbGlkZXJU
aHVtYkVsZW1lbnRPZihlbGVtZW50KCkpOwogICAgIGlmICh0YXJnZXROb2RlID09IHRodW1iKQpA
QCAtMjQ0LDcgKzI0NCw3IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRy
ZWUoKQogICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gY29udGFpbmVyID0gU2xpZGVyQ29udGFpbmVy
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKICAgICBjb250YWluZXItPmFwcGVuZENoaWxkKHRy
YWNrLnJlbGVhc2UoKSwgZWMpOwogICAgIGNvbnRhaW5lci0+YXBwZW5kQ2hpbGQoVHJhY2tMaW1p
dGVyRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KSwgZWMpOwotICAgIGVsZW1lbnQoKS0+c2hhZG93
KCktPm9sZGVzdFNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoY29udGFpbmVyLnJlbGVhc2UoKSwg
ZWMpOworICAgIGVsZW1lbnQoKS0+dXNlckFnZW50U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChj
b250YWluZXIucmVsZWFzZSgpLCBlYyk7CiB9CiAKIFJlbmRlck9iamVjdCogUmFuZ2VJbnB1dFR5
cGU6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCmluZGV4IDYzMjgx
NmJlN2QxNzE5NTAxNzA2YjI5M2E3NTgyN2Q1MDJmMmExNWYuLjEwZWQ4ZmIwYTlmMDhlOWNjZjUx
NDI2NGM3OGVjN2VjNzFmYzM4MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4
dEZpZWxkSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElu
cHV0VHlwZS5jcHAKQEAgLTI0NiwxMSArMjQ2LDExIEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBl
OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBt
X2lubmVyVGV4dCA9IFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
KTsKICAgICBpZiAoIWNyZWF0ZXNDb250YWluZXIpIHsKLSAgICAgICAgZWxlbWVudCgpLT5zaGFk
b3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChtX2lubmVyVGV4dCwgZWMpOwor
ICAgICAgICBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQobV9p
bm5lclRleHQsIGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNoYWRvd1Jvb3Qq
IHNoYWRvd1Jvb3QgPSBlbGVtZW50KCktPnNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCk7Cisg
ICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IGVsZW1lbnQoKS0+dXNlckFnZW50U2hhZG93Um9v
dCgpOwogICAgIG1fY29udGFpbmVyID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7
CiAgICAgbV9jb250YWluZXItPnNldFNoYWRvd1BzZXVkb0lkKCItd2Via2l0LXRleHRmaWVsZC1k
ZWNvcmF0aW9uLWNvbnRhaW5lciIpOwogICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKG1fY29u
dGFpbmVyLCBlYyk7CkBAIC00MTcsNyArNDE3LDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6
OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiAgICAgaWYgKCFtX3BsYWNlaG9sZGVyKSB7CiAgICAg
ICAgIG1fcGxhY2Vob2xkZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQoKS0+ZG9j
dW1lbnQoKSk7CiAgICAgICAgIG1fcGxhY2Vob2xkZXItPnNldFNoYWRvd1BzZXVkb0lkKCItd2Vi
a2l0LWlucHV0LXBsYWNlaG9sZGVyIik7Ci0gICAgICAgIGVsZW1lbnQoKS0+c2hhZG93KCktPm9s
ZGVzdFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vob2xkZXIsIG1fY29udGFpbmVy
ID8gbV9jb250YWluZXItPm5leHRTaWJsaW5nKCkgOiBpbm5lclRleHRFbGVtZW50KCktPm5leHRT
aWJsaW5nKCksIGVjKTsKKyAgICAgICAgZWxlbWVudCgpLT51c2VyQWdlbnRTaGFkb3dSb290KCkt
Pmluc2VydEJlZm9yZShtX3BsYWNlaG9sZGVyLCBtX2NvbnRhaW5lciA/IG1fY29udGFpbmVyLT5u
ZXh0U2libGluZygpIDogaW5uZXJUZXh0RWxlbWVudCgpLT5uZXh0U2libGluZygpLCBlYyk7CiAg
ICAgICAgIEFTU0VSVCghZWMpOwogICAgIH0KICAgICBtX3BsYWNlaG9sZGVyLT5zZXRJbm5lclRl
eHQocGxhY2Vob2xkZXJUZXh0LCBlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IGI2M2Q4ODM3ZGYyMjExNWVmZGM5M2MwYzA2NmYyYzVhZGUxYTc4NmQu
LjE5MDFmNDZjZWRiMmFmMjQ2ZTMzYTVhY2RhMDdkZWExYmYyMmU2ZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xOTYsNyArMTk2LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZShUaW1lcjxWYWxpZGF0aW9uTWVzc2Fn
ZT4qKQogICAgICAgICBtX21lc3NhZ2VCb2R5ID0gMDsKICAgICAgICAgSFRNTEVsZW1lbnQqIGhv
c3QgPSB0b0hUTUxFbGVtZW50KG1fZWxlbWVudCk7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7
Ci0gICAgICAgIGhvc3QtPnNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCktPnJlbW92ZUNoaWxk
KG1fYnViYmxlLmdldCgpLCBlYyk7CisgICAgICAgIGhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3Qo
KS0+cmVtb3ZlQ2hpbGQobV9idWJibGUuZ2V0KCksIGVjKTsKICAgICAgICAgbV9idWJibGUgPSAw
OwogICAgIH0KICAgICBtX21lc3NhZ2UgPSBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IDUyMmM0YTQzMGVlMWEw
NjRlMjYwN2IwN2RlMTI3NWU2NWViNzAzNjEuLjU2NGRiYjQ0MDJkM2Y3ZTk3N2ZmOGJiOTY1OWEx
NWJkNGQ5OWFmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRl
clRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcApAQCAtNzQsNyArNzQsNyBAQCBpbmxpbmUgc3RhdGljIGJvb2wgaGFz
VmVydGljYWxBcHBlYXJhbmNlKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0KQogU2xpZGVyVGh1bWJF
bGVtZW50KiBzbGlkZXJUaHVtYkVsZW1lbnRPZihOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChu
b2RlKTsKLSAgICBTaGFkb3dSb290KiBzaGFkb3cgPSBub2RlLT50b0lucHV0RWxlbWVudCgpLT5z
aGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpOworICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9IG5v
ZGUtPnRvSW5wdXRFbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKICAgICBBU1NFUlQo
c2hhZG93KTsKICAgICBOb2RlKiB0aHVtYiA9IHNoYWRvdy0+Zmlyc3RDaGlsZCgpLT5maXJzdENo
aWxkKCktPmZpcnN0Q2hpbGQoKTsKICAgICBBU1NFUlQodGh1bWIpOwpAQCAtNDI0LDggKzQyNCw3
IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgVHJhY2tMaW1pdGVyRWxlbWVudDo6c2hhZG93UHNldWRv
SWQoKSBjb25zdAogVHJhY2tMaW1pdGVyRWxlbWVudCogdHJhY2tMaW1pdGVyRWxlbWVudE9mKE5v
ZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwotICAgIEFTU0VSVChub2RlLT50b0lucHV0
RWxlbWVudCgpLT5zaGFkb3coKSk7Ci0gICAgU2hhZG93Um9vdCogc2hhZG93ID0gbm9kZS0+dG9J
bnB1dEVsZW1lbnQoKS0+c2hhZG93KCktPm9sZGVzdFNoYWRvd1Jvb3QoKTsKKyAgICBTaGFkb3dS
b290KiBzaGFkb3cgPSBub2RlLT50b0lucHV0RWxlbWVudCgpLT51c2VyQWdlbnRTaGFkb3dSb290
KCk7CiAgICAgQVNTRVJUKHNoYWRvdyk7CiAgICAgTm9kZSogbGltaXRlciA9IHNoYWRvdy0+Zmly
c3RDaGlsZCgpLT5sYXN0Q2hpbGQoKTsKICAgICBBU1NFUlQobGltaXRlcik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153204</attachid>
            <date>2012-07-19 01:07:48 -0700</date>
            <delta_ts>2012-07-19 01:56:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91716-20120719170747.patch</filename>
            <type>text/plain</type>
            <size>14662</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRhZDY4MWFjOTgxM2M5
MjIyNTJlZjUwMGMxOWM1ZmZiMjBiZTdlMy4uYzI4NzdiZDMwZTViZDdmNDRhMjNmMWY3NzQ0MDhl
NGM2ZjFiOTgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA3LTE5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jp
bmddIFVzZSB1c2VyQWdlbnRTaGFkb3dSb290KCkgdG8gdGFrZSB1c2VyIGFnZW50IHNoYWRvdyBy
b290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3
MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBo
YXZlIGludHJvZHVjZWQgRWxlbWVudDo6dXNlckFnZW50U2hhZG93Um9vdCBpbiByMTIzMDcxIHRv
IHRha2UgdXNlciBhZ2VudCBzaGFkb3cgcm9vdC4KKyAgICAgICAgV2UgaGF2ZSB1c2VkIHNoYWRv
dygpLT5vbGRlc3RTaGFkb3dSb290KCkgdG8gdGFrZSB0aGUgdXNlciBhZ2VudCBzaGFkb3cgcm9v
dCwgaG93ZXZlciBpdHMgY29kZSBpbnRlbnRpb24gd2FzCisgICAgICAgIG5vdCBzbyBjbGVhci4g
VXNpbmcgdXNlckFnZW50U2hhZG93Um9vdCgpIHdpbGwgbWFrZSBpdCBjbGVhcmVyLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgc2ltcGxlIHJlZmFjdG9yaW5nLgorCisgICAgICAgICogaHRtbC9D
b2xvcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6Y3Jl
YXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6c2hh
ZG93Q29sb3JTd2F0Y2gpOgorICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6Om11bHRpcGxlQXR0cmlidXRlQ2hhbmdlZCk6Cisg
ICAgICAgICogaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTERldGFpbHNFbGVtZW50OjpmaW5kTWFpblN1bW1hcnkpOgorICAgICAgICAqIGh0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp3
aWxsQWRkQXV0aG9yU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVt
ZW50OjppbWFnZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6
aW5uZXJFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxLZXlnZW5FbGVtZW50OjpzaGFkb3dTZWxlY3QpOgorICAgICAg
ICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VGV4dEFyZWFFbGVtZW50Ojppbm5lclRleHRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCk6CisgICAgICAgICogaHRt
bC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpkZXN0cm95U2hh
ZG93U3VidHJlZSk6CisgICAgICAgICogaHRtbC9SYW5nZUlucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlTW91c2VEb3duRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOgorICAgICAg
ICAqIGh0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRG
aWVsZElucHV0VHlwZTo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0RmllbGRJbnB1dFR5cGU6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCk6CisgICAgICAgICogaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVz
c2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvU2xpZGVyVGh1
bWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNsaWRlclRodW1iRWxlbWVudE9mKToK
KyAgICAgICAgKFdlYkNvcmU6OnRyYWNrTGltaXRlckVsZW1lbnRPZik6CisKIDIwMTItMDctMTgg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQW5vdGhlciBidWls
ZCBmaXggYWZ0ZXIgcjEyMzA2NS4gRG9uJ3QgbGlzdCBkZWxldGVkIGZpbGUgaW4gZ3lwaS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAKaW5kZXggMWVjZWNjMmI2NDFmODQxNTY1
MzQyNWMxZTk0ZTA2N2NmZTM4NjdmMS4uNjAxZDI4ZTk4YzVjZmE0YzAzMmQxYmJlMDJjMTdlMjcz
ZWIxNjk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAKQEAgLTExNyw3
ICsxMTcsNyBAQCB2b2lkIENvbG9ySW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICB3cmFwcGVyRWxlbWVudC0+YXBwZW5kQ2hpbGQo
Y29sb3JTd2F0Y2gucmVsZWFzZSgpLCBlYyk7CiAgICAgQVNTRVJUKCFlYyk7Ci0gICAgZWxlbWVu
dCgpLT5zaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZCh3cmFwcGVyRWxl
bWVudC5yZWxlYXNlKCksIGVjKTsKKyAgICBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3Qo
KS0+YXBwZW5kQ2hpbGQod3JhcHBlckVsZW1lbnQucmVsZWFzZSgpLCBlYyk7CiAgICAgQVNTRVJU
KCFlYyk7CiAgICAgCiAgICAgdXBkYXRlQ29sb3JTd2F0Y2goKTsKQEAgLTE5MSw3ICsxOTEsNyBA
QCB2b2lkIENvbG9ySW5wdXRUeXBlOjp1cGRhdGVDb2xvclN3YXRjaCgpCiAKIEhUTUxFbGVtZW50
KiBDb2xvcklucHV0VHlwZTo6c2hhZG93Q29sb3JTd2F0Y2goKSBjb25zdAogewotICAgIFNoYWRv
d1Jvb3QqIHNoYWRvdyA9IGVsZW1lbnQoKS0+c2hhZG93KCktPm9sZGVzdFNoYWRvd1Jvb3QoKTsK
KyAgICBTaGFkb3dSb290KiBzaGFkb3cgPSBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3Qo
KTsKICAgICByZXR1cm4gc2hhZG93ID8gdG9IVE1MRWxlbWVudChzaGFkb3ctPmZpcnN0Q2hpbGQo
KS0+Zmlyc3RDaGlsZCgpKSA6IDA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUu
Y3BwCmluZGV4IGYzOTczM2QxNWYxYjBhNzM0OTJhMDhlNjJjNGE0YTg1NTZkOGVlNGYuLjdhNzVl
MTNjMTJkNjNjYzdhOGJjZGUxN2RlNWU4N2Q3YzM0MjBiOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9G
aWxlSW5wdXRUeXBlLmNwcApAQCAtMjk3LDEzICsyOTcsMTMgQEAgdm9pZCBGaWxlSW5wdXRUeXBl
OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAgICBBU1NFUlQoZWxlbWVudCgpLT5zaGFkb3co
KSk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgZWxlbWVudCgpLT5zaGFkb3coKS0+
b2xkZXN0U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChlbGVtZW50KCktPm11bHRpcGxlKCkgPyBV
cGxvYWRCdXR0b25FbGVtZW50OjpjcmVhdGVGb3JNdWx0aXBsZShlbGVtZW50KCktPmRvY3VtZW50
KCkpOiBVcGxvYWRCdXR0b25FbGVtZW50OjpjcmVhdGUoZWxlbWVudCgpLT5kb2N1bWVudCgpKSwg
ZWMpOworICAgIGVsZW1lbnQoKS0+dXNlckFnZW50U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChl
bGVtZW50KCktPm11bHRpcGxlKCkgPyBVcGxvYWRCdXR0b25FbGVtZW50OjpjcmVhdGVGb3JNdWx0
aXBsZShlbGVtZW50KCktPmRvY3VtZW50KCkpOiBVcGxvYWRCdXR0b25FbGVtZW50OjpjcmVhdGUo
ZWxlbWVudCgpLT5kb2N1bWVudCgpKSwgZWMpOwogfQogCiB2b2lkIEZpbGVJbnB1dFR5cGU6Om11
bHRpcGxlQXR0cmlidXRlQ2hhbmdlZCgpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQoKS0+c2hhZG93
KCkpOwotICAgIFVwbG9hZEJ1dHRvbkVsZW1lbnQqIGJ1dHRvbiA9IHN0YXRpY19jYXN0PFVwbG9h
ZEJ1dHRvbkVsZW1lbnQqPihlbGVtZW50KCktPnNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCkt
PmZpcnN0Q2hpbGQoKSk7CisgICAgVXBsb2FkQnV0dG9uRWxlbWVudCogYnV0dG9uID0gc3RhdGlj
X2Nhc3Q8VXBsb2FkQnV0dG9uRWxlbWVudCo+KGVsZW1lbnQoKS0+dXNlckFnZW50U2hhZG93Um9v
dCgpLT5maXJzdENoaWxkKCkpOwogICAgIGlmIChidXR0b24pCiAgICAgICAgIGJ1dHRvbi0+c2V0
VmFsdWUoZWxlbWVudCgpLT5tdWx0aXBsZSgpID8gZmlsZUJ1dHRvbkNob29zZU11bHRpcGxlRmls
ZXNMYWJlbCgpIDogZmlsZUJ1dHRvbkNob29zZUZpbGVMYWJlbCgpKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcAppbmRleCA1MzFiZDMzMDY5Mzc2ZDdlZjE0
MDljOWZjZTA0ZjYxMmJjMTg5ZTFhLi5hODBmZTYyMTA1ZTc5ZTM1NmJkZDJjZDJlOWQzNWM3ZWQ1
ZTcwZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCkBA
IC0xMjQsNyArMTI0LDcgQEAgRWxlbWVudCogSFRNTERldGFpbHNFbGVtZW50OjpmaW5kTWFpblN1
bW1hcnkoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChjaGlsZCk7CiAgICAg
fQogCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PERldGFpbHNTdW1tYXJ5RWxlbWVudCo+KHNoYWRv
dygpLT5vbGRlc3RTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSktPmZhbGxiYWNrU3VtbWFyeSgp
OworICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZXRhaWxzU3VtbWFyeUVsZW1lbnQqPih1c2VyQWdl
bnRTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSktPmZhbGxiYWNrU3VtbWFyeSgpOwogfQogCiB2
b2lkIEhUTUxEZXRhaWxzRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBh
dHRyaWJ1dGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCAy
OTkyYjZhMTc1YTg1MTE5M2I1M2JjZTA4YjNiZmZmMDE1YzZiYjJiLi5lMzEzOGU2ZTBlMzliNDFk
NDZiMmEyMGQ1OTYxODRiYmZkYjUwZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgSFRNTEltYWdlRWxlbWVudDo6fkhUTUxJbWFn
ZUVsZW1lbnQoKQogCiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxBZGRBdXRob3JTaGFkb3dS
b290KCkKIHsKLSAgICBpZiAoc2hhZG93KCktPm9sZGVzdFNoYWRvd1Jvb3QoKSkKKyAgICBpZiAo
dXNlckFnZW50U2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBjcmVhdGVTaGFk
b3dTdWJ0cmVlKCk7CkBAIC0xMTIsOSArMTEyLDkgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpj
cmVhdGVTaGFkb3dTdWJ0cmVlKCkKIAogRWxlbWVudCogSFRNTEltYWdlRWxlbWVudDo6aW1hZ2VF
bGVtZW50KCkKIHsKLSAgICBpZiAoRWxlbWVudFNoYWRvdyogZWxlbWVudFNoYWRvdyA9IHNoYWRv
dygpKSB7Ci0gICAgICAgIEFTU0VSVChlbGVtZW50U2hhZG93LT5vbGRlc3RTaGFkb3dSb290KCkt
PmZpcnN0Q2hpbGQoKS0+aGFzVGFnTmFtZSh3ZWJraXRJbm5lckltYWdlVGFnKSk7Ci0gICAgICAg
IHJldHVybiB0b0VsZW1lbnQoZWxlbWVudFNoYWRvdy0+b2xkZXN0U2hhZG93Um9vdCgpLT5maXJz
dENoaWxkKCkpOworICAgIGlmIChTaGFkb3dSb290KiByb290ID0gdXNlckFnZW50U2hhZG93Um9v
dCgpKSB7CisgICAgICAgIEFTU0VSVChyb290LT5maXJzdENoaWxkKCktPmhhc1RhZ05hbWUod2Vi
a2l0SW5uZXJJbWFnZVRhZykpOworICAgICAgICByZXR1cm4gdG9FbGVtZW50KHJvb3QtPmZpcnN0
Q2hpbGQoKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRoaXM7CkBAIC00MDksOCArNDA5LDggQEAg
dm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpzZXRJdGVtVmFsdWVUZXh0KGNvbnN0IFN0cmluZyYgdmFs
dWUsIEV4Y2VwdGlvbkNvZGUmKQogCiBpbmxpbmUgSW1hZ2VJbm5lckVsZW1lbnQqIEhUTUxJbWFn
ZUVsZW1lbnQ6OmlubmVyRWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHNoYWRvdygpKTsK
LSAgICByZXR1cm4gdG9JbWFnZUlubmVyRWxlbWVudChzaGFkb3coKS0+b2xkZXN0U2hhZG93Um9v
dCgpLT5maXJzdENoaWxkKCkpOworICAgIEFTU0VSVCh1c2VyQWdlbnRTaGFkb3dSb290KCkpOwor
ICAgIHJldHVybiB0b0ltYWdlSW5uZXJFbGVtZW50KHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+Zmly
c3RDaGlsZCgpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
S2V5Z2VuRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50
LmNwcAppbmRleCBhMWIwMzJlMDY0MGY4ZTQ4YWJkN2E2M2VmZDVlYjAwZDNlMDdmMmI2Li5jZmUy
ZDhlNDk2OTUwMDI5OTIyMTkzOGFiYmIyMjIyMmNmZjBiYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcApAQCAtMTM2LDcgKzEzNiw3IEBAIGJvb2wgSFRNTEtl
eWdlbkVsZW1lbnQ6OnNob3VsZFNhdmVBbmRSZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0
CiAKIEhUTUxTZWxlY3RFbGVtZW50KiBIVE1MS2V5Z2VuRWxlbWVudDo6c2hhZG93U2VsZWN0KCkg
Y29uc3QKIHsKLSAgICBTaGFkb3dSb290KiByb290ID0gdGhpcy0+c2hhZG93KCktPm9sZGVzdFNo
YWRvd1Jvb3QoKTsKKyAgICBTaGFkb3dSb290KiByb290ID0gdXNlckFnZW50U2hhZG93Um9vdCgp
OwogICAgIHJldHVybiByb290ID8gdG9IVE1MU2VsZWN0RWxlbWVudChyb290LT5maXJzdENoaWxk
KCkpIDogMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAKaW5kZXggZDA3YTk3MmM2OWM1NWYzYWY3MmY5MDhhMzUzYTRmZDE0ODNjOTYxZC4uYmFkODU3
MWQzNTFmNWM4NTUzMzAyMDA0ZmFiMjI4OGZmMDBmNzU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgU3RyaW5nIEhU
TUxUZXh0QXJlYUVsZW1lbnQ6OnNhbml0aXplVXNlcklucHV0VmFsdWUoY29uc3QgU3RyaW5nJiBw
cm9wb3NlZFZhbHVlLAogCiBIVE1MRWxlbWVudCogSFRNTFRleHRBcmVhRWxlbWVudDo6aW5uZXJU
ZXh0RWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgTm9kZSogbm9kZSA9IHNoYWRvdygpLT5vbGRlc3RT
aGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKTsKKyAgICBOb2RlKiBub2RlID0gdXNlckFnZW50U2hh
ZG93Um9vdCgpLT5maXJzdENoaWxkKCk7CiAgICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmhhc1Rh
Z05hbWUoZGl2VGFnKSk7CiAgICAgcmV0dXJuIHRvSFRNTEVsZW1lbnQobm9kZSk7CiB9CkBAIC01
MDUsNyArNTA1LDcgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRl
clRleHQoKQogICAgIFN0cmluZyBwbGFjZWhvbGRlclRleHQgPSBzdHJpcHBlZFBsYWNlaG9sZGVy
KCk7CiAgICAgaWYgKHBsYWNlaG9sZGVyVGV4dC5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYgKG1f
cGxhY2Vob2xkZXIpIHsKLSAgICAgICAgICAgIHNoYWRvdygpLT5vbGRlc3RTaGFkb3dSb290KCkt
PnJlbW92ZUNoaWxkKG1fcGxhY2Vob2xkZXIuZ2V0KCksIGVjKTsKKyAgICAgICAgICAgIHVzZXJB
Z2VudFNoYWRvd1Jvb3QoKS0+cmVtb3ZlQ2hpbGQobV9wbGFjZWhvbGRlci5nZXQoKSwgZWMpOwog
ICAgICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgICAgICAgICBtX3BsYWNlaG9sZGVyLmNsZWFy
KCk7CiAgICAgICAgIH0KQEAgLTUxNCw3ICs1MTQsNyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1l
bnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiAgICAgaWYgKCFtX3BsYWNlaG9sZGVyKSB7CiAg
ICAgICAgIG1fcGxhY2Vob2xkZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkp
OwogICAgICAgICBtX3BsYWNlaG9sZGVyLT5zZXRTaGFkb3dQc2V1ZG9JZCgiLXdlYmtpdC1pbnB1
dC1wbGFjZWhvbGRlciIpOwotICAgICAgICBzaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5p
bnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgaW5uZXJUZXh0RWxlbWVudCgpLT5uZXh0U2libGlu
ZygpLCBlYyk7CisgICAgICAgIHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1f
cGxhY2Vob2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKS0+bmV4dFNpYmxpbmcoKSwgZWMpOwogICAg
ICAgICBBU1NFUlQoIWVjKTsKICAgICB9CiAgICAgbV9wbGFjZWhvbGRlci0+c2V0SW5uZXJUZXh0
KHBsYWNlaG9sZGVyVGV4dCwgZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9J
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRj
NDU4NjUyMzM5ZjQ2YTZhYjBiM2JkODAwYWJkZjAyMjgzMGI0ZGYuLjNkNTBmNzgzMjczODcxZjdi
ZDU3NGM5OGI4MDg4ZTFlNDFhMGU2NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAg
LTQ1MywxMiArNDUzLDEwIEBAIHZvaWQgSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkK
IAogdm9pZCBJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKIHsKLSAgICBFbGVtZW50
U2hhZG93KiBzaGFkb3cgPSBlbGVtZW50KCktPnNoYWRvdygpOwotICAgIGlmICghc2hhZG93KQor
ICAgIFNoYWRvd1Jvb3QqIHJvb3QgPSBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsK
KyAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNoYWRvd1Jvb3QqIHJvb3Qg
PSBzaGFkb3ctPm9sZGVzdFNoYWRvd1Jvb3QoKTsKLSAgICBBU1NFUlQocm9vdC0+dHlwZSgpID09
IFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QpOwogICAgIHJvb3QtPnJlbW92ZUFsbENo
aWxkcmVuKCk7CiAKICAgICAvLyBJdCdzIG9rIHRvIGNsZWFyIGNvbnRlbnRzIG9mIGFsbCBvdGhl
ciBTaGFkb3dSb290cyBiZWNhdXNlIHRoZXkgbXVzdCBoYXZlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuY3BwCmluZGV4IDZiMWY4MGY0OGVlOTQ4NWQ4ZjI3Zjc4ZDg5YzJmYmQyZjQz
ZTcyZTAuLjQzNjY5NjcxM2VkMWY5NGRjMmJkZDNkNWM0YzlhZjNjMmU2NWY2MGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBS
YW5nZUlucHV0VHlwZTo6aGFuZGxlTW91c2VEb3duRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiAg
ICAgaWYgKGV2ZW50LT5idXR0b24oKSAhPSBMZWZ0QnV0dG9uIHx8ICF0YXJnZXROb2RlKQogICAg
ICAgICByZXR1cm47CiAgICAgQVNTRVJUKGVsZW1lbnQoKS0+c2hhZG93KCkpOwotICAgIGlmICh0
YXJnZXROb2RlICE9IGVsZW1lbnQoKSAmJiAhdGFyZ2V0Tm9kZS0+aXNEZXNjZW5kYW50T2YoZWxl
bWVudCgpLT5zaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpKSkKKyAgICBpZiAodGFyZ2V0Tm9k
ZSAhPSBlbGVtZW50KCkgJiYgIXRhcmdldE5vZGUtPmlzRGVzY2VuZGFudE9mKGVsZW1lbnQoKS0+
dXNlckFnZW50U2hhZG93Um9vdCgpKSkKICAgICAgICAgcmV0dXJuOwogICAgIFNsaWRlclRodW1i
RWxlbWVudCogdGh1bWIgPSBzbGlkZXJUaHVtYkVsZW1lbnRPZihlbGVtZW50KCkpOwogICAgIGlm
ICh0YXJnZXROb2RlID09IHRodW1iKQpAQCAtMjQ0LDcgKzI0NCw3IEBAIHZvaWQgUmFuZ2VJbnB1
dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gY29u
dGFpbmVyID0gU2xpZGVyQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKICAgICBj
b250YWluZXItPmFwcGVuZENoaWxkKHRyYWNrLnJlbGVhc2UoKSwgZWMpOwogICAgIGNvbnRhaW5l
ci0+YXBwZW5kQ2hpbGQoVHJhY2tMaW1pdGVyRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KSwgZWMp
OwotICAgIGVsZW1lbnQoKS0+c2hhZG93KCktPm9sZGVzdFNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hp
bGQoY29udGFpbmVyLnJlbGVhc2UoKSwgZWMpOworICAgIGVsZW1lbnQoKS0+dXNlckFnZW50U2hh
ZG93Um9vdCgpLT5hcHBlbmRDaGlsZChjb250YWluZXIucmVsZWFzZSgpLCBlYyk7CiB9CiAKIFJl
bmRlck9iamVjdCogUmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBh
cmVuYSwgUmVuZGVyU3R5bGUqKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJ
bnB1dFR5cGUuY3BwCmluZGV4IDYzMjgxNmJlN2QxNzE5NTAxNzA2YjI5M2E3NTgyN2Q1MDJmMmEx
NWYuLjEwZWQ4ZmIwYTlmMDhlOWNjZjUxNDI2NGM3OGVjN2VjNzFmYzM4MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKQEAgLTI0NiwxMSArMjQ2LDExIEBA
IHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKICAgICBtX2lubmVyVGV4dCA9IFRleHRDb250cm9sSW5uZXJUZXh0
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKICAgICBpZiAoIWNyZWF0ZXNDb250YWluZXIpIHsK
LSAgICAgICAgZWxlbWVudCgpLT5zaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpLT5hcHBlbmRD
aGlsZChtX2lubmVyVGV4dCwgZWMpOworICAgICAgICBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRv
d1Jvb3QoKS0+YXBwZW5kQ2hpbGQobV9pbm5lclRleHQsIGVjKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBlbGVtZW50KCktPnNoYWRvdygp
LT5vbGRlc3RTaGFkb3dSb290KCk7CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IGVsZW1l
bnQoKS0+dXNlckFnZW50U2hhZG93Um9vdCgpOwogICAgIG1fY29udGFpbmVyID0gSFRNTERpdkVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgbV9jb250YWluZXItPnNldFNoYWRvd1BzZXVk
b0lkKCItd2Via2l0LXRleHRmaWVsZC1kZWNvcmF0aW9uLWNvbnRhaW5lciIpOwogICAgIHNoYWRv
d1Jvb3QtPmFwcGVuZENoaWxkKG1fY29udGFpbmVyLCBlYyk7CkBAIC00MTcsNyArNDE3LDcgQEAg
dm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiAgICAgaWYg
KCFtX3BsYWNlaG9sZGVyKSB7CiAgICAgICAgIG1fcGxhY2Vob2xkZXIgPSBIVE1MRGl2RWxlbWVu
dDo6Y3JlYXRlKGVsZW1lbnQoKS0+ZG9jdW1lbnQoKSk7CiAgICAgICAgIG1fcGxhY2Vob2xkZXIt
PnNldFNoYWRvd1BzZXVkb0lkKCItd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIik7Ci0gICAgICAg
IGVsZW1lbnQoKS0+c2hhZG93KCktPm9sZGVzdFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1f
cGxhY2Vob2xkZXIsIG1fY29udGFpbmVyID8gbV9jb250YWluZXItPm5leHRTaWJsaW5nKCkgOiBp
bm5lclRleHRFbGVtZW50KCktPm5leHRTaWJsaW5nKCksIGVjKTsKKyAgICAgICAgZWxlbWVudCgp
LT51c2VyQWdlbnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZShtX3BsYWNlaG9sZGVyLCBtX2Nv
bnRhaW5lciA/IG1fY29udGFpbmVyLT5uZXh0U2libGluZygpIDogaW5uZXJUZXh0RWxlbWVudCgp
LT5uZXh0U2libGluZygpLCBlYyk7CiAgICAgICAgIEFTU0VSVCghZWMpOwogICAgIH0KICAgICBt
X3BsYWNlaG9sZGVyLT5zZXRJbm5lclRleHQocGxhY2Vob2xkZXJUZXh0LCBlYyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmluZGV4IGI2M2Q4ODM3ZGYyMjExNWVm
ZGM5M2MwYzA2NmYyYzVhZGUxYTc4NmQuLjE5MDFmNDZjZWRiMmFmMjQ2ZTMzYTVhY2RhMDdkZWEx
YmYyMmU2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBA
IC0xOTYsNyArMTk2LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJl
ZShUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4qKQogICAgICAgICBtX21lc3NhZ2VCb2R5ID0gMDsK
ICAgICAgICAgSFRNTEVsZW1lbnQqIGhvc3QgPSB0b0hUTUxFbGVtZW50KG1fZWxlbWVudCk7CiAg
ICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgICAgIGhvc3QtPnNoYWRvdygpLT5vbGRlc3RT
aGFkb3dSb290KCktPnJlbW92ZUNoaWxkKG1fYnViYmxlLmdldCgpLCBlYyk7CisgICAgICAgIGhv
c3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+cmVtb3ZlQ2hpbGQobV9idWJibGUuZ2V0KCksIGVj
KTsKICAgICAgICAgbV9idWJibGUgPSAwOwogICAgIH0KICAgICBtX21lc3NhZ2UgPSBTdHJpbmco
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQu
Y3BwCmluZGV4IDUyMmM0YTQzMGVlMWEwNjRlMjYwN2IwN2RlMTI3NWU2NWViNzAzNjEuLjU2NGRi
YjQ0MDJkM2Y3ZTk3N2ZmOGJiOTY1OWExNWJkNGQ5OWFmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtNzQsNyArNzQsNyBA
QCBpbmxpbmUgc3RhdGljIGJvb2wgaGFzVmVydGljYWxBcHBlYXJhbmNlKEhUTUxJbnB1dEVsZW1l
bnQqIGlucHV0KQogU2xpZGVyVGh1bWJFbGVtZW50KiBzbGlkZXJUaHVtYkVsZW1lbnRPZihOb2Rl
KiBub2RlKQogewogICAgIEFTU0VSVChub2RlKTsKLSAgICBTaGFkb3dSb290KiBzaGFkb3cgPSBu
b2RlLT50b0lucHV0RWxlbWVudCgpLT5zaGFkb3coKS0+b2xkZXN0U2hhZG93Um9vdCgpOworICAg
IFNoYWRvd1Jvb3QqIHNoYWRvdyA9IG5vZGUtPnRvSW5wdXRFbGVtZW50KCktPnVzZXJBZ2VudFNo
YWRvd1Jvb3QoKTsKICAgICBBU1NFUlQoc2hhZG93KTsKICAgICBOb2RlKiB0aHVtYiA9IHNoYWRv
dy0+Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCktPmZpcnN0Q2hpbGQoKTsKICAgICBBU1NFUlQo
dGh1bWIpOwpAQCAtNDI0LDggKzQyNCw3IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgVHJhY2tMaW1p
dGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAogVHJhY2tMaW1pdGVyRWxlbWVudCog
dHJhY2tMaW1pdGVyRWxlbWVudE9mKE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwot
ICAgIEFTU0VSVChub2RlLT50b0lucHV0RWxlbWVudCgpLT5zaGFkb3coKSk7Ci0gICAgU2hhZG93
Um9vdCogc2hhZG93ID0gbm9kZS0+dG9JbnB1dEVsZW1lbnQoKS0+c2hhZG93KCktPm9sZGVzdFNo
YWRvd1Jvb3QoKTsKKyAgICBTaGFkb3dSb290KiBzaGFkb3cgPSBub2RlLT50b0lucHV0RWxlbWVu
dCgpLT51c2VyQWdlbnRTaGFkb3dSb290KCk7CiAgICAgQVNTRVJUKHNoYWRvdyk7CiAgICAgTm9k
ZSogbGltaXRlciA9IHNoYWRvdy0+Zmlyc3RDaGlsZCgpLT5sYXN0Q2hpbGQoKTsKICAgICBBU1NF
UlQobGltaXRlcik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>