<?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>49044</bug_id>
          
          <creation_ts>2010-11-04 18:15:48 -0700</creation_ts>
          <short_desc>cleanup style in TestNetscapePlugIn/PluginObject.cpp</short_desc>
          <delta_ts>2010-11-05 12:38:03 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>305071</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-04 18:15:48 -0700</bug_when>
    <thetext>cleanup style in TestNetscapePlugIn/PluginTest.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305073</commentid>
    <comment_count>1</comment_count>
      <attachid>73022</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-04 18:16:58 -0700</bug_when>
    <thetext>Created attachment 73022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305075</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-04 18:17:48 -0700</bug_when>
    <thetext>Mostly just converting &quot;else if&quot; with early returns into separate &quot;if&quot; statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305091</commentid>
    <comment_count>3</comment_count>
      <attachid>73022</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-04 18:48:44 -0700</bug_when>
    <thetext>Comment on attachment 73022
Patch

check-webkit-style shows other errors for PluginObject.cpp.  Would you like to fix them too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305322</commentid>
    <comment_count>4</comment_count>
      <attachid>73073</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-05 09:53:35 -0700</bug_when>
    <thetext>Created attachment 73073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305324</commentid>
    <comment_count>5</comment_count>
      <attachid>73073</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-05 09:54:27 -0700</bug_when>
    <thetext>Comment on attachment 73073
Patch

The only remaining error is about config.h, which doesn&apos;t apply here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305454</commentid>
    <comment_count>6</comment_count>
      <attachid>73073</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-05 12:37:57 -0700</bug_when>
    <thetext>Comment on attachment 73073
Patch

Clearing flags on attachment: 73073

Committed r71443: &lt;http://trac.webkit.org/changeset/71443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305455</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-05 12:38:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73022</attachid>
            <date>2010-11-04 18:16:58 -0700</date>
            <delta_ts>2010-11-05 09:53:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49044-20101104181726.patch</filename>
            <type>text/plain</type>
            <size>14538</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA1YjY4MTBhNTE4ZDFhMDNjOGM0ZGMzYmY2ZDU5OTZmOWM5MDcxYjUxLi41ZGYwNmYy
NTI1MDk4M2E5MzdhNTAzM2FjYmFjOGI5MzYwODNhMDQzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMTEtMDQgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjbGVhbnVwIHN0eWxlIGluIFRl
c3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0LmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNDQKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmplY3QuY3BwOgorICAgICAgICAocGx1Z2luR2V0
UHJvcGVydHkpOgorICAgICAgICAocGx1Z2luU2V0UHJvcGVydHkpOgorICAgICAgICAodmFyaWFu
dFRvSWRlbnRpZmllcik6CisgICAgICAgIChnZXRVUkwpOgorICAgICAgICAocGx1Z2luSW52b2tl
KToKKwogMjAxMC0xMS0wNCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpbk9iamVjdC5jcHAgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNw
cAppbmRleCBkN2M2ZDJjMWY5NjU0ZjViODdmNzVkOWUzN2Q1NjEzYjI0MGI4Yjg0Li43ODc5NjU5
YTdkMDRkOTlmMGYzM2IxNGViYWYyMWNiNWMxMTZlYThiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2Jq
ZWN0LmNwcApAQCAtMjcxLDM4ICsyNzEsNDggQEAgc3RhdGljIGJvb2wgcGx1Z2luR2V0UHJvcGVy
dHkoTlBPYmplY3QqIG9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIE5QVmFyaWFudCogcmVzdWwKICAg
ICAgICAgc3RyY3B5KGJ1Ziwgb3JpZ2luYWxTdHJpbmcpOwogICAgICAgICBTVFJJTkdaX1RPX05Q
VkFSSUFOVChidWYsICpyZXN1bHQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9FVkVOVF9M
T0dHSU5HXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZp
ZXJzW0lEX1BST1BFUlRZX0VWRU5UX0xPR0dJTkddKSB7CiAgICAgICAgIEJPT0xFQU5fVE9fTlBW
QVJJQU5UKHBsdWdpbi0+ZXZlbnRMb2dnaW5nLCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURf
UFJPUEVSVFlfTE9HX0RFU1RST1ldKSB7CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblBy
b3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfTE9HX0RFU1RST1ldKSB7CiAgICAgICAgIEJP
T0xFQU5fVE9fTlBWQVJJQU5UKHBsdWdpbi0+bG9nRGVzdHJveSwgKnJlc3VsdCk7CiAgICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50
aWZpZXJzW0lEX1BST1BFUlRZX0hBU19TVFJFQU1dKSB7CisgICAgfQorICAgIGlmIChuYW1lID09
IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfSEFTX1NUUkVBTV0pIHsKICAg
ICAgICAgQk9PTEVBTl9UT19OUFZBUklBTlQocGx1Z2luLT5zdHJlYW0gIT0gMCwgKnJlc3VsdCk7
CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9w
ZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1RFU1RfT0JKRUNUXSkgeworICAgIH0KKyAgICBp
ZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1RFU1RfT0JK
RUNUXSkgewogICAgICAgICBOUE9iamVjdCogdGVzdE9iamVjdCA9IHBsdWdpbi0+dGVzdE9iamVj
dDsKICAgICAgICAgYnJvd3Nlci0+cmV0YWlub2JqZWN0KHRlc3RPYmplY3QpOwogICAgICAgICBP
QkpFQ1RfVE9fTlBWQVJJQU5UKHRlc3RPYmplY3QsICpyZXN1bHQpOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJ
RF9QUk9QRVJUWV9SRVRVUk5fRVJST1JfRlJPTV9ORVdTVFJFQU1dKSB7CisgICAgfQorICAgIGlm
IChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfUkVUVVJOX0VS
Uk9SX0ZST01fTkVXU1RSRUFNXSkgewogICAgICAgICBCT09MRUFOX1RPX05QVkFSSUFOVChwbHVn
aW4tPnJldHVybkVycm9yRnJvbU5ld1N0cmVhbSwgKnJlc3VsdCk7CiAgICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lE
X1BST1BFUlRZX1JFVFVSTl9ORUdBVElWRV9PTkVfRlJPTV9XUklURV0pIHsKKyAgICB9CisgICAg
aWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9SRVRVUk5f
TkVHQVRJVkVfT05FX0ZST01fV1JJVEVdKSB7CiAgICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5U
KHBsdWdpbi0+cmV0dXJuTmVnYXRpdmVPbmVGcm9tV3JpdGUsICpyZXN1bHQpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlm
aWVyc1tJRF9QUk9QRVJUWV9QUklWQVRFX0JST1dTSU5HX0VOQUJMRURdKSB7CisgICAgfQorICAg
IGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfUFJJVkFU
RV9CUk9XU0lOR19FTkFCTEVEXSkgewogICAgICAgICBOUEJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCA9IEZBTFNFOwogICAgICAgICBicm93c2VyLT5nZXR2YWx1ZShwbHVnaW4tPm5wcCwgTlBO
VnByaXZhdGVNb2RlQm9vbCwgJnByaXZhdGVCcm93c2luZ0VuYWJsZWQpOwogICAgICAgICBCT09M
RUFOX1RPX05QVkFSSUFOVChwcml2YXRlQnJvd3NpbmdFbmFibGVkLCAqcmVzdWx0KTsKICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRl
bnRpZmllcnNbSURfUFJPUEVSVFlfQ0FDSEVEX1BSSVZBVEVfQlJPV1NJTkdfRU5BQkxFRF0pIHsK
KyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9Q
RVJUWV9DQUNIRURfUFJJVkFURV9CUk9XU0lOR19FTkFCTEVEXSkgewogICAgICAgICBCT09MRUFO
X1RPX05QVkFSSUFOVChwbHVnaW4tPmNhY2hlZFByaXZhdGVCcm93c2luZ01vZGUsICpyZXN1bHQp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJv
cGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9USFJPV19FWENFUFRJT05fUFJPUEVSVFldKSB7
CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJP
UEVSVFlfVEhST1dfRVhDRVBUSU9OX1BST1BFUlRZXSkgewogICAgICAgICBicm93c2VyLT5zZXRl
eGNlcHRpb24ob2JqLCAicGx1Z2luIG9iamVjdCB0ZXN0VGhyb3dFeGNlcHRpb25Qcm9wZXJ0eSBT
VUNDRVNTIik7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBw
bHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX0xBU1RfU0VUX1dJTkRPV19BUkdVTUVOVFNdKSB7
CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfTEFT
VF9TRVRfV0lORE9XX0FSR1VNRU5UU10pIHsKICAgICAgICAgY2hhciogYnVmID0gc3RhdGljX2Nh
c3Q8Y2hhcio+KGJyb3dzZXItPm1lbWFsbG9jKDI1NikpOwogICAgICAgICBzbnByaW50ZihidWYs
IDI1NiwgIng6ICVkLCB5OiAlZCwgd2lkdGg6ICV1LCBoZWlnaHQ6ICV1LCBjbGlwUmVjdDogKCV1
LCAldSwgJXUsICV1KSIsIChpbnQpcGx1Z2luLT5sYXN0V2luZG93LngsIChpbnQpcGx1Z2luLT5s
YXN0V2luZG93LnksICh1bnNpZ25lZClwbHVnaW4tPmxhc3RXaW5kb3cud2lkdGgsICh1bnNpZ25l
ZClwbHVnaW4tPmxhc3RXaW5kb3cuaGVpZ2h0LAogICAgICAgICAgICAgcGx1Z2luLT5sYXN0V2lu
ZG93LmNsaXBSZWN0LmxlZnQsIHBsdWdpbi0+bGFzdFdpbmRvdy5jbGlwUmVjdC50b3AsIHBsdWdp
bi0+bGFzdFdpbmRvdy5jbGlwUmVjdC5yaWdodCAtIHBsdWdpbi0+bGFzdFdpbmRvdy5jbGlwUmVj
dC5sZWZ0LCBwbHVnaW4tPmxhc3RXaW5kb3cuY2xpcFJlY3QuYm90dG9tIC0gcGx1Z2luLT5sYXN0
V2luZG93LmNsaXBSZWN0LnRvcCk7CkBAIC0zMjAsMTkgKzMzMCwyNCBAQCBzdGF0aWMgYm9vbCBw
bHVnaW5TZXRQcm9wZXJ0eShOUE9iamVjdCogb2JqLCBOUElkZW50aWZpZXIgbmFtZSwgY29uc3Qg
TlBWYXJpYW50KgogICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURf
UFJPUEVSVFlfRVZFTlRfTE9HR0lOR10pIHsKICAgICAgICAgcGx1Z2luLT5ldmVudExvZ2dpbmcg
PSBOUFZBUklBTlRfVE9fQk9PTEVBTigqdmFyaWFudCk7CiAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BF
UlRZX0xPR19ERVNUUk9ZXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0
eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX0xPR19ERVNUUk9ZXSkgewogICAgICAgICBwbHVnaW4t
PmxvZ0Rlc3Ryb3kgPSBOUFZBUklBTlRfVE9fQk9PTEVBTigqdmFyaWFudCk7CiAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZp
ZXJzW0lEX1BST1BFUlRZX1JFVFVSTl9FUlJPUl9GUk9NX05FV1NUUkVBTV0pIHsKKyAgICB9Cisg
ICAgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9SRVRV
Uk5fRVJST1JfRlJPTV9ORVdTVFJFQU1dKSB7CiAgICAgICAgIHBsdWdpbi0+cmV0dXJuRXJyb3JG
cm9tTmV3U3RyZWFtID0gTlBWQVJJQU5UX1RPX0JPT0xFQU4oKnZhcmlhbnQpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlm
aWVyc1tJRF9QUk9QRVJUWV9SRVRVUk5fTkVHQVRJVkVfT05FX0ZST01fV1JJVEVdKSB7CisgICAg
fQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlf
UkVUVVJOX05FR0FUSVZFX09ORV9GUk9NX1dSSVRFXSkgewogICAgICAgICBwbHVnaW4tPnJldHVy
bk5lZ2F0aXZlT25lRnJvbVdyaXRlID0gTlBWQVJJQU5UX1RPX0JPT0xFQU4oKnZhcmlhbnQpOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVy
dHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9USFJPV19FWENFUFRJT05fUFJPUEVSVFldKSB7Cisg
ICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVS
VFlfVEhST1dfRVhDRVBUSU9OX1BST1BFUlRZXSkgewogICAgICAgICBicm93c2VyLT5zZXRleGNl
cHRpb24ob2JqLCAicGx1Z2luIG9iamVjdCB0ZXN0VGhyb3dFeGNlcHRpb25Qcm9wZXJ0eSBTVUND
RVNTIik7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVn
aW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1dJTkRPV0VEX1BMVUdJTl0pIHsKKyAg
ICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJU
WV9XSU5ET1dFRF9QTFVHSU5dKSB7CiAgICAgICAgIGJyb3dzZXItPnNldHZhbHVlKHBsdWdpbi0+
bnBwLCBOUFBWcGx1Z2luV2luZG93Qm9vbCwgKHZvaWQgKilOUFZBUklBTlRfVE9fQk9PTEVBTigq
dmFyaWFudCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC0zOTIsOSArNDA3LDkg
QEAgc3RhdGljIE5QSWRlbnRpZmllciB2YXJpYW50VG9JZGVudGlmaWVyKE5QVmFyaWFudCB2YXJp
YW50KQogewogICAgIGlmIChOUFZBUklBTlRfSVNfU1RSSU5HKHZhcmlhbnQpKQogICAgICAgICBy
ZXR1cm4gc3RyaW5nVmFyaWFudFRvSWRlbnRpZmllcih2YXJpYW50KTsKLSAgICBlbHNlIGlmIChO
UFZBUklBTlRfSVNfSU5UMzIodmFyaWFudCkpCisgICAgaWYgKE5QVkFSSUFOVF9JU19JTlQzMih2
YXJpYW50KSkKICAgICAgICAgcmV0dXJuIGludDMyVmFyaWFudFRvSWRlbnRpZmllcih2YXJpYW50
KTsKLSAgICBlbHNlIGlmIChOUFZBUklBTlRfSVNfRE9VQkxFKHZhcmlhbnQpKQorICAgIGlmIChO
UFZBUklBTlRfSVNfRE9VQkxFKHZhcmlhbnQpKQogICAgICAgICByZXR1cm4gZG91YmxlVmFyaWFu
dFRvSWRlbnRpZmllcih2YXJpYW50KTsKICAgICByZXR1cm4gMDsKIH0KQEAgLTQ1OCw3ICs0NzMs
OCBAQCBzdGF0aWMgYm9vbCBnZXRVUkwoUGx1Z2luT2JqZWN0KiBvYmosIGNvbnN0IE5QVmFyaWFu
dCogYXJncywgdWludDMyX3QgYXJnQ291bnQsCiAKICAgICAgICAgSU5UMzJfVE9fTlBWQVJJQU5U
KG5wRXJyLCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChh
cmdDb3VudCA9PSAxICYmIE5QVkFSSUFOVF9JU19TVFJJTkcoYXJnc1swXSkpIHsKKyAgICB9Cisg
ICAgaWYgKGFyZ0NvdW50ID09IDEgJiYgTlBWQVJJQU5UX0lTX1NUUklORyhhcmdzWzBdKSkgewog
ICAgICAgICBOUFVURjgqIHVybFN0cmluZyA9IGNyZWF0ZUNTdHJpbmdGcm9tTlBWYXJpYW50KCZh
cmdzWzBdKTsKICAgICAgICAgTlBFcnJvciBucEVyciA9IGJyb3dzZXItPmdldHVybChvYmotPm5w
cCwgdXJsU3RyaW5nLCAwKTsKICAgICAgICAgZnJlZSh1cmxTdHJpbmcpOwpAQCAtODU3LDg3ICs4
NzMsOTggQEAgc3RhdGljIGJvb2wgcGx1Z2luSW52b2tlKE5QT2JqZWN0KiBoZWFkZXIsIE5QSWRl
bnRpZmllciBuYW1lLCBjb25zdCBOUFZhcmlhbnQqIGEKICAgICBQbHVnaW5PYmplY3QqIHBsdWdp
biA9IHJlaW50ZXJwcmV0X2Nhc3Q8UGx1Z2luT2JqZWN0Kj4oaGVhZGVyKTsKICAgICBpZiAobmFt
ZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0NBTExCQUNLX01FVEhPRF0pCiAg
ICAgICAgIHJldHVybiB0ZXN0Q2FsbGJhY2socGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0
KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1Rf
R0VUVVJMXSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNU
X0dFVFVSTF0pCiAgICAgICAgIHJldHVybiBnZXRVUkwocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwg
cmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lE
X1RFU1RfRE9NX0FDQ0VTU10pCisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmll
cnNbSURfVEVTVF9ET01fQUNDRVNTXSkKICAgICAgICAgcmV0dXJuIHRlc3RET01BY2Nlc3MocGx1
Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdp
bk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfR0VUX1VSTF9OT1RJRlldKQorICAgIGlmIChuYW1l
ID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfR0VUX1VSTF9OT1RJRlldKQogICAg
ICAgICByZXR1cm4gZ2V0VVJMTm90aWZ5KHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7
Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0lO
Vk9LRV9ERUZBVUxUXSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJ
RF9URVNUX0lOVk9LRV9ERUZBVUxUXSkKICAgICAgICAgcmV0dXJuIHRlc3RJbnZva2VEZWZhdWx0
KHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBw
bHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0VOVU1FUkFURV0pCisgICAgaWYgKG5hbWUg
PT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9FTlVNRVJBVEVdKQogICAgICAgICBy
ZXR1cm4gdGVzdEVudW1lcmF0ZShwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAg
IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfREVTVFJPWV9TVFJF
QU1dKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX0RFU1RST1lf
U1RSRUFNXSkKICAgICAgICAgcmV0dXJuIGRlc3Ryb3lTdHJlYW0ocGx1Z2luLCBhcmdzLCBhcmdD
b3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZp
ZXJzW0lEX1RFU1RfR0VUSU5USURFTlRJRklFUl0pCisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0
aG9kSWRlbnRpZmllcnNbSURfVEVTVF9HRVRJTlRJREVOVElGSUVSXSkKICAgICAgICAgcmV0dXJu
IHRlc3RHZXRJbnRJZGVudGlmaWVyKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0g
ICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0VWQUxV
QVRFXSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0VW
QUxVQVRFXSkKICAgICAgICAgcmV0dXJuIHRlc3RFdmFsdWF0ZShwbHVnaW4sIGFyZ3MsIGFyZ0Nv
dW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmll
cnNbSURfVEVTVF9HRVRfUFJPUEVSVFldKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElk
ZW50aWZpZXJzW0lEX1RFU1RfR0VUX1BST1BFUlRZXSkKICAgICAgICAgcmV0dXJuIHRlc3RHZXRQ
cm9wZXJ0eShwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5h
bWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9HRVRfUFJPUEVSVFlfUkVUVVJO
X1ZBTFVFXSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNU
X0dFVF9QUk9QRVJUWV9SRVRVUk5fVkFMVUVdKQogICAgICAgICByZXR1cm4gdGVzdEdldFByb3Bl
cnR5UmV0dXJuVmFsdWUocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNl
IGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfSEFTX1BST1BFUlRZ
XSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0hBU19Q
Uk9QRVJUWV0pCiAgICAgICAgIHJldHVybiB0ZXN0SGFzUHJvcGVydHkocGx1Z2luLCBhcmdzLCBh
cmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50
aWZpZXJzW0lEX1RFU1RfSEFTX01FVEhPRF0pCisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9k
SWRlbnRpZmllcnNbSURfVEVTVF9IQVNfTUVUSE9EXSkKICAgICAgICAgcmV0dXJuIHRlc3RIYXNN
ZXRob2QocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1l
ID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfSURFTlRJRklFUl9UT19TVFJJTkdd
KQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfSURFTlRJ
RklFUl9UT19TVFJJTkddKQogICAgICAgICByZXR1cm4gdGVzdElkZW50aWZpZXJUb1N0cmluZyhw
bHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1
Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9JREVOVElGSUVSX1RPX0lOVF0pCisgICAgaWYg
KG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9JREVOVElGSUVSX1RPX0lO
VF0pCiAgICAgICAgIHJldHVybiB0ZXN0SWRlbnRpZmllclRvSW50KHBsdWdpbiwgYXJncywgYXJn
Q291bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlm
aWVyc1tJRF9URVNUX1BPU1RVUkxfRklMRV0pCisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9k
SWRlbnRpZmllcnNbSURfVEVTVF9QT1NUVVJMX0ZJTEVdKQogICAgICAgICByZXR1cm4gdGVzdFBv
c3RVUkxGaWxlKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAo
bmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0NPTlNUUlVDVF0pCisgICAg
aWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9DT05TVFJVQ1RdKQog
ICAgICAgICByZXR1cm4gdGVzdENvbnN0cnVjdChwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1
bHQpOwotICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVT
VF9USFJPV19FWENFUFRJT05fTUVUSE9EXSkgeworICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhv
ZElkZW50aWZpZXJzW0lEX1RFU1RfVEhST1dfRVhDRVBUSU9OX01FVEhPRF0pIHsKICAgICAgICAg
YnJvd3Nlci0+c2V0ZXhjZXB0aW9uKGhlYWRlciwgInBsdWdpbiBvYmplY3QgdGVzdFRocm93RXhj
ZXB0aW9uIFNVQ0NFU1MiKTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChu
YW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfRkFJTF9NRVRIT0RdKSB7Cisg
ICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfRkFJ
TF9NRVRIT0RdKSB7CiAgICAgICAgIE5QT2JqZWN0KiB3aW5kb3dTY3JpcHRPYmplY3Q7CiAgICAg
ICAgIGJyb3dzZXItPmdldHZhbHVlKHBsdWdpbi0+bnBwLCBOUE5WV2luZG93TlBPYmplY3QsICZ3
aW5kb3dTY3JpcHRPYmplY3QpOwogICAgICAgICBicm93c2VyLT5pbnZva2UocGx1Z2luLT5ucHAs
IHdpbmRvd1NjcmlwdE9iamVjdCwgbmFtZSwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAg
fSBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX0RFU1RST1lfTlVM
TF9TVFJFQU1dKSAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBpZiAobmFtZSA9
PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9ERVNUUk9ZX05VTExfU1RSRUFNXSkgCiAgICAg
ICAgIHJldHVybiBkZXN0cm95TnVsbFN0cmVhbShwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1
bHQpOwotICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVT
VF9SRUxPQURfUExVR0lOU19OT19QQUdFU10pIHsKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRo
b2RJZGVudGlmaWVyc1tJRF9URVNUX1JFTE9BRF9QTFVHSU5TX05PX1BBR0VTXSkgewogICAgICAg
ICBicm93c2VyLT5yZWxvYWRwbHVnaW5zKGZhbHNlKTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfUkVM
T0FEX1BMVUdJTlNfQU5EX1BBR0VTXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5N
ZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX1JFTE9BRF9QTFVHSU5TX0FORF9QQUdFU10pIHsKICAg
ICAgICAgYnJvd3Nlci0+cmVsb2FkcGx1Z2lucyh0cnVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1Rf
R0VUX0JST1dTRVJfUFJPUEVSVFldKSB7CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpbk1l
dGhvZElkZW50aWZpZXJzW0lEX1RFU1RfR0VUX0JST1dTRVJfUFJPUEVSVFldKSB7CiAgICAgICAg
IGJyb3dzZXItPmdldHByb3BlcnR5KHBsdWdpbi0+bnBwLCBOUFZBUklBTlRfVE9fT0JKRUNUKGFy
Z3NbMF0pLCBzdHJpbmdWYXJpYW50VG9JZGVudGlmaWVyKGFyZ3NbMV0pLCByZXN1bHQpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRl
bnRpZmllcnNbSURfVEVTVF9TRVRfQlJPV1NFUl9QUk9QRVJUWV0pIHsKKyAgICB9CisgICAgaWYg
KG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9TRVRfQlJPV1NFUl9QUk9Q
RVJUWV0pIHsKICAgICAgICAgYnJvd3Nlci0+c2V0cHJvcGVydHkocGx1Z2luLT5ucHAsIE5QVkFS
SUFOVF9UT19PQkpFQ1QoYXJnc1swXSksIHN0cmluZ1ZhcmlhbnRUb0lkZW50aWZpZXIoYXJnc1sx
XSksICZhcmdzWzJdKTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1l
ID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1JFTUVNQkVSXSkgeworICAgIH0KKyAgICBp
ZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9SRU1FTUJFUl0pIHsKICAgICAg
ICAgaWYgKHBsdWdpbi0+cmVtZW1iZXJlZE9iamVjdCkKICAgICAgICAgICAgIGJyb3dzZXItPnJl
bGVhc2VvYmplY3QocGx1Z2luLT5yZW1lbWJlcmVkT2JqZWN0KTsKICAgICAgICAgcGx1Z2luLT5y
ZW1lbWJlcmVkT2JqZWN0ID0gTlBWQVJJQU5UX1RPX09CSkVDVChhcmdzWzBdKTsKICAgICAgICAg
YnJvd3Nlci0+cmV0YWlub2JqZWN0KHBsdWdpbi0+cmVtZW1iZXJlZE9iamVjdCk7CiAgICAgICAg
IFZPSURfVE9fTlBWQVJJQU5UKCpyZXN1bHQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfR0VUX1JFTUVNQkVS
RURfT0JKRUNUXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlm
aWVyc1tJRF9HRVRfUkVNRU1CRVJFRF9PQkpFQ1RdKSB7CiAgICAgICAgIGFzc2VydChwbHVnaW4t
PnJlbWVtYmVyZWRPYmplY3QpOwogICAgICAgICBicm93c2VyLT5yZXRhaW5vYmplY3QocGx1Z2lu
LT5yZW1lbWJlcmVkT2JqZWN0KTsKICAgICAgICAgT0JKRUNUX1RPX05QVkFSSUFOVChwbHVnaW4t
PnJlbWVtYmVyZWRPYmplY3QsICpyZXN1bHQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfR0VUX0FORF9GT1JH
RVRfUkVNRU1CRVJFRF9PQkpFQ1RdKSB7CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpbk1l
dGhvZElkZW50aWZpZXJzW0lEX0dFVF9BTkRfRk9SR0VUX1JFTUVNQkVSRURfT0JKRUNUXSkgewog
ICAgICAgICBhc3NlcnQocGx1Z2luLT5yZW1lbWJlcmVkT2JqZWN0KTsKICAgICAgICAgT0JKRUNU
X1RPX05QVkFSSUFOVChwbHVnaW4tPnJlbWVtYmVyZWRPYmplY3QsICpyZXN1bHQpOwogICAgICAg
ICBwbHVnaW4tPnJlbWVtYmVyZWRPYmplY3QgPSAwOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfUkVGX0NPVU5U
XSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9S
RUZfQ09VTlRdKSB7CiAgICAgICAgIHVpbnQzMl90IHJlZkNvdW50ID0gTlBWQVJJQU5UX1RPX09C
SkVDVChhcmdzWzBdKS0+cmVmZXJlbmNlQ291bnQ7CiAgICAgICAgIElOVDMyX1RPX05QVkFSSUFO
VChyZWZDb3VudCwgKnJlc3VsdCk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBp
ZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9TRVRfU1RBVFVTXSkKKyAgICB9
CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfU0VUX1NUQVRVU10p
CiAgICAgICAgIHJldHVybiB0ZXN0U2V0U3RhdHVzKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJl
c3VsdCk7Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9S
RVNJWkVfVE9dKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1JF
U0laRV9UT10pCiAgICAgICAgIHJldHVybiB0ZXN0UmVzaXplVG8ocGx1Z2luLCBhcmdzLCBhcmdD
b3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZp
ZXJzW0lEX05PUk1BTElaRV0pCisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmll
cnNbSURfTk9STUFMSVpFXSkKICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZU92ZXJyaWRlKHBsdWdp
biwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgCisKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73073</attachid>
            <date>2010-11-05 09:53:35 -0700</date>
            <delta_ts>2010-11-05 12:37:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49044-20101105095404.patch</filename>
            <type>text/plain</type>
            <size>20385</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA1YjY4MTBhNTE4ZDFhMDNjOGM0ZGMzYmY2ZDU5OTZmOWM5MDcxYjUxLi5jMDAyOTNk
NGNmZmU1ZGE1MjFjMzE0Y2RiNzVmODhlYTM2MjdhOTE3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMTAtMTEtMDUgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjbGVhbnVwIHN0eWxlIGluIFRl
c3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmplY3QuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTA0NAorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpbk9iamVjdC5jcHA6CisgICAgICAgIChnZXRQbHVn
aW5DbGFzcyk6CisgICAgICAgIChwbHVnaW5HZXRQcm9wZXJ0eSk6CisgICAgICAgIChwbHVnaW5T
ZXRQcm9wZXJ0eSk6CisgICAgICAgICh2YXJpYW50VG9JZGVudGlmaWVyKToKKyAgICAgICAgKHRl
c3RDYWxsYmFjayk6CisgICAgICAgIChnZXRVUkwpOgorICAgICAgICAoZ2V0VVJMTm90aWZ5KToK
KyAgICAgICAgKHRlc3RJbnZva2VEZWZhdWx0KToKKyAgICAgICAgKHRlc3RHZXRQcm9wZXJ0eSk6
CisgICAgICAgICh0ZXN0RG9jdW1lbnRPcGVuKToKKyAgICAgICAgKHRlc3RXaW5kb3dPcGVuKToK
KyAgICAgICAgKHBsdWdpbkludm9rZSk6CisgICAgICAgIChoYW5kbGVDYWxsYmFjayk6CisgICAg
ICAgIChub3RpZnlTdHJlYW0pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2Fw
ZVBsdWdJbi9QbHVnaW5PYmplY3QuaDoKKwogMjAxMC0xMS0wNCAgRGlyayBQcmFua2UgIDxkcHJh
bmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1Bs
dWdpbk9iamVjdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQ
bHVnSW4vUGx1Z2luT2JqZWN0LmNwcAppbmRleCBkN2M2ZDJjMWY5NjU0ZjViODdmNzVkOWUzN2Q1
NjEzYjI0MGI4Yjg0Li5lNTgxNTJlNjA3ZTI2YjlkZWM0ODkxNTYyODNmZWIyNzk1OTA1Nzc4IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
UGx1Z2luT2JqZWN0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcApAQCAtMzIsOSArMzIsOCBAQAogI2luY2x1ZGUg
PGFzc2VydC5oPgogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLSNp
bmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcu
aD4KIAogLy8gSGVscGVyIGZ1bmN0aW9uIHdoaWNoIHRha2VzIGluIHRoZSBwbHVnaW4gd2luZG93
IG9iamVjdCBmb3IgbG9nZ2luZyB0byB0aGUgY29uc29sZSBvYmplY3QuCiBzdGF0aWMgdm9pZCBw
bHVnaW5Mb2dXaXRoV2luZG93T2JqZWN0KE5QT2JqZWN0KiB3aW5kb3dPYmplY3QsIE5QUCBpbnN0
YW5jZSwgY29uc3QgY2hhciogbWVzc2FnZSkKQEAgLTExOSwxMCArMTE4LDEwIEBAIHN0YXRpYyBO
UENsYXNzIHBsdWdpbkNsYXNzID0gewogICAgIHBsdWdpblNldFByb3BlcnR5LAogICAgIDAsIC8v
IE5QQ2xhc3M6OnJlbW92ZVByb3BlcnR5CiAgICAgMCwgLy8gTlBDbGFzczo6ZW51bWVyYXRlCi0g
ICAgMCAgLy8gTlBDbGFzczo6Y29uc3RydWN0CisgICAgMCwgLy8gTlBDbGFzczo6Y29uc3RydWN0
CiB9OwogCi1OUENsYXNzICpnZXRQbHVnaW5DbGFzcyh2b2lkKQorTlBDbGFzcyogZ2V0UGx1Z2lu
Q2xhc3Modm9pZCkKIHsKICAgICByZXR1cm4gJnBsdWdpbkNsYXNzOwogfQpAQCAtMjcxLDM4ICsy
NzAsNDggQEAgc3RhdGljIGJvb2wgcGx1Z2luR2V0UHJvcGVydHkoTlBPYmplY3QqIG9iaiwgTlBJ
ZGVudGlmaWVyIG5hbWUsIE5QVmFyaWFudCogcmVzdWwKICAgICAgICAgc3RyY3B5KGJ1Ziwgb3Jp
Z2luYWxTdHJpbmcpOwogICAgICAgICBTVFJJTkdaX1RPX05QVkFSSUFOVChidWYsICpyZXN1bHQp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJv
cGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9FVkVOVF9MT0dHSU5HXSkgeworICAgIH0KKyAg
ICBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX0VWRU5U
X0xPR0dJTkddKSB7CiAgICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHBsdWdpbi0+ZXZlbnRM
b2dnaW5nLCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChu
YW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfTE9HX0RFU1RST1ld
KSB7CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURf
UFJPUEVSVFlfTE9HX0RFU1RST1ldKSB7CiAgICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHBs
dWdpbi0+bG9nRGVzdHJveSwgKnJlc3VsdCk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0g
ZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX0hB
U19TVFJFQU1dKSB7Ci0gICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHBsdWdpbi0+c3RyZWFt
ICE9IDAsICpyZXN1bHQpOworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlk
ZW50aWZpZXJzW0lEX1BST1BFUlRZX0hBU19TVFJFQU1dKSB7CisgICAgICAgIEJPT0xFQU5fVE9f
TlBWQVJJQU5UKHBsdWdpbi0+c3RyZWFtLCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJP
UEVSVFlfVEVTVF9PQkpFQ1RdKSB7CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3Bl
cnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfVEVTVF9PQkpFQ1RdKSB7CiAgICAgICAgIE5QT2Jq
ZWN0KiB0ZXN0T2JqZWN0ID0gcGx1Z2luLT50ZXN0T2JqZWN0OwogICAgICAgICBicm93c2VyLT5y
ZXRhaW5vYmplY3QodGVzdE9iamVjdCk7CiAgICAgICAgIE9CSkVDVF9UT19OUFZBUklBTlQodGVz
dE9iamVjdCwgKnJlc3VsdCk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAo
bmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1JFVFVSTl9FUlJP
Ul9GUk9NX05FV1NUUkVBTV0pIHsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVy
dHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9SRVRVUk5fRVJST1JfRlJPTV9ORVdTVFJFQU1dKSB7
CiAgICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHBsdWdpbi0+cmV0dXJuRXJyb3JGcm9tTmV3
U3RyZWFtLCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChu
YW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfUkVUVVJOX05FR0FU
SVZFX09ORV9GUk9NX1dSSVRFXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5Qcm9w
ZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1JFVFVSTl9ORUdBVElWRV9PTkVfRlJPTV9XUklU
RV0pIHsKICAgICAgICAgQk9PTEVBTl9UT19OUFZBUklBTlQocGx1Z2luLT5yZXR1cm5OZWdhdGl2
ZU9uZUZyb21Xcml0ZSwgKnJlc3VsdCk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxz
ZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1BSSVZB
VEVfQlJPV1NJTkdfRU5BQkxFRF0pIHsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luUHJv
cGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9QUklWQVRFX0JST1dTSU5HX0VOQUJMRURdKSB7
CiAgICAgICAgIE5QQm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkID0gRkFMU0U7CiAgICAgICAg
IGJyb3dzZXItPmdldHZhbHVlKHBsdWdpbi0+bnBwLCBOUE5WcHJpdmF0ZU1vZGVCb29sLCAmcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCk7CiAgICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHByaXZh
dGVCcm93c2luZ0VuYWJsZWQsICpyZXN1bHQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9D
QUNIRURfUFJJVkFURV9CUk9XU0lOR19FTkFCTEVEXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9
PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX0NBQ0hFRF9QUklWQVRFX0JS
T1dTSU5HX0VOQUJMRURdKSB7CiAgICAgICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHBsdWdpbi0+
Y2FjaGVkUHJpdmF0ZUJyb3dzaW5nTW9kZSwgKnJlc3VsdCk7CiAgICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BS
T1BFUlRZX1RIUk9XX0VYQ0VQVElPTl9QUk9QRVJUWV0pIHsKKyAgICB9CisgICAgaWYgKG5hbWUg
PT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9USFJPV19FWENFUFRJT05f
UFJPUEVSVFldKSB7CiAgICAgICAgIGJyb3dzZXItPnNldGV4Y2VwdGlvbihvYmosICJwbHVnaW4g
b2JqZWN0IHRlc3RUaHJvd0V4Y2VwdGlvblByb3BlcnR5IFNVQ0NFU1MiKTsKICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmll
cnNbSURfTEFTVF9TRVRfV0lORE9XX0FSR1VNRU5UU10pIHsKKyAgICB9CisgICAgaWYgKG5hbWUg
PT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9MQVNUX1NFVF9XSU5ET1dfQVJHVU1FTlRT
XSkgewogICAgICAgICBjaGFyKiBidWYgPSBzdGF0aWNfY2FzdDxjaGFyKj4oYnJvd3Nlci0+bWVt
YWxsb2MoMjU2KSk7CiAgICAgICAgIHNucHJpbnRmKGJ1ZiwgMjU2LCAieDogJWQsIHk6ICVkLCB3
aWR0aDogJXUsIGhlaWdodDogJXUsIGNsaXBSZWN0OiAoJXUsICV1LCAldSwgJXUpIiwgKGludClw
bHVnaW4tPmxhc3RXaW5kb3cueCwgKGludClwbHVnaW4tPmxhc3RXaW5kb3cueSwgKHVuc2lnbmVk
KXBsdWdpbi0+bGFzdFdpbmRvdy53aWR0aCwgKHVuc2lnbmVkKXBsdWdpbi0+bGFzdFdpbmRvdy5o
ZWlnaHQsCiAgICAgICAgICAgICBwbHVnaW4tPmxhc3RXaW5kb3cuY2xpcFJlY3QubGVmdCwgcGx1
Z2luLT5sYXN0V2luZG93LmNsaXBSZWN0LnRvcCwgcGx1Z2luLT5sYXN0V2luZG93LmNsaXBSZWN0
LnJpZ2h0IC0gcGx1Z2luLT5sYXN0V2luZG93LmNsaXBSZWN0LmxlZnQsIHBsdWdpbi0+bGFzdFdp
bmRvdy5jbGlwUmVjdC5ib3R0b20gLSBwbHVnaW4tPmxhc3RXaW5kb3cuY2xpcFJlY3QudG9wKTsK
QEAgLTMyMCwxOSArMzI5LDI0IEBAIHN0YXRpYyBib29sIHBsdWdpblNldFByb3BlcnR5KE5QT2Jq
ZWN0KiBvYmosIE5QSWRlbnRpZmllciBuYW1lLCBjb25zdCBOUFZhcmlhbnQqCiAgICAgaWYgKG5h
bWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9FVkVOVF9MT0dHSU5H
XSkgewogICAgICAgICBwbHVnaW4tPmV2ZW50TG9nZ2luZyA9IE5QVkFSSUFOVF9UT19CT09MRUFO
KCp2YXJpYW50KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09
IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfTE9HX0RFU1RST1ldKSB7Cisg
ICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVS
VFlfTE9HX0RFU1RST1ldKSB7CiAgICAgICAgIHBsdWdpbi0+bG9nRGVzdHJveSA9IE5QVkFSSUFO
VF9UT19CT09MRUFOKCp2YXJpYW50KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNl
IGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlfUkVUVVJO
X0VSUk9SX0ZST01fTkVXU1RSRUFNXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5Q
cm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1JFVFVSTl9FUlJPUl9GUk9NX05FV1NUUkVB
TV0pIHsKICAgICAgICAgcGx1Z2luLT5yZXR1cm5FcnJvckZyb21OZXdTdHJlYW0gPSBOUFZBUklB
TlRfVE9fQk9PTEVBTigqdmFyaWFudCk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxz
ZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1JFVFVS
Tl9ORUdBVElWRV9PTkVfRlJPTV9XUklURV0pIHsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1
Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9SRVRVUk5fTkVHQVRJVkVfT05FX0ZS
T01fV1JJVEVdKSB7CiAgICAgICAgIHBsdWdpbi0+cmV0dXJuTmVnYXRpdmVPbmVGcm9tV3JpdGUg
PSBOUFZBUklBTlRfVE9fQk9PTEVBTigqdmFyaWFudCk7CiAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BF
UlRZX1RIUk9XX0VYQ0VQVElPTl9QUk9QRVJUWV0pIHsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0g
cGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9USFJPV19FWENFUFRJT05fUFJP
UEVSVFldKSB7CiAgICAgICAgIGJyb3dzZXItPnNldGV4Y2VwdGlvbihvYmosICJwbHVnaW4gb2Jq
ZWN0IHRlc3RUaHJvd0V4Y2VwdGlvblByb3BlcnR5IFNVQ0NFU1MiKTsKICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNb
SURfUFJPUEVSVFlfV0lORE9XRURfUExVR0lOXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBw
bHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BFUlRZX1dJTkRPV0VEX1BMVUdJTl0pIHsK
ICAgICAgICAgYnJvd3Nlci0+c2V0dmFsdWUocGx1Z2luLT5ucHAsIE5QUFZwbHVnaW5XaW5kb3dC
b29sLCAodm9pZCAqKU5QVkFSSUFOVF9UT19CT09MRUFOKCp2YXJpYW50KSk7CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KQEAgLTM5Miw5ICs0MDYsOSBAQCBzdGF0aWMgTlBJZGVudGlmaWVy
IHZhcmlhbnRUb0lkZW50aWZpZXIoTlBWYXJpYW50IHZhcmlhbnQpCiB7CiAgICAgaWYgKE5QVkFS
SUFOVF9JU19TVFJJTkcodmFyaWFudCkpCiAgICAgICAgIHJldHVybiBzdHJpbmdWYXJpYW50VG9J
ZGVudGlmaWVyKHZhcmlhbnQpOwotICAgIGVsc2UgaWYgKE5QVkFSSUFOVF9JU19JTlQzMih2YXJp
YW50KSkKKyAgICBpZiAoTlBWQVJJQU5UX0lTX0lOVDMyKHZhcmlhbnQpKQogICAgICAgICByZXR1
cm4gaW50MzJWYXJpYW50VG9JZGVudGlmaWVyKHZhcmlhbnQpOwotICAgIGVsc2UgaWYgKE5QVkFS
SUFOVF9JU19ET1VCTEUodmFyaWFudCkpCisgICAgaWYgKE5QVkFSSUFOVF9JU19ET1VCTEUodmFy
aWFudCkpCiAgICAgICAgIHJldHVybiBkb3VibGVWYXJpYW50VG9JZGVudGlmaWVyKHZhcmlhbnQp
OwogICAgIHJldHVybiAwOwogfQpAQCAtNDI3LDcgKzQ0MSw3IEBAIHN0YXRpYyBib29sIHRlc3RJ
ZGVudGlmaWVyVG9JbnQoUGx1Z2luT2JqZWN0KiwgY29uc3QgTlBWYXJpYW50KiBhcmdzLCB1aW50
MzJfdCBhCiAKIHN0YXRpYyBib29sIHRlc3RDYWxsYmFjayhQbHVnaW5PYmplY3QqIG9iaiwgY29u
c3QgTlBWYXJpYW50KiBhcmdzLCB1aW50MzJfdCBhcmdDb3VudCwgTlBWYXJpYW50KiByZXN1bHQp
CiB7Ci0gICAgaWYgKGFyZ0NvdW50ID09IDAgfHwgIU5QVkFSSUFOVF9JU19TVFJJTkcoYXJnc1sw
XSkpCisgICAgaWYgKCFhcmdDb3VudCB8fCAhTlBWQVJJQU5UX0lTX1NUUklORyhhcmdzWzBdKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgTlBPYmplY3QqIHdpbmRvd1NjcmlwdE9iamVj
dDsKQEAgLTQ1OCw3ICs0NzIsOCBAQCBzdGF0aWMgYm9vbCBnZXRVUkwoUGx1Z2luT2JqZWN0KiBv
YmosIGNvbnN0IE5QVmFyaWFudCogYXJncywgdWludDMyX3QgYXJnQ291bnQsCiAKICAgICAgICAg
SU5UMzJfVE9fTlBWQVJJQU5UKG5wRXJyLCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfSBlbHNlIGlmIChhcmdDb3VudCA9PSAxICYmIE5QVkFSSUFOVF9JU19TVFJJTkcoYXJn
c1swXSkpIHsKKyAgICB9CisgICAgaWYgKGFyZ0NvdW50ID09IDEgJiYgTlBWQVJJQU5UX0lTX1NU
UklORyhhcmdzWzBdKSkgewogICAgICAgICBOUFVURjgqIHVybFN0cmluZyA9IGNyZWF0ZUNTdHJp
bmdGcm9tTlBWYXJpYW50KCZhcmdzWzBdKTsKICAgICAgICAgTlBFcnJvciBucEVyciA9IGJyb3dz
ZXItPmdldHVybChvYmotPm5wcCwgdXJsU3RyaW5nLCAwKTsKICAgICAgICAgZnJlZSh1cmxTdHJp
bmcpOwpAQCAtNDc3LDcgKzQ5Miw3IEBAIHN0YXRpYyBib29sIGdldFVSTE5vdGlmeShQbHVnaW5P
YmplY3QqIG9iaiwgY29uc3QgTlBWYXJpYW50KiBhcmdzLCB1aW50MzJfdCBhcmdDCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIE5QVVRGOCogdXJsU3RyaW5nID0gY3JlYXRlQ1N0cmluZ0Zy
b21OUFZhcmlhbnQoJmFyZ3NbMF0pOwotICAgIE5QVVRGOCogdGFyZ2V0U3RyaW5nID0gKE5QVkFS
SUFOVF9JU19TVFJJTkcoYXJnc1sxXSkgPyBjcmVhdGVDU3RyaW5nRnJvbU5QVmFyaWFudCgmYXJn
c1sxXSkgOiBOVUxMKTsKKyAgICBOUFVURjgqIHRhcmdldFN0cmluZyA9IChOUFZBUklBTlRfSVNf
U1RSSU5HKGFyZ3NbMV0pID8gY3JlYXRlQ1N0cmluZ0Zyb21OUFZhcmlhbnQoJmFyZ3NbMV0pIDog
MCk7CiAgICAgTlBVVEY4KiBjYWxsYmFja1N0cmluZyA9IGNyZWF0ZUNTdHJpbmdGcm9tTlBWYXJp
YW50KCZhcmdzWzJdKTsKIAogICAgIE5QSWRlbnRpZmllciBjYWxsYmFja0lkZW50aWZpZXIgPSBi
cm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVyKGNhbGxiYWNrU3RyaW5nKTsKQEAgLTQ5Niw3ICs1
MTEsNyBAQCBzdGF0aWMgYm9vbCB0ZXN0SW52b2tlRGVmYXVsdChQbHVnaW5PYmplY3QqIG9iaiwg
Y29uc3QgTlBWYXJpYW50KiBhcmdzLCB1aW50MzJfdAogICAgIGlmICghTlBWQVJJQU5UX0lTX09C
SkVDVChhcmdzWzBdKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTlBPYmplY3QgKmNh
bGxiYWNrID0gTlBWQVJJQU5UX1RPX09CSkVDVChhcmdzWzBdKTsKKyAgICBOUE9iamVjdCogY2Fs
bGJhY2sgPSBOUFZBUklBTlRfVE9fT0JKRUNUKGFyZ3NbMF0pOwogCiAgICAgTlBWYXJpYW50IGlu
dm9rZUFyZ3NbMV07CiAgICAgTlBWYXJpYW50IGJyb3dzZXJSZXN1bHQ7CkBAIC01NjksMTAgKzU4
NCwxMCBAQCBzdGF0aWMgYm9vbCB0ZXN0R2V0SW50SWRlbnRpZmllcihQbHVnaW5PYmplY3QqLCBj
b25zdCBOUFZhcmlhbnQqIGFyZ3MsIHVpbnQzMl90CiAKIHN0YXRpYyBib29sIHRlc3RHZXRQcm9w
ZXJ0eShQbHVnaW5PYmplY3QqIG9iaiwgY29uc3QgTlBWYXJpYW50KiBhcmdzLCB1aW50MzJfdCBh
cmdDb3VudCwgTlBWYXJpYW50KiByZXN1bHQpCiB7Ci0gICAgaWYgKGFyZ0NvdW50ID09IDApCisg
ICAgaWYgKCFhcmdDb3VudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTlBPYmplY3Qg
Km9iamVjdDsKKyAgICBOUE9iamVjdCogb2JqZWN0OwogICAgIGJyb3dzZXItPmdldHZhbHVlKG9i
ai0+bnBwLCBOUE5WV2luZG93TlBPYmplY3QsICZvYmplY3QpOwogCiAgICAgZm9yICh1aW50MzJf
dCBpID0gMDsgaSA8IGFyZ0NvdW50OyBpKyspIHsKQEAgLTczMSw3ICs3NDYsNyBAQCBib29sIHRl
c3REb2N1bWVudE9wZW4oTlBQIG5wcCkKICAgICBOUElkZW50aWZpZXIgZG9jdW1lbnRJZCA9IGJy
b3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIoImRvY3VtZW50Iik7CiAgICAgTlBJZGVudGlmaWVy
IG9wZW5JZCA9IGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIoIm9wZW4iKTsKIAotICAgIE5Q
T2JqZWN0ICp3aW5kb3dPYmplY3QgPSBOVUxMOworICAgIE5QT2JqZWN0KiB3aW5kb3dPYmplY3Qg
PSAwOwogICAgIGJyb3dzZXItPmdldHZhbHVlKG5wcCwgTlBOVldpbmRvd05QT2JqZWN0LCAmd2lu
ZG93T2JqZWN0KTsKICAgICBpZiAoIXdpbmRvd09iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNzQzLDcgKzc1OCw3IEBAIGJvb2wgdGVzdERvY3VtZW50T3BlbihOUFAgbnBwKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgTlBPYmplY3QgKmRvY3VtZW50T2JqZWN0
ID0gTlBWQVJJQU5UX1RPX09CSkVDVChkb2NWYXJpYW50KTsKKyAgICBOUE9iamVjdCogZG9jdW1l
bnRPYmplY3QgPSBOUFZBUklBTlRfVE9fT0JKRUNUKGRvY1ZhcmlhbnQpOwogCiAgICAgTlBWYXJp
YW50IG9wZW5BcmdzWzJdOwogICAgIFNUUklOR1pfVE9fTlBWQVJJQU5UKCJ0ZXh0L2h0bWwiLCBv
cGVuQXJnc1swXSk7CkBAIC03NzUsNyArNzkwLDcgQEAgYm9vbCB0ZXN0V2luZG93T3BlbihOUFAg
bnBwKQogewogICAgIE5QSWRlbnRpZmllciBvcGVuSWQgPSBicm93c2VyLT5nZXRzdHJpbmdpZGVu
dGlmaWVyKCJvcGVuIik7CiAKLSAgICBOUE9iamVjdCAqd2luZG93T2JqZWN0ID0gTlVMTDsKKyAg
ICBOUE9iamVjdCogd2luZG93T2JqZWN0ID0gMDsKICAgICBicm93c2VyLT5nZXR2YWx1ZShucHAs
IE5QTlZXaW5kb3dOUE9iamVjdCwgJndpbmRvd09iamVjdCk7CiAgICAgaWYgKCF3aW5kb3dPYmpl
Y3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTg1Nyw4NyArODcyLDk4IEBAIHN0YXRpYyBi
b29sIHBsdWdpbkludm9rZShOUE9iamVjdCogaGVhZGVyLCBOUElkZW50aWZpZXIgbmFtZSwgY29u
c3QgTlBWYXJpYW50KiBhCiAgICAgUGx1Z2luT2JqZWN0KiBwbHVnaW4gPSByZWludGVycHJldF9j
YXN0PFBsdWdpbk9iamVjdCo+KGhlYWRlcik7CiAgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9k
SWRlbnRpZmllcnNbSURfVEVTVF9DQUxMQkFDS19NRVRIT0RdKQogICAgICAgICByZXR1cm4gdGVz
dENhbGxiYWNrKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAo
bmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0dFVFVSTF0pCisgICAgaWYg
KG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9HRVRVUkxdKQogICAgICAg
ICByZXR1cm4gZ2V0VVJMKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgZWxz
ZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0RPTV9BQ0NFU1Nd
KQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfRE9NX0FD
Q0VTU10pCiAgICAgICAgIHJldHVybiB0ZXN0RE9NQWNjZXNzKHBsdWdpbiwgYXJncywgYXJnQ291
bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVy
c1tJRF9URVNUX0dFVF9VUkxfTk9USUZZXSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJ
ZGVudGlmaWVyc1tJRF9URVNUX0dFVF9VUkxfTk9USUZZXSkKICAgICAgICAgcmV0dXJuIGdldFVS
TE5vdGlmeShwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5h
bWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9JTlZPS0VfREVGQVVMVF0pCisg
ICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9JTlZPS0VfREVG
QVVMVF0pCiAgICAgICAgIHJldHVybiB0ZXN0SW52b2tlRGVmYXVsdChwbHVnaW4sIGFyZ3MsIGFy
Z0NvdW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRp
ZmllcnNbSURfVEVTVF9FTlVNRVJBVEVdKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElk
ZW50aWZpZXJzW0lEX1RFU1RfRU5VTUVSQVRFXSkKICAgICAgICAgcmV0dXJuIHRlc3RFbnVtZXJh
dGUocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09
IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX0RFU1RST1lfU1RSRUFNXSkKKyAgICBpZiAobmFt
ZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9ERVNUUk9ZX1NUUkVBTV0pCiAgICAgICAg
IHJldHVybiBkZXN0cm95U3RyZWFtKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0g
ICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0dFVElO
VElERU5USUZJRVJdKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lE
X1RFU1RfR0VUSU5USURFTlRJRklFUl0pCiAgICAgICAgIHJldHVybiB0ZXN0R2V0SW50SWRlbnRp
ZmllcihwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5hbWUg
PT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9FVkFMVUFURV0pCisgICAgaWYgKG5h
bWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9FVkFMVUFURV0pCiAgICAgICAg
IHJldHVybiB0ZXN0RXZhbHVhdGUocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAg
ICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfR0VUX1BS
T1BFUlRZXSkKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNU
X0dFVF9QUk9QRVJUWV0pCiAgICAgICAgIHJldHVybiB0ZXN0R2V0UHJvcGVydHkocGx1Z2luLCBh
cmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhv
ZElkZW50aWZpZXJzW0lEX1RFU1RfR0VUX1BST1BFUlRZX1JFVFVSTl9WQUxVRV0pCisgICAgaWYg
KG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9HRVRfUFJPUEVSVFlfUkVU
VVJOX1ZBTFVFXSkKICAgICAgICAgcmV0dXJuIHRlc3RHZXRQcm9wZXJ0eVJldHVyblZhbHVlKHBs
dWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVn
aW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0hBU19QUk9QRVJUWV0pCisgICAgaWYgKG5hbWUg
PT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9IQVNfUFJPUEVSVFldKQogICAgICAg
ICByZXR1cm4gdGVzdEhhc1Byb3BlcnR5KHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7
Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0hB
U19NRVRIT0RdKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RF
U1RfSEFTX01FVEhPRF0pCiAgICAgICAgIHJldHVybiB0ZXN0SGFzTWV0aG9kKHBsdWdpbiwgYXJn
cywgYXJnQ291bnQsIHJlc3VsdCk7Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJ
ZGVudGlmaWVyc1tJRF9URVNUX0lERU5USUZJRVJfVE9fU1RSSU5HXSkKKyAgICBpZiAobmFtZSA9
PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0lERU5USUZJRVJfVE9fU1RSSU5HXSkK
ICAgICAgICAgcmV0dXJuIHRlc3RJZGVudGlmaWVyVG9TdHJpbmcocGx1Z2luLCBhcmdzLCBhcmdD
b3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZp
ZXJzW0lEX1RFU1RfSURFTlRJRklFUl9UT19JTlRdKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1l
dGhvZElkZW50aWZpZXJzW0lEX1RFU1RfSURFTlRJRklFUl9UT19JTlRdKQogICAgICAgICByZXR1
cm4gdGVzdElkZW50aWZpZXJUb0ludChwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwot
ICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfVEVTVF9QT1NU
VVJMX0ZJTEVdKQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RF
U1RfUE9TVFVSTF9GSUxFXSkKICAgICAgICAgcmV0dXJuIHRlc3RQb3N0VVJMRmlsZShwbHVnaW4s
IGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0
aG9kSWRlbnRpZmllcnNbSURfVEVTVF9DT05TVFJVQ1RdKQorICAgIGlmIChuYW1lID09IHBsdWdp
bk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfQ09OU1RSVUNUXSkKICAgICAgICAgcmV0dXJuIHRl
c3RDb25zdHJ1Y3QocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlm
IChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfVEhST1dfRVhDRVBUSU9O
X01FVEhPRF0pIHsKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9U
RVNUX1RIUk9XX0VYQ0VQVElPTl9NRVRIT0RdKSB7CiAgICAgICAgIGJyb3dzZXItPnNldGV4Y2Vw
dGlvbihoZWFkZXIsICJwbHVnaW4gb2JqZWN0IHRlc3RUaHJvd0V4Y2VwdGlvbiBTVUNDRVNTIik7
CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRo
b2RJZGVudGlmaWVyc1tJRF9URVNUX0ZBSUxfTUVUSE9EXSkgeworICAgIH0KKyAgICBpZiAobmFt
ZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0ZBSUxfTUVUSE9EXSkgewogICAg
ICAgICBOUE9iamVjdCogd2luZG93U2NyaXB0T2JqZWN0OwogICAgICAgICBicm93c2VyLT5nZXR2
YWx1ZShwbHVnaW4tPm5wcCwgTlBOVldpbmRvd05QT2JqZWN0LCAmd2luZG93U2NyaXB0T2JqZWN0
KTsKICAgICAgICAgYnJvd3Nlci0+aW52b2tlKHBsdWdpbi0+bnBwLCB3aW5kb3dTY3JpcHRPYmpl
Y3QsIG5hbWUsIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIH0gZWxzZSBpZiAobmFtZSA9
PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9ERVNUUk9ZX05VTExfU1RSRUFNXSkgCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRl
bnRpZmllcnNbSURfREVTVFJPWV9OVUxMX1NUUkVBTV0pIAogICAgICAgICByZXR1cm4gZGVzdHJv
eU51bGxTdHJlYW0ocGx1Z2luLCBhcmdzLCBhcmdDb3VudCwgcmVzdWx0KTsKLSAgICBlbHNlIGlm
IChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfUkVMT0FEX1BMVUdJTlNf
Tk9fUEFHRVNdKSB7CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURf
VEVTVF9SRUxPQURfUExVR0lOU19OT19QQUdFU10pIHsKICAgICAgICAgYnJvd3Nlci0+cmVsb2Fk
cGx1Z2lucyhmYWxzZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFt
ZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX1JFTE9BRF9QTFVHSU5TX0FORF9Q
QUdFU10pIHsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNb
SURfVEVTVF9SRUxPQURfUExVR0lOU19BTkRfUEFHRVNdKSB7CiAgICAgICAgIGJyb3dzZXItPnJl
bG9hZHBsdWdpbnModHJ1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAo
bmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0dFVF9CUk9XU0VSX1BST1BF
UlRZXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJ
RF9URVNUX0dFVF9CUk9XU0VSX1BST1BFUlRZXSkgewogICAgICAgICBicm93c2VyLT5nZXRwcm9w
ZXJ0eShwbHVnaW4tPm5wcCwgTlBWQVJJQU5UX1RPX09CSkVDVChhcmdzWzBdKSwgc3RyaW5nVmFy
aWFudFRvSWRlbnRpZmllcihhcmdzWzFdKSwgcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfSBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1Rf
U0VUX0JST1dTRVJfUFJPUEVSVFldKSB7CisgICAgfQorICAgIGlmIChuYW1lID09IHBsdWdpbk1l
dGhvZElkZW50aWZpZXJzW0lEX1RFU1RfU0VUX0JST1dTRVJfUFJPUEVSVFldKSB7CiAgICAgICAg
IGJyb3dzZXItPnNldHByb3BlcnR5KHBsdWdpbi0+bnBwLCBOUFZBUklBTlRfVE9fT0JKRUNUKGFy
Z3NbMF0pLCBzdHJpbmdWYXJpYW50VG9JZGVudGlmaWVyKGFyZ3NbMV0pLCAmYXJnc1syXSk7CiAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJ
ZGVudGlmaWVyc1tJRF9SRU1FTUJFUl0pIHsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2lu
TWV0aG9kSWRlbnRpZmllcnNbSURfUkVNRU1CRVJdKSB7CiAgICAgICAgIGlmIChwbHVnaW4tPnJl
bWVtYmVyZWRPYmplY3QpCiAgICAgICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHBsdWdp
bi0+cmVtZW1iZXJlZE9iamVjdCk7CiAgICAgICAgIHBsdWdpbi0+cmVtZW1iZXJlZE9iamVjdCA9
IE5QVkFSSUFOVF9UT19PQkpFQ1QoYXJnc1swXSk7CiAgICAgICAgIGJyb3dzZXItPnJldGFpbm9i
amVjdChwbHVnaW4tPnJlbWVtYmVyZWRPYmplY3QpOwogICAgICAgICBWT0lEX1RPX05QVkFSSUFO
VCgqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09
IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX0dFVF9SRU1FTUJFUkVEX09CSkVDVF0pIHsKKyAg
ICB9CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfR0VUX1JFTUVN
QkVSRURfT0JKRUNUXSkgewogICAgICAgICBhc3NlcnQocGx1Z2luLT5yZW1lbWJlcmVkT2JqZWN0
KTsKICAgICAgICAgYnJvd3Nlci0+cmV0YWlub2JqZWN0KHBsdWdpbi0+cmVtZW1iZXJlZE9iamVj
dCk7CiAgICAgICAgIE9CSkVDVF9UT19OUFZBUklBTlQocGx1Z2luLT5yZW1lbWJlcmVkT2JqZWN0
LCAqcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09
IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX0dFVF9BTkRfRk9SR0VUX1JFTUVNQkVSRURfT0JK
RUNUXSkgeworICAgIH0KKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJ
RF9HRVRfQU5EX0ZPUkdFVF9SRU1FTUJFUkVEX09CSkVDVF0pIHsKICAgICAgICAgYXNzZXJ0KHBs
dWdpbi0+cmVtZW1iZXJlZE9iamVjdCk7CiAgICAgICAgIE9CSkVDVF9UT19OUFZBUklBTlQocGx1
Z2luLT5yZW1lbWJlcmVkT2JqZWN0LCAqcmVzdWx0KTsKICAgICAgICAgcGx1Z2luLT5yZW1lbWJl
cmVkT2JqZWN0ID0gMDsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmIChuYW1l
ID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1JFRl9DT1VOVF0pIHsKKyAgICB9CisgICAg
aWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfUkVGX0NPVU5UXSkgewogICAg
ICAgICB1aW50MzJfdCByZWZDb3VudCA9IE5QVkFSSUFOVF9UT19PQkpFQ1QoYXJnc1swXSktPnJl
ZmVyZW5jZUNvdW50OwogICAgICAgICBJTlQzMl9UT19OUFZBUklBTlQocmVmQ291bnQsICpyZXN1
bHQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2lu
TWV0aG9kSWRlbnRpZmllcnNbSURfU0VUX1NUQVRVU10pCisgICAgfQorICAgIGlmIChuYW1lID09
IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1NFVF9TVEFUVVNdKQogICAgICAgICByZXR1cm4g
dGVzdFNldFN0YXR1cyhwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50LCByZXN1bHQpOwotICAgIGVsc2Ug
aWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbSURfUkVTSVpFX1RPXSkKKyAgICBp
ZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9SRVNJWkVfVE9dKQogICAgICAg
ICByZXR1cm4gdGVzdFJlc2l6ZVRvKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Ci0g
ICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9OT1JNQUxJWkVd
KQorICAgIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX05PUk1BTElaRV0p
CiAgICAgICAgIHJldHVybiBub3JtYWxpemVPdmVycmlkZShwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50
LCByZXN1bHQpOwotICAgIAorCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0xMDEwLDE0ICsx
MDM2LDE0IEBAIHZvaWQgaGFuZGxlQ2FsbGJhY2soUGx1Z2luT2JqZWN0KiBvYmplY3QsIGNvbnN0
IGNoYXIgKnVybCwgTlBSZWFzb24gcmVhc29uLCB2b2lkCiAKICAgICBOUFZhcmlhbnQgYXJnc1sy
XTsKIAotICAgIE5QT2JqZWN0ICp3aW5kb3dTY3JpcHRPYmplY3Q7CisgICAgTlBPYmplY3QqIHdp
bmRvd1NjcmlwdE9iamVjdDsKICAgICBicm93c2VyLT5nZXR2YWx1ZShvYmplY3QtPm5wcCwgTlBO
VldpbmRvd05QT2JqZWN0LCAmd2luZG93U2NyaXB0T2JqZWN0KTsKIAogICAgIE5QSWRlbnRpZmll
ciBjYWxsYmFja0lkZW50aWZpZXIgPSBub3RpZnlEYXRhOwogCiAgICAgSU5UMzJfVE9fTlBWQVJJ
QU5UKHJlYXNvbiwgYXJnc1swXSk7CiAKLSAgICBjaGFyICpzdHJIZHIgPSBOVUxMOworICAgIGNo
YXIqIHN0ckhkciA9IDA7CiAgICAgaWYgKG9iamVjdC0+Zmlyc3RVcmwgJiYgb2JqZWN0LT5maXJz
dEhlYWRlcnMgJiYgb2JqZWN0LT5sYXN0VXJsICYmIG9iamVjdC0+bGFzdEhlYWRlcnMpIHsKICAg
ICAgICAgLy8gRm9ybWF0IGV4cGVjdGVkIGJ5IEphdmFTY3JpcHQgdmFsaWRhdG9yOiBmb3VyIGZp
ZWxkcyBzZXBhcmF0ZWQgYnkgXG5cbjoKICAgICAgICAgLy8gRmlyc3QgVVJMOyBmaXJzdCBoZWFk
ZXIgYmxvY2s7IGxhc3QgVVJMOyBsYXN0IGhlYWRlciBibG9jay4KQEAgLTEwNDIsNyArMTA2OCw3
IEBAIHZvaWQgaGFuZGxlQ2FsbGJhY2soUGx1Z2luT2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIg
KnVybCwgTlBSZWFzb24gcmVhc29uLCB2b2lkCiAKIHZvaWQgbm90aWZ5U3RyZWFtKFBsdWdpbk9i
amVjdCogb2JqZWN0LCBjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKmhlYWRlcnMpCiB7Ci0g
ICAgaWYgKG9iamVjdC0+Zmlyc3RVcmwgPT0gTlVMTCkgeworICAgIGlmICghb2JqZWN0LT5maXJz
dFVybCkgewogICAgICAgICBpZiAodXJsKQogICAgICAgICAgICAgb2JqZWN0LT5maXJzdFVybCA9
IHN0cmR1cCh1cmwpOwogICAgICAgICBpZiAoaGVhZGVycykKQEAgLTEwNTAsOCArMTA3Niw4IEBA
IHZvaWQgbm90aWZ5U3RyZWFtKFBsdWdpbk9iamVjdCogb2JqZWN0LCBjb25zdCBjaGFyICp1cmws
IGNvbnN0IGNoYXIgKmhlYWRlcnMpCiAgICAgfSBlbHNlIHsKICAgICAgICAgZnJlZShvYmplY3Qt
Pmxhc3RVcmwpOwogICAgICAgICBmcmVlKG9iamVjdC0+bGFzdEhlYWRlcnMpOwotICAgICAgICBv
YmplY3QtPmxhc3RVcmwgPSAodXJsID8gc3RyZHVwKHVybCkgOiBOVUxMKTsKLSAgICAgICAgb2Jq
ZWN0LT5sYXN0SGVhZGVycyA9IChoZWFkZXJzID8gc3RyZHVwKGhlYWRlcnMpIDogTlVMTCk7Cisg
ICAgICAgIG9iamVjdC0+bGFzdFVybCA9ICh1cmwgPyBzdHJkdXAodXJsKSA6IDApOworICAgICAg
ICBvYmplY3QtPmxhc3RIZWFkZXJzID0gKGhlYWRlcnMgPyBzdHJkdXAoaGVhZGVycykgOiAwKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmplY3QuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmplY3QuaAppbmRleCA5OWQ1YmY2OWI1NWQzNmYy
ZjA0OGZlZDNjYTQ5N2NmNTA4NzUxYzY2Li5kZWY4YWQ4NjI1OTM5Zjg2NWIwMWU4YWMwY2YwMjRk
MzIzMzA1OGQ0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpbk9iamVjdC5oCkBAIC0yMyw2ICsyMyw5IEBACiAg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKICAqLwogCisjaWZuZGVmIFBsdWdpbk9iamVjdF9oCisjZGVmaW5lIFBs
dWdpbk9iamVjdF9oCisKICNpbmNsdWRlIDxXZWJLaXQvbnBmdW5jdGlvbnMuaD4KIAogI2lmIGRl
ZmluZWQoWFBfTUFDT1NYKQpAQCAtOTAsMyArOTMsNCBAQCBleHRlcm4gYm9vbCB0ZXN0V2luZG93
T3BlbihOUFAgbnBwKTsKIGV4dGVybiB2b2lkKiBjcmVhdGVDb3JlQW5pbWF0aW9uTGF5ZXIoKTsK
ICNlbmRpZgogCisjZW5kaWYgLy8gUGx1Z2luT2JqZWN0X2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>