<?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>157714</bug_id>
          
          <creation_ts>2016-05-14 14:00:12 -0700</creation_ts>
          <short_desc>Web Inspector: breakpoints in sourceURL named scripts are not persisted</short_desc>
          <delta_ts>2016-05-17 15:02:23 -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>Web Inspector</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1193139</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-05-14 14:00:12 -0700</bug_when>
    <thetext>This makes it very difficult to debug our injected scripts using breakpoints. I don&apos;t think this is a regression.

STEPS TO REPRODUCE:

Using an engineering build, open the debugger tab.
Select the __WebInspectorInjectedScript__ resource.
Set a breakpoint anywhere.
Reload.

EXPECTED:

The breakpoint should be restored on reload

ACTUAL:

The breakpoint is not restored</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193140</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-05-14 14:00:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/26287099&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193186</commentid>
    <comment_count>2</comment_count>
      <attachid>278960</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-05-14 22:01:22 -0700</bug_when>
    <thetext>Created attachment 278960
Proposed Fix

Still need to run tests and such, but it works for injected and normal scripts in my basic testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193447</commentid>
    <comment_count>3</comment_count>
      <attachid>278960</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-05-16 11:34:52 -0700</bug_when>
    <thetext>Comment on attachment 278960
Proposed Fix

I did not detect any test regressions caused by this patch, and it seems to work fine locally. Removing &apos;WIP&apos; from patch, review away!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193627</commentid>
    <comment_count>4</comment_count>
      <attachid>278960</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-05-16 17:10:49 -0700</bug_when>
    <thetext>Comment on attachment 278960
Proposed Fix

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

r=me

I don&apos;t particularly like the name contentIdentifier, but I don&apos;t have a better suggestion.

&gt; Source/WebInspectorUI/UserInterface/Models/Breakpoint.js:38
&gt; +            var contentIdentifier = sourceCodeLocationOrInfo.contentIdentifier || sourceCodeLocationOrInfo.url;

We should throw a comment in here about sourceCodeLocationOrInfo that the info portion is legacy and can eventually be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193734</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-05-16 21:39:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 278960 [details]
&gt; Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=278960&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; I don&apos;t particularly like the name contentIdentifier, but I don&apos;t have a
&gt; better suggestion.

I hear ya. The other straightforward suggestion is contentURL.

&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Models/Breakpoint.js:38
&gt; &gt; +            var contentIdentifier = sourceCodeLocationOrInfo.contentIdentifier || sourceCodeLocationOrInfo.url;
&gt; 
&gt; We should throw a comment in here about sourceCodeLocationOrInfo that the
&gt; info portion is legacy and can eventually be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193864</commentid>
    <comment_count>6</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-05-17 10:32:24 -0700</bug_when>
    <thetext>Committed r201019: &lt;http://trac.webkit.org/changeset/201019&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278960</attachid>
            <date>2016-05-14 22:01:22 -0700</date>
            <delta_ts>2016-05-17 15:02:23 -0700</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-157714-20160514220215.patch</filename>
            <type>text/plain</type>
            <size>21458</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwOTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
OTYwNDk5MWUwNjRkZjA4ZWEyMGFkZDlmMjU4OTc5MjBiYjMzMDc3Li5mM2JmNzYyNDM0ZDZjZGY4
NWI4YzdjMmZlODRkNzkwZjE0Y2IzMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2OSBAQAorMjAxNi0wNS0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBicmVha3BvaW50cyBpbiBzb3VyY2VVUkwgbmFtZWQgc2Ny
aXB0cyBhcmUgbm90IHBlcnNpc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU3NzE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNjI4NzA5OT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgSW5z
cGVjdG9yIGZyb250ZW5kIGRvZXNuJ3QgdHJ5IHRvIHBlcnNpc3QgYSBicmVha3BvaW50IHRoYXQK
KyAgICAgICAgbGFja3MgYSBVUkwsIGV2ZW4gaWYgdGhlIGJyZWFrcG9pbnQgaGFzIGEgc291cmNl
VVJMLiBTaW1pbGFybHksIGZvcgorICAgICAgICBicmVha3BvaW50cyB3aXRob3V0IGEgVVJMLCB0
aGUgZnJvbnRlbmQgYXNrcyB0aGUgYmFja2VuZCB0byBjcmVhdGUKKyAgICAgICAgdGhlIGJyZWFr
cG9pbnQgZm9yIGEgc3BlY2lmaWMgc2NyaXB0IGlkZW50aWZpZXIgcmF0aGVyIHRoYW4gYQorICAg
ICAgICBVUkwtYmFzZWQgYnJlYWtwb2ludC4gVGhpcyBwcmV2ZW50cyBicmVha3BvaW50cyBpbiBp
bmplY3RlZCBzY3JpcHRzCisgICAgICAgIGZyb20gYmVpbmcgcmVzb2x2ZWQgaWYgdGhlIHBhZ2Ug
aXMgcmVsb2FkZWQuCisKKyAgICAgICAgVGhlIEluc3BlY3RvciBiYWNrZW5kIGtub3dzIGhvdyB0
byByZXNvbHZlIFVSTC1iYXNlZCBicmVha3BvaW50cworICAgICAgICBieSBtYXRjaGluZyBhZ2Fp
bnN0IHRoZSBzY3JpcHQncyBVUkwgb3Igc291cmNlVVJMLCBzbyB3ZSBqdXN0IG5lZWQKKyAgICAg
ICAgdG8gdGVhY2ggdGhlIGZyb250ZW5kIHdoZW4gZWl0aGVyIGlzIGFwcHJvcHJpYXRlIHRvIHVz
ZS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgU291cmNlQ29kZS5jb250ZW50SWRlbnRpZmll
ciwgd2hpY2ggaXMgcm91Z2hseQorICAgICAgICBgdXJsIHx8IHNvdXJjZVVSTGAgZm9yIGNvbnRl
bnQgdGhhdCBpcyBub3QgZW1waGVtZXJhbCwgc3VjaCBhcworICAgICAgICBjb25zb2xlIGV2YWx1
YXRpb25zLiBDaGFuZ2UgYnJlYWtwb2ludCBhbmQgZGVidWdnZXIgY29kZSB0byB1c2UKKyAgICAg
ICAgYGNvbnRlbnRJZGVudGlmaWVyYCByYXRoZXIgdGhhbiBgdXJsYCwgYW5kIHBhc3MgY29udGVu
dElkZW50aWZpZXIKKyAgICAgICAgdG8gdGhlIGJhY2tlbmQgd2hlbiBzZXR0aW5nIGEgYnJlYWtw
b2ludCBieSBVUkwuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVn
Z2VyTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIucHJv
dG90eXBlLmJyZWFrcG9pbnRzRm9yU291cmNlQ29kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHRzRm9yVVJMKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBzZWFyY2hhYmxlU2NyaXB0cyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5yZW1vdmVC
cmVha3BvaW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLnJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLnNjcmlwdERpZFBhcnNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFn
ZXIucHJvdG90eXBlLl9zZXRCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1hbmFnZXIucHJvdG90eXBlLl9zYXZlQnJlYWtwb2ludHMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX2Fzc29jaWF0ZUJyZWFrcG9pbnRzV2l0
aFNvdXJjZUNvZGUpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQnJlYWtwb2lu
dC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5CcmVha3BvaW50LnByb3RvdHlwZS5nZXQgY29udGVudElkZW50aWZpZXIpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQucHJvdG90eXBlLmdldCBpbmZvKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50LnByb3RvdHlwZS5zYXZlSWRlbnRpdHlUb0Nvb2tp
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5wcm90b3R5cGUuZ2V0IHVybCk6
IERlbGV0ZWQuCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBCcmVha3BvaW50LnByb3RvdHlwZS5n
ZXQgdXJsIHdpdGgKKyAgICAgICAgY29udGVudElkZW50aWZpZXIgaW5zaWRlIHRoZSBjbGFzcyBh
bmQgYXQgYWxsIGNhbGxzaXRlcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1Nj
cmlwdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHQucHJvdG90eXBlLmdldCBjb250
ZW50SWRlbnRpZmllcik6CisgICAgICAgIEFkZGVkLiBVc2UgdGhlIFVSTCwgb3IgdGhlIHNvdXJj
ZVVSTCB1bmxlc3MgdGhlIHNjcmlwdCBpcworICAgICAgICBlcGhlbWVyYWwgYW5kIG9ubHkgcnVu
IG9uY2UsIGxpa2UgYXMgYSBjb25zb2xlIGV2YWx1YXRpb24uCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGUucHJvdG90eXBlLmdldCB1cmwpOiBBZGRlZC4KKyAgICAgICAgQWxsIHN1YmNsYXNzZXMg
YWxyZWFkeSBvdmVycmlkZSB0aGlzIGdldHRlci4gQWRkIGl0IGhlcmUgc28gdGhhdAorICAgICAg
ICB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBjb250ZW50SWRlbnRpZmllciBjYW4gdXNl
IGl0LgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5wcm90b3R5cGUuZ2V0IGNv
bnRlbnRJZGVudGlmaWVyKTogQWRkZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0JyZWFrcG9pbnRUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3Bv
aW50VHJlZUVsZW1lbnQucHJvdG90eXBlLmdldCBmaWx0ZXJhYmxlRGF0YSk6CisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9Qcm9iZVNldERldGFpbHNTZWN0aW9uLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlByb2JlU2V0RGV0YWlsc1NlY3Rpb24ucHJvdG90eXBlLl91cGRhdGVMaW5r
RWxlbWVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVk
aXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90
b3R5cGUuX21hdGNoZXNCcmVha3BvaW50KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRS
ZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5nZXQgc3VwcGxlbWVudGFsUmVwcmVzZW50ZWRP
YmplY3RzKToKKwogMjAxNi0wNS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnByZWZpeCAtd2Via2l0LWNyb3NzLWZhZGUoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdn
ZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCmluZGV4IGY2ZWIxZjEyODZiNjc2YjdiZWY5NjBjZWY4
Zjk4OGQyMDUwYTYwYWIuLmFlM2JiZTg5ZTRjZTRmNGVkZjc2YzAzYjYxNGUwZDVlMGQ0MTNmNzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0RlYnVnZ2VyTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMKQEAgLTUzLDcgKzUzLDcgQEAg
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFuYWdlciBleHRl
bmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy5fYWxsVW5jYXVnaHRFeGNlcHRp
b25zQnJlYWtwb2ludCA9IG5ldyBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludChzcGVjaWFsQnJlYWtw
b2ludExvY2F0aW9uLCAhdGhpcy5fYWxsVW5jYXVnaHRFeGNlcHRpb25zQnJlYWtwb2ludEVuYWJs
ZWRTZXR0aW5nLnZhbHVlKTsKIAogICAgICAgICB0aGlzLl9icmVha3BvaW50cyA9IFtdOwotICAg
ICAgICB0aGlzLl9icmVha3BvaW50VVJMTWFwID0gbmV3IE1hcDsKKyAgICAgICAgdGhpcy5fYnJl
YWtwb2ludENvbnRlbnRJZGVudGlmaWVyTWFwID0gbmV3IE1hcDsKICAgICAgICAgdGhpcy5fYnJl
YWtwb2ludFNjcmlwdElkZW50aWZpZXJNYXAgPSBuZXcgTWFwOwogICAgICAgICB0aGlzLl9icmVh
a3BvaW50SWRNYXAgPSBuZXcgTWFwOwogCkBAIC02NSw3ICs2NSw3IEBAIFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuT2JqZWN0CiAKICAgICAgICAgdGhpcy5faW50ZXJuYWxXZWJLaXRTY3JpcHRzID0gW107CiAg
ICAgICAgIHRoaXMuX3NjcmlwdElkTWFwID0gbmV3IE1hcDsKLSAgICAgICAgdGhpcy5fc2NyaXB0
VVJMTWFwID0gbmV3IE1hcDsKKyAgICAgICAgdGhpcy5fc2NyaXB0Q29udGVudElkZW50aWZpZXJN
YXAgPSBuZXcgTWFwOwogCiAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRzU2V0dGluZyA9IG5ldyBX
ZWJJbnNwZWN0b3IuU2V0dGluZygiYnJlYWtwb2ludHMiLCBbXSk7CiAgICAgICAgIHRoaXMuX2Jy
ZWFrcG9pbnRzRW5hYmxlZFNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoImJyZWFr
cG9pbnRzLWVuYWJsZWQiLCB0cnVlKTsKQEAgLTI4OCwxMCArMjg4LDEwIEBAIFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuT2JqZWN0CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGxldCB1
cmxCcmVha3BvaW50cyA9IHRoaXMuX2JyZWFrcG9pbnRVUkxNYXAuZ2V0KHNvdXJjZUNvZGUudXJs
KTsKLSAgICAgICAgaWYgKHVybEJyZWFrcG9pbnRzKSB7Ci0gICAgICAgICAgICB0aGlzLl9hc3Nv
Y2lhdGVCcmVha3BvaW50c1dpdGhTb3VyY2VDb2RlKHVybEJyZWFrcG9pbnRzLCBzb3VyY2VDb2Rl
KTsKLSAgICAgICAgICAgIHJldHVybiB1cmxCcmVha3BvaW50czsKKyAgICAgICAgbGV0IGNvbnRl
bnRJZGVudGlmaWVyQnJlYWtwb2ludHMgPSB0aGlzLl9icmVha3BvaW50Q29udGVudElkZW50aWZp
ZXJNYXAuZ2V0KHNvdXJjZUNvZGUuY29udGVudElkZW50aWZpZXIpOworICAgICAgICBpZiAoY29u
dGVudElkZW50aWZpZXJCcmVha3BvaW50cykgeworICAgICAgICAgICAgdGhpcy5fYXNzb2NpYXRl
QnJlYWtwb2ludHNXaXRoU291cmNlQ29kZShjb250ZW50SWRlbnRpZmllckJyZWFrcG9pbnRzLCBz
b3VyY2VDb2RlKTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZW50SWRlbnRpZmllckJyZWFrcG9p
bnRzOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHNvdXJjZUNvZGUgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuU2NyaXB0KSB7CkBAIC0zMTgsNyArMzE4LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplY3QKICAgICBzY3JpcHRzRm9yVVJMKHVybCkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGlzIG1heSBub3QgYmUgc2FmZS4gQSBSZXNvdXJjZSdzIFVSTCBtYXkgZGlmZmVyIGZyb20gYSBT
Y3JpcHQncyBVUkwuCi0gICAgICAgIHJldHVybiB0aGlzLl9zY3JpcHRVUkxNYXAuZ2V0KHVybCkg
fHwgW107CisgICAgICAgIHJldHVybiB0aGlzLl9zY3JpcHRDb250ZW50SWRlbnRpZmllck1hcC5n
ZXQodXJsKSB8fCBbXTsKICAgICB9CiAKICAgICBjb250aW51ZVRvTG9jYXRpb24oc2NyaXB0SWRl
bnRpZmllciwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKQpAQCAtMzI4LDcgKzMyOCw3IEBAIFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICBnZXQgc2VhcmNoYWJsZVNjcmlwdHMoKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIHRoaXMua25vd25Ob25SZXNvdXJjZVNjcmlwdHMuZmlsdGVyKChz
Y3JpcHQpID0+ICEhc2NyaXB0LnVybCk7CisgICAgICAgIHJldHVybiB0aGlzLmtub3duTm9uUmVz
b3VyY2VTY3JpcHRzLmZpbHRlcigoc2NyaXB0KSA9PiAhIXNjcmlwdC5jb250ZW50SWRlbnRpZmll
cik7CiAgICAgfQogCiAgICAgZ2V0IGtub3duTm9uUmVzb3VyY2VTY3JpcHRzKCkKQEAgLTM3OSwx
MyArMzc5LDEzIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dl
ck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIGlmICghYnJlYWtw
b2ludCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoYnJlYWtwb2ludC51cmwp
IHsKLSAgICAgICAgICAgIGxldCB1cmxCcmVha3BvaW50cyA9IHRoaXMuX2JyZWFrcG9pbnRVUkxN
YXAuZ2V0KGJyZWFrcG9pbnQudXJsKTsKLSAgICAgICAgICAgIGlmICghdXJsQnJlYWtwb2ludHMp
IHsKLSAgICAgICAgICAgICAgICB1cmxCcmVha3BvaW50cyA9IFtdOwotICAgICAgICAgICAgICAg
IHRoaXMuX2JyZWFrcG9pbnRVUkxNYXAuc2V0KGJyZWFrcG9pbnQudXJsLCB1cmxCcmVha3BvaW50
cyk7CisgICAgICAgIGlmIChicmVha3BvaW50LmNvbnRlbnRJZGVudGlmaWVyKSB7CisgICAgICAg
ICAgICBsZXQgY29udGVudElkZW50aWZpZXJCcmVha3BvaW50cyA9IHRoaXMuX2JyZWFrcG9pbnRD
b250ZW50SWRlbnRpZmllck1hcC5nZXQoYnJlYWtwb2ludC5jb250ZW50SWRlbnRpZmllcik7Cisg
ICAgICAgICAgICBpZiAoIWNvbnRlbnRJZGVudGlmaWVyQnJlYWtwb2ludHMpIHsKKyAgICAgICAg
ICAgICAgICBjb250ZW50SWRlbnRpZmllckJyZWFrcG9pbnRzID0gW107CisgICAgICAgICAgICAg
ICAgdGhpcy5fYnJlYWtwb2ludENvbnRlbnRJZGVudGlmaWVyTWFwLnNldChicmVha3BvaW50LmNv
bnRlbnRJZGVudGlmaWVyLCBjb250ZW50SWRlbnRpZmllckJyZWFrcG9pbnRzKTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHVybEJyZWFrcG9pbnRzLnB1c2goYnJlYWtwb2ludCk7CisgICAg
ICAgICAgICBjb250ZW50SWRlbnRpZmllckJyZWFrcG9pbnRzLnB1c2goYnJlYWtwb2ludCk7CiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAoYnJlYWtwb2ludC5zY3JpcHRJZGVudGlmaWVyKSB7CkBA
IC00MjcsMTIgKzQyNywxMiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3Mg
RGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICBpZiAo
YnJlYWtwb2ludC5pZGVudGlmaWVyKQogICAgICAgICAgICAgdGhpcy5fcmVtb3ZlQnJlYWtwb2lu
dChicmVha3BvaW50KTsKIAotICAgICAgICBpZiAoYnJlYWtwb2ludC51cmwpIHsKLSAgICAgICAg
ICAgIGxldCB1cmxCcmVha3BvaW50cyA9IHRoaXMuX2JyZWFrcG9pbnRVUkxNYXAuZ2V0KGJyZWFr
cG9pbnQudXJsKTsKLSAgICAgICAgICAgIGlmICh1cmxCcmVha3BvaW50cykgewotICAgICAgICAg
ICAgICAgIHVybEJyZWFrcG9pbnRzLnJlbW92ZShicmVha3BvaW50KTsKLSAgICAgICAgICAgICAg
ICBpZiAoIXVybEJyZWFrcG9pbnRzLmxlbmd0aCkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5f
YnJlYWtwb2ludFVSTE1hcC5kZWxldGUoYnJlYWtwb2ludC51cmwpOworICAgICAgICBpZiAoYnJl
YWtwb2ludC5jb250ZW50SWRlbnRpZmllcikgeworICAgICAgICAgICAgbGV0IGNvbnRlbnRJZGVu
dGlmaWVyQnJlYWtwb2ludHMgPSB0aGlzLl9icmVha3BvaW50Q29udGVudElkZW50aWZpZXJNYXAu
Z2V0KGJyZWFrcG9pbnQuY29udGVudElkZW50aWZpZXIpOworICAgICAgICAgICAgaWYgKGNvbnRl
bnRJZGVudGlmaWVyQnJlYWtwb2ludHMpIHsKKyAgICAgICAgICAgICAgICBjb250ZW50SWRlbnRp
ZmllckJyZWFrcG9pbnRzLnJlbW92ZShicmVha3BvaW50KTsKKyAgICAgICAgICAgICAgICBpZiAo
IWNvbnRlbnRJZGVudGlmaWVyQnJlYWtwb2ludHMubGVuZ3RoKQorICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9icmVha3BvaW50Q29udGVudElkZW50aWZpZXJNYXAuZGVsZXRlKGJyZWFrcG9pbnQu
Y29udGVudElkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTQ4Nyw3
ICs0ODcsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdnZXJN
YW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2ludGVy
bmFsV2ViS2l0U2NyaXB0cyA9IFtdOwogICAgICAgICB0aGlzLl9zY3JpcHRJZE1hcC5jbGVhcigp
OwotICAgICAgICB0aGlzLl9zY3JpcHRVUkxNYXAuY2xlYXIoKTsKKyAgICAgICAgdGhpcy5fc2Ny
aXB0Q29udGVudElkZW50aWZpZXJNYXAuY2xlYXIoKTsKIAogICAgICAgICB0aGlzLl9pZ25vcmVC
cmVha3BvaW50RGlzcGxheUxvY2F0aW9uRGlkQ2hhbmdlRXZlbnQgPSB0cnVlOwogCkBAIC01OTEs
MTEgKzU5MSwxMSBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdn
ZXJNYW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgICAgIHRoaXMuX3Nj
cmlwdElkTWFwLnNldChzY3JpcHRJZGVudGlmaWVyLCBzY3JpcHQpOwogCi0gICAgICAgIGlmIChz
Y3JpcHQudXJsKSB7Ci0gICAgICAgICAgICBsZXQgc2NyaXB0cyA9IHRoaXMuX3NjcmlwdFVSTE1h
cC5nZXQoc2NyaXB0LnVybCk7CisgICAgICAgIGlmIChzY3JpcHQuY29udGVudElkZW50aWZpZXIp
IHsKKyAgICAgICAgICAgIGxldCBzY3JpcHRzID0gdGhpcy5fc2NyaXB0Q29udGVudElkZW50aWZp
ZXJNYXAuZ2V0KHNjcmlwdC5jb250ZW50SWRlbnRpZmllcik7CiAgICAgICAgICAgICBpZiAoIXNj
cmlwdHMpIHsKICAgICAgICAgICAgICAgICBzY3JpcHRzID0gW107Ci0gICAgICAgICAgICAgICAg
dGhpcy5fc2NyaXB0VVJMTWFwLnNldChzY3JpcHQudXJsLCBzY3JpcHRzKTsKKyAgICAgICAgICAg
ICAgICB0aGlzLl9zY3JpcHRDb250ZW50SWRlbnRpZmllck1hcC5zZXQoc2NyaXB0LmNvbnRlbnRJ
ZGVudGlmaWVyLCBzY3JpcHRzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNjcmlwdHMu
cHVzaChzY3JpcHQpOwogICAgICAgICB9CkBAIC03NzgsMTAgKzc3OCwxMCBAQCBXZWJJbnNwZWN0
b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV2ViSW5z
cGVjdG9yLk9iamVjdAogCiAgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA3KTogaU9TIDcg
YW5kIGVhcmxpZXIsIERlYnVnZ2VyQWdlbnQuc2V0QnJlYWtwb2ludCogdG9vayBhICJjb25kaXRp
b24iIHN0cmluZyBhcmd1bWVudC4KICAgICAgICAgLy8gVGhpcyBoYXMgYmVlbiByZXBsYWNlZCB3
aXRoIGFuICJvcHRpb25zIiBCcmVha3BvaW50T3B0aW9ucyBvYmplY3QuCi0gICAgICAgIGlmIChi
cmVha3BvaW50LnVybCkgeworICAgICAgICBpZiAoYnJlYWtwb2ludC5jb250ZW50SWRlbnRpZmll
cikgewogICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRCcmVha3BvaW50QnlVcmwuaW52b2tl
KHsKICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiBicmVha3BvaW50LnNvdXJjZUNvZGVMb2Nh
dGlvbi5saW5lTnVtYmVyLAotICAgICAgICAgICAgICAgIHVybDogYnJlYWtwb2ludC51cmwsCisg
ICAgICAgICAgICAgICAgdXJsOiBicmVha3BvaW50LmNvbnRlbnRJZGVudGlmaWVyLAogICAgICAg
ICAgICAgICAgIHVybFJlZ2V4OiB1bmRlZmluZWQsCiAgICAgICAgICAgICAgICAgY29sdW1uTnVt
YmVyOiBicmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbi5jb2x1bW5OdW1iZXIsCiAgICAgICAg
ICAgICAgICAgY29uZGl0aW9uOiBicmVha3BvaW50LmNvbmRpdGlvbiwKQEAgLTk0OSw3ICs5NDks
NyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdnZXJNYW5hZ2Vy
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICBpZiAodGhpcy5fcmVzdG9yaW5n
QnJlYWtwb2ludHMpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbGV0IGJyZWFrcG9p
bnRzVG9TYXZlID0gdGhpcy5fYnJlYWtwb2ludHMuZmlsdGVyKChicmVha3BvaW50KSA9PiAhIWJy
ZWFrcG9pbnQudXJsKTsKKyAgICAgICAgbGV0IGJyZWFrcG9pbnRzVG9TYXZlID0gdGhpcy5fYnJl
YWtwb2ludHMuZmlsdGVyKChicmVha3BvaW50KSA9PiAhIWJyZWFrcG9pbnQuY29udGVudElkZW50
aWZpZXIpOwogICAgICAgICBsZXQgc2VyaWFsaXplZEJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHNU
b1NhdmUubWFwKChicmVha3BvaW50KSA9PiBicmVha3BvaW50LmluZm8pOwogICAgICAgICB0aGlz
Ll9icmVha3BvaW50c1NldHRpbmcudmFsdWUgPSBzZXJpYWxpemVkQnJlYWtwb2ludHM7CiAgICAg
fQpAQCAtOTYzLDcgKzk2Myw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFz
cyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgICAg
ICBpZiAoYnJlYWtwb2ludC5zb3VyY2VDb2RlTG9jYXRpb24uc291cmNlQ29kZSA9PT0gbnVsbCkK
ICAgICAgICAgICAgICAgICBicmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbi5zb3VyY2VDb2Rl
ID0gc291cmNlQ29kZTsKICAgICAgICAgICAgIC8vIFNvdXJjZUNvZGVzIGNhbiBiZSB1bmVxdWFs
IGlmIHRoZSBTb3VyY2VDb2RlTG9jYXRpb24gaXMgYXNzb2NpYXRlZCB3aXRoIGEgU2NyaXB0IGFu
ZCB3ZSBhcmUgbG9va2luZyBhdCB0aGUgUmVzb3VyY2UuCi0gICAgICAgICAgICBjb25zb2xlLmFz
c2VydChicmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbi5zb3VyY2VDb2RlID09PSBzb3VyY2VD
b2RlIHx8IGJyZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0aW9uLnNvdXJjZUNvZGUudXJsID09PSBz
b3VyY2VDb2RlLnVybCk7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChicmVha3BvaW50LnNv
dXJjZUNvZGVMb2NhdGlvbi5zb3VyY2VDb2RlID09PSBzb3VyY2VDb2RlIHx8IGJyZWFrcG9pbnQu
c291cmNlQ29kZUxvY2F0aW9uLnNvdXJjZUNvZGUuY29udGVudElkZW50aWZpZXIgPT09IHNvdXJj
ZUNvZGUuY29udGVudElkZW50aWZpZXIpOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5faWdu
b3JlQnJlYWtwb2ludERpc3BsYXlMb2NhdGlvbkRpZENoYW5nZUV2ZW50ID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQnJlYWtw
b2ludC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CcmVh
a3BvaW50LmpzCmluZGV4IDIxYjJjOTYxOWRiOWQ5NGQ3NTkzODlhNWVmZjcxYTU1ODE1NzI0ZmYu
LjY2YTI0YThmZjgwYzZiMjE2MDAwN2Y4MmViNjQ1ZGQwNGFlZTU2MzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CcmVha3BvaW50LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CcmVha3BvaW50
LmpzCkBAIC0zMSwxMSArMzEsMTEgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQgPSBjbGFzcyBC
cmVha3BvaW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgICAgIGlmIChzb3Vy
Y2VDb2RlTG9jYXRpb25PckluZm8gaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxv
Y2F0aW9uKSB7CiAgICAgICAgICAgICB2YXIgc291cmNlQ29kZSA9IHNvdXJjZUNvZGVMb2NhdGlv
bk9ySW5mby5zb3VyY2VDb2RlOwotICAgICAgICAgICAgdmFyIHVybCA9IHNvdXJjZUNvZGUgPyBz
b3VyY2VDb2RlLnVybCA6IG51bGw7CisgICAgICAgICAgICB2YXIgY29udGVudElkZW50aWZpZXIg
PSBzb3VyY2VDb2RlID8gc291cmNlQ29kZS5jb250ZW50SWRlbnRpZmllciA6IG51bGw7CiAgICAg
ICAgICAgICB2YXIgc2NyaXB0SWRlbnRpZmllciA9IHNvdXJjZUNvZGUgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuU2NyaXB0ID8gc291cmNlQ29kZS5pZCA6IG51bGw7CiAgICAgICAgICAgICB2YXIg
bG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb25PckluZm87CiAgICAgICAgIH0gZWxzZSBpZiAo
c291cmNlQ29kZUxvY2F0aW9uT3JJbmZvICYmIHR5cGVvZiBzb3VyY2VDb2RlTG9jYXRpb25Pcklu
Zm8gPT09ICJvYmplY3QiKSB7Ci0gICAgICAgICAgICB2YXIgdXJsID0gc291cmNlQ29kZUxvY2F0
aW9uT3JJbmZvLnVybDsKKyAgICAgICAgICAgIHZhciBjb250ZW50SWRlbnRpZmllciA9IHNvdXJj
ZUNvZGVMb2NhdGlvbk9ySW5mby5jb250ZW50SWRlbnRpZmllciB8fCBzb3VyY2VDb2RlTG9jYXRp
b25PckluZm8udXJsOwogICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBzb3VyY2VDb2RlTG9j
YXRpb25PckluZm8ubGluZU51bWJlciB8fCAwOwogICAgICAgICAgICAgdmFyIGNvbHVtbk51bWJl
ciA9IHNvdXJjZUNvZGVMb2NhdGlvbk9ySW5mby5jb2x1bW5OdW1iZXIgfHwgMDsKICAgICAgICAg
ICAgIHZhciBsb2NhdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uKG51
bGwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7CkBAIC01MCw3ICs1MCw3IEBAIFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50ID0gY2xhc3MgQnJlYWtwb2ludCBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplY3QKICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlVuZXhwZWN0ZWQgdHlwZSBwYXNzZWQg
dG8gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQiLCBzb3VyY2VDb2RlTG9jYXRpb25PckluZm8pOwog
CiAgICAgICAgIHRoaXMuX2lkID0gbnVsbDsKLSAgICAgICAgdGhpcy5fdXJsID0gdXJsIHx8IG51
bGw7CisgICAgICAgIHRoaXMuX2NvbnRlbnRJZGVudGlmaWVyID0gY29udGVudElkZW50aWZpZXIg
fHwgbnVsbDsKICAgICAgICAgdGhpcy5fc2NyaXB0SWRlbnRpZmllciA9IHNjcmlwdElkZW50aWZp
ZXIgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBmYWxzZTsK
ICAgICAgICAgdGhpcy5fY29uZGl0aW9uID0gY29uZGl0aW9uIHx8ICIiOwpAQCAtNzYsOSArNzYs
OSBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludCA9IGNsYXNzIEJyZWFrcG9pbnQgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIHRoaXMuX2lkID0gaWQgfHwgbnVsbDsKICAgICB9
CiAKLSAgICBnZXQgdXJsKCkKKyAgICBnZXQgY29udGVudElkZW50aWZpZXIoKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX3VybDsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRJZGVu
dGlmaWVyOwogICAgIH0KIAogICAgIGdldCBzY3JpcHRJZGVudGlmaWVyKCkKQEAgLTE5Niw3ICsx
OTYsNyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludCA9IGNsYXNzIEJyZWFrcG9pbnQgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgewogICAgICAgICAvLyBUaGUgaWQsIHNjcmlwdElk
ZW50aWZpZXIgYW5kIHJlc29sdmVkIHN0YXRlIGFyZSB0aWVkIHRvIHRoZSBjdXJyZW50IHNlc3Np
b24sIHNvIGRvbid0IGluY2x1ZGUgdGhlbSBmb3Igc2VyaWFsaXphdGlvbi4KICAgICAgICAgcmV0
dXJuIHsKLSAgICAgICAgICAgIHVybDogdGhpcy5fdXJsLAorICAgICAgICAgICAgY29udGVudElk
ZW50aWZpZXI6IHRoaXMuX2NvbnRlbnRJZGVudGlmaWVyLAogICAgICAgICAgICAgbGluZU51bWJl
cjogdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uLmxpbmVOdW1iZXIsCiAgICAgICAgICAgICBjb2x1
bW5OdW1iZXI6IHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbi5jb2x1bW5OdW1iZXIsCiAgICAgICAg
ICAgICBkaXNhYmxlZDogdGhpcy5fZGlzYWJsZWQsCkBAIC0yOTksNyArMjk5LDcgQEAgV2ViSW5z
cGVjdG9yLkJyZWFrcG9pbnQgPSBjbGFzcyBCcmVha3BvaW50IGV4dGVuZHMgV2ViSW5zcGVjdG9y
Lk9iamVjdAogCiAgICAgc2F2ZUlkZW50aXR5VG9Db29raWUoY29va2llKQogICAgIHsKLSAgICAg
ICAgY29va2llW1dlYkluc3BlY3Rvci5CcmVha3BvaW50LlVSTENvb2tpZUtleV0gPSB0aGlzLnVy
bDsKKyAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5CcmVha3BvaW50LkNvbnRlbnRJZGVudGlm
aWVyQ29va2llS2V5XSA9IHRoaXMuY29udGVudElkZW50aWZpZXI7CiAgICAgICAgIGNvb2tpZVtX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5MaW5lTnVtYmVyQ29va2llS2V5XSA9IHRoaXMuc291cmNl
Q29kZUxvY2F0aW9uLmxpbmVOdW1iZXI7CiAgICAgICAgIGNvb2tpZVtXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludC5Db2x1bW5OdW1iZXJDb29raWVLZXldID0gdGhpcy5zb3VyY2VDb2RlTG9jYXRpb24u
Y29sdW1uTnVtYmVyOwogICAgIH0KQEAgLTM0MCw3ICszNDAsNyBAQCBXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludCA9IGNsYXNzIEJyZWFrcG9pbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiBX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5EZWZhdWx0QnJlYWtwb2ludEFjdGlvblR5cGUgPSBXZWJJ
bnNwZWN0b3IuQnJlYWtwb2ludEFjdGlvbi5UeXBlLkxvZzsKIAogV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnQuVHlwZUlkZW50aWZpZXIgPSAiYnJlYWtwb2ludCI7Ci1XZWJJbnNwZWN0b3IuQnJlYWtw
b2ludC5VUkxDb29raWVLZXkgPSAiYnJlYWtwb2ludC11cmwiOworV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnQuQ29udGVudElkZW50aWZpZXJDb29raWVLZXkgPSAiYnJlYWtwb2ludC1jb250ZW50LWlk
ZW50aWZpZXIiOwogV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQuTGluZU51bWJlckNvb2tpZUtleSA9
ICJicmVha3BvaW50LWxpbmUtbnVtYmVyIjsKIFdlYkluc3BlY3Rvci5CcmVha3BvaW50LkNvbHVt
bk51bWJlckNvb2tpZUtleSA9ICJicmVha3BvaW50LWNvbHVtbi1udW1iZXIiOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qcwpp
bmRleCA5ZGNkNTY1Y2I3MGNhZDI2ZDkyMjUwNGI4NTI0OGZiZGJiNmQyOWE1Li5hODlmYzY4MjAw
YTc1OWUyYmVhMzIxODVmYzY0NTAxY2JjNjRmODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMKQEAgLTkwLDYgKzkwLDI4
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHQgPSBjbGFzcyBTY3JpcHQgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuU291cmNlQ29kZQogICAgICAgICByZXR1cm4gdGhpcy5fdXJsOwogICAgIH0KIAorICAgIGdl
dCBjb250ZW50SWRlbnRpZmllcigpCisgICAgeworICAgICAgICBpZiAodGhpcy5fdXJsKQorICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX3VybDsKKworICAgICAgICBpZiAoIXRoaXMuX3NvdXJjZVVS
TCkKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgIC8vIFNpbmNlIHJldXNlZCBj
b250ZW50IGlkZW50aWZpZXJzIGNhbiBjYXVzZSBicmVha3BvaW50cworICAgICAgICAvLyB0byBz
aG93IHVwIGluIGNvbXBsZXRlbHkgdW5yZWxhdGVkIGZpbGVzLCBzb3VyY2VVUkxzIHNob3VsZAor
ICAgICAgICAvLyBiZSB1bmlxdWUgd2hlcmUgcG9zc2libGUuIFRoZSBjaGVja3MgYmVsb3cgZXhj
bHVkZSBjYXNlcworICAgICAgICAvLyB3aGVyZSBzb3VyY2VVUkxzIGFyZSBpbnRlbnRpb25hbGx5
IHJldXNlZCBhbmQgd2Ugd291bGQgbmV2ZXIKKyAgICAgICAgLy8gZXhwZWN0IGEgYnJlYWtwb2lu
dCB0byBiZSBwZXJzaXN0ZWQgYWNyb3NzIHNlc3Npb25zLgorICAgICAgICBpZiAoaXNXZWJJbnNw
ZWN0b3JDb25zb2xlRXZhbHVhdGlvblNjcmlwdCh0aGlzLl9zb3VyY2VVUkwpKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGw7CisKKyAgICAgICAgaWYgKGlzV2ViSW5zcGVjdG9ySW50ZXJuYWxTY3Jp
cHQodGhpcy5fc291cmNlVVJMKSkKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAg
IHJldHVybiB0aGlzLl9zb3VyY2VVUkw7CisgICAgfQorCiAgICAgZ2V0IHNvdXJjZVVSTCgpCiAg
ICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGUuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qcwppbmRl
eCBlNjI0MjM4MTdiNjgxOGQ4MWM1NGNiZWNiZDI4MzNjYTIzMDlhMzRmLi4yOWU4ZjMyMzEzMGRi
YjAyMmJmN2IzNjNlNGQ3YWE0YzVjZmUwMGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qcwpAQCAtNzYsNiAr
NzYsMjAgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUgPSBjbGFzcyBTb3VyY2VDb2RlIGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFJldmlz
aW9uLmNvbnRlbnQ7CiAgICAgfQogCisgICAgZ2V0IHVybCgpCisgICAgeworICAgICAgICAvLyBU
byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCisgICAgfQorCisgICAgZ2V0IGNvbnRlbnRJ
ZGVudGlmaWVyKCkKKyAgICB7CisgICAgICAgIC8vIEEgY29udGVudElkZW50aWZpZXIgaXMgcm91
Z2hseSBgdXJsIHx8IHNvdXJjZVVSTGAgZm9yIGNhc2VzIHdoZXJlCisgICAgICAgIC8vIHRoZSBj
b250ZW50IGlzIGNvbnNpc3RlbnQgYmV0d2VlbiBzZXNzaW9ucyBhbmQgbm90IGVwaGVtZXJhbC4K
KworICAgICAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIGlmIGJldHRlciBi
ZWhhdmlvciBpcyBwb3NzaWJsZS4KKyAgICAgICAgcmV0dXJuIHRoaXMudXJsOworICAgIH0KKwog
ICAgIGdldCBzb3VyY2VNYXBzKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VN
YXBzIHx8IFtdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCmluZGV4IDYwMzM1
MzUxMGY0MDExN2M2MTAyOTI0ODc0NWM1M2ViOTlkZDY1NTIuLmM3OWJlNjlmYzJmYTVkMTc4MDJj
ZGM5ZWM2MDcwMThmMTliMzBjNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0JyZWFrcG9pbnRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CcmVha3BvaW50VHJlZUVsZW1lbnQu
anMKQEAgLTcyLDcgKzcyLDcgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRUcmVlRWxlbWVudCA9
IGNsYXNzIEJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3AKIAogICAgIGdldCBm
aWx0ZXJhYmxlRGF0YSgpCiAgICAgewotICAgICAgICByZXR1cm4ge3RleHQ6IFt0aGlzLmJyZWFr
cG9pbnQudXJsXX07CisgICAgICAgIHJldHVybiB7dGV4dDogW3RoaXMuYnJlYWtwb2ludC5jb250
ZW50SWRlbnRpZmllcl19OwogICAgIH0KIAogICAgIG9uZGVsZXRlKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlU2V0RGV0YWlsc1Nl
Y3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9i
ZVNldERldGFpbHNTZWN0aW9uLmpzCmluZGV4IDBlNzlmZjI3MmU4ZGIxZGFjOGIxMzY4ODUzYWUw
N2QyYjAwYjNiZWMuLmQ4YjcyMjQ2OTJjN2M5YTk1MWViNjYzYzgzMjhhNDYwMjY1OWIyMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2Jl
U2V0RGV0YWlsc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUHJvYmVTZXREZXRhaWxzU2VjdGlvbi5qcwpAQCAtOTYsNyArOTYsNyBAQCBX
ZWJJbnNwZWN0b3IuUHJvYmVTZXREZXRhaWxzU2VjdGlvbiA9IGNsYXNzIFByb2JlU2V0RGV0YWls
c1NlY3Rpb24gZXh0ZW5kcyBXZWJJbgogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoIWJyZWFr
cG9pbnQucmVzb2x2ZWQpOwogCiAgICAgICAgICAgICB2YXIgbG9jYXRpb24gPSBicmVha3BvaW50
LnNvdXJjZUNvZGVMb2NhdGlvbjsKLSAgICAgICAgICAgIHRpdGxlRWxlbWVudCA9IFdlYkluc3Bl
Y3Rvci5saW5raWZ5TG9jYXRpb24oYnJlYWtwb2ludC51cmwsIGxvY2F0aW9uLmRpc3BsYXlMaW5l
TnVtYmVyLCBsb2NhdGlvbi5kaXNwbGF5Q29sdW1uTnVtYmVyKTsKKyAgICAgICAgICAgIHRpdGxl
RWxlbWVudCA9IFdlYkluc3BlY3Rvci5saW5raWZ5TG9jYXRpb24oYnJlYWtwb2ludC5jb250ZW50
SWRlbnRpZmllciwgbG9jYXRpb24uZGlzcGxheUxpbmVOdW1iZXIsIGxvY2F0aW9uLmRpc3BsYXlD
b2x1bW5OdW1iZXIpOwogICAgICAgICB9CiAKICAgICAgICAgdGl0bGVFbGVtZW50LmNsYXNzTGlz
dC5hZGQoV2ViSW5zcGVjdG9yLlByb2JlU2V0RGV0YWlsc1NlY3Rpb24uRG9udEZsb2F0TGlua1N0
eWxlQ2xhc3NOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKaW5kZXggYzdj
NzEyZDIyZGQ4NWYxMmE4NjVmZDYyYWRkNWYwYjg4ZDdjNzM5MS4uOWE5Njk3MmJlZjk0N2Y0ZmVi
YTI3MGU5Y2I5ZjEyMjY0NzcwMWZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3Iu
anMKQEAgLTc4OCw5ICs3ODgsOSBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3Ig
PSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICBp
ZiAodGhpcy5fc291cmNlQ29kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBSZXNv
dXJjZSkKICAgICAgICAgICAgIHJldHVybiBicmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbi5k
aXNwbGF5U291cmNlQ29kZSA9PT0gdGhpcy5fc291cmNlQ29kZTsKICAgICAgICAgaWYgKHRoaXMu
X3NvdXJjZUNvZGUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UpCi0gICAgICAgICAg
ICByZXR1cm4gYnJlYWtwb2ludC51cmwgPT09IHRoaXMuX3NvdXJjZUNvZGUudXJsOworICAgICAg
ICAgICAgcmV0dXJuIGJyZWFrcG9pbnQuY29udGVudElkZW50aWZpZXIgPT09IHRoaXMuX3NvdXJj
ZUNvZGUuY29udGVudElkZW50aWZpZXI7CiAgICAgICAgIGlmICh0aGlzLl9zb3VyY2VDb2RlIGlu
c3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNjcmlwdCkKLSAgICAgICAgICAgIHJldHVybiBicmVha3Bv
aW50LnVybCA9PT0gdGhpcy5fc291cmNlQ29kZS51cmwgfHwgYnJlYWtwb2ludC5zY3JpcHRJZGVu
dGlmaWVyID09PSB0aGlzLl9zb3VyY2VDb2RlLmlkOworICAgICAgICAgICAgcmV0dXJuIGJyZWFr
cG9pbnQuY29udGVudElkZW50aWZpZXIgPT09IHRoaXMuX3NvdXJjZUNvZGUuY29udGVudElkZW50
aWZpZXIgfHwgYnJlYWtwb2ludC5zY3JpcHRJZGVudGlmaWVyID09PSB0aGlzLl9zb3VyY2VDb2Rl
LmlkOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0UmVzb3VyY2VDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNv
dXJjZUNvbnRlbnRWaWV3LmpzCmluZGV4IGExNzc0NTMwOGQ4MDZhYWE5YWMyZjcwY2M4YjFkYWIx
NzhlMmQwNDUuLjJhNmM4Yjk1MDhkZDUwNDQ1Zjc5YTU3ZjI3YzI4MzY1NzZlNDg5NmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNv
dXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCkBAIC03OCw3ICs3OCw3IEBAIFdl
Ykluc3BlY3Rvci5UZXh0UmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIFRleHRSZXNvdXJjZUNv
bnRlbnRWaWV3IGV4dGVuZHMgV2ViCiAgICAgZ2V0IHN1cHBsZW1lbnRhbFJlcHJlc2VudGVkT2Jq
ZWN0cygpCiAgICAgewogICAgICAgICB2YXIgb2JqZWN0cyA9IFdlYkluc3BlY3Rvci5wcm9iZU1h
bmFnZXIucHJvYmVTZXRzLmZpbHRlcihmdW5jdGlvbihwcm9iZVNldCkgewotICAgICAgICAgICAg
cmV0dXJuIHRoaXMuX3Jlc291cmNlLnVybCA9PT0gcHJvYmVTZXQuYnJlYWtwb2ludC51cmw7Cisg
ICAgICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2UuY29udGVudElkZW50aWZpZXIgPT09IHBy
b2JlU2V0LmJyZWFrcG9pbnQuY29udGVudElkZW50aWZpZXI7CiAgICAgICAgIH0sIHRoaXMpOwog
CiAgICAgICAgIC8vIElmIHRoZSBTb3VyY2VDb2RlVGV4dEVkaXRvciBoYXMgYW4gZXhlY3V0aW9u
TGluZU51bWJlciwgd2UgY2FuIGFzc3VtZQo=
</data>
<flag name="review"
          id="303030"
          type_id="1"
          status="+"
          setter="joepeck"
    />
    <flag name="commit-queue"
          id="303099"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>