<?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>39195</bug_id>
          
          <creation_ts>2010-05-16 21:06:40 -0700</creation_ts>
          <short_desc>Spatial Navigation: refactor scrollInDirection to work with scrollable content</short_desc>
          <delta_ts>2011-04-19 05:15:29 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>18662</dependson>
    
    <dependson>36463</dependson>
    
    <dependson>39217</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>226604</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-16 21:06:40 -0700</bug_when>
    <thetext>scrollInDirection method in SpatialNavigation.cpp currently does not works fine for focusable elements in overflowed content.

it needs a refactoring for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226609</commentid>
    <comment_count>1</comment_count>
      <attachid>56208</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-16 21:18:15 -0700</bug_when>
    <thetext>Created attachment 56208
patch v0.1

Not putting up for review because it needs the blocker bug to land first, and I will work on layout tests for this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226810</commentid>
    <comment_count>2</comment_count>
      <attachid>56249</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-17 10:37:50 -0700</bug_when>
    <thetext>Created attachment 56249
patch v1

Not up for review because it relies on patch in bug 39217</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238420</commentid>
    <comment_count>3</comment_count>
      <attachid>58787</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-15 09:37:09 -0700</bug_when>
    <thetext>Created attachment 58787
(committed in r61298, reviewed by smfr) patch v2

Patch ready for review.

Summary: Patch changes the scrollInDirection method to receives as parameter the node that the spatial navigation
found as the one more appropriated to move focus to. If it is in a scrollable container (e.g. &lt;div&gt; with clipped overflow content), it scrolls recursively starting from the container, not the current focused node.

This is a follow up on bug 39217.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239152</commentid>
    <comment_count>4</comment_count>
      <attachid>58787</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-16 17:08:36 -0700</bug_when>
    <thetext>Comment on attachment 58787
(committed in r61298, reviewed by smfr) patch v2

&gt; +++ b/LayoutTests/fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
&gt; @@ -0,0 +1,77 @@
&gt; +&lt;html&gt;
&gt; +  &lt;!--
&gt; +    This test ensures the content overflow traversal correctness of Spatial Navigation
&gt; +    algorithm: if an element if clipped overflow in a scrollable container (e.g. &lt;div&gt;),
&gt; +    scroll-in-direction should happen in the container box.
&gt; +
&gt; +    * Pre-conditions:
&gt; +    1) DRT support for SNav enable/disable.
&gt; +
&gt; +    * Navigation steps:
&gt; +    1) Loads this page, focus goes to &quot;start&quot; automatically.
&gt; +    2) Try to move focus down to the visible focusable element in
&gt; +       scrollable div.
&gt; +
&gt; +    * Expected results: There should have to a scroll action in the container
&gt; +    (div) as an attempt to make the clipped overflow node visible and accessible
&gt; +    via SNav. --&gt;

Don&apos;t use SNav as an abbreviation. Out of context, someone might not know what it means.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239166</commentid>
    <comment_count>5</comment_count>
      <attachid>58787</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-16 18:03:07 -0700</bug_when>
    <thetext>Comment on attachment 58787
(committed in r61298, reviewed by smfr) patch v2

Clearing flags on attachment: 58787

Committed r61298: &lt;http://trac.webkit.org/changeset/61298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239289</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-17 01:35:42 -0700</bug_when>
    <thetext>Revision r61298 cherry-picked into qtwebkit-2.0 with commit 847dfd81c24656af37ed062a38a47e51a9cfa03f</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56208</attachid>
            <date>2010-05-16 21:18:15 -0700</date>
            <delta_ts>2010-05-17 10:37:50 -0700</delta_ts>
            <desc>patch v0.1</desc>
            <filename>0001-2010-05-16-Antonio-Gomes-tonikitoo-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>5427</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBiZTJkNjk1OGU4ZWQzMGU3ZjhkOGNhOTcwODY0N2I4NGI2MWQzMGYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogU3VuLCAxNiBNYXkgMjAxMCAyMzowMDo1MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIw
MTAtMDUtMTYgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFNwYXRpYWwgTmF2aWdhdGlvbjog
cmVmYWN0b3IgaGFzT2Zmc2NyZWVuUmVjdCB0byB3b3JrIHdpdGggc2Nyb2xsYWJsZSBjb250ZW50
CiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTk1Cgog
ICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgogICAgICAgIChXZWJDb3JlOjpGb2N1
c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkpOgogICAgICAgICogcGFnZS9T
cGF0aWFsTmF2aWdhdGlvbi5jcHA6CiAgICAgICAgKFdlYkNvcmU6OnNjcm9sbEluRGlyZWN0aW9u
KToKICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaDoKLS0tCiBXZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrKysrKysrKysrCiBXZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcCAgIHwgICAgMiArLQogV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZp
Z2F0aW9uLmNwcCB8ICAgMTEgKysrKysrKysrKy0KIFdlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdh
dGlvbi5oICAgfCAgICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDMg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ODAyZGZjLi5hYTA5OGJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw4ICsxLDIxIEBACisyMDEwLTA1LTE2
ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiByZWZh
Y3RvciBoYXNPZmZzY3JlZW5SZWN0IHRvIHdvcmsgd2l0aCBzY3JvbGxhYmxlIGNvbnRlbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTk1CisKKyAg
ICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1
c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkpOgorICAgICAgICAqIHBhZ2Uv
U3BhdGlhbE5hdmlnYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsSW5EaXJlY3Rp
b24pOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaDoKKwogMjAxMC0wNS0xNCAg
QW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgogCiAgICAgICAgIEF2b2lkIHdhbGtpbmcgdXAgdGhlIERPTSB0
cmVlIGxvb2tpbmcgZm9yIGEgZW5jbG9zaW5nIHNjcm9sbGFibGUgY29udGFpbmVyCiAgICAgICAg
IG5vZGUgaW4gY2FzZSBvZiBGb2N1c0NhbmRpZGF0ZTogaXQgYWxyZWFkeSBob2xkcyBhIHJlZmVy
ZW5jZSB0byBpdC4KIAogICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwOgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcAppbmRleCBkNWRkMWM5Li4wODBiNTJhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmNwcApAQCAtMzE1LDE3ICszMTUsMTcgQEAgYm9vbCBGb2N1c0NvbnRyb2xsZXI6
OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBLZXli
b2EKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIC8vIEluIG9yZGVyIHRvIGF2
b2lkIGNyYXp5IGp1bXAgYmV0d2VlbiBsaW5rcyB0aGF0IGFyZSBlaXRoZXIgZmFyIGF3YXkgZnJv
bSBlYWNoIG90aGVyLAogICAgIC8vIG9yIGp1c3Qgbm90IGN1cnJlbnRseSB2aXNpYmxlLCBsZXRz
IGRvIGEgc2Nyb2xsIGluIHRoZSBnaXZlbiBkaXJlY3Rpb24gYW5kIGJhaWwgb3V0CiAgICAgLy8g
aWYgfG5vZGV8IGVsZW1lbnQgaXMgbm90IGluIHRoZSB2aWV3cG9ydC4KICAgICBpZiAoaGFzT2Zm
c2NyZWVuUmVjdChmb2N1c0NhbmRpZGF0ZSkpIHsKICAgICAgICAgRnJhbWUqIGZyYW1lID0gbm9k
ZS0+ZG9jdW1lbnQoKS0+dmlldygpLT5mcmFtZSgpOwotICAgICAgICBzY3JvbGxJbkRpcmVjdGlv
bihmcmFtZSwgZGlyZWN0aW9uKTsKKyAgICAgICAgc2Nyb2xsSW5EaXJlY3Rpb24oZnJhbWUsIGRp
cmVjdGlvbiwgZm9jdXNDYW5kaWRhdGUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
ICAgICBEb2N1bWVudCogbmV3RG9jdW1lbnQgPSBub2RlLT5kb2N1bWVudCgpOwogCiAgICAgaWYg
KG5ld0RvY3VtZW50ICE9IGZvY3VzZWREb2N1bWVudCkgewogICAgICAgICAvLyBGb2N1cyBpcyBn
b2luZyBhd2F5IGZyb20gdGhlIG9yaWdpbmFsbHkgZm9jdXNlZCBkb2N1bWVudCwgc28gY2xlYXIg
dGhlIGZvY3VzZWQgbm9kZS4KICAgICAgICAgZm9jdXNlZERvY3VtZW50LT5zZXRGb2N1c2VkTm9k
ZSgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgYi9X
ZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IGU3M2U3MmIuLjIxMGYyMTAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKKysrIGIvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcApAQCAtNDY2LDE3ICs0NjYsMTcgQEAgYm9v
bCBoYXNPZmZzY3JlZW5SZWN0KGNvbnN0IEZvY3VzQ2FuZGlkYXRlJiBjYW5kaWRhdGUpCiAgICAg
aWYgKCF2aWV3cG9ydFJlY3QuaW50ZXJzZWN0cyhjb250YWluZXJSZWN0KSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKICAgICByZXR1cm4gIWNvbnRhaW5lclJlY3QuaW50ZXJzZWN0cyhyZWN0KTsK
IH0KIAogLy8gSW4gYSBib3R0b20tdXAgd2F5LCB0aGlzIG1ldGhvZCB0cmllcyB0byBzY3JvbGwg
fGZyYW1lfCBpbiBhIGdpdmVuIGRpcmVjdGlvbgogLy8gfGRpcmVjdGlvbnwsIGdvaW5nIHVwIGlu
IHRoZSBmcmFtZSB0cmVlIGhpZXJhcmNoeSBpbiBjYXNlIGl0IGRvZXMgbm90IHN1Y2NlZWQuCi1i
b29sIHNjcm9sbEluRGlyZWN0aW9uKEZyYW1lKiBmcmFtZSwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0
aW9uKQorYm9vbCBzY3JvbGxJbkRpcmVjdGlvbihGcmFtZSogZnJhbWUsIEZvY3VzRGlyZWN0aW9u
IGRpcmVjdGlvbiwgY29uc3QgRm9jdXNDYW5kaWRhdGUmIGNhbmRpZGF0ZSkKIHsKICAgICBpZiAo
IWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBTY3JvbGxEaXJlY3Rpb24gc2Ny
b2xsRGlyZWN0aW9uOwogCiAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKICAgICBjYXNlIEZvY3Vz
RGlyZWN0aW9uTGVmdDoKQEAgLTQ5MCwxNiArNDkwLDI1IEBAIGJvb2wgc2Nyb2xsSW5EaXJlY3Rp
b24oRnJhbWUqIGZyYW1lLCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgRm9jdXNEaXJlY3Rpb25Eb3duOgogICAgICAgICBzY3JvbGxEaXJlY3Rpb24g
PSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCisgICAgaWYgKCFjYW5kaWRhdGUuaXNOdWxsKCkgJiYgaXNTY3Jv
bGxhYmxlQ29udGFpbmVyTm9kZShjYW5kaWRhdGUuZW5jbG9zaW5nU2Nyb2xsYWJsZUJveCkpIHsK
KworICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KGNhbmRpZGF0ZS5lbmNsb3Np
bmdTY3JvbGxhYmxlQm94LT5yZW5kZXJlcigpKTsKKyAgICAgICAgaWYgKGJveC0+c2Nyb2xsKHNj
cm9sbERpcmVjdGlvbiwgU2Nyb2xsQnlMaW5lKSkgeworICAgICAgICAgICAgZnJhbWUtPnZpZXco
KS0+c2V0V2FzU2Nyb2xsZWRCeVVzZXIodHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgfQorICAgIH0KKwogICAgIHJldHVybiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNj
cm9sbFJlY3Vyc2l2ZWx5KHNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsQnlMaW5lKTsKIH0KIAogdm9p
ZCBzY3JvbGxJbnRvVmlldyhFbGVtZW50KiBlbGVtZW50KQogewogICAgIC8vIE5PVEU6IEVsZW1l
bnQncyBzY3JvbGxJbnRvVmlldyBtZXRob2QgY291bGQgaGFkIGJlZW4gdXNlZCBoZXJlLCBidXQK
ICAgICAvLyBpdCBpcyBwcmVmZXJhYmxlIHRvIGluZmxhdGUgfGVsZW1lbnR8J3MgYm91bmRpbmcg
cmVjdCBhIGJpdCBiZWZvcmUKICAgICAvLyBzY3JvbGxpbmcgaXQgZm9yIGFjY3VyYXRlIHJlYXNv
bi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oIGIvV2ViQ29y
ZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmgKaW5kZXggMjdkYjEwOS4uODQ3Y2ZhNyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdl
L1NwYXRpYWxOYXZpZ2F0aW9uLmgKQEAgLTEyMywxNyArMTIzLDE3IEBAIHN0cnVjdCBGb2N1c0Nh
bmRpZGF0ZSB7CiAgICAgTm9kZSogZW5jbG9zaW5nU2Nyb2xsYWJsZUJveDsKICAgICBsb25nIGxv
bmcgZGlzdGFuY2U7CiAgICAgbG9uZyBsb25nIHBhcmVudERpc3RhbmNlOwogICAgIFJlY3RzQWxp
Z25tZW50IGFsaWdubWVudDsKICAgICBSZWN0c0FsaWdubWVudCBwYXJlbnRBbGlnbm1lbnQ7CiB9
OwogCiB2b2lkIGRpc3RhbmNlRGF0YUZvck5vZGUoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBO
b2RlKiBzdGFydCwgRm9jdXNDYW5kaWRhdGUmIGNhbmRpZGF0ZSk7Ci1ib29sIHNjcm9sbEluRGly
ZWN0aW9uKEZyYW1lKiwgRm9jdXNEaXJlY3Rpb24pOworYm9vbCBzY3JvbGxJbkRpcmVjdGlvbihG
cmFtZSosIEZvY3VzRGlyZWN0aW9uLCBjb25zdCBGb2N1c0NhbmRpZGF0ZSYgY2FuZGlkYXRlID0g
Rm9jdXNDYW5kaWRhdGUoKSk7CiB2b2lkIHNjcm9sbEludG9WaWV3KEVsZW1lbnQqKTsKIGJvb2wg
aGFzT2Zmc2NyZWVuUmVjdChjb25zdCBGb2N1c0NhbmRpZGF0ZSYpOwogYm9vbCBpc0luUm9vdERv
Y3VtZW50KE5vZGUqKTsKIGJvb2wgaXNTY3JvbGxhYmxlQ29udGFpbmVyTm9kZShOb2RlKik7CiAK
IH0gLy8gbmFtc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3BhdGlhbE5hdmlnYXRpb25faAot
LSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56249</attachid>
            <date>2010-05-17 10:37:50 -0700</date>
            <delta_ts>2010-06-15 09:37:09 -0700</delta_ts>
            <desc>patch v1</desc>
            <filename>0001-Spatial-Navigation-refactor-scrollInDirection-to-wor.patch</filename>
            <type>text/plain</type>
            <size>11536</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBmYmIxNmNjM2U3MmZiODZmMDJhOGNiZmM2MWFmZWRhZjg0NTBmZjg1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogTW9uLCAxNyBNYXkgMjAxMCAxMzozNjo0MCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFNw
YXRpYWwgTmF2aWdhdGlvbjogcmVmYWN0b3Igc2Nyb2xsSW5EaXJlY3Rpb24gdG8gd29yayB3aXRo
IHNjcm9sbGFibGUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM5MTk1CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KUGF0Y2ggYnkgQW50b25pbyBH
b21lcyA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CgpXZWJDb3JlOgoKc2Nyb2xsSW5EaXJlY3Rpb24g
bm93IHJlY2VpdmVzIGFzIHBhcmFtZXRlciB0aGUgbm9kZSB0aGF0IHRoZSBTcGF0aWFsIE5hdmln
YXRpb24KZm91bmQgYXMgdGhlIG1vcmUgYXBwcm9wcmlhdGVkIHRvIG1vdmUgZm9jdXMgdG8uIElm
IGl0IGlzIGluIGEgc2Nyb2xsYWJsZSBjb250YWluZXIKKGUuZy4gPGRpdj4gd2l0aCBjbGlwcGVk
IG92ZXJmbG93IGNvbnRlbnQpLCBpdCBzY3JvbGxzIHJlY3Vyc2l2ZWx5IHN0YXJ0aW5nIGZyb20K
dGhlIGNvbnRhaW5lciwgbm90IHRoZSBjdXJyZW50IGZvY3VzZWQgbm9kZS4KClRlc3Q6IGZhc3Qv
ZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1jb250
ZW50Lmh0bWwKCiogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Rm9jdXNDb250
cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KToKKiBwYWdlL1NwYXRpYWxOYXZpZ2F0
aW9uLmNwcDoKKFdlYkNvcmU6OnNjcm9sbEluRGlyZWN0aW9uKToKKiBwYWdlL1NwYXRpYWxOYXZp
Z2F0aW9uLmg6CgpMYXlvdXRUZXN0czoKCiogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZs
b3ctY29udGVudC5odG1sOiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrCiAuLi5zbmF2LW9ubHktY2xpcHBlZC1v
dmVyZmxvdy1jb250ZW50LWV4cGVjdGVkLnR4dCB8ICAgMTkgKysrKysKIC4uLi9zbmF2LW9ubHkt
Y2xpcHBlZC1vdmVyZmxvdy1jb250ZW50Lmh0bWwgICAgICAgIHwgICA3NyArKysrKysrKysrKysr
KysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDIwICsrKysrCiBXZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAg
ICAgICAgICAgICAgICAgIHwgICAgNSArLQogV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9u
LmggICAgICAgICAgICAgICAgICAgfCAgICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxv
dy1jb250ZW50LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1j
b250ZW50Lmh0bWwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTFjNjdkNS4uZTcwMGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw4ICsxLDE4
IEBACisyMDEwLTA1LTE3ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BhdGlhbCBO
YXZpZ2F0aW9uOiByZWZhY3RvciBzY3JvbGxJbkRpcmVjdGlvbiB0byB3b3JrIHdpdGggc2Nyb2xs
YWJsZSBjb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zOTE5NQorCisgICAgICAgICogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQt
b3ZlcmZsb3ctY29udGVudC5odG1sOiBBZGRlZC4KKwogMjAxMC0wNS0xNCAgQW50b25pbyBHb21l
cyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgogCiAgICAgICAgIFNwYXRpYWwgTmF2aWdhdGlvbjogbWFrZSBpdCB3b3JrIHdpdGgg
Zm9jdXNhYmxlIGVsZW1lbnRzIGluIG92ZXJmbG93IGNvbnRlbnQKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NDYzCiAKICAgICAgICAgKiBmYXN0L2V2
ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1kaXYtc2Nyb2xsYWJsZS1idXQtd2l0aG91dC1m
b2N1c2FibGUtY29udGVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtb25seS1jbGlwcGVkLW92
ZXJmbG93LWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZTc3YzYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOSBAQAorVGhhdCBpcyBpcyBhIG5vcm1hbCBsaW5rLgorCitUaGlzIGlzIGEgc2Nyb2xsYWJs
ZSBEaXYgY3JlYXRlZCB3aXRoIHRoZSBDU1MgcHJvcGVydHkgb3ZlcmZsb3cuCisKKworCisKKwor
CisKKworCisuLi4gYW5kIGhlcmUgd2UgaGF2ZSBhIGNsaXBwZWQgb3ZlcmZsb3cgbGluay4KKwor
QW5kIHRoaXMgaXMgYW5vdGhlciBub3JtYWwgbGlua18yLgorCitQQVNTIGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICJzdGFydCIKK1BBU1MgdHJ1ZSBpcyB0cnVl
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlv
bi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ct
Y29udGVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZGU1NTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC5odG1sCkBAIC0wLDAgKzEs
NzcgQEAKKzxodG1sPgorICA8IS0tCisgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNvbnRlbnQg
b3ZlcmZsb3cgdHJhdmVyc2FsIGNvcnJlY3RuZXNzIG9mIFNwYXRpYWwgTmF2aWdhdGlvbgorICAg
IGFsZ29yaXRobTogaWYgYW4gZWxlbWVudCBpZiBjbGlwcGVkIG92ZXJmbG93IGluIGEgc2Nyb2xs
YWJsZSBjb250YWluZXIgKGUuZy4gPGRpdj4pLAorICAgIHNjcm9sbC1pbi1kaXJlY3Rpb24gc2hv
dWxkIGhhcHBlbiBpbiB0aGUgY29udGFpbmVyIGJveC4KKworICAgICogUHJlLWNvbmRpdGlvbnM6
CisgICAgMSkgRFJUIHN1cHBvcnQgZm9yIFNOYXYgZW5hYmxlL2Rpc2FibGUuCisKKyAgICAqIE5h
dmlnYXRpb24gc3RlcHM6CisgICAgMSkgTG9hZHMgdGhpcyBwYWdlLCBmb2N1cyBnb2VzIHRvICJz
dGFydCIgYXV0b21hdGljYWxseS4KKyAgICAyKSBUcnkgdG8gbW92ZSBmb2N1cyBkb3duIHRvIHRo
ZSB2aXNpYmxlIGZvY3VzYWJsZSBlbGVtZW50IGluCisgICAgICAgc2Nyb2xsYWJsZSBkaXYuCisK
KyAgICAqIEV4cGVjdGVkIHJlc3VsdHM6IFRoZXJlIHNob3VsZCBoYXZlIHRvIGEgc2Nyb2xsIGFj
dGlvbiBpbiB0aGUgY29udGFpbmVyCisgICAgKGRpdikgYXMgYW4gYXR0ZW1wdCB0byBtYWtlIHRo
ZSBjbGlwcGVkIG92ZXJmbG93IG5vZGUgdmlzaWJsZSBhbmQgYWNjZXNzaWJsZQorICAgIHZpYSBT
TmF2LiAtLT4KKyAgPGhlYWQ+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRp
di5zY3JvbGwgeworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICB3aWR0aDogMzAwcHg7
CisgICAgICAgIG92ZXJmbG93OiBhdXRvOworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2
OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOworICAgICAgICBwYWRkaW5nOiA4cHg7
CisgICAgICB9CisgICAgPC9zdHlsZT4KKworICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgorCisgICAgdmFyIHJlc3VsdE1hcCA9IFsKKyAg
ICAgIFsiRG93biIsICJzdGFydCJdLAorICAgICAgWyJET05FIiwgIkRPTkUiXQorICAgIF07CisK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7
CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgeworICAgICAgLy8gc3RhcnRpbmcgdGhlIHRlc3Qg
aXRzZWxmOiBnZXQgdG8gYSBrbm93biBwbGFjZS4KKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGFydCIpLmZvY3VzKCk7CisKKyAgICAgIGluaXRUZXN0KHJlc3VsdE1hcCwgdGVzdENv
bXBsZXRlZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdENvbXBsZXRlZCgpCisgICAgewor
ICAgICAgc2hvdWxkQmVUcnVlKFN0cmluZyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2Iiku
c2Nyb2xsVG9wICE9IDApKTsKKworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKwor
ICAgIHdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OworCisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2hl
YWQ+CisgIDxib2R5IGlkPSJzb21lLWNvbnRlbnQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sIj4KKyAgICA8cD5UaGF0IGlzIGlzIGEgbm9ybWFsIDxhIGlkPSJzdGFydCIgaHJl
Zj0iYSI+bGluazwvYT4uPC9wPgorICAgIDxkaXYgY2xhc3M9InNjcm9sbCIgaWQ9ImRpdiI+Cisg
ICAgICA8cD5UaGlzIGlzIGEgc2Nyb2xsYWJsZSBEaXYgY3JlYXRlZCB3aXRoIHRoZSBDU1MgcHJv
cGVydHkgb3ZlcmZsb3cuPC9wPgorICAgICAgPGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxi
cj4KKyAgICAgIDxwPiAuLi4gYW5kIGhlcmUgd2UgaGF2ZSBhIGNsaXBwZWQgb3ZlcmZsb3cgPGEg
aWQ9IjEiIGhyZWY9ImEiPmxpbms8L2E+LjwvcD4KKyAgICA8L2Rpdj4KKyAgICA8cD5BbmQgdGhp
cyBpcyBhbm90aGVyIG5vcm1hbCA8YSBpZD0iMiIgaHJlZj0iYSI+bGlua18yPC9hPi48L3A+Cisg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRmOTQwMy4u
MDg2NmMyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMTIgKzEsMzIgQEAKIDIwMTAtMDUtMTcgIEFudG9uaW8gR29tZXMgIDx0b25p
a2l0b29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
IAorICAgICAgICBTcGF0aWFsIE5hdmlnYXRpb246IHJlZmFjdG9yIHNjcm9sbEluRGlyZWN0aW9u
IHRvIHdvcmsgd2l0aCBzY3JvbGxhYmxlIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTk1CisKKyAgICAgICAgc2Nyb2xsSW5EaXJlY3Rp
b24gbm93IHJlY2VpdmVzIGFzIHBhcmFtZXRlciB0aGUgbm9kZSB0aGF0IHRoZSBTcGF0aWFsIE5h
dmlnYXRpb24KKyAgICAgICAgZm91bmQgYXMgdGhlIG1vcmUgYXBwcm9wcmlhdGVkIHRvIG1vdmUg
Zm9jdXMgdG8uIElmIGl0IGlzIGluIGEgc2Nyb2xsYWJsZSBjb250YWluZXIKKyAgICAgICAgKGUu
Zy4gPGRpdj4gd2l0aCBjbGlwcGVkIG92ZXJmbG93IGNvbnRlbnQpLCBpdCBzY3JvbGxzIHJlY3Vy
c2l2ZWx5IHN0YXJ0aW5nIGZyb20gCisgICAgICAgIHRoZSBjb250YWluZXIsIG5vdCB0aGUgY3Vy
cmVudCBmb2N1c2VkIG5vZGUuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQuaHRtbAorCisgICAg
ICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXND
b250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KToKKyAgICAgICAgKiBwYWdlL1Nw
YXRpYWxOYXZpZ2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjcm9sbEluRGlyZWN0aW9u
KToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmg6CisKKzIwMTAtMDUtMTcgIEFu
dG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBBZGQgYW4gb3B0aW9uYWwgInN0YXJ0aW5nIG5v
ZGUnIHBhcmFtZXRlciB0byBzY3JvbGxSZWN1cnNpdmVseSBhbmQgc2Nyb2xsT3ZlcmZsb3cgb2Yg
RXZlbnRIYW5kbGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zOTIxNwogCiAgICAgICAgIEl0IHdvdWxkIGJlIHVzZWZ1bGwgaWYgc2Nyb2xsT3ZlcmZs
b3cgYW5kIHNjcm9sbFJlY3Vyc2l2ZWx5IG1ldGhvZHMgb2YgRXZlbnRIYW5kbGVyCiAgICAgICAg
IGNvdWxkIHJlY2VpdmUgYSBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB3aGVyZSB0byBzdGFydCBzY3Jv
bGxpbmcgZnJvbS4gQ3VycmVudGx5IHRoZXkKICAgICAgICAgc3RhcnQgc2Nyb2xsaW5nIGZyb20g
ZWl0aGVyIHRoZSBjdXJyZW50IGZvY3VzZWQgbm9kZSBvciB0aGUgbm9kZSB3aGVyZSBtb3VzZSBs
YXN0CiAgICAgICAgIHByZXNzZWQgb24uIFBhdGNoIHByb3Bvc2VzIGFuIGFkaXRpb25hbCBzdGFy
dGluZyBwb2ludCBhcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIuCiAgICAgICAgIFNpbmNlIGl0IGlz
IG9wdGlvbmFsLCBhbGwgY2FsbCBzaXRlcyBjYW4gcmVtYWluIGFzIGFyZSwgYW5kIGlmIGEgTnVs
bCBub2RlIGlzIHBhc3NlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxl
ci5jcHAgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAppbmRleCA0ODY2ZGEyLi4z
ODdhNzQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysg
Yi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcApAQCAtMzE1LDE3ICszMTUsMTcgQEAg
Ym9vbCBGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJl
Y3Rpb24gZGlyZWN0aW9uLCBLZXlib2EKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAog
ICAgIC8vIEluIG9yZGVyIHRvIGF2b2lkIGNyYXp5IGp1bXAgYmV0d2VlbiBsaW5rcyB0aGF0IGFy
ZSBlaXRoZXIgZmFyIGF3YXkgZnJvbSBlYWNoIG90aGVyLAogICAgIC8vIG9yIGp1c3Qgbm90IGN1
cnJlbnRseSB2aXNpYmxlLCBsZXRzIGRvIGEgc2Nyb2xsIGluIHRoZSBnaXZlbiBkaXJlY3Rpb24g
YW5kIGJhaWwgb3V0CiAgICAgLy8gaWYgfG5vZGV8IGVsZW1lbnQgaXMgbm90IGluIHRoZSB2aWV3
cG9ydC4KICAgICBpZiAoaGFzT2Zmc2NyZWVuUmVjdChmb2N1c0NhbmRpZGF0ZSkpIHsKICAgICAg
ICAgRnJhbWUqIGZyYW1lID0gbm9kZS0+ZG9jdW1lbnQoKS0+dmlldygpLT5mcmFtZSgpOwotICAg
ICAgICBzY3JvbGxJbkRpcmVjdGlvbihmcmFtZSwgZGlyZWN0aW9uKTsKKyAgICAgICAgc2Nyb2xs
SW5EaXJlY3Rpb24oZnJhbWUsIGRpcmVjdGlvbiwgZm9jdXNDYW5kaWRhdGUpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICBEb2N1bWVudCogbmV3RG9jdW1lbnQgPSBub2RlLT5k
b2N1bWVudCgpOwogCiAgICAgaWYgKG5ld0RvY3VtZW50ICE9IGZvY3VzZWREb2N1bWVudCkgewog
ICAgICAgICAvLyBGb2N1cyBpcyBnb2luZyBhd2F5IGZyb20gdGhlIG9yaWdpbmFsbHkgZm9jdXNl
ZCBkb2N1bWVudCwgc28gY2xlYXIgdGhlIGZvY3VzZWQgbm9kZS4KICAgICAgICAgZm9jdXNlZERv
Y3VtZW50LT5zZXRGb2N1c2VkTm9kZSgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGF0
aWFsTmF2aWdhdGlvbi5jcHAgYi9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCmlu
ZGV4IGU3M2U3MmIuLjAyYzhhOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2
aWdhdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcApAQCAt
NDY2LDE3ICs0NjYsMTcgQEAgYm9vbCBoYXNPZmZzY3JlZW5SZWN0KGNvbnN0IEZvY3VzQ2FuZGlk
YXRlJiBjYW5kaWRhdGUpCiAgICAgaWYgKCF2aWV3cG9ydFJlY3QuaW50ZXJzZWN0cyhjb250YWlu
ZXJSZWN0KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gIWNvbnRhaW5lclJl
Y3QuaW50ZXJzZWN0cyhyZWN0KTsKIH0KIAogLy8gSW4gYSBib3R0b20tdXAgd2F5LCB0aGlzIG1l
dGhvZCB0cmllcyB0byBzY3JvbGwgfGZyYW1lfCBpbiBhIGdpdmVuIGRpcmVjdGlvbgogLy8gfGRp
cmVjdGlvbnwsIGdvaW5nIHVwIGluIHRoZSBmcmFtZSB0cmVlIGhpZXJhcmNoeSBpbiBjYXNlIGl0
IGRvZXMgbm90IHN1Y2NlZWQuCi1ib29sIHNjcm9sbEluRGlyZWN0aW9uKEZyYW1lKiBmcmFtZSwg
Rm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQorYm9vbCBzY3JvbGxJbkRpcmVjdGlvbihGcmFtZSog
ZnJhbWUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgRm9jdXNDYW5kaWRhdGUmIGNh
bmRpZGF0ZSkKIHsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBTY3JvbGxEaXJlY3Rpb24gc2Nyb2xsRGlyZWN0aW9uOwogCiAgICAgc3dpdGNoIChkaXJlY3Rp
b24pIHsKICAgICBjYXNlIEZvY3VzRGlyZWN0aW9uTGVmdDoKQEAgLTQ5MCwxNiArNDkwLDE5IEBA
IGJvb2wgc2Nyb2xsSW5EaXJlY3Rpb24oRnJhbWUqIGZyYW1lLCBGb2N1c0RpcmVjdGlvbiBkaXJl
Y3Rpb24pCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRm9jdXNEaXJlY3Rpb25Eb3duOgogICAg
ICAgICBzY3JvbGxEaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgaWYgKCFjYW5kaWRh
dGUuaXNOdWxsKCkgJiYgaXNTY3JvbGxhYmxlQ29udGFpbmVyTm9kZShjYW5kaWRhdGUuZW5jbG9z
aW5nU2Nyb2xsYWJsZUJveCkpCisgICAgICAgIHJldHVybiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkt
PnNjcm9sbFJlY3Vyc2l2ZWx5KHNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsQnlMaW5lLCBjYW5kaWRh
dGUuZW5jbG9zaW5nU2Nyb2xsYWJsZUJveCk7CisKICAgICByZXR1cm4gZnJhbWUtPmV2ZW50SGFu
ZGxlcigpLT5zY3JvbGxSZWN1cnNpdmVseShzY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEJ5TGluZSk7
CiB9CiAKIHZvaWQgc2Nyb2xsSW50b1ZpZXcoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICAvLyBO
T1RFOiBFbGVtZW50J3Mgc2Nyb2xsSW50b1ZpZXcgbWV0aG9kIGNvdWxkIGhhZCBiZWVuIHVzZWQg
aGVyZSwgYnV0CiAgICAgLy8gaXQgaXMgcHJlZmVyYWJsZSB0byBpbmZsYXRlIHxlbGVtZW50fCdz
IGJvdW5kaW5nIHJlY3QgYSBiaXQgYmVmb3JlCiAgICAgLy8gc2Nyb2xsaW5nIGl0IGZvciBhY2N1
cmF0ZSByZWFzb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
aCBiL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oCmluZGV4IDI3ZGIxMDkuLjg0N2Nm
YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oCisrKyBiL1dl
YkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oCkBAIC0xMjMsMTcgKzEyMywxNyBAQCBzdHJ1
Y3QgRm9jdXNDYW5kaWRhdGUgewogICAgIE5vZGUqIGVuY2xvc2luZ1Njcm9sbGFibGVCb3g7CiAg
ICAgbG9uZyBsb25nIGRpc3RhbmNlOwogICAgIGxvbmcgbG9uZyBwYXJlbnREaXN0YW5jZTsKICAg
ICBSZWN0c0FsaWdubWVudCBhbGlnbm1lbnQ7CiAgICAgUmVjdHNBbGlnbm1lbnQgcGFyZW50QWxp
Z25tZW50OwogfTsKIAogdm9pZCBkaXN0YW5jZURhdGFGb3JOb2RlKEZvY3VzRGlyZWN0aW9uIGRp
cmVjdGlvbiwgTm9kZSogc3RhcnQsIEZvY3VzQ2FuZGlkYXRlJiBjYW5kaWRhdGUpOwotYm9vbCBz
Y3JvbGxJbkRpcmVjdGlvbihGcmFtZSosIEZvY3VzRGlyZWN0aW9uKTsKK2Jvb2wgc2Nyb2xsSW5E
aXJlY3Rpb24oRnJhbWUqLCBGb2N1c0RpcmVjdGlvbiwgY29uc3QgRm9jdXNDYW5kaWRhdGUmIGNh
bmRpZGF0ZSA9IEZvY3VzQ2FuZGlkYXRlKCkpOwogdm9pZCBzY3JvbGxJbnRvVmlldyhFbGVtZW50
Kik7CiBib29sIGhhc09mZnNjcmVlblJlY3QoY29uc3QgRm9jdXNDYW5kaWRhdGUmKTsKIGJvb2wg
aXNJblJvb3REb2N1bWVudChOb2RlKik7CiBib29sIGlzU2Nyb2xsYWJsZUNvbnRhaW5lck5vZGUo
Tm9kZSopOwogCiB9IC8vIG5hbXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFNwYXRpYWxOYXZp
Z2F0aW9uX2gKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58787</attachid>
            <date>2010-06-15 09:37:09 -0700</date>
            <delta_ts>2010-06-16 18:03:07 -0700</delta_ts>
            <desc>(committed in r61298, reviewed by smfr) patch v2</desc>
            <filename>0001-Spatial-Navigation-refactor-scrollInDirection-to-wor.patch</filename>
            <type>text/plain</type>
            <size>9401</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA5YTNjM2M2ZDMzOTk3ZGNjN2Q1YWZmZDFlNzY4NWZlZGQwMGM1OGUzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogTW9uLCAxNyBNYXkgMjAxMCAxMDoxNzoyNyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFNw
YXRpYWwgTmF2aWdhdGlvbjogcmVmYWN0b3Igc2Nyb2xsSW5EaXJlY3Rpb24gdG8gd29yayB3aXRo
IHNjcm9sbGFibGUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM5MTk1CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KUGF0Y2ggYnkgQW50b25pbyBH
b21lcyA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CgpXZWJDb3JlOgoKc2Nyb2xsSW5EaXJlY3Rpb24g
bm93IHJlY2VpdmVzIGFzIHBhcmFtZXRlciB0aGUgbm9kZSB0aGF0IHRoZSBTcGF0aWFsIE5hdmln
YXRpb24KZm91bmQgYXMgdGhlIG1vcmUgYXBwcm9wcmlhdGVkIHRvIG1vdmUgZm9jdXMgdG8uIElm
IGl0IGlzIGluIGEgc2Nyb2xsYWJsZSBjb250YWluZXIKKGUuZy4gPGRpdj4gd2l0aCBjbGlwcGVk
IG92ZXJmbG93IGNvbnRlbnQpLCBpdCBzY3JvbGxzIHJlY3Vyc2l2ZWx5IHN0YXJ0aW5nIGZyb20K
dGhlIGNvbnRhaW5lciwgbm90IHRoZSBjdXJyZW50IGZvY3VzZWQgbm9kZS4KClRlc3Q6IGZhc3Qv
ZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1jb250
ZW50Lmh0bWwKCiogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Rm9jdXNDb250
cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KToKKiBwYWdlL1NwYXRpYWxOYXZpZ2F0
aW9uLmNwcDoKKFdlYkNvcmU6OnNjcm9sbEluRGlyZWN0aW9uKToKKiBwYWdlL1NwYXRpYWxOYXZp
Z2F0aW9uLmg6CgpMYXlvdXRUZXN0czoKCiogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZs
b3ctY29udGVudC5odG1sOiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrCiAuLi5zbmF2LW9ubHktY2xpcHBlZC1v
dmVyZmxvdy1jb250ZW50LWV4cGVjdGVkLnR4dCB8ICAgMTkgKysrKysKIC4uLi9zbmF2LW9ubHkt
Y2xpcHBlZC1vdmVyZmxvdy1jb250ZW50Lmh0bWwgICAgICAgIHwgICA3NyArKysrKysrKysrKysr
KysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDIwICsrKysrCiBXZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAg
ICAgICAgICAgICAgICAgIHwgICAgNSArLQogV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9u
LmggICAgICAgICAgICAgICAgICAgfCAgICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxv
dy1jb250ZW50LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1j
b250ZW50Lmh0bWwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGI1OWViZC4uOGExMTFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMTI0LDYgKzEy
NCwxNiBAQAogCiAyMDEwLTA2LTE0ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5v
cmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Bh
dGlhbCBOYXZpZ2F0aW9uOiByZWZhY3RvciBzY3JvbGxJbkRpcmVjdGlvbiB0byB3b3JrIHdpdGgg
c2Nyb2xsYWJsZSBjb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zOTE5NQorCisgICAgICAgICogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNs
aXBwZWQtb3ZlcmZsb3ctY29udGVudC5odG1sOiBBZGRlZC4KKworMjAxMC0wNi0xNCAgQW50b25p
byBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEZyYXNlci4KIAogICAgICAgICBTcGF0aWFsIE5hdmlnYXRpb246IG1ha2UgaXQgd29yayB3
aXRoIGZvY3VzYWJsZSBlbGVtZW50cyBpbiBvdmVyZmxvdyBjb250ZW50CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBw
ZWQtb3ZlcmZsb3ctY29udGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1vbmx5LWNsaXBwZWQtb3ZlcmZsb3ctY29udGVudC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZlNzdjNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE5IEBACitUaGF0IGlzIGlzIGEgbm9ybWFsIGxpbmsuCisKK1RoaXMgaXMgYSBzY3Jv
bGxhYmxlIERpdiBjcmVhdGVkIHdpdGggdGhlIENTUyBwcm9wZXJ0eSBvdmVyZmxvdy4KKworCisK
KworCisKKworCisKKy4uLiBhbmQgaGVyZSB3ZSBoYXZlIGEgY2xpcHBlZCBvdmVyZmxvdyBsaW5r
LgorCitBbmQgdGhpcyBpcyBhbm90aGVyIG5vcm1hbCBsaW5rXzIuCisKK1BBU1MgZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgInN0YXJ0IgorUEFTUyB0cnVlIGlz
IHRydWUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVy
Zmxvdy1jb250ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZk
ZTU1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LW9ubHktY2xpcHBlZC1vdmVyZmxvdy1jb250ZW50Lmh0bWwKQEAgLTAs
MCArMSw3NyBAQAorPGh0bWw+CisgIDwhLS0KKyAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGUgY29u
dGVudCBvdmVyZmxvdyB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2YgU3BhdGlhbCBOYXZpZ2F0aW9u
CisgICAgYWxnb3JpdGhtOiBpZiBhbiBlbGVtZW50IGlmIGNsaXBwZWQgb3ZlcmZsb3cgaW4gYSBz
Y3JvbGxhYmxlIGNvbnRhaW5lciAoZS5nLiA8ZGl2PiksCisgICAgc2Nyb2xsLWluLWRpcmVjdGlv
biBzaG91bGQgaGFwcGVuIGluIHRoZSBjb250YWluZXIgYm94LgorCisgICAgKiBQcmUtY29uZGl0
aW9uczoKKyAgICAxKSBEUlQgc3VwcG9ydCBmb3IgU05hdiBlbmFibGUvZGlzYWJsZS4KKworICAg
ICogTmF2aWdhdGlvbiBzdGVwczoKKyAgICAxKSBMb2FkcyB0aGlzIHBhZ2UsIGZvY3VzIGdvZXMg
dG8gInN0YXJ0IiBhdXRvbWF0aWNhbGx5LgorICAgIDIpIFRyeSB0byBtb3ZlIGZvY3VzIGRvd24g
dG8gdGhlIHZpc2libGUgZm9jdXNhYmxlIGVsZW1lbnQgaW4KKyAgICAgICBzY3JvbGxhYmxlIGRp
di4KKworICAgICogRXhwZWN0ZWQgcmVzdWx0czogVGhlcmUgc2hvdWxkIGhhdmUgdG8gYSBzY3Jv
bGwgYWN0aW9uIGluIHRoZSBjb250YWluZXIKKyAgICAoZGl2KSBhcyBhbiBhdHRlbXB0IHRvIG1h
a2UgdGhlIGNsaXBwZWQgb3ZlcmZsb3cgbm9kZSB2aXNpYmxlIGFuZCBhY2Nlc3NpYmxlCisgICAg
dmlhIFNOYXYuIC0tPgorICA8aGVhZD4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAg
ICAgZGl2LnNjcm9sbCB7CisgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgIHdpZHRoOiAz
MDBweDsKKyAgICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlk
ICM2NjY7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7CisgICAgICAgIHBhZGRpbmc6
IDhweDsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorCisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy9zcGF0aWFsLW5hdmlnYXRpb24tdXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCI+CisKKyAgICB2YXIgcmVzdWx0TWFwID0g
WworICAgICAgWyJEb3duIiwgInN0YXJ0Il0sCisgICAgICBbIkRPTkUiLCAiRE9ORSJdCisgICAg
XTsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
LCAxKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAvLyBzdGFydGluZyB0aGUg
dGVzdCBpdHNlbGY6IGdldCB0byBhIGtub3duIHBsYWNlLgorICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikuZm9jdXMoKTsKKworICAgICAgaW5pdFRlc3QocmVzdWx0TWFwLCB0
ZXN0Q29tcGxldGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0Q29tcGxldGVkKCkKKyAg
ICB7CisgICAgICBzaG91bGRCZVRydWUoU3RyaW5nKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
aXYiKS5zY3JvbGxUb3AgIT0gMCkpOworCisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAg
fQorCisgICAgd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7CisKKyAgICA8L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cisg
IDwvaGVhZD4KKyAgPGJvZHkgaWQ9InNvbWUtY29udGVudCIgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwiPgorICAgIDxwPlRoYXQgaXMgaXMgYSBub3JtYWwgPGEgaWQ9InN0YXJ0
IiBocmVmPSJhIj5saW5rPC9hPi48L3A+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsIiBpZD0iZGl2
Ij4KKyAgICAgIDxwPlRoaXMgaXMgYSBzY3JvbGxhYmxlIERpdiBjcmVhdGVkIHdpdGggdGhlIENT
UyBwcm9wZXJ0eSBvdmVyZmxvdy48L3A+CisgICAgICA8YnI+PGJyPjxicj48YnI+PGJyPjxicj48
YnI+PGJyPgorICAgICAgPHA+IC4uLiBhbmQgaGVyZSB3ZSBoYXZlIGEgY2xpcHBlZCBvdmVyZmxv
dyA8YSBpZD0iMSIgaHJlZj0iYSI+bGluazwvYT4uPC9wPgorICAgIDwvZGl2PgorICAgIDxwPkFu
ZCB0aGlzIGlzIGFub3RoZXIgbm9ybWFsIDxhIGlkPSIyIiBocmVmPSJhIj5saW5rXzI8L2E+Ljwv
cD4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwOWIw
NTNlLi42YjE1ZjVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEwLTA1LTE3ICBBbnRvbmlvIEdvbWVzICA8
dG9uaWtpdG9vQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiByZWZhY3RvciBzY3JvbGxJbkRpcmVj
dGlvbiB0byB3b3JrIHdpdGggc2Nyb2xsYWJsZSBjb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTE5NQorCisgICAgICAgIHNjcm9sbEluRGly
ZWN0aW9uIG5vdyByZWNlaXZlcyBhcyBwYXJhbWV0ZXIgdGhlIG5vZGUgdGhhdCB0aGUgU3BhdGlh
bCBOYXZpZ2F0aW9uCisgICAgICAgIGZvdW5kIGFzIHRoZSBtb3JlIGFwcHJvcHJpYXRlZCB0byBt
b3ZlIGZvY3VzIHRvLiBJZiBpdCBpcyBpbiBhIHNjcm9sbGFibGUgY29udGFpbmVyCisgICAgICAg
IChlLmcuIDxkaXY+IHdpdGggY2xpcHBlZCBvdmVyZmxvdyBjb250ZW50KSwgaXQgc2Nyb2xscyBy
ZWN1cnNpdmVseSBzdGFydGluZyBmcm9tCisgICAgICAgIHRoZSBjb250YWluZXIsIG5vdCB0aGUg
Y3VycmVudCBmb2N1c2VkIG5vZGUuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtb25seS1jbGlwcGVkLW92ZXJmbG93LWNvbnRlbnQuaHRtbAorCisg
ICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9j
dXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KToKKyAgICAgICAgKiBwYWdl
L1NwYXRpYWxOYXZpZ2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjcm9sbEluRGlyZWN0
aW9uKToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmg6CisKIDIwMTAtMDYtMTUg
IFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1p
dHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNw
cCBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IDBhN2FjZjIuLjY4NGIw
NmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNyArMzE5LDcgQEAgYm9vbCBG
b2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBLZXlib2EKICAgICAvLyBpZiB8bm9kZXwgZWxlbWVudCBpcyBub3QgaW4gdGhl
IHZpZXdwb3J0LgogICAgIGlmIChoYXNPZmZzY3JlZW5SZWN0KG5vZGUpKSB7CiAgICAgICAgIEZy
YW1lKiBmcmFtZSA9IG5vZGUtPmRvY3VtZW50KCktPnZpZXcoKS0+ZnJhbWUoKTsKLSAgICAgICAg
c2Nyb2xsSW5EaXJlY3Rpb24oZnJhbWUsIGRpcmVjdGlvbik7CisgICAgICAgIHNjcm9sbEluRGly
ZWN0aW9uKGZyYW1lLCBkaXJlY3Rpb24sIGZvY3VzQ2FuZGlkYXRlKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRp
b24uY3BwIGIvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAppbmRleCA5Mjg0ZTE3
Li44NDkxOWVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3Bw
CisrKyBiL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKQEAgLTQ0NSw3ICs0NDUs
NyBAQCBib29sIGhhc09mZnNjcmVlblJlY3QoTm9kZSogbm9kZSkKIAogLy8gSW4gYSBib3R0b20t
dXAgd2F5LCB0aGlzIG1ldGhvZCB0cmllcyB0byBzY3JvbGwgfGZyYW1lfCBpbiBhIGdpdmVuIGRp
cmVjdGlvbgogLy8gfGRpcmVjdGlvbnwsIGdvaW5nIHVwIGluIHRoZSBmcmFtZSB0cmVlIGhpZXJh
cmNoeSBpbiBjYXNlIGl0IGRvZXMgbm90IHN1Y2NlZWQuCi1ib29sIHNjcm9sbEluRGlyZWN0aW9u
KEZyYW1lKiBmcmFtZSwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQorYm9vbCBzY3JvbGxJbkRp
cmVjdGlvbihGcmFtZSogZnJhbWUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgRm9j
dXNDYW5kaWRhdGUmIGNhbmRpZGF0ZSkKIHsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC00NjksNiArNDY5LDkgQEAgYm9vbCBzY3JvbGxJbkRpcmVjdGlvbihGcmFt
ZSogZnJhbWUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAorICAgIGlmICghY2FuZGlkYXRlLmlzTnVsbCgpICYmIGlzU2Nyb2xsYWJsZUNv
bnRhaW5lck5vZGUoY2FuZGlkYXRlLmVuY2xvc2luZ1Njcm9sbGFibGVCb3gpKQorICAgICAgICBy
ZXR1cm4gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zY3JvbGxSZWN1cnNpdmVseShzY3JvbGxEaXJl
Y3Rpb24sIFNjcm9sbEJ5TGluZSwgY2FuZGlkYXRlLmVuY2xvc2luZ1Njcm9sbGFibGVCb3gpOwor
CiAgICAgcmV0dXJuIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2Nyb2xsUmVjdXJzaXZlbHkoc2Ny
b2xsRGlyZWN0aW9uLCBTY3JvbGxCeUxpbmUpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvU3BhdGlhbE5hdmlnYXRpb24uaCBiL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5o
CmluZGV4IDkyNTg5MDAuLjc4NDE5YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGF0aWFs
TmF2aWdhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oCkBAIC0x
MjgsNyArMTI4LDcgQEAgc3RydWN0IEZvY3VzQ2FuZGlkYXRlIHsKIH07CiAKIHZvaWQgZGlzdGFu
Y2VEYXRhRm9yTm9kZShGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24sIE5vZGUqIHN0YXJ0LCBGb2N1
c0NhbmRpZGF0ZSYgY2FuZGlkYXRlKTsKLWJvb2wgc2Nyb2xsSW5EaXJlY3Rpb24oRnJhbWUqLCBG
b2N1c0RpcmVjdGlvbik7Citib29sIHNjcm9sbEluRGlyZWN0aW9uKEZyYW1lKiwgRm9jdXNEaXJl
Y3Rpb24sIGNvbnN0IEZvY3VzQ2FuZGlkYXRlJiBjYW5kaWRhdGUgPSBGb2N1c0NhbmRpZGF0ZSgp
KTsKIHZvaWQgc2Nyb2xsSW50b1ZpZXcoRWxlbWVudCopOwogYm9vbCBoYXNPZmZzY3JlZW5SZWN0
KE5vZGUqKTsKIGJvb2wgaXNJblJvb3REb2N1bWVudChOb2RlKik7Ci0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>