<?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>82622</bug_id>
          
          <creation_ts>2012-03-29 09:21:05 -0700</creation_ts>
          <short_desc>Web Inspector: Implement snippet creation/renaming in ScriptsNavigator.</short_desc>
          <delta_ts>2012-05-16 07:41:57 -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 (Deprecated)</component>
          <version>528+ (Nightly 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75094</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>podivilov</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>591244</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-03-29 09:21:05 -0700</bug_when>
    <thetext>patch to follow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591268</commentid>
    <comment_count>1</comment_count>
      <attachid>134606</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-03-29 09:57:19 -0700</bug_when>
    <thetext>Created attachment 134606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605479</commentid>
    <comment_count>2</comment_count>
      <attachid>134606</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-19 03:51:51 -0700</bug_when>
    <thetext>Comment on attachment 134606
Patch

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

&gt; Source/WebCore/inspector/front-end/SnippetsModel.js:283
&gt; +WebInspector.SnippetsPresentationModel = function()

As we agreed offline, there should be no such model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625347</commentid>
    <comment_count>3</comment_count>
      <attachid>142241</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-05-16 06:28:05 -0700</bug_when>
    <thetext>Created attachment 142241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625355</commentid>
    <comment_count>4</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-05-16 06:40:14 -0700</bug_when>
    <thetext>Committed r117274: &lt;http://trac.webkit.org/changeset/117274&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134606</attachid>
            <date>2012-03-29 09:57:19 -0700</date>
            <delta_ts>2012-05-16 06:27:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82622-20120329205717.patch</filename>
            <type>text/plain</type>
            <size>17526</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ3MjQ1M2Q3N2NkZjVj
NDZiMzJiOGM3ZDA3ZjZjOGU1N2VlZjcwYi4uY2RkMGE5ZDYxZmVmODczOTY5ODliMmYwMDQ1N2Yy
ZjlhY2NiMWM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEyLTAzLTI5ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEltcGxlbWVudCBzbmlwcGV0IGNyZWF0aW9uL3JlbmFtaW5nIGluIFNjcmlwdHNOYXZpZ2F0
b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjYy
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWRkcyBTbmlwcGV0c1ByZXNlbnRhdGlvbk1vZGVsIGludGVyZmFjZSBmb3Igc25pcHBl
dHMgY29udHJvbCBmcm9tIFVJLgorICAgICAgICBTbmlwcGV0c1NjcmlwdE1hcHBpbmcgaW1wbGVt
ZW50cyB0aGlzIGludGVyZmFjZS4KKyAgICAgICAgU25pcHBldHMgY3JlYXRpb24vcmVuYW1pbmcg
aXMgaW1wbGVtZW50ZWQgdGhlcmUuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Rl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuZ2V0IHNuaXBwZXRzUHJlc2VudGF0aW9uTW9k
ZWwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0TWFwcGluZy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5NYWluU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuZ2V0IHNuaXBw
ZXRzUHJlc2VudGF0aW9uTW9kZWwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c05hdmlnYXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9y
LnByb3RvdHlwZS51aVNvdXJjZUNvZGVSZW5hbWVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRzTmF2aWdhdG9yLnByb3RvdHlwZS5faGFuZGxlQ3JlYXRlU25pcHBldCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUuX3NuaXBwZXRDcmVhdGlv
blJlcXVlc3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90
b3R5cGUuX2ZpbGVSZW5hbWVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBl
Ll9zbmlwcGV0UmVuYW1lZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnBy
b3RvdHlwZS5fZmlsZVJlbmFtZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bC5wcm90b3R5cGUuX3NuaXBwZXRDcmVhdGlvblJlcXVlc3RlZC5jYWxsYmFjayk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fc25pcHBldENyZWF0aW9uUmVx
dWVzdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLnNl
dCBfc2hvd05hdmlnYXRvck92ZXJsYXkpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U25pcHBldHNNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0c1ByZXNlbnRh
dGlvbk1vZGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0c1ByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZS5jcmVhdGVTbmlwcGV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tbmlw
cGV0c1ByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5yZW5hbWVTbmlwcGV0KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TbmlwcGV0c1NjcmlwdE1hcHBpbmcpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNuaXBwZXRzU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX3NuaXBwZXRBZGRlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU25pcHBldHNTY3JpcHRNYXBwaW5nLnByb3RvdHlwZS5jcmVhdGVT
bmlwcGV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0c1NjcmlwdE1hcHBpbmcucHJv
dG90eXBlLmdldCByZW5hbWVTbmlwcGV0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1RhYmJlZEVkaXRvckNvbnRhaW5lci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRF
ZGl0b3JDb250YWluZXIucHJvdG90eXBlLl91cGRhdGVIaXN0b3J5KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUucHJvdG90eXBlLnNldCB1cmwpOgorCisyMDEyLTAzLTI5ICBWc2V2b2xvZCBW
bGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNu
aXBwZXRzU2NyaXB0TWFwcGluZyBzaG91bGQgcHJvY2VzcyBleGlzdGluZyBzbmlwcGV0cyBvbiBs
b2FkLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI2
MTkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IDBiOTczOWE5MWRmYjUwMjk3
OTZlY2YwNTU2YWFjNTVlMTNjODhhN2EuLjIzMzNjNzYwYTIxODhlYWYwNmVkMDgyODE5YjkxNTEz
YjhlZWE2ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTcwLDYgKzcwLDE0
IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cyA9IHsKIAog
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAg
IC8qKgorICAgICAqIEB0eXBlIHtXZWJJbnNwZWN0b3IuU25pcHBldHNQcmVzZW50YXRpb25Nb2Rl
bH0KKyAgICAgKi8KKyAgICBnZXQgc25pcHBldHNQcmVzZW50YXRpb25Nb2RlbCgpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy5fc2NyaXB0TWFwcGluZy5zbmlwcGV0c1ByZXNlbnRhdGlvbk1v
ZGVsOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1hdHRlcj19IGZvcm1hdHRlcgogICAg
ICAqLwogICAgIGNyZWF0ZUxpbmtpZmllcjogZnVuY3Rpb24oZm9ybWF0dGVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRNYXBwaW5nLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRNYXBwaW5nLmpzCmluZGV4
IGIxMzY1ZjBkYmU2NjE3ZDJjNjMxZDQxMWExMDMwNTFjZmJkY2RjZjMuLmI1MmFmNjU2YzZmYjJj
Yjg1ODExMGJjNGUwYmNmNTU0ZmFhYzQwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0TWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdE1hcHBpbmcuanMKQEAgLTk3LDYgKzk3LDE0IEBAIFdl
Ykluc3BlY3Rvci5NYWluU2NyaXB0TWFwcGluZy5FdmVudHMgPSB7CiAKIFdlYkluc3BlY3Rvci5N
YWluU2NyaXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgLyoqCisgICAgICogQHR5cGUge1dl
Ykluc3BlY3Rvci5TbmlwcGV0c1ByZXNlbnRhdGlvbk1vZGVsfQorICAgICAqLworICAgIGdldCBz
bmlwcGV0c1ByZXNlbnRhdGlvbk1vZGVsKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9z
bmlwcGV0c01hcHBpbmc7CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEBwYXJhbSB7RGVidWdn
ZXJBZ2VudC5Mb2NhdGlvbn0gcmF3TG9jYXRpb24KICAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0
b3IuVUlMb2NhdGlvbn0KICAgICAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcwppbmRleCA4ZDYzMjg0YzBjZWRkYjk3
NGUxOGNmYjgwOWYxMzgwNTY5YWVlNzI2Li5iNGIzMGViMjg5YWEzZDViOTI4NzdmMDgwZDJkNzY4
ZjczMTAxM2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNOYXZpZ2F0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCkBAIC04MCw2ICs4MCwxMSBAQCBXZWJJbnNwZWN0b3Iu
U2NyaXB0c05hdmlnYXRvciA9IGZ1bmN0aW9uKCkKICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
c2hvd1NjcmlwdEZvbGRlcnMuYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5fc2hvd1NjcmlwdEZvbGRl
cnNTZXR0aW5nQ2hhbmdlZC5iaW5kKHRoaXMpKTsKIH0KIAorV2ViSW5zcGVjdG9yLlNjcmlwdHNO
YXZpZ2F0b3IuRXZlbnRzID0geworICAgIFNuaXBwZXRDcmVhdGlvblJlcXVlc3RlZDogIlNuaXBw
ZXRDcmVhdGlvblJlcXVlc3RlZCIsCisgICAgRmlsZVJlbmFtZWQ6ICJGaWxlUmVuYW1lZCIKK30K
KwogV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IuU2NyaXB0c1RhYiA9ICJzY3JpcHRzIjsK
IFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLkNvbnRlbnRTY3JpcHRzVGFiID0gImNvbnRl
bnRTY3JpcHRzIjsKIFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLlNuaXBwZXRzVGFiID0g
InNuaXBwZXRzIjsKQEAgLTE0Niw2ICsxNTEsMTQgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZp
Z2F0b3IucHJvdG90eXBlID0gewogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9y
LlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCiAgICAgICovCisgICAgdWlTb3VyY2VDb2RlUmVu
YW1lZDogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQorICAgIHsKKyAgICAgICAgdGhpcy5fdXBkYXRl
U2NyaXB0VGl0bGUodWlTb3VyY2VDb2RlKQorICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQorICAgICAqLwogICAg
IF91cGRhdGVTY3JpcHRUaXRsZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQogICAgIHsKICAgICAg
ICAgdmFyIHNjcmlwdFRyZWVFbGVtZW50ID0gdGhpcy5fc2NyaXB0VHJlZUVsZW1lbnRzQnlVSVNv
dXJjZUNvZGUuZ2V0KHVpU291cmNlQ29kZSk7CkBAIC0zNDYsMTIgKzM1OSwxOCBAQCBXZWJJbnNw
ZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2hhbmRs
ZUNyZWF0ZVNuaXBwZXQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6
IFRvIGJlIGltcGxlbWVudGVkLgorICAgICAgICB0aGlzLl9zbmlwcGV0Q3JlYXRpb25SZXF1ZXN0
ZWQoKTsKKyAgICB9LAorCisgICAgX3NuaXBwZXRDcmVhdGlvblJlcXVlc3RlZDogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLlNjcmlwdHNOYXZpZ2F0b3IuRXZlbnRzLlNuaXBwZXRDcmVhdGlvblJlcXVlc3RlZCwgbnVs
bCk7CiAgICAgfSwKIAogICAgIF9maWxlUmVuYW1lZDogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBu
ZXdUaXRsZSkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBUbyBiZSBpbXBsZW1lbnRlZC4KKyAg
ICAgICAgdmFyIGRhdGEgPSB7IHVpU291cmNlQ29kZTogdWlTb3VyY2VDb2RlLCBuYW1lOiBuZXdU
aXRsZSB9OworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuU2NyaXB0c05hdmlnYXRvci5FdmVudHMuRmlsZVJlbmFtZWQsIGRhdGEpOwogICAgIH0sCiAK
ICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRzUGFuZWwuanMKaW5kZXggMmE1MGRjZDA2OTdiOTViMDJlZDcyYTFmZjMyZWMzMWQwZjAxYTE0
My4uMWYxNzg0NThmYWZlNzk2YjRjNDcxZmZlNWQ2MDcwOWZjYzczN2E1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTg3
LDYgKzg3LDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKHByZXNlbnRh
dGlvbk1vZGVsKQogICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubmF2aWdhdG9ySGlkZGVu
ID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmNyZWF0ZVNldHRpbmcoIm5hdmlnYXRvckhpZGRlbiIs
IHRydWUpOwogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRl
bi5nZXQoKSkKICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZU5hdmlnYXRvcigpOworICAgICAgICAK
KyAgICAgICAgdGhpcy5fbmF2aWdhdG9yLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlNj
cmlwdHNOYXZpZ2F0b3IuRXZlbnRzLlNuaXBwZXRDcmVhdGlvblJlcXVlc3RlZCwgdGhpcy5fc25p
cHBldENyZWF0aW9uUmVxdWVzdGVkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IuRXZlbnRzLkZpbGVS
ZW5hbWVkLCB0aGlzLl9maWxlUmVuYW1lZCwgdGhpcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
dGhpcy5fZmlsZVNlbGVjdG9yID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwuQ29tYm9C
b3hGaWxlU2VsZWN0b3IoKTsKICAgICAgICAgdGhpcy5fZmlsZVNlbGVjdG9yLnNob3codGhpcy5z
cGxpdFZpZXcubWFpbkVsZW1lbnQpOwpAQCAtMTgzLDYgKzE4Niw5IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwgPSBmdW5jdGlvbihwcmVzZW50YXRpb25Nb2RlbCkKICAgICB0aGlzLl9wcmVz
ZW50YXRpb25Nb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLkV2ZW50cy5FeGVjdXRpb25MaW5lQ2hhbmdlZCwgdGhpcy5fZXhlY3V0aW9u
TGluZUNoYW5nZWQsIHRoaXMpOwogICAgIHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzLkRl
YnVnZ2VyUmVzZXQsIHRoaXMuX3Jlc2V0LmJpbmQodGhpcywgZmFsc2UpKTsKIAorICAgIHRoaXMu
X3NuaXBwZXRzUHJlc2VudGF0aW9uTW9kZWwgPSB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5zbmlw
cGV0c1ByZXNlbnRhdGlvbk1vZGVsOworICAgIHRoaXMuX3NuaXBwZXRzUHJlc2VudGF0aW9uTW9k
ZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU25pcHBldHNQcmVzZW50YXRpb25Nb2Rl
bC5FdmVudHMuU25pcHBldFJlbmFtZWQsIHRoaXMuX3NuaXBwZXRSZW5hbWVkLCB0aGlzKQorCiAg
ICAgdmFyIGVuYWJsZURlYnVnZ2VyID0gIUNhcGFiaWxpdGllcy5kZWJ1Z2dlckNhdXNlc1JlY29t
cGlsYXRpb24gfHwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRlYnVnZ2VyRW5hYmxlZC5nZXQoKTsK
ICAgICBpZiAoZW5hYmxlRGVidWdnZXIpCiAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1v
ZGVsLmVuYWJsZURlYnVnZ2VyKCk7CkBAIC0yODQsNiArMjkwLDEzIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9hZGRVSVNvdXJjZUNvZGUo
dWlTb3VyY2VDb2RlKTsKICAgICB9LAogCisgICAgX3NuaXBwZXRSZW5hbWVkOiBmdW5jdGlvbihl
dmVudCkKKyAgICB7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSAvKiogQHR5cGUge1dlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGV9ICovIGV2ZW50LmRhdGE7CisgICAgICAgIHRoaXMuX2ZpbGVT
ZWxlY3Rvci51aVNvdXJjZUNvZGVSZW5hbWVkKHVpU291cmNlQ29kZSk7CisgICAgICAgIHRoaXMu
X2VkaXRvckNvbnRhaW5lci51aVNvdXJjZUNvZGVSZW5hbWVkKHVpU291cmNlQ29kZSk7CisgICAg
fSwKKwogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0g
dWlTb3VyY2VDb2RlCiAgICAgICovCkBAIC05ODAsNiArOTkzLDMxIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fc2hvd05hdmlnYXRv
ck92ZXJsYXkoKTsKICAgICB9LAogCisgICAgX2ZpbGVSZW5hbWVkOiBmdW5jdGlvbihldmVudCkK
KyAgICB7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGV9ICovIGV2ZW50LmRhdGEudWlTb3VyY2VDb2RlOworICAgICAgICB2YXIg
bmFtZSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBldmVudC5kYXRhLm5hbWU7CisgICAgICAgIGlm
ICghdWlTb3VyY2VDb2RlLmlzU25pcHBldCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
dGhpcy5fc25pcHBldHNQcmVzZW50YXRpb25Nb2RlbC5yZW5hbWVTbmlwcGV0KHVpU291cmNlQ29k
ZSwgbmFtZSk7CisgICAgfSwKKyAgICAKKyAgICBfc25pcHBldENyZWF0aW9uUmVxdWVzdGVkOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gdGhpcy5fc25pcHBl
dHNQcmVzZW50YXRpb25Nb2RlbC5jcmVhdGVTbmlwcGV0KCk7CisgICAgICAgIHRoaXMuX3Nob3dT
b3VyY2VMaW5lKHVpU291cmNlQ29kZSk7CisgICAgICAgIHZhciBzaG91bGRIaWRlTmF2aWdhdG9y
ID0gdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVNob3duIHx8IHRoaXMuX25hdmlnYXRvckhpZGRlbjsK
KyAgICAgICAgdGhpcy5fc2hvd05hdmlnYXRvck92ZXJsYXkoKTsKKyAgICAgICAgdGhpcy5fbmF2
aWdhdG9yLnJlbmFtZSh1aVNvdXJjZUNvZGUsIGNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAg
ICAKKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAoc2hvdWxkSGlkZU5hdmlnYXRvcikKKyAgICAgICAgICAgICAgICB0aGlzLl9oaWRlTmF2aWdh
dG9yT3ZlcmxheSgpOworICAgICAgICAgICAgdGhpcy5fc2hvd1NvdXJjZUxpbmUodWlTb3VyY2VD
b2RlKTsKKyAgICAgICAgfQorICAgIH0sCisgICAgCiAgICAgX3RvZ2dsZU5hdmlnYXRvcjogZnVu
Y3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93bikK
QEAgLTEwMjUsNyArMTA2Myw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBl
ID0gewogCiAgICAgX3Nob3dOYXZpZ2F0b3JPdmVybGF5OiBmdW5jdGlvbigpCiAgICAgewotICAg
ICAgICBpZiAodGhpcy5fbmF2aWdhdG9yT3ZlcmxheVNob3duKQorICAgICAgICBpZiAodGhpcy5f
bmF2aWdhdG9yT3ZlcmxheVNob3duIHx8ICF0aGlzLl9uYXZpZ2F0b3JIaWRkZW4pCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVNob3duID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU25pcHBl
dHNNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU25pcHBldHNN
b2RlbC5qcwppbmRleCA2OGU5MmM1ZDBmODdiMDYzNjk5NTkwOTE2OGI3YWE0YTY1NWNiMTE3Li45
MWZlMTEwN2Y3NjM4MmQxYTZiNmU2MzM1ZjEzNTgyZDI5MDYwMWFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NuaXBwZXRzTW9kZWwuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TbmlwcGV0c01vZGVsLmpzCkBAIC0yNzgs
NyArMjc4LDMyIEBAIFdlYkluc3BlY3Rvci5TbmlwcGV0LnByb3RvdHlwZSA9IHsKIFdlYkluc3Bl
Y3Rvci5TbmlwcGV0LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnBy
b3RvdHlwZTsKIAogLyoqCisgKiBAaW50ZXJmYWNlCisgKi8KK1dlYkluc3BlY3Rvci5TbmlwcGV0
c1ByZXNlbnRhdGlvbk1vZGVsID0gZnVuY3Rpb24oKQoreworfQorCitXZWJJbnNwZWN0b3IuU25p
cHBldHNQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMgPSB7CisgICAgU25pcHBldFJlbmFtZWQ6ICJz
bmlwcGV0LXJlbmFtZWQiCit9CisKK1dlYkluc3BlY3Rvci5TbmlwcGV0c1ByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3Iu
VUlTb3VyY2VDb2RlfQorICAgICAqLworICAgIGNyZWF0ZVNuaXBwZXQ6IGZ1bmN0aW9uKCkgeyB9
LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKKyAgICAgKiBAcGFyYW0g
e1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQorICAgICAqLworICAgIHJl
bmFtZVNuaXBwZXQ6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbmFtZSkgeyB9Cit9CisKKy8qKgog
ICogQGNvbnN0cnVjdG9yCisgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLlNuaXBwZXRzUHJl
c2VudGF0aW9uTW9kZWx9CiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlNjcmlwdE1hcHBpbmd9
CiAgKi8KIFdlYkluc3BlY3Rvci5TbmlwcGV0c1NjcmlwdE1hcHBpbmcgPSBmdW5jdGlvbigpCkBA
IC0yOTEsNiArMzE2LDcgQEAgV2ViSW5zcGVjdG9yLlNuaXBwZXRzU2NyaXB0TWFwcGluZyA9IGZ1
bmN0aW9uKCkKICAgICBXZWJJbnNwZWN0b3Iuc25pcHBldHNNb2RlbC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5TbmlwcGV0c01vZGVsLkV2ZW50VHlwZXMuU25pcHBldEFkZGVkLCB0aGlz
Ll9oYW5kbGVTbmlwcGV0QWRkZWQuYmluZCh0aGlzKSk7CiAgICAgV2ViSW5zcGVjdG9yLnNuaXBw
ZXRzTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU25pcHBldHNNb2RlbC5FdmVu
dFR5cGVzLlNuaXBwZXRXaWxsQmVFdmFsdWF0ZWQsIHRoaXMuX3NuaXBwZXRXaWxsQmVFdmFsdWF0
ZWQuYmluZCh0aGlzKSk7CiAgICAgV2ViSW5zcGVjdG9yLnNuaXBwZXRzTW9kZWwuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuU25pcHBldHNNb2RlbC5FdmVudFR5cGVzLlNuaXBwZXRSZW1v
dmVkLCB0aGlzLl9zbmlwcGV0UmVtb3ZlZC5iaW5kKHRoaXMpKTsKKyAgICBXZWJJbnNwZWN0b3Iu
c25pcHBldHNNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TbmlwcGV0c01vZGVs
LkV2ZW50VHlwZXMuU25pcHBldFJlbmFtZWQsIHRoaXMuX3NuaXBwZXRSZW5hbWVkLmJpbmQodGhp
cykpOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgV2ViSW5zcGVjdG9yLnNuaXBwZXRzTW9kZWwu
c25pcHBldHMubGVuZ3RoOyArK2kpCiAgICAgICAgIHRoaXMuX3NuaXBwZXRBZGRlZChXZWJJbnNw
ZWN0b3Iuc25pcHBldHNNb2RlbC5zbmlwcGV0c1tpXSk7CiB9CkBAIC0zOTIsOCArNDE4LDggQEAg
V2ViSW5zcGVjdG9yLlNuaXBwZXRzU2NyaXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICov
CiAgICAgX3NuaXBwZXRBZGRlZDogZnVuY3Rpb24oc25pcHBldCkKICAgICB7Ci0gICAgICAgIHZh
ciB1aVNvdXJjZUNvZGVJZCA9ICIiOyAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCi0gICAg
ICAgIHZhciB1aVNvdXJjZUNvZGVVUkwgPSAiIjsgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVk
LgorICAgICAgICB2YXIgdWlTb3VyY2VDb2RlSWQgPSAic25pcHBldF8iICsgc25pcHBldC5pZDsK
KyAgICAgICAgdmFyIHVpU291cmNlQ29kZVVSTCA9IHNuaXBwZXQubmFtZTsKICAgICAgICAgdmFy
IHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlSW1wbCh1aVNvdXJj
ZUNvZGVJZCwgdWlTb3VyY2VDb2RlVVJMLCBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRDb250ZW50
UHJvdmlkZXIoc25pcHBldCkpOwogICAgICAgICB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0ID0gdHJ1
ZTsKICAgICAgICAgdWlTb3VyY2VDb2RlLmlzRWRpdGFibGUgPSB0cnVlOwpAQCAtNDYwLDYgKzQ4
NiwzOCBAQCBXZWJJbnNwZWN0b3IuU25pcHBldHNTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlNjcmlw
dE1hcHBpbmcuRXZlbnRzLlVJU291cmNlQ29kZUxpc3RDaGFuZ2VkLCBkYXRhKTsKICAgICB9LAog
CisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CisgICAg
ICovCisgICAgX3NuaXBwZXRSZW5hbWVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAg
IHZhciBzbmlwcGV0ID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuU25pcHBldH0gKi8gZXZlbnQu
ZGF0YTsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IHRoaXMuX3VpU291cmNlQ29kZUZvclNu
aXBwZXQuZ2V0KHNuaXBwZXQpOworICAgICAgICB1aVNvdXJjZUNvZGUudXJsID0gc25pcHBldC5u
YW1lOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
U25pcHBldHNQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuU25pcHBldFJlbmFtZWQsIHVpU291cmNl
Q29kZSk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGV9CisgICAgICovCisgICAgY3JlYXRlU25pcHBldDogZnVuY3Rpb24oKQorICAg
IHsKKyAgICAgICAgdmFyIHNuaXBwZXQgPSBXZWJJbnNwZWN0b3Iuc25pcHBldHNNb2RlbC5jcmVh
dGVTbmlwcGV0KCk7CisgICAgICAgIHJldHVybiB0aGlzLl91aVNvdXJjZUNvZGVGb3JTbmlwcGV0
LmdldChzbmlwcGV0KTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9
IG5hbWUKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNl
Q29kZQorICAgICAqLworICAgIHJlbmFtZVNuaXBwZXQ6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwg
bmFtZSkKKyAgICB7CisgICAgICAgIHZhciBzbmlwcGV0ID0gdWlTb3VyY2VDb2RlLnNuaXBwZXQ7
CisgICAgICAgIGlmICghc25pcHBldCB8fCAhbmFtZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgc25pcHBldC5uYW1lID0gbmFtZTsKKyAgICB9LAorCiAgICAgcmVzZXQ6IGZ1bmN0aW9u
KCkKICAgICB7CiAgICAgICAgIHZhciByZW1vdmVkVUlTb3VyY2VDb2RlcyA9IHRoaXMuX3JlbGVh
c2VkVUlTb3VyY2VDb2RlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UYWJiZWRFZGl0b3JDb250YWluZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcwppbmRleCA4MmY3NDQ3ZDNh
ZDgwY2Q4ZmU1OWYwYzA1ZDQ4MTFkNjcyN2QzZTkxLi4zNGNjNmU5NmM0MzY0MmUzY2Q0ZTgwZDUx
YzYyZTk1MmE2ZTBmNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcwpAQCAtMTM1LDcgKzEzNSwy
MiBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgaWYgKGluZGV4ID09PSAwKQogICAgICAgICAgICAgdGhpcy5faW5uZXJTaG93RmlsZSh1
aVNvdXJjZUNvZGUsIGZhbHNlKTsKICAgICB9LAotICAgIAorCisgICAgLyoqCisgICAgICogQHBh
cmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKKyAgICAgKi8KKyAg
ICB1aVNvdXJjZUNvZGVSZW5hbWVkOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUpCisgICAgeworICAg
ICAgICB2YXIgdGFiSWQgPSB0aGlzLl90YWJJZHMuZ2V0KHVpU291cmNlQ29kZSk7CisgICAgICAg
IGlmICghdGFiSWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIHRpdGxlID0g
dGhpcy5fdGl0bGVGb3JGaWxlKHVpU291cmNlQ29kZSk7CisgICAgICAgIHZhciB0b29sdGlwID0g
dGhpcy5fdG9vbHRpcEZvckZpbGUodWlTb3VyY2VDb2RlKTsKKyAgICAgICAgdGhpcy5fdGFiYmVk
UGFuZS5jaGFuZ2VUYWJUaXRsZSh0YWJJZCwgdGl0bGUpOworICAgICAgICB0aGlzLl90YWJiZWRQ
YW5lLmNoYW5nZVRhYlRvb2x0aXAodGFiSWQsIHRvb2x0aXApOworICAgIH0sCisKICAgICAvKioK
ICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQog
ICAgICAqLwpAQCAtMTU1LDEyICsxNzAsMTIgQEAgV2ViSW5zcGVjdG9yLlRhYmJlZEVkaXRvckNv
bnRhaW5lci5wcm90b3R5cGUgPSB7CiAgICAgX3VwZGF0ZUhpc3Rvcnk6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHZhciB0YWJJZHMgPSB0aGlzLl90YWJiZWRQYW5lLmxhc3RPcGVuZWRUYWJJ
ZHMoV2ViSW5zcGVjdG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lci5tYXhpbWFsUHJldmlvdXNseVZp
ZXdlZEZpbGVzQ291bnQpOwotICAgICAgICAKKwogICAgICAgICBmdW5jdGlvbiB0YWJJZFRvVVJM
KHRhYklkKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlsZXNbdGFiSWRd
LnVybDsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICB0aGlzLl9oaXN0b3J5LnVwZGF0
ZSh0YWJJZHMubWFwKHRhYklkVG9VUkwuYmluZCh0aGlzKSkpOwogICAgICAgICB0aGlzLl9oaXN0
b3J5LnNhdmUodGhpcy5fcHJldmlvdXNseVZpZXdlZEZpbGVzU2V0dGluZyk7CiAgICAgfSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2Rl
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMK
aW5kZXggNTJkM2NmNTUzZWY3Y2M0NGRlNzU2MmIyNjFkMjc3YzliM2JjZjQ5OC4uZGE3MzhkOTcy
Mzk2ODgwNWUzMzJiYWE4ODBhZTlmNGIwMTg0NTY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKQEAgLTU4LDcgKzU4LDcgQEAg
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMgPSB7CiAKIFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUucHJvdG90eXBlID0gewogICAgIC8qKgotICAgICAqIEByZXR1cm4ge3N0cmluZ30K
KyAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICAqLwogICAgIGdldCBpZCgpCiAgICAgewpAQCAt
NjYsMTMgKzY2LDIyIEBAIFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlID0gewog
ICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICogQHR5cGUg
e3N0cmluZ30KICAgICAgKi8KICAgICBnZXQgdXJsKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0
aGlzLl91cmw7CiAgICAgfSwKIAorICAgIHNldCB1cmwodXJsKQorICAgIHsKKyAgICAgICAgdGhp
cy5fdXJsID0gdXJsOworICAgICAgICBkZWxldGUgdGhpcy5fZG9tYWluOworICAgICAgICBkZWxl
dGUgdGhpcy5fZm9sZGVyTmFtZTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2ZpbGVOYW1lOworICAg
ICAgICBkZWxldGUgdGhpcy5fZGlzcGxheU5hbWU7CisgICAgfSwKKwogICAgIC8qKgogICAgICAq
IEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5nLHN0cmluZyl9IGNhbGxiYWNrCiAgICAgICovCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYjJkMzczNjMyNTZjOGY0NjkxMjYyMWEwYmQ4OTZjZDg5ODM2YmM2OS4uNzM1NWE4NmVkOGMz
N2JmNjUxYTBhZTVkYTU5ZGY1MDVmMTQ4ZDIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEy
LTAzLTI5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBzbmlwcGV0IGNyZWF0aW9uL3JlbmFtaW5nIGluIFNj
cmlwdHNOYXZpZ2F0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MjYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbDoKKwogMjAxMi0w
My0yOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtR
dF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcgYWZ0ZXIgcjExMjUxNC4gRml4IHRoZSBhY2NpZGVudGFs
IHIxMTI1MzIgZml4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3NjcmlwdHMtcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3Jp
cHRzLXBhbmVsLmh0bWwKaW5kZXggOWQ5MzlkMDM5MGY5Yzc4M2NjNDA3Y2NhNDk0ZmFiMDkyZGE4
OGJlMi4uMmY1OTc1YjlkMWU5MDUwODcyNTQxZjQzNGM3OGVlOWM4NTExZWM1MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCkBAIC0z
OCw2ICszOCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgdmFyIGRhdGEgPSB7IG9s
ZFVJU291cmNlQ29kZUxpc3Q6IG9sZFVJU291cmNlQ29kZUxpc3QsIHVpU291cmNlQ29kZUxpc3Q6
IG5ld1VJU291cmNlQ29kZUxpc3QgfTsKICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5V
SVNvdXJjZUNvZGVSZXBsYWNlZCwgZGF0YSk7CiAgICAgICAgIH0KKyAgICAgICAgbW9kZWwuc25p
cHBldHNQcmVzZW50YXRpb25Nb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0KCk7CiAKICAg
ICAgICAgcmV0dXJuIG1vZGVsOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142241</attachid>
            <date>2012-05-16 06:28:05 -0700</date>
            <delta_ts>2012-05-16 06:36:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82622-20120516172803.patch</filename>
            <type>text/plain</type>
            <size>22255</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBmYjA5ZjE0NTA5OWU2
NzI2MmYwODg3ZDFlZmI2ZjY3Y2E2NmU5Zi4uYjlhYzE5MmFkOTQzOTU4ZmJmOTliMzI2NjU4Mzcx
NTQ0MTQzMWE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUyIEBACiAyMDEyLTA1LTE2ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEltcGxlbWVudCBzbmlwcGV0IGNyZWF0aW9uL3JlbmFtaW5nIGluIFNjcmlwdHNOYXZpZ2F0
b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjYy
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudGVkIHNuaXBwZXQgY3JlYXRpb24gYW5kIHJlbmFtaW5nLgorICAgICAgICBBZGRlZCBUaXRs
ZUNoYW5nZWQgZXZlbnQgdG8gVUlTb3VyY2VDb2RlLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9OYXZpZ2F0b3JPdmVybGF5Q29udHJvbGxlci5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OYXZpZ2F0b3JPdmVybGF5Q29udHJvbGxlci5wcm90b3R5cGUuX2NvbnRhaW5pbmdFbGVt
ZW50Rm9jdXNlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2aWdhdG9yT3ZlcmxheUNvbnRy
b2xsZXIucHJvdG90eXBlLmlzTmF2aWdhdG9yUGlubmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5OYXZpZ2F0b3JPdmVybGF5Q29udHJvbGxlci5wcm90b3R5cGUuaXNOYXZpZ2F0b3JIaWRkZW4p
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmF2aWdhdG9yVmlldy5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnByb3RvdHlwZS5fdWlTb3VyY2VDb2RlVGl0
bGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnByb3RvdHlw
ZS5fdXBkYXRlU2NyaXB0VGl0bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRvclZp
ZXcucHJvdG90eXBlLl9hZGRVSVNvdXJjZUNvZGVMaXN0ZW5lcnMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlLl9yZW1vdmVVSVNvdXJjZUNvZGVMaXN0ZW5l
cnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlLl9maWxl
UmVuYW1lZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2aWdhdG9yU2NyaXB0VHJlZUVsZW1l
bnQucHJvdG90eXBlLm9uYXR0YWNoKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdFNuaXBwZXRNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRTbmlwcGV0
TW9kZWwucHJvdG90eXBlLl9hZGRTY3JpcHRTbmlwcGV0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Ny
aXB0c05hdmlnYXRvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5w
cm90b3R5cGUuX3NuaXBwZXRzTmF2aWdhdG9yVmlld0ZvclVJU291cmNlQ29kZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUuYWRkVUlTb3VyY2VDb2Rl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLnByb3RvdHlwZS5pc1Nj
cmlwdFNvdXJjZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9y
LnByb3RvdHlwZS5yZXZlYWxVSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNj
cmlwdHNOYXZpZ2F0b3IucHJvdG90eXBlLnJlcGxhY2VVSVNvdXJjZUNvZGUpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IucHJvdG90eXBlLnJlbmFtZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUuX2ZpbGVSZW5hbWVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLnByb3RvdHlwZS5fc25pcHBl
dENyZWF0aW9uUmVxdWVzdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0c05hdmln
YXRvclZpZXcucHJvdG90eXBlLl9oYW5kbGVDcmVhdGVTbmlwcGV0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TbmlwcGV0c05hdmlnYXRvclZpZXcucHJvdG90eXBlLl9zbmlwcGV0Q3JlYXRpb25S
ZXF1ZXN0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2V0IF9oaWRl
RGVidWdnZXJTaWRlYmFyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJv
dG90eXBlLnNldCBfZmlsZVJlbmFtZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUuX3NuaXBwZXRDcmVhdGlvblJlcXVlc3RlZC5jYWxsYmFjayk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fc25pcHBldENyZWF0aW9u
UmVxdWVzdGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNv
bnRhaW5lci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRFZGl0b3JDb250YWluZXIu
cHJvdG90eXBlLl9hcHBlbmRGaWxlVGFiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRF
ZGl0b3JDb250YWluZXIucHJvdG90eXBlLl90YWJDbG9zZWQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lci5wcm90b3R5cGUuX3VpU291cmNlQ29kZVRpdGxlQ2hh
bmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZS51cmxDaGFuZ2VkKToK
KworMjAxMi0wNS0xNiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKwog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBNb3ZlIGVkaXQvc2F2ZSBzY3JpcHQgc291cmNlIGxvZ2lj
IHRvIEphdmFTY3JpcHRTb3VyY2UuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NjYwNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL05hdmlnYXRvck92ZXJsYXlDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZpZ2F0b3JPdmVybGF5Q29udHJvbGxlci5qcwppbmRl
eCA4OTIxMzk3ZGNiZTZkNjY1YTViOTE3MTBiNGZiNDUzMmQ5MjUzOGUxLi41MWNlNjdkNzJlMTUw
YTRhYjlmOWQ5YmY0NTVhMTEzYTc5YzlkOTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL05hdmlnYXRvck92ZXJsYXlDb250cm9sbGVyLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF2aWdhdG9yT3ZlcmxheUNvbnRyb2xs
ZXIuanMKQEAgLTE2MSw1ICsxNjEsMTUgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRvck92ZXJsYXlD
b250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICghZXZlbnQudGFyZ2V0
LmlzU2VsZk9yRGVzY2VuZGFudCh0aGlzLl9zaWRlYmFyT3ZlcmxheS5lbGVtZW50KSkKICAgICAg
ICAgICAgIHRoaXMuaGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKKyAgICB9LAorICAgIAorICAgIGlz
TmF2aWdhdG9yUGlubmVkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5f
bmF2aWdhdG9yU2hvd0hpZGVCdXR0b24uc3RhdGUgPT09ICJwaW5uZWQiOworICAgIH0sCisgICAg
CisgICAgaXNOYXZpZ2F0b3JIaWRkZW46IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi5zdGF0ZSA9PT0gImhpZGRlbiI7CiAgICAg
fQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZp
Z2F0b3JWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZpZ2F0
b3JWaWV3LmpzCmluZGV4IGZjZjdhMzk3ZDQ1ZTM5YmYzYjNhNGYzMmFiMWYxZTkxOGZjNDA0Zjcu
LmU1YjEzZWIxYjk4MmI2ZWM4ZWRiMDcyNGYyZmMyZDdkM2M5ODczMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF2aWdhdG9yVmlldy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdmlnYXRvclZpZXcuanMKQEAgLTYw
LDcgKzYwLDggQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcgPSBmdW5jdGlvbigpCiAKIAog
V2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcuRXZlbnRzID0gewotICAgIEl0ZW1TZWxlY3RlZDog
Ikl0ZW1TZWxlY3RlZCIKKyAgICBJdGVtU2VsZWN0ZWQ6ICJJdGVtU2VsZWN0ZWQiLAorICAgIEZp
bGVSZW5hbWVkOiAiRmlsZVJlbmFtZWQiCiB9CiAKIFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3
LnByb3RvdHlwZSA9IHsKQEAgLTgxLDEyICs4MiwxOCBAQCBXZWJJbnNwZWN0b3IuTmF2aWdhdG9y
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZvbGRlclRyZWVFbGVtZW50LmFwcGVuZENoaWxk
KHNjcmlwdFRyZWVFbGVtZW50KTsKICAgICB9LAogCisgICAgX3VpU291cmNlQ29kZVRpdGxlQ2hh
bmdlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0g
LyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSAqLyBldmVudC50YXJnZXQ7Cisg
ICAgICAgIHRoaXMuX3VwZGF0ZVNjcmlwdFRpdGxlKHVpU291cmNlQ29kZSkKKyAgICB9LAorCiAg
ICAgX3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAg
ewogICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlfSAqLyBldmVudC50YXJnZXQ7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVNjcmlwdFRp
dGxlKHVpU291cmNlQ29kZSkKICAgICB9LAotICAgIAorCiAgICAgX3VpU291cmNlQ29kZUNvbnRl
bnRDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9ICovIGV2ZW50LnRhcmdl
dDsKQEAgLTk1LDggKzEwMiw5IEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnByb3RvdHlw
ZSA9IHsKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29k
ZX0gdWlTb3VyY2VDb2RlCisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaWdub3JlSXNEaXJ0eQog
ICAgICAqLwotICAgIF91cGRhdGVTY3JpcHRUaXRsZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQor
ICAgIF91cGRhdGVTY3JpcHRUaXRsZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBpZ25vcmVJc0Rp
cnR5KQogICAgIHsKICAgICAgICAgdmFyIHNjcmlwdFRyZWVFbGVtZW50ID0gdGhpcy5fc2NyaXB0
VHJlZUVsZW1lbnRzQnlVSVNvdXJjZUNvZGUuZ2V0KHVpU291cmNlQ29kZSk7CiAgICAgICAgIGlm
ICghc2NyaXB0VHJlZUVsZW1lbnQpCkBAIC0xMTEsNyArMTE5LDcgQEAgV2ViSW5zcGVjdG9yLk5h
dmlnYXRvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGl0bGVUZXh0ID0gdWlTb3Vy
Y2VDb2RlLnBhcnNlZFVSTC51cmw7CiAgICAgICAgIGlmICghdGl0bGVUZXh0KQogICAgICAgICAg
ICAgdGl0bGVUZXh0ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIocHJvZ3JhbSkiKTsKLSAgICAg
ICAgaWYgKHVpU291cmNlQ29kZS5pc0RpcnR5KCkpCisgICAgICAgIGlmICghaWdub3JlSXNEaXJ0
eSAmJiB1aVNvdXJjZUNvZGUuaXNEaXJ0eSgpKQogICAgICAgICAgICAgdGl0bGVUZXh0ID0gIioi
ICsgdGl0bGVUZXh0OwogICAgICAgICBzY3JpcHRUcmVlRWxlbWVudC50aXRsZVRleHQgPSB0aXRs
ZVRleHQ7CiAgICAgfSwKQEAgLTIwMCw2ICsyMDgsNyBAQCBXZWJJbnNwZWN0b3IuTmF2aWdhdG9y
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2FkZFVJU291cmNlQ29kZUxpc3RlbmVy
czogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQogICAgIHsKKyAgICAgICAgdWlTb3VyY2VDb2RlLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuVGl0bGVDaGFu
Z2VkLCB0aGlzLl91aVNvdXJjZUNvZGVUaXRsZUNoYW5nZWQsIHRoaXMpOwogICAgICAgICB1aVNv
dXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50
cy5Xb3JraW5nQ29weUNoYW5nZWQsIHRoaXMuX3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q2hhbmdl
ZCwgdGhpcyk7CiAgICAgICAgIHVpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNvbnRlbnRDaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNv
ZGVDb250ZW50Q2hhbmdlZCwgdGhpcyk7CiAgICAgfSwKQEAgLTIwOSw2ICsyMTgsNyBAQCBXZWJJ
bnNwZWN0b3IuTmF2aWdhdG9yVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3JlbW92
ZVVJU291cmNlQ29kZUxpc3RlbmVyczogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQogICAgIHsKKyAg
ICAgICAgdWlTb3VyY2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZS5FdmVudHMuVGl0bGVDaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGVUaXRsZUNoYW5n
ZWQsIHRoaXMpOwogICAgICAgICB1aVNvdXJjZUNvZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNoYW5nZWQsIHRoaXMuX3Vp
U291cmNlQ29kZVdvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIHVpU291cmNlQ29k
ZS5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNv
bnRlbnRDaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGVDb250ZW50Q2hhbmdlZCwgdGhpcyk7CiAg
ICAgfSwKQEAgLTIyNiw4ICsyMzYsOSBAQCBXZWJJbnNwZWN0b3IuTmF2aWdhdG9yVmlldy5wcm90
b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIF9maWxlUmVuYW1lZDogZnVuY3Rpb24odWlTb3VyY2VD
b2RlLCBuZXdUaXRsZSkKLSAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBUbyBiZSBpbXBsZW1lbnRl
ZC4KKyAgICB7ICAgIAorICAgICAgICB2YXIgZGF0YSA9IHsgdWlTb3VyY2VDb2RlOiB1aVNvdXJj
ZUNvZGUsIG5hbWU6IG5ld1RpdGxlIH07CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LkV2ZW50cy5GaWxlUmVuYW1lZCwgZGF0
YSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNTY4LDYgKzU3OSw3IEBAIFdlYkluc3BlY3Rvci5O
YXZpZ2F0b3JTY3JpcHRUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBX
ZWJJbnNwZWN0b3IuQmFzZU5hdmlnYXRvclRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaC5j
YWxsKHRoaXMpOwogICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIHRoaXMuX29uY2xpY2suYmluZCh0aGlzKSwgZmFsc2UpOworICAgICAgICB0aGlz
Lmxpc3RJdGVtRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuX2hh
bmRsZUNvbnRleHRNZW51RXZlbnQuYmluZCh0aGlzKSwgZmFsc2UpOwogICAgIH0sCiAKICAgICBv
bnNwYWNlOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdFNuaXBwZXRNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzCmluZGV4IGRkMjVjMzU3YTQxYjcyNTE4
YjA5NDkwMmI4ODI5Y2Q4OThhMTRlZTAuLmIzMjkwN2VkNGJkMTU1ZmM1N2EzM2IwMDdmNzBjY2Yy
ZmZhMDY5OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0U25pcHBldE1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzCkBAIC03NSw4ICs3NSw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRTbmlwcGV0TW9kZWwucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9hZGRTY3Jp
cHRTbmlwcGV0OiBmdW5jdGlvbihzbmlwcGV0KQogICAgIHsKLSAgICAgICAgdmFyIHVpU291cmNl
Q29kZVVSTCA9ICIiOyAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCi0gICAgICAgIHZhciB1
aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2UodWlTb3VyY2VD
b2RlVVJMLCBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRDb250ZW50UHJvdmlkZXIoc25pcHBldCks
IHRoaXMuX3NuaXBwZXRTY3JpcHRNYXBwaW5nLCB0cnVlKTsKKyAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZShzbmlwcGV0Lm5hbWUsIG5l
dyBXZWJJbnNwZWN0b3IuU25pcHBldENvbnRlbnRQcm92aWRlcihzbmlwcGV0KSwgdGhpcy5fc25p
cHBldFNjcmlwdE1hcHBpbmcsIHRydWUpOwogICAgICAgICB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0
ID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlRm9yU25pcHBldC5wdXQoc25pcHBl
dCwgdWlTb3VyY2VDb2RlKTsKICAgICAgICAgdGhpcy5fc25pcHBldEZvclVJU291cmNlQ29kZS5w
dXQodWlTb3VyY2VDb2RlLCBzbmlwcGV0KTsKQEAgLTEwMyw3ICsxMDIsMTEgQEAgV2ViSW5zcGVj
dG9yLlNjcmlwdFNuaXBwZXRNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgcmVuYW1l
U2NyaXB0U25pcHBldDogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBuZXdOYW1lKQogICAgIHsKLSAg
ICAgICAgdGhpcy5fc25pcHBldEZvclVJU291cmNlQ29kZS5nZXQodWlTb3VyY2VDb2RlKS5uYW1l
ID0gbmV3TmFtZTsKKyAgICAgICAgdmFyIHNuaXBwZXQgPSB0aGlzLl9zbmlwcGV0Rm9yVUlTb3Vy
Y2VDb2RlLmdldCh1aVNvdXJjZUNvZGUpCisgICAgICAgIGlmICghc25pcHBldCB8fCAhbmV3TmFt
ZSB8fCBzbmlwcGV0Lm5hbWUgPT09IG5ld05hbWUpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIHNuaXBwZXQubmFtZSA9IG5ld05hbWU7CisgICAgICAgIHVpU291cmNlQ29kZS51cmxDaGFu
Z2VkKHNuaXBwZXQubmFtZSk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCmluZGV4IGJk
NjIwY2ViOTY0OTJkYmE4MjdlODYyYWU2YjUyYjZkMGM0Mjk2MTcuLjYwNGE4OTk3ZDU3ZDQ5YzU3
YTQyYTY4ZjQyODhjMTczZGFjMzRkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3IuanMKQEAgLTQ2LDYgKzQ2LDggQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IgPSBmdW5jdGlvbigpCiAKICAgICB0aGlzLl9z
bmlwcGV0c1ZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRzTmF2aWdhdG9yVmlldygpOwog
ICAgIHRoaXMuX3NuaXBwZXRzVmlldy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OYXZp
Z2F0b3JWaWV3LkV2ZW50cy5JdGVtU2VsZWN0ZWQsIHRoaXMuX3NjcmlwdFNlbGVjdGVkLCB0aGlz
KTsKKyAgICB0aGlzLl9zbmlwcGV0c1ZpZXcuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
TmF2aWdhdG9yVmlldy5FdmVudHMuRmlsZVJlbmFtZWQsIHRoaXMuX2ZpbGVSZW5hbWVkLCB0aGlz
KTsKKyAgICB0aGlzLl9zbmlwcGV0c1ZpZXcuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
U25pcHBldHNOYXZpZ2F0b3JWaWV3LkV2ZW50cy5TbmlwcGV0Q3JlYXRpb25SZXF1ZXN0ZWQsIHRo
aXMuX3NuaXBwZXRDcmVhdGlvblJlcXVlc3RlZCwgdGhpcyk7CiAKICAgICB0aGlzLl90YWJiZWRQ
YW5lLmFwcGVuZFRhYihXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5TY3JpcHRzVGFiLCBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNjcmlwdHMiKSwgdGhpcy5fc2NyaXB0c1ZpZXcpOwogICAg
IHRoaXMuX3RhYmJlZFBhbmUuc2VsZWN0VGFiKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9y
LlNjcmlwdHNUYWIpOwpAQCAtNTUsNyArNTcsOSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmln
YXRvciA9IGZ1bmN0aW9uKCkKIH0KIAogV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IuRXZl
bnRzID0gewotICAgIFNjcmlwdFNlbGVjdGVkOiAiU2NyaXB0U2VsZWN0ZWQiCisgICAgU2NyaXB0
U2VsZWN0ZWQ6ICJTY3JpcHRTZWxlY3RlZCIsCisgICAgU25pcHBldENyZWF0aW9uUmVxdWVzdGVk
OiAiU25pcHBldENyZWF0aW9uUmVxdWVzdGVkIiwKKyAgICBGaWxlUmVuYW1lZDogIkZpbGVSZW5h
bWVkIgogfQogCiBXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5TY3JpcHRzVGFiID0gInNj
cmlwdHMiOwpAQCAtNzQsMTQgKzc4LDIyIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9y
LnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGV9IHVpU291cmNlQ29kZQogICAgICAqLwotICAgIGFkZFVJU291cmNlQ29kZTogZnVu
Y3Rpb24odWlTb3VyY2VDb2RlKQorICAgIF9zbmlwcGV0c05hdmlnYXRvclZpZXdGb3JVSVNvdXJj
ZUNvZGU6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSkKICAgICB7CiAgICAgICAgIGlmICh1aVNvdXJj
ZUNvZGUuaXNDb250ZW50U2NyaXB0KQotICAgICAgICAgICAgdGhpcy5fY29udGVudFNjcmlwdHNW
aWV3LmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAgICAgICAgICAgcmV0dXJuIHRo
aXMuX2NvbnRlbnRTY3JpcHRzVmlldzsKICAgICAgICAgZWxzZSBpZiAodWlTb3VyY2VDb2RlLmlz
U25pcHBldCB8fCB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0RXZhbHVhdGlvbikKLSAgICAgICAgICAg
IHRoaXMuX3NuaXBwZXRzVmlldy5hZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKKyAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9zbmlwcGV0c1ZpZXc7CiAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHRoaXMuX3NjcmlwdHNWaWV3LmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX3NjcmlwdHNWaWV3OworICAgIH0sCisKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQorICAg
ICAqLworICAgIGFkZFVJU291cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQorICAgIHsK
KyAgICAgICAgdGhpcy5fc25pcHBldHNOYXZpZ2F0b3JWaWV3Rm9yVUlTb3VyY2VDb2RlKHVpU291
cmNlQ29kZSkuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CiAgICAgfSwKIAogICAgIC8q
KgpAQCAtOTAsMTEgKzEwMiw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLnByb3Rv
dHlwZSA9IHsKICAgICAgKi8KICAgICBpc1NjcmlwdFNvdXJjZUFkZGVkOiBmdW5jdGlvbih1aVNv
dXJjZUNvZGUpCiAgICAgewotICAgICAgICBpZiAodWlTb3VyY2VDb2RlLmlzQ29udGVudFNjcmlw
dCkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50U2NyaXB0c1ZpZXcuaXNTY3JpcHRT
b3VyY2VBZGRlZCh1aVNvdXJjZUNvZGUpOwotICAgICAgICBpZiAodWlTb3VyY2VDb2RlLmlzU25p
cHBldCB8fCB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0RXZhbHVhdGlvbikKLSAgICAgICAgICAgIHJl
dHVybiB0aGlzLl9zbmlwcGV0c1ZpZXcuaXNTY3JpcHRTb3VyY2VBZGRlZCh1aVNvdXJjZUNvZGUp
OwotICAgICAgICByZXR1cm4gdGhpcy5fc2NyaXB0c1ZpZXcuaXNTY3JpcHRTb3VyY2VBZGRlZCh1
aVNvdXJjZUNvZGUpOworICAgICAgICByZXR1cm4gdGhpcy5fc25pcHBldHNOYXZpZ2F0b3JWaWV3
Rm9yVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSkuaXNTY3JpcHRTb3VyY2VBZGRlZCh1aVNvdXJj
ZUNvZGUpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTEwMiwzNiArMTEwLDMzIEBAIFdlYkluc3Bl
Y3Rvci5TY3JpcHRzTmF2aWdhdG9yLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICByZXZlYWxV
SVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSkKICAgICB7Ci0gICAgICAgIGlmICh1
aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0KSB7Ci0gICAgICAgICAgICB0aGlzLl9jb250ZW50
U2NyaXB0c1ZpZXcucmV2ZWFsVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CisgICAgICAgIHRo
aXMuX3NuaXBwZXRzTmF2aWdhdG9yVmlld0ZvclVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpLnJl
dmVhbFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAgICAgICBpZiAodWlTb3VyY2VDb2Rl
LmlzQ29udGVudFNjcmlwdCkKICAgICAgICAgICAgIHRoaXMuX3RhYmJlZFBhbmUuc2VsZWN0VGFi
KFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLkNvbnRlbnRTY3JpcHRzVGFiKTsKLSAgICAg
ICAgfSBlbHNlIGlmICh1aVNvdXJjZUNvZGUuaXNTbmlwcGV0IHx8IHVpU291cmNlQ29kZS5pc1Nu
aXBwZXRFdmFsdWF0aW9uKSB7Ci0gICAgICAgICAgICB0aGlzLl9zbmlwcGV0c1ZpZXcucmV2ZWFs
VUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CisgICAgICAgIGVsc2UgaWYgKHVpU291cmNlQ29k
ZS5pc1NuaXBwZXQgfHwgdWlTb3VyY2VDb2RlLmlzU25pcHBldEV2YWx1YXRpb24pCiAgICAgICAg
ICAgICB0aGlzLl90YWJiZWRQYW5lLnNlbGVjdFRhYihXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmln
YXRvci5TbmlwcGV0c1RhYik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0aGlzLl9z
Y3JpcHRzVmlldy5yZXZlYWxVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKKyAgICAgICAgZWxz
ZQogICAgICAgICAgICAgdGhpcy5fdGFiYmVkUGFuZS5zZWxlY3RUYWIoV2ViSW5zcGVjdG9yLlNj
cmlwdHNOYXZpZ2F0b3IuU2NyaXB0c1RhYik7Ci0gICAgICAgIH0KICAgICB9LAogCiAgICAgLyoq
CisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSBvbGRVSVNvdXJjZUNv
ZGUKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29k
ZQotICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNEaXJ0eQogICAgICAqLwotICAgIHNldFNjcmlw
dFNvdXJjZUlzRGlydHk6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgaXNEaXJ0eSkKKyAgICByZXBs
YWNlVUlTb3VyY2VDb2RlOiBmdW5jdGlvbihvbGRVSVNvdXJjZUNvZGUsIHVpU291cmNlQ29kZSkK
ICAgICB7Ci0gICAgICAgIC8vIERvIG5vdGhpbmcuCisgICAgICAgIHRoaXMuX3NjcmlwdHNWaWV3
LnJlcGxhY2VVSVNvdXJjZUNvZGUob2xkVUlTb3VyY2VDb2RlLCB1aVNvdXJjZUNvZGUpOworICAg
ICAgICB0aGlzLl9jb250ZW50U2NyaXB0c1ZpZXcucmVwbGFjZVVJU291cmNlQ29kZShvbGRVSVNv
dXJjZUNvZGUsIHVpU291cmNlQ29kZSk7CisgICAgICAgIHRoaXMuX3NuaXBwZXRzVmlldy5yZXBs
YWNlVUlTb3VyY2VDb2RlKG9sZFVJU291cmNlQ29kZSwgdWlTb3VyY2VDb2RlKTsKICAgICB9LAog
CiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSBvbGRV
SVNvdXJjZUNvZGUKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVp
U291cmNlQ29kZQorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oKT19IGNhbGxiYWNrCiAgICAgICov
Ci0gICAgcmVwbGFjZVVJU291cmNlQ29kZTogZnVuY3Rpb24ob2xkVUlTb3VyY2VDb2RlLCB1aVNv
dXJjZUNvZGUpCisgICAgcmVuYW1lOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGNhbGxiYWNrKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fc2NyaXB0c1ZpZXcucmVwbGFjZVVJU291cmNlQ29kZShvbGRV
SVNvdXJjZUNvZGUsIHVpU291cmNlQ29kZSk7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRTY3JpcHRz
Vmlldy5yZXBsYWNlVUlTb3VyY2VDb2RlKG9sZFVJU291cmNlQ29kZSwgdWlTb3VyY2VDb2RlKTsK
LSAgICAgICAgdGhpcy5fc25pcHBldHNWaWV3LnJlcGxhY2VVSVNvdXJjZUNvZGUob2xkVUlTb3Vy
Y2VDb2RlLCB1aVNvdXJjZUNvZGUpOworICAgICAgICB0aGlzLl9zbmlwcGV0c05hdmlnYXRvclZp
ZXdGb3JVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKS5yZW5hbWUodWlTb3VyY2VDb2RlLCBjYWxs
YmFjayk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMTQyLDYgKzE0NywyMiBAQCBXZWJJbnNwZWN0
b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLkV2ZW50cy5TY3Jp
cHRTZWxlY3RlZCwgZXZlbnQuZGF0YSk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLkV2ZW50fSBldmVudAorICAgICAqLworICAgIF9maWxlUmVuYW1lZDog
ZnVuY3Rpb24oZXZlbnQpCisgICAgeyAgICAKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IuRXZlbnRzLkZpbGVSZW5hbWVk
LCBldmVudC5kYXRhKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNw
ZWN0b3IuRXZlbnR9IGV2ZW50CisgICAgICovCisgICAgX3NuaXBwZXRDcmVhdGlvblJlcXVlc3Rl
ZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeyAgICAKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IuRXZlbnRzLlNuaXBwZXRD
cmVhdGlvblJlcXVlc3RlZCwgZXZlbnQuZGF0YSk7CisgICAgfSwKKwogICAgIHJlc2V0OiBmdW5j
dGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9zY3JpcHRzVmlldy5yZXNldCgpOwpAQCAtMTYy
LDYgKzE4MywxMCBAQCBXZWJJbnNwZWN0b3IuU25pcHBldHNOYXZpZ2F0b3JWaWV3ID0gZnVuY3Rp
b24oKQogICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRo
aXMuaGFuZGxlQ29udGV4dE1lbnUuYmluZCh0aGlzKSwgZmFsc2UpOwogfQogCitXZWJJbnNwZWN0
b3IuU25pcHBldHNOYXZpZ2F0b3JWaWV3LkV2ZW50cyA9IHsKKyAgICBTbmlwcGV0Q3JlYXRpb25S
ZXF1ZXN0ZWQ6ICJTbmlwcGV0Q3JlYXRpb25SZXF1ZXN0ZWQiCit9CisKIFdlYkluc3BlY3Rvci5T
bmlwcGV0c05hdmlnYXRvclZpZXcucHJvdG90eXBlID0gewogICAgIC8qKgogICAgICAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCkBAIC0yMzMsNyArMjU4
LDEyIEBAIFdlYkluc3BlY3Rvci5TbmlwcGV0c05hdmlnYXRvclZpZXcucHJvdG90eXBlID0gewog
ICAgICAqLwogICAgIF9oYW5kbGVDcmVhdGVTbmlwcGV0OiBmdW5jdGlvbihldmVudCkKICAgICB7
Ci0gICAgICAgIC8vIEZJWE1FOiBUbyBiZSBpbXBsZW1lbnRlZC4KKyAgICAgICAgdGhpcy5fc25p
cHBldENyZWF0aW9uUmVxdWVzdGVkKCk7CisgICAgfSwKKworICAgIF9zbmlwcGV0Q3JlYXRpb25S
ZXF1ZXN0ZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5TbmlwcGV0c05hdmlnYXRvclZpZXcuRXZlbnRzLlNuaXBw
ZXRDcmVhdGlvblJlcXVlc3RlZCwgbnVsbCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IGU4ZjlhZWJm
Y2I1OWQwMzYzMTY0ZDdhYjQwYzUxNzBhZjlhNmJjMDAuLjRmYjE3OGNhZGZmODAyZmQyZTMyYzM4
ZDg2NWIyMzhmOTIyM2Q4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC04NCw2ICs4NCw5IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwgPSBmdW5jdGlvbihzY3JpcHRNYXBwaW5nRm9yVGVzdCkKICAgICB0aGlzLl9u
YXZpZ2F0b3JDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JPdmVybGF5Q29u
dHJvbGxlcih0aGlzLCB0aGlzLmVkaXRvclZpZXcsIHRoaXMuX25hdmlnYXRvci52aWV3LCB0aGlz
Ll9lZGl0b3JDb250YWluZXIudmlldyk7CiAKICAgICB0aGlzLl9uYXZpZ2F0b3IuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5FdmVudHMuU2NyaXB0U2VsZWN0
ZWQsIHRoaXMuX3NjcmlwdFNlbGVjdGVkLCB0aGlzKTsKKyAgICB0aGlzLl9uYXZpZ2F0b3IuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5FdmVudHMuU25pcHBl
dENyZWF0aW9uUmVxdWVzdGVkLCB0aGlzLl9zbmlwcGV0Q3JlYXRpb25SZXF1ZXN0ZWQsIHRoaXMp
OworICAgIHRoaXMuX25hdmlnYXRvci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TY3Jp
cHRzTmF2aWdhdG9yLkV2ZW50cy5GaWxlUmVuYW1lZCwgdGhpcy5fZmlsZVJlbmFtZWQsIHRoaXMp
OworCiAgICAgdGhpcy5fZWRpdG9yQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lci5FdmVudHMuRWRpdG9yU2VsZWN0ZWQsIHRoaXMuX2Vk
aXRvclNlbGVjdGVkLCB0aGlzKTsKICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkV2ZW50cy5FZGl0b3JD
bG9zZWQsIHRoaXMuX2VkaXRvckNsb3NlZCwgdGhpcyk7CiAKQEAgLTk2Myw2ICs5NjYsMzMgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3Rv
Z2dsZURlYnVnZ2VyU2lkZWJhckJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2hvdyBkZWJ1Z2dlciIpOwogICAgICAgICB0aGlzLnNwbGl0Vmlldy5oaWRlU2lkZWJhckVsZW1l
bnQoKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRlYnVnZ2VyU2lkZWJhckhpZGRl
bi5zZXQodHJ1ZSk7CisgICAgfSwKKworICAgIF9maWxlUmVuYW1lZDogZnVuY3Rpb24oZXZlbnQp
CisgICAgeworICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGV9ICovIGV2ZW50LmRhdGEudWlTb3VyY2VDb2RlOworICAgICAgICB2YXIg
bmFtZSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBldmVudC5kYXRhLm5hbWU7CisgICAgICAgIGlm
ICghdWlTb3VyY2VDb2RlLmlzU25pcHBldCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLnNjcmlwdFNuaXBwZXRNb2RlbC5yZW5hbWVTY3JpcHRTbmlwcGV0KHVpU291
cmNlQ29kZSwgbmFtZSk7CisgICAgfSwKKyAgICAgICAgCisgICAgX3NuaXBwZXRDcmVhdGlvblJl
cXVlc3RlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IFdl
Ykluc3BlY3Rvci5zY3JpcHRTbmlwcGV0TW9kZWwuY3JlYXRlU2NyaXB0U25pcHBldCgpOworICAg
ICAgICB0aGlzLl9zaG93U291cmNlTGluZSh1aVNvdXJjZUNvZGUpOworICAgICAgICAKKyAgICAg
ICAgdmFyIHNob3VsZEhpZGVOYXZpZ2F0b3IgPSAhdGhpcy5fbmF2aWdhdG9yQ29udHJvbGxlci5p
c05hdmlnYXRvclBpbm5lZCgpOworICAgICAgICBpZiAodGhpcy5fbmF2aWdhdG9yQ29udHJvbGxl
ci5pc05hdmlnYXRvckhpZGRlbigpKQorICAgICAgICAgICAgdGhpcy5fbmF2aWdhdG9yQ29udHJv
bGxlci5zaG93TmF2aWdhdG9yT3ZlcmxheSgpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3IucmVu
YW1lKHVpU291cmNlQ29kZSwgY2FsbGJhY2suYmluZCh0aGlzKSk7CisgICAgCisgICAgICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHNob3VsZEhpZGVO
YXZpZ2F0b3IpCisgICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdG9yQ29udHJvbGxlci5oaWRl
TmF2aWdhdG9yT3ZlcmxheSgpOworICAgICAgICAgICAgdGhpcy5fc2hvd1NvdXJjZUxpbmUodWlT
b3VyY2VDb2RlKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UYWJiZWRFZGl0b3JDb250YWluZXIuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcwpp
bmRleCBiY2FkNjVjOTAyNzk0YWVlYWE3NjlkNTU4OGFmOWNkODJjMzdmZjg5Li41NjkwOWQ1ZGMw
MTYzZjIyZDIyMTc3ZjkzY2JjZDlkYmZmNTNjNDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcwpA
QCAtMjI0LDkgKzIyNCwxMCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHRhYklkID0gdGhpcy5fZ2VuZXJhdGVUYWJJZCgpOwog
ICAgICAgICB0aGlzLl90YWJJZHMucHV0KHVpU291cmNlQ29kZSwgdGFiSWQpOwogICAgICAgICB0
aGlzLl9maWxlc1t0YWJJZF0gPSB1aVNvdXJjZUNvZGU7Ci0gICAgICAgIAorCiAgICAgICAgIHRo
aXMuX3RhYmJlZFBhbmUuYXBwZW5kVGFiKHRhYklkLCB0aXRsZSwgdmlldywgdG9vbHRpcCwgdXNl
ckdlc3R1cmUpOwogCisgICAgICAgIHVpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLlRpdGxlQ2hhbmdlZCwgdGhpcy5fdWlTb3VyY2VD
b2RlVGl0bGVDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgdWlTb3VyY2VDb2RlLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDaGFuZ2Vk
LCB0aGlzLl91aVNvdXJjZUNvZGVXb3JraW5nQ29weUNoYW5nZWQsIHRoaXMpOwogICAgICAgICB1
aVNvdXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2
ZW50cy5Db250ZW50Q2hhbmdlZCwgdGhpcy5fdWlTb3VyY2VDb2RlQ29udGVudENoYW5nZWQsIHRo
aXMpOwogICAgICAgICByZXR1cm4gdGFiSWQ7CkBAIC0yMzgsNyArMjM5LDcgQEAgV2ViSW5zcGVj
dG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lci5wcm90b3R5cGUgPSB7CiAgICAgX3JlbW92ZUZpbGVU
YWI6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSkKICAgICB7CiAgICAgICAgIHZhciB0YWJJZCA9IHRo
aXMuX3RhYklkcy5nZXQodWlTb3VyY2VDb2RlKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKHRh
YklkKQogICAgICAgICAgICAgdGhpcy5fdGFiYmVkUGFuZS5jbG9zZVRhYih0YWJJZCk7CiAgICAg
fSwKQEAgLTI1NSw2ICsyNTYsOCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVy
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fdGFiSWRzLnJlbW92ZSh1aVNvdXJjZUNvZGUp
OwogICAgICAgICBkZWxldGUgdGhpcy5fZmlsZXNbdGFiSWRdOwogICAgICAgICBkZWxldGUgdGhp
cy5fY3VycmVudEZpbGU7CisKKyAgICAgICAgdWlTb3VyY2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuVGl0bGVDaGFuZ2VkLCB0aGlzLl91
aVNvdXJjZUNvZGVUaXRsZUNoYW5nZWQsIHRoaXMpOwogICAgICAgICB1aVNvdXJjZUNvZGUucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5n
Q29weUNoYW5nZWQsIHRoaXMuX3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcyk7
CiAgICAgICAgIHVpU291cmNlQ29kZS5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUuRXZlbnRzLkNvbnRlbnRDaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGVDb250
ZW50Q2hhbmdlZCwgdGhpcyk7CiAKQEAgLTMwOCw3ICszMTEsMTMgQEAgV2ViSW5zcGVjdG9yLlRh
YmJlZEVkaXRvckNvbnRhaW5lci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl90YWJi
ZWRQYW5lLmNoYW5nZVRhYlRpdGxlKHRhYklkLCB0aXRsZSk7CiAgICAgICAgIH0KICAgICB9LAot
ICAgIAorCisgICAgX3VpU291cmNlQ29kZVRpdGxlQ2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCisg
ICAgeworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3Iu
VUlTb3VyY2VDb2RlfSAqLyBldmVudC50YXJnZXQ7CisgICAgICAgIHRoaXMuX3VwZGF0ZUZpbGVU
aXRsZSh1aVNvdXJjZUNvZGUpOworICAgIH0sCisKICAgICBfdWlTb3VyY2VDb2RlV29ya2luZ0Nv
cHlDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9ICovIGV2ZW50LnRhcmdl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3Vy
Y2VDb2RlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNv
ZGUuanMKaW5kZXggZDA2NmFhN2RmZDBmZGMxNmUwYzMwNDJjMWQ3OTFhYWRlYWZhYjc4ZC4uOTkz
YTJhMzVmZjVjZWM2YjU3NmExZTVkM2FkYWE1OGFlNTdlYzg1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKQEAgLTU3LDYgKzU3
LDcgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSA9IGZ1bmN0aW9uKHVybCwgY29udGVudFBy
b3ZpZGVyLCBzb3VyY2VNYXBwaW5nKQogV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMg
PSB7CiAgICAgQ29udGVudENoYW5nZWQ6ICJDb250ZW50Q2hhbmdlZCIsCiAgICAgV29ya2luZ0Nv
cHlDaGFuZ2VkOiAiV29ya2luZ0NvcHlDaGFuZ2VkIiwKKyAgICBUaXRsZUNoYW5nZWQ6ICJUaXRs
ZUNoYW5nZWQiLAogICAgIENvbnNvbGVNZXNzYWdlQWRkZWQ6ICJDb25zb2xlTWVzc2FnZUFkZGVk
IiwKICAgICBDb25zb2xlTWVzc2FnZVJlbW92ZWQ6ICJDb25zb2xlTWVzc2FnZVJlbW92ZWQiLAog
ICAgIENvbnNvbGVNZXNzYWdlc0NsZWFyZWQ6ICJDb25zb2xlTWVzc2FnZXNDbGVhcmVkIgpAQCAt
NzIsNiArNzMsMTYgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAg
ICAgfSwKIAogICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKKyAgICAgKi8KKyAg
ICB1cmxDaGFuZ2VkOiBmdW5jdGlvbih1cmwpCisgICAgeworICAgICAgICB0aGlzLl91cmwgPSB1
cmw7CisgICAgICAgIHRoaXMuX3BhcnNlZFVSTCA9IG5ldyBXZWJJbnNwZWN0b3IuUGFyc2VkVVJM
KHRoaXMuX3VybCk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLlRpdGxlQ2hhbmdlZCwgbnVsbCk7CisgICAgfSwK
KworICAgIC8qKgogICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5QYXJzZWRVUkx9CiAgICAg
ICovCiAgICAgZ2V0IHBhcnNlZFVSTCgpCg==
</data>
<flag name="review"
          id="148514"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>