<?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>61146</bug_id>
          
          <creation_ts>2011-05-19 14:39:41 -0700</creation_ts>
          <short_desc>Change RenderBlock hit testing to use IntPoint instead x,y pair</short_desc>
          <delta_ts>2011-05-23 15:15:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>406660</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-19 14:39:41 -0700</bug_when>
    <thetext>Change the hit testing code in RenderBlock to take an IntPoint instead of a pair of ints for the x,y position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406667</commentid>
    <comment_count>1</comment_count>
      <attachid>94120</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-19 14:45:30 -0700</bug_when>
    <thetext>Created attachment 94120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407533</commentid>
    <comment_count>2</comment_count>
      <attachid>94120</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-21 06:53:58 -0700</bug_when>
    <thetext>Comment on attachment 94120
Patch

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407536</commentid>
    <comment_count>3</comment_count>
      <attachid>94120</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 06:55:52 -0700</bug_when>
    <thetext>Comment on attachment 94120
Patch

Rejecting attachment 94120 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
p
Hunk #2 succeeded at 3909 with fuzz 1.
Hunk #7 FAILED at 4014.
1 out of 8 hunks FAILED -- saving rejects to file Source/WebCore/rendering/RenderBlock.cpp.rej
patching file Source/WebCore/rendering/RenderBlock.h
Hunk #1 succeeded at 584 (offset 11 lines).
patching file Source/WebCore/rendering/RenderListBox.cpp
patching file Source/WebCore/rendering/RenderListBox.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Eric Seidel&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8716909</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408134</commentid>
    <comment_count>4</comment_count>
      <attachid>94454</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-23 12:16:35 -0700</bug_when>
    <thetext>Created attachment 94454
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408375</commentid>
    <comment_count>5</comment_count>
      <attachid>94454</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-23 15:15:30 -0700</bug_when>
    <thetext>Comment on attachment 94454
Patch for landing

Clearing flags on attachment: 94454

Committed r87101: &lt;http://trac.webkit.org/changeset/87101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408376</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-23 15:15:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94120</attachid>
            <date>2011-05-19 14:45:30 -0700</date>
            <delta_ts>2011-05-23 12:16:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61146-20110519144529.patch</filename>
            <type>text/plain</type>
            <size>12959</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2ODg4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDUtMTkgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENoYW5nZSBSZW5kZXJCbG9jayBoaXQgdGVzdGluZyB0byB1c2Ug
SW50UG9pbnQgaW5zdGVhZCB4LHkgcGFpcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjExNDYKKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvU2l6ZSk6CisgICAgICAgIEFkZCB0b1NpemUgZnVuY3Rpb24gZm9yIGNvbnZl
cnRpbmcgZnJvbSBwb2ludCB0byBzaXplLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjppc1BvaW50SW5PdmVyZmxv
d0NvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoaXRUZXN0RmxvYXRzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoaXRUZXN0Q29sdW1ucyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6aGl0VGVzdENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaDoKKyAgICAgICAgQ2hhbmdlIGhpdCB0ZXN0aW5nIGNvZGUgaW4gUmVuZGVyQmxv
Y2sgdG8gdXNlIEludFBvaW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dD
b250cm9sKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oOgorICAgICAgICBD
aGFuZ2Ugb3ZlcnJpZGRlbiBtZXRob2QgdG8gdXNlIEludFBvaW50LgorCiAyMDExLTA1LTE5ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByODY4NjksIHI4Njg3Mywgcjg2ODc1LCBhbmQgcjg2ODc3LgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCShyZXZp
c2lvbiA4NjcyNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw2ICsyMDUsMTEgQEAgaW5saW5lIEludFBvaW50IHRv
UG9pbnQoY29uc3QgSW50U2l6ZSYgcwogICAgIHJldHVybiBJbnRQb2ludChzaXplLndpZHRoKCks
IHNpemUuaGVpZ2h0KCkpOwogfQogCitpbmxpbmUgSW50U2l6ZSB0b1NpemUoY29uc3QgSW50UG9p
bnQmIGEpCit7CisgICAgcmV0dXJuIEludFNpemUoYS54KCksIGEueSgpKTsKK30KKwogI2lmIFBM
QVRGT1JNKFFUKQogaW5saW5lIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8KFFEYXRhU3RyZWFtJiBz
dHJlYW0sIGNvbnN0IEludFBvaW50JiBwb2ludCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gODY3MjYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODg5LDEyICsz
ODg5LDEyIEBAIGludCBSZW5kZXJCbG9jazo6Z2V0Q2xlYXJEZWx0YShSZW5kZXJCb3gKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIFJlbmRlckJsb2NrOjppc1BvaW50SW5PdmVyZmxvd0Nv
bnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgX3gsIGludCBfeSwgaW50IF90eCwgaW50
IF90eSkKK2Jvb2wgUmVuZGVyQmxvY2s6OmlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0
UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBpbnQgdHgs
IGludCB0eSkKIHsKICAgICBpZiAoIXNjcm9sbHNPdmVyZmxvdygpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICByZXR1cm4gbGF5ZXIoKS0+aGl0VGVzdE92ZXJmbG93Q29udHJvbHMocmVz
dWx0LCBJbnRQb2ludChfeCAtIF90eCwgX3kgLSBfdHkpKTsKKyAgICByZXR1cm4gbGF5ZXIoKS0+
aGl0VGVzdE92ZXJmbG93Q29udHJvbHMocmVzdWx0LCBwb2ludEluQ29udGFpbmVyIC0gSW50U2l6
ZSh0eCwgdHkpKTsKIH0KIAogYm9vbCBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQoY29uc3QgSGl0
VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9p
bnQmIHBvaW50SW5Db250YWluZXIsIGludCB0eCwgaW50IHR5LCBIaXRUZXN0QWN0aW9uIGhpdFRl
c3RBY3Rpb24pCkBAIC0zOTA5LDcgKzM5MDksNyBAQCBib29sIFJlbmRlckJsb2NrOjpub2RlQXRQ
b2ludChjb25zdCBIaXRUCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
aWYgKChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RCbG9ja0JhY2tncm91bmQgfHwgaGl0VGVzdEFj
dGlvbiA9PSBIaXRUZXN0Q2hpbGRCbG9ja0JhY2tncm91bmQpICYmIGlzUG9pbnRJbk92ZXJmbG93
Q29udHJvbChyZXN1bHQsIHBvaW50SW5Db250YWluZXIueCgpLCBwb2ludEluQ29udGFpbmVyLnko
KSwgbG9jYWxPZmZzZXQud2lkdGgoKSwgbG9jYWxPZmZzZXQuaGVpZ2h0KCkpKSB7CisgICAgaWYg
KChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RCbG9ja0JhY2tncm91bmQgfHwgaGl0VGVzdEFjdGlv
biA9PSBIaXRUZXN0Q2hpbGRCbG9ja0JhY2tncm91bmQpICYmIGlzUG9pbnRJbk92ZXJmbG93Q29u
dHJvbChyZXN1bHQsIHBvaW50SW5Db250YWluZXIsIGxvY2FsT2Zmc2V0LndpZHRoKCksIGxvY2Fs
T2Zmc2V0LmhlaWdodCgpKSkgewogICAgICAgICB1cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwg
cG9pbnRJbkNvbnRhaW5lciAtIGxvY2FsT2Zmc2V0KTsKICAgICAgICAgLy8gRklYTUU6IGlzUG9p
bnRJbk92ZXJmbG93Q29udHJvbCgpIGRvZXNuJ3QgaGFuZGxlIHJlY3QtYmFzZWQgdGVzdHMgeWV0
LgogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KG5vZGUo
KSwgcG9pbnRJbkNvbnRhaW5lci54KCksIHBvaW50SW5Db250YWluZXIueSgpKSkKQEAgLTM5MzAs
MTMgKzM5MzAsMTMgQEAgYm9vbCBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VAog
CiAgICAgICAgIC8vIEhpdCB0ZXN0IGNvbnRlbnRzIGlmIHdlIGRvbid0IGhhdmUgY29sdW1ucy4K
ICAgICAgICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgICAgIGlmIChoaXRUZXN0Q29u
dGVudHMocmVxdWVzdCwgcmVzdWx0LCBwb2ludEluQ29udGFpbmVyLngoKSwgcG9pbnRJbkNvbnRh
aW5lci55KCksIHNjcm9sbGVkT2Zmc2V0LndpZHRoKCksIHNjcm9sbGVkT2Zmc2V0LmhlaWdodCgp
LCBoaXRUZXN0QWN0aW9uKSkgeworICAgICAgICAgICAgaWYgKGhpdFRlc3RDb250ZW50cyhyZXF1
ZXN0LCByZXN1bHQsIHBvaW50SW5Db250YWluZXIsIHNjcm9sbGVkT2Zmc2V0LndpZHRoKCksIHNj
cm9sbGVkT2Zmc2V0LmhlaWdodCgpLCBoaXRUZXN0QWN0aW9uKSkgewogICAgICAgICAgICAgICAg
IHVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBwb2ludEluQ29udGFpbmVyIC0gbG9jYWxPZmZz
ZXQpOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKGhpdFRlc3RBY3Rpb24gPT0gSGl0VGVzdEZsb2F0ICYmIGhpdFRlc3RGbG9hdHMo
cmVxdWVzdCwgcmVzdWx0LCBwb2ludEluQ29udGFpbmVyLngoKSwgcG9pbnRJbkNvbnRhaW5lci55
KCksIHNjcm9sbGVkT2Zmc2V0LndpZHRoKCksIHNjcm9sbGVkT2Zmc2V0LmhlaWdodCgpKSkKKyAg
ICAgICAgICAgIGlmIChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RGbG9hdCAmJiBoaXRUZXN0Rmxv
YXRzKHJlcXVlc3QsIHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lciwgc2Nyb2xsZWRPZmZzZXQud2lk
dGgoKSwgc2Nyb2xsZWRPZmZzZXQuaGVpZ2h0KCkpKQogICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICB9IGVsc2UgaWYgKGhpdFRlc3RDb2x1bW5zKHJlcXVlc3QsIHJlc3VsdCwg
cG9pbnRJbkNvbnRhaW5lci54KCksIHBvaW50SW5Db250YWluZXIueSgpLCBzY3JvbGxlZE9mZnNl
dC53aWR0aCgpLCBzY3JvbGxlZE9mZnNldC5oZWlnaHQoKSwgaGl0VGVzdEFjdGlvbikpIHsKKyAg
ICAgICAgfSBlbHNlIGlmIChoaXRUZXN0Q29sdW1ucyhyZXF1ZXN0LCByZXN1bHQsIHBvaW50SW5D
b250YWluZXIsIHNjcm9sbGVkT2Zmc2V0LndpZHRoKCksIHNjcm9sbGVkT2Zmc2V0LmhlaWdodCgp
LCBoaXRUZXN0QWN0aW9uKSkgewogICAgICAgICAgICAgdXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1
bHQsIHBvaW50SW5Db250YWluZXIgLSBsb2NhbE9mZnNldCk7CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgfQpAQCAtMzk1NSw3ICszOTU1LDcgQEAgYm9vbCBSZW5kZXJCbG9jazo6
bm9kZUF0UG9pbnQoY29uc3QgSGl0VAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSZW5k
ZXJCbG9jazo6aGl0VGVzdEZsb2F0cyhjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0
VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgeCwgaW50IHksIGludCB0eCwgaW50IHR5KQorYm9vbCBS
ZW5kZXJCbG9jazo6aGl0VGVzdEZsb2F0cyhjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwg
SGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwg
aW50IHR4LCBpbnQgdHkpCiB7CiAgICAgaWYgKCFtX2Zsb2F0aW5nT2JqZWN0cykKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMzk3NCw4ICszOTc0LDggQEAgYm9vbCBSZW5kZXJCbG9jazo6aGl0
VGVzdEZsb2F0cyhjb25zdCBIaQogICAgICAgICAgICAgaW50IHhPZmZzZXQgPSB4UG9zaXRpb25G
b3JGbG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdCkgLSBmbG9hdGluZ09iamVjdC0+
bV9yZW5kZXJlci0+eCgpOwogICAgICAgICAgICAgaW50IHlPZmZzZXQgPSB5UG9zaXRpb25Gb3JG
bG9hdEluY2x1ZGluZ01hcmdpbihmbG9hdGluZ09iamVjdCkgLSBmbG9hdGluZ09iamVjdC0+bV9y
ZW5kZXJlci0+eSgpOwogICAgICAgICAgICAgSW50UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGbG9h
dEZvcldyaXRpbmdNb2RlKGZsb2F0aW5nT2JqZWN0LCBJbnRQb2ludCh0eCArIHhPZmZzZXQsIHR5
ICsgeU9mZnNldCkpOwotICAgICAgICAgICAgaWYgKGZsb2F0aW5nT2JqZWN0LT5tX3JlbmRlcmVy
LT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCwgSW50UG9pbnQoeCwgeSksIGNoaWxkUG9pbnQueCgp
LCBjaGlsZFBvaW50LnkoKSkpIHsKLSAgICAgICAgICAgICAgICB1cGRhdGVIaXRUZXN0UmVzdWx0
KHJlc3VsdCwgSW50UG9pbnQoeCAtIGNoaWxkUG9pbnQueCgpLCB5IC0gY2hpbGRQb2ludC55KCkp
KTsKKyAgICAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+bV9yZW5kZXJlci0+aGl0VGVzdChy
ZXF1ZXN0LCByZXN1bHQsIHBvaW50SW5Db250YWluZXIsIGNoaWxkUG9pbnQueCgpLCBjaGlsZFBv
aW50LnkoKSkpIHsKKyAgICAgICAgICAgICAgICB1cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwg
cG9pbnRJbkNvbnRhaW5lciAtIHRvU2l6ZShjaGlsZFBvaW50KSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTM5ODQsNyArMzk4NCw3
IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmhpdFRlc3RGbG9hdHMoY29uc3QgSGkKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgUmVuZGVyQmxvY2s6OmhpdFRlc3RDb2x1bW5zKGNvbnN0IEhpdFRl
c3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGludCB4LCBpbnQgeSwg
aW50IHR4LCBpbnQgdHksIEhpdFRlc3RBY3Rpb24gaGl0VGVzdEFjdGlvbikKK2Jvb2wgUmVuZGVy
QmxvY2s6OmhpdFRlc3RDb2x1bW5zKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRU
ZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBpbnQg
dHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQogewogICAgIC8vIFdlIG5l
ZWQgdG8gZG8gbXVsdGlwbGUgcGFzc2VzLCBicmVha2luZyB1cCBvdXIgaGl0IHRlc3RpbmcgaW50
byBzdHJpcHMuCiAgICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKQEAgLTQw
MTQsMjggKzQwMTQsMjggQEAgYm9vbCBSZW5kZXJCbG9jazo6aGl0VGVzdENvbHVtbnMoY29uc3Qg
SAogICAgICAgICAgICAgY3VyckxvZ2ljYWxUb3BPZmZzZXQgKz0gYmxvY2tEZWx0YTsKICAgICAg
ICAgY29sUmVjdC5tb3ZlKHR4LCB0eSk7CiAgICAgICAgIAotICAgICAgICBpZiAoY29sUmVjdC5p
bnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CisgICAgICAgIGlmIChjb2xS
ZWN0LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2ludChwb2ludEluQ29udGFpbmVyKSkpIHsK
ICAgICAgICAgICAgIC8vIFRoZSBwb2ludCBpcyBpbnNpZGUgdGhpcyBjb2x1bW4uCiAgICAgICAg
ICAgICAvLyBBZGp1c3QgdHggYW5kIHR5IHRvIGNoYW5nZSB3aGVyZSB3ZSBoaXQgdGVzdC4KICAg
ICAgICAgCiAgICAgICAgICAgICBJbnRTaXplIG9mZnNldCA9IGlzSG9yaXpvbnRhbCA/IEludFNp
emUoY3VyckxvZ2ljYWxMZWZ0T2Zmc2V0LCBjdXJyTG9naWNhbFRvcE9mZnNldCkgOiBJbnRTaXpl
KGN1cnJMb2dpY2FsVG9wT2Zmc2V0LCBjdXJyTG9naWNhbExlZnRPZmZzZXQpOwogICAgICAgICAg
ICAgaW50IGZpbmFsWCA9IHR4ICsgb2Zmc2V0LndpZHRoKCk7CiAgICAgICAgICAgICBpbnQgZmlu
YWxZID0gdHkgKyBvZmZzZXQuaGVpZ2h0KCk7Ci0gICAgICAgICAgICBpZiAocmVzdWx0LmlzUmVj
dEJhc2VkVGVzdCgpICYmICFjb2xSZWN0LmNvbnRhaW5zKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwg
eSkpKQotICAgICAgICAgICAgICAgIGhpdFRlc3RDb250ZW50cyhyZXF1ZXN0LCByZXN1bHQsIHgs
IHksIGZpbmFsWCwgZmluYWxZLCBoaXRUZXN0QWN0aW9uKTsKKyAgICAgICAgICAgIGlmIChyZXN1
bHQuaXNSZWN0QmFzZWRUZXN0KCkgJiYgIWNvbFJlY3QuY29udGFpbnMocmVzdWx0LnJlY3RGb3JQ
b2ludChwb2ludEluQ29udGFpbmVyKSkpCisgICAgICAgICAgICAgICAgaGl0VGVzdENvbnRlbnRz
KHJlcXVlc3QsIHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lciwgZmluYWxYLCBmaW5hbFksIGhpdFRl
c3RBY3Rpb24pOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBoaXRU
ZXN0Q29udGVudHMocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCBmaW5hbFgsIGZpbmFsWSwgaGl0VGVz
dEFjdGlvbikgfHwgKGhpdFRlc3RBY3Rpb24gPT0gSGl0VGVzdEZsb2F0ICYmIGhpdFRlc3RGbG9h
dHMocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCBmaW5hbFgsIGZpbmFsWSkpOworICAgICAgICAgICAg
ICAgIHJldHVybiBoaXRUZXN0Q29udGVudHMocmVxdWVzdCwgcmVzdWx0LCBwb2ludEluQ29udGFp
bmVyLCBmaW5hbFgsIGZpbmFsWSwgaGl0VGVzdEFjdGlvbikgfHwgKGhpdFRlc3RBY3Rpb24gPT0g
SGl0VGVzdEZsb2F0ICYmIGhpdFRlc3RGbG9hdHMocmVxdWVzdCwgcmVzdWx0LCBwb2ludEluQ29u
dGFpbmVyLCBmaW5hbFgsIGZpbmFsWSkpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCi1ib29sIFJlbmRlckJsb2NrOjpoaXRUZXN0Q29udGVudHMoY29uc3QgSGl0
VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgaW50IHgsIGludCB5
LCBpbnQgdHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQorYm9vbCBSZW5k
ZXJCbG9jazo6aGl0VGVzdENvbnRlbnRzKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBI
aXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBp
bnQgdHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQogewogICAgIGlmIChj
aGlsZHJlbklubGluZSgpICYmICFpc1RhYmxlKCkpIHsKICAgICAgICAgLy8gV2UgaGF2ZSB0byBo
aXQtdGVzdCBvdXIgbGluZSBib3hlcy4KLSAgICAgICAgaWYgKG1fbGluZUJveGVzLmhpdFRlc3Qo
dGhpcywgcmVxdWVzdCwgcmVzdWx0LCB4LCB5LCB0eCwgdHksIGhpdFRlc3RBY3Rpb24pKQorICAg
ICAgICBpZiAobV9saW5lQm94ZXMuaGl0VGVzdCh0aGlzLCByZXF1ZXN0LCByZXN1bHQsIHBvaW50
SW5Db250YWluZXIueCgpLCBwb2ludEluQ29udGFpbmVyLnkoKSwgdHgsIHR5LCBoaXRUZXN0QWN0
aW9uKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8v
IEhpdCB0ZXN0IG91ciBjaGlsZHJlbi4KQEAgLTQwNDQsNyArNDA0NCw3IEBAIGJvb2wgUmVuZGVy
QmxvY2s6OmhpdFRlc3RDb250ZW50cyhjb25zdCAKICAgICAgICAgICAgIGNoaWxkSGl0VGVzdCA9
IEhpdFRlc3RDaGlsZEJsb2NrQmFja2dyb3VuZDsKICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNo
aWxkID0gbGFzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5wcmV2aW91c1NpYmxp
bmdCb3goKSkgewogICAgICAgICAgICAgSW50UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGb3JXcml0
aW5nTW9kZShjaGlsZCwgSW50UG9pbnQodHgsIHR5KSwgUGFyZW50VG9DaGlsZEZsaXBwaW5nQWRq
dXN0bWVudCk7Ci0gICAgICAgICAgICBpZiAoIWNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigp
ICYmICFjaGlsZC0+aXNGbG9hdGluZygpICYmIGNoaWxkLT5ub2RlQXRQb2ludChyZXF1ZXN0LCBy
ZXN1bHQsIEludFBvaW50KHgsIHkpLCBjaGlsZFBvaW50LngoKSwgY2hpbGRQb2ludC55KCksIGNo
aWxkSGl0VGVzdCkpCisgICAgICAgICAgICBpZiAoIWNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXll
cigpICYmICFjaGlsZC0+aXNGbG9hdGluZygpICYmIGNoaWxkLT5ub2RlQXRQb2ludChyZXF1ZXN0
LCByZXN1bHQsIHBvaW50SW5Db250YWluZXIsIGNoaWxkUG9pbnQueCgpLCBjaGlsZFBvaW50Lnko
KSwgY2hpbGRIaXRUZXN0KSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
fQogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZp
c2lvbiA4NjcyNikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3
b3JraW5nIGNvcHkpCkBAIC01NzMsMTEgKzU3MywxMSBAQCBwcml2YXRlOgogICAgIGludCBsb3dl
c3RGbG9hdExvZ2ljYWxCb3R0b20oRmxvYXRpbmdPYmplY3Q6OlR5cGUgPSBGbG9hdGluZ09iamVj
dDo6RmxvYXRCb3RoKSBjb25zdDsKICAgICBpbnQgbmV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93
KGludCkgY29uc3Q7CiAgICAgCi0gICAgdmlydHVhbCBib29sIGhpdFRlc3RDb2x1bW5zKGNvbnN0
IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGludCB4LCBpbnQgeSwgaW50IHR4LCBp
bnQgdHksIEhpdFRlc3RBY3Rpb24pOwotICAgIHZpcnR1YWwgYm9vbCBoaXRUZXN0Q29udGVudHMo
Y29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgaW50IHgsIGludCB5LCBpbnQg
dHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbik7Ci0gICAgYm9vbCBoaXRUZXN0RmxvYXRzKGNvbnN0
IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGludCB4LCBpbnQgeSwgaW50IHR4LCBp
bnQgdHkpOworICAgIHZpcnR1YWwgYm9vbCBoaXRUZXN0Q29sdW1ucyhjb25zdCBIaXRUZXN0UmVx
dWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwg
aW50IHR4LCBpbnQgdHksIEhpdFRlc3RBY3Rpb24pOworICAgIHZpcnR1YWwgYm9vbCBoaXRUZXN0
Q29udGVudHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSW50
UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGludCB0eCwgaW50IHR5LCBIaXRUZXN0QWN0aW9uKTsK
KyAgICBib29sIGhpdFRlc3RGbG9hdHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVz
dWx0JiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGludCB0eCwgaW50IHR5KTsK
IAotICAgIHZpcnR1YWwgYm9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3Vs
dCYsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQgdHkpOworICAgIHZpcnR1YWwgYm9vbCBpc1Bv
aW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBwb2lu
dEluQ29udGFpbmVyLCBpbnQgdHgsIGludCB0eSk7CiAKICAgICB2b2lkIGNvbXB1dGVJbmxpbmVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7CiAgICAgdm9pZCBjb21wdXRlQmxvY2tQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwCShyZXZpc2lvbiA4NjcyNikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM0LDE3ICs0MzQsMTcgQEAgdm9p
ZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1CYWNrZ3JvdW5kKAogICAgIH0KIH0KIAotYm9vbCBS
ZW5kZXJMaXN0Qm94Ojppc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVz
dWx0LCBpbnQgX3gsIGludCBfeSwgaW50IF90eCwgaW50IF90eSkKK2Jvb2wgUmVuZGVyTGlzdEJv
eDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3Qg
SW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGludCB0eCwgaW50IHR5KQogewogICAgIGlmICgh
bV92QmFyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBJbnRSZWN0IHZlcnRSZWN0KF90
eCArIHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgpLAotICAgICAgICAg
ICAgICAgICAgICAgX3R5ICsgYm9yZGVyVG9wKCksCisgICAgSW50UmVjdCB2ZXJ0UmVjdCh0eCAr
IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgpLAorICAgICAgICAgICAg
ICAgICAgICAgdHkgKyBib3JkZXJUb3AoKSwKICAgICAgICAgICAgICAgICAgICAgIG1fdkJhci0+
d2lkdGgoKSwKICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBi
b3JkZXJCb3R0b20oKSk7CiAKLSAgICBpZiAodmVydFJlY3QuY29udGFpbnMoX3gsIF95KSkgewor
ICAgIGlmICh2ZXJ0UmVjdC5jb250YWlucyhwb2ludEluQ29udGFpbmVyKSkgewogICAgICAgICBy
ZXN1bHQuc2V0U2Nyb2xsYmFyKG1fdkJhci5nZXQoKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAkocmV2
aXNpb24gODY3MjYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFs
IEludFJlY3QgY29udHJvbENsaXBSZWN0KGludCB0eCwgaW50IHR5KSBjb25zdDsKIAotICAgIHZp
cnR1YWwgYm9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGludCB4
LCBpbnQgeSwgaW50IHR4LCBpbnQgdHkpOworICAgIHZpcnR1YWwgYm9vbCBpc1BvaW50SW5PdmVy
Zmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFp
bmVyLCBpbnQgdHgsIGludCB0eSk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbERp
cmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBOb2RlKiog
c3RvcE5vZGUgPSAwKTsKICAgICB2aXJ0dWFsIGJvb2wgbG9naWNhbFNjcm9sbChTY3JvbGxMb2dp
Y2FsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIE5v
ZGUqKiBzdG9wTm9kZSA9IDApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94454</attachid>
            <date>2011-05-23 12:16:35 -0700</date>
            <delta_ts>2011-05-23 15:15:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-61146-20110523121634.patch</filename>
            <type>text/plain</type>
            <size>12892</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MDgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDUtMjMgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgorCisgICAgICAgIENoYW5nZSBSZW5kZXJCbG9jayBoaXQgdGVzdGluZyB0byB1c2UgSW50
UG9pbnQgaW5zdGVhZCB4LHkgcGFpcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjExNDYKKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvU2l6ZSk6CisgICAgICAgIEFkZCB0b1NpemUgZnVuY3Rpb24gZm9yIGNvbnZlcnRp
bmcgZnJvbSBwb2ludCB0byBzaXplLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjppc1BvaW50SW5PdmVyZmxvd0Nv
bnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoaXRUZXN0RmxvYXRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpoaXRUZXN0Q29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6aGl0VGVzdENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2suaDoKKyAgICAgICAgQ2hhbmdlIGhpdCB0ZXN0aW5nIGNvZGUgaW4gUmVuZGVyQmxvY2sg
dG8gdXNlIEludFBvaW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250
cm9sKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oOgorICAgICAgICBDaGFu
Z2Ugb3ZlcnJpZGRlbiBtZXRob2QgdG8gdXNlIEludFBvaW50LgorCiAyMDExLTA1LTIwICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVucmlj
YSBDYXN1Y2NpLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9p
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQ
b2ludC5oCShyZXZpc2lvbiA4NzA4MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ludFBvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw2ICsyMDUsMTEgQEAgaW5saW5l
IEludFBvaW50IHRvUG9pbnQoY29uc3QgSW50U2l6ZSYgcwogICAgIHJldHVybiBJbnRQb2ludChz
aXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpOwogfQogCitpbmxpbmUgSW50U2l6ZSB0b1NpemUo
Y29uc3QgSW50UG9pbnQmIGEpCit7CisgICAgcmV0dXJuIEludFNpemUoYS54KCksIGEueSgpKTsK
K30KKwogI2lmIFBMQVRGT1JNKFFUKQogaW5saW5lIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8KFFE
YXRhU3RyZWFtJiBzdHJlYW0sIGNvbnN0IEludFBvaW50JiBwb2ludCkKIHsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gODcwODIpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zODg5LDEyICszODg5LDEyIEBAIGludCBSZW5kZXJCbG9jazo6Z2V0Q2xlYXJEZWx0YShSZW5k
ZXJCb3gKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIFJlbmRlckJsb2NrOjppc1BvaW50
SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgX3gsIGludCBfeSwg
aW50IF90eCwgaW50IF90eSkKK2Jvb2wgUmVuZGVyQmxvY2s6OmlzUG9pbnRJbk92ZXJmbG93Q29u
dHJvbChIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFp
bmVyLCBpbnQgdHgsIGludCB0eSkKIHsKICAgICBpZiAoIXNjcm9sbHNPdmVyZmxvdygpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gbGF5ZXIoKS0+aGl0VGVzdE92ZXJmbG93
Q29udHJvbHMocmVzdWx0LCBJbnRQb2ludChfeCAtIF90eCwgX3kgLSBfdHkpKTsKKyAgICByZXR1
cm4gbGF5ZXIoKS0+aGl0VGVzdE92ZXJmbG93Q29udHJvbHMocmVzdWx0LCBwb2ludEluQ29udGFp
bmVyIC0gSW50U2l6ZSh0eCwgdHkpKTsKIH0KIAogYm9vbCBSZW5kZXJCbG9jazo6bm9kZUF0UG9p
bnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwg
Y29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGludCB0eCwgaW50IHR5LCBIaXRUZXN0
QWN0aW9uIGhpdFRlc3RBY3Rpb24pCkBAIC0zOTA5LDcgKzM5MDksNyBAQCBib29sIFJlbmRlckJs
b2NrOjpub2RlQXRQb2ludChjb25zdCBIaXRUCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogCi0gICAgaWYgKChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RCbG9ja0JhY2tncm91bmQg
fHwgaGl0VGVzdEFjdGlvbiA9PSBIaXRUZXN0Q2hpbGRCbG9ja0JhY2tncm91bmQpICYmIGlzUG9p
bnRJbk92ZXJmbG93Q29udHJvbChyZXN1bHQsIHBvaW50SW5Db250YWluZXIueCgpLCBwb2ludElu
Q29udGFpbmVyLnkoKSwgbG9jYWxPZmZzZXQud2lkdGgoKSwgbG9jYWxPZmZzZXQuaGVpZ2h0KCkp
KSB7CisgICAgaWYgKChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RCbG9ja0JhY2tncm91bmQgfHwg
aGl0VGVzdEFjdGlvbiA9PSBIaXRUZXN0Q2hpbGRCbG9ja0JhY2tncm91bmQpICYmIGlzUG9pbnRJ
bk92ZXJmbG93Q29udHJvbChyZXN1bHQsIHBvaW50SW5Db250YWluZXIsIGxvY2FsT2Zmc2V0Lndp
ZHRoKCksIGxvY2FsT2Zmc2V0LmhlaWdodCgpKSkgewogICAgICAgICB1cGRhdGVIaXRUZXN0UmVz
dWx0KHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lciAtIGxvY2FsT2Zmc2V0KTsKICAgICAgICAgLy8g
RklYTUU6IGlzUG9pbnRJbk92ZXJmbG93Q29udHJvbCgpIGRvZXNuJ3QgaGFuZGxlIHJlY3QtYmFz
ZWQgdGVzdHMgeWV0LgogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0
UmVzdWx0KG5vZGUoKSwgcG9pbnRJbkNvbnRhaW5lcikpCkBAIC0zOTMwLDEzICszOTMwLDEzIEBA
IGJvb2wgUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFQKIAogICAgICAgICAvLyBI
aXQgdGVzdCBjb250ZW50cyBpZiB3ZSBkb24ndCBoYXZlIGNvbHVtbnMuCiAgICAgICAgIGlmICgh
aGFzQ29sdW1ucygpKSB7Ci0gICAgICAgICAgICBpZiAoaGl0VGVzdENvbnRlbnRzKHJlcXVlc3Qs
IHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lci54KCksIHBvaW50SW5Db250YWluZXIueSgpLCBzY3Jv
bGxlZE9mZnNldC53aWR0aCgpLCBzY3JvbGxlZE9mZnNldC5oZWlnaHQoKSwgaGl0VGVzdEFjdGlv
bikpIHsKKyAgICAgICAgICAgIGlmIChoaXRUZXN0Q29udGVudHMocmVxdWVzdCwgcmVzdWx0LCBw
b2ludEluQ29udGFpbmVyLCBzY3JvbGxlZE9mZnNldC53aWR0aCgpLCBzY3JvbGxlZE9mZnNldC5o
ZWlnaHQoKSwgaGl0VGVzdEFjdGlvbikpIHsKICAgICAgICAgICAgICAgICB1cGRhdGVIaXRUZXN0
UmVzdWx0KHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lciAtIGxvY2FsT2Zmc2V0KTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChoaXRU
ZXN0QWN0aW9uID09IEhpdFRlc3RGbG9hdCAmJiBoaXRUZXN0RmxvYXRzKHJlcXVlc3QsIHJlc3Vs
dCwgcG9pbnRJbkNvbnRhaW5lci54KCksIHBvaW50SW5Db250YWluZXIueSgpLCBzY3JvbGxlZE9m
ZnNldC53aWR0aCgpLCBzY3JvbGxlZE9mZnNldC5oZWlnaHQoKSkpCisgICAgICAgICAgICBpZiAo
aGl0VGVzdEFjdGlvbiA9PSBIaXRUZXN0RmxvYXQgJiYgaGl0VGVzdEZsb2F0cyhyZXF1ZXN0LCBy
ZXN1bHQsIHBvaW50SW5Db250YWluZXIsIHNjcm9sbGVkT2Zmc2V0LndpZHRoKCksIHNjcm9sbGVk
T2Zmc2V0LmhlaWdodCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
fSBlbHNlIGlmIChoaXRUZXN0Q29sdW1ucyhyZXF1ZXN0LCByZXN1bHQsIHBvaW50SW5Db250YWlu
ZXIueCgpLCBwb2ludEluQ29udGFpbmVyLnkoKSwgc2Nyb2xsZWRPZmZzZXQud2lkdGgoKSwgc2Ny
b2xsZWRPZmZzZXQuaGVpZ2h0KCksIGhpdFRlc3RBY3Rpb24pKSB7CisgICAgICAgIH0gZWxzZSBp
ZiAoaGl0VGVzdENvbHVtbnMocmVxdWVzdCwgcmVzdWx0LCBwb2ludEluQ29udGFpbmVyLCBzY3Jv
bGxlZE9mZnNldC53aWR0aCgpLCBzY3JvbGxlZE9mZnNldC5oZWlnaHQoKSwgaGl0VGVzdEFjdGlv
bikpIHsKICAgICAgICAgICAgIHVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBwb2ludEluQ29u
dGFpbmVyIC0gbG9jYWxPZmZzZXQpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KQEAgLTM5NTUsNyArMzk1NSw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KGNv
bnN0IEhpdFQKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgUmVuZGVyQmxvY2s6OmhpdFRl
c3RGbG9hdHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJl
c3VsdCwgaW50IHgsIGludCB5LCBpbnQgdHgsIGludCB0eSkKK2Jvb2wgUmVuZGVyQmxvY2s6Omhp
dFRlc3RGbG9hdHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQm
IHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGludCB0eCwgaW50IHR5
KQogewogICAgIGlmICghbV9mbG9hdGluZ09iamVjdHMpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
QEAgLTM5NzQsOCArMzk3NCw4IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmhpdFRlc3RGbG9hdHMoY29u
c3QgSGkKICAgICAgICAgICAgIGludCB4T2Zmc2V0ID0geFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRp
bmdNYXJnaW4oZmxvYXRpbmdPYmplY3QpIC0gZmxvYXRpbmdPYmplY3QtPm1fcmVuZGVyZXItPngo
KTsKICAgICAgICAgICAgIGludCB5T2Zmc2V0ID0geVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdN
YXJnaW4oZmxvYXRpbmdPYmplY3QpIC0gZmxvYXRpbmdPYmplY3QtPm1fcmVuZGVyZXItPnkoKTsK
ICAgICAgICAgICAgIEludFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRmxvYXRGb3JXcml0aW5nTW9k
ZShmbG9hdGluZ09iamVjdCwgSW50UG9pbnQodHggKyB4T2Zmc2V0LCB0eSArIHlPZmZzZXQpKTsK
LSAgICAgICAgICAgIGlmIChmbG9hdGluZ09iamVjdC0+bV9yZW5kZXJlci0+aGl0VGVzdChyZXF1
ZXN0LCByZXN1bHQsIEludFBvaW50KHgsIHkpLCBjaGlsZFBvaW50LngoKSwgY2hpbGRQb2ludC55
KCkpKSB7Ci0gICAgICAgICAgICAgICAgdXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIEludFBv
aW50KHggLSBjaGlsZFBvaW50LngoKSwgeSAtIGNoaWxkUG9pbnQueSgpKSk7CisgICAgICAgICAg
ICBpZiAoZmxvYXRpbmdPYmplY3QtPm1fcmVuZGVyZXItPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0
LCBwb2ludEluQ29udGFpbmVyLCBjaGlsZFBvaW50LngoKSwgY2hpbGRQb2ludC55KCkpKSB7Cisg
ICAgICAgICAgICAgICAgdXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIHBvaW50SW5Db250YWlu
ZXIgLSB0b1NpemUoY2hpbGRQb2ludCkpOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zOTg0LDcgKzM5ODQsNyBAQCBib29sIFJlbmRl
ckJsb2NrOjpoaXRUZXN0RmxvYXRzKGNvbnN0IEhpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1i
b29sIFJlbmRlckJsb2NrOjpoaXRUZXN0Q29sdW1ucyhjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVx
dWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgeCwgaW50IHksIGludCB0eCwgaW50IHR5
LCBIaXRUZXN0QWN0aW9uIGhpdFRlc3RBY3Rpb24pCitib29sIFJlbmRlckJsb2NrOjpoaXRUZXN0
Q29sdW1ucyhjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVz
dWx0LCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgaW50IHR4LCBpbnQgdHksIEhp
dFRlc3RBY3Rpb24gaGl0VGVzdEFjdGlvbikKIHsKICAgICAvLyBXZSBuZWVkIHRvIGRvIG11bHRp
cGxlIHBhc3NlcywgYnJlYWtpbmcgdXAgb3VyIGhpdCB0ZXN0aW5nIGludG8gc3RyaXBzLgogICAg
IENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7CkBAIC00MDE0LDI4ICs0MDE0LDI4
IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmhpdFRlc3RDb2x1bW5zKGNvbnN0IEgKICAgICAgICAgICAg
IGN1cnJMb2dpY2FsVG9wT2Zmc2V0ICs9IGJsb2NrRGVsdGE7CiAgICAgICAgIGNvbFJlY3QubW92
ZSh0eCwgdHkpOwogICAgICAgICAKLSAgICAgICAgaWYgKGNvbFJlY3QuaW50ZXJzZWN0cyhyZXN1
bHQucmVjdEZvclBvaW50KEludFBvaW50KHgsIHkpKSkpIHsKKyAgICAgICAgaWYgKGNvbFJlY3Qu
aW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KHBvaW50SW5Db250YWluZXIpKSkgewogICAg
ICAgICAgICAgLy8gVGhlIHBvaW50IGlzIGluc2lkZSB0aGlzIGNvbHVtbi4KICAgICAgICAgICAg
IC8vIEFkanVzdCB0eCBhbmQgdHkgdG8gY2hhbmdlIHdoZXJlIHdlIGhpdCB0ZXN0LgogICAgICAg
ICAKICAgICAgICAgICAgIEludFNpemUgb2Zmc2V0ID0gaXNIb3Jpem9udGFsID8gSW50U2l6ZShj
dXJyTG9naWNhbExlZnRPZmZzZXQsIGN1cnJMb2dpY2FsVG9wT2Zmc2V0KSA6IEludFNpemUoY3Vy
ckxvZ2ljYWxUb3BPZmZzZXQsIGN1cnJMb2dpY2FsTGVmdE9mZnNldCk7CiAgICAgICAgICAgICBp
bnQgZmluYWxYID0gdHggKyBvZmZzZXQud2lkdGgoKTsKICAgICAgICAgICAgIGludCBmaW5hbFkg
PSB0eSArIG9mZnNldC5oZWlnaHQoKTsKLSAgICAgICAgICAgIGlmIChyZXN1bHQuaXNSZWN0QmFz
ZWRUZXN0KCkgJiYgIWNvbFJlY3QuY29udGFpbnMocmVzdWx0LnJlY3RGb3JQb2ludChJbnRQb2lu
dCh4LCB5KSkpKQotICAgICAgICAgICAgICAgIGhpdFRlc3RDb250ZW50cyhyZXF1ZXN0LCByZXN1
bHQsIHgsIHksIGZpbmFsWCwgZmluYWxZLCBoaXRUZXN0QWN0aW9uKTsKKyAgICAgICAgICAgIGlm
IChyZXN1bHQuaXNSZWN0QmFzZWRUZXN0KCkgJiYgIWNvbFJlY3QuY29udGFpbnMocmVzdWx0LnJl
Y3RGb3JQb2ludChwb2ludEluQ29udGFpbmVyKSkpCisgICAgICAgICAgICAgICAgaGl0VGVzdENv
bnRlbnRzKHJlcXVlc3QsIHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lciwgZmluYWxYLCBmaW5hbFks
IGhpdFRlc3RBY3Rpb24pOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVy
biBoaXRUZXN0Q29udGVudHMocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCBmaW5hbFgsIGZpbmFsWSwg
aGl0VGVzdEFjdGlvbikgfHwgKGhpdFRlc3RBY3Rpb24gPT0gSGl0VGVzdEZsb2F0ICYmIGhpdFRl
c3RGbG9hdHMocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCBmaW5hbFgsIGZpbmFsWSkpOworICAgICAg
ICAgICAgICAgIHJldHVybiBoaXRUZXN0Q29udGVudHMocmVxdWVzdCwgcmVzdWx0LCBwb2ludElu
Q29udGFpbmVyLCBmaW5hbFgsIGZpbmFsWSwgaGl0VGVzdEFjdGlvbikgfHwgKGhpdFRlc3RBY3Rp
b24gPT0gSGl0VGVzdEZsb2F0ICYmIGhpdFRlc3RGbG9hdHMocmVxdWVzdCwgcmVzdWx0LCBwb2lu
dEluQ29udGFpbmVyLCBmaW5hbFgsIGZpbmFsWSkpOwogICAgICAgICB9CiAgICAgfQogCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJlbmRlckJsb2NrOjpoaXRUZXN0Q29udGVudHMoY29u
c3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgaW50IHgs
IGludCB5LCBpbnQgdHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQorYm9v
bCBSZW5kZXJCbG9jazo6aGl0VGVzdENvbnRlbnRzKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1
ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFp
bmVyLCBpbnQgdHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQogewogICAg
IGlmIChjaGlsZHJlbklubGluZSgpICYmICFpc1RhYmxlKCkpIHsKICAgICAgICAgLy8gV2UgaGF2
ZSB0byBoaXQtdGVzdCBvdXIgbGluZSBib3hlcy4KLSAgICAgICAgaWYgKG1fbGluZUJveGVzLmhp
dFRlc3QodGhpcywgcmVxdWVzdCwgcmVzdWx0LCBJbnRQb2ludCh4LCB5KSwgdHgsIHR5LCBoaXRU
ZXN0QWN0aW9uKSkKKyAgICAgICAgaWYgKG1fbGluZUJveGVzLmhpdFRlc3QodGhpcywgcmVxdWVz
dCwgcmVzdWx0LCBwb2ludEluQ29udGFpbmVyLCB0eCwgdHksIGhpdFRlc3RBY3Rpb24pKQogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gSGl0IHRlc3Qg
b3VyIGNoaWxkcmVuLgpAQCAtNDA0NCw3ICs0MDQ0LDcgQEAgYm9vbCBSZW5kZXJCbG9jazo6aGl0
VGVzdENvbnRlbnRzKGNvbnN0IAogICAgICAgICAgICAgY2hpbGRIaXRUZXN0ID0gSGl0VGVzdENo
aWxkQmxvY2tCYWNrZ3JvdW5kOwogICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBsYXN0
Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPnByZXZpb3VzU2libGluZ0JveCgpKSB7
CiAgICAgICAgICAgICBJbnRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlKGNo
aWxkLCBJbnRQb2ludCh0eCwgdHkpLCBQYXJlbnRUb0NoaWxkRmxpcHBpbmdBZGp1c3RtZW50KTsK
LSAgICAgICAgICAgIGlmICghY2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYgIWNoaWxk
LT5pc0Zsb2F0aW5nKCkgJiYgY2hpbGQtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgSW50
UG9pbnQoeCwgeSksIGNoaWxkUG9pbnQueCgpLCBjaGlsZFBvaW50LnkoKSwgY2hpbGRIaXRUZXN0
KSkKKyAgICAgICAgICAgIGlmICghY2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYgIWNo
aWxkLT5pc0Zsb2F0aW5nKCkgJiYgY2hpbGQtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwg
cG9pbnRJbkNvbnRhaW5lciwgY2hpbGRQb2ludC54KCksIGNoaWxkUG9pbnQueSgpLCBjaGlsZEhp
dFRlc3QpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDg3MDgy
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU4NCwxMSArNTg0LDExIEBAIHByaXZhdGU6CiAgICAgaW50IGxvd2VzdEZsb2F0TG9n
aWNhbEJvdHRvbShGbG9hdGluZ09iamVjdDo6VHlwZSA9IEZsb2F0aW5nT2JqZWN0OjpGbG9hdEJv
dGgpIGNvbnN0OwogICAgIGludCBuZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVsb3coaW50KSBjb25z
dDsKICAgICAKLSAgICB2aXJ0dWFsIGJvb2wgaGl0VGVzdENvbHVtbnMoY29uc3QgSGl0VGVzdFJl
cXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgaW50IHgsIGludCB5LCBpbnQgdHgsIGludCB0eSwgSGl0
VGVzdEFjdGlvbik7Ci0gICAgdmlydHVhbCBib29sIGhpdFRlc3RDb250ZW50cyhjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBpbnQgeCwgaW50IHksIGludCB0eCwgaW50IHR5
LCBIaXRUZXN0QWN0aW9uKTsKLSAgICBib29sIGhpdFRlc3RGbG9hdHMoY29uc3QgSGl0VGVzdFJl
cXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgaW50IHgsIGludCB5LCBpbnQgdHgsIGludCB0eSk7Cisg
ICAgdmlydHVhbCBib29sIGhpdFRlc3RDb2x1bW5zKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0
VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBpbnQgdHgsIGlu
dCB0eSwgSGl0VGVzdEFjdGlvbik7CisgICAgdmlydHVhbCBib29sIGhpdFRlc3RDb250ZW50cyhj
b25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgcG9p
bnRJbkNvbnRhaW5lciwgaW50IHR4LCBpbnQgdHksIEhpdFRlc3RBY3Rpb24pOworICAgIGJvb2wg
aGl0VGVzdEZsb2F0cyhjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgaW50IHR4LCBpbnQgdHkpOwogCi0gICAgdmly
dHVhbCBib29sIGlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiwgaW50IHgs
IGludCB5LCBpbnQgdHgsIGludCB0eSk7CisgICAgdmlydHVhbCBib29sIGlzUG9pbnRJbk92ZXJm
bG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWlu
ZXIsIGludCB0eCwgaW50IHR5KTsKIAogICAgIHZvaWQgY29tcHV0ZUlubGluZVByZWZlcnJlZExv
Z2ljYWxXaWR0aHMoKTsKICAgICB2b2lkIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJ
KHJldmlzaW9uIDg3MDgyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RC
b3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzQsMTcgKzQzNCwxNyBAQCB2b2lkIFJlbmRlckxp
c3RCb3g6OnBhaW50SXRlbUJhY2tncm91bmQoCiAgICAgfQogfQogCi1ib29sIFJlbmRlckxpc3RC
b3g6OmlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGludCBf
eCwgaW50IF95LCBpbnQgX3R4LCBpbnQgX3R5KQorYm9vbCBSZW5kZXJMaXN0Qm94Ojppc1BvaW50
SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBJbnRQb2ludCYg
cG9pbnRJbkNvbnRhaW5lciwgaW50IHR4LCBpbnQgdHkpCiB7CiAgICAgaWYgKCFtX3ZCYXIpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEludFJlY3QgdmVydFJlY3QoX3R4ICsgd2lkdGgo
KSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCksCi0gICAgICAgICAgICAgICAgICAg
ICBfdHkgKyBib3JkZXJUb3AoKSwKKyAgICBJbnRSZWN0IHZlcnRSZWN0KHR4ICsgd2lkdGgoKSAt
IGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICB0
eSArIGJvcmRlclRvcCgpLAogICAgICAgICAgICAgICAgICAgICAgbV92QmFyLT53aWR0aCgpLAog
ICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJvdHRv
bSgpKTsKIAotICAgIGlmICh2ZXJ0UmVjdC5jb250YWlucyhfeCwgX3kpKSB7CisgICAgaWYgKHZl
cnRSZWN0LmNvbnRhaW5zKHBvaW50SW5Db250YWluZXIpKSB7CiAgICAgICAgIHJlc3VsdC5zZXRT
Y3JvbGxiYXIobV92QmFyLmdldCgpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCShyZXZpc2lvbiA4NzA4
MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY4LDcgKzY4LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRP
YmplY3QoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgSW50UmVjdCBj
b250cm9sQ2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29s
IGlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiwgaW50IHgsIGludCB5LCBp
bnQgdHgsIGludCB0eSk7CisgICAgdmlydHVhbCBib29sIGlzUG9pbnRJbk92ZXJmbG93Q29udHJv
bChIaXRUZXN0UmVzdWx0JiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGludCB0
eCwgaW50IHR5KTsKIAogICAgIHZpcnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIE5vZGUqKiBzdG9wTm9kZSA9
IDApOwogICAgIHZpcnR1YWwgYm9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rp
b24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgTm9kZSoqIHN0b3BO
b2RlID0gMCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>