<?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>66307</bug_id>
          
          <creation_ts>2011-08-16 08:24:20 -0700</creation_ts>
          <short_desc>Support reset in WebCore::Internals</short_desc>
          <delta_ts>2011-08-17 13:05:22 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66052</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chang Shu">cshu</reporter>
          <assigned_to name="Chang Shu">cshu</assigned_to>
          <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451630</commentid>
    <comment_count>0</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-08-16 08:24:20 -0700</bug_when>
    <thetext>WebCore settings may have been modified through window.internals and DRT should be able to reset them back to their original values before each test run. The above support provides a framework so that Internals can restore the original values automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451651</commentid>
    <comment_count>1</comment_count>
      <attachid>104054</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-08-16 09:10:03 -0700</bug_when>
    <thetext>Created attachment 104054
fix patch

The patch works for mac and qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451652</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-16 09:12:54 -0700</bug_when>
    <thetext>Attachment 104054 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/testing/js/WebCoreTestSupport.cpp:59:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451678</commentid>
    <comment_count>3</comment_count>
      <attachid>104054</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-16 09:45:43 -0700</bug_when>
    <thetext>Comment on attachment 104054
fix patch

This is a great start. We shouldn&apos;t land this with partial port support though. Cross-port support is the whole point of window.internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451810</commentid>
    <comment_count>4</comment_count>
      <attachid>104078</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-08-16 13:02:01 -0700</bug_when>
    <thetext>Created attachment 104078
fix patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452363</commentid>
    <comment_count>5</comment_count>
      <attachid>104078</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-17 10:59:44 -0700</bug_when>
    <thetext>Comment on attachment 104078
fix patch 2

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

&gt; Source/WebCore/testing/js/WebCoreTestSupport.cpp:54
&gt; +    Internals * internals = toInternals(globalObject-&gt;getDirect(exec-&gt;globalData(), Identifier(exec, &quot;internals&quot;)));

Now that we&apos;re using it in more than one place, the literal should probably be a constant in this file.

&gt; Source/WebCore/testing/v8/WebCoreTestSupport.cpp:53
&gt; +    v8::Handle&lt;v8::Object&gt; object = v8::Handle&lt;v8::Object&gt;::Cast(context-&gt;Global()-&gt;Get(v8::String::New(&quot;internals&quot;)));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452408</commentid>
    <comment_count>6</comment_count>
      <attachid>104200</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-08-17 11:30:37 -0700</bug_when>
    <thetext>Created attachment 104200
patch 3: reviewed with minor fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452485</commentid>
    <comment_count>7</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-08-17 13:05:22 -0700</bug_when>
    <thetext>Manually committed r93235: &lt;http://trac.webkit.org/changeset/93235&gt;
Clearing flags.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104054</attachid>
            <date>2011-08-16 09:10:03 -0700</date>
            <delta_ts>2011-08-16 13:02:01 -0700</delta_ts>
            <desc>fix patch</desc>
            <filename>66307_1.patch</filename>
            <type>text/plain</type>
            <size>8138</size>
            <attacher name="Chang Shu">cshu</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMTA0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMTYgIENoYW5nIFNo
dSAgPGNzaHVAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IHJlc2V0IGluIFdlYkNvcmU6
OkludGVybmFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBOZXcgdGVzdHMgd2lsbCBiZSBhZGRlZCB3aGVuIGZ1bmN0aW9uIHJlc2V0IGlzIGltcGxlbWVu
dGVkLgorCisgICAgICAgIEFkZGVkIGZyYW1ld29yayBjb2RlIGluIFdlYkNvcmVUZXN0U3VwcG9y
dC4gVGhlIHJlYWwgaW1wbGVtZW50YXRpb24gb2YKKyAgICAgICAgSW50ZXJuYWxzOjpyZXNldCgp
IGRlcGVuZHMgb24gdGhlIG5lZWQgZnJvbSB0aGUgc2V0dGluZ3MgdGhhdCByZXF1aXJlIGEgcmVz
ZXQuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OnJlc2V0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAg
ICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmVUZXN0U3VwcG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QpOgorICAgICAgICAqIHRlc3Rpbmcv
anMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6CisKIDIwMTEtMDgtMTYgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGhpZGUgbm9uLWNv
bnNlcnZhdGl2ZSBtZXRob2RzIGZyb20gdGhlIHByb3RvY29sIGRvY3VtZW50YXRpb24uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiA5MzA1NykKKysrIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg5
LDQgKzE4OSw5IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRGb3JjZUNvbXBvc2l0aW5nTW9kZSgKICAg
ICBkb2N1bWVudC0+c2V0dGluZ3MoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZW5hYmxlZCk7
CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpyZXNldChEb2N1bWVudCopCit7CisvLyBGSVhNRTogSW1w
bGVtZW50Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNp
b24gOTMwNTcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw3ICs0Myw5IEBAIGNsYXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEludGUKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNyZWF0
ZSgpOwogICAgIHZpcnR1YWwgfkludGVybmFscygpOwotICAgIAorCisgICAgdm9pZCByZXNldChE
b2N1bWVudCopOworCiAgICAgU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQq
LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29u
c3QgU3RyaW5nJiB1cmwpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcAkocmV2aXNpb24gOTMwNTcpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkludGVybmFscy5oIgogI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTSW50ZXJu
YWxzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPGlu
dGVycHJldGVyL0NhbGxGcmFtZS5oPgpAQCAtNDUsNCArNDYsMTggQEAgdm9pZCBpbmplY3RJbnRl
cm5hbHNPYmplY3QoSlNDb250ZXh0UmVmIAogICAgIGdsb2JhbE9iamVjdC0+cHV0RGlyZWN0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAiaW50ZXJuYWxzIiksIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCBJbnRlcm5hbHM6OmNyZWF0ZSgpKSk7CiB9CiAKK3ZvaWQgcmVzZXRJ
bnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQpCit7CisgICAgSlNMb2NrIGxvY2so
U2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRl
eHQpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzdGF0aWNfY2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgSW50
ZXJuYWxzICogaW50ZXJuYWxzID0gdG9JbnRlcm5hbHMoZ2xvYmFsT2JqZWN0LT5nZXREaXJlY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJpbnRlcm5hbHMiKSkpOworICAg
IGlmIChpbnRlcm5hbHMpIHsKKyAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
Q29udGV4dCA9IGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgICAg
ICBpZiAoc2NyaXB0Q29udGV4dC0+aXNEb2N1bWVudCgpKSB7CisgICAgICAgICAgICBpbnRlcm5h
bHMtPnJlc2V0KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oc2NyaXB0Q29udGV4dCkpOworICAgICAg
ICB9CisgICAgfQorfQorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNv
cmVUZXN0U3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmgJKHJldmlzaW9uIDkzMDU3KQorKysgU291cmNlL1dlYkNvcmUv
dGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiAr
MzEsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVKU0NvbnRleHQqIEpTCiBuYW1lc3Bh
Y2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsKIAogdm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlND
b250ZXh0UmVmKTsKK3ZvaWQgcmVzZXRJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmKTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gOTMx
MDQpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTA4LTE2ICBDaGFuZyBTaHUgIDxjc2h1QHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgU3VwcG9ydCByZXNldCBpbiBXZWJDb3JlOjpJbnRlcm5hbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzA3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZnJhbWV3b3JrIGNvZGUgaW4g
V2ViS2l0LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnJlc2V0SW50ZXJuYWxz
T2JqZWN0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5oOgorCiAyMDExLTA4LTE2ICBMaW5kc2F5IE1hdGhpZXNvbiAgIDxsaW5kc2F5Lm1hdGhpZXNv
bkBnbWFpbC5jb20+CiAKICAgICAgICAgW1F0XSBNaXNzaW5nIHNwZWxsIGNoZWNrIHN1cHBvcnQK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCShyZXZpc2lvbiA5MzA1NykKKysrIFNvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTY1LDYgKzExNjUsMjUgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdDo6aW5qZWN0SW50ZQogI2VuZGlmCiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQ6OnJlc2V0SW50ZXJuYWxzT2JqZWN0KFFXZWJGcmFtZSogZnJhbWUpCit7CisgICAgV2ViQ29y
ZTo6RnJhbWUqIGNvcmVGcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZnJhbWUpOworI2lm
IFVTRShKU0MpCisgICAgSlNDOjpKU0xvY2sgbG9jayhKU0M6OlNpbGVuY2VBc3NlcnRpb25zT25s
eSk7CisKKyAgICBKU0RPTVdpbmRvdyogd2luZG93ID0gdG9KU0RPTVdpbmRvdyhjb3JlRnJhbWUs
IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKTsKKyAgICBRX0FTU0VSVCh3aW5kb3cpOworCisgICAg
SlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSB3aW5kb3ctPmdsb2JhbEV4ZWMoKTsKKyAgICBRX0FTU0VS
VChleGVjKTsKKworICAgIEpTQ29udGV4dFJlZiBjb250ZXh0ID0gdG9SZWYoZXhlYyk7CisgICAg
V2ViQ29yZVRlc3RTdXBwb3J0OjpyZXNldEludGVybmFsc09iamVjdChjb250ZXh0KTsKKyNlbGlm
IFVTRShWOCkKKyAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnJlc2V0SW50ZXJuYWxzT2JqZWN0KFY4
UHJveHk6Om1haW5Xb3JsZENvbnRleHQoY29yZUZyYW1lKSk7CisjZW5kaWYKK30KKwogLy8gUHJv
dmlkZSBhIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91c2x5IGV4cG9ydGVkIHBy
aXZhdGUgc3ltYm9scyBhcyBvZiBRdFdlYktpdCA0LjYgcmVsZWFzZQogCiB2b2lkIFFXRUJLSVRf
RVhQT1JUIHF0X3Jlc3VtZUFjdGl2ZURPTU9iamVjdHMoUVdlYkZyYW1lKiBmcmFtZSkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmgJKHJldmlzaW9uIDkzMDU3KQorKysgU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMTMsNiArMjEzLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBRU3RyaW5nIGxheWVyVHJlZUFz
VGV4dChRV2ViRnJhbWUqKTsKIAogICAgIHN0YXRpYyB2b2lkIGluamVjdEludGVybmFsc09iamVj
dChRV2ViRnJhbWUqKTsKKyAgICBzdGF0aWMgdm9pZCByZXNldEludGVybmFsc09iamVjdChRV2Vi
RnJhbWUqKTsKIAogICAgIHN0YXRpYyB2b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25F
bmFibGVkKFFXZWJQYWdlKiwgYm9vbCk7CiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMTA0KQorKysgVG9vbHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMTYgIENoYW5nIFNo
dSAgPGNzaHVAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IHJlc2V0IGluIFdlYkNvcmU6
OkludGVybmFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCBjYWxsIHRvIHJlc2V0SW50ZXJuYWxzT2JqZWN0IGluIERSVC4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2Vi
Vmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdl
OjpyZXNldFNldHRpbmdzKToKKwogMjAxMS0wOC0xNiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTW92ZSBtZSBmcm9tIGNvbnRyaWJ1dG9yIHRvIHJldmlld2VyLgpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNp
b24gOTMwNTcpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0J
KHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAKICNpbXBvcnQgIlN0b3JhZ2VUcmFja2Vy
RGVsZWdhdGUuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYkFyY2hpdmVE
dW1wU3VwcG9ydC5oIgorI2ltcG9ydCAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCiAjaW1wb3J0ICJX
b3JrUXVldWUuaCIKICNpbXBvcnQgIldvcmtRdWV1ZUl0ZW0uaCIKICNpbXBvcnQgPENhcmJvbi9D
YXJib24uaD4KQEAgLTEwNTYsNiArMTA1Nyw5IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViVmlld1Rv
Q29uc2lzdGVudFN0YXQKIAogICAgIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsK
IAorICAgIGlmIChnTGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIFdlYkNvcmVUZXN0U3Vw
cG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QoW21haW5GcmFtZSBnbG9iYWxDb250ZXh0XSk7CisK
ICAgICBbW21haW5GcmFtZSB3ZWJWaWV3XSBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQ6WUVT
XTsKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gaW5zcGVjdG9yXSBzZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZDpOT107CiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuY3BwCShyZXZpc2lvbiA5MzA1NykKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEsNiArMjEx
LDggQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkKIAogICAgIER1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCh0aGlzLCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6ZGVmYXVsdE1pbmltdW1UaW1lckludGVydmFsKCkpOwogCisgICAgRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQ6OnJlc2V0SW50ZXJuYWxzT2JqZWN0KG1haW5GcmFtZSgpKTsKKwogICAg
IG1fcGVuZGluZ0dlb2xvY2F0aW9uUmVxdWVzdHMuY2xlYXIoKTsKIH0KIAo=
</data>
<flag name="review"
          id="99780"
          type_id="1"
          status="-"
          setter="dglazkov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104078</attachid>
            <date>2011-08-16 13:02:01 -0700</date>
            <delta_ts>2011-08-17 11:30:37 -0700</delta_ts>
            <desc>fix patch 2</desc>
            <filename>66307_2.patch</filename>
            <type>text/plain</type>
            <size>12325</size>
            <attacher name="Chang Shu">cshu</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMTQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMTYgIENoYW5nIFNo
dSAgPGNzaHVAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IHJlc2V0IGluIFdlYkNvcmU6
OkludGVybmFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBOZXcgdGVzdHMgd2lsbCBiZSBhZGRlZCB3aGVuIGZ1bmN0aW9uIHJlc2V0IGlzIGltcGxlbWVu
dGVkLgorCisgICAgICAgIEFkZGVkIGZyYW1ld29yayBjb2RlIGluIFdlYkNvcmVUZXN0U3VwcG9y
dC4gVGhlIHJlYWwgaW1wbGVtZW50YXRpb24gb2YKKyAgICAgICAgSW50ZXJuYWxzOjpyZXNldCgp
IGRlcGVuZHMgb24gdGhlIG5lZWQgZnJvbSB0aGUgc2V0dGluZ3MgdGhhdCByZXF1aXJlIGEgcmVz
ZXQuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OnJlc2V0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAg
ICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmVUZXN0U3VwcG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QpOgorICAgICAgICAqIHRlc3Rpbmcv
anMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6CisgICAgICAgICogdGVzdGluZy92OC9XZWJDb3JlVGVz
dFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpyZXNldEludGVybmFs
c09iamVjdCk6CisgICAgICAgICogdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuaDoKKwog
MjAxMS0wOC0xNiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjU0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiA5MzEyNikKKysrIFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg5LDQgKzE4OSw5
IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRGb3JjZUNvbXBvc2l0aW5nTW9kZSgKICAgICBkb2N1bWVu
dC0+c2V0dGluZ3MoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZW5hYmxlZCk7CiB9CiAKK3Zv
aWQgSW50ZXJuYWxzOjpyZXNldChEb2N1bWVudCopCit7CisvLyBGSVhNRTogSW1wbGVtZW50Cit9
CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gOTMxMjYp
CisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Myw3ICs0Myw5IEBAIGNsYXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPEludGUK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNyZWF0ZSgpOwogICAg
IHZpcnR1YWwgfkludGVybmFscygpOwotICAgIAorCisgICAgdm9pZCByZXNldChEb2N1bWVudCop
OworCiAgICAgU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQqLCBFeGNlcHRp
b25Db2RlJik7CiAKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29uc3QgU3RyaW5n
JiB1cmwpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBv
cnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcAkocmV2aXNpb24gOTMxMjYpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcg
QEAKIAogI2luY2x1ZGUgIkludGVybmFscy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0
LmgiCisjaW5jbHVkZSAiSlNEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTSW50ZXJuYWxzLmgiCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPGludGVycHJldGVy
L0NhbGxGcmFtZS5oPgpAQCAtNDUsNCArNDYsMTcgQEAgdm9pZCBpbmplY3RJbnRlcm5hbHNPYmpl
Y3QoSlNDb250ZXh0UmVmIAogICAgIGdsb2JhbE9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAiaW50ZXJuYWxzIiksIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCBJbnRlcm5hbHM6OmNyZWF0ZSgpKSk7CiB9CiAKK3ZvaWQgcmVzZXRJbnRlcm5hbHNP
YmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQpCit7CisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFz
c2VydGlvbnNPbmx5KTsKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAg
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0RPTUdsb2Jh
bE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgSW50ZXJuYWxzICog
aW50ZXJuYWxzID0gdG9JbnRlcm5hbHMoZ2xvYmFsT2JqZWN0LT5nZXREaXJlY3QoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJpbnRlcm5hbHMiKSkpOworICAgIGlmIChpbnRl
cm5hbHMpIHsKKyAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9
IGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgICAgICBpZiAoc2Ny
aXB0Q29udGV4dC0+aXNEb2N1bWVudCgpKQorICAgICAgICAgICAgaW50ZXJuYWxzLT5yZXNldChz
dGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdENvbnRleHQpKTsKKyAgICB9Cit9CisKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaAko
cmV2aXNpb24gOTMxMjYpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0
U3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBAIHR5cGVkZWYgY29uc3Qg
c3RydWN0IE9wYXF1ZUpTQ29udGV4dCogSlMKIG5hbWVzcGFjZSBXZWJDb3JlVGVzdFN1cHBvcnQg
ewogCiB2b2lkIGluamVjdEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYpOwordm9pZCByZXNl
dEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3Vw
cG9ydC5jcHAJKHJldmlzaW9uIDkzMTI2KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9X
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw5IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCiAKKyNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkludGVybmFscy5oIgorI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJWOEludGVybmFscy5oIgogCiAjaW5j
bHVkZSA8djguaD4KQEAgLTQzLDQgKzQ1LDE4IEBAIHZvaWQgaW5qZWN0SW50ZXJuYWxzT2JqZWN0
KHY4OjpMb2NhbDx2ODoKICAgICBjb250ZXh0LT5HbG9iYWwoKS0+U2V0KHY4OjpTdHJpbmc6Ok5l
dygiaW50ZXJuYWxzIiksIHRvVjgoSW50ZXJuYWxzOjpjcmVhdGUoKSkpOwogfQogCit2b2lkIHJl
c2V0SW50ZXJuYWxzT2JqZWN0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCkKK3sKKyAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOworICAgIHY4OjpIYW5k
bGVTY29wZSBzY29wZTsKKworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6
OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChjb250ZXh0LT5HbG9iYWwoKS0+R2V0KHY4OjpTdHJp
bmc6Ok5ldygiaW50ZXJuYWxzIikpKTsKKyAgICBJbnRlcm5hbHMgKiBpbnRlcm5hbHMgPSBWOElu
dGVybmFsczo6dG9OYXRpdmUob2JqZWN0KTsKKyAgICBpZiAoaW50ZXJuYWxzKSB7CisgICAgICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7CisgICAgICAgIGlmIChzY3JpcHRDb250ZXh0LT5pc0RvY3VtZW50KCkpCisg
ICAgICAgICAgICBpbnRlcm5hbHMtPnJlc2V0KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oc2NyaXB0
Q29udGV4dCkpOworICAgIH0KK30KKwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy92
OC9XZWJDb3JlVGVzdFN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oCShyZXZpc2lvbiA5MzEyNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDYgKzM0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIExvY2FsOwogbmFtZXNwYWNl
IFdlYkNvcmVUZXN0U3VwcG9ydCB7CiAKIHZvaWQgaW5qZWN0SW50ZXJuYWxzT2JqZWN0KHY4OjpM
b2NhbDx2ODo6Q29udGV4dD4pOwordm9pZCByZXNldEludGVybmFsc09iamVjdCh2ODo6TG9jYWw8
djg6OkNvbnRleHQ+KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTMxNDUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTA4LTE2
ICBDaGFuZyBTaHUgIDxjc2h1QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3VwcG9ydCByZXNldCBp
biBXZWJDb3JlOjpJbnRlcm5hbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgZnJhbWV3b3JrIGNvZGUgaW4gV2ViS2l0LgorCisgICAgICAgICog
cHVibGljL1dlYlRlc3RpbmdTdXBwb3J0Lmg6CisgICAgICAgICogc3JjL1dlYlRlc3RpbmdTdXBw
b3J0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVGVzdGluZ1N1cHBvcnQ6OnJlc2V0SW50ZXJu
YWxzT2JqZWN0KToKKwogMjAxMS0wOC0xNiAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBHcmFwaGljc0NvbnRleHQzRCBzaG91bGQgYWxsb3cgaXRz
IGhvc3RXaW5kb3cgdG8gYmUgTlVMTApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViVGVzdGluZ1N1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oCShyZXZpc2lvbiA5MzEyNikKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlRlc3RpbmdTdXBwb3J0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDYgKzM1LDcgQEAgY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJUZXN0aW5nU3Vw
cG9ydCB7CiBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBpbmplY3RJbnRl
cm5hbHNPYmplY3QoV2ViRnJhbWUqKTsKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIHJl
c2V0SW50ZXJuYWxzT2JqZWN0KFdlYkZyYW1lKik7CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJUZXN0aW5nU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwCShyZXZpc2lvbiA5
MzEyNikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsNCArMzgsMTAgQEAgdm9pZCBXZWJUZXN0aW5nU3VwcG9y
dDo6aW5qZWN0SW50ZXJuYWxzTwogICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6aW5qZWN0SW50ZXJu
YWxzT2JqZWN0KGZyYW1lLT5tYWluV29ybGRTY3JpcHRDb250ZXh0KCkpOwogfQogCit2b2lkIFdl
YlRlc3RpbmdTdXBwb3J0OjpyZXNldEludGVybmFsc09iamVjdChXZWJGcmFtZSogZnJhbWUpCit7
CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIFdlYkNvcmVUZXN0U3VwcG9y
dDo6cmVzZXRJbnRlcm5hbHNPYmplY3QoZnJhbWUtPm1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSk7
Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzE0NSkKKysrIFNvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEt
MDgtMTYgIENoYW5nIFNodSAgPGNzaHVAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IHJl
c2V0IGluIFdlYkNvcmU6OkludGVybmFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBmcmFtZXdvcmsgY29kZSBpbiBXZWJLaXQuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAg
IChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cmVzZXRJbnRlcm5hbHNPYmplY3QpOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmg6CisKIDIwMTEtMDgt
MTYgIExpbmRzYXkgTWF0aGllc29uICAgPGxpbmRzYXkubWF0aGllc29uQGdtYWlsLmNvbT4KIAog
ICAgICAgICBbUXRdIE1pc3Npbmcgc3BlbGwgY2hlY2sgc3VwcG9ydApJbmRleDogU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5jcHAJKHJldmlzaW9uIDkzMTI2KQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
NjUsNiArMTE2NSwyNSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjppbmplY3RJbnRl
CiAjZW5kaWYKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cmVzZXRJbnRlcm5h
bHNPYmplY3QoUVdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBXZWJDb3JlOjpGcmFtZSogY29yZUZy
YW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShmcmFtZSk7CisjaWYgVVNFKEpTQykKKyAgICBK
U0M6OkpTTG9jayBsb2NrKEpTQzo6U2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKworICAgIEpTRE9N
V2luZG93KiB3aW5kb3cgPSB0b0pTRE9NV2luZG93KGNvcmVGcmFtZSwgbWFpblRocmVhZE5vcm1h
bFdvcmxkKCkpOworICAgIFFfQVNTRVJUKHdpbmRvdyk7CisKKyAgICBKU0M6OkV4ZWNTdGF0ZSog
ZXhlYyA9IHdpbmRvdy0+Z2xvYmFsRXhlYygpOworICAgIFFfQVNTRVJUKGV4ZWMpOworCisgICAg
SlNDb250ZXh0UmVmIGNvbnRleHQgPSB0b1JlZihleGVjKTsKKyAgICBXZWJDb3JlVGVzdFN1cHBv
cnQ6OnJlc2V0SW50ZXJuYWxzT2JqZWN0KGNvbnRleHQpOworI2VsaWYgVVNFKFY4KQorICAgIFdl
YkNvcmVUZXN0U3VwcG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QoVjhQcm94eTo6bWFpbldvcmxk
Q29udGV4dChjb3JlRnJhbWUpKTsKKyNlbmRpZgorfQorCiAvLyBQcm92aWRlIGEgYmFja3dhcmQg
Y29tcGF0aWJpbGl0eSB3aXRoIHByZXZpb3VzbHkgZXhwb3J0ZWQgcHJpdmF0ZSBzeW1ib2xzIGFz
IG9mIFF0V2ViS2l0IDQuNiByZWxlYXNlCiAKIHZvaWQgUVdFQktJVF9FWFBPUlQgcXRfcmVzdW1l
QWN0aXZlRE9NT2JqZWN0cyhRV2ViRnJhbWUqIGZyYW1lKQpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aAkocmV2aXNpb24gOTMxMjYpCisrKyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFFTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KFFXZWJGcmFtZSop
OwogCiAgICAgc3RhdGljIHZvaWQgaW5qZWN0SW50ZXJuYWxzT2JqZWN0KFFXZWJGcmFtZSopOwor
ICAgIHN0YXRpYyB2b2lkIHJlc2V0SW50ZXJuYWxzT2JqZWN0KFFXZWJGcmFtZSopOwogCiAgICAg
c3RhdGljIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoUVdlYlBhZ2Uq
LCBib29sKTsKIApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0No
YW5nZUxvZwkocmV2aXNpb24gOTMxNDUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wOC0xNiAgQ2hhbmcgU2h1ICA8Y3NodUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFN1cHBvcnQgcmVzZXQgaW4gV2ViQ29yZTo6SW50ZXJuYWxzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMwNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGNhbGwgdG8g
cmVzZXRJbnRlcm5hbHNPYmplY3QgaW4gRFJULgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6cmVzZXRUZXN0Q29u
dHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
OgorICAgICAgICAocmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlBhZ2U6OnJlc2V0U2V0dGluZ3MpOgorCiAyMDExLTA4LTE2ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRpbmcgVGVkICJob2JlciIg
TydDb25ub3IgYXMgYSBub24tY29tbWl0dGluZyBjb250cmlidXRvci4KSW5kZXg6IFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAkocmV2aXNpb24gOTMxMjYpCisr
KyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNjgsNiArMjY4LDcgQEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xs
ZXIoKQogICAgICAgICBtX2RydERldlRvb2xzQ2xpZW50LT5yZXNldCgpOwogICAgIHdlYlZpZXco
KS0+c2NhbGVQYWdlKDEsIFdlYlBvaW50KDAsIDApKTsKICAgICB3ZWJWaWV3KCktPm1haW5GcmFt
ZSgpLT5jbGVhck9wZW5lcigpOworICAgIFdlYlRlc3RpbmdTdXBwb3J0OjpyZXNldEludGVybmFs
c09iamVjdCh3ZWJWaWV3KCktPm1haW5GcmFtZSgpKTsKIH0KIAogdm9pZCBUZXN0U2hlbGw6Omxv
YWRVUkwoY29uc3QgV2ViVVJMJiB1cmwpCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiA5MzEyNikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBA
QAogI2ltcG9ydCAiU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiVUlEZWxlZ2F0
ZS5oIgogI2ltcG9ydCAiV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmgiCisjaW1wb3J0ICJXZWJDb3Jl
VGVzdFN1cHBvcnQuaCIKICNpbXBvcnQgIldvcmtRdWV1ZS5oIgogI2ltcG9ydCAiV29ya1F1ZXVl
SXRlbS5oIgogI2ltcG9ydCA8Q2FyYm9uL0NhcmJvbi5oPgpAQCAtMTA1Niw2ICsxMDU3LDkgQEAg
c3RhdGljIHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdAogCiAgICAgcmVzZXREZWZh
dWx0c1RvQ29uc2lzdGVudFZhbHVlcygpOwogCisgICAgaWYgKGdMYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgV2ViQ29yZVRlc3RTdXBwb3J0OjpyZXNldEludGVybmFsc09iamVjdChbbWFp
bkZyYW1lIGdsb2JhbENvbnRleHRdKTsKKwogICAgIFtbbWFpbkZyYW1lIHdlYlZpZXddIHNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZDpZRVNdOwogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBp
bnNwZWN0b3JdIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkOk5PXTsKIApJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHJldmlzaW9uIDkz
MTI2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIxMSw2ICsyMTEsOCBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGlu
Z3MoKQogCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1pbmltdW1UaW1lckludGVy
dmFsKHRoaXMsIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkZWZhdWx0TWluaW11bVRpbWVySW50
ZXJ2YWwoKSk7CiAKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cmVzZXRJbnRlcm5hbHNP
YmplY3QobWFpbkZyYW1lKCkpOworCiAgICAgbV9wZW5kaW5nR2VvbG9jYXRpb25SZXF1ZXN0cy5j
bGVhcigpOwogfQogCg==
</data>
<flag name="review"
          id="99811"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104200</attachid>
            <date>2011-08-17 11:30:37 -0700</date>
            <delta_ts>2011-08-17 13:00:56 -0700</delta_ts>
            <desc>patch 3: reviewed with minor fix</desc>
            <filename>66307_3.patch</filename>
            <type>text/plain</type>
            <size>13198</size>
            <attacher name="Chang Shu">cshu</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMTQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMTYgIENoYW5nIFNo
dSAgPGNzaHVAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IHJlc2V0IGluIFdlYkNvcmU6
OkludGVybmFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCisKKyAgICAg
ICAgTmV3IHRlc3RzIHdpbGwgYmUgYWRkZWQgd2hlbiBmdW5jdGlvbiByZXNldCBpcyBpbXBsZW1l
bnRlZC4KKworICAgICAgICBBZGRlZCBmcmFtZXdvcmsgY29kZSBpbiBXZWJDb3JlVGVzdFN1cHBv
cnQuIFRoZSByZWFsIGltcGxlbWVudGF0aW9uIG9mCisgICAgICAgIEludGVybmFsczo6cmVzZXQo
KSBkZXBlbmRzIG9uIHRoZSBuZWVkIGZyb20gdGhlIHNldHRpbmdzIHRoYXQgcmVxdWlyZSBhIHJl
c2V0LgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpyZXNldCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJD
b3JlVGVzdFN1cHBvcnQ6OnJlc2V0SW50ZXJuYWxzT2JqZWN0KToKKyAgICAgICAgKiB0ZXN0aW5n
L2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oOgorICAgICAgICAqIHRlc3RpbmcvdjgvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmVUZXN0U3VwcG9ydDo6cmVzZXRJbnRlcm5h
bHNPYmplY3QpOgorICAgICAgICAqIHRlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6CisK
IDIwMTEtMDgtMTYgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI1NApJbmRleDogU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gOTMxMjYpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdCBjaGFyKiBJbnRlcm5hbHM6OmludGVy
bmFsc0lkID0gImludGVybmFscyI7CisKIFBhc3NSZWZQdHI8SW50ZXJuYWxzPiBJbnRlcm5hbHM6
OmNyZWF0ZSgpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnRlcm5hbHMpOwpAQCAtMTg5
LDQgKzE5MSw5IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRGb3JjZUNvbXBvc2l0aW5nTW9kZSgKICAg
ICBkb2N1bWVudC0+c2V0dGluZ3MoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoZW5hYmxlZCk7
CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpyZXNldChEb2N1bWVudCopCit7CisvLyBGSVhNRTogSW1w
bGVtZW50Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNp
b24gOTMxMjYpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw3ICs0Myw5IEBAIGNsYXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEludGUKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNyZWF0
ZSgpOwogICAgIHZpcnR1YWwgfkludGVybmFscygpOwotICAgIAorCisgICAgdm9pZCByZXNldChE
b2N1bWVudCopOworCiAgICAgU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQq
LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29u
c3QgU3RyaW5nJiB1cmwpOwpAQCAtNjcsNiArNjksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNl
dEZvcmNlQ29tcG9zaXRpbmdNb2RlKERvY3VtZW50KiwgYm9vbCBlbmFibGVkLCBFeGNlcHRpb25D
b2RlJik7CiAKKyAgICBzdGF0aWMgY29uc3QgY2hhciogaW50ZXJuYWxzSWQ7CiBwcml2YXRlOgog
ICAgIEludGVybmFscygpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2Vi
Q29yZVRlc3RTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAJKHJldmlzaW9uIDkzMTI2KQorKysgU291cmNlL1dl
YkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJJbnRlcm5hbHMuaCIKICNpbmNsdWRlICJKU0RP
TUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0lu
dGVybmFscy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRl
IDxpbnRlcnByZXRlci9DYWxsRnJhbWUuaD4KQEAgLTQyLDcgKzQzLDIwIEBAIHZvaWQgaW5qZWN0
SW50ZXJuYWxzT2JqZWN0KEpTQ29udGV4dFJlZiAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNz
ZXJ0aW9uc09ubHkpOwogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY29udGV4dCk7CiAgICAg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKLSAgICBnbG9iYWxPYmplY3Qt
PnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgImludGVybmFs
cyIpLCB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgSW50ZXJuYWxzOjpjcmVhdGUoKSkpOworICAg
IGdsb2JhbE9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihl
eGVjLCBJbnRlcm5hbHM6OmludGVybmFsc0lkKSwgdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIElu
dGVybmFsczo6Y3JlYXRlKCkpKTsKK30KKwordm9pZCByZXNldEludGVybmFsc09iamVjdChKU0Nv
bnRleHRSZWYgY29udGV4dCkKK3sKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09u
bHkpOworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY29udGV4dCk7CisgICAgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICBJbnRlcm5hbHMgKiBpbnRlcm5hbHMg
PSB0b0ludGVybmFscyhnbG9iYWxPYmplY3QtPmdldERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCks
IElkZW50aWZpZXIoZXhlYywgSW50ZXJuYWxzOjppbnRlcm5hbHNJZCkpKTsKKyAgICBpZiAoaW50
ZXJuYWxzKSB7CisgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQg
PSBnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICAgICAgaWYgKHNj
cmlwdENvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGludGVybmFscy0+cmVzZXQo
c3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRDb250ZXh0KSk7CisgICAgfQogfQogCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgJ
KHJldmlzaW9uIDkzMTI2KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVz
dFN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBPcGFxdWVKU0NvbnRleHQqIEpTCiBuYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0
IHsKIAogdm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmKTsKK3ZvaWQgcmVz
ZXRJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1
cHBvcnQuY3BwCShyZXZpc2lvbiA5MzEyNikKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcvdjgv
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsOSBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgogCisj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJJbnRlcm5hbHMuaCIKKyNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVjhJbnRlcm5hbHMuaCIKIAogI2lu
Y2x1ZGUgPHY4Lmg+CkBAIC00MCw3ICs0MiwyMSBAQCB2b2lkIGluamVjdEludGVybmFsc09iamVj
dCh2ODo6TG9jYWw8djg6CiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShjb250
ZXh0KTsKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CiAKLSAgICBjb250ZXh0LT5HbG9iYWwo
KS0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiaW50ZXJuYWxzIiksIHRvVjgoSW50ZXJuYWxzOjpjcmVh
dGUoKSkpOworICAgIGNvbnRleHQtPkdsb2JhbCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KEludGVy
bmFsczo6aW50ZXJuYWxzSWQpLCB0b1Y4KEludGVybmFsczo6Y3JlYXRlKCkpKTsKK30KKwordm9p
ZCByZXNldEludGVybmFsc09iamVjdCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCit7
CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShjb250ZXh0KTsKKyAgICB2ODo6
SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCA9
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoY29udGV4dC0+R2xvYmFsKCktPkdldCh2ODo6
U3RyaW5nOjpOZXcoSW50ZXJuYWxzOjppbnRlcm5hbHNJZCkpKTsKKyAgICBJbnRlcm5hbHMgKiBp
bnRlcm5hbHMgPSBWOEludGVybmFsczo6dG9OYXRpdmUob2JqZWN0KTsKKyAgICBpZiAoaW50ZXJu
YWxzKSB7CisgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBn
ZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgICAgIGlmIChzY3JpcHRDb250ZXh0LT5p
c0RvY3VtZW50KCkpCisgICAgICAgICAgICBpbnRlcm5hbHMtPnJlc2V0KHN0YXRpY19jYXN0PERv
Y3VtZW50Kj4oc2NyaXB0Q29udGV4dCkpOworICAgIH0KIH0KIAogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oCShyZXZpc2lvbiA5MzEy
NikKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIExv
Y2FsOwogbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CiAKIHZvaWQgaW5qZWN0SW50ZXJu
YWxzT2JqZWN0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4pOwordm9pZCByZXNldEludGVybmFsc09i
amVjdCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTMxNDUpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2
IEBACisyMDExLTA4LTE2ICBDaGFuZyBTaHUgIDxjc2h1QHdlYmtpdC5vcmc+CisKKyAgICAgICAg
U3VwcG9ydCByZXNldCBpbiBXZWJDb3JlOjpJbnRlcm5hbHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGltaXRyaSBHbGF6a292LgorCisgICAgICAgIEFkZGVkIGZyYW1ld29yayBjb2RlIGluIFdlYktp
dC4KKworICAgICAgICAqIHB1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oOgorICAgICAgICAqIHNy
Yy9XZWJUZXN0aW5nU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlRlc3RpbmdTdXBw
b3J0OjpyZXNldEludGVybmFsc09iamVjdCk6CisKIDIwMTEtMDgtMTYgIFN0ZXBoZW4gV2hpdGUg
IDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0M0Qg
c2hvdWxkIGFsbG93IGl0cyBob3N0V2luZG93IHRvIGJlIE5VTEwKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlRlc3RpbmdTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaAkocmV2aXNpb24g
OTMxMjYpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9y
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIGNsYXNzIFdlYkZyYW1lOwogY2xh
c3MgV2ViVGVzdGluZ1N1cHBvcnQgewogcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGlj
IHZvaWQgaW5qZWN0SW50ZXJuYWxzT2JqZWN0KFdlYkZyYW1lKik7CisgICAgV0VCS0lUX0VYUE9S
VCBzdGF0aWMgdm9pZCByZXNldEludGVybmFsc09iamVjdChXZWJGcmFtZSopOwogfTsKIAogfQpJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0
LmNwcAkocmV2aXNpb24gOTMxMjYpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJU
ZXN0aW5nU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDQgKzM4LDEwIEBAIHZvaWQg
V2ViVGVzdGluZ1N1cHBvcnQ6OmluamVjdEludGVybmFsc08KICAgICBXZWJDb3JlVGVzdFN1cHBv
cnQ6OmluamVjdEludGVybmFsc09iamVjdChmcmFtZS0+bWFpbldvcmxkU2NyaXB0Q29udGV4dCgp
KTsKIH0KIAordm9pZCBXZWJUZXN0aW5nU3VwcG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QoV2Vi
RnJhbWUqIGZyYW1lKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKyAgICBX
ZWJDb3JlVGVzdFN1cHBvcnQ6OnJlc2V0SW50ZXJuYWxzT2JqZWN0KGZyYW1lLT5tYWluV29ybGRT
Y3JpcHRDb250ZXh0KCkpOworfQorCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gOTMx
NDUpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTA4LTE2ICBDaGFuZyBTaHUgIDxjc2h1QHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgU3VwcG9ydCByZXNldCBpbiBXZWJDb3JlOjpJbnRlcm5hbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzA3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGltaXRyaSBHbGF6a292LgorCisgICAgICAgIEFkZGVkIGZyYW1ld29yayBjb2RlIGlu
IFdlYktpdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpyZXNldEludGVybmFs
c09iamVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuaDoKKwogMjAxMS0wOC0xNiAgTGluZHNheSBNYXRoaWVzb24gICA8bGluZHNheS5tYXRoaWVz
b25AZ21haWwuY29tPgogCiAgICAgICAgIFtRdF0gTWlzc2luZyBzcGVsbCBjaGVjayBzdXBwb3J0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAkocmV2aXNpb24gOTMxMjYpCisrKyBTb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTE2NSw2ICsxMTY1LDI1IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQ6OmluamVjdEludGUKICNlbmRpZgogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0OjpyZXNldEludGVybmFsc09iamVjdChRV2ViRnJhbWUqIGZyYW1lKQoreworICAgIFdlYkNv
cmU6OkZyYW1lKiBjb3JlRnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKGZyYW1lKTsKKyNp
ZiBVU0UoSlNDKQorICAgIEpTQzo6SlNMb2NrIGxvY2soSlNDOjpTaWxlbmNlQXNzZXJ0aW9uc09u
bHkpOworCisgICAgSlNET01XaW5kb3cqIHdpbmRvdyA9IHRvSlNET01XaW5kb3coY29yZUZyYW1l
LCBtYWluVGhyZWFkTm9ybWFsV29ybGQoKSk7CisgICAgUV9BU1NFUlQod2luZG93KTsKKworICAg
IEpTQzo6RXhlY1N0YXRlKiBleGVjID0gd2luZG93LT5nbG9iYWxFeGVjKCk7CisgICAgUV9BU1NF
UlQoZXhlYyk7CisKKyAgICBKU0NvbnRleHRSZWYgY29udGV4dCA9IHRvUmVmKGV4ZWMpOworICAg
IFdlYkNvcmVUZXN0U3VwcG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QoY29udGV4dCk7CisjZWxp
ZiBVU0UoVjgpCisgICAgV2ViQ29yZVRlc3RTdXBwb3J0OjpyZXNldEludGVybmFsc09iamVjdChW
OFByb3h5OjptYWluV29ybGRDb250ZXh0KGNvcmVGcmFtZSkpOworI2VuZGlmCit9CisKIC8vIFBy
b3ZpZGUgYSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXNseSBleHBvcnRlZCBw
cml2YXRlIHN5bWJvbHMgYXMgb2YgUXRXZWJLaXQgNC42IHJlbGVhc2UKIAogdm9pZCBRV0VCS0lU
X0VYUE9SVCBxdF9yZXN1bWVBY3RpdmVET01PYmplY3RzKFFXZWJGcmFtZSogZnJhbWUpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oCShyZXZpc2lvbiA5MzEyNikKKysrIFNvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjEzLDYgKzIxMyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUVN0cmluZyBsYXllclRyZWVB
c1RleHQoUVdlYkZyYW1lKik7CiAKICAgICBzdGF0aWMgdm9pZCBpbmplY3RJbnRlcm5hbHNPYmpl
Y3QoUVdlYkZyYW1lKik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRJbnRlcm5hbHNPYmplY3QoUVdl
YkZyYW1lKik7CiAKICAgICBzdGF0aWMgdm9pZCBzZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9u
RW5hYmxlZChRV2ViUGFnZSosIGJvb2wpOwogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzE0NSkKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTA4LTE2ICBDaGFuZyBT
aHUgIDxjc2h1QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3VwcG9ydCByZXNldCBpbiBXZWJDb3Jl
OjpJbnRlcm5hbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2MzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgorCisgICAg
ICAgIEFkZGVkIGNhbGwgdG8gcmVzZXRJbnRlcm5hbHNPYmplY3QgaW4gRFJULgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RT
aGVsbDo6cmVzZXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3Rh
dGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlBhZ2U6OnJlc2V0U2V0dGluZ3MpOgor
CiAyMDExLTA4LTE2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGRpbmcgVGVkICJob2JlciIgTydDb25ub3IgYXMgYSBub24tY29tbWl0dGluZyBjb250cmlidXRv
ci4KSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAko
cmV2aXNpb24gOTMxMjYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjgsNiArMjY4LDcgQEAgdm9pZCBUZXN0U2hlbGw6
OnJlc2V0VGVzdENvbnRyb2xsZXIoKQogICAgICAgICBtX2RydERldlRvb2xzQ2xpZW50LT5yZXNl
dCgpOwogICAgIHdlYlZpZXcoKS0+c2NhbGVQYWdlKDEsIFdlYlBvaW50KDAsIDApKTsKICAgICB3
ZWJWaWV3KCktPm1haW5GcmFtZSgpLT5jbGVhck9wZW5lcigpOworICAgIFdlYlRlc3RpbmdTdXBw
b3J0OjpyZXNldEludGVybmFsc09iamVjdCh3ZWJWaWV3KCktPm1haW5GcmFtZSgpKTsKIH0KIAog
dm9pZCBUZXN0U2hlbGw6OmxvYWRVUkwoY29uc3QgV2ViVVJMJiB1cmwpCkluZGV4OiBUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiA5MzEyNikKKysr
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtNTEsNiArNTEsNyBAQAogI2ltcG9ydCAiU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIgog
I2ltcG9ydCAiVUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmgi
CisjaW1wb3J0ICJXZWJDb3JlVGVzdFN1cHBvcnQuaCIKICNpbXBvcnQgIldvcmtRdWV1ZS5oIgog
I2ltcG9ydCAiV29ya1F1ZXVlSXRlbS5oIgogI2ltcG9ydCA8Q2FyYm9uL0NhcmJvbi5oPgpAQCAt
MTA1Niw2ICsxMDU3LDkgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3Rh
dAogCiAgICAgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpOwogCisgICAgaWYgKGdM
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgV2ViQ29yZVRlc3RTdXBwb3J0OjpyZXNldElu
dGVybmFsc09iamVjdChbbWFpbkZyYW1lIGdsb2JhbENvbnRleHRdKTsKKwogICAgIFtbbWFpbkZy
YW1lIHdlYlZpZXddIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZDpZRVNdOwogICAgIFtbW21h
aW5GcmFtZSB3ZWJWaWV3XSBpbnNwZWN0b3JdIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
Ok5PXTsKIApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVR
dC5jcHAJKHJldmlzaW9uIDkzMTI2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMSw2ICsyMTEsOCBAQCB2b2lkIFdl
YlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNl
dE1pbmltdW1UaW1lckludGVydmFsKHRoaXMsIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkZWZh
dWx0TWluaW11bVRpbWVySW50ZXJ2YWwoKSk7CiAKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6cmVzZXRJbnRlcm5hbHNPYmplY3QobWFpbkZyYW1lKCkpOworCiAgICAgbV9wZW5kaW5nR2Vv
bG9jYXRpb25SZXF1ZXN0cy5jbGVhcigpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>