<?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>146166</bug_id>
          
          <creation_ts>2015-06-19 15:13:22 -0700</creation_ts>
          <short_desc>Selection services cannot be invoked when force click is enabled</short_desc>
          <delta_ts>2015-06-19 16:41:39 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>enrica</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1103433</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-06-19 15:13:22 -0700</bug_when>
    <thetext>Selection services cannot be invoked when force click is enabled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103434</commentid>
    <comment_count>1</comment_count>
      <attachid>255233</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-06-19 15:13:41 -0700</bug_when>
    <thetext>Created attachment 255233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103473</commentid>
    <comment_count>2</comment_count>
      <attachid>255233</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-19 16:25:22 -0700</bug_when>
    <thetext>Comment on attachment 255233
Patch

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

&gt; Source/WebCore/page/mac/ServicesOverlayController.h:72
&gt; +            TelephoneNumberType = 1 &lt;&lt; 1,
&gt; +            SelectionType = 1 &lt;&lt; 2,

Why skip 1 &lt;&lt; 0?

&gt; Source/WebCore/page/mac/ServicesOverlayController.h:74
&gt; +        typedef uint32_t Type;

Hmm, 32 bits to hold 2 bits. I guess that’s OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103490</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-06-19 16:41:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/185778</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255233</attachid>
            <date>2015-06-19 15:13:41 -0700</date>
            <delta_ts>2015-06-19 16:25:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146166-20150619151303.patch</filename>
            <type>text/plain</type>
            <size>16049</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQxYWIzODBjNTkyMDc0
ZjRlNmY3MjRkNWVjNjA3NzIzMWZjMzk4MC4uOGU2ZjUxYzFmM2RhNjk4NDFkZjRlMTFmM2JhODk3
MjgxMGMzZjdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA2LTE5ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFNlbGVjdGlvbiBz
ZXJ2aWNlcyBjYW5ub3QgYmUgaW52b2tlZCB3aGVuIGZvcmNlIGNsaWNrIGlzIGVuYWJsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjE2NgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjE0NjgzNjI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyLmg6CisgICAgICAgIFR1cm4gSGlnaGxpZ2h0OjpUeXBlIGludG8gc29tZXRoaW5nIHdlIGNh
biB1c2UgZm9yIGRpcnR5IGZsYWdzLgorCisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OkhpZ2hsaWdodDo6Y3JlYXRlRm9yU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodDo6Y3JlYXRlRm9yVGVsZXBob25l
TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OlNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0ZWRUZWxlcGhvbmVOdW1iZXJSYW5n
ZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OmJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVV
bnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6YnVpbGRQaG9uZU51bWJlckhpZ2hsaWdodHMpOgorICAgICAgICAo
V2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRTZWxlY3Rpb25IaWdobGln
aHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZmluZFRl
bGVwaG9uZU51bWJlckhpZ2hsaWdodENvbnRhaW5pbmdTZWxlY3Rpb25IaWdobGlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZl
SGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OmRpZFNjcm9sbEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OmhhbmRsZUNsaWNrKToKKyAgICAgICAgQ29hbGVzY2UgaGlnaGxpZ2h0IHJlYnVpbGRp
bmcgc28gdGhhdCB0aGluZ3MgKGxpa2UgVGV4dEluZGljYXRvciBjcmVhdGlvbikKKyAgICAgICAg
dGhhdCBjaGFuZ2UgdGhlIHNlbGVjdGlvbiBhbmQgdGhlbiByZXNldCBpdCBpbW1lZGlhdGVseSBk
b24ndCBjYXVzZSB1cworICAgICAgICB0byBsb3NlIHRoZSBhY3RpdmUgaGlnaGxpZ2h0LgorCisg
ICAgICAgIFRoaXMgYWxzbyBtZWFucyB0aGF0IGlmIHRoZSBzZWxlY3Rpb24gY2hhbmdlcyBtdWx0
aXBsZSB0aW1lcyBpbiBhIHJ1bmxvb3AKKyAgICAgICAgKGVhc2lseSBwb3NzaWJsZSBmcm9tIHNj
cmlwdCksIHdlIHdvbid0IHdhc3RlIGEgbG90IG9mIHRpbWUgcmVidWlsZGluZyBoaWdobGlnaHRz
LgorCisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkaWRSZWJ1
aWxkUG90ZW50aWFsSGlnaGxpZ2h0cyk6CisgICAgICAgIE1lcmdlZCBpbnRvIGJ1aWxkUG90ZW50
aWFsSGlnaGxpZ2h0c0lmTmVlZGVkLgorCiAyMDE1LTA2LTE5ICBKZXJlbXkgSm9uZXMgIDxqZXJl
bXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBjYW5jZWxQcmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dp
dGhUYXJnZXQgZm9yIC1yZXNvbHZlQm91bmRzIGluIHdyb25nIGNsYXNzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCmluZGV4IDA3
ZTM2MmY1OGMwZjgwNzY4YjU0OGQ5MTNmYmU5YmMyMTMxNTRhYWYuLjllY2FmNTQ4ODAyYmI0MDEx
YWU3NmMzZjRmYzNjNmViM2Y2MjhmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTY3LDEwICs2NywxMSBAQCBwcml2
YXRlOgogICAgICAgICBSYW5nZSogcmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhbmdlLmdldCgp
OyB9CiAgICAgICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9ncmFw
aGljc0xheWVyLmdldCgpOyB9CiAKLSAgICAgICAgZW51bSBjbGFzcyBUeXBlIHsKLSAgICAgICAg
ICAgIFRlbGVwaG9uZU51bWJlciwKLSAgICAgICAgICAgIFNlbGVjdGlvbgorICAgICAgICBlbnVt
IHsKKyAgICAgICAgICAgIFRlbGVwaG9uZU51bWJlclR5cGUgPSAxIDw8IDEsCisgICAgICAgICAg
ICBTZWxlY3Rpb25UeXBlID0gMSA8PCAyLAogICAgICAgICB9OworICAgICAgICB0eXBlZGVmIHVp
bnQzMl90IFR5cGU7CiAgICAgICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQogCiAgICAgICAgIHZvaWQgZmFkZUluKCk7CkBAIC0xMDgsMTEgKzEwOSwxMyBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0KEhpZ2hsaWdodCYsIEdyYXBoaWNzQ29udGV4dCYp
OwogCisgICAgdm9pZCBpbnZhbGlkYXRlSGlnaGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUp
OworICAgIHZvaWQgYnVpbGRQb3RlbnRpYWxIaWdobGlnaHRzSWZOZWVkZWQoKTsKKwogICAgIHZv
aWQgcmVwbGFjZUhpZ2hsaWdodHNPZlR5cGVQcmVzZXJ2aW5nRXF1aXZhbGVudEhpZ2hsaWdodHMo
SGFzaFNldDxSZWZQdHI8SGlnaGxpZ2h0Pj4mLCBIaWdobGlnaHQ6OlR5cGUpOwogICAgIHZvaWQg
cmVtb3ZlQWxsUG90ZW50aWFsSGlnaGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUpOwogICAg
IHZvaWQgYnVpbGRQaG9uZU51bWJlckhpZ2hsaWdodHMoKTsKICAgICB2b2lkIGJ1aWxkU2VsZWN0
aW9uSGlnaGxpZ2h0KCk7Ci0gICAgdm9pZCBkaWRSZWJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0cygp
OwogCiAgICAgdm9pZCBkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJC
dXR0b24pOwogICAgIHZvaWQgY2xlYXJBY3RpdmVIaWdobGlnaHQoKTsKQEAgLTEzNyw3ICsxNDAs
NyBAQCBwcml2YXRlOgogICAgIE1haW5GcmFtZSYgbWFpbkZyYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9tYWluRnJhbWU7IH0KIAogICAgIE1haW5GcmFtZSYgbV9tYWluRnJhbWU7Ci0gICAgUGFnZU92
ZXJsYXkqIG1fc2VydmljZXNPdmVybGF5OworICAgIFBhZ2VPdmVybGF5KiBtX3NlcnZpY2VzT3Zl
cmxheSB7IG51bGxwdHIgfTsKIAogICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fYWN0aXZlSGlnaGxp
Z2h0OwogICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fbmV4dEFjdGl2ZUhpZ2hsaWdodDsKQEAgLTE0
OCw3ICsxNTEsOSBAQCBwcml2YXRlOgogCiAgICAgLy8gRklYTUU6IFRoZXNlIHNob3VsZCBtb3Zl
IG9udG8gSGlnaGxpZ2h0LgogICAgIFZlY3RvcjxMYXlvdXRSZWN0PiBtX2N1cnJlbnRTZWxlY3Rp
b25SZWN0czsKLSAgICBib29sIG1faXNUZXh0T25seTsKKyAgICBib29sIG1faXNUZXh0T25seSB7
IGZhbHNlIH07CisKKyAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsg
MCB9OwogCiAgICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RT
ZWxlY3Rpb25DaGFuZ2VUaW1lOwogICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVf
cG9pbnQgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKQEAgLTE1OCw2ICsxNjMsNyBA
QCBwcml2YXRlOgogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKIAogICAgIFRpbWVyIG1f
ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXI7CisgICAgVGltZXIgbV9idWlsZEhpZ2hsaWdo
dHNUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KaW5kZXggOTM5ODIz
MGZiMDc5ZWYyZGFiOWE3Y2MwOTExMjEyM2EzYjg0NDJmYS4uZTg1NTkxMGFkNjRlY2U4ZjAzOGI4
MmM0YWM4ZDkyMGMzZTZkNzVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMv
U2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC01NywxMiArNTcsMTIgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBSZWY8U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0
PiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OmNyZWF0ZUZvclNlbGVjdGlv
bihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdo
bGlnaHRSZWY+IGRkSGlnaGxpZ2h0LCBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBIaWdobGlnaHQoY29udHJvbGxlciwgVHlwZTo6U2VsZWN0aW9u
LCBkZEhpZ2hsaWdodCwgcmFuZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIaWdobGln
aHQoY29udHJvbGxlciwgSGlnaGxpZ2h0OjpTZWxlY3Rpb25UeXBlLCBkZEhpZ2hsaWdodCwgcmFu
Z2UpKTsKIH0KIAogUmVmPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1i
ZXIoU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWluUHRyPERESGln
aGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2UpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSGlnaGxpZ2h0KGNvbnRyb2xsZXIsIFR5cGU6OlRlbGVwaG9u
ZU51bWJlciwgZGRIaWdobGlnaHQsIHJhbmdlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
SGlnaGxpZ2h0KGNvbnRyb2xsZXIsIEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSwgZGRI
aWdobGlnaHQsIHJhbmdlKSk7CiB9CiAKIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hs
aWdodDo6SGlnaGxpZ2h0KFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIsIFR5
cGUgdHlwZSwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpSYW5nZT4gcmFuZ2UpCkBAIC0yMDQsOSArMjA0LDggQEAgc3RhdGljIEludFJl
Y3QgdGV4dFF1YWRzVG9Cb3VuZGluZ1JlY3RGb3JSYW5nZShSYW5nZSYgcmFuZ2UpCiAKIFNlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXI6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIoTWFpbkZyYW1l
JiBtYWluRnJhbWUpCiAgICAgOiBtX21haW5GcmFtZShtYWluRnJhbWUpCi0gICAgLCBtX3NlcnZp
Y2VzT3ZlcmxheShudWxscHRyKQotICAgICwgbV9pc1RleHRPbmx5KGZhbHNlKQogICAgICwgbV9k
ZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lcigqdGhpcywgJlNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQpCisgICAgLCBtX2J1aWxk
SGlnaGxpZ2h0c1RpbWVyKCp0aGlzLCAmU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRQ
b3RlbnRpYWxIaWdobGlnaHRzSWZOZWVkZWQpCiB7CiB9CiAKQEAgLTM3OSw4ICszNzgsNyBAQCB2
b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKGNv
bnN0IFZlY3RvcjxMYXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzLnJldmVy
c2UoKTsKIAogICAgIExPRyhTZXJ2aWNlcywgIlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIgLSBT
ZWxlY3Rpb24gcmVjdHMgY2hhbmdlZCAtIE5vdyBoYXZlICVsdVxuIiwgcmVjdHMuc2l6ZSgpKTsK
LQotICAgIGJ1aWxkU2VsZWN0aW9uSGlnaGxpZ2h0KCk7CisgICAgaW52YWxpZGF0ZUhpZ2hsaWdo
dHNPZlR5cGUoSGlnaGxpZ2h0OjpTZWxlY3Rpb25UeXBlKTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKHJlY3RzKTsKICAgICBVTlVTRURfUEFSQU0oZ2FwUmVjdHMpOwpAQCAtMzkyLDEwICszOTAs
NDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpzZWxlY3RlZFRlbGVwaG9uZU51
bWJlclJhbmdlc0NoYW5nZWQoKQogewogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwOTAKICAgICBMT0coU2VydmljZXMsICJTZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyIC0gVGVsZXBob25lIG51bWJlciByYW5nZXMgY2hhbmdlZFxuIik7Ci0g
ICAgYnVpbGRQaG9uZU51bWJlckhpZ2hsaWdodHMoKTsKKyAgICBpbnZhbGlkYXRlSGlnaGxpZ2h0
c09mVHlwZShIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpOwogI2VuZGlmCiB9CiAKK3Zv
aWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUo
SGlnaGxpZ2h0OjpUeXBlIHR5cGUpCit7CisgICAgaWYgKCFtX21haW5GcmFtZS5zZXR0aW5ncygp
LnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9kaXJ0
eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFy
dE9uZVNob3QoMCk7Cit9CisKK3ZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRQ
b3RlbnRpYWxIaWdobGlnaHRzSWZOZWVkZWQoKQoreworICAgIGlmICghbV9kaXJ0eUhpZ2hsaWdo
dFR5cGVzKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9kaXJ0eUhpZ2hsaWdodFR5cGVz
ICYgSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1iZXJUeXBlKQorICAgICAgICBidWlsZFBob25lTnVt
YmVySGlnaGxpZ2h0cygpOworCisgICAgaWYgKG1fZGlydHlIaWdobGlnaHRUeXBlcyAmIEhpZ2hs
aWdodDo6U2VsZWN0aW9uVHlwZSkKKyAgICAgICAgYnVpbGRTZWxlY3Rpb25IaWdobGlnaHQoKTsK
KworICAgIG1fZGlydHlIaWdobGlnaHRUeXBlcyA9IDA7CisKKyAgICBpZiAobV9wb3RlbnRpYWxI
aWdobGlnaHRzLmlzRW1wdHkoKSkgeworICAgICAgICBpZiAobV9zZXJ2aWNlc092ZXJsYXkpCisg
ICAgICAgICAgICBtX21haW5GcmFtZS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS51bmluc3RhbGxQ
YWdlT3ZlcmxheShtX3NlcnZpY2VzT3ZlcmxheSwgUGFnZU92ZXJsYXk6OkZhZGVNb2RlOjpEb05v
dEZhZGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHRlbGVwaG9uZU51bWJl
clJhbmdlc0ZvckZvY3VzZWRGcmFtZSgpLmlzRW1wdHkoKSAmJiAhaGFzUmVsZXZhbnRTZWxlY3Rp
b25TZXJ2aWNlcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBjcmVhdGVPdmVybGF5SWZOZWVk
ZWQoKTsKKworICAgIGJvb2wgbW91c2VJc092ZXJCdXR0b247CisgICAgZGV0ZXJtaW5lQWN0aXZl
SGlnaGxpZ2h0KG1vdXNlSXNPdmVyQnV0dG9uKTsKK30KKwogYm9vbCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmIGhpZ2hsaWdodCwgYm9v
bCYgbW91c2VJc092ZXJCdXR0b24pIGNvbnN0CiB7CiAgICAgQm9vbGVhbiBvbkJ1dHRvbjsKQEAg
LTQxOSw3ICs0NTQsNyBAQCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodAogICAgIC8vIEhpZ2hsaWdo
dCBoeXN0ZXJlc2lzIGlzIG9ubHkgZm9yIHNlbGVjdGlvbiBzZXJ2aWNlcywgYmVjYXVzZSB0ZWxl
cGhvbmUgbnVtYmVyIGhpZ2hsaWdodHMgYXJlIGFscmVhZHkgbXVjaCBtb3JlIHN0YWJsZQogICAg
IC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRlIHRoZSBlbnRpcmUgdGVs
ZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9pZCBoaWdobGlnaHRpbmcK
ICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2UgaXMgZG93bi4KLSAgICBp
ZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUeXBlOjpUZWxlcGhvbmVOdW1iZXIp
CisgICAgaWYgKGhpZ2hsaWdodC0+dHlwZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVy
VHlwZSkKICAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duIDogMF9tczsKIAogICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6bm93KCk7CkBAIC00NjUsMTYgKzUwMCwxMiBAQCB2b2lkIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OnJlbW92ZUFsbFBvdGVudGlhbEhpZ2hsaWdodHNPZlR5cGUoSGln
aGxpZ2h0OjpUeQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1aWxkUGhvbmVO
dW1iZXJIaWdobGlnaHRzKCkKIHsKLSAgICBpZiAoIW1fbWFpbkZyYW1lLnNldHRpbmdzKCkuc2Vy
dmljZUNvbnRyb2xzRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBWZWN0b3I8UmVm
UHRyPFJhbmdlPj4gcGhvbmVOdW1iZXJSYW5nZXM7CiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAm
bV9tYWluRnJhbWU7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkp
CiAgICAgICAgIHBob25lTnVtYmVyUmFuZ2VzLmFwcGVuZFZlY3RvcihmcmFtZS0+ZWRpdG9yKCku
ZGV0ZWN0ZWRUZWxlcGhvbmVOdW1iZXJSYW5nZXMoKSk7CiAKICAgICBpZiAocGhvbmVOdW1iZXJS
YW5nZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHJlbW92ZUFsbFBvdGVudGlhbEhpZ2hsaWdodHNP
ZlR5cGUoSGlnaGxpZ2h0OjpUeXBlOjpUZWxlcGhvbmVOdW1iZXIpOwotICAgICAgICBkaWRSZWJ1
aWxkUG90ZW50aWFsSGlnaGxpZ2h0cygpOworICAgICAgICByZW1vdmVBbGxQb3RlbnRpYWxIaWdo
bGlnaHRzT2ZUeXBlKEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTUwNSwxOSArNTM2LDEzIEBAIHZvaWQgU2VydmljZXNPdmVybGF5
Q29udHJvbGxlcjo6YnVpbGRQaG9uZU51bWJlckhpZ2hsaWdodHMoKQogICAgICAgICBuZXdQb3Rl
bnRpYWxIaWdobGlnaHRzLmFkZChIaWdobGlnaHQ6OmNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcigq
dGhpcywgZGRIaWdobGlnaHQsIHJhbmdlKSk7CiAgICAgfQogCi0gICAgcmVwbGFjZUhpZ2hsaWdo
dHNPZlR5cGVQcmVzZXJ2aW5nRXF1aXZhbGVudEhpZ2hsaWdodHMobmV3UG90ZW50aWFsSGlnaGxp
Z2h0cywgSGlnaGxpZ2h0OjpUeXBlOjpUZWxlcGhvbmVOdW1iZXIpOwotCi0gICAgZGlkUmVidWls
ZFBvdGVudGlhbEhpZ2hsaWdodHMoKTsKKyAgICByZXBsYWNlSGlnaGxpZ2h0c09mVHlwZVByZXNl
cnZpbmdFcXVpdmFsZW50SGlnaGxpZ2h0cyhuZXdQb3RlbnRpYWxIaWdobGlnaHRzLCBIaWdobGln
aHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OmJ1aWxkU2VsZWN0aW9uSGlnaGxpZ2h0KCkKIHsKLSAgICBpZiAoIW1fbWFpbkZyYW1l
LnNldHRpbmdzKCkuc2VydmljZUNvbnRyb2xzRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0K
ICAgICBpZiAobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHJl
bW92ZUFsbFBvdGVudGlhbEhpZ2hsaWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlOjpTZWxlY3Rp
b24pOwotICAgICAgICBkaWRSZWJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0cygpOworICAgICAgICBy
ZW1vdmVBbGxQb3RlbnRpYWxIaWdobGlnaHRzT2ZUeXBlKEhpZ2hsaWdodDo6U2VsZWN0aW9uVHlw
ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU1NSw5ICs1ODAsNyBAQCB2b2lkIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1aWxkU2VsZWN0aW9uSGlnaGxpZ2h0KCkKICAgICAg
ICAgfQogICAgIH0KIAotICAgIHJlcGxhY2VIaWdobGlnaHRzT2ZUeXBlUHJlc2VydmluZ0VxdWl2
YWxlbnRIaWdobGlnaHRzKG5ld1BvdGVudGlhbEhpZ2hsaWdodHMsIEhpZ2hsaWdodDo6VHlwZTo6
U2VsZWN0aW9uKTsKLQotICAgIGRpZFJlYnVpbGRQb3RlbnRpYWxIaWdobGlnaHRzKCk7CisgICAg
cmVwbGFjZUhpZ2hsaWdodHNPZlR5cGVQcmVzZXJ2aW5nRXF1aXZhbGVudEhpZ2hsaWdodHMobmV3
UG90ZW50aWFsSGlnaGxpZ2h0cywgSGlnaGxpZ2h0OjpTZWxlY3Rpb25UeXBlKTsKIH0KIAogdm9p
ZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZXBsYWNlSGlnaGxpZ2h0c09mVHlwZVByZXNl
cnZpbmdFcXVpdmFsZW50SGlnaGxpZ2h0cyhIYXNoU2V0PFJlZlB0cjxIaWdobGlnaHQ+PiYgbmV3
UG90ZW50aWFsSGlnaGxpZ2h0cywgSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCkBAIC01OTUsMjMgKzYx
OCw2IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aGFzUmVsZXZhbnRTZWxlY3Rp
b25TZXJ2aWNlcygpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFNlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXI6OmRpZFJlYnVpbGRQb3RlbnRpYWxIaWdobGlnaHRzKCkKLXsKLSAgICBpZiAo
bV9wb3RlbnRpYWxIaWdobGlnaHRzLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAobV9zZXJ2aWNl
c092ZXJsYXkpCi0gICAgICAgICAgICBtX21haW5GcmFtZS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIo
KS51bmluc3RhbGxQYWdlT3ZlcmxheShtX3NlcnZpY2VzT3ZlcmxheSwgUGFnZU92ZXJsYXk6OkZh
ZGVNb2RlOjpEb05vdEZhZGUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHRl
bGVwaG9uZU51bWJlclJhbmdlc0ZvckZvY3VzZWRGcmFtZSgpLmlzRW1wdHkoKSAmJiAhaGFzUmVs
ZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBjcmVhdGVP
dmVybGF5SWZOZWVkZWQoKTsKLQotICAgIGJvb2wgbW91c2VJc092ZXJCdXR0b247Ci0gICAgZGV0
ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KG1vdXNlSXNPdmVyQnV0dG9uKTsKLX0KLQogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpjcmVhdGVPdmVybGF5SWZOZWVkZWQoKQogewogICAgIGlm
IChtX3NlcnZpY2VzT3ZlcmxheSkKQEAgLTY1MCw3ICs2NTYsNyBAQCBib29sIFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXI6OmhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNvbnN0IEhpZ2hsaWdodCog
YSwgY29ucwogCiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQqIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OmZpbmRUZWxlcGhvbmVOdW1iZXJIaWdobGlnaHRDb250YWluaW5n
U2VsZWN0aW9uSGlnaGxpZ2h0KEhpZ2hsaWdodCYgc2VsZWN0aW9uSGlnaGxpZ2h0KQogewotICAg
IGlmIChzZWxlY3Rpb25IaWdobGlnaHQudHlwZSgpICE9IEhpZ2hsaWdodDo6VHlwZTo6U2VsZWN0
aW9uKQorICAgIGlmIChzZWxlY3Rpb25IaWdobGlnaHQudHlwZSgpICE9IEhpZ2hsaWdodDo6U2Vs
ZWN0aW9uVHlwZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBQYWdlKiBwYWdlID0g
bV9tYWluRnJhbWUucGFnZSgpOwpAQCAtNjY2LDcgKzY3Miw3IEBAIFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OkhpZ2hsaWdodCogU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZmluZFRlbGVw
aG9uZU51CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgZm9yIChhdXRvJiBoaWdobGln
aHQgOiBtX3BvdGVudGlhbEhpZ2hsaWdodHMpIHsKLSAgICAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpICE9IEhpZ2hsaWdodDo6VHlwZTo6VGVsZXBob25lTnVtYmVyKQorICAgICAgICBpZiAoaGln
aGxpZ2h0LT50eXBlKCkgIT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1iZXJUeXBlKQogICAgICAg
ICAgICAgY29udGludWU7CiAKICAgICAgICAgaWYgKGhpZ2hsaWdodC0+cmFuZ2UoKS0+Y29udGFp
bnMoKmFjdGl2ZVNlbGVjdGlvblJhbmdlKSkKQEAgLTY3OCwxNSArNjg0LDE3IEBAIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodCogU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
ZmluZFRlbGVwaG9uZU51CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJt
aW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9u
KQogeworICAgIGJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKCk7CisKICAgICBtb3Vz
ZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbiA9IGZhbHNlOwogCiAgICAgUmVmUHRyPEhpZ2hs
aWdodD4gbmV3QWN0aXZlSGlnaGxpZ2h0OwogCiAgICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBt
X3BvdGVudGlhbEhpZ2hsaWdodHMpIHsKLSAgICAgICAgaWYgKGhpZ2hsaWdodC0+dHlwZSgpID09
IEhpZ2hsaWdodDo6VHlwZTo6U2VsZWN0aW9uKSB7CisgICAgICAgIGlmIChoaWdobGlnaHQtPnR5
cGUoKSA9PSBIaWdobGlnaHQ6OlNlbGVjdGlvblR5cGUpIHsKICAgICAgICAgICAgIC8vIElmIHdl
J3ZlIGFscmVhZHkgZm91bmQgYSBuZXcgYWN0aXZlIGhpZ2hsaWdodCwgYW5kIGl0J3MKICAgICAg
ICAgICAgIC8vIGEgdGVsZXBob25lIG51bWJlciBoaWdobGlnaHQsIHByZWZlciB0aGF0IG92ZXIg
dGhpcyBzZWxlY3Rpb24gaGlnaGxpZ2h0LgotICAgICAgICAgICAgaWYgKG5ld0FjdGl2ZUhpZ2hs
aWdodCAmJiBuZXdBY3RpdmVIaWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlR5cGU6OlRl
bGVwaG9uZU51bWJlcikKKyAgICAgICAgICAgIGlmIChuZXdBY3RpdmVIaWdobGlnaHQgJiYgbmV3
QWN0aXZlSGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1iZXJUeXBl
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICAvLyBJZiB0aGlzIGhp
Z2hsaWdodCBoYXMgbm8gY29tcGF0aWJsZSBzZXJ2aWNlcywgaXQgY2FuJ3QgYmUgYWN0aXZlLgpA
QCAtNzA1LDcgKzcxMyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJt
aW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAKICAgICAvLyBJZiBv
dXIgbmV3IGFjdGl2ZSBoaWdobGlnaHQgaXMgYSBzZWxlY3Rpb24gaGlnaGxpZ2h0IHRoYXQgaXMg
Y29tcGxldGVseSBjb250YWluZWQKICAgICAvLyBieSBvbmUgb2YgdGhlIHBob25lIG51bWJlciBo
aWdobGlnaHRzLCB3ZSdsbCBtYWtlIHRoZSBwaG9uZSBudW1iZXIgaGlnaGxpZ2h0IGFjdGl2ZSBl
dmVuIGlmIGl0J3Mgbm90IGhvdmVyZWQuCi0gICAgaWYgKG5ld0FjdGl2ZUhpZ2hsaWdodCAmJiBu
ZXdBY3RpdmVIaWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlR5cGU6OlNlbGVjdGlvbikg
eworICAgIGlmIChuZXdBY3RpdmVIaWdobGlnaHQgJiYgbmV3QWN0aXZlSGlnaGxpZ2h0LT50eXBl
KCkgPT0gSGlnaGxpZ2h0OjpTZWxlY3Rpb25UeXBlKSB7CiAgICAgICAgIGlmIChIaWdobGlnaHQq
IGNvbnRhaW5lZFRlbGVwaG9uZU51bWJlckhpZ2hsaWdodCA9IGZpbmRUZWxlcGhvbmVOdW1iZXJI
aWdobGlnaHRDb250YWluaW5nU2VsZWN0aW9uSGlnaGxpZ2h0KCpuZXdBY3RpdmVIaWdobGlnaHQp
KSB7CiAgICAgICAgICAgICBuZXdBY3RpdmVIaWdobGlnaHQgPSBjb250YWluZWRUZWxlcGhvbmVO
dW1iZXJIaWdobGlnaHQ7CiAKQEAgLTgwMSw4ICs4MDksOSBAQCB2b2lkIFNlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXI6OmRpZFNjcm9sbEZyYW1lKFBhZ2VPdmVybGF5JiwgRnJhbWUmIGZyYW1lKQog
ICAgIGlmIChmcmFtZS5pc01haW5GcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBidWls
ZFBob25lTnVtYmVySGlnaGxpZ2h0cygpOwotICAgIGJ1aWxkU2VsZWN0aW9uSGlnaGxpZ2h0KCk7
CisgICAgaW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1i
ZXJUeXBlKTsKKyAgICBpbnZhbGlkYXRlSGlnaGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlNlbGVj
dGlvblR5cGUpOworICAgIGJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9uOwogICAgIGRldGVybWluZUFj
dGl2ZUhpZ2hsaWdodChtb3VzZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbik7CkBAIC04MjAs
NyArODI5LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpoYW5kbGVDbGljayhj
b25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCwgSGlnaGxpZ2gKIAogICAgIEludFBvaW50IHdpbmRv
d1BvaW50ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvV2luZG93KGNsaWNrUG9pbnQpOwogCi0gICAg
aWYgKGhpZ2hsaWdodC50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUeXBlOjpTZWxlY3Rpb24pIHsKKyAg
ICBpZiAoaGlnaGxpZ2h0LnR5cGUoKSA9PSBIaWdobGlnaHQ6OlNlbGVjdGlvblR5cGUpIHsKICAg
ICAgICAgYXV0byB0ZWxlcGhvbmVOdW1iZXJSYW5nZXMgPSB0ZWxlcGhvbmVOdW1iZXJSYW5nZXNG
b3JGb2N1c2VkRnJhbWUoKTsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gc2VsZWN0ZWRUZWxlcGhv
bmVOdW1iZXJzOwogICAgICAgICBzZWxlY3RlZFRlbGVwaG9uZU51bWJlcnMucmVzZXJ2ZUNhcGFj
aXR5KHRlbGVwaG9uZU51bWJlclJhbmdlcy5zaXplKCkpOwpAQCAtODI4LDcgKzgzNyw3IEBAIHZv
aWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aGFuZGxlQ2xpY2soY29uc3QgSW50UG9pbnQm
IGNsaWNrUG9pbnQsIEhpZ2hsaWdoCiAgICAgICAgICAgICBzZWxlY3RlZFRlbGVwaG9uZU51bWJl
cnMuYXBwZW5kKHJhbmdlLT50ZXh0KCkpOwogCiAgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVu
dCgpLmhhbmRsZVNlbGVjdGlvblNlcnZpY2VDbGljayhwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5m
b2N1c2VkT3JNYWluRnJhbWUoKS5zZWxlY3Rpb24oKSwgc2VsZWN0ZWRUZWxlcGhvbmVOdW1iZXJz
LCB3aW5kb3dQb2ludCk7Ci0gICAgfSBlbHNlIGlmIChoaWdobGlnaHQudHlwZSgpID09IEhpZ2hs
aWdodDo6VHlwZTo6VGVsZXBob25lTnVtYmVyKQorICAgIH0gZWxzZSBpZiAoaGlnaGxpZ2h0LnR5
cGUoKSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpCiAgICAgICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLmhhbmRsZVRlbGVwaG9uZU51bWJlckNsaWNrKGhpZ2hsaWdodC5yYW5n
ZSgpLT50ZXh0KCksIHdpbmRvd1BvaW50KTsKIH0KIAo=
</data>
<flag name="review"
          id="280290"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>