<?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>155390</bug_id>
          
          <creation_ts>2016-03-12 05:50:32 -0800</creation_ts>
          <short_desc>eventMayStartDrag() does not check for shiftKey or isOverLink</short_desc>
          <delta_ts>2016-04-15 10:38:31 -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>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>155314</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>enrica</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1174028</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-12 05:50:32 -0800</bug_when>
    <thetext>This is a follow up of Darin&apos;s comment in https://bugs.webkit.org/show_bug.cgi?id=155314#c9.

Basically in bug 155314, in order to make shift+click not trigger drag-n-drop when extending an existing selection, we changed the way m_mouseDownMayStartDrag is set on EventHandler::handleMousePressEvent, as shown below:

-    m_mouseDownMayStartDrag = singleClick;
+    m_mouseDownMayStartDrag = singleClick &amp;&amp; (!event.event().shiftKey() || event.isOverLink());

Although makes a desired change in WebKit&apos;s editing behavior (as per [1] and [2]), it makes this setter code get out of sync with eventMayStartDrag.

Bug is about investigating the implications, and sync both pieces up again.

[1] https://bugs.webkit.org/show_bug.cgi?id=155314#c4
[2] https://bugs.webkit.org/show_bug.cgi?id=155314#c8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174029</commentid>
    <comment_count>1</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-12 05:53:13 -0800</bug_when>
    <thetext>Relevant commit:

commit ad24ce63d491cafd164c9a233aef4b7ad6deedba
Author: enrica@apple.com &lt;enrica@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc&gt;
Date:   Tue Apr 12 23:51:59 2011 +0000

    Implement non-activating clicks to allow dragging out of a background window.
    https://bugs.webkit.org/show_bug.cgi?id=55053
    &lt;rdar://problem/9042197&gt;
    
    Source/WebCore: (...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174189</commentid>
    <comment_count>2</comment_count>
      <attachid>273892</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-13 07:41:26 -0700</bug_when>
    <thetext>Created attachment 273892
Patch v2.1

Proper expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179127</commentid>
    <comment_count>3</comment_count>
      <attachid>275206</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-30 11:48:56 -0700</bug_when>
    <thetext>Created attachment 275206
Patch v1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179129</commentid>
    <comment_count>4</comment_count>
      <attachid>275207</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-30 12:07:12 -0700</bug_when>
    <thetext>Created attachment 275207
Patch v1.1 - fix iOS build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179326</commentid>
    <comment_count>5</comment_count>
      <attachid>275265</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-30 21:43:18 -0700</bug_when>
    <thetext>Created attachment 275265
Patch v1.2 - fix iOS build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179424</commentid>
    <comment_count>6</comment_count>
      <attachid>275265</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-03-31 08:49:11 -0700</bug_when>
    <thetext>Comment on attachment 275265
Patch v1.2 - fix iOS build.

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

&gt; Source/WebCore/page/EventHandler.cpp:741
&gt; +static bool checkMouseEventPrerequisitesForTriggerDragging(const MouseEventWithHitTestResults&amp; event)

It’s not good to have a function that returns a boolean be named with the verb &quot;check&quot;. I think this should be named &quot;eventShouldTriggerDragging&quot;.

&gt; Source/WebCore/page/EventHandler.cpp:743
&gt; +    PlatformMouseEvent platformEvent = event.event();

I don’t think we want to copy the platform event here. If event() returns a reference then we should put the result into a reference and not copy it. I’d use the type auto&amp;.

I kind of hate the word platform in the name of this local variable.

&gt; Source/WebCore/page/EventHandler.cpp:747
&gt; +    // Single mouse down on links or images can always trigger drag-n-drop.

It’s a little strange to have the words &quot;single mouse down&quot; here *after* the code that checks for single mouse down. It would be nicer to have the code say what the comment says. That could mean, for example, a helper function called isSingleMouseDownOnLinkOrImage. The words used in the comment are often a clue to what great names for the actual code would be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179471</commentid>
    <comment_count>7</comment_count>
      <attachid>275301</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-31 11:06:25 -0700</bug_when>
    <thetext>Created attachment 275301
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179474</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 11:07:57 -0700</bug_when>
    <thetext>Attachment 275301 did not pass style-queue:


ERROR: Source/WebCore/page/EventHandler.cpp:752:  Extra space before last semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179478</commentid>
    <comment_count>9</comment_count>
      <attachid>275302</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-31 11:12:48 -0700</bug_when>
    <thetext>Created attachment 275302
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179530</commentid>
    <comment_count>10</comment_count>
      <attachid>275302</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 12:25:43 -0700</bug_when>
    <thetext>Comment on attachment 275302
Patch for landing.

Clearing flags on attachment: 275302

Committed r198909: &lt;http://trac.webkit.org/changeset/198909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179531</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 12:25:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182867</commentid>
    <comment_count>12</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-04-11 16:18:35 -0700</bug_when>
    <thetext>This was reopened because it was rolled out in http://trac.webkit.org/changeset/199317
When double-clicking and dragging text to highlight (such as on this very bugzilla page), this patch made it so we would drag the text instead of highlighting more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182891</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-11 17:14:07 -0700</bug_when>
    <thetext>Before landing this again we should make a test case for the &quot;double click and drag&quot; case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182959</commentid>
    <comment_count>14</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-04-11 21:05:52 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; This was reopened because it was rolled out in
&gt; http://trac.webkit.org/changeset/199317
&gt; When double-clicking and dragging text to highlight (such as on this very
&gt; bugzilla page), this patch made it so we would drag the text instead of
&gt; highlighting more.

Easily reproducible here too.

I will make sure new patch will be accompanied by a layout test for the double click + drag = select (not drag&apos;n drop) case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184114</commentid>
    <comment_count>15</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-04-15 10:38:31 -0700</bug_when>
    <thetext>Prior to bug 155314, the &quot;can event start drag&quot; logic in  EventHandler::handleMousePressEvent was not taking links and images explicitly into account. We fixed this as part of bug 155314, by making it an explicit check and adding tests.

Then, we filed this bug here (bug 155390) to pair up the logics EventHandler::handleMousePressEvent and EventHandler::eventMayStartDrag with regards to taking images and links into account to start dragging.

The point is, after understanding the situation a bit better...

By the time bug 155314 was fixed, we actually did pair up the logic in EventHandler::handleMousePressEvent and EventHandler::eventMayStartDrag.
This is because the ::eventMayStartDrag already calls DragController::draggableElement which does take links and images into account to trigger dragging.

Last, about the &apos;shiftKey&apos; check that happens in EventHandler::eventMayStartDrag but does not happen in EventHandler::eventMayStartDrag, IMO it does not make sense for now to add it to the later, because of the how/why ::eventMayStartDrag method is used.

Current ::eventMayStartDrag is called by WebPage (see Source/WebKit2//WebProcess/WebPage/mac/WebPageMac.mm) in order to delay bringing a background host window foreground. It currently only affects dragging a selected content, and I do not think this bug should change this behavior.

I believe this bug is non-actionable. Thus, WONTFIX.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>273892</attachid>
            <date>2016-03-13 07:41:26 -0700</date>
            <delta_ts>2016-03-13 07:43:01 -0700</delta_ts>
            <desc>Patch v2.1</desc>
            <filename>0001-Selecting-with-shift-drag-results-in-unexpected-drag.patch</filename>
            <type>text/plain</type>
            <size>14615</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA3MGVkOGM3YzJkYTJlYjJhYmEwZDA4YmUxYmQ0Y2UxN2I2NzI3MGFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVGh1LCAxMCBNYXIgMjAxNiAxNTo1Nzo0MSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFNl
bGVjdGluZyB3aXRoIHNoaWZ0K2RyYWcgcmVzdWx0cyBpbiB1bmV4cGVjdGVkIGRyYWctbi1kcm9w
CiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MzE0CgpSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KClNvdXJjZS9XZWJDb3JlOgoKVGVzdDogZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tbm8tZHJhZy1uLWRyb3AuaHRtbAoKV2hlbmV2ZXIgdXNl
ciB0cmllcyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gYnkgZHJhZ2dpbmcg
dGhlIG1vdXNlCihsZWZ0IGJ1dHRvbiBob2xkKSB3aXRoIHNoaWZ0IGtleSBwcmVzc2VkLCBXZWJL
aXQgZW50ZXJzIGRyYWctbi1kcm9wIG1vZGUuClRoaXMgYmVoYXZpb3IgZG9lcyBub3QgbWF0Y2gg
Y29tbW9uIGVkaXRpbmcgYmVoYXZpb3Igb3V0IHRoZXJlLCBpbmNsdWRpbmcgb3RoZXIKYnJvd3Nl
cnMnIChGaXJlZm94LCBPcGVyYS9QcmVzdG8gYW5kIElFKS4KClBhdGNoIGNoYW5nZXMgV2ViS2l0
IHNvIHRoYXQgd2hlbmV2ZXIgb25lIGV4dGVuZHMgYSBzZWxlY3Rpb24gd2l0aCBtb3VzZQphbmQg
c2hpZnQga2V5IHByZXNzZWQgb2ZmIG9mIGEgI3RleHQgbm9kZSwgaXQgZG9lcyBub3QgZW50ZXIg
ZHJhZy1uLWRyb3AgbW9kZS4KCkFkZGl0aW9uYWxseSwgcGF0Y2ggYWxzbyBhZGRzIHNvbWUgZnVy
dGhlciB0ZXN0cyB0byBlbnN1cmUgdGhhdCB3aGVuCnNlbGVjdGlvbiBpcyBleHRlbmRlZCBvZmYg
b2YgZWl0aGVyIGEgbGluayBvciBhbiBpbWFnZSwgZHJhZy1uLWRyb3AgZG9lcwpnZXQgdHJpZ2dl
cmVkLCBubyBtYXR0ZXIgaWYgc2hpZnQga2V5IGlzIHByZXNzZWQuCgoqIHBhZ2UvRXZlbnRIYW5k
bGVyLmNwcDoKKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToK
CkxheW91dFRlc3RzOgoKVGVzdHMgdGhhdCBlbnN1cmUgdGhhdCBXZWJLaXQ6CgoxKSBkb2VzIG5v
dCBlbnRlciBkcmFnLW4tZHJvcCBtb2RlIGFuZCBleHRlbmRpbmcgc2VsZWN0aW9uIGJ5IGRyYWdn
aW5nIHdpdGggbW91c2Ugd2l0aCBzaGlmdCBrZXkgaXMgcHJlc3NlZCwKICAgb2ZmIG9mIGEgI3Rl
eHQgbm9kZS4KMikgZG9lcyBlbnRlciBkcmFnLW4tZHJvcCBtb2RlIGFuZCBleHRlbmRpbmcgc2Vs
ZWN0aW9uIGJ5IGRyYWdnaW5nIHdpdGggbW91c2Ugd2l0aCBzaGlmdCBrZXkgaXMgcHJlc3NlZCwK
ICAgb2ZmIG9mIGEgbGluay4KMykgZG9lcyBlbnRlciBkcmFnLW4tZHJvcCBtb2RlIGFuZCBleHRl
bmRpbmcgc2VsZWN0aW9uIGJ5IGRyYWdnaW5nIHdpdGggbW91c2Ugd2l0aCBzaGlmdCBrZXkgaXMg
cHJlc3NlZCwKICAgb2ZmIG9mIGFuIGltYWdlLgoKTm90ZSB0aGF0ICgxKSBpcyBhIGJlaGF2aW9y
IGNoYW5nZWQgYnkgdGhpcyBwYXRjaCwgd2hlcmVhcyAoMikgYW5kICgzKSByZXByZXNlbnQgZXhp
c3RpbmcKYmVoYXZpb3Igd2hpY2ggaXMga2VwdC4KCiogZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQt
ZHJhZy1zZWxlY3Rpb24tbm8tZHJhZy1uLWRyb3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBlZGl0
aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1uby1kcmFnLW4tZHJvcC5odG1sOiBB
ZGRlZC4KKiBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1vbi1saW5rLXRy
aWdnZXJzLWRyYWctbi1kcm9wLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tb24tbGluay10cmlnZ2Vycy1kcmFnLW4tZHJvcC5odG1s
OiBBZGRlZC4KKiBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1vbi1pbWFn
ZS10cmlnZ2Vycy1kcmFnLW4tZHJvcC1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIGVkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWltYWdlLXRyaWdnZXJzLWRyYWctbi1kcm9w
Lmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKwogLi4uaGlmdC1kcmFnLXNlbGVjdGlvbi1u
by1kcmFnLW4tZHJvcC1leHBlY3RlZC50eHQgfCAgNCArKwogLi4uL3NoaWZ0LWRyYWctc2VsZWN0
aW9uLW5vLWRyYWctbi1kcm9wLmh0bWwgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysK
IC4uLnRpb24tb24taW1hZ2UtdHJpZ2dlcnMtZHJhZy1uLWRyb3AtZXhwZWN0ZWQudHh0IHwgIDQg
KysKIC4uLmFnLXNlbGVjdGlvbi1vbi1pbWFnZS10cmlnZ2Vycy1kcmFnLW4tZHJvcC5odG1sIHwg
NDUgKysrKysrKysrKysrKysrKysrKysrKwogLi4uY3Rpb24tb24tbGluay10cmlnZ2Vycy1kcmFn
LW4tZHJvcC1leHBlY3RlZC50eHQgfCAgNCArKwogLi4ucmFnLXNlbGVjdGlvbi1vbi1saW5rLXRy
aWdnZXJzLWRyYWctbi1kcm9wLmh0bWwgfCA0MyArKysrKysrKysrKysrKysrKysrKysKIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjQgKysrKysr
KysrKysrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgICAgICAgICAgICAg
ICB8IDEwICsrKystCiA5IGZpbGVzIGNoYW5nZWQsIDIwMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
c2hpZnQtZHJhZy1zZWxlY3Rpb24tbm8tZHJhZy1uLWRyb3AtZXhwZWN0ZWQudHh0CiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxl
Y3Rpb24tbm8tZHJhZy1uLWRyb3AuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWltYWdlLXRyaWdnZXJz
LWRyYWctbi1kcm9wLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWltYWdlLXRyaWdnZXJz
LWRyYWctbi1kcm9wLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1vbi1saW5rLXRyaWdnZXJzLWRyYWctbi1k
cm9wLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWxpbmstdHJpZ2dlcnMtZHJhZy1uLWRy
b3AuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5ZjUzNjk1Li5kYmIzOThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTYtMDMtMTAgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBTZWxlY3Rpbmcgd2l0aCBzaGlmdCtkcmFnIHJlc3VsdHMgaW4gdW5leHBlY3RlZCBkcmFn
LW4tZHJvcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU1MzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGVz
dHMgdGhhdCBlbnN1cmUgdGhhdCBXZWJLaXQ6CisKKyAgICAgICAgMSkgZG9lcyBub3QgZW50ZXIg
ZHJhZy1uLWRyb3AgbW9kZSBhbmQgZXh0ZW5kaW5nIHNlbGVjdGlvbiBieSBkcmFnZ2luZyB3aXRo
IG1vdXNlIHdpdGggc2hpZnQga2V5IGlzIHByZXNzZWQsCisgICAgICAgICAgIG9mZiBvZiBhICN0
ZXh0IG5vZGUuCisgICAgICAgIDIpIGRvZXMgZW50ZXIgZHJhZy1uLWRyb3AgbW9kZSBhbmQgZXh0
ZW5kaW5nIHNlbGVjdGlvbiBieSBkcmFnZ2luZyB3aXRoIG1vdXNlIHdpdGggc2hpZnQga2V5IGlz
IHByZXNzZWQsCisgICAgICAgICAgIG9mZiBvZiBhIGxpbmsuCisgICAgICAgIDMpIGRvZXMgZW50
ZXIgZHJhZy1uLWRyb3AgbW9kZSBhbmQgZXh0ZW5kaW5nIHNlbGVjdGlvbiBieSBkcmFnZ2luZyB3
aXRoIG1vdXNlIHdpdGggc2hpZnQga2V5IGlzIHByZXNzZWQsCisgICAgICAgICAgIG9mZiBvZiBh
biBpbWFnZS4KKworICAgICAgICBOb3RlIHRoYXQgKDEpIGlzIGEgYmVoYXZpb3IgY2hhbmdlZCBi
eSB0aGlzIHBhdGNoLCB3aGVyZWFzICgyKSBhbmQgKDMpIHJlcHJlc2VudCBleGlzdGluZworICAg
ICAgICBiZWhhdmlvciB3aGljaCBpcyBrZXB0LgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rp
b24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tbm8tZHJhZy1uLWRyb3AtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1uby1k
cmFnLW4tZHJvcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1kcmFnLXNlbGVjdGlvbi1vbi1saW5rLXRyaWdnZXJzLWRyYWctbi1kcm9wLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rp
b24tb24tbGluay10cmlnZ2Vycy1kcmFnLW4tZHJvcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1vbi1pbWFnZS10cmlnZ2Vycy1k
cmFnLW4tZHJvcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0
aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWltYWdlLXRyaWdnZXJzLWRyYWctbi1kcm9wLmh0
bWw6IEFkZGVkLgorCiAyMDE2LTAzLTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFkZCA6ZGVmaW5lZCBzdXBwb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1uby1kcmFnLW4tZHJvcC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNl
bGVjdGlvbi1uby1kcmFnLW4tZHJvcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMWRkZWY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW5vLWRyYWctbi1kcm9wLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIGRyYWctbi1kcm9wIGRv
ZXMgbm90IHN0YXJ0IHdoZW4gZXh0ZW5kaW5nIGFuIGV4aXN0aW5nIHNlbGVjdGluZyB3aXRoIHNo
aWZ0ICsgbW91c2UgZHJhZywgc3RhcnRpbmcgb3ZlciBhICN0ZXh0LgorCisgRHJhZyBjb3VudDog
MAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFn
LXNlbGVjdGlvbi1uby1kcmFnLW4tZHJvcC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tbm8tZHJhZy1uLWRyb3AuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmNlYTYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tbm8tZHJhZy1u
LWRyb3AuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgZW5zdXJlcyBkcmFnLW4tZHJvcCBkb2VzIG5vdCBzdGFydCB3aGVu
IGV4dGVuZGluZyBhbiBleGlzdGluZyBzZWxlY3Rpbmcgd2l0aCBzaGlmdCArIG1vdXNlIGRyYWcs
IHN0YXJ0aW5nIG92ZXIgYSAjdGV4dC48L3A+Cis8c3BhbiBzdHlsZT0nZm9udC1zaXplOiA1MHB4
OyBwYWRkaW5nOiAxMHB4Oyc+aGVsbG8gd29ybGQ8L3NwYW4+Cis8cHJlPgorPHNjcmlwdD4KKwor
dmFyIHNwYW4gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc3BhbicpWzBdOworc3Bh
bi5mb2N1cygpOworCit2YXIgZHJhZ1N0YXJ0Q291bnQgPSAwOworZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcignZHJhZ3N0YXJ0JywgZnVuY3Rpb24gKGV2ZW50KSB7IGRyYWdTdGFydENvdW50Kys7
IH0pOworCitpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpCisg
ICAgZG9jdW1lbnQud3JpdGUoJ1RoaXMgdGVzdCByZXF1aXJlcyBldmVudFNlbmRlcicpOworZWxz
ZSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgeSA9IHNwYW4ub2Zm
c2V0VG9wICsgc3Bhbi5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHNwYW4ub2Zmc2V0TGVmdCArIDUsIHkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigp
OworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIwMCk7CisgICAgZXZlbnRTZW5kZXIubW91
c2VVcCgpOworCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3Bhbi5vZmZzZXRMZWZ0ICsg
c3Bhbi5vZmZzZXRXaWR0aCAvIDQsIHkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwLCBb
J3NoaWZ0S2V5J10pOworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIwMCk7CisgICAgZXZl
bnRTZW5kZXIubW91c2VVcCgpOworCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3Bhbi5v
ZmZzZXRMZWZ0ICsgc3Bhbi5vZmZzZXRXaWR0aCAvIDIsIHkpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigwLCBbJ3NoaWZ0S2V5J10pOworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIw
MCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3Bhbi5vZmZzZXRMZWZ0ICsgc3Bhbi5v
ZmZzZXRXaWR0aCwgeSk7CisgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMjAwKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAgICBkb2N1bWVudC53cml0ZWxuKCJEcmFnIGNvdW50
OiAiICsgZHJhZ1N0YXJ0Q291bnQpOworICAgIHNwYW4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChz
cGFuKTsKK30KKzwvc2NyaXB0PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tb24taW1h
Z2UtdHJpZ2dlcnMtZHJhZy1uLWRyb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tb24taW1hZ2UtdHJpZ2dlcnMtZHJhZy1u
LWRyb3AtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRk
MDQ5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
aGlmdC1kcmFnLXNlbGVjdGlvbi1vbi1pbWFnZS10cmlnZ2Vycy1kcmFnLW4tZHJvcC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlzIHRlc3QgZW5zdXJlcyBkcmFnLW4tZHJvcCBkb2Vz
IHN0YXJ0IHdoZW4gZXh0ZW5kaW5nIGFuIGV4aXN0aW5nIHNlbGVjdGluZyB3aXRoIHNoaWZ0ICsg
bW91c2UgZHJhZywgc3RhcnRpbmcgb3ZlciBhbiBpbWFnZS4KKworIERyYWcgY291bnQ6IDEKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxl
Y3Rpb24tb24taW1hZ2UtdHJpZ2dlcnMtZHJhZy1uLWRyb3AuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWltYWdlLXRyaWdnZXJzLWRy
YWctbi1kcm9wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE3NTVj
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0
LWRyYWctc2VsZWN0aW9uLW9uLWltYWdlLXRyaWdnZXJzLWRyYWctbi1kcm9wLmh0bWwKQEAgLTAs
MCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IGVuc3VyZXMgZHJhZy1uLWRyb3AgZG9lcyBzdGFydCB3aGVuIGV4dGVuZGluZyBhbiBleGlzdGlu
ZyBzZWxlY3Rpbmcgd2l0aCBzaGlmdCArIG1vdXNlIGRyYWcsIHN0YXJ0aW5nIG92ZXIgYW4gaW1h
Z2UuPC9wPgorPHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTogMzBweDsgcGFkZGluZzogMTBweDsnPlNv
bWUgdGV4dCB3aXRoIGFuIGltYWdlIDxpbWcgc3JjPSJyZXNvdXJjZXMvd2Via2l0LWxvZ28ucG5n
IiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPiBhdCBlbmQuPC9zcGFuPgorPHByZT4KKzxzY3JpcHQ+
CisKK3ZhciBzcGFuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NwYW4nKVswXTsK
K3NwYW4uZm9jdXMoKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdpbWcnKVswXTsKKwordmFyIGRyYWdTdGFydENvdW50ID0gMDsKK2RvY3VtZW50LmFkZEV2ZW50
TGlzdGVuZXIoJ2RyYWdzdGFydCcsIGZ1bmN0aW9uIChldmVudCkgeyBkcmFnU3RhcnRDb3VudCsr
OyB9KTsKKworaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKQor
ICAgIGRvY3VtZW50LndyaXRlKCdUaGlzIHRlc3QgcmVxdWlyZXMgZXZlbnRTZW5kZXInKTsKK2Vs
c2UgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgdmFyIHkgPSBzcGFuLm9m
ZnNldFRvcCArIHNwYW4ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyhzcGFuLm9mZnNldExlZnQgKyA1LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24o
KTsKKyAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgyMDApOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHNwYW4ub2Zmc2V0TGVmdCAr
IHNwYW4ub2Zmc2V0V2lkdGggLyA0LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oMCwg
WydzaGlmdEtleSddKTsKKyAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgyMDApOworICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoKTsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGltZy5v
ZmZzZXRMZWZ0ICsgaW1nLm9mZnNldFdpZHRoIC8gMiAsIHkpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigwLCBbJ3NoaWZ0S2V5J10pOworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIw
MCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaW1nLm9mZnNldExlZnQgKyBpbWcub2Zm
c2V0V2lkdGggLyAyICwgeSArIDEyMCk7CisgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMjAw
KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAgICBkb2N1bWVudC53cml0ZWxuKCJE
cmFnIGNvdW50OiAiICsgZHJhZ1N0YXJ0Q291bnQpOworICAgIHNwYW4ucGFyZW50Tm9kZS5yZW1v
dmVDaGlsZChzcGFuKTsKK30KKzwvc2NyaXB0PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rp
b24tb24tbGluay10cmlnZ2Vycy1kcmFnLW4tZHJvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1kcmFnLXNlbGVjdGlvbi1vbi1saW5rLXRyaWdnZXJz
LWRyYWctbi1kcm9wLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5iYzlhMjFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vc2hpZnQtZHJhZy1zZWxlY3Rpb24tb24tbGluay10cmlnZ2Vycy1kcmFnLW4tZHJvcC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlzIHRlc3QgZW5zdXJlcyBkcmFnLW4tZHJv
cCBkb2VzIHN0YXJ0IHdoZW4gZXh0ZW5kaW5nIGFuIGV4aXN0aW5nIHNlbGVjdGluZyB3aXRoIHNo
aWZ0ICsgbW91c2UgZHJhZywgc3RhcnRpbmcgb3ZlciBhIGxpbmsuCisKKyBEcmFnIGNvdW50OiAx
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWRyYWct
c2VsZWN0aW9uLW9uLWxpbmstdHJpZ2dlcnMtZHJhZy1uLWRyb3AuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL3NoaWZ0LWRyYWctc2VsZWN0aW9uLW9uLWxpbmstdHJpZ2dlcnMt
ZHJhZy1uLWRyb3AuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjNl
OTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hp
ZnQtZHJhZy1zZWxlY3Rpb24tb24tbGluay10cmlnZ2Vycy1kcmFnLW4tZHJvcC5odG1sCkBAIC0w
LDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBlbnN1cmVzIGRyYWctbi1kcm9wIGRvZXMgc3RhcnQgd2hlbiBleHRlbmRpbmcgYW4gZXhpc3Rp
bmcgc2VsZWN0aW5nIHdpdGggc2hpZnQgKyBtb3VzZSBkcmFnLCBzdGFydGluZyBvdmVyIGEgbGlu
ay48L3A+Cis8c3BhbiBzdHlsZT0nZm9udC1zaXplOiAzMHB4OyBwYWRkaW5nOiAxMHB4Oyc+U29t
ZSB0ZXh0IHdpdGggYSA8YSBocmVmPSM+bGluayBpbiB0aGUgZW5kIG9mIHNlbnRlbmNlPC9hPi48
L3NwYW4+Cis8cHJlPgorPHNjcmlwdD4KKwordmFyIHNwYW4gPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnc3BhbicpWzBdOworc3Bhbi5mb2N1cygpOworCit2YXIgZHJhZ1N0YXJ0Q291
bnQgPSAwOworZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgZnVuY3Rpb24g
KGV2ZW50KSB7IGRyYWdTdGFydENvdW50Kys7IH0pOworCitpZiAoIXdpbmRvdy50ZXN0UnVubmVy
IHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgZG9jdW1lbnQud3JpdGUoJ1RoaXMgdGVzdCBy
ZXF1aXJlcyBldmVudFNlbmRlcicpOworZWxzZSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisKKyAgICB2YXIgeSA9IHNwYW4ub2Zmc2V0VG9wICsgc3Bhbi5vZmZzZXRIZWlnaHQgLyAy
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHNwYW4ub2Zmc2V0TGVmdCArIDUsIHkpOwor
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJk
KDIwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oc3Bhbi5vZmZzZXRMZWZ0ICsgc3Bhbi5vZmZzZXRXaWR0aCAvIDQsIHkpOworICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigwLCBbJ3NoaWZ0S2V5J10pOworICAgIGV2ZW50U2VuZGVy
LmxlYXBGb3J3YXJkKDIwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oc3Bhbi5vZmZzZXRMZWZ0ICsgc3Bhbi5vZmZzZXRXaWR0aCAq
IC43NSAsIHkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwLCBbJ3NoaWZ0S2V5J10pOwor
ICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oc3Bhbi5vZmZzZXRMZWZ0ICsgc3Bhbi5vZmZzZXRXaWR0aCAqIC43NSwgeSArIDEyMCk7
CisgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMjAwKTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CisKKyAgICBkb2N1bWVudC53cml0ZWxuKCJEcmFnIGNvdW50OiAiICsgZHJhZ1N0YXJ0
Q291bnQpOworICAgIHNwYW4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzcGFuKTsKK30KKzwvc2Ny
aXB0PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRmNzJjNGMuLjYyZTVk
ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNi0wMy0xMCAgQW50b25pbyBHb21l
cyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgorCisgICAgICAgIFNlbGVjdGluZyB3aXRoIHNoaWZ0
K2RyYWcgcmVzdWx0cyBpbiB1bmV4cGVjdGVkIGRyYWctbi1kcm9wCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUzMTQKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9zaGlm
dC1kcmFnLXNlbGVjdGlvbi1uby1kcmFnLW4tZHJvcC5odG1sCisKKyAgICAgICAgV2hlbmV2ZXIg
dXNlciB0cmllcyB0byBleHRlbmQgYW4gZXhpc3RpbmcgdGV4dCBzZWxlY3Rpb24gYnkgZHJhZ2dp
bmcgdGhlIG1vdXNlCisgICAgICAgIChsZWZ0IGJ1dHRvbiBob2xkKSB3aXRoIHNoaWZ0IGtleSBw
cmVzc2VkLCBXZWJLaXQgZW50ZXJzIGRyYWctbi1kcm9wIG1vZGUuCisgICAgICAgIFRoaXMgYmVo
YXZpb3IgZG9lcyBub3QgbWF0Y2ggY29tbW9uIGVkaXRpbmcgYmVoYXZpb3Igb3V0IHRoZXJlLCBp
bmNsdWRpbmcgb3RoZXIKKyAgICAgICAgYnJvd3NlcnMnIChGaXJlZm94LCBPcGVyYS9QcmVzdG8g
YW5kIElFKS4KKworICAgICAgICBQYXRjaCBjaGFuZ2VzIFdlYktpdCBzbyB0aGF0IHdoZW5ldmVy
IG9uZSBleHRlbmRzIGEgc2VsZWN0aW9uIHdpdGggbW91c2UKKyAgICAgICAgYW5kIHNoaWZ0IGtl
eSBwcmVzc2VkIG9mZiBvZiBhICN0ZXh0IG5vZGUsIGl0IGRvZXMgbm90IGVudGVyIGRyYWctbi1k
cm9wIG1vZGUuCisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBwYXRjaCBhbHNvIGFkZHMgc29tZSBm
dXJ0aGVyIHRlc3RzIHRvIGVuc3VyZSB0aGF0IHdoZW4KKyAgICAgICAgc2VsZWN0aW9uIGlzIGV4
dGVuZGVkIG9mZiBvZiBlaXRoZXIgYSBsaW5rIG9yIGFuIGltYWdlLCBkcmFnLW4tZHJvcCBkb2Vz
CisgICAgICAgIGdldCB0cmlnZ2VyZWQsIG5vIG1hdHRlciBpZiBzaGlmdCBrZXkgaXMgcHJlc3Nl
ZC4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKwogMjAxNi0wMy0xMCAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgOmRlZmluZWQgc3Vw
cG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDMwYTI2YTEuLmZjZmEw
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTczNCw2ICs3MzQsMTIg
QEAgc3RhdGljIGlubGluZSBib29sIGNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqIG5vZGUp
CiAgICAgcmV0dXJuIG5vZGUtPmNhblN0YXJ0U2VsZWN0aW9uKCkgfHwgUG9zaXRpb246Om5vZGVJ
c1VzZXJTZWxlY3RBbGwobm9kZSk7CiB9CiAKK3N0YXRpYyBib29sIGFsd2F5c1N0YXJ0RHJhZ0Fu
ZERyb3BGb3IoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCit7Cisg
ICAgLy8gTGlua3MgYW5kIGltYWdlcyBhbHdheXMgdHJpZ2dlciBkcmFnLW4tZHJvcCBkcmFnIHN0
YXJ0cyBvZmYgb2YgdGhlbS4KKyAgICByZXR1cm4gZXZlbnQuaXNPdmVyTGluaygpIHx8IGV2ZW50
LmhpdFRlc3RSZXN1bHQoKS5pbWFnZSgpOworfQorCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxl
TW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50
KQogewogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC03NjAsNyArNzY2LDkgQEAgYm9vbCBF
dmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzJiBldmUKICAgICAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIC8v
IENhcmVmdWwgdGhhdCB0aGUgZHJhZyBzdGFydGluZyBsb2dpYyBzdGF5cyBpbiBzeW5jIHdpdGgg
ZXZlbnRNYXlTdGFydERyYWcoKQotICAgIG1fbW91c2VEb3duTWF5U3RhcnREcmFnID0gc2luZ2xl
Q2xpY2s7CisgICAgLy8gRklYTUU6IGV2ZW50TWF5U3RhcnREcmFnKCkgZG9lcyBub3QgY2hlY2sg
Zm9yIHNoaWZ0IGtleSBwcmVzcywgbGluayBvciBpbWFnZSBldmVudCB0YXJnZXRzLgorICAgIC8v
IEJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTM5MAorICAg
IG1fbW91c2VEb3duTWF5U3RhcnREcmFnID0gc2luZ2xlQ2xpY2sgJiYgKCFldmVudC5ldmVudCgp
LnNoaWZ0S2V5KCkgfHwgYWx3YXlzU3RhcnREcmFnQW5kRHJvcEZvcihldmVudCkpOwogI2VuZGlm
CiAKICAgICBtX21vdXNlRG93bldhc1NpbmdsZUNsaWNrSW5TZWxlY3Rpb24gPSBmYWxzZTsKLS0g
CjIuNS40IChBcHBsZSBHaXQtNjEpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275206</attachid>
            <date>2016-03-30 11:48:56 -0700</date>
            <delta_ts>2016-03-30 12:07:12 -0700</delta_ts>
            <desc>Patch v1.</desc>
            <filename>0001-eventMayStartDrag-does-not-check-for-shiftKey-or-isO.patch</filename>
            <type>text/plain</type>
            <size>8571</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA3MTQ4Y2M4ZDc2NDcwZDM2NjEzYzRjODc3MDczODJkNzhkODRjMTk1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVHVlLCAyOSBNYXIgMjAxNiAxNTozOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGV2
ZW50TWF5U3RhcnREcmFnKCkgZG9lcyBub3QgY2hlY2sgZm9yIHNoaWZ0S2V5IG9yIGlzT3Zlckxp
bmsKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0
d2VlbiB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgphbiBldmVudCBjYW4gc3RhcnQgYSBk
cmFnZ2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKYW5k
IGluIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKQmFzaWNhbGx5IHRoZSBmb3JtZXIg
Y2hlY2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBidXR0b24sIHRhcmdldCBhbmQgbW9kaWZp
ZXIuClRoZSBsYXRlciwgb24gdGhlIG90aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdz
IGJ1dHRvbiBhbmQgY291bnQuCgpJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFzIHBl
ciB0aGUgY29tbWVudCBpbiB0aGUgY29kZSwKcGF0Y2ggZmFjdG9ycyBvdXQgdGhlIGxvZ2ljIGlu
IDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rpb24sCmFuZCB1bHRp
bWF0ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnREcmFnLgoKTm8gbmV3IHRlc3RzIGZv
ciB0d28gcmVhc29uczoKCjEpIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IHdpbGwgbm90IGhhdmUg
YW55IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0b3JlZCBvdXQKaW50byBhIGhlbHBlci4K
CjIpIFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBXZWJQ
YWdlOjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKYW5kIDo6YWNjZXB0c0ZpcnN0TW91
c2UuIEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBtZXRob2RzCmFyZSBj
YWxsZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIgd2luZG93IGluIGJhY2tncm91bmQg
d2l0aCBzb21lIHRleHQgc2VsZWN0ZWQsCmFuZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxl
Y3RlZCBjb250ZW50LiBEcmFnZ2luZyBoYXBwZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRv
dwpmb3JlZ3JvdW5kLiBUaGlzIGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgpTdWNo
IGJlaGF2aW9yIHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KClsxXSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNTMgLSAiSW1wbGVtZW50IG5vbi1hY3Rp
dmF0aW5nIGNsaWNrcyB0byBhbGxvdyBkcmFnZ2luZyBvdXQgb2YgYSBiYWNrZ3JvdW5kIHdpbmRv
dyIKCiogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgooV2ViQ29yZTo6Y2hlY2tNb3VzZUV2ZW50UHJl
cmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyk6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCk6CihXZWJDb3JlOjpkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1c2VkIGVsc2V3aGVyZS4KKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCB8IDQ3ICsrKysrKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAx
OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVkOGJhMC4uZDI3NTgxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTAzLTMwICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9v
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgZXZlbnRNYXlTdGFydERyYWcoKSBkb2VzIG5vdCBjaGVj
ayBmb3Igc2hpZnRLZXkgb3IgaXNPdmVyTGluaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NzQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0d2Vl
biB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgorICAgICAgICBhbiBldmVudCBjYW4gc3Rh
cnQgYSBkcmFnZ2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZl
bnQKKyAgICAgICAgYW5kIGluIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKKyAgICAg
ICAgQmFzaWNhbGx5IHRoZSBmb3JtZXIgY2hlY2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBi
dXR0b24sIHRhcmdldCBhbmQgbW9kaWZpZXIuCisgICAgICAgIFRoZSBsYXRlciwgb24gdGhlIG90
aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdzIGJ1dHRvbiBhbmQgY291bnQuCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gc3luYyB0aGVtIHVwIGFnYWluLCBhcyBwZXIgdGhlIGNvbW1lbnQg
aW4gdGhlIGNvZGUsCisgICAgICAgIHBhdGNoIGZhY3RvcnMgb3V0IHRoZSBsb2dpYyBpbiA6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCBpbnRvIGEgaGVscGVyIGZ1bmN0aW9uLAorICAgICAgICBhbmQg
dWx0aW1hdGVseSByZXVzZXMgaXQgaW4gOjpldmVudE1heVN0YXJ0RHJhZy4KKworICAgICAgICBO
byBuZXcgdGVzdHMgZm9yIHR3byByZWFzb25zOgorCisgICAgICAgIDEpIDo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50IHdpbGwgbm90IGhhdmUgYW55IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0
b3JlZCBvdXQKKyAgICAgICAgaW50byBhIGhlbHBlci4KKworICAgICAgICAyKSBUaGUgY2FsbGVl
cyBvZiA6OmV2ZW50TWF5U3RhcnREcmFnIGFyZSBjdXJyZW50bHkgV2ViUGFnZTo6c2hvdWxkRGVs
YXlXaW5kb3dPcmRlcmluZ0V2ZW50CisgICAgICAgIGFuZCA6OmFjY2VwdHNGaXJzdE1vdXNlLiBC
YXNlZCBvbiBteSB1bmRlcnN0YW5kaW5nIG9mIFsxXSwgdGhlc2UgbWV0aG9kcworICAgICAgICBh
cmUgY2FsbGVkIHdoZW4gdGhlcmUgaXMgYSAoc2F5KSBicm93c2VyIHdpbmRvdyBpbiBiYWNrZ3Jv
dW5kIHdpdGggc29tZSB0ZXh0IHNlbGVjdGVkLAorICAgICAgICBhbmQgdXNlciBzdGFydHMgdG8g
ZHJhZyB0aGUgc2VsZWN0ZWQgY29udGVudC4gRHJhZ2dpbmcgaGFwcGVucyB3aXRob3V0IGJyaW5n
aW5nIHRoZSB3aW5kb3cKKyAgICAgICAgZm9yZWdyb3VuZC4gVGhpcyBpcyBjYWxsZWQgIm5vbi1h
Y3RpdmF0aW5nIGNsaWNrIi4KKyAgICAgICAgU3VjaCBiZWhhdmlvciB3aWxsIG5vdCBjaGFuZ2Ug
d2l0aCB0aGUgcGF0Y2guCisKKyAgICAgICAgWzFdIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NTA1MyAtICJJbXBsZW1lbnQgbm9uLWFjdGl2YXRpbmcgY2xpY2tzIHRv
IGFsbG93IGRyYWdnaW5nIG91dCBvZiBhIGJhY2tncm91bmQgd2luZG93IgorCisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tNb3VzZUV2ZW50
UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpkb2N1
bWVudFBvaW50Rm9yV2luZG93UG9pbnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1c2Vk
IGVsc2V3aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFy
dERyYWcpOgorCiAyMDE2LTAzLTMwICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gUmVmYWN0b3IgcG9zaXRpb25lZCBjaGlsZHJl
biBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggODY5MDRjNS4uZWYx
YzY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtNzM3LDYgKzczNywx
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSogbm9k
ZSkKICAgICByZXR1cm4gbm9kZS0+Y2FuU3RhcnRTZWxlY3Rpb24oKSB8fCBQb3NpdGlvbjo6bm9k
ZUlzVXNlclNlbGVjdEFsbChub2RlKTsKIH0KIAorc3RhdGljIGJvb2wgY2hlY2tNb3VzZUV2ZW50
UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzJiBldmVudCkKK3sKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgcGxhdGZvcm1FdmVu
dCA9IGV2ZW50LmV2ZW50KCk7CisgICAgaWYgKHBsYXRmb3JtRXZlbnQudHlwZSgpICE9IFBsYXRm
b3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCB8fCBwbGF0Zm9ybUV2ZW50LmJ1dHRvbigpICE9IExlZnRC
dXR0b24gfHwgcGxhdGZvcm1FdmVudC5jbGlja0NvdW50KCkgIT0gMSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gU2luZ2xlIG1vdXNlIGRvd24gb24gbGlua3Mgb3IgaW1hZ2VzIGNh
biBhbHdheXMgdHJpZ2dlciBkcmFnLW4tZHJvcC4KKyAgICBib29sIGlzTW91c2VEb3duT25MaW5r
T3JJbWFnZSA9IGV2ZW50LmlzT3ZlckxpbmsoKSB8fCBldmVudC5oaXRUZXN0UmVzdWx0KCkuaW1h
Z2UoKTsKKyAgICByZXR1cm4gIWV2ZW50LmV2ZW50KCkuc2hpZnRLZXkoKSB8fCBpc01vdXNlRG93
bk9uTGlua09ySW1hZ2U7Cit9CisKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CiAjaWYg
RU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTc2Niw5ICs3NzcsNyBAQCBib29sIEV2ZW50SGFuZGxl
cjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3Vs
dHMmIGV2ZQogICAgIC8vIEZJWE1FOiBldmVudE1heVN0YXJ0RHJhZygpIGRvZXMgbm90IGNoZWNr
IGZvciBzaGlmdCBrZXkgcHJlc3MsIGxpbmsgb3IgaW1hZ2UgZXZlbnQgdGFyZ2V0cy4KICAgICAv
LyBCdWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUzOTAKIAot
ICAgIC8vIFNpbmdsZSBtb3VzZSBkb3duIG9uIGxpbmtzIG9yIGltYWdlcyBjYW4gYWx3YXlzIHRy
aWdnZXIgZHJhZy1uLWRyb3AuCi0gICAgYm9vbCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UgPSBl
dmVudC5pc092ZXJMaW5rKCkgfHwgZXZlbnQuaGl0VGVzdFJlc3VsdCgpLmltYWdlKCk7Ci0gICAg
bV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBzaW5nbGVDbGljayAmJiAoIWV2ZW50LmV2ZW50KCku
c2hpZnRLZXkoKSB8fCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UpOworICAgIG1fbW91c2VEb3du
TWF5U3RhcnREcmFnID0gY2hlY2tNb3VzZUV2ZW50UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFn
Z2luZyhldmVudCk7CiAjZW5kaWYKIAogICAgIG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNl
bGVjdGlvbiA9IGZhbHNlOwpAQCAtODYwLDcgKzg2OSwxNSBAQCBib29sIEV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VEcmFnZ2VkRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cyYgZQogICAgIHVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZyhldmVudC5oaXRUZXN0UmVzdWx0
KCkpOwogICAgIHJldHVybiB0cnVlOwogfQotICAgIAorCitzdGF0aWMgTGF5b3V0UG9pbnQgZG9j
dW1lbnRQb2ludEZvcldpbmRvd1BvaW50KEZyYW1lJiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdp
bmRvd1BvaW50KQoreworICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLnZpZXcoKTsKKyAgICAv
LyBGSVhNRTogSXMgaXQgcmVhbGx5IE9LIHRvIHVzZSB0aGUgd3JvbmcgY29vcmRpbmF0ZXMgaGVy
ZSB3aGVuIHZpZXcgaXMgMD8KKyAgICAvLyBIaXN0b3JpY2FsbHkgdGhlIGNvZGUgd291bGQganVz
dCBjcmFzaDsgdGhpcyBpcyBjbGVhcmx5IG5vIHdvcnNlIHRoYW4gdGhhdC4KKyAgICByZXR1cm4g
dmlldyA/IHZpZXctPndpbmRvd1RvQ29udGVudHMod2luZG93UG9pbnQpIDogd2luZG93UG9pbnQ7
Cit9CisKIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZyhjb25zdCBQbGF0Zm9y
bU1vdXNlRXZlbnQmIGV2ZW50KSBjb25zdAogewogICAgIC8vIFRoaXMgaXMgYSBwcmUtZmxpZ2h0
IGNoZWNrIG9mIHdoZXRoZXIgdGhlIGV2ZW50IG1pZ2h0IGxlYWQgdG8gYSBkcmFnIGJlaW5nIHN0
YXJ0ZWQuICBCZSBjYXJlZnVsCkBAIC04NzAsOSArODg3LDYgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OmV2ZW50TWF5U3RhcnREcmFnKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpIGNvbnN0
CiAgICAgaWYgKCFyZW5kZXJWaWV3KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAo
ZXZlbnQuYnV0dG9uKCkgIT0gTGVmdEJ1dHRvbiB8fCBldmVudC5jbGlja0NvdW50KCkgIT0gMSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS52
aWV3KCk7CiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC04ODEsMTAg
Kzg5NSwxNSBAQCBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBldmVudCkgY29uc3QKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIHVwZGF0ZURyYWdTb3VyY2VBY3Rpb25zQWxsb3dlZCgpOwogICAg
IEhpdFRlc3RSZXF1ZXN0IHJlcXVlc3QoSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVz
dFJlcXVlc3Q6OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1
bHQodmlldy0+d2luZG93VG9Db250ZW50cyhldmVudC5wb3NpdGlvbigpKSk7Ci0gICAgcmVuZGVy
Vmlldy0+aGl0VGVzdChyZXF1ZXN0LCByZXN1bHQpOworICAgIExheW91dFBvaW50IGRvY3VtZW50
UG9pbnQgPSBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQobV9mcmFtZSwgZXZlbnQucG9zaXRp
b24oKSk7CisgICAgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyBtb3VzZUV2ZW50ID0gbV9m
cmFtZS5kb2N1bWVudCgpLT5wcmVwYXJlTW91c2VFdmVudChyZXF1ZXN0LCBkb2N1bWVudFBvaW50
LCBldmVudCk7CisgICAgaWYgKCFjaGVja01vdXNlRXZlbnRQcmVyZXF1aXNpdGVzRm9yVHJpZ2dl
ckRyYWdnaW5nKG1vdXNlRXZlbnQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB1cGRh
dGVEcmFnU291cmNlQWN0aW9uc0FsbG93ZWQoKTsKKworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0
ID0gbW91c2VFdmVudC5oaXRUZXN0UmVzdWx0KCk7CiAgICAgRHJhZ1N0YXRlIHN0YXRlOwogICAg
IHJldHVybiByZXN1bHQuaW5uZXJFbGVtZW50KCkgJiYgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5k
cmFnZ2FibGVFbGVtZW50KCZtX2ZyYW1lLCByZXN1bHQuaW5uZXJFbGVtZW50KCksIHJlc3VsdC5y
b3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCksIHN0YXRlKTsKIH0KQEAgLTE1NzcsMTQgKzE1
OTYsNiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JUaW1lckZpcmVkKCkKIH0K
ICNlbmRpZgogCi1zdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50
KEZyYW1lJiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQotewotICAgIEZyYW1l
VmlldyogdmlldyA9IGZyYW1lLnZpZXcoKTsKLSAgICAvLyBGSVhNRTogSXMgaXQgcmVhbGx5IE9L
IHRvIHVzZSB0aGUgd3JvbmcgY29vcmRpbmF0ZXMgaGVyZSB3aGVuIHZpZXcgaXMgMD8KLSAgICAv
LyBIaXN0b3JpY2FsbHkgdGhlIGNvZGUgd291bGQganVzdCBjcmFzaDsgdGhpcyBpcyBjbGVhcmx5
IG5vIHdvcnNlIHRoYW4gdGhhdC4KLSAgICByZXR1cm4gdmlldyA/IHZpZXctPndpbmRvd1RvQ29u
dGVudHMod2luZG93UG9pbnQpIDogd2luZG93UG9pbnQ7Ci19Ci0KIHN0YXRpYyBTY3JvbGxiYXIq
IHNjcm9sbGJhckZvck1vdXNlRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cyYgbW91c2VFdmVudCwgRnJhbWVWaWV3KiB2aWV3KQogewogICAgIGlmICh2aWV3KSB7Ci0tIAoy
LjUuNCAoQXBwbGUgR2l0LTYxKQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275207</attachid>
            <date>2016-03-30 12:07:12 -0700</date>
            <delta_ts>2016-03-30 21:43:18 -0700</delta_ts>
            <desc>Patch v1.1 - fix iOS build.</desc>
            <filename>0001-eventMayStartDrag-does-not-check-for-shiftKey-or-isO.patch</filename>
            <type>text/plain</type>
            <size>8819</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBhMWRiMjlhNjEwOWE0YmExOTRkMGVhMDgyYTNlZDRkNDA1ZDQxYjkzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVHVlLCAyOSBNYXIgMjAxNiAxNTozOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGV2
ZW50TWF5U3RhcnREcmFnKCkgZG9lcyBub3QgY2hlY2sgZm9yIHNoaWZ0S2V5IG9yIGlzT3Zlckxp
bmsKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0
d2VlbiB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgphbiBldmVudCBjYW4gc3RhcnQgYSBk
cmFnZ2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKYW5k
IGluIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKQmFzaWNhbGx5IHRoZSBmb3JtZXIg
Y2hlY2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBidXR0b24sIHRhcmdldCBhbmQgbW9kaWZp
ZXIuClRoZSBsYXRlciwgb24gdGhlIG90aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdz
IGJ1dHRvbiBhbmQgY291bnQuCgpJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFzIHBl
ciB0aGUgY29tbWVudCBpbiB0aGUgY29kZSwKcGF0Y2ggZmFjdG9ycyBvdXQgdGhlIGxvZ2ljIGlu
IDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rpb24sCmFuZCB1bHRp
bWF0ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnREcmFnLgoKTm8gbmV3IHRlc3RzIGZv
ciB0d28gcmVhc29uczoKCjEpIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IHdpbGwgbm90IGhhdmUg
YW55IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0b3JlZCBvdXQKaW50byBhIGhlbHBlci4K
CjIpIFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBXZWJQ
YWdlOjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKYW5kIDo6YWNjZXB0c0ZpcnN0TW91
c2UuIEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBtZXRob2RzCmFyZSBj
YWxsZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIgd2luZG93IGluIGJhY2tncm91bmQg
d2l0aCBzb21lIHRleHQgc2VsZWN0ZWQsCmFuZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxl
Y3RlZCBjb250ZW50LiBEcmFnZ2luZyBoYXBwZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRv
dwpmb3JlZ3JvdW5kLiBUaGlzIGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgpTdWNo
IGJlaGF2aW9yIHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KClsxXSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNTMgLSAiSW1wbGVtZW50IG5vbi1hY3Rp
dmF0aW5nIGNsaWNrcyB0byBhbGxvdyBkcmFnZ2luZyBvdXQgb2YgYSBiYWNrZ3JvdW5kIHdpbmRv
dyIKCiogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgooV2ViQ29yZTo6Y2hlY2tNb3VzZUV2ZW50UHJl
cmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyk6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCk6CihXZWJDb3JlOjpkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1c2VkIGVsc2V3aGVyZS4KKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCB8IDQ3ICsrKysrKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAx
OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVkOGJhMC4uZDI3NTgxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTAzLTMwICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9v
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgZXZlbnRNYXlTdGFydERyYWcoKSBkb2VzIG5vdCBjaGVj
ayBmb3Igc2hpZnRLZXkgb3IgaXNPdmVyTGluaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NzQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0d2Vl
biB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgorICAgICAgICBhbiBldmVudCBjYW4gc3Rh
cnQgYSBkcmFnZ2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZl
bnQKKyAgICAgICAgYW5kIGluIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKKyAgICAg
ICAgQmFzaWNhbGx5IHRoZSBmb3JtZXIgY2hlY2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBi
dXR0b24sIHRhcmdldCBhbmQgbW9kaWZpZXIuCisgICAgICAgIFRoZSBsYXRlciwgb24gdGhlIG90
aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdzIGJ1dHRvbiBhbmQgY291bnQuCisKKyAg
ICAgICAgSW4gb3JkZXIgdG8gc3luYyB0aGVtIHVwIGFnYWluLCBhcyBwZXIgdGhlIGNvbW1lbnQg
aW4gdGhlIGNvZGUsCisgICAgICAgIHBhdGNoIGZhY3RvcnMgb3V0IHRoZSBsb2dpYyBpbiA6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCBpbnRvIGEgaGVscGVyIGZ1bmN0aW9uLAorICAgICAgICBhbmQg
dWx0aW1hdGVseSByZXVzZXMgaXQgaW4gOjpldmVudE1heVN0YXJ0RHJhZy4KKworICAgICAgICBO
byBuZXcgdGVzdHMgZm9yIHR3byByZWFzb25zOgorCisgICAgICAgIDEpIDo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50IHdpbGwgbm90IGhhdmUgYW55IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0
b3JlZCBvdXQKKyAgICAgICAgaW50byBhIGhlbHBlci4KKworICAgICAgICAyKSBUaGUgY2FsbGVl
cyBvZiA6OmV2ZW50TWF5U3RhcnREcmFnIGFyZSBjdXJyZW50bHkgV2ViUGFnZTo6c2hvdWxkRGVs
YXlXaW5kb3dPcmRlcmluZ0V2ZW50CisgICAgICAgIGFuZCA6OmFjY2VwdHNGaXJzdE1vdXNlLiBC
YXNlZCBvbiBteSB1bmRlcnN0YW5kaW5nIG9mIFsxXSwgdGhlc2UgbWV0aG9kcworICAgICAgICBh
cmUgY2FsbGVkIHdoZW4gdGhlcmUgaXMgYSAoc2F5KSBicm93c2VyIHdpbmRvdyBpbiBiYWNrZ3Jv
dW5kIHdpdGggc29tZSB0ZXh0IHNlbGVjdGVkLAorICAgICAgICBhbmQgdXNlciBzdGFydHMgdG8g
ZHJhZyB0aGUgc2VsZWN0ZWQgY29udGVudC4gRHJhZ2dpbmcgaGFwcGVucyB3aXRob3V0IGJyaW5n
aW5nIHRoZSB3aW5kb3cKKyAgICAgICAgZm9yZWdyb3VuZC4gVGhpcyBpcyBjYWxsZWQgIm5vbi1h
Y3RpdmF0aW5nIGNsaWNrIi4KKyAgICAgICAgU3VjaCBiZWhhdmlvciB3aWxsIG5vdCBjaGFuZ2Ug
d2l0aCB0aGUgcGF0Y2guCisKKyAgICAgICAgWzFdIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NTA1MyAtICJJbXBsZW1lbnQgbm9uLWFjdGl2YXRpbmcgY2xpY2tzIHRv
IGFsbG93IGRyYWdnaW5nIG91dCBvZiBhIGJhY2tncm91bmQgd2luZG93IgorCisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tNb3VzZUV2ZW50
UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpkb2N1
bWVudFBvaW50Rm9yV2luZG93UG9pbnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1c2Vk
IGVsc2V3aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFy
dERyYWcpOgorCiAyMDE2LTAzLTMwICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gUmVmYWN0b3IgcG9zaXRpb25lZCBjaGlsZHJl
biBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggODY5MDRjNS4uMjBj
MWIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtNzM3LDYgKzczNywx
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSogbm9k
ZSkKICAgICByZXR1cm4gbm9kZS0+Y2FuU3RhcnRTZWxlY3Rpb24oKSB8fCBQb3NpdGlvbjo6bm9k
ZUlzVXNlclNlbGVjdEFsbChub2RlKTsKIH0KIAorc3RhdGljIGJvb2wgY2hlY2tNb3VzZUV2ZW50
UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzJiBldmVudCkKK3sKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgcGxhdGZvcm1FdmVu
dCA9IGV2ZW50LmV2ZW50KCk7CisgICAgaWYgKHBsYXRmb3JtRXZlbnQudHlwZSgpICE9IFBsYXRm
b3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCB8fCBwbGF0Zm9ybUV2ZW50LmJ1dHRvbigpICE9IExlZnRC
dXR0b24gfHwgcGxhdGZvcm1FdmVudC5jbGlja0NvdW50KCkgIT0gMSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gU2luZ2xlIG1vdXNlIGRvd24gb24gbGlua3Mgb3IgaW1hZ2VzIGNh
biBhbHdheXMgdHJpZ2dlciBkcmFnLW4tZHJvcC4KKyAgICBib29sIGlzTW91c2VEb3duT25MaW5r
T3JJbWFnZSA9IGV2ZW50LmlzT3ZlckxpbmsoKSB8fCBldmVudC5oaXRUZXN0UmVzdWx0KCkuaW1h
Z2UoKTsKKyAgICByZXR1cm4gIWV2ZW50LmV2ZW50KCkuc2hpZnRLZXkoKSB8fCBpc01vdXNlRG93
bk9uTGlua09ySW1hZ2U7Cit9CisKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CiAjaWYg
RU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTc2Niw5ICs3NzcsNyBAQCBib29sIEV2ZW50SGFuZGxl
cjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3Vs
dHMmIGV2ZQogICAgIC8vIEZJWE1FOiBldmVudE1heVN0YXJ0RHJhZygpIGRvZXMgbm90IGNoZWNr
IGZvciBzaGlmdCBrZXkgcHJlc3MsIGxpbmsgb3IgaW1hZ2UgZXZlbnQgdGFyZ2V0cy4KICAgICAv
LyBCdWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUzOTAKIAot
ICAgIC8vIFNpbmdsZSBtb3VzZSBkb3duIG9uIGxpbmtzIG9yIGltYWdlcyBjYW4gYWx3YXlzIHRy
aWdnZXIgZHJhZy1uLWRyb3AuCi0gICAgYm9vbCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UgPSBl
dmVudC5pc092ZXJMaW5rKCkgfHwgZXZlbnQuaGl0VGVzdFJlc3VsdCgpLmltYWdlKCk7Ci0gICAg
bV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBzaW5nbGVDbGljayAmJiAoIWV2ZW50LmV2ZW50KCku
c2hpZnRLZXkoKSB8fCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UpOworICAgIG1fbW91c2VEb3du
TWF5U3RhcnREcmFnID0gY2hlY2tNb3VzZUV2ZW50UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFn
Z2luZyhldmVudCk7CiAjZW5kaWYKIAogICAgIG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNl
bGVjdGlvbiA9IGZhbHNlOwpAQCAtODE2LDYgKzgyNSwxNCBAQCBib29sIEV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMm
IGV2ZQogICAgIHJldHVybiBzd2FsbG93RXZlbnQ7CiB9CiAKK3N0YXRpYyBMYXlvdXRQb2ludCBk
b2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYg
d2luZG93UG9pbnQpCit7CisgICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUudmlldygpOworICAg
IC8vIEZJWE1FOiBJcyBpdCByZWFsbHkgT0sgdG8gdXNlIHRoZSB3cm9uZyBjb29yZGluYXRlcyBo
ZXJlIHdoZW4gdmlldyBpcyAwPworICAgIC8vIEhpc3RvcmljYWxseSB0aGUgY29kZSB3b3VsZCBq
dXN0IGNyYXNoOyB0aGlzIGlzIGNsZWFybHkgbm8gd29yc2UgdGhhbiB0aGF0LgorICAgIHJldHVy
biB2aWV3ID8gdmlldy0+d2luZG93VG9Db250ZW50cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2lu
dDsKK30KKwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlTW91c2VEcmFnZ2VkRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYg
ZXZlbnQpCiB7CkBAIC04NjAsNyArODc3LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1v
dXNlRHJhZ2dlZEV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGUKICAg
ICB1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURyYWcoZXZlbnQuaGl0VGVzdFJlc3VsdCgpKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KLSAgICAKKwogYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50TWF5U3Rh
cnREcmFnKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpIGNvbnN0CiB7CiAgICAgLy8g
VGhpcyBpcyBhIHByZS1mbGlnaHQgY2hlY2sgb2Ygd2hldGhlciB0aGUgZXZlbnQgbWlnaHQgbGVh
ZCB0byBhIGRyYWcgYmVpbmcgc3RhcnRlZC4gIEJlIGNhcmVmdWwKQEAgLTg3MCw5ICs4ODcsNiBA
QCBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBldmVudCkgY29uc3QKICAgICBpZiAoIXJlbmRlclZpZXcpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmIChldmVudC5idXR0b24oKSAhPSBMZWZ0QnV0dG9uIHx8IGV2ZW50
LmNsaWNrQ291bnQoKSAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBGcmFtZVZp
ZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTg4MSwxMCArODk1LDE1IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudE1h
eVN0YXJ0RHJhZyhjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KSBjb25zdAogICAgIGlm
ICghcGFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgdXBkYXRlRHJhZ1NvdXJjZUFj
dGlvbnNBbGxvd2VkKCk7CiAgICAgSGl0VGVzdFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVz
dDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVzdDo6RGlzYWxsb3dTaGFkb3dDb250ZW50KTsKLSAg
ICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53aW5kb3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0
aW9uKCkpKTsKLSAgICByZW5kZXJWaWV3LT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CisgICAg
TGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludCA9IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludCht
X2ZyYW1lLCBldmVudC5wb3NpdGlvbigpKTsKKyAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzIG1vdXNlRXZlbnQgPSBtX2ZyYW1lLmRvY3VtZW50KCktPnByZXBhcmVNb3VzZUV2ZW50KHJl
cXVlc3QsIGRvY3VtZW50UG9pbnQsIGV2ZW50KTsKKyAgICBpZiAoIWNoZWNrTW91c2VFdmVudFBy
ZXJlcXVpc2l0ZXNGb3JUcmlnZ2VyRHJhZ2dpbmcobW91c2VFdmVudCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIHVwZGF0ZURyYWdTb3VyY2VBY3Rpb25zQWxsb3dlZCgpOworCisgICAg
SGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtb3VzZUV2ZW50LmhpdFRlc3RSZXN1bHQoKTsKICAgICBE
cmFnU3RhdGUgc3RhdGU7CiAgICAgcmV0dXJuIHJlc3VsdC5pbm5lckVsZW1lbnQoKSAmJiBwYWdl
LT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHJlc3VsdC5pbm5l
ckVsZW1lbnQoKSwgcmVzdWx0LnJvdW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSwgc3RhdGUp
OwogfQpAQCAtMTU3NywxNCArMTU5Niw2IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1
cnNvclRpbWVyRmlyZWQoKQogfQogI2VuZGlmCiAKLXN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVu
dFBvaW50Rm9yV2luZG93UG9pbnQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93
UG9pbnQpCi17Ci0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUudmlldygpOwotICAgIC8vIEZJ
WE1FOiBJcyBpdCByZWFsbHkgT0sgdG8gdXNlIHRoZSB3cm9uZyBjb29yZGluYXRlcyBoZXJlIHdo
ZW4gdmlldyBpcyAwPwotICAgIC8vIEhpc3RvcmljYWxseSB0aGUgY29kZSB3b3VsZCBqdXN0IGNy
YXNoOyB0aGlzIGlzIGNsZWFybHkgbm8gd29yc2UgdGhhbiB0aGF0LgotICAgIHJldHVybiB2aWV3
ID8gdmlldy0+d2luZG93VG9Db250ZW50cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2ludDsKLX0K
LQogc3RhdGljIFNjcm9sbGJhciogc2Nyb2xsYmFyRm9yTW91c2VFdmVudChjb25zdCBNb3VzZUV2
ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBtb3VzZUV2ZW50LCBGcmFtZVZpZXcqIHZpZXcpCiB7CiAg
ICAgaWYgKHZpZXcpIHsKLS0gCjIuNS40IChBcHBsZSBHaXQtNjEpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275265</attachid>
            <date>2016-03-30 21:43:18 -0700</date>
            <delta_ts>2016-03-31 11:06:25 -0700</delta_ts>
            <desc>Patch v1.2 - fix iOS build.</desc>
            <filename>0001-eventMayStartDrag-does-not-check-for-shiftKey-or-isO.patch</filename>
            <type>text/plain</type>
            <size>8852</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA4MDBhZTkzMTNlMTVjNTg3ODc5ZDQwZmJlMjVlYmI4NDFmZmYzOTA4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVHVlLCAyOSBNYXIgMjAxNiAxNTozOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGV2
ZW50TWF5U3RhcnREcmFnKCkgZG9lcyBub3QgY2hlY2sgZm9yIHNoaWZ0S2V5IG9yIGlzT3Zlckxp
bmsKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0
d2VlbiB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgphbiBldmVudCBjYW4gc3RhcnQgYSBk
cmFnZ2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKYW5k
IGluIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKQmFzaWNhbGx5IHRoZSBmb3JtZXIg
Y2hlY2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBidXR0b24sIHRhcmdldCBhbmQgbW9kaWZp
ZXIuClRoZSBsYXRlciwgb24gdGhlIG90aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdz
IGJ1dHRvbiBhbmQgY291bnQuCgpJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFzIHBl
ciB0aGUgY29tbWVudCBpbiB0aGUgY29kZSwKcGF0Y2ggZmFjdG9ycyBvdXQgdGhlIGxvZ2ljIGlu
IDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rpb24sCmFuZCB1bHRp
bWF0ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnREcmFnLgoKTm8gbmV3IHRlc3RzIGZv
ciB0d28gcmVhc29uczoKCjEpIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IHdpbGwgbm90IGhhdmUg
YW55IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0b3JlZCBvdXQKaW50byBhIGhlbHBlci4K
CjIpIFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBXZWJQ
YWdlOjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKYW5kIDo6YWNjZXB0c0ZpcnN0TW91
c2UuIEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBtZXRob2RzCmFyZSBj
YWxsZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIgd2luZG93IGluIGJhY2tncm91bmQg
d2l0aCBzb21lIHRleHQgc2VsZWN0ZWQsCmFuZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxl
Y3RlZCBjb250ZW50LiBEcmFnZ2luZyBoYXBwZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRv
dwpmb3JlZ3JvdW5kLiBUaGlzIGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgpTdWNo
IGJlaGF2aW9yIHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KClsxXSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNTMgLSAiSW1wbGVtZW50IG5vbi1hY3Rp
dmF0aW5nIGNsaWNrcyB0byBhbGxvdyBkcmFnZ2luZyBvdXQgb2YgYSBiYWNrZ3JvdW5kIHdpbmRv
dyIKCiogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgooV2ViQ29yZTo6Y2hlY2tNb3VzZUV2ZW50UHJl
cmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyk6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCk6CihXZWJDb3JlOjpkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1c2VkIGVsc2V3aGVyZS4KKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIHwgNDkgKysrKysrKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDE4
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNWQ4YmEwLi5kMjc1ODFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDAgQEAKKzIwMTYtMDMtMzAgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29A
d2Via2l0Lm9yZz4KKworICAgICAgICBldmVudE1heVN0YXJ0RHJhZygpIGRvZXMgbm90IGNoZWNr
IGZvciBzaGlmdEtleSBvciBpc092ZXJMaW5rCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBjdXJyZW50bHkgYSBtaXNtYXRjaCBiZXR3ZWVu
IHRoZSBsb2dpYyB0aGF0IGNoZWNrcyB3aGV0aGVyCisgICAgICAgIGFuIGV2ZW50IGNhbiBzdGFy
dCBhIGRyYWdnaW5nIGFjdGlvbiBpbiBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVu
dAorICAgICAgICBhbmQgaW4gRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZworICAgICAg
ICBCYXNpY2FsbHkgdGhlIGZvcm1lciBjaGVja3MgZm9yIGV2ZW50J3MgY291bnQsIHR5cGUsIGJ1
dHRvbiwgdGFyZ2V0IGFuZCBtb2RpZmllci4KKyAgICAgICAgVGhlIGxhdGVyLCBvbiB0aGUgb3Ro
ZXIgaGFuZCwgb25seSBjaGVja3MgZm9yIGV2ZW50J3MgYnV0dG9uIGFuZCBjb3VudC4KKworICAg
ICAgICBJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFzIHBlciB0aGUgY29tbWVudCBp
biB0aGUgY29kZSwKKyAgICAgICAgcGF0Y2ggZmFjdG9ycyBvdXQgdGhlIGxvZ2ljIGluIDo6aGFu
ZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rpb24sCisgICAgICAgIGFuZCB1
bHRpbWF0ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnREcmFnLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyBmb3IgdHdvIHJlYXNvbnM6CisKKyAgICAgICAgMSkgOjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQgd2lsbCBub3QgaGF2ZSBhbnkgYmVoYXZpb3IgY2hhbmdlLiBDb2RlIGlzIGZhY3Rv
cmVkIG91dAorICAgICAgICBpbnRvIGEgaGVscGVyLgorCisgICAgICAgIDIpIFRoZSBjYWxsZWVz
IG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBXZWJQYWdlOjpzaG91bGREZWxh
eVdpbmRvd09yZGVyaW5nRXZlbnQKKyAgICAgICAgYW5kIDo6YWNjZXB0c0ZpcnN0TW91c2UuIEJh
c2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBtZXRob2RzCisgICAgICAgIGFy
ZSBjYWxsZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIgd2luZG93IGluIGJhY2tncm91
bmQgd2l0aCBzb21lIHRleHQgc2VsZWN0ZWQsCisgICAgICAgIGFuZCB1c2VyIHN0YXJ0cyB0byBk
cmFnIHRoZSBzZWxlY3RlZCBjb250ZW50LiBEcmFnZ2luZyBoYXBwZW5zIHdpdGhvdXQgYnJpbmdp
bmcgdGhlIHdpbmRvdworICAgICAgICBmb3JlZ3JvdW5kLiBUaGlzIGlzIGNhbGxlZCAibm9uLWFj
dGl2YXRpbmcgY2xpY2siLgorICAgICAgICBTdWNoIGJlaGF2aW9yIHdpbGwgbm90IGNoYW5nZSB3
aXRoIHRoZSBwYXRjaC4KKworICAgICAgICBbMV0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU1MDUzIC0gIkltcGxlbWVudCBub24tYWN0aXZhdGluZyBjbGlja3MgdG8g
YWxsb3cgZHJhZ2dpbmcgb3V0IG9mIGEgYmFja2dyb3VuZCB3aW5kb3ciCisKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGVja01vdXNlRXZlbnRQ
cmVyZXF1aXNpdGVzRm9yVHJpZ2dlckRyYWdnaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmRvY3Vt
ZW50UG9pbnRGb3JXaW5kb3dQb2ludCk6IE1vdmVkIHVwIGluIHRoZSBmaWxlIHRvIGJlIHVzZWQg
ZWxzZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0
RHJhZyk6CisKIDIwMTYtMDMtMzAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBSZWZhY3RvciBwb3NpdGlvbmVkIGNoaWxkcmVu
IGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA4NjkwNGM1Li5iMzIz
Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MzcsNiArNzM3LDE5
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURvd25TdGFydFNlbGVjdChOb2RlKiBub2Rl
KQogICAgIHJldHVybiBub2RlLT5jYW5TdGFydFNlbGVjdGlvbigpIHx8IFBvc2l0aW9uOjpub2Rl
SXNVc2VyU2VsZWN0QWxsKG5vZGUpOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKK3N0
YXRpYyBib29sIGNoZWNrTW91c2VFdmVudFByZXJlcXVpc2l0ZXNGb3JUcmlnZ2VyRHJhZ2dpbmco
Y29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCit7CisgICAgUGxhdGZv
cm1Nb3VzZUV2ZW50IHBsYXRmb3JtRXZlbnQgPSBldmVudC5ldmVudCgpOworICAgIGlmIChwbGF0
Zm9ybUV2ZW50LnR5cGUoKSAhPSBQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQgfHwgcGxhdGZv
cm1FdmVudC5idXR0b24oKSAhPSBMZWZ0QnV0dG9uIHx8IHBsYXRmb3JtRXZlbnQuY2xpY2tDb3Vu
dCgpICE9IDEpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNpbmdsZSBtb3VzZSBk
b3duIG9uIGxpbmtzIG9yIGltYWdlcyBjYW4gYWx3YXlzIHRyaWdnZXIgZHJhZy1uLWRyb3AuCisg
ICAgYm9vbCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UgPSBldmVudC5pc092ZXJMaW5rKCkgfHwg
ZXZlbnQuaGl0VGVzdFJlc3VsdCgpLmltYWdlKCk7CisgICAgcmV0dXJuICFldmVudC5ldmVudCgp
LnNoaWZ0S2V5KCkgfHwgaXNNb3VzZURvd25PbkxpbmtPckltYWdlOworfQorI2VuZGlmCisKIGJv
b2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdp
dGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKQEAg
LTc2Niw5ICs3NzksNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZQogICAgIC8vIEZJWE1FOiBl
dmVudE1heVN0YXJ0RHJhZygpIGRvZXMgbm90IGNoZWNrIGZvciBzaGlmdCBrZXkgcHJlc3MsIGxp
bmsgb3IgaW1hZ2UgZXZlbnQgdGFyZ2V0cy4KICAgICAvLyBCdWc6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUzOTAKIAotICAgIC8vIFNpbmdsZSBtb3VzZSBkb3du
IG9uIGxpbmtzIG9yIGltYWdlcyBjYW4gYWx3YXlzIHRyaWdnZXIgZHJhZy1uLWRyb3AuCi0gICAg
Ym9vbCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UgPSBldmVudC5pc092ZXJMaW5rKCkgfHwgZXZl
bnQuaGl0VGVzdFJlc3VsdCgpLmltYWdlKCk7Ci0gICAgbV9tb3VzZURvd25NYXlTdGFydERyYWcg
PSBzaW5nbGVDbGljayAmJiAoIWV2ZW50LmV2ZW50KCkuc2hpZnRLZXkoKSB8fCBpc01vdXNlRG93
bk9uTGlua09ySW1hZ2UpOworICAgIG1fbW91c2VEb3duTWF5U3RhcnREcmFnID0gY2hlY2tNb3Vz
ZUV2ZW50UHJlcmVxdWlzaXRlc0ZvclRyaWdnZXJEcmFnZ2luZyhldmVudCk7CiAjZW5kaWYKIAog
ICAgIG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNlbGVjdGlvbiA9IGZhbHNlOwpAQCAtODE2
LDYgKzgyNywxNCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNv
bnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZQogICAgIHJldHVybiBzd2FsbG93
RXZlbnQ7CiB9CiAKK3N0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9p
bnQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCit7CisgICAgRnJh
bWVWaWV3KiB2aWV3ID0gZnJhbWUudmlldygpOworICAgIC8vIEZJWE1FOiBJcyBpdCByZWFsbHkg
T0sgdG8gdXNlIHRoZSB3cm9uZyBjb29yZGluYXRlcyBoZXJlIHdoZW4gdmlldyBpcyAwPworICAg
IC8vIEhpc3RvcmljYWxseSB0aGUgY29kZSB3b3VsZCBqdXN0IGNyYXNoOyB0aGlzIGlzIGNsZWFy
bHkgbm8gd29yc2UgdGhhbiB0aGF0LgorICAgIHJldHVybiB2aWV3ID8gdmlldy0+d2luZG93VG9D
b250ZW50cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2ludDsKK30KKwogI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VEcmFnZ2VkRXZlbnQoY29u
c3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CkBAIC04NjAsNyArODc5
LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRHJhZ2dlZEV2ZW50KGNvbnN0IE1v
dXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGUKICAgICB1cGRhdGVTZWxlY3Rpb25Gb3JNb3Vz
ZURyYWcoZXZlbnQuaGl0VGVzdFJlc3VsdCgpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KLSAgICAK
KwogYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50TWF5U3RhcnREcmFnKGNvbnN0IFBsYXRmb3JtTW91
c2VFdmVudCYgZXZlbnQpIGNvbnN0CiB7CiAgICAgLy8gVGhpcyBpcyBhIHByZS1mbGlnaHQgY2hl
Y2sgb2Ygd2hldGhlciB0aGUgZXZlbnQgbWlnaHQgbGVhZCB0byBhIGRyYWcgYmVpbmcgc3RhcnRl
ZC4gIEJlIGNhcmVmdWwKQEAgLTg3MCw5ICs4ODksNiBAQCBib29sIEV2ZW50SGFuZGxlcjo6ZXZl
bnRNYXlTdGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkgY29uc3QKICAg
ICBpZiAoIXJlbmRlclZpZXcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChldmVu
dC5idXR0b24oKSAhPSBMZWZ0QnV0dG9uIHx8IGV2ZW50LmNsaWNrQ291bnQoKSAhPSAxKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXco
KTsKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTg4MSwxMCArODk3
LDE1IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZyhjb25zdCBQbGF0Zm9y
bU1vdXNlRXZlbnQmIGV2ZW50KSBjb25zdAogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgdXBkYXRlRHJhZ1NvdXJjZUFjdGlvbnNBbGxvd2VkKCk7CiAgICAgSGl0
VGVzdFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVx
dWVzdDo6RGlzYWxsb3dTaGFkb3dDb250ZW50KTsKLSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2
aWV3LT53aW5kb3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0aW9uKCkpKTsKLSAgICByZW5kZXJWaWV3
LT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CisgICAgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2lu
dCA9IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChtX2ZyYW1lLCBldmVudC5wb3NpdGlvbigp
KTsKKyAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIG1vdXNlRXZlbnQgPSBtX2ZyYW1l
LmRvY3VtZW50KCktPnByZXBhcmVNb3VzZUV2ZW50KHJlcXVlc3QsIGRvY3VtZW50UG9pbnQsIGV2
ZW50KTsKKyAgICBpZiAoIWNoZWNrTW91c2VFdmVudFByZXJlcXVpc2l0ZXNGb3JUcmlnZ2VyRHJh
Z2dpbmcobW91c2VFdmVudCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHVwZGF0ZURy
YWdTb3VyY2VBY3Rpb25zQWxsb3dlZCgpOworCisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBt
b3VzZUV2ZW50LmhpdFRlc3RSZXN1bHQoKTsKICAgICBEcmFnU3RhdGUgc3RhdGU7CiAgICAgcmV0
dXJuIHJlc3VsdC5pbm5lckVsZW1lbnQoKSAmJiBwYWdlLT5kcmFnQ29udHJvbGxlcigpLmRyYWdn
YWJsZUVsZW1lbnQoJm1fZnJhbWUsIHJlc3VsdC5pbm5lckVsZW1lbnQoKSwgcmVzdWx0LnJvdW5k
ZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSwgc3RhdGUpOwogfQpAQCAtMTU3NywxNCArMTU5OCw2
IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoKQogfQogI2Vu
ZGlmCiAKLXN0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQoRnJh
bWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCi17Ci0gICAgRnJhbWVWaWV3
KiB2aWV3ID0gZnJhbWUudmlldygpOwotICAgIC8vIEZJWE1FOiBJcyBpdCByZWFsbHkgT0sgdG8g
dXNlIHRoZSB3cm9uZyBjb29yZGluYXRlcyBoZXJlIHdoZW4gdmlldyBpcyAwPwotICAgIC8vIEhp
c3RvcmljYWxseSB0aGUgY29kZSB3b3VsZCBqdXN0IGNyYXNoOyB0aGlzIGlzIGNsZWFybHkgbm8g
d29yc2UgdGhhbiB0aGF0LgotICAgIHJldHVybiB2aWV3ID8gdmlldy0+d2luZG93VG9Db250ZW50
cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2ludDsKLX0KLQogc3RhdGljIFNjcm9sbGJhciogc2Ny
b2xsYmFyRm9yTW91c2VFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBt
b3VzZUV2ZW50LCBGcmFtZVZpZXcqIHZpZXcpCiB7CiAgICAgaWYgKHZpZXcpIHsKLS0gCjIuNS40
IChBcHBsZSBHaXQtNjEpCgo=
</data>
<flag name="review"
          id="299630"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275301</attachid>
            <date>2016-03-31 11:06:25 -0700</date>
            <delta_ts>2016-03-31 11:13:04 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>0001-eventMayStartDrag-does-not-check-for-shiftKey-or-isO.patch</filename>
            <type>text/plain</type>
            <size>9054</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA2YzM5YjkyOWI3MjY2ODRlYjc4Zjk4MDQ5ZjRmOTg4NWUwM2IyOGVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVHVlLCAyOSBNYXIgMjAxNiAxNTozOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGV2
ZW50TWF5U3RhcnREcmFnKCkgZG9lcyBub3QgY2hlY2sgZm9yIHNoaWZ0S2V5IG9yIGlzT3Zlckxp
bmsKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKClJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgoKVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0d2Vl
biB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgphbiBldmVudCBjYW4gc3RhcnQgYSBkcmFn
Z2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKYW5kIGlu
IEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKQmFzaWNhbGx5IHRoZSBmb3JtZXIgY2hl
Y2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBidXR0b24sIHRhcmdldCBhbmQgbW9kaWZpZXIu
ClRoZSBsYXRlciwgb24gdGhlIG90aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdzIGJ1
dHRvbiBhbmQgY291bnQuCgpJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFzIHBlciB0
aGUgY29tbWVudCBpbiB0aGUgY29kZSwKcGF0Y2ggZmFjdG9ycyBvdXQgdGhlIGxvZ2ljIGluIDo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rpb24sCmFuZCB1bHRpbWF0
ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnREcmFnLgoKTm8gbmV3IHRlc3RzIGZvciB0
d28gcmVhc29uczoKCjEpIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IHdpbGwgbm90IGhhdmUgYW55
IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0b3JlZCBvdXQKaW50byBhIGhlbHBlci4KCjIp
IFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBXZWJQYWdl
OjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKYW5kIDo6YWNjZXB0c0ZpcnN0TW91c2Uu
IEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBtZXRob2RzCmFyZSBjYWxs
ZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIgd2luZG93IGluIGJhY2tncm91bmQgd2l0
aCBzb21lIHRleHQgc2VsZWN0ZWQsCmFuZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxlY3Rl
ZCBjb250ZW50LiBEcmFnZ2luZyBoYXBwZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRvdwpm
b3JlZ3JvdW5kLiBUaGlzIGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgpTdWNoIGJl
aGF2aW9yIHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KClsxXSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNTMgLSAiSW1wbGVtZW50IG5vbi1hY3RpdmF0
aW5nIGNsaWNrcyB0byBhbGxvdyBkcmFnZ2luZyBvdXQgb2YgYSBiYWNrZ3JvdW5kIHdpbmRvdyIK
CiogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgooV2ViQ29yZTo6aXNTaW5nbGVNb3VzZURvd25Pbkxp
bmtPckltYWdlKToKKFdlYkNvcmU6OmNhbk1vdXNlRXZlbnRTdGFydERyYWdJbnRlcm5hbCk6CihX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6CihXZWJDb3JlOjpk
b2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1
c2VkIGVsc2V3aGVyZS4KKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcp
OgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICB8IDM4ICsrKysrKysr
KysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIHwg
NTYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQs
IDcyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNWQ4YmEw
Li4wYWFjZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTYtMDMtMzAgIEFudG9u
aW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KKworICAgICAgICBldmVudE1heVN0YXJ0
RHJhZygpIGRvZXMgbm90IGNoZWNrIGZvciBzaGlmdEtleSBvciBpc092ZXJMaW5rCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGVyZSBpcyBjdXJyZW50bHkg
YSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBsb2dpYyB0aGF0IGNoZWNrcyB3aGV0aGVyCisgICAgICAg
IGFuIGV2ZW50IGNhbiBzdGFydCBhIGRyYWdnaW5nIGFjdGlvbiBpbiBFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudAorICAgICAgICBhbmQgaW4gRXZlbnRIYW5kbGVyOjpldmVudE1h
eVN0YXJ0RHJhZworICAgICAgICBCYXNpY2FsbHkgdGhlIGZvcm1lciBjaGVja3MgZm9yIGV2ZW50
J3MgY291bnQsIHR5cGUsIGJ1dHRvbiwgdGFyZ2V0IGFuZCBtb2RpZmllci4KKyAgICAgICAgVGhl
IGxhdGVyLCBvbiB0aGUgb3RoZXIgaGFuZCwgb25seSBjaGVja3MgZm9yIGV2ZW50J3MgYnV0dG9u
IGFuZCBjb3VudC4KKworICAgICAgICBJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFz
IHBlciB0aGUgY29tbWVudCBpbiB0aGUgY29kZSwKKyAgICAgICAgcGF0Y2ggZmFjdG9ycyBvdXQg
dGhlIGxvZ2ljIGluIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rp
b24sCisgICAgICAgIGFuZCB1bHRpbWF0ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnRE
cmFnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBmb3IgdHdvIHJlYXNvbnM6CisKKyAgICAgICAg
MSkgOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQgd2lsbCBub3QgaGF2ZSBhbnkgYmVoYXZpb3IgY2hh
bmdlLiBDb2RlIGlzIGZhY3RvcmVkIG91dAorICAgICAgICBpbnRvIGEgaGVscGVyLgorCisgICAg
ICAgIDIpIFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBX
ZWJQYWdlOjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKKyAgICAgICAgYW5kIDo6YWNj
ZXB0c0ZpcnN0TW91c2UuIEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBt
ZXRob2RzCisgICAgICAgIGFyZSBjYWxsZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIg
d2luZG93IGluIGJhY2tncm91bmQgd2l0aCBzb21lIHRleHQgc2VsZWN0ZWQsCisgICAgICAgIGFu
ZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxlY3RlZCBjb250ZW50LiBEcmFnZ2luZyBoYXBw
ZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRvdworICAgICAgICBmb3JlZ3JvdW5kLiBUaGlz
IGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgorICAgICAgICBTdWNoIGJlaGF2aW9y
IHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KKworICAgICAgICBbMV0gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MDUzIC0gIkltcGxlbWVudCBub24tYWN0
aXZhdGluZyBjbGlja3MgdG8gYWxsb3cgZHJhZ2dpbmcgb3V0IG9mIGEgYmFja2dyb3VuZCB3aW5k
b3ciCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojppc1NpbmdsZU1vdXNlRG93bk9uTGlua09ySW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Y2Fu
TW91c2VFdmVudFN0YXJ0RHJhZ0ludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmRvY3VtZW50
UG9pbnRGb3JXaW5kb3dQb2ludCk6IE1vdmVkIHVwIGluIHRoZSBmaWxlIHRvIGJlIHVzZWQgZWxz
ZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJh
Zyk6CisKIDIwMTYtMDMtMzAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBSZWZhY3RvciBwb3NpdGlvbmVkIGNoaWxkcmVuIGNv
ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA4NjkwNGM1Li5lMTkwMTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MzcsNiArNzM3LDIyIEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURvd25TdGFydFNlbGVjdChOb2RlKiBub2RlKQog
ICAgIHJldHVybiBub2RlLT5jYW5TdGFydFNlbGVjdGlvbigpIHx8IFBvc2l0aW9uOjpub2RlSXNV
c2VyU2VsZWN0QWxsKG5vZGUpOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKK3N0YXRp
YyBib29sIGlzU2luZ2xlTW91c2VEb3duT25MaW5rT3JJbWFnZShjb25zdCBNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzJiBldmVudCkKK3sKKyAgICBhdXRvJiBwbGF0Zm9ybUV2ZW50ID0gZXZl
bnQuZXZlbnQoKTsKKyAgICBpZiAocGxhdGZvcm1FdmVudC50eXBlKCkgIT0gUGxhdGZvcm1FdmVu
dDo6TW91c2VQcmVzc2VkIHx8IHBsYXRmb3JtRXZlbnQuYnV0dG9uKCkgIT0gTGVmdEJ1dHRvbiB8
fCBwbGF0Zm9ybUV2ZW50LmNsaWNrQ291bnQoKSAhPSAxKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gZXZlbnQuaXNPdmVyTGluaygpIHx8IGV2ZW50LmhpdFRlc3RSZXN1bHQo
KS5pbWFnZSgpOworfQorCitzdGF0aWMgYm9vbCBldmVudE1heVN0YXJ0RHJhZ0ludGVybmFsKGNv
bnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQoreworICAgIHJldHVybiAh
ZXZlbnQuZXZlbnQoKS5zaGlmdEtleSgpIHx8IGlzU2luZ2xlTW91c2VEb3duT25MaW5rT3JJbWFn
ZShldmVudCkgOworfQorI2VuZGlmCisKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CiAj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTc2MiwxMyArNzc4LDcgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RS
ZXN1bHRzJiBldmUKICAgICBtX21vdXNlRG93bk1heVN0YXJ0U2VsZWN0ID0gY2FuTW91c2VEb3du
U3RhcnRTZWxlY3QoZXZlbnQudGFyZ2V0Tm9kZSgpKSAmJiAhZXZlbnQuc2Nyb2xsYmFyKCk7CiAg
ICAgCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICAvLyBDYXJlZnVsIHRoYXQgdGhlIGRy
YWcgc3RhcnRpbmcgbG9naWMgc3RheXMgaW4gc3luYyB3aXRoIGV2ZW50TWF5U3RhcnREcmFnKCkK
LSAgICAvLyBGSVhNRTogZXZlbnRNYXlTdGFydERyYWcoKSBkb2VzIG5vdCBjaGVjayBmb3Igc2hp
ZnQga2V5IHByZXNzLCBsaW5rIG9yIGltYWdlIGV2ZW50IHRhcmdldHMuCi0gICAgLy8gQnVnOiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MzkwCi0KLSAgICAvLyBT
aW5nbGUgbW91c2UgZG93biBvbiBsaW5rcyBvciBpbWFnZXMgY2FuIGFsd2F5cyB0cmlnZ2VyIGRy
YWctbi1kcm9wLgotICAgIGJvb2wgaXNNb3VzZURvd25PbkxpbmtPckltYWdlID0gZXZlbnQuaXNP
dmVyTGluaygpIHx8IGV2ZW50LmhpdFRlc3RSZXN1bHQoKS5pbWFnZSgpOwotICAgIG1fbW91c2VE
b3duTWF5U3RhcnREcmFnID0gc2luZ2xlQ2xpY2sgJiYgKCFldmVudC5ldmVudCgpLnNoaWZ0S2V5
KCkgfHwgaXNNb3VzZURvd25PbkxpbmtPckltYWdlKTsKKyAgICBtX21vdXNlRG93bk1heVN0YXJ0
RHJhZyA9IGV2ZW50TWF5U3RhcnREcmFnSW50ZXJuYWwoZXZlbnQpOwogI2VuZGlmCiAKICAgICBt
X21vdXNlRG93bldhc1NpbmdsZUNsaWNrSW5TZWxlY3Rpb24gPSBmYWxzZTsKQEAgLTgxNiw2ICs4
MjYsMTQgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmUKICAgICByZXR1cm4gc3dhbGxvd0V2ZW50
OwogfQogCitzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KEZy
YW1lJiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQoreworICAgIEZyYW1lVmll
dyogdmlldyA9IGZyYW1lLnZpZXcoKTsKKyAgICAvLyBGSVhNRTogSXMgaXQgcmVhbGx5IE9LIHRv
IHVzZSB0aGUgd3JvbmcgY29vcmRpbmF0ZXMgaGVyZSB3aGVuIHZpZXcgaXMgMD8KKyAgICAvLyBI
aXN0b3JpY2FsbHkgdGhlIGNvZGUgd291bGQganVzdCBjcmFzaDsgdGhpcyBpcyBjbGVhcmx5IG5v
IHdvcnNlIHRoYW4gdGhhdC4KKyAgICByZXR1cm4gdmlldyA/IHZpZXctPndpbmRvd1RvQ29udGVu
dHMod2luZG93UG9pbnQpIDogd2luZG93UG9pbnQ7Cit9CisKICNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRHJhZ2dlZEV2ZW50KGNvbnN0IE1v
dXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQogewpAQCAtODYwLDcgKzg3OCw3IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZURyYWdnZWRFdmVudChjb25zdCBNb3VzZUV2
ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBlCiAgICAgdXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEcmFn
KGV2ZW50LmhpdFRlc3RSZXN1bHQoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9Ci0gICAgCisKIGJv
b2wgRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZyhjb25zdCBQbGF0Zm9ybU1vdXNlRXZl
bnQmIGV2ZW50KSBjb25zdAogewogICAgIC8vIFRoaXMgaXMgYSBwcmUtZmxpZ2h0IGNoZWNrIG9m
IHdoZXRoZXIgdGhlIGV2ZW50IG1pZ2h0IGxlYWQgdG8gYSBkcmFnIGJlaW5nIHN0YXJ0ZWQuICBC
ZSBjYXJlZnVsCkBAIC04NzAsOSArODg4LDYgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50TWF5
U3RhcnREcmFnKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpIGNvbnN0CiAgICAgaWYg
KCFyZW5kZXJWaWV3KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoZXZlbnQuYnV0
dG9uKCkgIT0gTGVmdEJ1dHRvbiB8fCBldmVudC5jbGlja0NvdW50KCkgIT0gMSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS52aWV3KCk7CiAg
ICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC04ODEsMTAgKzg5NiwxNSBA
QCBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBldmVudCkgY29uc3QKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIHVwZGF0ZURyYWdTb3VyY2VBY3Rpb25zQWxsb3dlZCgpOwogICAgIEhpdFRlc3RS
ZXF1ZXN0IHJlcXVlc3QoSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6
OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQodmlldy0+
d2luZG93VG9Db250ZW50cyhldmVudC5wb3NpdGlvbigpKSk7Ci0gICAgcmVuZGVyVmlldy0+aGl0
VGVzdChyZXF1ZXN0LCByZXN1bHQpOworICAgIExheW91dFBvaW50IGRvY3VtZW50UG9pbnQgPSBk
b2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQobV9mcmFtZSwgZXZlbnQucG9zaXRpb24oKSk7Cisg
ICAgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyBtb3VzZUV2ZW50ID0gbV9mcmFtZS5kb2N1
bWVudCgpLT5wcmVwYXJlTW91c2VFdmVudChyZXF1ZXN0LCBkb2N1bWVudFBvaW50LCBldmVudCk7
CisgICAgaWYgKCFldmVudE1heVN0YXJ0RHJhZ0ludGVybmFsKG1vdXNlRXZlbnQpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICB1cGRhdGVEcmFnU291cmNlQWN0aW9uc0FsbG93ZWQoKTsK
KworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gbW91c2VFdmVudC5oaXRUZXN0UmVzdWx0KCk7
CiAgICAgRHJhZ1N0YXRlIHN0YXRlOwogICAgIHJldHVybiByZXN1bHQuaW5uZXJFbGVtZW50KCkg
JiYgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnZ2FibGVFbGVtZW50KCZtX2ZyYW1lLCByZXN1
bHQuaW5uZXJFbGVtZW50KCksIHJlc3VsdC5yb3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCks
IHN0YXRlKTsKIH0KQEAgLTE1NzcsMTQgKzE1OTcsNiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YXV0
b0hpZGVDdXJzb3JUaW1lckZpcmVkKCkKIH0KICNlbmRpZgogCi1zdGF0aWMgTGF5b3V0UG9pbnQg
ZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KEZyYW1lJiBmcmFtZSwgY29uc3QgSW50UG9pbnQm
IHdpbmRvd1BvaW50KQotewotICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLnZpZXcoKTsKLSAg
ICAvLyBGSVhNRTogSXMgaXQgcmVhbGx5IE9LIHRvIHVzZSB0aGUgd3JvbmcgY29vcmRpbmF0ZXMg
aGVyZSB3aGVuIHZpZXcgaXMgMD8KLSAgICAvLyBIaXN0b3JpY2FsbHkgdGhlIGNvZGUgd291bGQg
anVzdCBjcmFzaDsgdGhpcyBpcyBjbGVhcmx5IG5vIHdvcnNlIHRoYW4gdGhhdC4KLSAgICByZXR1
cm4gdmlldyA/IHZpZXctPndpbmRvd1RvQ29udGVudHMod2luZG93UG9pbnQpIDogd2luZG93UG9p
bnQ7Ci19Ci0KIHN0YXRpYyBTY3JvbGxiYXIqIHNjcm9sbGJhckZvck1vdXNlRXZlbnQoY29uc3Qg
TW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgbW91c2VFdmVudCwgRnJhbWVWaWV3KiB2aWV3
KQogewogICAgIGlmICh2aWV3KSB7Ci0tIAoyLjUuNCAoQXBwbGUgR2l0LTYxKQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275302</attachid>
            <date>2016-03-31 11:12:48 -0700</date>
            <delta_ts>2016-03-31 12:25:43 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>0001-eventMayStartDrag-does-not-check-for-shiftKey-or-isO.patch</filename>
            <type>text/plain</type>
            <size>9053</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA2YzM5YjkyOWI3MjY2ODRlYjc4Zjk4MDQ5ZjRmOTg4NWUwM2IyOGVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVHVlLCAyOSBNYXIgMjAxNiAxNTozOToyMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGV2
ZW50TWF5U3RhcnREcmFnKCkgZG9lcyBub3QgY2hlY2sgZm9yIHNoaWZ0S2V5IG9yIGlzT3Zlckxp
bmsKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKClJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgoKVGhlcmUgaXMgY3VycmVudGx5IGEgbWlzbWF0Y2ggYmV0d2Vl
biB0aGUgbG9naWMgdGhhdCBjaGVja3Mgd2hldGhlcgphbiBldmVudCBjYW4gc3RhcnQgYSBkcmFn
Z2luZyBhY3Rpb24gaW4gRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKYW5kIGlu
IEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcKQmFzaWNhbGx5IHRoZSBmb3JtZXIgY2hl
Y2tzIGZvciBldmVudCdzIGNvdW50LCB0eXBlLCBidXR0b24sIHRhcmdldCBhbmQgbW9kaWZpZXIu
ClRoZSBsYXRlciwgb24gdGhlIG90aGVyIGhhbmQsIG9ubHkgY2hlY2tzIGZvciBldmVudCdzIGJ1
dHRvbiBhbmQgY291bnQuCgpJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFzIHBlciB0
aGUgY29tbWVudCBpbiB0aGUgY29kZSwKcGF0Y2ggZmFjdG9ycyBvdXQgdGhlIGxvZ2ljIGluIDo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rpb24sCmFuZCB1bHRpbWF0
ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnREcmFnLgoKTm8gbmV3IHRlc3RzIGZvciB0
d28gcmVhc29uczoKCjEpIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IHdpbGwgbm90IGhhdmUgYW55
IGJlaGF2aW9yIGNoYW5nZS4gQ29kZSBpcyBmYWN0b3JlZCBvdXQKaW50byBhIGhlbHBlci4KCjIp
IFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBXZWJQYWdl
OjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKYW5kIDo6YWNjZXB0c0ZpcnN0TW91c2Uu
IEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBtZXRob2RzCmFyZSBjYWxs
ZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIgd2luZG93IGluIGJhY2tncm91bmQgd2l0
aCBzb21lIHRleHQgc2VsZWN0ZWQsCmFuZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxlY3Rl
ZCBjb250ZW50LiBEcmFnZ2luZyBoYXBwZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRvdwpm
b3JlZ3JvdW5kLiBUaGlzIGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgpTdWNoIGJl
aGF2aW9yIHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KClsxXSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNTMgLSAiSW1wbGVtZW50IG5vbi1hY3RpdmF0
aW5nIGNsaWNrcyB0byBhbGxvdyBkcmFnZ2luZyBvdXQgb2YgYSBiYWNrZ3JvdW5kIHdpbmRvdyIK
CiogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgooV2ViQ29yZTo6aXNTaW5nbGVNb3VzZURvd25Pbkxp
bmtPckltYWdlKToKKFdlYkNvcmU6OmNhbk1vdXNlRXZlbnRTdGFydERyYWdJbnRlcm5hbCk6CihX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6CihXZWJDb3JlOjpk
b2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQpOiBNb3ZlZCB1cCBpbiB0aGUgZmlsZSB0byBiZSB1
c2VkIGVsc2V3aGVyZS4KKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWcp
OgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICB8IDM4ICsrKysrKysr
KysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIHwg
NTYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQs
IDcyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNWQ4YmEw
Li4wYWFjZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTYtMDMtMzAgIEFudG9u
aW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KKworICAgICAgICBldmVudE1heVN0YXJ0
RHJhZygpIGRvZXMgbm90IGNoZWNrIGZvciBzaGlmdEtleSBvciBpc092ZXJMaW5rCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU3NDYKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGVyZSBpcyBjdXJyZW50bHkg
YSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBsb2dpYyB0aGF0IGNoZWNrcyB3aGV0aGVyCisgICAgICAg
IGFuIGV2ZW50IGNhbiBzdGFydCBhIGRyYWdnaW5nIGFjdGlvbiBpbiBFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudAorICAgICAgICBhbmQgaW4gRXZlbnRIYW5kbGVyOjpldmVudE1h
eVN0YXJ0RHJhZworICAgICAgICBCYXNpY2FsbHkgdGhlIGZvcm1lciBjaGVja3MgZm9yIGV2ZW50
J3MgY291bnQsIHR5cGUsIGJ1dHRvbiwgdGFyZ2V0IGFuZCBtb2RpZmllci4KKyAgICAgICAgVGhl
IGxhdGVyLCBvbiB0aGUgb3RoZXIgaGFuZCwgb25seSBjaGVja3MgZm9yIGV2ZW50J3MgYnV0dG9u
IGFuZCBjb3VudC4KKworICAgICAgICBJbiBvcmRlciB0byBzeW5jIHRoZW0gdXAgYWdhaW4sIGFz
IHBlciB0aGUgY29tbWVudCBpbiB0aGUgY29kZSwKKyAgICAgICAgcGF0Y2ggZmFjdG9ycyBvdXQg
dGhlIGxvZ2ljIGluIDo6aGFuZGxlTW91c2VQcmVzc0V2ZW50IGludG8gYSBoZWxwZXIgZnVuY3Rp
b24sCisgICAgICAgIGFuZCB1bHRpbWF0ZWx5IHJldXNlcyBpdCBpbiA6OmV2ZW50TWF5U3RhcnRE
cmFnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBmb3IgdHdvIHJlYXNvbnM6CisKKyAgICAgICAg
MSkgOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQgd2lsbCBub3QgaGF2ZSBhbnkgYmVoYXZpb3IgY2hh
bmdlLiBDb2RlIGlzIGZhY3RvcmVkIG91dAorICAgICAgICBpbnRvIGEgaGVscGVyLgorCisgICAg
ICAgIDIpIFRoZSBjYWxsZWVzIG9mIDo6ZXZlbnRNYXlTdGFydERyYWcgYXJlIGN1cnJlbnRseSBX
ZWJQYWdlOjpzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQKKyAgICAgICAgYW5kIDo6YWNj
ZXB0c0ZpcnN0TW91c2UuIEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcgb2YgWzFdLCB0aGVzZSBt
ZXRob2RzCisgICAgICAgIGFyZSBjYWxsZWQgd2hlbiB0aGVyZSBpcyBhIChzYXkpIGJyb3dzZXIg
d2luZG93IGluIGJhY2tncm91bmQgd2l0aCBzb21lIHRleHQgc2VsZWN0ZWQsCisgICAgICAgIGFu
ZCB1c2VyIHN0YXJ0cyB0byBkcmFnIHRoZSBzZWxlY3RlZCBjb250ZW50LiBEcmFnZ2luZyBoYXBw
ZW5zIHdpdGhvdXQgYnJpbmdpbmcgdGhlIHdpbmRvdworICAgICAgICBmb3JlZ3JvdW5kLiBUaGlz
IGlzIGNhbGxlZCAibm9uLWFjdGl2YXRpbmcgY2xpY2siLgorICAgICAgICBTdWNoIGJlaGF2aW9y
IHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSBwYXRjaC4KKworICAgICAgICBbMV0gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MDUzIC0gIkltcGxlbWVudCBub24tYWN0
aXZhdGluZyBjbGlja3MgdG8gYWxsb3cgZHJhZ2dpbmcgb3V0IG9mIGEgYmFja2dyb3VuZCB3aW5k
b3ciCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojppc1NpbmdsZU1vdXNlRG93bk9uTGlua09ySW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Y2Fu
TW91c2VFdmVudFN0YXJ0RHJhZ0ludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmRvY3VtZW50
UG9pbnRGb3JXaW5kb3dQb2ludCk6IE1vdmVkIHVwIGluIHRoZSBmaWxlIHRvIGJlIHVzZWQgZWxz
ZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJh
Zyk6CisKIDIwMTYtMDMtMzAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBSZWZhY3RvciBwb3NpdGlvbmVkIGNoaWxkcmVuIGNv
ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA4NjkwNGM1Li5lMTkwMTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MzcsNiArNzM3LDIyIEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURvd25TdGFydFNlbGVjdChOb2RlKiBub2RlKQog
ICAgIHJldHVybiBub2RlLT5jYW5TdGFydFNlbGVjdGlvbigpIHx8IFBvc2l0aW9uOjpub2RlSXNV
c2VyU2VsZWN0QWxsKG5vZGUpOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKK3N0YXRp
YyBib29sIGlzU2luZ2xlTW91c2VEb3duT25MaW5rT3JJbWFnZShjb25zdCBNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzJiBldmVudCkKK3sKKyAgICBhdXRvJiBwbGF0Zm9ybUV2ZW50ID0gZXZl
bnQuZXZlbnQoKTsKKyAgICBpZiAocGxhdGZvcm1FdmVudC50eXBlKCkgIT0gUGxhdGZvcm1FdmVu
dDo6TW91c2VQcmVzc2VkIHx8IHBsYXRmb3JtRXZlbnQuYnV0dG9uKCkgIT0gTGVmdEJ1dHRvbiB8
fCBwbGF0Zm9ybUV2ZW50LmNsaWNrQ291bnQoKSAhPSAxKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gZXZlbnQuaXNPdmVyTGluaygpIHx8IGV2ZW50LmhpdFRlc3RSZXN1bHQo
KS5pbWFnZSgpOworfQorCitzdGF0aWMgYm9vbCBldmVudE1heVN0YXJ0RHJhZ0ludGVybmFsKGNv
bnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQoreworICAgIHJldHVybiAh
ZXZlbnQuZXZlbnQoKS5zaGlmdEtleSgpIHx8IGlzU2luZ2xlTW91c2VEb3duT25MaW5rT3JJbWFn
ZShldmVudCk7Cit9CisjZW5kaWYKKwogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJl
c3NFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmVudCkKIHsKICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpAQCAtNzYyLDEzICs3NzgsNyBAQCBib29sIEV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJl
c3VsdHMmIGV2ZQogICAgIG1fbW91c2VEb3duTWF5U3RhcnRTZWxlY3QgPSBjYW5Nb3VzZURvd25T
dGFydFNlbGVjdChldmVudC50YXJnZXROb2RlKCkpICYmICFldmVudC5zY3JvbGxiYXIoKTsKICAg
ICAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIC8vIENhcmVmdWwgdGhhdCB0aGUgZHJh
ZyBzdGFydGluZyBsb2dpYyBzdGF5cyBpbiBzeW5jIHdpdGggZXZlbnRNYXlTdGFydERyYWcoKQot
ICAgIC8vIEZJWE1FOiBldmVudE1heVN0YXJ0RHJhZygpIGRvZXMgbm90IGNoZWNrIGZvciBzaGlm
dCBrZXkgcHJlc3MsIGxpbmsgb3IgaW1hZ2UgZXZlbnQgdGFyZ2V0cy4KLSAgICAvLyBCdWc6IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUzOTAKLQotICAgIC8vIFNp
bmdsZSBtb3VzZSBkb3duIG9uIGxpbmtzIG9yIGltYWdlcyBjYW4gYWx3YXlzIHRyaWdnZXIgZHJh
Zy1uLWRyb3AuCi0gICAgYm9vbCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UgPSBldmVudC5pc092
ZXJMaW5rKCkgfHwgZXZlbnQuaGl0VGVzdFJlc3VsdCgpLmltYWdlKCk7Ci0gICAgbV9tb3VzZURv
d25NYXlTdGFydERyYWcgPSBzaW5nbGVDbGljayAmJiAoIWV2ZW50LmV2ZW50KCkuc2hpZnRLZXko
KSB8fCBpc01vdXNlRG93bk9uTGlua09ySW1hZ2UpOworICAgIG1fbW91c2VEb3duTWF5U3RhcnRE
cmFnID0gZXZlbnRNYXlTdGFydERyYWdJbnRlcm5hbChldmVudCk7CiAjZW5kaWYKIAogICAgIG1f
bW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNlbGVjdGlvbiA9IGZhbHNlOwpAQCAtODE2LDYgKzgy
NiwxNCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1v
dXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZQogICAgIHJldHVybiBzd2FsbG93RXZlbnQ7
CiB9CiAKK3N0YXRpYyBMYXlvdXRQb2ludCBkb2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQoRnJh
bWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCit7CisgICAgRnJhbWVWaWV3
KiB2aWV3ID0gZnJhbWUudmlldygpOworICAgIC8vIEZJWE1FOiBJcyBpdCByZWFsbHkgT0sgdG8g
dXNlIHRoZSB3cm9uZyBjb29yZGluYXRlcyBoZXJlIHdoZW4gdmlldyBpcyAwPworICAgIC8vIEhp
c3RvcmljYWxseSB0aGUgY29kZSB3b3VsZCBqdXN0IGNyYXNoOyB0aGlzIGlzIGNsZWFybHkgbm8g
d29yc2UgdGhhbiB0aGF0LgorICAgIHJldHVybiB2aWV3ID8gdmlldy0+d2luZG93VG9Db250ZW50
cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2ludDsKK30KKwogI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VEcmFnZ2VkRXZlbnQoY29uc3QgTW91
c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CkBAIC04NjAsNyArODc4LDcgQEAg
Ym9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRHJhZ2dlZEV2ZW50KGNvbnN0IE1vdXNlRXZl
bnRXaXRoSGl0VGVzdFJlc3VsdHMmIGUKICAgICB1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURyYWco
ZXZlbnQuaGl0VGVzdFJlc3VsdCgpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KLSAgICAKKwogYm9v
bCBFdmVudEhhbmRsZXI6OmV2ZW50TWF5U3RhcnREcmFnKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQpIGNvbnN0CiB7CiAgICAgLy8gVGhpcyBpcyBhIHByZS1mbGlnaHQgY2hlY2sgb2Yg
d2hldGhlciB0aGUgZXZlbnQgbWlnaHQgbGVhZCB0byBhIGRyYWcgYmVpbmcgc3RhcnRlZC4gIEJl
IGNhcmVmdWwKQEAgLTg3MCw5ICs4ODgsNiBAQCBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlT
dGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkgY29uc3QKICAgICBpZiAo
IXJlbmRlclZpZXcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChldmVudC5idXR0
b24oKSAhPSBMZWZ0QnV0dG9uIHx8IGV2ZW50LmNsaWNrQ291bnQoKSAhPSAxKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKTsKICAg
ICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTg4MSwxMCArODk2LDE1IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZyhjb25zdCBQbGF0Zm9ybU1vdXNl
RXZlbnQmIGV2ZW50KSBjb25zdAogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgdXBkYXRlRHJhZ1NvdXJjZUFjdGlvbnNBbGxvd2VkKCk7CiAgICAgSGl0VGVzdFJl
cXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVzdDo6
RGlzYWxsb3dTaGFkb3dDb250ZW50KTsKLSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3LT53
aW5kb3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0aW9uKCkpKTsKLSAgICByZW5kZXJWaWV3LT5oaXRU
ZXN0KHJlcXVlc3QsIHJlc3VsdCk7CisgICAgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludCA9IGRv
Y3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChtX2ZyYW1lLCBldmVudC5wb3NpdGlvbigpKTsKKyAg
ICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIG1vdXNlRXZlbnQgPSBtX2ZyYW1lLmRvY3Vt
ZW50KCktPnByZXBhcmVNb3VzZUV2ZW50KHJlcXVlc3QsIGRvY3VtZW50UG9pbnQsIGV2ZW50KTsK
KyAgICBpZiAoIWV2ZW50TWF5U3RhcnREcmFnSW50ZXJuYWwobW91c2VFdmVudCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHVwZGF0ZURyYWdTb3VyY2VBY3Rpb25zQWxsb3dlZCgpOwor
CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtb3VzZUV2ZW50LmhpdFRlc3RSZXN1bHQoKTsK
ICAgICBEcmFnU3RhdGUgc3RhdGU7CiAgICAgcmV0dXJuIHJlc3VsdC5pbm5lckVsZW1lbnQoKSAm
JiBwYWdlLT5kcmFnQ29udHJvbGxlcigpLmRyYWdnYWJsZUVsZW1lbnQoJm1fZnJhbWUsIHJlc3Vs
dC5pbm5lckVsZW1lbnQoKSwgcmVzdWx0LnJvdW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSwg
c3RhdGUpOwogfQpAQCAtMTU3NywxNCArMTU5Nyw2IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphdXRv
SGlkZUN1cnNvclRpbWVyRmlyZWQoKQogfQogI2VuZGlmCiAKLXN0YXRpYyBMYXlvdXRQb2ludCBk
b2N1bWVudFBvaW50Rm9yV2luZG93UG9pbnQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYg
d2luZG93UG9pbnQpCi17Ci0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUudmlldygpOwotICAg
IC8vIEZJWE1FOiBJcyBpdCByZWFsbHkgT0sgdG8gdXNlIHRoZSB3cm9uZyBjb29yZGluYXRlcyBo
ZXJlIHdoZW4gdmlldyBpcyAwPwotICAgIC8vIEhpc3RvcmljYWxseSB0aGUgY29kZSB3b3VsZCBq
dXN0IGNyYXNoOyB0aGlzIGlzIGNsZWFybHkgbm8gd29yc2UgdGhhbiB0aGF0LgotICAgIHJldHVy
biB2aWV3ID8gdmlldy0+d2luZG93VG9Db250ZW50cyh3aW5kb3dQb2ludCkgOiB3aW5kb3dQb2lu
dDsKLX0KLQogc3RhdGljIFNjcm9sbGJhciogc2Nyb2xsYmFyRm9yTW91c2VFdmVudChjb25zdCBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBtb3VzZUV2ZW50LCBGcmFtZVZpZXcqIHZpZXcp
CiB7CiAgICAgaWYgKHZpZXcpIHsKLS0gCjIuNS40IChBcHBsZSBHaXQtNjEpCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>