<?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>4011</bug_id>
          
          <creation_ts>2005-07-15 06:18:22 -0700</creation_ts>
          <short_desc>Editing delegate selection methods not called when using mouse</short_desc>
          <delta_ts>2005-08-14 19:59:54 -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>HTML Editing</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>3734</dependson>
          <blocked>4375</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Duncan Wilcox">duncan</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>dwood</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14689</commentid>
    <comment_count>0</comment_count>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-07-15 06:18:22 -0700</bug_when>
    <thetext>webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: should be called before 
webViewDidChangeSelection: when using the mouse on an editable area:

- moving the cursor with arrow keys, with or without extending the selection with shift, will call both the 
SHOULD and the DID method
- clicking or doubleclicking will call the DID method, but not the SHOULD method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14690</commentid>
    <comment_count>1</comment_count>
      <attachid>2973</attachid>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-07-15 06:23:10 -0700</bug_when>
    <thetext>Created attachment 2973
test case

Create a cocoa app in xcode, replace main.m with the attachment and add the
WeKit.framework to the project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14694</commentid>
    <comment_count>2</comment_count>
      <attachid>2975</attachid>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-07-15 12:49:44 -0700</bug_when>
    <thetext>Created attachment 2975
patch with changelog entries

This is the first patch I develop that drills through all the glue layers,
please advise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14715</commentid>
    <comment_count>3</comment_count>
    <who name="Dan Wood">dwood</who>
    <bug_when>2005-07-15 16:50:20 -0700</bug_when>
    <thetext>It looks like this bug may be a partial duplicate of 3967.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14809</commentid>
    <comment_count>4</comment_count>
      <attachid>2975</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-07-18 08:21:02 -0700</bug_when>
    <thetext>Comment on attachment 2975
patch with changelog entries

Formatting problem -- if statements say &quot;if(&quot; and should say &quot;if (&quot; instead.

Ideally we should also have a layout test. We added support to the layout test
engine for reporting editing delegate output, and you can create mouse events
using the DOM events support -- with these two things together you should be
able to make a layout test that would work.

Otherwise, looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15667</commentid>
    <comment_count>5</comment_count>
      <attachid>3201</attachid>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-08-01 17:31:29 -0700</bug_when>
    <thetext>Created attachment 3201
patch with changelog entries

Updated for current HEAD, seems to work fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15855</commentid>
    <comment_count>6</comment_count>
      <attachid>3201</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-04 11:25:08 -0700</bug_when>
    <thetext>Comment on attachment 3201
patch with changelog entries

Looks good.

Marking review- because there&apos;s still no layout test. If there was a test I&apos;d
have done review+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15988</commentid>
    <comment_count>7</comment_count>
    <who name="Dan Wood">dwood</who>
    <bug_when>2005-08-05 11:34:02 -0700</bug_when>
    <thetext>Darin, will the test cases from 3967 suffice?  As I mentioned above, this bug is pretty much a duplicate of 
that, so the test cases I generated for that should work.  Do I need to upload them and explicitly attach to 
this bug?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16015</commentid>
    <comment_count>8</comment_count>
      <attachid>3240</attachid>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-08-06 09:00:51 -0700</bug_when>
    <thetext>Created attachment 3240
layout test (crashes webcore)

This is an attempt at building a layout test that should use the new editing
delegate support in DumpRenderTree. Unfortunately I don&apos;t know much about DOM2
events, so I don&apos;t know if my JS code is correct. I can only get WebCore to
crash.

I will file the bug for the crash, I would need someone to look at the JS in
the layout test to know if it is correct, and this bug should depend on the
layout test crash bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16109</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-07 09:49:15 -0700</bug_when>
    <thetext>A test program is not a substitute for a layout test. We don&apos;t have any way to run a compiled test program 
in an automated way. So the tests attached to bug 3967 don&apos;t help with the lack of layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16110</commentid>
    <comment_count>10</comment_count>
      <attachid>3201</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-07 09:55:35 -0700</bug_when>
    <thetext>Comment on attachment 3201
patch with changelog entries

I guess we can&apos;t easily make a layout test for this, so r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16374</commentid>
    <comment_count>11</comment_count>
    <who name="Dan Wood">dwood</who>
    <bug_when>2005-08-10 12:20:59 -0700</bug_when>
    <thetext>I&apos;ve tried out this patch against the test application that I made for bug 3967, and I can confirm that the 
callback I is getting called in my test.

What do we need to do to get this checked in? :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2973</attachid>
            <date>2005-07-15 06:23:10 -0700</date>
            <delta_ts>2005-07-15 06:23:10 -0700</delta_ts>
            <desc>test case</desc>
            <filename>main.m</filename>
            <type>application/octet-stream</type>
            <size>1732</size>
            <attacher name="Duncan Wilcox">duncan</attacher>
            
              <data encoding="base64">I2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgoKQGludGVy
ZmFjZSBUZXN0IDogTlNPYmplY3QKQGVuZAoKQGltcGxlbWVudGF0aW9uIFRlc3QKLSAodm9pZCl3
ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRpZEZpbmlzaExvYWRGb3JGcmFtZTooV2ViRnJhbWUg
KilmcmFtZQp7CglET01Eb2N1bWVudCAqZG9jID0gW2ZyYW1lIERPTURvY3VtZW50XTsKCURPTU5v
ZGVMaXN0ICpsaXN0ID0gW2RvYyBnZXRFbGVtZW50c0J5VGFnTmFtZTpAIlAiXTsKCURPTU5vZGUg
Km4gPSBbW1tsaXN0IGl0ZW06MF0gY2hpbGROb2Rlc10gaXRlbTowXTsKCURPTVJhbmdlICpyID0g
W2RvYyBjcmVhdGVSYW5nZV07CglbciBzZXRTdGFydDpuIDowXTsKCVtyIHNldEVuZDpuIDowXTsK
CVtzZW5kZXIgc2V0U2VsZWN0ZWRET01SYW5nZTpyIGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5p
dHlEb3duc3RyZWFtXTsKfQoKLSAoQk9PTCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihET01SYW5nZSAqKWN1cnJlbnRSYW5nZSB0b0RPTVJh
bmdlOihET01SYW5nZSAqKXByb3Bvc2VkUmFuZ2UgYWZmaW5pdHk6KE5TU2VsZWN0aW9uQWZmaW5p
dHkpc2VsZWN0aW9uQWZmaW5pdHkgc3RpbGxTZWxlY3Rpbmc6KEJPT0wpZmxhZwp7CglOU0xvZyhA
InNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6ICVAIHRvRE9NUmFuZ2U6ICVAIiwgY3VycmVu
dFJhbmdlLCBwcm9wb3NlZFJhbmdlKTsKCXJldHVybiBOTzsKfQoKLSAodm9pZCl3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgp7CglOU0xvZyhA
IndlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb24gKGhleSEgeW91IHNob3VsZG4ndCEpIik7Cn0KCkBl
bmQKCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKCU5TQXV0b3JlbGVhc2VQb29s
ICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07CglUZXN0ICp0ID0gW1tU
ZXN0IGFsbG9jXSBpbml0XTsKCVtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKCU5T
UmVjdCBjb250ZW50UmVjdCA9IE5TTWFrZVJlY3QoMjAwLCAxODAsIDMwMCwgMzAwKTsKCU5TUmVj
dCB3dlJlY3QgPSBOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKTsKCU5TV2luZG93ICp3ID0gW1tO
U1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDpjb250ZW50UmVjdAoJCXN0eWxlTWFz
azpOU01pbmlhdHVyaXphYmxlV2luZG93TWFzayB8IE5TQ2xvc2FibGVXaW5kb3dNYXNrIHwgTlNU
aXRsZWRXaW5kb3dNYXNrCgkJYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOk5P
XTsKCVdlYlZpZXcgKnd2ID0gW1tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnd2UmVjdF07
CglbW3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6d3ZdOwoJW3d2IHNldEVkaXRhYmxlOllFU107
Cglbd3Ygc2V0RWRpdGluZ0RlbGVnYXRlOnRdOwoJW1t3diBtYWluRnJhbWVdIGxvYWRIVE1MU3Ry
aW5nOkAiPGh0bWw+PGJvZHk+PHA+eW91IHNob3VsZG4ndCBiZSBhYmxlIHRvIHNlbGVjdCB0ZXh0
IG9yIG1vdmUgdGhlIGN1cnNvciAodHJ5IG1vdXNlIGFuZCBrZXlib2FyZCk8L3A+PC9ib2R5Pjwv
aHRtbD4iIGJhc2VVUkw6bmlsXTsKCVt3IG1ha2VLZXlBbmRPcmRlckZyb250Om5pbF07CglbTlNB
cHAgcnVuXTsKCXJldHVybiAwOwp9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2975</attachid>
            <date>2005-07-15 12:49:44 -0700</date>
            <delta_ts>2005-08-01 17:31:29 -0700</delta_ts>
            <desc>patch with changelog entries</desc>
            <filename>editing_selection_patch.txt</filename>
            <type>text/plain</type>
            <size>13829</size>
            <attacher name="Duncan Wilcox">duncan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL0NoYW5nZUxvZyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40NDMwCmRpZmYgLXAgLXUg
LXIxLjQ0MzAgV2ViQ29yZS9DaGFuZ2VMb2cKLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCTIwMDUvMDcv
MTUgMTc6NTA6NDYJMS40NDMwCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkyMDA1LzA3LzE1IDE4OjQ3
OjMzCkBAIC0xLDMgKzEsMzMgQEAKKzIwMDUtMDctMTUgIER1bmNhbiBXaWxjb3ggIDxkdW5jYW5A
bWNsaW5rLml0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlYkNvcmUgcGFydCBvZiBmaXggZm9yIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5v
cmcvc2hvd19idWcuY2dpP2lkPTQwMTE+OgorICAgICAgICAiRWRpdGluZyBkZWxlZ2F0ZSBzZWxl
Y3Rpb24gbWV0aG9kcyBub3QgY2FsbGVkIHdoZW4gdXNpbmcgbW91c2UiCisKKyAgICAgICAgVGVz
dCBjYXNlcyBhZGRlZDogbm9uZSwgZG9lc24ndCBhZmZlY3QgbGF5b3V0CisKKyAgICAgICAgQ2xp
Y2tpbmcgb24gZWRpdGFibGUgY29udGVudCB3b3VsZCBtb3ZlIHRoZSBjdXJzb3Igb3IgYWx0ZXIg
dGhlIHNlbGVjdGlvbiB3aXRob3V0CisgICAgICAgIGNhbGxpbmcgdGhlIGFwcHJvcHJpYXRlIGVk
aXRpbmcgZGVsZWdhdGUgbWV0aG9kCisgICAgICAgICh3ZWJWaWV3OnNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGluZzopLiBUaGUKKyAg
ICAgICAgY29yZSBvZiB0aGUgcGF0Y2ggaXMgaW4gdGhlIEtIVE1MUGFydDo6aGFkbmxlTW91c2VQ
cmVzc0V2ZW50KiBtZXRob2RzLCB0aGUgcmVzdAorICAgICAgICBpcyBnbHVlIG5lZWRlZCB0byBk
cmlsbCB0aHJvdWdoIGFsbCB0aGUgbGF5ZXJzLgorCisgICAgICAgICoga2h0bWwva2h0bWxfcGFy
dC5jcHA6CisgICAgICAgIChLSFRNTFBhcnQ6OnNob3VsZENoYW5nZVNlbGVjdGlvbik6IEdsdWUg
dG8gY2FsbCBlZGl0aW5nIGRlbGVnYXRlLgorICAgICAgICAoS0hUTUxQYXJ0OjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnREb3VibGVDbGljayk6IENhbGwgZWRpdGluZyBkZWxlZ2F0ZSBiZWZvcmUgY2hh
bmdpbmcgc2VsZWN0aW9uLgorICAgICAgICAoS0hUTUxQYXJ0OjpoYW5kbGVNb3VzZVByZXNzRXZl
bnRUcmlwbGVDbGljayk6IERpdHRvLgorICAgICAgICAoS0hUTUxQYXJ0OjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnRTaW5nbGVDbGljayk6IERpdHRvLgorICAgICAgICAKKyAgICAgICAgKiBraHRtbC9r
aHRtbF9wYXJ0Lmg6IEFkZGVkIHNob3VsZENoYW5nZVNlbGVjdGlvbiBnbHVlIG1ldGhvZC4KKyAg
ICAgICAgKiBrd3EvS1dRS0hUTUxQYXJ0Lmg6IERpdHRvLgorCisgICAgICAgICoga3dxL0tXUUtI
VE1MUGFydC5tbToKKyAgICAgICAgKEtXUUtIVE1MUGFydDo6c2hvdWxkQ2hhbmdlU2VsZWN0aW9u
KTogR2x1ZSB0byBjYWxsIGVkaXRpbmcgZGVsZWdhdGUuCisKKyAgICAgICAgKiBrd3EvV2ViQ29y
ZUJyaWRnZS5oOiBBZGRlZCBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnRvRE9NUmFuZ2U6
YWZmaW5pdHk6c3RpbGxTZWxlY3Rpbmc6IGdsdWUgbWV0aG9kLgorICAgICAgICAKKwogMjAwNS0w
Ny0xNSAgS2V2aW4gRGVja2VyICA8a2RlY2tlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRlbGUKSW5kZXg6IFdlYkNvcmUva2h0bWwva2h0bWxfcGFydC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMzI4CmRpZmYgLXAgLXUgLXIxLjMyOCBXZWJDb3JlL2todG1sL2to
dG1sX3BhcnQuY3BwCi0tLSBXZWJDb3JlL2todG1sL2todG1sX3BhcnQuY3BwCTIwMDUvMDcvMTUg
MTc6NTA6NTAJMS4zMjgKKysrIFdlYkNvcmUva2h0bWwva2h0bWxfcGFydC5jcHAJMjAwNS8wNy8x
NSAxODo0ODozMwpAQCAtMjUxNCw2ICsyNTE0LDE1IEBAIHZvaWQgS0hUTUxQYXJ0OjpzZXRTZWxl
Y3Rpb24oY29uc3QgU2VsZWMKICAgICBlbWl0U2VsZWN0aW9uQ2hhbmdlZCgpOwogfQogCitib29s
IEtIVE1MUGFydDo6c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKGNvbnN0IFNlbGVjdGlvbiAmbmV3c2Vs
ZWN0aW9uKSBjb25zdAoreworI2lmIEFQUExFX0NIQU5HRVMKKyAgICByZXR1cm4gS1dRKHRoaXMp
LT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24oZC0+bV9zZWxlY3Rpb24sIG5ld3NlbGVjdGlvbiwgbmV3
c2VsZWN0aW9uLnN0YXJ0QWZmaW5pdHkoKSwgZmFsc2UpOworI2Vsc2UKKyAgICByZXR1cm4gdHJ1
ZTsKKyNlbmRpZgorfQorCiB2b2lkIEtIVE1MUGFydDo6c2V0RHJhZ0NhcmV0KGNvbnN0IFNlbGVj
dGlvbiAmZHJhZ0NhcmV0KQogewogICAgIGlmIChkLT5tX2RyYWdDYXJldCAhPSBkcmFnQ2FyZXQp
IHsKQEAgLTQ2MDEsMTUgKzQ2MTAsMTcgQEAgdm9pZCBLSFRNTFBhcnQ6OnNlbGVjdENsb3Nlc3RX
b3JkRnJvbU1vdQogdm9pZCBLSFRNTFBhcnQ6OmhhbmRsZU1vdXNlUHJlc3NFdmVudERvdWJsZUNs
aWNrKGtodG1sOjpNb3VzZVByZXNzRXZlbnQgKmV2ZW50KQogewogICAgIGlmIChldmVudC0+cW1v
dXNlRXZlbnQoKS0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAgICAgICBpZiAoc2VsZWN0
aW9uKCkuaXNSYW5nZSgpKSB7Ci0gICAgICAgICAgICAvLyBBIGRvdWJsZS1jbGljayB3aGVuIHJh
bmdlIGlzIGFscmVhZHkgc2VsZWN0ZWQKLSAgICAgICAgICAgIC8vIHNob3VsZCBub3QgY2hhbmdl
IHRoZSBzZWxlY3Rpb24uICBTbywgZG8gbm90IGNhbGwKLSAgICAgICAgICAgIC8vIHNlbGVjdENs
b3Nlc3RXb3JkRnJvbU1vdXNlRXZlbnQsIGJ1dCBkbyBzZXQKLSAgICAgICAgICAgIC8vIG1fYmVn
YW5TZWxlY3RpbmdUZXh0IHRvIHByZXZlbnQga2h0bWxNb3VzZVJlbGVhc2VFdmVudAotICAgICAg
ICAgICAgLy8gZnJvbSBzZXR0aW5nIGNhcmV0IHNlbGVjdGlvbi4KLSAgICAgICAgICAgIGQtPm1f
YmVnYW5TZWxlY3RpbmdUZXh0ID0gdHJ1ZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHNlbGVjdENsb3Nlc3RXb3JkRnJvbU1vdXNlRXZlbnQoZXZlbnQtPnFtb3VzZUV2ZW50KCksIGV2
ZW50LT5pbm5lck5vZGUoKSwgZXZlbnQtPngoKSwgZXZlbnQtPnkoKSk7CisgICAgICAgIGlmKHNo
b3VsZENoYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24oKSkpIHsKKyAgICAgICAgICAgIGlmIChzZWxl
Y3Rpb24oKS5pc1JhbmdlKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBBIGRvdWJsZS1jbGljayB3
aGVuIHJhbmdlIGlzIGFscmVhZHkgc2VsZWN0ZWQKKyAgICAgICAgICAgICAgICAvLyBzaG91bGQg
bm90IGNoYW5nZSB0aGUgc2VsZWN0aW9uLiAgU28sIGRvIG5vdCBjYWxsCisgICAgICAgICAgICAg
ICAgLy8gc2VsZWN0Q2xvc2VzdFdvcmRGcm9tTW91c2VFdmVudCwgYnV0IGRvIHNldAorICAgICAg
ICAgICAgICAgIC8vIG1fYmVnYW5TZWxlY3RpbmdUZXh0IHRvIHByZXZlbnQga2h0bWxNb3VzZVJl
bGVhc2VFdmVudAorICAgICAgICAgICAgICAgIC8vIGZyb20gc2V0dGluZyBjYXJldCBzZWxlY3Rp
b24uCisgICAgICAgICAgICAgICAgZC0+bV9iZWdhblNlbGVjdGluZ1RleHQgPSB0cnVlOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBzZWxlY3RDbG9zZXN0V29yZEZyb21N
b3VzZUV2ZW50KGV2ZW50LT5xbW91c2VFdmVudCgpLCBldmVudC0+aW5uZXJOb2RlKCksIGV2ZW50
LT54KCksIGV2ZW50LT55KCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogfQpA
QCAtNDYzMCwxMyArNDY0MSwxNSBAQCB2b2lkIEtIVE1MUGFydDo6aGFuZGxlTW91c2VQcmVzc0V2
ZW50VHJpCiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgaWYgKHNlbGVjdGlvbi5pc1Jhbmdl
KCkpIHsKLSAgICAgICAgZC0+bV9zZWxlY3Rpb25HcmFudWxhcml0eSA9IFBBUkFHUkFQSDsKLSAg
ICAgICAgZC0+bV9iZWdhblNlbGVjdGluZ1RleHQgPSB0cnVlOworICAgIGlmKHNob3VsZENoYW5n
ZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7CisgICAgICAgIGlmIChzZWxlY3Rpb24uaXNSYW5nZSgp
KSB7CisgICAgICAgICAgICBkLT5tX3NlbGVjdGlvbkdyYW51bGFyaXR5ID0gUEFSQUdSQVBIOwor
ICAgICAgICAgICAgZC0+bV9iZWdhblNlbGVjdGluZ1RleHQgPSB0cnVlOworICAgICAgICB9Cisg
ICAgICAgIAorICAgICAgICBzZXRTZWxlY3Rpb24oc2VsZWN0aW9uKTsKKyAgICAgICAgc3RhcnRB
dXRvU2Nyb2xsKCk7CiAgICAgfQotICAgIAotICAgIHNldFNlbGVjdGlvbihzZWxlY3Rpb24pOwot
ICAgIHN0YXJ0QXV0b1Njcm9sbCgpOwogfQogCiB2b2lkIEtIVE1MUGFydDo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50U2luZ2xlQ2xpY2soa2h0bWw6Ok1vdXNlUHJlc3NFdmVudCAqZXZlbnQpCkBAIC00
NjQ2LDYgKzQ2NTksOCBAQCB2b2lkIEtIVE1MUGFydDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50U2lu
CiAgICAgCiAgICAgaWYgKG1vdXNlLT5idXR0b24oKSA9PSBMZWZ0QnV0dG9uKSB7CiAgICAgICAg
IFNlbGVjdGlvbiBzZWw7CisgICAgICAgIGJvb2wgdXBkYXRlQmVnYW5TZWxlY3RpbmdUZXh0ID0g
ZmFsc2U7CisgICAgICAgIGJvb2wgdXBkYXRlU2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBmYWxzZTsK
IAogICAgICAgICBpZiAoaW5uZXJOb2RlICYmIGlubmVyTm9kZS0+cmVuZGVyZXIoKSAmJgogICAg
ICAgICAgICAgaW5uZXJOb2RlLT5yZW5kZXJlcigpLT5zaG91bGRTZWxlY3QoKSkgewpAQCAtNDY4
MCwxNSArNDY5NSwyMyBAQCB2b2lkIEtIVE1MUGFydDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50U2lu
CiAgICAgICAgICAgICAgICAgaWYgKGQtPm1fc2VsZWN0aW9uR3JhbnVsYXJpdHkgIT0gQ0hBUkFD
VEVSKSB7CiAgICAgICAgICAgICAgICAgICAgIHNlbC5leHBhbmRVc2luZ0dyYW51bGFyaXR5KGQt
Pm1fc2VsZWN0aW9uR3JhbnVsYXJpdHkpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBkLT5tX2JlZ2FuU2VsZWN0aW5nVGV4dCA9IHRydWU7CisgICAgICAgICAgICAgICAgdXBk
YXRlQmVnYW5TZWxlY3RpbmdUZXh0ID0gdHJ1ZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgc2VsID0gU2VsZWN0aW9uKHZpc2libGVQb3MpOwotICAgICAgICAgICAgICAg
IGQtPm1fc2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBDSEFSQUNURVI7CisgICAgICAgICAgICAgICAg
dXBkYXRlU2VsZWN0aW9uR3JhbnVsYXJpdHkgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKLSAgICAgICAgc2V0U2VsZWN0aW9uKHNlbCk7Ci0gICAgICAgIHN0YXJ0QXV0b1Njcm9s
bCgpOworICAgICAgICBpZihzaG91bGRDaGFuZ2VTZWxlY3Rpb24oc2VsKSkgeworICAgICAgICAg
ICAgaWYodXBkYXRlQmVnYW5TZWxlY3RpbmdUZXh0KSB7CisgICAgICAgICAgICAgICAgZC0+bV9i
ZWdhblNlbGVjdGluZ1RleHQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYo
dXBkYXRlU2VsZWN0aW9uR3JhbnVsYXJpdHkpIHsKKyAgICAgICAgICAgICAgICBkLT5tX3NlbGVj
dGlvbkdyYW51bGFyaXR5ID0gQ0hBUkFDVEVSOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
c2V0U2VsZWN0aW9uKHNlbCk7CisgICAgICAgICAgICBzdGFydEF1dG9TY3JvbGwoKTsKKyAgICAg
ICAgfQogICAgIH0KIH0KIApJbmRleDogV2ViQ29yZS9raHRtbC9raHRtbF9wYXJ0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5oLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjEzMwpkaWZmIC1wIC11IC1yMS4xMzMgV2ViQ29yZS9raHRtbC9r
aHRtbF9wYXJ0LmgKLS0tIFdlYkNvcmUva2h0bWwva2h0bWxfcGFydC5oCTIwMDUvMDYvMTQgMDA6
MjM6NDQJMS4xMzMKKysrIFdlYkNvcmUva2h0bWwva2h0bWxfcGFydC5oCTIwMDUvMDcvMTUgMTg6
NDg6MzQKQEAgLTYyMiw2ICs2MjIsMTEgQEAgcHVibGljOgogICB2b2lkIHNldFNlbGVjdGlvbihj
b25zdCBraHRtbDo6U2VsZWN0aW9uICYsIGJvb2wgY2xvc2VUeXBpbmcgPSB0cnVlLCBib29sIGtl
ZXBUeXBpbmdTdHlsZSA9IGZhbHNlKTsKIAogICAvKioKKyAgICogUmV0dXJucyB3aGV0aGVyIHNl
bGVjdGlvbiBjYW4gYmUgY2hhbmdlZC4KKyAgICovCisgIGJvb2wgc2hvdWxkQ2hhbmdlU2VsZWN0
aW9uKGNvbnN0IGtodG1sOjpTZWxlY3Rpb24gJikgY29uc3Q7CisKKyAgLyoqCiAgICAqIFJldHVy
bnMgYSBtYXJrLCB0byBiZSB1c2VkIGFzIGVtYWNzIHVzZXMgaXQuCiAgICAqLwogICBjb25zdCBr
aHRtbDo6U2VsZWN0aW9uICZtYXJrKCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL2t3cS9LV1FLSFRN
TFBhcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvS1dRS0hU
TUxQYXJ0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjIzCmRpZmYgLXAgLXUgLXIxLjIyMyBX
ZWJDb3JlL2t3cS9LV1FLSFRNTFBhcnQuaAotLS0gV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0LmgJ
MjAwNS8wNy8xNCAwMDoyNjowNAkxLjIyMworKysgV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0LmgJ
MjAwNS8wNy8xNSAxODo0ODo1NQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaW1wb3J0ICJraHRtbF9w
YXJ0LmgiCiAKKyNpbXBvcnQgInRleHRfYWZmaW5pdHkuaCIKKwogI2ltcG9ydCAiZG9tX25vZGVp
bXBsLmgiCiAKICNpbXBvcnQgIldlYkNvcmVLZXlib2FyZEFjY2Vzcy5oIgpAQCAtMzQzLDYgKzM0
NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3Qg
a2h0bWw6OlNlbGVjdGlvbiAmb2xkU2VsZWN0aW9uLCBib29sIGNsb3NlVHlwaW5nKTsKICAgICB2
b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRl
bnRFZGl0YWJsZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDaGFuZ2VTZWxlY3Rp
b24oY29uc3Qga2h0bWw6OlNlbGVjdGlvbiAmb2xkU2VsZWN0aW9uLCBjb25zdCBraHRtbDo6U2Vs
ZWN0aW9uICZuZXdTZWxlY3Rpb24sIGtodG1sOjpFQWZmaW5pdHkgYWZmaW5pdHksIGJvb2wgc3Rp
bGxTZWxlY3RpbmcpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRCZWdpbkVkaXRpbmco
Y29uc3QgRE9NOjpSYW5nZUltcGwgKikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEVu
ZEVkaXRpbmcoY29uc3QgRE9NOjpSYW5nZUltcGwgKikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUv
a3dxL0tXUUtIVE1MUGFydC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29y
ZS9rd3EvS1dRS0hUTUxQYXJ0Lm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjY0OQpkaWZmIC1w
IC11IC1yMS42NDkgV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0Lm1tCi0tLSBXZWJDb3JlL2t3cS9L
V1FLSFRNTFBhcnQubW0JMjAwNS8wNy8xNCAxOTowNjoyOAkxLjY0OQorKysgV2ViQ29yZS9rd3Ev
S1dRS0hUTUxQYXJ0Lm1tCTIwMDUvMDcvMTUgMTg6NDg6NTcKQEAgLTQwNjgsNiArNDA2OCwxNCBA
QCB2b2lkIEtXUUtIVE1MUGFydDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjCiAgICAgW19icmlkZ2Ug
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbl07CiB9CiAKK2Jvb2wgS1dRS0hUTUxQYXJ0OjpzaG91
bGRDaGFuZ2VTZWxlY3Rpb24oY29uc3QgU2VsZWN0aW9uICZvbGRTZWxlY3Rpb24sIGNvbnN0IFNl
bGVjdGlvbiAmbmV3U2VsZWN0aW9uLCBraHRtbDo6RUFmZmluaXR5IGFmZmluaXR5LCBib29sIHN0
aWxsU2VsZWN0aW5nKSBjb25zdAoreworICAgIHJldHVybiBbX2JyaWRnZSBzaG91bGRDaGFuZ2VT
ZWxlY3RlZERPTVJhbmdlOltET01SYW5nZSBfcmFuZ2VXaXRoSW1wbDpvbGRTZWxlY3Rpb24udG9S
YW5nZSgpLmdldCgpXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b0RP
TVJhbmdlOltET01SYW5nZSBfcmFuZ2VXaXRoSW1wbDpuZXdTZWxlY3Rpb24udG9SYW5nZSgpLmdl
dCgpXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmluaXR5OnN0
YXRpY19jYXN0PE5TU2VsZWN0aW9uQWZmaW5pdHk+KGFmZmluaXR5KQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0aWxsU2VsZWN0aW5nOnN0aWxsU2VsZWN0aW5nXTsKK30KKwog
dm9pZCBLV1FLSFRNTFBhcnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiB7CiAjaWYgQVBQ
TEVfQ0hBTkdFUwpJbmRleDogV2ViQ29yZS9rd3EvV2ViQ29yZUJyaWRnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9XZWJDb3JlQnJpZGdlLmgsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMzM4CmRpZmYgLXAgLXUgLXIxLjMzOCBXZWJDb3JlL2t3cS9XZWJDb3Jl
QnJpZGdlLmgKLS0tIFdlYkNvcmUva3dxL1dlYkNvcmVCcmlkZ2UuaAkyMDA1LzA3LzE0IDIzOjUz
OjM0CTEuMzM4CisrKyBXZWJDb3JlL2t3cS9XZWJDb3JlQnJpZGdlLmgJMjAwNS8wNy8xNSAxODo0
ODo1OApAQCAtNjI0LDYgKzYyNCw3IEBAIHR5cGVkZWYgZW51bQogLSAodm9pZClyZXNwb25kVG9D
aGFuZ2VkQ29udGVudHM7CiAtICh2b2lkKXNldElzU2VsZWN0ZWQ6KEJPT0wpaXNTZWxlY3RlZCBm
b3JWaWV3OihOU1ZpZXcgKil2aWV3OwogLSAoQk9PTClpc0VkaXRhYmxlOworLSAoQk9PTClzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihET01SYW5nZSAqKWN1cnJlbnRSYW5nZSB0b0RPTVJh
bmdlOihET01SYW5nZSAqKXByb3Bvc2VkUmFuZ2UgYWZmaW5pdHk6KE5TU2VsZWN0aW9uQWZmaW5p
dHkpc2VsZWN0aW9uQWZmaW5pdHkgc3RpbGxTZWxlY3Rpbmc6KEJPT0wpZmxhZzsKIC0gKEJPT0wp
c2hvdWxkQmVnaW5FZGl0aW5nOihET01SYW5nZSAqKXJhbmdlOwogLSAoQk9PTClzaG91bGRFbmRF
ZGl0aW5nOihET01SYW5nZSAqKXJhbmdlOwogLSAoQk9PTCljYW5QYXN0ZTsKSW5kZXg6IFdlYktp
dC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9DaGFuZ2VM
b2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzIyOApkaWZmIC1wIC11IC1yMS4zMjI4IFdlYktp
dC9DaGFuZ2VMb2cKLS0tIFdlYktpdC9DaGFuZ2VMb2cJMjAwNS8wNy8xNCAyMzo1Mjo1MAkxLjMy
MjgKKysrIFdlYktpdC9DaGFuZ2VMb2cJMjAwNS8wNy8xNSAxODo1MjozMQpAQCAtMSwzICsxLDMw
IEBACisyMDA1LTA3LTE1ICBEdW5jYW4gV2lsY294ICA8ZHVuY2FuQG1jbGluay5pdD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJDb3JlIHBhcnQg
b2YgZml4IGZvciA8aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MDExPjoKKyAgICAgICAgIkVkaXRpbmcgZGVsZWdhdGUgc2VsZWN0aW9uIG1ldGhvZHMgbm90
IGNhbGxlZCB3aGVuIHVzaW5nIG1vdXNlIgorCisgICAgICAgIFRlc3QgY2FzZXMgYWRkZWQ6IG5v
bmUsIGRvZXNuJ3QgYWZmZWN0IGxheW91dAorCisgICAgICAgIENsaWNraW5nIG9uIGVkaXRhYmxl
IGNvbnRlbnQgd291bGQgbW92ZSB0aGUgY3Vyc29yIG9yIGFsdGVyIHRoZSBzZWxlY3Rpb24gd2l0
aG91dAorICAgICAgICBjYWxsaW5nIHRoZSBhcHByb3ByaWF0ZSBlZGl0aW5nIGRlbGVnYXRlIG1l
dGhvZAorICAgICAgICAod2ViVmlldzpzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnRvRE9N
UmFuZ2U6YWZmaW5pdHk6c3RpbGxTZWxlY3Rpbmc6KS4gVGhlCisgICAgICAgIGNvcmUgb2YgdGhl
IHBhdGNoIGlzIGluIHRoZSBLSFRNTFBhcnQ6OmhhZG5sZU1vdXNlUHJlc3NFdmVudCogbWV0aG9k
cywgdGhlIHJlc3QKKyAgICAgICAgaXMgZ2x1ZSBuZWVkZWQgdG8gZHJpbGwgdGhyb3VnaCBhbGwg
dGhlIGxheWVycy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdl
Lm06CisgICAgICAgICgtW1dlYkJyaWRnZSBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnRv
RE9NUmFuZ2U6YWZmaW5pdHk6c3RpbGxTZWxlY3Rpbmc6XSk6CisgICAgICAgIEJyaWRnZSBnbHVl
LgorCisgICAgICAgICogV2ViVmlldy5zdWJwcm9qL1dlYlZpZXcubToKKyAgICAgICAgKC1bV2Vi
VmlldyhXZWJWaWV3RWRpdGluZ0V4dHJhcykgX3Nob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGluZzpdKToKKyAgICAgICAgRmluYWwgc3Rl
cCBpbiBnbHVlLCBjYWxsaW5nIGVkaXRpbmcgZGVsZWdhdGUuCisKKyAgICAgICAgKiBXZWJWaWV3
LnN1YnByb2ovV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgIEFkZGVkIF9zaG91bGRDaGFuZ2VT
ZWxlY3RlZERPTVJhbmdlOnRvRE9NUmFuZ2U6YWZmaW5pdHk6c3RpbGxTZWxlY3Rpbmc6IHByaXZh
dGUgbWV0aG9kIHRvIFdlYlZpZXdFZGl0aW5nRXh0cmFzCisgICAgICAgIGNhdGVnb3J5LgorCiAy
MDA1LTA3LTE0ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhdmUgSHlhdHQuCkluZGV4OiBXZWJLaXQvV2ViQ29yZVN1cHBvcnQuc3Vi
cHJvai9XZWJCcmlkZ2UubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViS2l0L1dl
YkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdlLm0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MzYwCmRpZmYgLXAgLXUgLXIxLjM2MCBXZWJLaXQvV2ViQ29yZVN1cHBvcnQuc3VicHJvai9XZWJC
cmlkZ2UubQotLS0gV2ViS2l0L1dlYkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdlLm0JMjAw
NS8wNy8xNCAyMzo1Mjo1NAkxLjM2MAorKysgV2ViS2l0L1dlYkNvcmVTdXBwb3J0LnN1YnByb2ov
V2ViQnJpZGdlLm0JMjAwNS8wNy8xNSAxODo1Mjo1NwpAQCAtMTQ4MSw2ICsxNDgxLDExIEBAIHN0
YXRpYyBpZCA8V2ViRm9ybURlbGVnYXRlPiBmb3JtRGVsZWdhdGUKICAgICByZXR1cm4gW1tfZnJh
bWUgd2ViVmlld10gaXNFZGl0YWJsZV07CiB9CiAKKy0gKEJPT0wpc2hvdWxkQ2hhbmdlU2VsZWN0
ZWRET01SYW5nZTooRE9NUmFuZ2UgKiljdXJyZW50UmFuZ2UgdG9ET01SYW5nZTooRE9NUmFuZ2Ug
Kilwcm9wb3NlZFJhbmdlIGFmZmluaXR5OihOU1NlbGVjdGlvbkFmZmluaXR5KXNlbGVjdGlvbkFm
ZmluaXR5IHN0aWxsU2VsZWN0aW5nOihCT09MKWZsYWcKK3sKKyAgICByZXR1cm4gW1tfZnJhbWUg
d2ViVmlld10gX3Nob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6Y3VycmVudFJhbmdlIHRvRE9N
UmFuZ2U6cHJvcG9zZWRSYW5nZSBhZmZpbml0eTpzZWxlY3Rpb25BZmZpbml0eSBzdGlsbFNlbGVj
dGluZzpmbGFnXTsKK30KKwogLSAoQk9PTClzaG91bGRCZWdpbkVkaXRpbmc6KERPTVJhbmdlICop
cmFuZ2UKIHsKICAgICByZXR1cm4gW1tfZnJhbWUgd2ViVmlld10gX3Nob3VsZEJlZ2luRWRpdGlu
Z0luRE9NUmFuZ2U6cmFuZ2VdOwpJbmRleDogV2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJWaWV3
Lm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJWaWV3LnN1YnByb2ov
V2ViVmlldy5tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI5MgpkaWZmIC1wIC11IC1yMS4yOTIg
V2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJWaWV3Lm0KLS0tIFdlYktpdC9XZWJWaWV3LnN1YnBy
b2ovV2ViVmlldy5tCTIwMDUvMDcvMTQgMDI6NDM6NTIJMS4yOTIKKysrIFdlYktpdC9XZWJWaWV3
LnN1YnByb2ovV2ViVmlldy5tCTIwMDUvMDcvMTUgMTg6NTM6MDMKQEAgLTI3MDMsNiArMjcwMywx
MSBAQCBzdGF0aWMgV2ViRnJhbWUgKmluY3JlbWVudEZyYW1lKFdlYkZyYW1lCiAgICAgcmV0dXJu
IFticmlkZ2UgZWRpdGFibGVET01SYW5nZUZvclBvaW50OltzZWxmIGNvbnZlcnRQb2ludDpwb2lu
dCB0b1ZpZXc6W1tbYnJpZGdlIHdlYkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld11dXTsK
IH0KIAorLSAoQk9PTClfc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTooRE9NUmFuZ2UgKilj
dXJyZW50UmFuZ2UgdG9ET01SYW5nZTooRE9NUmFuZ2UgKilwcm9wb3NlZFJhbmdlIGFmZmluaXR5
OihOU1NlbGVjdGlvbkFmZmluaXR5KXNlbGVjdGlvbkFmZmluaXR5IHN0aWxsU2VsZWN0aW5nOihC
T09MKWZsYWc7Cit7CisgICAgcmV0dXJuIFtbc2VsZiBfZWRpdGluZ0RlbGVnYXRlRm9yd2FyZGVy
XSB3ZWJWaWV3OnNlbGYgc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpjdXJyZW50UmFuZ2Ug
dG9ET01SYW5nZTpwcm9wb3NlZFJhbmdlIGFmZmluaXR5OnNlbGVjdGlvbkFmZmluaXR5IHN0aWxs
U2VsZWN0aW5nOmZsYWddOworfQorCiAtIChCT09MKV9zaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJh
bmdlOihET01SYW5nZSAqKXJhbmdlCiB7CiAgICAgcmV0dXJuIFtbc2VsZiBfZWRpdGluZ0RlbGVn
YXRlRm9yd2FyZGVyXSB3ZWJWaWV3OnNlbGYgc2hvdWxkQmVnaW5FZGl0aW5nSW5ET01SYW5nZTpy
YW5nZV07CkluZGV4OiBXZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYlZpZXdJbnRlcm5hbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYlZp
ZXdJbnRlcm5hbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE4CmRpZmYgLXAgLXUgLXIxLjE4
IFdlYktpdC9XZWJWaWV3LnN1YnByb2ovV2ViVmlld0ludGVybmFsLmgKLS0tIFdlYktpdC9XZWJW
aWV3LnN1YnByb2ovV2ViVmlld0ludGVybmFsLmgJMjAwNS8wNi8yOSAyMjo1Mzo1MQkxLjE4Cisr
KyBXZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYlZpZXdJbnRlcm5hbC5oCTIwMDUvMDcvMTUgMTg6
NTM6MDQKQEAgLTEyOSw2ICsxMjksNyBAQAogCiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdF
ZGl0aW5nRXh0cmFzKQogLSAoQk9PTClfaW50ZXJjZXB0RWRpdGluZ0tleUV2ZW50OihOU0V2ZW50
ICopZXZlbnQ7CistIChCT09MKV9zaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihET01SYW5n
ZSAqKWN1cnJlbnRSYW5nZSB0b0RPTVJhbmdlOihET01SYW5nZSAqKXByb3Bvc2VkUmFuZ2UgYWZm
aW5pdHk6KE5TU2VsZWN0aW9uQWZmaW5pdHkpc2VsZWN0aW9uQWZmaW5pdHkgc3RpbGxTZWxlY3Rp
bmc6KEJPT0wpZmxhZzsKIC0gKEJPT0wpX3Nob3VsZEJlZ2luRWRpdGluZ0luRE9NUmFuZ2U6KERP
TVJhbmdlICopcmFuZ2U7CiAtIChCT09MKV9zaG91bGRFbmRFZGl0aW5nSW5ET01SYW5nZTooRE9N
UmFuZ2UgKilyYW5nZTsKIC0gKEJPT0wpX2NhblBhc3RlOwo=
</data>
<flag name="review"
          id="242"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3201</attachid>
            <date>2005-08-01 17:31:29 -0700</date>
            <delta_ts>2005-08-07 09:55:35 -0700</delta_ts>
            <desc>patch with changelog entries</desc>
            <filename>selection.txt</filename>
            <type>text/plain</type>
            <size>15909</size>
            <attacher name="Duncan Wilcox">duncan</attacher>
            
              <data encoding="base64">SW5kZXg6IC4vV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290
L1dlYkNvcmUvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ1MTQKZGlmZiAtcCAt
dSAtcjEuNDUxNCAuL1dlYkNvcmUvQ2hhbmdlTG9nCi0tLSAuL1dlYkNvcmUvQ2hhbmdlTG9nCTEg
QXVnIDIwMDUgMjE6MjM6MzggLTAwMDAJMS40NTE0CisrKyAuL1dlYkNvcmUvQ2hhbmdlTG9nCTIg
QXVnIDIwMDUgMDA6MjE6NTEgLTAwMDAKQEAgLTEsMyArMSw0NCBAQAorMjAwNS0wOC0wMiAgRHVu
Y2FuIFdpbGNveCAgPGR1bmNhbkBtY2xpbmsuaXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIGZpeCBmb3IgPGh0dHA6Ly9i
dWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxMT46CisgICAgICAgICJF
ZGl0aW5nIGRlbGVnYXRlIHNlbGVjdGlvbiBtZXRob2RzIG5vdCBjYWxsZWQgd2hlbiB1c2luZyBt
b3VzZSIKKworICAgICAgICBUZXN0IGNhc2VzIGFkZGVkOiBub25lCisKKyAgICAgICAgQ2xpY2tp
bmcgb24gZWRpdGFibGUgY29udGVudCB3b3VsZCBtb3ZlIHRoZSBjdXJzb3Igb3IgYWx0ZXIgdGhl
IHNlbGVjdGlvbiB3aXRob3V0CisgICAgICAgIGNhbGxpbmcgdGhlIGFwcHJvcHJpYXRlIGVkaXRp
bmcgZGVsZWdhdGUgbWV0aG9kCisgICAgICAgICh3ZWJWaWV3OnNob3VsZENoYW5nZVNlbGVjdGVk
RE9NUmFuZ2U6dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGluZzopLiBUaGUKKyAgICAg
ICAgY29yZSBvZiB0aGUgcGF0Y2ggaXMgaW4gdGhlIEtIVE1MUGFydDo6aGFkbmxlTW91c2VQcmVz
c0V2ZW50KiBtZXRob2RzLCB0aGUgcmVzdAorICAgICAgICBpcyBnbHVlIG5lZWRlZCB0byBkcmls
bCB0aHJvdWdoIGFsbCB0aGUgbGF5ZXJzLgorCisgICAgICAgICoga2h0bWwva2h0bWxfcGFydC5j
cHA6CisgICAgICAgICoga2h0bWwva2h0bWxfcGFydC5jcHA6CisgICAgICAgIChLSFRNTFBhcnQ6
OnNob3VsZENoYW5nZVNlbGVjdGlvbik6IEdsdWUgdG8gY2FsbCBlZGl0aW5nIGRlbGVnYXRlLgor
ICAgICAgICAoS0hUTUxQYXJ0OjpmaW5kVGV4dE5leHQpOiBDYWxsIGVkaXRpbmcgZGVsZWdhdGUg
YmVmb3JlIGNoYW5naW5nIHNlbGVjdGlvbi4KKyAgICAgICAgKEtIVE1MUGFydDo6c2VsZWN0Q2xv
c2VzdFdvcmRGcm9tTW91c2VFdmVudCk6IERpdHRvLgorICAgICAgICAoS0hUTUxQYXJ0OjpoYW5k
bGVNb3VzZVByZXNzRXZlbnRUcmlwbGVDbGljayk6IERpdHRvLgorICAgICAgICAoS0hUTUxQYXJ0
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnRTaW5nbGVDbGljayk6IERpdHRvLgorICAgICAgICAoS0hU
TUxQYXJ0OjpoYW5kbGVNb3VzZU1vdmVFdmVudFNlbGVjdGlvbik6IERpdHRvLgorICAgICAgICAo
S0hUTUxQYXJ0OjpraHRtbE1vdXNlUmVsZWFzZUV2ZW50KTogRGl0dG8uCisgICAgICAgIChLSFRN
TFBhcnQ6OnNlbGVjdEFsbCk6IERpdHRvLgorICAgICAgICAoS0hUTUxQYXJ0OjphcHBsaWVkRWRp
dGluZyk6IERpdHRvLgorICAgICAgICAoS0hUTUxQYXJ0Ojp1bmFwcGxpZWRFZGl0aW5nKTogRGl0
dG8uCisgICAgICAgIChLSFRNTFBhcnQ6OnJlYXBwbGllZEVkaXRpbmcpOiBEaXR0by4KKyAgICAg
ICAgKEtIVE1MUGFydDo6c2VsZWN0RnJhbWVFbGVtZW50SW5QYXJlbnRJZkZ1bGx5U2VsZWN0ZWQp
OiBEaXR0by4KKworICAgICAgICAqIGtodG1sL2todG1sX3BhcnQuaDogQWRkZWQgc2hvdWxkQ2hh
bmdlU2VsZWN0aW9uIGdsdWUgbWV0aG9kLgorICAgICAgICAqIGt3cS9LV1FLSFRNTFBhcnQuaDog
RGl0dG8uCisKKyAgICAgICAgKiBrd3EvS1dRS0hUTUxQYXJ0Lm1tOgorICAgICAgICAoS1dRS0hU
TUxQYXJ0OjpzaG91bGRDaGFuZ2VTZWxlY3Rpb24pOiBHbHVlIHRvIGNhbGwgZWRpdGluZyBkZWxl
Z2F0ZS4KKworICAgICAgICAqIGt3cS9XZWJDb3JlQnJpZGdlLmg6IEFkZGVkIHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGluZzogZ2x1
ZSBtZXRob2QuCisKKworCisKIDIwMDUtMDgtMDEgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUu
Y29tPgogCiAJRml4IGJ1Z3ppbGxhIGJ1ZyA0MjE5LCBjcmFzaCBiZWNhdXNlIHdlIHRyaWVkIHRv
IGRvIHRoZSBmYWtlIHBhaW50CkluZGV4OiAuL1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5j
cHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzMzCmRpZmYgLXAgLXUgLXIxLjMzMyAuL1dlYkNv
cmUva2h0bWwva2h0bWxfcGFydC5jcHAKLS0tIC4vV2ViQ29yZS9raHRtbC9raHRtbF9wYXJ0LmNw
cAkzMCBKdWwgMjAwNSAwMjozMzoxMSAtMDAwMAkxLjMzMworKysgLi9XZWJDb3JlL2todG1sL2to
dG1sX3BhcnQuY3BwCTIgQXVnIDIwMDUgMDA6MjI6NDQgLTAwMDAKQEAgLTIzOTUsNyArMjM5NSwx
MCBAQCBib29sIEtIVE1MUGFydDo6ZmluZFRleHROZXh0KCBjb25zdCBRU3RyCiAgICAgICAgICAg
ICAgICAgZC0+bV92aWV3LT5zZXRDb250ZW50c1Bvcyh4LTUwLCB5LTUwKTsKICAgICAgICAgICAg
ICAgICBQb3NpdGlvbiBwMShkLT5tX2ZpbmROb2RlLCBkLT5tX2ZpbmRQb3MpOwogICAgICAgICAg
ICAgICAgIFBvc2l0aW9uIHAyKGQtPm1fZmluZE5vZGUsIGQtPm1fZmluZFBvcyArIG1hdGNoTGVu
KTsKLSAgICAgICAgICAgICAgICBzZXRTZWxlY3Rpb24oU2VsZWN0aW9uKHAxLCBraHRtbDo6RE9X
TlNUUkVBTSwgcDIsIGtodG1sOjpTRUxfUFJFRkVSX1VQU1RSRUFNX0FGRklOSVRZKSk7CisgICAg
ICAgICAgICAgICAgU2VsZWN0aW9uIHNlbCA9IFNlbGVjdGlvbihwMSwga2h0bWw6OkRPV05TVFJF
QU0sIHAyLCBraHRtbDo6U0VMX1BSRUZFUl9VUFNUUkVBTV9BRkZJTklUWSk7CisgICAgICAgICAg
ICAgICAgaWYgKHNob3VsZENoYW5nZVNlbGVjdGlvbihzZWwpKSB7CisgICAgICAgICAgICAgICAg
ICAgIHNldFNlbGVjdGlvbihzZWwpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNDYwMSw4ICs0NjA0
LDEwIEBAIHZvaWQgS0hUTUxQYXJ0OjpzZWxlY3RDbG9zZXN0V29yZEZyb21Nb3UKICAgICAgICAg
ZC0+bV9iZWdhblNlbGVjdGluZ1RleHQgPSB0cnVlOwogICAgIH0KICAgICAKLSAgICBzZXRTZWxl
Y3Rpb24oc2VsZWN0aW9uKTsKLSAgICBzdGFydEF1dG9TY3JvbGwoKTsKKyAgICBpZiAoc2hvdWxk
Q2hhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHsKKyAgICAgICAgc2V0U2VsZWN0aW9uKHNlbGVj
dGlvbik7CisgICAgICAgIHN0YXJ0QXV0b1Njcm9sbCgpOworICAgIH0KIH0KIAogdm9pZCBLSFRN
TFBhcnQ6OmhhbmRsZU1vdXNlUHJlc3NFdmVudERvdWJsZUNsaWNrKGtodG1sOjpNb3VzZVByZXNz
RXZlbnQgKmV2ZW50KQpAQCAtNDYzOSw4ICs0NjQ0LDEwIEBAIHZvaWQgS0hUTUxQYXJ0OjpoYW5k
bGVNb3VzZVByZXNzRXZlbnRUcmkKICAgICAgICAgICAgIGQtPm1fYmVnYW5TZWxlY3RpbmdUZXh0
ID0gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgc2V0U2VsZWN0aW9uKHNlbGVj
dGlvbik7Ci0gICAgICAgIHN0YXJ0QXV0b1Njcm9sbCgpOworICAgICAgICBpZiAoc2hvdWxkQ2hh
bmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHsKKyAgICAgICAgICAgIHNldFNlbGVjdGlvbihzZWxl
Y3Rpb24pOworICAgICAgICAgICAgc3RhcnRBdXRvU2Nyb2xsKCk7CisgICAgICAgIH0KICAgICB9
CiB9CiAKQEAgLTQ2OTEsOCArNDY5OCwxMCBAQCB2b2lkIEtIVE1MUGFydDo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50U2luCiAgICAgICAgICAgICAgICAgZC0+bV9zZWxlY3Rpb25HcmFudWxhcml0eSA9
IENIQVJBQ1RFUjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICAgICAgc2V0
U2VsZWN0aW9uKHNlbCk7Ci0gICAgICAgICAgICBzdGFydEF1dG9TY3JvbGwoKTsKKyAgICAgICAg
ICAgIGlmIChzaG91bGRDaGFuZ2VTZWxlY3Rpb24oc2VsKSkgeworICAgICAgICAgICAgICAgIHNl
dFNlbGVjdGlvbihzZWwpOworICAgICAgICAgICAgICAgIHN0YXJ0QXV0b1Njcm9sbCgpOworICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogfQpAQCAtNDkwMiw3ICs0OTExLDEwIEBAIHZv
aWQgS0hUTUxQYXJ0OjpoYW5kbGVNb3VzZU1vdmVFdmVudFNlbGUKICAgICBpZiAoZC0+bV9zZWxl
Y3Rpb25HcmFudWxhcml0eSAhPSBDSEFSQUNURVIpIHsKICAgICAgICAgc2VsLmV4cGFuZFVzaW5n
R3JhbnVsYXJpdHkoZC0+bV9zZWxlY3Rpb25HcmFudWxhcml0eSk7CiAgICAgfQotICAgIHNldFNl
bGVjdGlvbihzZWwpOworCisgICAgaWYgKHNob3VsZENoYW5nZVNlbGVjdGlvbihzZWwpKSB7Cisg
ICAgICAgIHNldFNlbGVjdGlvbihzZWwpOworICAgIH0KIAogI2VuZGlmIC8vIEtIVE1MX05PX1NF
TEVDVElPTgogfQpAQCAtNDk3Myw3ICs0OTg1LDkgQEAgdm9pZCBLSFRNTFBhcnQ6OmtodG1sTW91
c2VSZWxlYXNlRXZlbnQoIAogICAgICAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHBvcyA9IG5vZGUt
PnJlbmRlcmVyKCktPnBvc2l0aW9uRm9yQ29vcmRpbmF0ZXMoZXZlbnQtPngoKSwgZXZlbnQtPnko
KSk7CiAgICAgICAgICAgICBzZWxlY3Rpb24ubW92ZVRvKHBvcyk7CiAgICAgICAgIH0KLSAgICAg
ICAgc2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7CisgICAgICAgIGlmIChzaG91bGRDaGFuZ2VTZWxl
Y3Rpb24oc2VsZWN0aW9uKSkgeworICAgICAgICAgICAgc2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7
CisgICAgICAgIH0KICAgICB9CiAKICNpZm5kZWYgUVRfTk9fQ0xJUEJPQVJECkBAIC01MTM5LDEw
ICs1MTUzLDIyIEBAIHZvaWQgS0hUTUxQYXJ0OjpzZWxlY3RBbGwoKQogICAgICAgICByZXR1cm47
CiAgICAgTm9kZUltcGwgKmRlID0gZC0+bV9kb2MtPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlu
dCBuID0gZGUgPyBkZS0+Y2hpbGROb2RlQ291bnQoKSA6IDA7Ci0gICAgc2V0U2VsZWN0aW9uKFNl
bGVjdGlvbihWaXNpYmxlUG9zaXRpb24oZGUsIDAsIGtodG1sOjpET1dOU1RSRUFNKSwgVmlzaWJs
ZVBvc2l0aW9uKGRlLCBuLCBraHRtbDo6RE9XTlNUUkVBTSkpKTsKKyAgICBTZWxlY3Rpb24gc2Vs
ID0gU2VsZWN0aW9uKFZpc2libGVQb3NpdGlvbihkZSwgMCwga2h0bWw6OkRPV05TVFJFQU0pLCBW
aXNpYmxlUG9zaXRpb24oZGUsIG4sIGtodG1sOjpET1dOU1RSRUFNKSk7CisgICAgaWYgKHNob3Vs
ZENoYW5nZVNlbGVjdGlvbihzZWwpKSB7CisgICAgICAgIHNldFNlbGVjdGlvbihzZWwpOworICAg
IH0KICAgICBzZWxlY3RGcmFtZUVsZW1lbnRJblBhcmVudElmRnVsbHlTZWxlY3RlZCgpOwogfQog
Citib29sIEtIVE1MUGFydDo6c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKGNvbnN0IFNlbGVjdGlvbiAm
bmV3c2VsZWN0aW9uKSBjb25zdAoreworI2lmIEFQUExFX0NIQU5HRVMKKyAgICByZXR1cm4gS1dR
KHRoaXMpLT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24oZC0+bV9zZWxlY3Rpb24sIG5ld3NlbGVjdGlv
biwgbmV3c2VsZWN0aW9uLnN0YXJ0QWZmaW5pdHkoKSwgZmFsc2UpOworI2Vsc2UKKyAgICByZXR1
cm4gdHJ1ZTsKKyNlbmRpZgorfQorCiBib29sIEtIVE1MUGFydDo6c2hvdWxkQmVnaW5FZGl0aW5n
KGNvbnN0IFJhbmdlSW1wbCAqcmFuZ2UpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRydWU7CkBAIC01
MTY3LDcgKzUxOTMsOSBAQCBFZGl0Q29tbWFuZFB0ciBLSFRNTFBhcnQ6Omxhc3RFZGl0Q29tbWFu
CiAKIHZvaWQgS0hUTUxQYXJ0OjphcHBsaWVkRWRpdGluZyhFZGl0Q29tbWFuZFB0ciAmY21kKQog
ewotICAgIHNldFNlbGVjdGlvbihjbWQuZW5kaW5nU2VsZWN0aW9uKCksIGZhbHNlKTsKKyAgICBp
ZiAoc2hvdWxkQ2hhbmdlU2VsZWN0aW9uKGNtZC5lbmRpbmdTZWxlY3Rpb24oKSkpIHsKKyAgICAg
ICAgc2V0U2VsZWN0aW9uKGNtZC5lbmRpbmdTZWxlY3Rpb24oKSwgZmFsc2UpOworICAgIH0KIAog
ICAgIC8vIE5vdyBzZXQgdGhlIHR5cGluZyBzdHlsZSBmcm9tIHRoZSBjb21tYW5kLiBDbGVhciBp
dCB3aGVuIGRvbmUuCiAgICAgLy8gVGhpcyBoZWxwcyBtYWtlIHRoZSBjYXNlIHdvcmsgd2hlcmUg
eW91IGNvbXBsZXRlbHkgZGVsZXRlIGEgcGllY2UKQEAgLTUxOTksNyArNTIyNyw5IEBAIHZvaWQg
S0hUTUxQYXJ0OjphcHBsaWVkRWRpdGluZyhFZGl0Q29tbWEKIAogdm9pZCBLSFRNTFBhcnQ6OnVu
YXBwbGllZEVkaXRpbmcoRWRpdENvbW1hbmRQdHIgJmNtZCkKIHsKLSAgICBzZXRTZWxlY3Rpb24o
Y21kLnN0YXJ0aW5nU2VsZWN0aW9uKCksIHRydWUpOworICAgIGlmIChzaG91bGRDaGFuZ2VTZWxl
Y3Rpb24oY21kLnN0YXJ0aW5nU2VsZWN0aW9uKCkpKSB7CisgICAgICAgIHNldFNlbGVjdGlvbihj
bWQuc3RhcnRpbmdTZWxlY3Rpb24oKSwgdHJ1ZSk7CisgICAgfQogI2lmIEFQUExFX0NIQU5HRVMK
ICAgICBLV1EodGhpcyktPnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oY21kKTsKICAgICBLV1EodGhp
cyktPnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwpAQCAtNTIwOSw3ICs1MjM5LDkgQEAgdm9p
ZCBLSFRNTFBhcnQ6OnVuYXBwbGllZEVkaXRpbmcoRWRpdENvbQogCiB2b2lkIEtIVE1MUGFydDo6
cmVhcHBsaWVkRWRpdGluZyhFZGl0Q29tbWFuZFB0ciAmY21kKQogewotICAgIHNldFNlbGVjdGlv
bihjbWQuZW5kaW5nU2VsZWN0aW9uKCksIHRydWUpOworICAgIGlmIChzaG91bGRDaGFuZ2VTZWxl
Y3Rpb24oY21kLmVuZGluZ1NlbGVjdGlvbigpKSkgeworICAgICAgICBzZXRTZWxlY3Rpb24oY21k
LmVuZGluZ1NlbGVjdGlvbigpLCB0cnVlKTsKKyAgICB9CiAjaWYgQVBQTEVfQ0hBTkdFUwogICAg
IEtXUSh0aGlzKS0+cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhjbWQpOwogICAgIEtXUSh0aGlzKS0+
cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7CkBAIC01OTUzLDggKzU5ODUsMTAgQEAgdm9pZCBL
SFRNTFBhcnQ6OnNlbGVjdEZyYW1lRWxlbWVudEluUGFyZQogICAgIFZpc2libGVQb3NpdGlvbiBh
ZnRlck93bmVyRWxlbWVudChWaXNpYmxlUG9zaXRpb24ob3duZXJFbGVtZW50UGFyZW50LCBvd25l
ckVsZW1lbnROb2RlSW5kZXggKyAxLCBraHRtbDo6U0VMX1BSRUZFUl9VUFNUUkVBTV9BRkZJTklU
WSkpOwogCiAgICAgLy8gRm9jdXMgb24gdGhlIHBhcmVudCBmcmFtZSwgYW5kIHRoZW4gc2VsZWN0
IGZyb20gYmVmb3JlIHRoaXMgZWxlbWVudCB0byBhZnRlci4KLSAgICBwYXJlbnRWaWV3LT5zZXRG
b2N1cygpOwotICAgIHBhcmVudC0+c2V0U2VsZWN0aW9uKFNlbGVjdGlvbihiZWZvcmVPd25lckVs
ZW1lbnQsIGFmdGVyT3duZXJFbGVtZW50KSk7CisgICAgaWYgKHBhcmVudC0+c2hvdWxkQ2hhbmdl
U2VsZWN0aW9uKFNlbGVjdGlvbihiZWZvcmVPd25lckVsZW1lbnQsIGFmdGVyT3duZXJFbGVtZW50
KSkpIHsKKyAgICAgICAgcGFyZW50Vmlldy0+c2V0Rm9jdXMoKTsKKyAgICAgICAgcGFyZW50LT5z
ZXRTZWxlY3Rpb24oU2VsZWN0aW9uKGJlZm9yZU93bmVyRWxlbWVudCwgYWZ0ZXJPd25lckVsZW1l
bnQpKTsKKyAgICB9CiB9CiAKIHZvaWQgS0hUTUxQYXJ0OjpoYW5kbGVGYWxsYmFja0NvbnRlbnQo
KQpJbmRleDogLi9XZWJDb3JlL2todG1sL2todG1sX3BhcnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9raHRtbF9wYXJ0LmgsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTM1CmRpZmYgLXAgLXUgLXIxLjEzNSAuL1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5o
Ci0tLSAuL1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5oCTI5IEp1bCAyMDA1IDIzOjAyOjQxIC0w
MDAwCTEuMTM1CisrKyAuL1dlYkNvcmUva2h0bWwva2h0bWxfcGFydC5oCTIgQXVnIDIwMDUgMDA6
MjI6NDQgLTAwMDAKQEAgLTYyMiw2ICs2MjIsMTEgQEAgcHVibGljOgogICB2b2lkIHNldFNlbGVj
dGlvbihjb25zdCBraHRtbDo6U2VsZWN0aW9uICYsIGJvb2wgY2xvc2VUeXBpbmcgPSB0cnVlLCBi
b29sIGtlZXBUeXBpbmdTdHlsZSA9IGZhbHNlKTsKIAogICAvKioKKyAgICogUmV0dXJucyB3aGV0
aGVyIHNlbGVjdGlvbiBjYW4gYmUgY2hhbmdlZC4KKyAgICovCisgIGJvb2wgc2hvdWxkQ2hhbmdl
U2VsZWN0aW9uKGNvbnN0IGtodG1sOjpTZWxlY3Rpb24gJikgY29uc3Q7CisKKyAgLyoqCiAgICAq
IFJldHVybnMgYSBtYXJrLCB0byBiZSB1c2VkIGFzIGVtYWNzIHVzZXMgaXQuCiAgICAqLwogICBj
b25zdCBraHRtbDo6U2VsZWN0aW9uICZtYXJrKCkgY29uc3Q7CkluZGV4OiAuL1dlYkNvcmUva3dx
L0tXUUtIVE1MUGFydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3
cS9LV1FLSFRNTFBhcnQuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMjQKZGlmZiAtcCAtdSAt
cjEuMjI0IC4vV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0LmgKLS0tIC4vV2ViQ29yZS9rd3EvS1dR
S0hUTUxQYXJ0LmgJMjkgSnVsIDIwMDUgMjM6MDI6NDUgLTAwMDAJMS4yMjQKKysrIC4vV2ViQ29y
ZS9rd3EvS1dRS0hUTUxQYXJ0LmgJMiBBdWcgMjAwNSAwMDoyMzowNSAtMDAwMApAQCAtMjgsNiAr
MjgsOCBAQAogCiAjaW1wb3J0ICJraHRtbF9wYXJ0LmgiCiAKKyNpbXBvcnQgInRleHRfYWZmaW5p
dHkuaCIKKwogI2ltcG9ydCAiZG9tX25vZGVpbXBsLmgiCiAKICNpbXBvcnQgIldlYkNvcmVLZXli
b2FyZEFjY2Vzcy5oIgpAQCAtMzQzLDYgKzM0NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3Qga2h0bWw6OlNlbGVjdGlvbiAmb2xkU2VsZWN0aW9u
LCBib29sIGNsb3NlVHlwaW5nKTsKICAgICB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygp
OwogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0OworICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRDaGFuZ2VTZWxlY3Rpb24oY29uc3Qga2h0bWw6OlNlbGVjdGlvbiAmb2xk
U2VsZWN0aW9uLCBjb25zdCBraHRtbDo6U2VsZWN0aW9uICZuZXdTZWxlY3Rpb24sIGtodG1sOjpF
QWZmaW5pdHkgYWZmaW5pdHksIGJvb2wgc3RpbGxTZWxlY3RpbmcpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRCZWdpbkVkaXRpbmcoY29uc3QgRE9NOjpSYW5nZUltcGwgKikgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHNob3VsZEVuZEVkaXRpbmcoY29uc3QgRE9NOjpSYW5nZUltcGwg
KikgY29uc3Q7CiAKSW5kZXg6IC4vV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FLSFRNTFBhcnQubW0sdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuNjU3CmRpZmYgLXAgLXUgLXIxLjY1NyAuL1dlYkNvcmUva3dxL0tX
UUtIVE1MUGFydC5tbQotLS0gLi9XZWJDb3JlL2t3cS9LV1FLSFRNTFBhcnQubW0JMSBBdWcgMjAw
NSAyMToyMzo0MiAtMDAwMAkxLjY1NworKysgLi9XZWJDb3JlL2t3cS9LV1FLSFRNTFBhcnQubW0J
MiBBdWcgMjAwNSAwMDoyMzowOCAtMDAwMApAQCAtNDExNCw2ICs0MTE0LDE0IEBAIHZvaWQgS1dR
S0hUTUxQYXJ0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWMKICAgICBbX2JyaWRnZSByZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uXTsKIH0KIAorYm9vbCBLV1FLSFRNTFBhcnQ6OnNob3VsZENoYW5nZVNl
bGVjdGlvbihjb25zdCBTZWxlY3Rpb24gJm9sZFNlbGVjdGlvbiwgY29uc3QgU2VsZWN0aW9uICZu
ZXdTZWxlY3Rpb24sIGtodG1sOjpFQWZmaW5pdHkgYWZmaW5pdHksIGJvb2wgc3RpbGxTZWxlY3Rp
bmcpIGNvbnN0Cit7CisgICAgcmV0dXJuIFtfYnJpZGdlIHNob3VsZENoYW5nZVNlbGVjdGVkRE9N
UmFuZ2U6W0RPTVJhbmdlIF9yYW5nZVdpdGhJbXBsOm9sZFNlbGVjdGlvbi50b1JhbmdlKCkuZ2V0
KCldCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvRE9NUmFuZ2U6W0RP
TVJhbmdlIF9yYW5nZVdpdGhJbXBsOm5ld1NlbGVjdGlvbi50b1JhbmdlKCkuZ2V0KCldCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZmaW5pdHk6c3RhdGljX2Nhc3Q8
TlNTZWxlY3Rpb25BZmZpbml0eT4oYWZmaW5pdHkpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RpbGxTZWxlY3Rpbmc6c3RpbGxTZWxlY3RpbmddOworfQorCiB2b2lkIEtXUUtI
VE1MUGFydDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKIHsKICNpZiBBUFBMRV9DSEFOR0VT
CkluZGV4OiAuL1dlYkNvcmUva3dxL1dlYkNvcmVCcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvV2ViQ29yZUJyaWRnZS5oLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjM0MwpkaWZmIC1wIC11IC1yMS4zNDMgLi9XZWJDb3JlL2t3cS9XZWJDb3JlQnJpZGdl
LmgKLS0tIC4vV2ViQ29yZS9rd3EvV2ViQ29yZUJyaWRnZS5oCTI5IEp1bCAyMDA1IDIxOjE2OjUx
IC0wMDAwCTEuMzQzCisrKyAuL1dlYkNvcmUva3dxL1dlYkNvcmVCcmlkZ2UuaAkyIEF1ZyAyMDA1
IDAwOjIzOjA4IC0wMDAwCkBAIC02MjEsNiArNjIxLDcgQEAgdHlwZWRlZiBlbnVtCiAtICh2b2lk
KXJlc3BvbmRUb0NoYW5nZWRDb250ZW50czsKIC0gKHZvaWQpc2V0SXNTZWxlY3RlZDooQk9PTClp
c1NlbGVjdGVkIGZvclZpZXc6KE5TVmlldyAqKXZpZXc7CiAtIChCT09MKWlzRWRpdGFibGU7Cist
IChCT09MKXNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KERPTVJhbmdlICopY3VycmVudFJh
bmdlIHRvRE9NUmFuZ2U6KERPTVJhbmdlICopcHJvcG9zZWRSYW5nZSBhZmZpbml0eTooTlNTZWxl
Y3Rpb25BZmZpbml0eSlzZWxlY3Rpb25BZmZpbml0eSBzdGlsbFNlbGVjdGluZzooQk9PTClmbGFn
OwogLSAoQk9PTClzaG91bGRCZWdpbkVkaXRpbmc6KERPTVJhbmdlICopcmFuZ2U7CiAtIChCT09M
KXNob3VsZEVuZEVkaXRpbmc6KERPTVJhbmdlICopcmFuZ2U7CiAtIChCT09MKWNhblBhc3RlOwpJ
bmRleDogLi9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJLaXQvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMyNzUKZGlmZiAtcCAtdSAt
cjEuMzI3NSAuL1dlYktpdC9DaGFuZ2VMb2cKLS0tIC4vV2ViS2l0L0NoYW5nZUxvZwkxIEF1ZyAy
MDA1IDIxOjMxOjA0IC0wMDAwCTEuMzI3NQorKysgLi9XZWJLaXQvQ2hhbmdlTG9nCTIgQXVnIDIw
MDUgMDA6Mjc6MTggLTAwMDAKQEAgLTEsMyArMSwzMSBAQAorMjAwNS0wOC0wMiAgRHVuY2FuIFdp
bGNveCAgPGR1bmNhbkBtY2xpbmsuaXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIGZpeCBmb3IgPGh0dHA6Ly9idWd6aWxs
YS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxMT46CisgICAgICAgICJFZGl0aW5n
IGRlbGVnYXRlIHNlbGVjdGlvbiBtZXRob2RzIG5vdCBjYWxsZWQgd2hlbiB1c2luZyBtb3VzZSIK
KworICAgICAgICBUZXN0IGNhc2VzIGFkZGVkOiBub25lCisKKyAgICAgICAgQ2xpY2tpbmcgb24g
ZWRpdGFibGUgY29udGVudCB3b3VsZCBtb3ZlIHRoZSBjdXJzb3Igb3IgYWx0ZXIgdGhlIHNlbGVj
dGlvbiB3aXRob3V0CisgICAgICAgIGNhbGxpbmcgdGhlIGFwcHJvcHJpYXRlIGVkaXRpbmcgZGVs
ZWdhdGUgbWV0aG9kCisgICAgICAgICh3ZWJWaWV3OnNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFu
Z2U6dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGluZzopLiBUaGUKKyAgICAgICAgY29y
ZSBvZiB0aGUgcGF0Y2ggaXMgaW4gdGhlIEtIVE1MUGFydDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
KiBtZXRob2RzLCB0aGUgcmVzdAorICAgICAgICBpcyBnbHVlIG5lZWRlZCB0byBkcmlsbCB0aHJv
dWdoIGFsbCB0aGUgbGF5ZXJzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQuc3VicHJvai9X
ZWJCcmlkZ2UubToKKyAgICAgICAgKC1bV2ViQnJpZGdlIHNob3VsZENoYW5nZVNlbGVjdGVkRE9N
UmFuZ2U6dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGluZzpdKToKKyAgICAgICAgQnJp
ZGdlIGdsdWUuCisKKyAgICAgICAgKiBXZWJWaWV3LnN1YnByb2ovV2ViVmlldy5tOgorICAgICAg
ICAoLVtXZWJWaWV3KFdlYlZpZXdFZGl0aW5nRXh0cmFzKSBfc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
T01SYW5nZTp0b0RPTVJhbmdlOmFmZmluaXR5OnN0aWxsU2VsZWN0aW5nOl0pOgorICAgICAgICBG
aW5hbCBzdGVwIGluIGdsdWUsIGNhbGxpbmcgZWRpdGluZyBkZWxlZ2F0ZS4KKworICAgICAgICAq
IFdlYlZpZXcuc3VicHJvai9XZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAgICAgQWRkZWQgX3Nob3Vs
ZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6dG9ET01SYW5nZTphZmZpbml0eTpzdGlsbFNlbGVjdGlu
ZzogcHJpdmF0ZSBtZXRob2QgdG8gV2ViVmlld0VkaXRpbmdFeHRyYXMKKyAgICAgICAgY2F0ZWdv
cnkuCisKKwogMjAwNS0wOC0wMSAgSm9obiBTdWxsaXZhbiAgPHN1bGxpdmFuQGFwcGxlLmNvbT4K
IAogICAgICAgICAqIFB1YmxpY0hlYWRlckNoYW5nZXNGcm9tVGlnZXIudHh0OgpJbmRleDogLi9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQuc3VicHJvai9XZWJCcmlkZ2UubQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3ZzL3Jvb3QvV2ViS2l0L1dlYkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdlLm0s
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzY1CmRpZmYgLXAgLXUgLXIxLjM2NSAuL1dlYktpdC9X
ZWJDb3JlU3VwcG9ydC5zdWJwcm9qL1dlYkJyaWRnZS5tCi0tLSAuL1dlYktpdC9XZWJDb3JlU3Vw
cG9ydC5zdWJwcm9qL1dlYkJyaWRnZS5tCTMwIEp1bCAyMDA1IDAzOjAwOjI3IC0wMDAwCTEuMzY1
CisrKyAuL1dlYktpdC9XZWJDb3JlU3VwcG9ydC5zdWJwcm9qL1dlYkJyaWRnZS5tCTIgQXVnIDIw
MDUgMDA6Mjc6NDUgLTAwMDAKQEAgLTE0NTEsNiArMTQ1MSwxMSBAQCBzdGF0aWMgaWQgPFdlYkZv
cm1EZWxlZ2F0ZT4gZm9ybURlbGVnYXRlCiAgICAgcmV0dXJuIFtbX2ZyYW1lIHdlYlZpZXddIGlz
RWRpdGFibGVdOwogfQogCistIChCT09MKXNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KERP
TVJhbmdlICopY3VycmVudFJhbmdlIHRvRE9NUmFuZ2U6KERPTVJhbmdlICopcHJvcG9zZWRSYW5n
ZSBhZmZpbml0eTooTlNTZWxlY3Rpb25BZmZpbml0eSlzZWxlY3Rpb25BZmZpbml0eSBzdGlsbFNl
bGVjdGluZzooQk9PTClmbGFnCit7CisgICAgcmV0dXJuIFtbX2ZyYW1lIHdlYlZpZXddIF9zaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOmN1cnJlbnRSYW5nZSB0b0RPTVJhbmdlOnByb3Bvc2Vk
UmFuZ2UgYWZmaW5pdHk6c2VsZWN0aW9uQWZmaW5pdHkgc3RpbGxTZWxlY3Rpbmc6ZmxhZ107Cit9
CisKIC0gKEJPT0wpc2hvdWxkQmVnaW5FZGl0aW5nOihET01SYW5nZSAqKXJhbmdlCiB7CiAgICAg
cmV0dXJuIFtbX2ZyYW1lIHdlYlZpZXddIF9zaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJhbmdlOnJh
bmdlXTsKSW5kZXg6IC4vV2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJWaWV3Lm0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJWaWV3LnN1YnByb2ovV2ViVmlldy5tLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjMwMApkaWZmIC1wIC11IC1yMS4zMDAgLi9XZWJLaXQvV2Vi
Vmlldy5zdWJwcm9qL1dlYlZpZXcubQotLS0gLi9XZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYlZp
ZXcubQkzMCBKdWwgMjAwNSAwMzowMDoyOCAtMDAwMAkxLjMwMAorKysgLi9XZWJLaXQvV2ViVmll
dy5zdWJwcm9qL1dlYlZpZXcubQkyIEF1ZyAyMDA1IDAwOjI3OjU0IC0wMDAwCkBAIC0yNzEwLDYg
KzI3MTAsMTEgQEAgc3RhdGljIFdlYkZyYW1lICppbmNyZW1lbnRGcmFtZShXZWJGcmFtZQogICAg
IHJldHVybiBbYnJpZGdlIGVkaXRhYmxlRE9NUmFuZ2VGb3JQb2ludDpbc2VsZiBjb252ZXJ0UG9p
bnQ6cG9pbnQgdG9WaWV3OltbW2JyaWRnZSB3ZWJGcmFtZV0gZnJhbWVWaWV3XSBkb2N1bWVudFZp
ZXddXV07CiB9CiAKKy0gKEJPT0wpX3Nob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KERPTVJh
bmdlICopY3VycmVudFJhbmdlIHRvRE9NUmFuZ2U6KERPTVJhbmdlICopcHJvcG9zZWRSYW5nZSBh
ZmZpbml0eTooTlNTZWxlY3Rpb25BZmZpbml0eSlzZWxlY3Rpb25BZmZpbml0eSBzdGlsbFNlbGVj
dGluZzooQk9PTClmbGFnOworeworICAgIHJldHVybiBbW3NlbGYgX2VkaXRpbmdEZWxlZ2F0ZUZv
cndhcmRlcl0gd2ViVmlldzpzZWxmIHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6Y3VycmVu
dFJhbmdlIHRvRE9NUmFuZ2U6cHJvcG9zZWRSYW5nZSBhZmZpbml0eTpzZWxlY3Rpb25BZmZpbml0
eSBzdGlsbFNlbGVjdGluZzpmbGFnXTsKK30KKwogLSAoQk9PTClfc2hvdWxkQmVnaW5FZGl0aW5n
SW5ET01SYW5nZTooRE9NUmFuZ2UgKilyYW5nZQogewogICAgIHJldHVybiBbW3NlbGYgX2VkaXRp
bmdEZWxlZ2F0ZUZvcndhcmRlcl0gd2ViVmlldzpzZWxmIHNob3VsZEJlZ2luRWRpdGluZ0luRE9N
UmFuZ2U6cmFuZ2VdOwpJbmRleDogLi9XZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYlZpZXdJbnRl
cm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJLaXQvV2ViVmlldy5zdWJw
cm9qL1dlYlZpZXdJbnRlcm5hbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIwCmRpZmYgLXAg
LXUgLXIxLjIwIC4vV2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJWaWV3SW50ZXJuYWwuaAotLS0g
Li9XZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYlZpZXdJbnRlcm5hbC5oCTMwIEp1bCAyMDA1IDAz
OjAwOjI5IC0wMDAwCTEuMjAKKysrIC4vV2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJWaWV3SW50
ZXJuYWwuaAkyIEF1ZyAyMDA1IDAwOjI3OjU0IC0wMDAwCkBAIC0xMjIsNiArMTIyLDcgQEAKIAog
QGludGVyZmFjZSBXZWJWaWV3IChXZWJWaWV3RWRpdGluZ0V4dHJhcykKIC0gKEJPT0wpX2ludGVy
Y2VwdEVkaXRpbmdLZXlFdmVudDooTlNFdmVudCAqKWV2ZW50OworLSAoQk9PTClfc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTooRE9NUmFuZ2UgKiljdXJyZW50UmFuZ2UgdG9ET01SYW5nZToo
RE9NUmFuZ2UgKilwcm9wb3NlZFJhbmdlIGFmZmluaXR5OihOU1NlbGVjdGlvbkFmZmluaXR5KXNl
bGVjdGlvbkFmZmluaXR5IHN0aWxsU2VsZWN0aW5nOihCT09MKWZsYWc7CiAtIChCT09MKV9zaG91
bGRCZWdpbkVkaXRpbmdJbkRPTVJhbmdlOihET01SYW5nZSAqKXJhbmdlOwogLSAoQk9PTClfc2hv
dWxkRW5kRWRpdGluZ0luRE9NUmFuZ2U6KERPTVJhbmdlICopcmFuZ2U7CiAtIChCT09MKV9jYW5Q
YXN0ZTsK
</data>
<flag name="review"
          id="308"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3240</attachid>
            <date>2005-08-06 09:00:51 -0700</date>
            <delta_ts>2005-08-06 09:00:51 -0700</delta_ts>
            <desc>layout test (crashes webcore)</desc>
            <filename>selection-editing-delegate.html</filename>
            <type>text/plain</type>
            <size>800</size>
            <attacher name="Duncan Wilcox">duncan</attacher>
            
              <data encoding="base64">PGhlYWQ+CjxzY3JpcHQ+CmZ1bmN0aW9uIHByaW50KG1lc3NhZ2UpCnsKICAgIHZhciBwYXJhZ3Jh
cGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwogICAgcGFyYWdyYXBoLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQocGFyYWdyYXBoKTsKfQpmdW5jdGlvbiB0
ZXN0KCkKewovLyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQovLyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoKICAgIGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCJNb3VzZUV2ZW50IikuaW5pdE1vdXNlRXZlbnQoImNsaWNrIiwgdHJ1ZSwgdHJ1ZSwgZG9j
dW1lbnQuZGVmYXVsdFZpZXcsIDEsIDEwLCAxMCwgMTAsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgMCwgZG9jdW1lbnQpOwogICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudCgiTW91c2VF
dmVudCIpOwogICAgcHJpbnQoIkNyZWF0ZWQgYSBNb3VzZUV2ZW50IG9iamVjdC4iKTsKfQo8L3Nj
cmlwdD4KPC9oZWFkPgo8Ym9keSBjb250ZW50ZWRpdGFibGUgb25sb2FkPSJ0ZXN0KCkiIGlkPSJy
b290Ij4KPHA+ZWRpdGFibGUgY29udGVudCBlZGl0YWJsZSBjb250ZW50IGVkaXRhYmxlIGNvbnRl
bnQgZWRpdGFibGUgY29udGVudCBlZGl0YWJsZSBjb250ZW50IGVkaXRhYmxlIGNvbnRlbnQgZWRp
dGFibGUgY29udGVudDwvcD4KPGhyPgo8cD48b2wgaWQ9Y29uc29sZT48L29sPjwvcD4KPC9ib2R5
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>