<?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>115363</bug_id>
          
          <creation_ts>2013-04-29 09:38:10 -0700</creation_ts>
          <short_desc>[GTK] clicking on the scrollbar trough steps rather than jumps to the clicked position</short_desc>
          <delta_ts>2016-02-16 01:50:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=153405</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>153493</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Sebastian Keller">sebastian-keller</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>csaavedra</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>882645</commentid>
    <comment_count>0</comment_count>
    <who name="Sebastian Keller">sebastian-keller</who>
    <bug_when>2013-04-29 09:38:10 -0700</bug_when>
    <thetext>The current scrolling policy in gtk is to jump to the clicked position
immediately rather than step to it. Epiphany behaved this way too before the
webkit2 port.

To test this:
- go to http://git.gnome.org or some other page that requires scrolling

- left click the trough somewhere close to the bottom
--&gt; it steps to the clicked position

- middle click the trough somewhere close to the bottom
--&gt; it jumps immediately to the clicked position

- right click the trough somewhere close to the bottom
--&gt; it opens the context menu


What other gtk apps currently do:
- open /usr/bin in nautilus

- left click the trough somewhere close to the bottom
--&gt; it jumps immediately to the clicked position

- middle click the trough somewhere close to the bottom
--&gt; nothing

- right click the trough somewhere close to the bottom
--&gt; it steps to the clicked position</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163492</commentid>
    <comment_count>1</comment_count>
      <attachid>270996</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-10 09:43:24 -0800</bug_when>
    <thetext>Created attachment 270996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165058</commentid>
    <comment_count>2</comment_count>
      <attachid>270996</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-15 22:26:28 -0800</bug_when>
    <thetext>Comment on attachment 270996
Patch

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

Looks great

&gt; Source/WebCore/ChangeLog:8
&gt; +        Allow RenderTheme to decide the behavior of a button press event,

RenderTheme -&gt; ScrollbarTheme

&gt; Source/WebCore/ChangeLog:15
&gt; +        (WebCore::Scrollbar::mouseDown): Ask RenderTheme to handle the

Ditto.

&gt; Source/WebCore/platform/Scrollbar.cpp:396
&gt; +    if (action == ScrollbarButtonPressAction::None)

Eh... on the one hand, it&apos;s probably the best solution.

On the other hand, it&apos;s not great that policy is decided by a class called &quot;theme.&quot; Did you consider having Scrollbar::platformHandleMousePressEvent and adding new files for each port just to implement that; it&apos;s a bit more work, but this is platform after all.

On the other other hand, shouldCenterOnThumb is already there, and maybe the logic is tied so closely to the theme it&apos;s just the best place. So whatevs.

&gt; Source/WebCore/platform/mac/ScrollbarThemeMac.mm:449
&gt; +        break;

Fix this unreachable break

&gt; Source/WebCore/platform/win/ScrollbarThemeWin.cpp:209
&gt; +        break;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165085</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-16 01:50:34 -0800</bug_when>
    <thetext>Committed r196632: &lt;http://trac.webkit.org/changeset/196632&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270996</attachid>
            <date>2016-02-10 09:43:24 -0800</date>
            <delta_ts>2016-02-15 22:26:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-scrollbar-clicks.diff</filename>
            <type>text/plain</type>
            <size>15891</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMGJiMGVlLi43MGFiZjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMTYtMDItMTAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIGNsaWNraW5nIG9uIHRoZSBzY3JvbGxiYXIgdHJvdWdoIHN0ZXBz
IHJhdGhlciB0aGFuIGp1bXBzIHRvIHRoZSBjbGlja2VkIHBvc2l0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzNjMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBSZW5kZXJUaGVtZSB0byBk
ZWNpZGUgdGhlIGJlaGF2aW9yIG9mIGEgYnV0dG9uIHByZXNzIGV2ZW50LAorICAgICAgICBpbnN0
ZWFkIG9mIG9ubHkgZGVjaWRpbmcgd2hldGhlciB0byBjZW50ZXIgb24gdGh1bWIgb3Igbm90LiBU
aGlzCisgICAgICAgIHdheSB3ZSBjYW4gbWF0Y2ggdGhlIGN1cnJlbnQgR1RLKyBiZWhhdmlvciBp
biBXZWJLaXQsIHdpdGhvdXQKKyAgICAgICAgYWZmZWN0aW5nIG90aGVyIHBvcnRzLgorCisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0
aW9uIGVudW0uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhcjo6bW91c2VEb3duKTogQXNrIFJlbmRlclRoZW1lIHRvIGhhbmRsZSB0
aGUKKyAgICAgICAgZXZlbnQgZm9yIHRoZSBwcmVzc2VkIHBhcnQgYW5kIGRvIHRoZSByZXF1ZXN0
ZWQgYWN0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOiBBZGQg
ZGVmYXVsdAorICAgICAgICBpbXBsZW1lbnRhdGlvbi4gSXQncyBlcXVpdmFsZW50IHRvIHRoZSBw
cmV2aW91cyBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bGJhclRoZW1lLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1lR3RrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lR3RrOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQpOiBNYXRjaCBjdXJyZW50CisgICAgICAgIEdUSysgYmVoYXZpb3I6IGxlZnQgY2xpY2sg
Y2VudGVycyBvbiB0aHVtYiBhbmQgcmlnaHQgY2xpY2sKKyAgICAgICAgc2Nyb2xscy4gRHJhZ2dp
bmcgdGhlIHRodW1iIHdvcmtzIGZvciBsZWZ0IGFuZCBtaWRkbGUgYnV0dG9ucy4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDogUmVtb3ZlIHNob3VsZENlbnRlck9uVGh1bWIsCisgICAg
ICAgIGFuZCBkb24ndCBvdmVycmlkZSBoYW5kbGVNb3VzZVByZXNzRXZlbnQgc2luY2UgaU9TIHdh
bnRzIHRoZQorICAgICAgICBkZWZhdWx0IGJlaGF2aW9yLgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMuaDogT3ZlcnJpZGUgaGFuZGxlTW91c2VQcmVzc0V2ZW50CisgICAgICAgIGFuZCBy
ZW1vdmUgc2hvdWxkQ2VudGVyT25UaHVtYi4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xs
YmFyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRDZW50ZXJPblRodW1iKTog
U2FtZSBpbXBsZW1lbnRhdGlvbiBqdXN0IG1hZGUgaXQKKyAgICAgICAgc3RhdGljIHRvIGJlIHVz
ZWQgYXMgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmhhbmRs
ZU1vdXNlUHJlc3NFdmVudCk6IFJldHVybiB0aGUKKyAgICAgICAgZGVzaXJlZCBhY3Rpb24ga2Vl
cGluZyB0aGUgc2FtZSBiZWhhdmlvci4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2Nyb2xsYmFy
VGhlbWVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVXaW46OmhhbmRs
ZU1vdXNlUHJlc3NFdmVudCk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TY3JvbGxi
YXJUaGVtZVdpbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
OgorCiAyMDE2LTAyLTA5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBUb2dnbGUgYnV0dG9ucyBhcmUgYmx1cnJ5IHdpdGggR1RLKyAz
LjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCA0OTg2NWRlLi5kZjc5
MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTE4MCw2ICsxODAs
MTMgQEAgZW51bSBTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVudHMgewogICAgIFN0aWNrVG9W
aWV3cG9ydEJvdW5kcwogfTsKIAorZW51bSBjbGFzcyBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlv
biB7CisgICAgTm9uZSwKKyAgICBDZW50ZXJPblRodW1iLAorICAgIFN0YXJ0RHJhZywKKyAgICBT
Y3JvbGwKK307CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNw
cAppbmRleCA0YjcwMWM3Li4wNWJmMTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
ci5jcHAKQEAgLTM5MSwzMSArMzkxLDM0IEBAIGJvb2wgU2Nyb2xsYmFyOjptb3VzZVVwKGNvbnN0
IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKIAogYm9vbCBTY3JvbGxiYXI6Om1vdXNl
RG93bihjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2dCkKIHsKLSAgICAvLyBFYXJseSBleGl0
IGZvciByaWdodCBjbGljawotICAgIGlmIChldnQuYnV0dG9uKCkgPT0gUmlnaHRCdXR0b24pCi0g
ICAgICAgIHJldHVybiB0cnVlOyAvLyBGSVhNRTogSGFuZGxlZCBhcyBjb250ZXh0IG1lbnUgYnkg
UXQgcmlnaHQgbm93LiAgU2hvdWxkIGp1c3QgYXZvaWQgZXZlbiBjYWxsaW5nIHRoaXMgbWV0aG9k
IG9uIGEgcmlnaHQgY2xpY2sgdGhvdWdoLgorICAgIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQg
PSB0aGVtZSgpLmhpdFRlc3QoKnRoaXMsIGV2dC5wb3NpdGlvbigpKTsKKyAgICBhdXRvIGFjdGlv
biA9IHRoZW1lKCkuaGFuZGxlTW91c2VQcmVzc0V2ZW50KCp0aGlzLCBldnQsIHByZXNzZWRQYXJ0
KTsKKyAgICBpZiAoYWN0aW9uID09IFNjcm9sbGJhckJ1dHRvblByZXNzQWN0aW9uOjpOb25lKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIG1fc2Nyb2xsYWJsZUFyZWEubW91c2VJc0Rvd25J
blNjcm9sbGJhcih0aGlzLCB0cnVlKTsKLSAgICBzZXRQcmVzc2VkUGFydCh0aGVtZSgpLmhpdFRl
c3QoKnRoaXMsIGV2dC5wb3NpdGlvbigpKSk7Ci0gICAgaW50IHByZXNzZWRQb3MgPSAob3JpZW50
YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyID8gY29udmVydEZyb21Db250YWluaW5nV2lu
ZG93KGV2dC5wb3NpdGlvbigpKS54KCkgOiBjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3coZXZ0
LnBvc2l0aW9uKCkpLnkoKSk7Ci0gICAgCi0gICAgaWYgKChtX3ByZXNzZWRQYXJ0ID09IEJhY2tU
cmFja1BhcnQgfHwgbV9wcmVzc2VkUGFydCA9PSBGb3J3YXJkVHJhY2tQYXJ0KSAmJiB0aGVtZSgp
LnNob3VsZENlbnRlck9uVGh1bWIoKnRoaXMsIGV2dCkpIHsKKyAgICBzZXRQcmVzc2VkUGFydChw
cmVzc2VkUGFydCk7CisKKyAgICBpbnQgcHJlc3NlZFBvc2l0aW9uID0gKG9yaWVudGF0aW9uKCkg
PT0gSG9yaXpvbnRhbFNjcm9sbGJhciA/IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhldnQu
cG9zaXRpb24oKSkueCgpIDogY29udmVydEZyb21Db250YWluaW5nV2luZG93KGV2dC5wb3NpdGlv
bigpKS55KCkpOworICAgIGlmIChhY3Rpb24gPT0gU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb246
OkNlbnRlck9uVGh1bWIpIHsKICAgICAgICAgc2V0SG92ZXJlZFBhcnQoVGh1bWJQYXJ0KTsKICAg
ICAgICAgc2V0UHJlc3NlZFBhcnQoVGh1bWJQYXJ0KTsKICAgICAgICAgbV9kcmFnT3JpZ2luID0g
bV9jdXJyZW50UG9zOwotICAgICAgICBpbnQgdGh1bWJMZW4gPSB0aGVtZSgpLnRodW1iTGVuZ3Ro
KCp0aGlzKTsKLSAgICAgICAgaW50IGRlc2lyZWRQb3MgPSBwcmVzc2VkUG9zOwogICAgICAgICAv
LyBTZXQgdGhlIHByZXNzZWQgcG9zaXRpb24gdG8gdGhlIG1pZGRsZSBvZiB0aGUgdGh1bWIgc28g
dGhhdCB3aGVuIHdlIGRvIHRoZSBtb3ZlLCB0aGUgZGVsdGEKICAgICAgICAgLy8gd2lsbCBiZSBm
cm9tIHRoZSBjdXJyZW50IHBpeGVsIHBvc2l0aW9uIG9mIHRoZSB0aHVtYiB0byB0aGUgbmV3IGRl
c2lyZWQgcG9zaXRpb24gZm9yIHRoZSB0aHVtYi4KLSAgICAgICAgbV9wcmVzc2VkUG9zID0gdGhl
bWUoKS50cmFja1Bvc2l0aW9uKCp0aGlzKSArIHRoZW1lKCkudGh1bWJQb3NpdGlvbigqdGhpcykg
KyB0aHVtYkxlbiAvIDI7Ci0gICAgICAgIG1vdmVUaHVtYihkZXNpcmVkUG9zKTsKKyAgICAgICAg
bV9wcmVzc2VkUG9zID0gdGhlbWUoKS50cmFja1Bvc2l0aW9uKCp0aGlzKSArIHRoZW1lKCkudGh1
bWJQb3NpdGlvbigqdGhpcykgKyB0aGVtZSgpLnRodW1iTGVuZ3RoKCp0aGlzKSAvIDI7CisgICAg
ICAgIG1vdmVUaHVtYihwcmVzc2VkUG9zaXRpb24pOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9IGVsc2UgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0KQorICAgIH0KKworICAgIG1f
cHJlc3NlZFBvcyA9IHByZXNzZWRQb3NpdGlvbjsKKworICAgIGlmIChhY3Rpb24gPT0gU2Nyb2xs
YmFyQnV0dG9uUHJlc3NBY3Rpb246OlN0YXJ0RHJhZykKICAgICAgICAgbV9kcmFnT3JpZ2luID0g
bV9jdXJyZW50UG9zOwotICAgIAotICAgIG1fcHJlc3NlZFBvcyA9IHByZXNzZWRQb3M7CiAKLSAg
ICBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQodGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSk7CisgICAgaWYgKGFjdGlvbiA9PSBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbjo6U2Ny
b2xsKQorICAgICAgICBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQodGhlbWUoKS5pbml0aWFsQXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwCmluZGV4IDQzOGYzNjguLmI1ZTkzYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAKQEAgLTI2LDYgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgog
CisjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhl
bWVNb2NrLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KQEAgLTQxLDQgKzQyLDEzIEBAIFNjcm9sbGJhclRoZW1lJiBTY3JvbGxiYXJUaGVt
ZTo6dGhlbWUoKQogICAgIHJldHVybiBuYXRpdmVUaGVtZSgpOwogfQogCitTY3JvbGxiYXJCdXR0
b25QcmVzc0FjdGlvbiBTY3JvbGxiYXJUaGVtZTo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9s
bGJhciYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJl
c3NlZFBhcnQpCit7CisgICAgaWYgKGV2ZW50LmJ1dHRvbigpID09IFJpZ2h0QnV0dG9uKQorICAg
ICAgICByZXR1cm4gU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb246Ok5vbmU7CisgICAgaWYgKHBy
ZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKKyAgICAgICAgcmV0dXJuIFNjcm9sbGJhckJ1dHRvblBy
ZXNzQWN0aW9uOjpTdGFydERyYWc7CisgICAgcmV0dXJuIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0
aW9uOjpTY3JvbGw7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZS5oCmluZGV4IGNhZTUyOTkuLjcyNTI5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWUuaApAQCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHNldFVwQ29udGVudFNoYWRvd0xheWVyKEdyYXBoaWNzTGF5ZXIqKSB7IH0KICNlbmRpZgogCi0g
ICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xsYmFyJiwgY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JikgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGJh
ckJ1dHRvblByZXNzQWN0aW9uIGhhbmRsZU1vdXNlUHJlc3NFdmVudChTY3JvbGxiYXImLCBjb25z
dCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBTY3JvbGxiYXJQYXJ0KTsKICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkU25hcEJhY2tUb0RyYWdPcmlnaW4oU2Nyb2xsYmFyJiwgY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkRHJhZ0Rv
Y3VtZW50SW5zdGVhZE9mVGh1bWIoU2Nyb2xsYmFyJiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50
JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGludCB0aHVtYlBvc2l0aW9uKFNjcm9s
bGJhciYpIHsgcmV0dXJuIDA7IH0gLy8gVGhlIHBvc2l0aW9uIG9mIHRoZSB0aHVtYiByZWxhdGl2
ZSB0byB0aGUgdHJhY2suCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
U2Nyb2xsYmFyVGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bGJhclRoZW1lR3RrLmNwcAppbmRleCBmYzZlOTAzLi4yZjQ1NmExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0ay5jcHAKQEAgLTQ5Myw5ICs0
OTMsMjUgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUd0azo6cGFpbnQoU2Nyb2xsYmFyJiBzY3JvbGxi
YXIsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBTY3JvbGxiYXJUaGVtZUd0azo6c2hvdWxkQ2VudGVyT25UaHVtYihTY3JvbGxiYXImLCBj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQorU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rp
b24gU2Nyb2xsYmFyVGhlbWVHdGs6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChTY3JvbGxiYXImLCBj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0
KQogewotICAgIHJldHVybiAoZXZlbnQuc2hpZnRLZXkoKSAmJiBldmVudC5idXR0b24oKSA9PSBM
ZWZ0QnV0dG9uKSB8fCAoZXZlbnQuYnV0dG9uKCkgPT0gTWlkZGxlQnV0dG9uKTsKKyAgICBzd2l0
Y2ggKHByZXNzZWRQYXJ0KSB7CisgICAgY2FzZSBCYWNrVHJhY2tQYXJ0OgorICAgIGNhc2UgRm9y
d2FyZFRyYWNrUGFydDoKKyAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbigpID09IExlZnRCdXR0b24p
CisgICAgICAgICAgICByZXR1cm4gU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb246OkNlbnRlck9u
VGh1bWI7CisgICAgICAgIGlmIChldmVudC5idXR0b24oKSA9PSBSaWdodEJ1dHRvbikKKyAgICAg
ICAgICAgIHJldHVybiBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbjo6U2Nyb2xsOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFRodW1iUGFydDoKKyAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbigp
ICE9IFJpZ2h0QnV0dG9uKQorICAgICAgICAgICAgcmV0dXJuIFNjcm9sbGJhckJ1dHRvblByZXNz
QWN0aW9uOjpTdGFydERyYWc7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbjo6
Tm9uZTsKIH0KIAogaW50IFNjcm9sbGJhclRoZW1lR3RrOjpzY3JvbGxiYXJUaGlja25lc3MoU2Ny
b2xsYmFyQ29udHJvbFNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvU2Nyb2xsYmFyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3Jv
bGxiYXJUaGVtZUd0ay5oCmluZGV4IDhiN2I2NGMuLmU0NzQwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0ay5oCkBAIC01Myw3ICs1Myw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUcmFja0JhY2tncm91bmQoR3JhcGhpY3ND
b250ZXh0JiwgU2Nyb2xsYmFyJiwgY29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCYsIFNjcm9sbGJhciYsIGNvbnN0IElu
dFJlY3QmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCdXR0b24oR3JhcGhpY3ND
b250ZXh0JiwgU2Nyb2xsYmFyJiwgY29uc3QgSW50UmVjdCYsIFNjcm9sbGJhclBhcnQpIG92ZXJy
aWRlOwotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhciYsIGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgU2Nyb2xsYmFy
QnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9sbGJhciYsIGNvbnN0
IFBsYXRmb3JtTW91c2VFdmVudCYsIFNjcm9sbGJhclBhcnQpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgaW50IHNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBpbnQgbWluaW11bVRodW1iTGVuZ3RoKFNjcm9sbGJhciYpIG92ZXJyaWRl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhl
bWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5o
CmluZGV4IDEyZDM0NWYuLjA1OTdmODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBAIC01OCw5ICs1OCw3IEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIEludFJlY3QgdHJhY2tSZWN0KFNjcm9sbGJhciYsIGJvb2wgcGFpbnRpbmcgPSBm
YWxzZSkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGludCBtaW5pbXVtVGh1bWJMZW5ndGgoU2Ny
b2xsYmFyJikgb3ZlcnJpZGU7Ci0gICAgCi0gICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9u
VGh1bWIoU2Nyb2xsYmFyJiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jikgb3ZlcnJpZGU7Ci0g
ICAgCisKIHB1YmxpYzoKICAgICB2b2lkIHByZWZlcmVuY2VzQ2hhbmdlZCgpOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA1
MTcwMTBlLi42ZTUyMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsYmFyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Nj
cm9sbGJhclRoZW1lSU9TLm1tCkBAIC0xMTEsMTEgKzExMSw2IEBAIGludCBTY3JvbGxiYXJUaGVt
ZUlPUzo6bWluaW11bVRodW1iTGVuZ3RoKFNjcm9sbGJhciYpCiAgICAgcmV0dXJuIDA7CiB9CiAK
LWJvb2wgU2Nyb2xsYmFyVGhlbWVJT1M6OnNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xsYmFyJiwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIGJv
b2wgU2Nyb2xsYmFyVGhlbWVJT1M6OnBhaW50KFNjcm9sbGJhciYsIEdyYXBoaWNzQ29udGV4dCYs
IGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCovKQogewogICAgIHJldHVybiB0cnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBk
Y2Q4NjE5Li5hOTFhZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsYmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsYmFyVGhlbWVNYWMuaApAQCAtODQsNyArODQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0
dWFsIGludCBtaW5pbXVtVGh1bWJMZW5ndGgoU2Nyb2xsYmFyJikgb3ZlcnJpZGU7CiAgICAgCi0g
ICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xsYmFyJiwgY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBTY3JvbGxiYXJCdXR0b25Q
cmVzc0FjdGlvbiBoYW5kbGVNb3VzZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiwgY29uc3QgUGxhdGZv
cm1Nb3VzZUV2ZW50JiwgU2Nyb2xsYmFyUGFydCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29s
IHNob3VsZERyYWdEb2N1bWVudEluc3RlYWRPZlRodW1iKFNjcm9sbGJhciYsIGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYpIG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxiYXJQYXJ0VG9ISVByZXNz
ZWRTdGF0ZShTY3JvbGxiYXJQYXJ0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IDJhNTBmM2EuLjc2MTNkMDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTQy
NCw3ICs0MjQsNyBAQCBpbnQgU2Nyb2xsYmFyVGhlbWVNYWM6Om1pbmltdW1UaHVtYkxlbmd0aChT
Y3JvbGxiYXImIHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQog
Ci1ib29sIFNjcm9sbGJhclRoZW1lTWFjOjpzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhciYs
IGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZ0KQorc3RhdGljIGJvb2wgc2hvdWxkQ2VudGVy
T25UaHVtYihjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2dCkKIHsKICAgICBpZiAoZXZ0LmJ1
dHRvbigpICE9IExlZnRCdXR0b24pCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQzMyw2ICs0
MzMsMjcgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZU1hYzo6c2hvdWxkQ2VudGVyT25UaHVtYihTY3Jv
bGxiYXImLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQKICAgICByZXR1cm4gZXZ0LmFsdEtleSgp
OwogfQogCitTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBTY3JvbGxiYXJUaGVtZU1hYzo6aGFu
ZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9sbGJhciYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
ZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpCit7CisgICAgaWYgKGV2ZW50LmJ1dHRv
bigpID09IFJpZ2h0QnV0dG9uKQorICAgICAgICByZXR1cm4gU2Nyb2xsYmFyQnV0dG9uUHJlc3NB
Y3Rpb246Ok5vbmU7CisKKyAgICBzd2l0Y2ggKHByZXNzZWRQYXJ0KSB7CisgICAgY2FzZSBCYWNr
VHJhY2tQYXJ0OgorICAgIGNhc2UgRm9yd2FyZFRyYWNrUGFydDoKKyAgICAgICAgaWYgKHNob3Vs
ZENlbnRlck9uVGh1bWIoZXZlbnQpKQorICAgICAgICAgICAgcmV0dXJuIFNjcm9sbGJhckJ1dHRv
blByZXNzQWN0aW9uOjpDZW50ZXJPblRodW1iOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRo
dW1iUGFydDoKKyAgICAgICAgcmV0dXJuIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0aW9uOjpTdGFy
dERyYWc7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAg
IH0KKworICAgIHJldHVybiBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbjo6U2Nyb2xsOworfQor
CiBib29sIFNjcm9sbGJhclRoZW1lTWFjOjpzaG91bGREcmFnRG9jdW1lbnRJbnN0ZWFkT2ZUaHVt
YihTY3JvbGxiYXImLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIHJl
dHVybiBldmVudC5hbHRLZXkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
U2Nyb2xsYmFyVGhlbWVXaW4uY3BwCmluZGV4IDI4ZGZiZmMuLjdkOGRlNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJhclRoZW1lV2luLmNwcApAQCAtMTkz
LDkgKzE5MywyNSBAQCBJbnRSZWN0IFNjcm9sbGJhclRoZW1lV2luOjp0cmFja1JlY3QoU2Nyb2xs
YmFyJiBzY3JvbGxiYXIsIGJvb2wpCiAgICAgcmV0dXJuIEludFJlY3Qoc2Nyb2xsYmFyLngoKSwg
c2Nyb2xsYmFyLnkoKSArIHRoaWNrbmVzcywgdGhpY2tuZXNzLCBzY3JvbGxiYXIuaGVpZ2h0KCkg
LSAyICogdGhpY2tuZXNzKTsKIH0KIAotYm9vbCBTY3JvbGxiYXJUaGVtZVdpbjo6c2hvdWxkQ2Vu
dGVyT25UaHVtYihTY3JvbGxiYXImLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2dCkKK1Nj
cm9sbGJhckJ1dHRvblByZXNzQWN0aW9uIFNjcm9sbGJhclRoZW1lV2luOjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQoU2Nyb2xsYmFyJiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgU2Ny
b2xsYmFyUGFydCBwcmVzc2VkUGFydCkKIHsKLSAgICByZXR1cm4gZXZ0LnNoaWZ0S2V5KCkgJiYg
ZXZ0LmJ1dHRvbigpID09IExlZnRCdXR0b247CisgICAgaWYgKGV2ZW50LmJ1dHRvbigpID09IFJp
Z2h0QnV0dG9uKQorICAgICAgICByZXR1cm4gU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb246Ok5v
bmU7CisKKyAgICBzd2l0Y2ggKHByZXNzZWRQYXJ0KSB7CisgICAgY2FzZSBCYWNrVHJhY2tQYXJ0
OgorICAgIGNhc2UgRm9yd2FyZFRyYWNrUGFydDoKKyAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5
KCkgJiYgZXZlbnQuYnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikKKyAgICAgICAgICAgIHJldHVybiBT
Y3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbjo6Q2VudGVyT25UaHVtYjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBUaHVtYlBhcnQ6CisgICAgICAgIHJldHVybiBTY3JvbGxiYXJCdXR0b25QcmVz
c0FjdGlvbjo6U3RhcnREcmFnOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb246
OlNjcm9sbDsKIH0KIAogYm9vbCBTY3JvbGxiYXJUaGVtZVdpbjo6c2hvdWxkU25hcEJhY2tUb0Ry
YWdPcmlnaW4oU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
ZXZ0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJhclRo
ZW1lV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4u
aAppbmRleCA1NzUyM2UxLi5iZDA1OTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uaApAQCAtNDksNyArNDksNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBoYXNCdXR0b25zKFNjcm9sbGJhciYpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
ICAgICBib29sIGhhc1RodW1iKFNjcm9sbGJhciYpIG92ZXJyaWRlOwogCi0gICAgYm9vbCBzaG91
bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhciYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91
c2VQcmVzc0V2ZW50KFNjcm9sbGJhciYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIFNjcm9s
bGJhclBhcnQpIG92ZXJyaWRlOwogICAgIGJvb2wgc2hvdWxkU25hcEJhY2tUb0RyYWdPcmlnaW4o
U2Nyb2xsYmFyJiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jikgb3ZlcnJpZGU7CiAKICAgICB2
b2lkIHBhaW50VHJhY2tCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCYsIFNjcm9sbGJhciYsIGNv
bnN0IEludFJlY3QmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXggYzA5OTUxMy4uODExYTFkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ2LDggKzQ2
LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsQ29ybmVyKFNjcm9s
bFZpZXcqLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBjb3JuZXJSZWN0KSBvdmVy
cmlkZTsKIAotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhciYg
c2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5zaG91bGRDZW50ZXJPblRodW1iKHNjcm9sbGJh
ciwgZXZlbnQpOyB9Ci0gICAgCisgICAgdmlydHVhbCBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlv
biBoYW5kbGVNb3VzZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRl
IHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChz
Y3JvbGxiYXIsIGV2ZW50LCBwcmVzc2VkUGFydCk7IH0KKwogICAgIHZpcnR1YWwgZG91YmxlIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRo
ZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAgICAgdmlydHVh
bCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxi
YXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAK
</data>
<flag name="review"
          id="295844"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>