<?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>104893</bug_id>
          
          <creation_ts>2012-12-13 01:58:44 -0800</creation_ts>
          <short_desc>Web Inspector: Network: Sorting cookies by size is broken.</short_desc>
          <delta_ts>2012-12-13 17:06:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eugene Klyuchnikov">eustas</reporter>
          <assigned_to name="Eugene Klyuchnikov">eustas</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bdakin</cc>
    
    <cc>caseq</cc>
    
    <cc>eustas</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790419</commentid>
    <comment_count>0</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-13 01:58:44 -0800</bug_when>
    <thetext>Steps to reproduce the problem:
1. In devtools, open a network request with some request cookies.
2. click on header of the size column to sort by size

What is the expected behavior?
The cookies should be sorted by size.

What went wrong?
A couple of the cookies bounce around when the column is clicked, but they are definitely not sorted.

Original issue: http://code.google.com/p/chromium/issues/detail?id=165571</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790436</commentid>
    <comment_count>1</comment_count>
      <attachid>179236</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-13 02:35:07 -0800</bug_when>
    <thetext>Created attachment 179236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790466</commentid>
    <comment_count>2</comment_count>
      <attachid>179236</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-12-13 03:13:03 -0800</bug_when>
    <thetext>Comment on attachment 179236
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Problem: cookie &quot;size&quot; is not a field now; its value is accesible

accessible

&gt; Source/WebCore/ChangeLog:11
&gt; +        Solution: make cookie fields uniformly accesible (add getters for name,

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790472</commentid>
    <comment_count>3</comment_count>
      <attachid>179236</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-13 03:32:09 -0800</bug_when>
    <thetext>Comment on attachment 179236
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        Problem: cookie &quot;size&quot; is not a field now; its value is accesible
&gt; 
&gt; accessible

Done.

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        Solution: make cookie fields uniformly accesible (add getters for name,
&gt; 
&gt; ditto

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790473</commentid>
    <comment_count>4</comment_count>
      <attachid>179244</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-13 03:32:53 -0800</bug_when>
    <thetext>Created attachment 179244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790516</commentid>
    <comment_count>5</comment_count>
      <attachid>179244</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 05:06:31 -0800</bug_when>
    <thetext>Comment on attachment 179244
Patch

Clearing flags on attachment: 179244

Committed r137585: &lt;http://trac.webkit.org/changeset/137585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790517</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 05:06:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791116</commentid>
    <comment_count>7</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-13 16:48:37 -0800</bug_when>
    <thetext>This change caused http/tests/inspector/resource-main-cookies.php to start failing on the Mac. Can you please tell me if this test is now broken or if it needs updated results?

http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r137585%20(4718)/http/tests/inspector/resource-main-cookies-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791130</commentid>
    <comment_count>8</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-13 17:06:16 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; This change caused http/tests/inspector/resource-main-cookies.php to start failing on the Mac. Can you please tell me if this test is now broken or if it needs updated results?
&gt; 
&gt; http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r137585%20(4718)/http/tests/inspector/resource-main-cookies-pretty-diff.html

I filed https://bugs.webkit.org/show_bug.cgi?id=104977</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179236</attachid>
            <date>2012-12-13 02:35:07 -0800</date>
            <delta_ts>2012-12-13 03:32:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104893-20121213143226.patch</filename>
            <type>text/plain</type>
            <size>18106</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAzYTM0NDNkNDY5NmQ4
NzZlZTI1ZjMzMDM0MzAxNmNmOGViMWY0Mi4uMTkwODE2MWQ5ZGE0MDk5NWViNTNmODFhNTM1MGIw
NzM4NTM2YjRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEyLTEzICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IE5ldHdvcms6IFNvcnRpbmcgY29va2llcyBieSBzaXplIGlzIGJyb2tlbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDg5MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb2JsZW06IGNvb2tp
ZSAic2l6ZSIgaXMgbm90IGEgZmllbGQgbm93OyBpdHMgdmFsdWUgaXMgYWNjZXNpYmxlCisgICAg
ICAgIHRocm91Z2ggZ2V0dGVyIG1ldGhvZC4KKworICAgICAgICBTb2x1dGlvbjogbWFrZSBjb29r
aWUgZmllbGRzIHVuaWZvcm1seSBhY2Nlc2libGUgKGFkZCBnZXR0ZXJzIGZvciBuYW1lLAorICAg
ICAgICB0eXBlIGFuZCB2YWx1ZSkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
b2tpZUl0ZW1zVmlldy5qczogQWRvcHQgY2hhbmdlcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0Nvb2tpZVBhcnNlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db29raWUpOiBS
ZWZpbmUgSnNEb2MuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZS5uYW1l
KTogQWRkZWQgZ2V0dGVyLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUu
dmFsdWUpOiBEaXR0by4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlLnR5
cGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db29raWVzLmJ1aWxkQ29va2llc0Zy
b21TdHJpbmcpOiBBZG9wdCBjaGFuZ2VzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZXMu
YnVpbGRDb29raWVQcm90b2NvbE9iamVjdCk6IERpdHRvLgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQ29va2llc1RhYmxlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZXNU
YWJsZSk6IFJlbW92ZSB1bnVzZWQgcGFyYW1ldGVyLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
b2tpZXNUYWJsZS5wcm90b3R5cGUuX3NvcnRDb29raWVzKToKKyAgICAgICAgVXNlIGdldHRlcnMg
aW5zdGVhZCBvZiBmaWVsZCBuYW1lcy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db29raWVzVGFi
bGUucHJvdG90eXBlLl9jcmVhdGVHcmlkTm9kZSk6IEFkb3B0IGNoYW5nZXMuCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qczogRGl0dG8uCisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXF1ZXN0Q29va2llc1ZpZXcuanM6IERpdHRvLgorCiAyMDEyLTEyLTEy
ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
TWlsbGlzZWNvbmRzIGZpZWxkIG9mIGRhdGUvdGltZSBpbnB1dCBVSSBzaG91bGQgcmVzcGVjdCBz
dGVwIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db29raWVJdGVtc1ZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcwppbmRleCAzMWRiNmY1MDRmODcyZWZjYjcxNzcwNDk5ZWUz
YTkxNzNjNGQxYjRhLi5kYTk5MWExYTgzOTFkNjJlZGJkN2Y5ZDA5YmJkNDY4ODUyMGM4YzFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0ZW1z
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0
ZW1zVmlldy5qcwpAQCAtOTIsNyArOTIsNyBAQCBXZWJJbnNwZWN0b3IuQ29va2llSXRlbXNWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghdGhpcy5fY29va2llc1Rh
YmxlKQotICAgICAgICAgICAgdGhpcy5fY29va2llc1RhYmxlID0gaXNBZHZhbmNlZCA/IG5ldyBX
ZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlKHRoaXMuX2Nvb2tpZURvbWFpbiwgZmFsc2UsIHRoaXMu
X2RlbGV0ZUNvb2tpZS5iaW5kKHRoaXMpLCB0aGlzLl91cGRhdGUuYmluZCh0aGlzKSkgOiBuZXcg
V2ViSW5zcGVjdG9yLlNpbXBsZUNvb2tpZXNUYWJsZSgpOworICAgICAgICAgICAgdGhpcy5fY29v
a2llc1RhYmxlID0gaXNBZHZhbmNlZCA/IG5ldyBXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlKGZh
bHNlLCB0aGlzLl9kZWxldGVDb29raWUuYmluZCh0aGlzKSwgdGhpcy5fdXBkYXRlLmJpbmQodGhp
cykpIDogbmV3IFdlYkluc3BlY3Rvci5TaW1wbGVDb29raWVzVGFibGUoKTsKIAogICAgICAgICB0
aGlzLl9jb29raWVzVGFibGUuc2V0Q29va2llcyh0aGlzLl9jb29raWVzKTsKICAgICAgICAgdGhp
cy5fZW1wdHlWaWV3LmRldGFjaCgpOwpAQCAtMTM5LDExICsxMzksMTEgQEAgV2ViSW5zcGVjdG9y
LkNvb2tpZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvb2tpZX0gY29va2llCisgICAgICogQHBhcmFtIHshV2Vi
SW5zcGVjdG9yLkNvb2tpZX0gY29va2llCiAgICAgICovCiAgICAgX2RlbGV0ZUNvb2tpZTogZnVu
Y3Rpb24oY29va2llKQogICAgIHsKLSAgICAgICAgUGFnZUFnZW50LmRlbGV0ZUNvb2tpZShjb29r
aWUubmFtZSwgdGhpcy5fY29va2llRG9tYWluKTsKKyAgICAgICAgUGFnZUFnZW50LmRlbGV0ZUNv
b2tpZShjb29raWUubmFtZSgpLCB0aGlzLl9jb29raWVEb21haW4pOwogICAgICAgICB0aGlzLl91
cGRhdGUoKTsKICAgICB9LAogCkBAIC0xOTgsMTIgKzE5OCwxMiBAQCBXZWJJbnNwZWN0b3IuU2lt
cGxlQ29va2llc1RhYmxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQucm9v
dE5vZGUoKS5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICB2YXIgYWRkZWRDb29raWVzID0ge307
CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29va2llcy5sZW5ndGg7ICsraSkgewotICAg
ICAgICAgICAgaWYgKGFkZGVkQ29va2llc1tjb29raWVzW2ldLm5hbWVdKQorICAgICAgICAgICAg
aWYgKGFkZGVkQ29va2llc1tjb29raWVzW2ldLm5hbWUoKV0pCiAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICBhZGRlZENvb2tpZXNbY29va2llc1tpXS5uYW1lXSA9IHRydWU7
CisgICAgICAgICAgICBhZGRlZENvb2tpZXNbY29va2llc1tpXS5uYW1lKCldID0gdHJ1ZTsKICAg
ICAgICAgICAgIHZhciBkYXRhID0ge307Ci0gICAgICAgICAgICBkYXRhWzBdID0gY29va2llc1tp
XS5uYW1lOwotICAgICAgICAgICAgZGF0YVsxXSA9IGNvb2tpZXNbaV0udmFsdWU7CisgICAgICAg
ICAgICBkYXRhWzBdID0gY29va2llc1tpXS5uYW1lKCk7CisgICAgICAgICAgICBkYXRhWzFdID0g
Y29va2llc1tpXS52YWx1ZSgpOwogCiAgICAgICAgICAgICB2YXIgbm9kZSA9IG5ldyBXZWJJbnNw
ZWN0b3IuRGF0YUdyaWROb2RlKGRhdGEsIGZhbHNlKTsKICAgICAgICAgICAgIG5vZGUuc2VsZWN0
YWJsZSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0Nvb2tpZVBhcnNlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29va2llUGFyc2VyLmpzCmluZGV4IDAwNTc2ZDIwMGM5YmZjN2RhZDM1ZmU4NjQ5NDJiMWNkNThm
NGQ4YTQuLjI2ODRkYzlhYzJkOWE2ZWM3ZTFhZGNkMDUyZGNhNDg5N2E2ZWRmMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llUGFyc2VyLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llUGFyc2VyLmpzCkBA
IC0xNjIsOCArMTYyLDggQEAgV2ViSW5zcGVjdG9yLkNvb2tpZVBhcnNlci5wcm90b3R5cGUgPSB7
CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvb2tpZVBh
cnNlci5LZXlWYWx1ZX0ga2V5VmFsdWUKLSAgICAgKiBAcGFyYW0ge251bWJlcn0gdHlwZQorICAg
ICAqIEBwYXJhbSB7IVdlYkluc3BlY3Rvci5Db29raWVQYXJzZXIuS2V5VmFsdWV9IGtleVZhbHVl
CisgICAgICogQHBhcmFtIHshV2ViSW5zcGVjdG9yLkNvb2tpZS5UeXBlfSB0eXBlCiAgICAgICov
CiAgICAgX2FkZENvb2tpZTogZnVuY3Rpb24oa2V5VmFsdWUsIHR5cGUpCiAgICAgewpAQCAtMjAw
LDIwICsyMDAsNDQgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZVBhcnNlci5wYXJzZVNldENvb2tpZSA9
IGZ1bmN0aW9uKGhlYWRlcikKICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtzdHJpbmd9IG5h
bWUKICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZQotICogQHBhcmFtIHtudW1iZXI9fSB0eXBlCisg
KiBAcGFyYW0gez9XZWJJbnNwZWN0b3IuQ29va2llLlR5cGV9IHR5cGUKICAqLwogV2ViSW5zcGVj
dG9yLkNvb2tpZSA9IGZ1bmN0aW9uKG5hbWUsIHZhbHVlLCB0eXBlKQogewotICAgIHRoaXMubmFt
ZSA9IG5hbWU7Ci0gICAgdGhpcy52YWx1ZSA9IHZhbHVlOwotICAgIHRoaXMudHlwZSA9IHR5cGU7
CisgICAgdGhpcy5fbmFtZSA9IG5hbWU7CisgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKKyAgICB0
aGlzLl90eXBlID0gdHlwZTsKICAgICB0aGlzLl9hdHRyaWJ1dGVzID0ge307CiB9CiAKIFdlYklu
c3BlY3Rvci5Db29raWUucHJvdG90eXBlID0gewogICAgIC8qKgorICAgICAqIEByZXR1cm4ge3N0
cmluZ30KKyAgICAgKi8KKyAgICBuYW1lOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fbmFtZTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHJldHVybiB7c3RyaW5n
fQorICAgICAqLworICAgIHZhbHVlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5fdmFsdWU7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4gez9XZWJJbnNw
ZWN0b3IuQ29va2llLlR5cGV9CisgICAgICovCisgICAgdHlwZTogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEBy
ZXR1cm4ge2Jvb2xlYW59Ci0gICAgICovIAorICAgICAqLwogICAgIGh0dHBPbmx5OiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICByZXR1cm4gImh0dHBvbmx5IiBpbiB0aGlzLl9hdHRyaWJ1dGVz
OwpAQCAtMjIxLDcgKzI0NSw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0gewog
CiAgICAgLyoqCiAgICAgICogQHJldHVybiB7Ym9vbGVhbn0KLSAgICAgKi8gCisgICAgICovCiAg
ICAgc2VjdXJlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gInNlY3VyZSIgaW4g
dGhpcy5fYXR0cmlidXRlczsKQEAgLTIyOSw3ICsyNTMsNyBAQCBXZWJJbnNwZWN0b3IuQ29va2ll
LnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAqIEByZXR1cm4ge2Jvb2xlYW59Ci0gICAg
ICovIAorICAgICAqLwogICAgIHNlc3Npb246IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIC8v
IFJGQyAyOTY1IHN1Z2dlc3RzIHVzaW5nIERpc2NhcmQgYXR0cmlidXRlIHRvIG1hcmsgc2Vzc2lv
biBjb29raWVzLCBidXQgdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIHdpZGVseSB1c2VkLgpAQCAt
MjM5LDcgKzI2Myw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0gewogCiAgICAg
LyoqCiAgICAgICogQHJldHVybiB7c3RyaW5nfQotICAgICAqLyAKKyAgICAgKi8KICAgICBwYXRo
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlc1sicGF0
aCJdOwpAQCAtMjQ3LDcgKzI3MSw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0g
ewogCiAgICAgLyoqCiAgICAgICogQHJldHVybiB7c3RyaW5nfQotICAgICAqLyAKKyAgICAgKi8K
ICAgICBwb3J0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmli
dXRlc1sicG9ydCJdOwpAQCAtMjU1LDcgKzI3OSw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJv
dG90eXBlID0gewogCiAgICAgLyoqCiAgICAgICogQHJldHVybiB7c3RyaW5nfQotICAgICAqLyAK
KyAgICAgKi8KICAgICBkb21haW46IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0
aGlzLl9hdHRyaWJ1dGVzWyJkb21haW4iXTsKQEAgLTI2Myw3ICsyODcsNyBAQCBXZWJJbnNwZWN0
b3IuQ29va2llLnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAqIEByZXR1cm4ge3N0cmlu
Z30KLSAgICAgKi8gCisgICAgICovCiAgICAgZXhwaXJlczogZnVuY3Rpb24oKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXNbImV4cGlyZXMiXTsKQEAgLTI3MSw3ICsyOTUs
NyBAQCBXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAq
IEByZXR1cm4ge3N0cmluZ30KLSAgICAgKi8gCisgICAgICovCiAgICAgbWF4QWdlOiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlc1sibWF4LWFnZSJdOwpA
QCAtMjc5LDcgKzMwMyw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0gewogCiAg
ICAgLyoqCiAgICAgICogQHJldHVybiB7bnVtYmVyfQotICAgICAqLyAKKyAgICAgKi8KICAgICBz
aXplOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTsKQEAgLTI4
Nyw3ICszMTEsNyBAQCBXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZSA9IHsKIAogICAgIC8q
KgogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzaXplCi0gICAgICovIAorICAgICAqLwogICAgIHNl
dFNpemU6IGZ1bmN0aW9uKHNpemUpCiAgICAgewogICAgICAgICB0aGlzLl9zaXplID0gc2l6ZTsK
QEAgLTI5NSw3ICszMTksNyBAQCBXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZSA9IHsKIAog
ICAgIC8qKgogICAgICAqIEByZXR1cm4ge0RhdGV9Ci0gICAgICovIAorICAgICAqLwogICAgIGV4
cGlyZXNEYXRlOiBmdW5jdGlvbihyZXF1ZXN0RGF0ZSkKICAgICB7CiAgICAgICAgIC8vIFJGQyA2
MjY1IGluZGljYXRlcyB0aGF0IHRoZSBtYXgtYWdlIGF0dHJpYnV0ZSB0YWtlcyBwcmVjZWRlbmNl
IG92ZXIgdGhlIGV4cGlyZXMgYXR0cmlidXRlCkBAIC0zMTIsNyArMzM2LDcgQEAgV2ViSW5zcGVj
dG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBAcmV0dXJuIHtPYmpl
Y3R9Ci0gICAgICovIAorICAgICAqLwogICAgIGF0dHJpYnV0ZXM6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzOwpAQCAtMzIxLDEzICszNDUsMTYgQEAg
V2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHBhcmFt
IHtzdHJpbmd9IGtleSAKICAgICAgKiBAcGFyYW0ge3N0cmluZz19IHZhbHVlIAotICAgICAqLyAK
KyAgICAgKi8KICAgICBhZGRBdHRyaWJ1dGU6IGZ1bmN0aW9uKGtleSwgdmFsdWUpCiAgICAgewog
ICAgICAgICB0aGlzLl9hdHRyaWJ1dGVzW2tleS50b0xvd2VyQ2FzZSgpXSA9IHZhbHVlOwogICAg
IH0KIH0KIAorLyoqCisgKiBAZW51bSB7bnVtYmVyfQorICovCiBXZWJJbnNwZWN0b3IuQ29va2ll
LlR5cGUgPSB7CiAgICAgUmVxdWVzdDogMCwKICAgICBSZXNwb25zZTogMQpAQCAtMzU3LDggKzM4
NCw4IEBAIFdlYkluc3BlY3Rvci5Db29raWVzLmdldENvb2tpZXNBc3luYyA9IGZ1bmN0aW9uKGNh
bGxiYWNrKQogCiAvKioKICAqIEBwYXJhbSB7c3RyaW5nfSByYXdDb29raWVTdHJpbmcgCi0gKiBA
cmV0dXJuIHtBcnJheS48V2ViSW5zcGVjdG9yLkNvb2tpZT59IAotICovIAorICogQHJldHVybiB7
QXJyYXkuPFdlYkluc3BlY3Rvci5Db29raWU+fQorICovCiBXZWJJbnNwZWN0b3IuQ29va2llcy5i
dWlsZENvb2tpZXNGcm9tU3RyaW5nID0gZnVuY3Rpb24ocmF3Q29va2llU3RyaW5nKQogewogICAg
IHZhciByYXdDb29raWVzID0gcmF3Q29va2llU3RyaW5nLnNwbGl0KC87XHMqLyk7CkBAIC0zNzEs
NyArMzk4LDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZXMuYnVpbGRDb29raWVzRnJvbVN0cmluZyA9
IGZ1bmN0aW9uKHJhd0Nvb2tpZVN0cmluZykKICAgICAgICAgICAgIHZhciBuYW1lID0gcmF3Q29v
a2llLnN1YnN0cmluZygwLCBkZWxpbUluZGV4KTsKICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHJh
d0Nvb2tpZS5zdWJzdHJpbmcoZGVsaW1JbmRleCArIDEpOwogICAgICAgICAgICAgdmFyIHNpemUg
PSBuYW1lLmxlbmd0aCArIHZhbHVlLmxlbmd0aDsKLSAgICAgICAgICAgIHZhciBjb29raWUgPSBu
ZXcgV2ViSW5zcGVjdG9yLkNvb2tpZShuYW1lLCB2YWx1ZSk7CisgICAgICAgICAgICB2YXIgY29v
a2llID0gbmV3IFdlYkluc3BlY3Rvci5Db29raWUobmFtZSwgdmFsdWUsIG51bGwpOwogICAgICAg
ICAgICAgY29va2llLnNldFNpemUoc2l6ZSk7CiAgICAgICAgICAgICBjb29raWVzLnB1c2goY29v
a2llKTsKICAgICAgICAgfQpAQCAtMzgxLDEyICs0MDgsMTIgQEAgV2ViSW5zcGVjdG9yLkNvb2tp
ZXMuYnVpbGRDb29raWVzRnJvbVN0cmluZyA9IGZ1bmN0aW9uKHJhd0Nvb2tpZVN0cmluZykKIH0K
IAogLyoqCi0gKiBAcGFyYW0ge09iamVjdH0gcHJvdG9jb2xDb29raWUgCi0gKiBAcmV0dXJuIHtX
ZWJJbnNwZWN0b3IuQ29va2llfSAKLSAqLyAKKyAqIEBwYXJhbSB7T2JqZWN0fSBwcm90b2NvbENv
b2tpZQorICogQHJldHVybiB7IVdlYkluc3BlY3Rvci5Db29raWV9CisgKi8KIFdlYkluc3BlY3Rv
ci5Db29raWVzLmJ1aWxkQ29va2llUHJvdG9jb2xPYmplY3QgPSBmdW5jdGlvbihwcm90b2NvbENv
b2tpZSkKIHsKLSAgICB2YXIgY29va2llID0gbmV3IFdlYkluc3BlY3Rvci5Db29raWUocHJvdG9j
b2xDb29raWUubmFtZSwgcHJvdG9jb2xDb29raWUudmFsdWUpOworICAgIHZhciBjb29raWUgPSBu
ZXcgV2ViSW5zcGVjdG9yLkNvb2tpZShwcm90b2NvbENvb2tpZS5uYW1lLCBwcm90b2NvbENvb2tp
ZS52YWx1ZSwgbnVsbCk7CiAgICAgY29va2llLmFkZEF0dHJpYnV0ZSgiZG9tYWluIiwgcHJvdG9j
b2xDb29raWVbImRvbWFpbiJdKTsKICAgICBjb29raWUuYWRkQXR0cmlidXRlKCJwYXRoIiwgcHJv
dG9jb2xDb29raWVbInBhdGgiXSk7CiAgICAgY29va2llLmFkZEF0dHJpYnV0ZSgicG9ydCIsIHBy
b3RvY29sQ29va2llWyJwb3J0Il0pOwpAQCAtNDAzLDcgKzQzMCw3IEBAIFdlYkluc3BlY3Rvci5D
b29raWVzLmJ1aWxkQ29va2llUHJvdG9jb2xPYmplY3QgPSBmdW5jdGlvbihwcm90b2NvbENvb2tp
ZSkKIC8qKgogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ29va2llfSBjb29raWUgCiAgKiBAcGFy
YW0ge3N0cmluZ30gcmVzb3VyY2VVUkwKLSAqLyAKKyAqLwogV2ViSW5zcGVjdG9yLkNvb2tpZXMu
Y29va2llTWF0Y2hlc1Jlc291cmNlVVJMID0gZnVuY3Rpb24oY29va2llLCByZXNvdXJjZVVSTCkK
IHsKICAgICB2YXIgdXJsID0gcmVzb3VyY2VVUkwuYXNQYXJzZWRVUkwoKTsKQEAgLTQxNyw3ICs0
NDQsNyBAQCBXZWJJbnNwZWN0b3IuQ29va2llcy5jb29raWVNYXRjaGVzUmVzb3VyY2VVUkwgPSBm
dW5jdGlvbihjb29raWUsIHJlc291cmNlVVJMKQogLyoqCiAgKiBAcGFyYW0ge3N0cmluZ30gY29v
a2llRG9tYWluIAogICogQHBhcmFtIHtzdHJpbmd9IHJlc291cmNlRG9tYWluCi0gKi8gCisgKi8K
IFdlYkluc3BlY3Rvci5Db29raWVzLmNvb2tpZURvbWFpbk1hdGNoZXNSZXNvdXJjZURvbWFpbiA9
IGZ1bmN0aW9uKGNvb2tpZURvbWFpbiwgcmVzb3VyY2VEb21haW4pCiB7CiAgICAgaWYgKGNvb2tp
ZURvbWFpbi5jaGFyQXQoMCkgIT09ICcuJykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29va2llc1RhYmxlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKaW5kZXggZTMxMmMzNjI5YWE3Zjc3Yzk5ZmJl
MzYwYWM4NDI0NjU4M2M3NzYyNC4uMDI0NTdhYWEzZTFkZmQxYmU1ODU1NDIxNWJiNmYxMjBmNTNm
ZjQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29r
aWVzVGFibGUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29r
aWVzVGFibGUuanMKQEAgLTMxLDE2ICszMSwxNSBAQAogLyoqCiAgKiBAY29uc3RydWN0b3IKICAq
IEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuVmlld30KLSAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5z
cGVjdG9yLkNvb2tpZSk9fSBkZWxldGVDYWxsYmFjaworICogQHBhcmFtIHtib29sZWFufSBleHBh
bmRhYmxlCisgKiBAcGFyYW0ge2Z1bmN0aW9uKCFXZWJJbnNwZWN0b3IuQ29va2llKT19IGRlbGV0
ZUNhbGxiYWNrCiAgKiBAcGFyYW0ge2Z1bmN0aW9uKCk9fSByZWZyZXNoQ2FsbGJhY2sKICAqLwot
V2ViSW5zcGVjdG9yLkNvb2tpZXNUYWJsZSA9IGZ1bmN0aW9uKGNvb2tpZURvbWFpbiwgZXhwYW5k
YWJsZSwgZGVsZXRlQ2FsbGJhY2ssIHJlZnJlc2hDYWxsYmFjaykKK1dlYkluc3BlY3Rvci5Db29r
aWVzVGFibGUgPSBmdW5jdGlvbihleHBhbmRhYmxlLCBkZWxldGVDYWxsYmFjaywgcmVmcmVzaENh
bGxiYWNrKQogewogICAgIFdlYkluc3BlY3Rvci5WaWV3LmNhbGwodGhpcyk7CiAgICAgdGhpcy5l
bGVtZW50LmNsYXNzTmFtZSA9ICJmaWxsIjsKIAotICAgIHRoaXMuX2Nvb2tpZURvbWFpbiA9IGNv
b2tpZURvbWFpbjsKLQogICAgIHZhciBjb2x1bW5zID0geyAwOiB7fSwgMToge30sIDI6IHt9LCAz
OiB7fSwgNDoge30sIDU6IHt9LCA2OiB7fSwgNzoge30gfTsKICAgICBjb2x1bW5zWzBdLnRpdGxl
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIik7CiAgICAgY29sdW1uc1swXS5zb3J0YWJs
ZSA9IHRydWU7CkBAIC0xMjcsOCArMTI2LDggQEAgV2ViSW5zcGVjdG9yLkNvb2tpZXNUYWJsZS5w
cm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVj
dG9yLkRhdGFHcmlkTm9kZX0gcGFyZW50Tm9kZQotICAgICAqIEBwYXJhbSB7QXJyYXkuPFdlYklu
c3BlY3Rvci5Db29raWU+fSBjb29raWVzCisgICAgICogQHBhcmFtIHshV2ViSW5zcGVjdG9yLkRh
dGFHcmlkTm9kZX0gcGFyZW50Tm9kZQorICAgICAqIEBwYXJhbSB7P0FycmF5LjwhV2ViSW5zcGVj
dG9yLkNvb2tpZT59IGNvb2tpZXMKICAgICAgKi8KICAgICBfcG9wdWxhdGVOb2RlOiBmdW5jdGlv
bihwYXJlbnROb2RlLCBjb29raWVzKQogICAgIHsKQEAgLTE1NCwxOCArMTUzLDIxIEBAIFdlYklu
c3BlY3Rvci5Db29raWVzVGFibGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdG90YWxT
aXplOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0geyFBcnJheS48IVdlYkluc3Bl
Y3Rvci5Db29raWU+fSBjb29raWVzCisgICAgICovCiAgICAgX3NvcnRDb29raWVzOiBmdW5jdGlv
bihjb29raWVzKQogICAgIHsKICAgICAgICAgdmFyIHNvcnREaXJlY3Rpb24gPSB0aGlzLl9kYXRh
R3JpZC5zb3J0T3JkZXIgPT09ICJhc2NlbmRpbmciID8gMSA6IC0xOwogCi0gICAgICAgIGZ1bmN0
aW9uIGxvY2FsZUNvbXBhcmUoZmllbGQsIGNvb2tpZTEsIGNvb2tpZTIpCisgICAgICAgIGZ1bmN0
aW9uIGxvY2FsZUNvbXBhcmUoZ2V0dGVyLCBjb29raWUxLCBjb29raWUyKQogICAgICAgICB7Ci0g
ICAgICAgICAgICByZXR1cm4gc29ydERpcmVjdGlvbiAqIChjb29raWUxW2ZpZWxkXSArICIiKS5s
b2NhbGVDb21wYXJlKGNvb2tpZTJbZmllbGRdICsgIiIpCisgICAgICAgICAgICByZXR1cm4gc29y
dERpcmVjdGlvbiAqIChnZXR0ZXIuYXBwbHkoY29va2llMSkgKyAiIikubG9jYWxlQ29tcGFyZShn
ZXR0ZXIuYXBwbHkoY29va2llMikgKyAiIikKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9u
IG51bWJlckNvbXBhcmUoZmllbGQsIGNvb2tpZTEsIGNvb2tpZTIpCisgICAgICAgIGZ1bmN0aW9u
IG51bWJlckNvbXBhcmUoZ2V0dGVyLCBjb29raWUxLCBjb29raWUyKQogICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gc29ydERpcmVjdGlvbiAqIChjb29raWUxW2ZpZWxkXSAtIGNvb2tpZTJb
ZmllbGRdKTsKKyAgICAgICAgICAgIHJldHVybiBzb3J0RGlyZWN0aW9uICogKGdldHRlci5hcHBs
eShjb29raWUxKSAtIGdldHRlci5hcHBseShjb29raWUyKSk7CiAgICAgICAgIH0KIAogICAgICAg
ICBmdW5jdGlvbiBleHBpcmVzQ29tcGFyZShjb29raWUxLCBjb29raWUyKQpAQCAtMTg1LDMxICsx
ODcsMzIgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZXNUYWJsZS5wcm90b3R5cGUgPSB7CiAKICAgICAg
ICAgdmFyIGNvbXBhcmF0b3I7CiAgICAgICAgIHN3aXRjaCAocGFyc2VJbnQodGhpcy5fZGF0YUdy
aWQuc29ydENvbHVtbklkZW50aWZpZXIsIDEwKSkgewotICAgICAgICAgICAgY2FzZSAwOiBjb21w
YXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKHRoaXMsICJuYW1lIik7IGJyZWFrOwotICAgICAg
ICAgICAgY2FzZSAxOiBjb21wYXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKHRoaXMsICJ2YWx1
ZSIpOyBicmVhazsKLSAgICAgICAgICAgIGNhc2UgMjogY29tcGFyYXRvciA9IGxvY2FsZUNvbXBh
cmUuYmluZCh0aGlzLCAiZG9tYWluIik7IGJyZWFrOwotICAgICAgICAgICAgY2FzZSAzOiBjb21w
YXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKHRoaXMsICJwYXRoIik7IGJyZWFrOworICAgICAg
ICAgICAgY2FzZSAwOiBjb21wYXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYklu
c3BlY3Rvci5Db29raWUucHJvdG90eXBlLm5hbWUpOyBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
MTogY29tcGFyYXRvciA9IGxvY2FsZUNvbXBhcmUuYmluZChudWxsLCBXZWJJbnNwZWN0b3IuQ29v
a2llLnByb3RvdHlwZS52YWx1ZSk7IGJyZWFrOworICAgICAgICAgICAgY2FzZSAyOiBjb21wYXJh
dG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90
eXBlLmRvbWFpbik7IGJyZWFrOworICAgICAgICAgICAgY2FzZSAzOiBjb21wYXJhdG9yID0gbG9j
YWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlLnBhdGgp
OyBicmVhazsKICAgICAgICAgICAgIGNhc2UgNDogY29tcGFyYXRvciA9IGV4cGlyZXNDb21wYXJl
OyBicmVhazsKLSAgICAgICAgICAgIGNhc2UgNTogY29tcGFyYXRvciA9IG51bWJlckNvbXBhcmUu
YmluZCh0aGlzLCAic2l6ZSIpOyBicmVhazsKLSAgICAgICAgICAgIGNhc2UgNjogY29tcGFyYXRv
ciA9IGxvY2FsZUNvbXBhcmUuYmluZCh0aGlzLCAiaHR0cE9ubHkiKTsgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlIDc6IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJlLmJpbmQodGhpcywgInNlY3Vy
ZSIpOyBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6IGxvY2FsZUNvbXBhcmUuYmluZCh0aGlz
LCAibmFtZSIpOworICAgICAgICAgICAgY2FzZSA1OiBjb21wYXJhdG9yID0gbnVtYmVyQ29tcGFy
ZS5iaW5kKG51bGwsIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlLnNpemUpOyBicmVhazsK
KyAgICAgICAgICAgIGNhc2UgNjogY29tcGFyYXRvciA9IGxvY2FsZUNvbXBhcmUuYmluZChudWxs
LCBXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZS5odHRwT25seSk7IGJyZWFrOworICAgICAg
ICAgICAgY2FzZSA3OiBjb21wYXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYklu
c3BlY3Rvci5Db29raWUucHJvdG90eXBlLnNlY3VyZSk7IGJyZWFrOworICAgICAgICAgICAgZGVm
YXVsdDogbG9jYWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90
eXBlLm5hbWUpOwogICAgICAgICB9CiAKICAgICAgICAgY29va2llcy5zb3J0KGNvbXBhcmF0b3Ip
OwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Db29raWV9
IGNvb2tpZQorICAgICAqIEBwYXJhbSB7IVdlYkluc3BlY3Rvci5Db29raWV9IGNvb2tpZQorICAg
ICAqIEByZXR1cm4geyFXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlfQogICAgICAqLwogICAgIF9j
cmVhdGVHcmlkTm9kZTogZnVuY3Rpb24oY29va2llKQogICAgIHsKICAgICAgICAgdmFyIGRhdGEg
PSB7fTsKLSAgICAgICAgZGF0YVswXSA9IGNvb2tpZS5uYW1lOwotICAgICAgICBkYXRhWzFdID0g
Y29va2llLnZhbHVlOworICAgICAgICBkYXRhWzBdID0gY29va2llLm5hbWUoKTsKKyAgICAgICAg
ZGF0YVsxXSA9IGNvb2tpZS52YWx1ZSgpOwogICAgICAgICBkYXRhWzJdID0gY29va2llLmRvbWFp
bigpIHx8ICIiOwogICAgICAgICBkYXRhWzNdID0gY29va2llLnBhdGgoKSB8fCAiIjsKLSAgICAg
ICAgaWYgKGNvb2tpZS50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29va2llLlR5cGUuUmVxdWVzdCkK
KyAgICAgICAgaWYgKGNvb2tpZS50eXBlKCkgPT09IFdlYkluc3BlY3Rvci5Db29raWUuVHlwZS5S
ZXF1ZXN0KQogICAgICAgICAgICAgZGF0YVs0XSA9ICIiOwogICAgICAgICBlbHNlIGlmIChjb29r
aWUubWF4QWdlKCkpCiAgICAgICAgICAgICBkYXRhWzRdID0gTnVtYmVyLnNlY29uZHNUb1N0cmlu
ZyhwYXJzZUludChjb29raWUubWF4QWdlKCksIDEwKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hBUkVudHJ5LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcwppbmRleCBjN2E4MDUxMWIwZThjZTI2YzFlMzFl
MjRhZmNhMzFkMWY1YTlkOGY3Li5jNmRjNDg4MTc0MTgyMWYwYjk5MjNlNTJhODY5MTU4NmVkN2Mw
ODRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hBUkVu
dHJ5LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnku
anMKQEAgLTIwMiw4ICsyMDIsOCBAQCBXZWJJbnNwZWN0b3IuSEFSRW50cnkucHJvdG90eXBlID0g
ewogICAgIF9idWlsZENvb2tpZTogZnVuY3Rpb24oY29va2llKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHsKLSAgICAgICAgICAgIG5hbWU6IGNvb2tpZS5uYW1lLAotICAgICAgICAgICAgdmFsdWU6
IGNvb2tpZS52YWx1ZSwKKyAgICAgICAgICAgIG5hbWU6IGNvb2tpZS5uYW1lKCksCisgICAgICAg
ICAgICB2YWx1ZTogY29va2llLnZhbHVlKCksCiAgICAgICAgICAgICBwYXRoOiBjb29raWUucGF0
aCgpLAogICAgICAgICAgICAgZG9tYWluOiBjb29raWUuZG9tYWluKCksCiAgICAgICAgICAgICBl
eHBpcmVzOiBjb29raWUuZXhwaXJlc0RhdGUobmV3IERhdGUodGhpcy5fcmVxdWVzdC5zdGFydFRp
bWUgKiAxMDAwKSksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1JlcXVlc3RDb29raWVzVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVxdWVzdENvb2tpZXNWaWV3LmpzCmluZGV4IGUyMWU2MTk5Njk4MWZlMjgyODhlZjAw
NTg0Nzk5YWIxNThkNDI2OGIuLjUyMGQ1NGJkZmU2NmJkMGEyYTVjZDhiZDk1NjdkYTkxMmNjODg5
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVz
dENvb2tpZXNWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVxdWVzdENvb2tpZXNWaWV3LmpzCkBAIC02OCw3ICs2OCw3IEBAIFdlYkluc3BlY3Rvci5SZXF1
ZXN0Q29va2llc1ZpZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5kZXRhY2hD
aGlsZFZpZXdzKCk7CiAKLSAgICAgICAgdGhpcy5fY29va2llc1RhYmxlID0gbmV3IFdlYkluc3Bl
Y3Rvci5Db29raWVzVGFibGUobnVsbCwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX2Nvb2tpZXNUYWJs
ZSA9IG5ldyBXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlKHRydWUpOwogICAgICAgICB0aGlzLl9j
b29raWVzVGFibGUuYWRkQ29va2llc0ZvbGRlcihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlcXVl
c3QgQ29va2llcyIpLCB0aGlzLl9yZXF1ZXN0LnJlcXVlc3RDb29raWVzKTsKICAgICAgICAgdGhp
cy5fY29va2llc1RhYmxlLmFkZENvb2tpZXNGb2xkZXIoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJS
ZXNwb25zZSBDb29raWVzIiksIHRoaXMuX3JlcXVlc3QucmVzcG9uc2VDb29raWVzKTsKICAgICAg
ICAgdGhpcy5fY29va2llc1RhYmxlLnNob3codGhpcy5lbGVtZW50KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYzczZWY5
ZTc2YmQzYTlhZDE2YTM1ZTFmOTgxNzQ1ZjkzMzI0NzY0Li44NjZkMzMwOWRlNzNlMmUwMjJhYjU5
ZTQwOTUzYzljOGEwNmE0OWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTItMTMgIEV1
Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogTmV0d29yazogU29ydGluZyBjb29raWVzIGJ5IHNpemUgaXMgYnJva2VuLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODkzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgbmV3IGNv
b2tpZSBmaWVsZCBhY2Nlc3NvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY29va2llLXBhcnNl
ci5odG1sOiBBZG9wdCBuZXcgY29va2llIGZpZWxkIGFjY2Vzc29ycy4KKwogMjAxMi0xMi0xMiAg
S3VuaWhpa28gU2FrYW1vdG8gIDxrc2FrYW1vdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1p
bGxpc2Vjb25kcyBmaWVsZCBvZiBkYXRlL3RpbWUgaW5wdXQgVUkgc2hvdWxkIHJlc3BlY3Qgc3Rl
cCBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb29raWUtcGFy
c2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29va2llLXBhcnNlci5odG1sCmluZGV4
IDVmYjA0YmRjYmI1MzU1NWM5ZmJlNDRlYzJiNGEzYWZmZDc1OWMyZTEuLjAxM2IxODI4NTliNDU3
N2MzZTQ1MmU4OTIwYWU0MjA0Mzc3MjBjMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb29raWUtcGFyc2VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nvb2tp
ZS1wYXJzZXIuaHRtbApAQCAtMTEsNyArMTEsNyBAQCBJbnNwZWN0b3JUZXN0LmR1bXBDb29raWUg
PSBmdW5jdGlvbihjb29raWUpCiAgICAgdmFyIHJlcXVlc3REYXRlID0gbmV3IERhdGUoIk1vbiBP
Y3QgMTggMjAxMCAxNzowMDowMCBHTVQrMDAwMCIpOwogICAgIHZhciBleHBpcmVzID0gY29va2ll
LmV4cGlyZXNEYXRlKHJlcXVlc3REYXRlKTsKIAotICAgIHZhciBvdXRwdXQgPSAibmFtZTogIiAr
IGNvb2tpZS5uYW1lICsgIiwgdmFsdWU6ICIgKyBjb29raWUudmFsdWUgKyAiLCBodHRwT25seTog
IiArIGNvb2tpZS5odHRwT25seSgpICsKKyAgICB2YXIgb3V0cHV0ID0gIm5hbWU6ICIgKyBjb29r
aWUubmFtZSgpICsgIiwgdmFsdWU6ICIgKyBjb29raWUudmFsdWUoKSArICIsIGh0dHBPbmx5OiAi
ICsgY29va2llLmh0dHBPbmx5KCkgKwogICAgICAgICAiLCBzZWN1cmU6ICIgKyBjb29raWUuc2Vj
dXJlKCkgKyAiLCBzZXNzaW9uOiAiICsgY29va2llLnNlc3Npb24oKSArICIsIHBhdGg6ICIgKyBj
b29raWUucGF0aCgpICsKICAgICAgICAgIiwgZG9tYWluOiAiICsgY29va2llLmRvbWFpbigpICsg
IiwgcG9ydDogIiArIGNvb2tpZS5wb3J0KCkgKwogICAgICAgICAiLCBleHBpcmVzOiAiICsgKGV4
cGlyZXMgPyBleHBpcmVzLmdldFRpbWUoKSA6ICJuL2EiKSArCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179244</attachid>
            <date>2012-12-13 03:32:53 -0800</date>
            <delta_ts>2012-12-13 05:06:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104893-20121213153012.patch</filename>
            <type>text/plain</type>
            <size>18100</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3MDJiMjI0NmJmMjAx
OTg0MTE3MWFjOGJkMjczZmJhMzk1YzA1OS4uZDg5YTgwYThjZjAxMDYyYTgwOTUyYWQ1NDk4MDg0
NjM2MzcwOTAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEyLTEzICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IE5ldHdvcms6IFNvcnRpbmcgY29va2llcyBieSBzaXplIGlzIGJyb2tlbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDg5MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb2JsZW06IGNvb2tp
ZSAic2l6ZSIgaXMgbm90IGEgZmllbGQgbm93OyBpdHMgdmFsdWUgaXMgYWNjZXNzaWJsZQorICAg
ICAgICB0aHJvdWdoIGdldHRlciBtZXRob2QuCisKKyAgICAgICAgU29sdXRpb246IG1ha2UgY29v
a2llIGZpZWxkcyB1bmlmb3JtbHkgYWNjZXNzaWJsZSAoYWRkIGdldHRlcnMgZm9yIG5hbWUsCisg
ICAgICAgIHR5cGUgYW5kIHZhbHVlKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
Q29va2llSXRlbXNWaWV3LmpzOiBBZG9wdCBjaGFuZ2VzLgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQ29va2llUGFyc2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZSk6
IFJlZmluZSBKc0RvYy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlLm5h
bWUpOiBBZGRlZCBnZXR0ZXIuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlw
ZS52YWx1ZSk6IERpdHRvLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUu
dHlwZSk6IERpdHRvLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZXMuYnVpbGRDb29raWVz
RnJvbVN0cmluZyk6IEFkb3B0IGNoYW5nZXMuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2ll
cy5idWlsZENvb2tpZVByb3RvY29sT2JqZWN0KTogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Db29raWVzVGFibGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2ll
c1RhYmxlKTogUmVtb3ZlIHVudXNlZCBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29va2llc1RhYmxlLnByb3RvdHlwZS5fc29ydENvb2tpZXMpOgorICAgICAgICBVc2UgZ2V0dGVy
cyBpbnN0ZWFkIG9mIGZpZWxkIG5hbWVzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZXNU
YWJsZS5wcm90b3R5cGUuX2NyZWF0ZUdyaWROb2RlKTogQWRvcHQgY2hhbmdlcy4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hBUkVudHJ5LmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RDb29raWVzVmlldy5qczogRGl0dG8uCisKIDIwMTItMTIt
MTMgIEJ5dW5nd29vIExlZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxd
IFJlbW92ZSByZWR1bmRhbnQgcGlwZSB3cml0ZSB0byBwcmV2ZW50IHBpcGUgYnVmZmVyIGZ1bGwu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0
ZW1zVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRl
bXNWaWV3LmpzCmluZGV4IDMxZGI2ZjUwNGY4NzJlZmNiNzE3NzA0OTllZTNhOTE3M2M0ZDFiNGEu
LmRhOTkxYTFhODM5MWQ2MmVkYmQ3ZjlkMDliYmQ0Njg4NTIwYzhjMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzCkBA
IC05Miw3ICs5Miw3IEBAIFdlYkluc3BlY3Rvci5Db29raWVJdGVtc1ZpZXcucHJvdG90eXBlID0g
ewogICAgICAgICB9CiAKICAgICAgICAgaWYgKCF0aGlzLl9jb29raWVzVGFibGUpCi0gICAgICAg
ICAgICB0aGlzLl9jb29raWVzVGFibGUgPSBpc0FkdmFuY2VkID8gbmV3IFdlYkluc3BlY3Rvci5D
b29raWVzVGFibGUodGhpcy5fY29va2llRG9tYWluLCBmYWxzZSwgdGhpcy5fZGVsZXRlQ29va2ll
LmJpbmQodGhpcyksIHRoaXMuX3VwZGF0ZS5iaW5kKHRoaXMpKSA6IG5ldyBXZWJJbnNwZWN0b3Iu
U2ltcGxlQ29va2llc1RhYmxlKCk7CisgICAgICAgICAgICB0aGlzLl9jb29raWVzVGFibGUgPSBp
c0FkdmFuY2VkID8gbmV3IFdlYkluc3BlY3Rvci5Db29raWVzVGFibGUoZmFsc2UsIHRoaXMuX2Rl
bGV0ZUNvb2tpZS5iaW5kKHRoaXMpLCB0aGlzLl91cGRhdGUuYmluZCh0aGlzKSkgOiBuZXcgV2Vi
SW5zcGVjdG9yLlNpbXBsZUNvb2tpZXNUYWJsZSgpOwogCiAgICAgICAgIHRoaXMuX2Nvb2tpZXNU
YWJsZS5zZXRDb29raWVzKHRoaXMuX2Nvb2tpZXMpOwogICAgICAgICB0aGlzLl9lbXB0eVZpZXcu
ZGV0YWNoKCk7CkBAIC0xMzksMTEgKzEzOSwxMSBAQCBXZWJJbnNwZWN0b3IuQ29va2llSXRlbXNW
aWV3LnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuQ29va2llfSBjb29raWUKKyAgICAgKiBAcGFyYW0geyFXZWJJbnNwZWN0b3IuQ29v
a2llfSBjb29raWUKICAgICAgKi8KICAgICBfZGVsZXRlQ29va2llOiBmdW5jdGlvbihjb29raWUp
CiAgICAgewotICAgICAgICBQYWdlQWdlbnQuZGVsZXRlQ29va2llKGNvb2tpZS5uYW1lLCB0aGlz
Ll9jb29raWVEb21haW4pOworICAgICAgICBQYWdlQWdlbnQuZGVsZXRlQ29va2llKGNvb2tpZS5u
YW1lKCksIHRoaXMuX2Nvb2tpZURvbWFpbik7CiAgICAgICAgIHRoaXMuX3VwZGF0ZSgpOwogICAg
IH0sCiAKQEAgLTE5OCwxMiArMTk4LDEyIEBAIFdlYkluc3BlY3Rvci5TaW1wbGVDb29raWVzVGFi
bGUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLnJlbW92
ZUNoaWxkcmVuKCk7CiAgICAgICAgIHZhciBhZGRlZENvb2tpZXMgPSB7fTsKICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBjb29raWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAo
YWRkZWRDb29raWVzW2Nvb2tpZXNbaV0ubmFtZV0pCisgICAgICAgICAgICBpZiAoYWRkZWRDb29r
aWVzW2Nvb2tpZXNbaV0ubmFtZSgpXSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIGFkZGVkQ29va2llc1tjb29raWVzW2ldLm5hbWVdID0gdHJ1ZTsKKyAgICAgICAgICAg
IGFkZGVkQ29va2llc1tjb29raWVzW2ldLm5hbWUoKV0gPSB0cnVlOwogICAgICAgICAgICAgdmFy
IGRhdGEgPSB7fTsKLSAgICAgICAgICAgIGRhdGFbMF0gPSBjb29raWVzW2ldLm5hbWU7Ci0gICAg
ICAgICAgICBkYXRhWzFdID0gY29va2llc1tpXS52YWx1ZTsKKyAgICAgICAgICAgIGRhdGFbMF0g
PSBjb29raWVzW2ldLm5hbWUoKTsKKyAgICAgICAgICAgIGRhdGFbMV0gPSBjb29raWVzW2ldLnZh
bHVlKCk7CiAKICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZE5vZGUoZGF0YSwgZmFsc2UpOwogICAgICAgICAgICAgbm9kZS5zZWxlY3RhYmxlID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llUGFy
c2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVQYXJzZXIu
anMKaW5kZXggMDA1NzZkMjAwYzliZmM3ZGFkMzVmZTg2NDk0MmIxY2Q1OGY0ZDhhNC4uMjY4NGRj
OWFjMmQ5YTZlYzdlMWFkY2QwNTJkY2E0ODk3YTZlZGYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVQYXJzZXIuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVQYXJzZXIuanMKQEAgLTE2Miw4ICsxNjIs
OCBAQCBXZWJJbnNwZWN0b3IuQ29va2llUGFyc2VyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAg
ICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ29va2llUGFyc2VyLktleVZhbHVl
fSBrZXlWYWx1ZQotICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlCisgICAgICogQHBhcmFtIHsh
V2ViSW5zcGVjdG9yLkNvb2tpZVBhcnNlci5LZXlWYWx1ZX0ga2V5VmFsdWUKKyAgICAgKiBAcGFy
YW0geyFXZWJJbnNwZWN0b3IuQ29va2llLlR5cGV9IHR5cGUKICAgICAgKi8KICAgICBfYWRkQ29v
a2llOiBmdW5jdGlvbihrZXlWYWx1ZSwgdHlwZSkKICAgICB7CkBAIC0yMDAsMjAgKzIwMCw0NCBA
QCBXZWJJbnNwZWN0b3IuQ29va2llUGFyc2VyLnBhcnNlU2V0Q29va2llID0gZnVuY3Rpb24oaGVh
ZGVyKQogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZQogICogQHBhcmFt
IHtzdHJpbmd9IHZhbHVlCi0gKiBAcGFyYW0ge251bWJlcj19IHR5cGUKKyAqIEBwYXJhbSB7P1dl
Ykluc3BlY3Rvci5Db29raWUuVHlwZX0gdHlwZQogICovCiBXZWJJbnNwZWN0b3IuQ29va2llID0g
ZnVuY3Rpb24obmFtZSwgdmFsdWUsIHR5cGUpCiB7Ci0gICAgdGhpcy5uYW1lID0gbmFtZTsKLSAg
ICB0aGlzLnZhbHVlID0gdmFsdWU7Ci0gICAgdGhpcy50eXBlID0gdHlwZTsKKyAgICB0aGlzLl9u
YW1lID0gbmFtZTsKKyAgICB0aGlzLl92YWx1ZSA9IHZhbHVlOworICAgIHRoaXMuX3R5cGUgPSB0
eXBlOwogICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSB7fTsKIH0KIAogV2ViSW5zcGVjdG9yLkNvb2tp
ZS5wcm90b3R5cGUgPSB7CiAgICAgLyoqCisgICAgICogQHJldHVybiB7c3RyaW5nfQorICAgICAq
LworICAgIG5hbWU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9uYW1l
OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisg
ICAgdmFsdWU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTsK
KyAgICB9LAorCisgICAgLyoqCisgICAgICogQHJldHVybiB7P1dlYkluc3BlY3Rvci5Db29raWUu
VHlwZX0KKyAgICAgKi8KKyAgICB0eXBlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fdHlwZTsKKyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHJldHVybiB7Ym9vbGVh
bn0KLSAgICAgKi8gCisgICAgICovCiAgICAgaHR0cE9ubHk6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiAiaHR0cG9ubHkiIGluIHRoaXMuX2F0dHJpYnV0ZXM7CkBAIC0yMjEsNyAr
MjQ1LDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAg
ICAgKiBAcmV0dXJuIHtib29sZWFufQotICAgICAqLyAKKyAgICAgKi8KICAgICBzZWN1cmU6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiAic2VjdXJlIiBpbiB0aGlzLl9hdHRyaWJ1
dGVzOwpAQCAtMjI5LDcgKzI1Myw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0g
ewogCiAgICAgLyoqCiAgICAgICogQHJldHVybiB7Ym9vbGVhbn0KLSAgICAgKi8gCisgICAgICov
CiAgICAgc2Vzc2lvbjogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgLy8gUkZDIDI5NjUgc3Vn
Z2VzdHMgdXNpbmcgRGlzY2FyZCBhdHRyaWJ1dGUgdG8gbWFyayBzZXNzaW9uIGNvb2tpZXMsIGJ1
dCB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgd2lkZWx5IHVzZWQuCkBAIC0yMzksNyArMjYzLDcg
QEAgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBA
cmV0dXJuIHtzdHJpbmd9Ci0gICAgICovIAorICAgICAqLwogICAgIHBhdGg6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzWyJwYXRoIl07CkBAIC0yNDcs
NyArMjcxLDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioK
ICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9Ci0gICAgICovIAorICAgICAqLwogICAgIHBvcnQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzWyJwb3J0Il07
CkBAIC0yNTUsNyArMjc5LDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAK
ICAgICAvKioKICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9Ci0gICAgICovIAorICAgICAqLwogICAg
IGRvbWFpbjogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0
ZXNbImRvbWFpbiJdOwpAQCAtMjYzLDcgKzI4Nyw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJv
dG90eXBlID0gewogCiAgICAgLyoqCiAgICAgICogQHJldHVybiB7c3RyaW5nfQotICAgICAqLyAK
KyAgICAgKi8KICAgICBleHBpcmVzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy5fYXR0cmlidXRlc1siZXhwaXJlcyJdOwpAQCAtMjcxLDcgKzI5NSw3IEBAIFdlYkluc3Bl
Y3Rvci5Db29raWUucHJvdG90eXBlID0gewogCiAgICAgLyoqCiAgICAgICogQHJldHVybiB7c3Ry
aW5nfQotICAgICAqLyAKKyAgICAgKi8KICAgICBtYXhBZ2U6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzWyJtYXgtYWdlIl07CkBAIC0yNzksNyArMzAz
LDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAg
KiBAcmV0dXJuIHtudW1iZXJ9Ci0gICAgICovIAorICAgICAqLwogICAgIHNpemU6IGZ1bmN0aW9u
KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zaXplOwpAQCAtMjg3LDcgKzMxMSw3IEBA
IFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0gewogCiAgICAgLyoqCiAgICAgICogQHBh
cmFtIHtudW1iZXJ9IHNpemUKLSAgICAgKi8gCisgICAgICovCiAgICAgc2V0U2l6ZTogZnVuY3Rp
b24oc2l6ZSkKICAgICB7CiAgICAgICAgIHRoaXMuX3NpemUgPSBzaXplOwpAQCAtMjk1LDcgKzMx
OSw3IEBAIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlID0gewogCiAgICAgLyoqCiAgICAg
ICogQHJldHVybiB7RGF0ZX0KLSAgICAgKi8gCisgICAgICovCiAgICAgZXhwaXJlc0RhdGU6IGZ1
bmN0aW9uKHJlcXVlc3REYXRlKQogICAgIHsKICAgICAgICAgLy8gUkZDIDYyNjUgaW5kaWNhdGVz
IHRoYXQgdGhlIG1heC1hZ2UgYXR0cmlidXRlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgZXhw
aXJlcyBhdHRyaWJ1dGUKQEAgLTMxMiw3ICszMzYsNyBAQCBXZWJJbnNwZWN0b3IuQ29va2llLnBy
b3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAqIEByZXR1cm4ge09iamVjdH0KLSAgICAgKi8g
CisgICAgICovCiAgICAgYXR0cmlidXRlczogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHRoaXMuX2F0dHJpYnV0ZXM7CkBAIC0zMjEsMTMgKzM0NSwxNiBAQCBXZWJJbnNwZWN0b3Iu
Q29va2llLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5
IAogICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gdmFsdWUgCi0gICAgICovIAorICAgICAqLwogICAg
IGFkZEF0dHJpYnV0ZTogZnVuY3Rpb24oa2V5LCB2YWx1ZSkKICAgICB7CiAgICAgICAgIHRoaXMu
X2F0dHJpYnV0ZXNba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsdWU7CiAgICAgfQogfQogCisvKioK
KyAqIEBlbnVtIHtudW1iZXJ9CisgKi8KIFdlYkluc3BlY3Rvci5Db29raWUuVHlwZSA9IHsKICAg
ICBSZXF1ZXN0OiAwLAogICAgIFJlc3BvbnNlOiAxCkBAIC0zNTcsOCArMzg0LDggQEAgV2ViSW5z
cGVjdG9yLkNvb2tpZXMuZ2V0Q29va2llc0FzeW5jID0gZnVuY3Rpb24oY2FsbGJhY2spCiAKIC8q
KgogICogQHBhcmFtIHtzdHJpbmd9IHJhd0Nvb2tpZVN0cmluZyAKLSAqIEByZXR1cm4ge0FycmF5
LjxXZWJJbnNwZWN0b3IuQ29va2llPn0gCi0gKi8gCisgKiBAcmV0dXJuIHtBcnJheS48V2ViSW5z
cGVjdG9yLkNvb2tpZT59CisgKi8KIFdlYkluc3BlY3Rvci5Db29raWVzLmJ1aWxkQ29va2llc0Zy
b21TdHJpbmcgPSBmdW5jdGlvbihyYXdDb29raWVTdHJpbmcpCiB7CiAgICAgdmFyIHJhd0Nvb2tp
ZXMgPSByYXdDb29raWVTdHJpbmcuc3BsaXQoLztccyovKTsKQEAgLTM3MSw3ICszOTgsNyBAQCBX
ZWJJbnNwZWN0b3IuQ29va2llcy5idWlsZENvb2tpZXNGcm9tU3RyaW5nID0gZnVuY3Rpb24ocmF3
Q29va2llU3RyaW5nKQogICAgICAgICAgICAgdmFyIG5hbWUgPSByYXdDb29raWUuc3Vic3RyaW5n
KDAsIGRlbGltSW5kZXgpOwogICAgICAgICAgICAgdmFyIHZhbHVlID0gcmF3Q29va2llLnN1YnN0
cmluZyhkZWxpbUluZGV4ICsgMSk7CiAgICAgICAgICAgICB2YXIgc2l6ZSA9IG5hbWUubGVuZ3Ro
ICsgdmFsdWUubGVuZ3RoOwotICAgICAgICAgICAgdmFyIGNvb2tpZSA9IG5ldyBXZWJJbnNwZWN0
b3IuQ29va2llKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgICAgIHZhciBjb29raWUgPSBuZXcgV2Vi
SW5zcGVjdG9yLkNvb2tpZShuYW1lLCB2YWx1ZSwgbnVsbCk7CiAgICAgICAgICAgICBjb29raWUu
c2V0U2l6ZShzaXplKTsKICAgICAgICAgICAgIGNvb2tpZXMucHVzaChjb29raWUpOwogICAgICAg
ICB9CkBAIC0zODEsMTIgKzQwOCwxMiBAQCBXZWJJbnNwZWN0b3IuQ29va2llcy5idWlsZENvb2tp
ZXNGcm9tU3RyaW5nID0gZnVuY3Rpb24ocmF3Q29va2llU3RyaW5nKQogfQogCiAvKioKLSAqIEBw
YXJhbSB7T2JqZWN0fSBwcm90b2NvbENvb2tpZSAKLSAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5D
b29raWV9IAotICovIAorICogQHBhcmFtIHtPYmplY3R9IHByb3RvY29sQ29va2llCisgKiBAcmV0
dXJuIHshV2ViSW5zcGVjdG9yLkNvb2tpZX0KKyAqLwogV2ViSW5zcGVjdG9yLkNvb2tpZXMuYnVp
bGRDb29raWVQcm90b2NvbE9iamVjdCA9IGZ1bmN0aW9uKHByb3RvY29sQ29va2llKQogewotICAg
IHZhciBjb29raWUgPSBuZXcgV2ViSW5zcGVjdG9yLkNvb2tpZShwcm90b2NvbENvb2tpZS5uYW1l
LCBwcm90b2NvbENvb2tpZS52YWx1ZSk7CisgICAgdmFyIGNvb2tpZSA9IG5ldyBXZWJJbnNwZWN0
b3IuQ29va2llKHByb3RvY29sQ29va2llLm5hbWUsIHByb3RvY29sQ29va2llLnZhbHVlLCBudWxs
KTsKICAgICBjb29raWUuYWRkQXR0cmlidXRlKCJkb21haW4iLCBwcm90b2NvbENvb2tpZVsiZG9t
YWluIl0pOwogICAgIGNvb2tpZS5hZGRBdHRyaWJ1dGUoInBhdGgiLCBwcm90b2NvbENvb2tpZVsi
cGF0aCJdKTsKICAgICBjb29raWUuYWRkQXR0cmlidXRlKCJwb3J0IiwgcHJvdG9jb2xDb29raWVb
InBvcnQiXSk7CkBAIC00MDMsNyArNDMwLDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZXMuYnVpbGRD
b29raWVQcm90b2NvbE9iamVjdCA9IGZ1bmN0aW9uKHByb3RvY29sQ29va2llKQogLyoqCiAgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5Db29raWV9IGNvb2tpZSAKICAqIEBwYXJhbSB7c3RyaW5nfSBy
ZXNvdXJjZVVSTAotICovIAorICovCiBXZWJJbnNwZWN0b3IuQ29va2llcy5jb29raWVNYXRjaGVz
UmVzb3VyY2VVUkwgPSBmdW5jdGlvbihjb29raWUsIHJlc291cmNlVVJMKQogewogICAgIHZhciB1
cmwgPSByZXNvdXJjZVVSTC5hc1BhcnNlZFVSTCgpOwpAQCAtNDE3LDcgKzQ0NCw3IEBAIFdlYklu
c3BlY3Rvci5Db29raWVzLmNvb2tpZU1hdGNoZXNSZXNvdXJjZVVSTCA9IGZ1bmN0aW9uKGNvb2tp
ZSwgcmVzb3VyY2VVUkwpCiAvKioKICAqIEBwYXJhbSB7c3RyaW5nfSBjb29raWVEb21haW4gCiAg
KiBAcGFyYW0ge3N0cmluZ30gcmVzb3VyY2VEb21haW4KLSAqLyAKKyAqLwogV2ViSW5zcGVjdG9y
LkNvb2tpZXMuY29va2llRG9tYWluTWF0Y2hlc1Jlc291cmNlRG9tYWluID0gZnVuY3Rpb24oY29v
a2llRG9tYWluLCByZXNvdXJjZURvbWFpbikKIHsKICAgICBpZiAoY29va2llRG9tYWluLmNoYXJB
dCgwKSAhPT0gJy4nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db29raWVzVGFibGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0Nvb2tpZXNUYWJsZS5qcwppbmRleCBlMzEyYzM2MjlhYTdmNzdjOTlmYmUzNjBhYzg0MjQ2NTgz
Yzc3NjI0Li4wMjQ1N2FhYTNlMWRmZDFiZTU4NTU0MjE1YmI2ZjEyMGY1M2ZmNDNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZXNUYWJsZS5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZXNUYWJsZS5qcwpA
QCAtMzEsMTYgKzMxLDE1IEBACiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1dl
Ykluc3BlY3Rvci5WaWV3fQotICogQHBhcmFtIHtmdW5jdGlvbihXZWJJbnNwZWN0b3IuQ29va2ll
KT19IGRlbGV0ZUNhbGxiYWNrCisgKiBAcGFyYW0ge2Jvb2xlYW59IGV4cGFuZGFibGUKKyAqIEBw
YXJhbSB7ZnVuY3Rpb24oIVdlYkluc3BlY3Rvci5Db29raWUpPX0gZGVsZXRlQ2FsbGJhY2sKICAq
IEBwYXJhbSB7ZnVuY3Rpb24oKT19IHJlZnJlc2hDYWxsYmFjawogICovCi1XZWJJbnNwZWN0b3Iu
Q29va2llc1RhYmxlID0gZnVuY3Rpb24oY29va2llRG9tYWluLCBleHBhbmRhYmxlLCBkZWxldGVD
YWxsYmFjaywgcmVmcmVzaENhbGxiYWNrKQorV2ViSW5zcGVjdG9yLkNvb2tpZXNUYWJsZSA9IGZ1
bmN0aW9uKGV4cGFuZGFibGUsIGRlbGV0ZUNhbGxiYWNrLCByZWZyZXNoQ2FsbGJhY2spCiB7CiAg
ICAgV2ViSW5zcGVjdG9yLlZpZXcuY2FsbCh0aGlzKTsKICAgICB0aGlzLmVsZW1lbnQuY2xhc3NO
YW1lID0gImZpbGwiOwogCi0gICAgdGhpcy5fY29va2llRG9tYWluID0gY29va2llRG9tYWluOwot
CiAgICAgdmFyIGNvbHVtbnMgPSB7IDA6IHt9LCAxOiB7fSwgMjoge30sIDM6IHt9LCA0OiB7fSwg
NToge30sIDY6IHt9LCA3OiB7fSB9OwogICAgIGNvbHVtbnNbMF0udGl0bGUgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIk5hbWUiKTsKICAgICBjb2x1bW5zWzBdLnNvcnRhYmxlID0gdHJ1ZTsKQEAg
LTEyNyw4ICsxMjYsOCBAQCBXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlLnByb3RvdHlwZSA9IHsK
ICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRGF0YUdyaWRO
b2RlfSBwYXJlbnROb2RlCi0gICAgICogQHBhcmFtIHtBcnJheS48V2ViSW5zcGVjdG9yLkNvb2tp
ZT59IGNvb2tpZXMKKyAgICAgKiBAcGFyYW0geyFXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlfSBw
YXJlbnROb2RlCisgICAgICogQHBhcmFtIHs/QXJyYXkuPCFXZWJJbnNwZWN0b3IuQ29va2llPn0g
Y29va2llcwogICAgICAqLwogICAgIF9wb3B1bGF0ZU5vZGU6IGZ1bmN0aW9uKHBhcmVudE5vZGUs
IGNvb2tpZXMpCiAgICAgewpAQCAtMTU0LDE4ICsxNTMsMjEgQEAgV2ViSW5zcGVjdG9yLkNvb2tp
ZXNUYWJsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0b3RhbFNpemU7CiAgICAgfSwK
IAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7IUFycmF5LjwhV2ViSW5zcGVjdG9yLkNvb2tpZT59
IGNvb2tpZXMKKyAgICAgKi8KICAgICBfc29ydENvb2tpZXM6IGZ1bmN0aW9uKGNvb2tpZXMpCiAg
ICAgewogICAgICAgICB2YXIgc29ydERpcmVjdGlvbiA9IHRoaXMuX2RhdGFHcmlkLnNvcnRPcmRl
ciA9PT0gImFzY2VuZGluZyIgPyAxIDogLTE7CiAKLSAgICAgICAgZnVuY3Rpb24gbG9jYWxlQ29t
cGFyZShmaWVsZCwgY29va2llMSwgY29va2llMikKKyAgICAgICAgZnVuY3Rpb24gbG9jYWxlQ29t
cGFyZShnZXR0ZXIsIGNvb2tpZTEsIGNvb2tpZTIpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBzb3J0RGlyZWN0aW9uICogKGNvb2tpZTFbZmllbGRdICsgIiIpLmxvY2FsZUNvbXBhcmUo
Y29va2llMltmaWVsZF0gKyAiIikKKyAgICAgICAgICAgIHJldHVybiBzb3J0RGlyZWN0aW9uICog
KGdldHRlci5hcHBseShjb29raWUxKSArICIiKS5sb2NhbGVDb21wYXJlKGdldHRlci5hcHBseShj
b29raWUyKSArICIiKQogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gbnVtYmVyQ29tcGFy
ZShmaWVsZCwgY29va2llMSwgY29va2llMikKKyAgICAgICAgZnVuY3Rpb24gbnVtYmVyQ29tcGFy
ZShnZXR0ZXIsIGNvb2tpZTEsIGNvb2tpZTIpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biBzb3J0RGlyZWN0aW9uICogKGNvb2tpZTFbZmllbGRdIC0gY29va2llMltmaWVsZF0pOworICAg
ICAgICAgICAgcmV0dXJuIHNvcnREaXJlY3Rpb24gKiAoZ2V0dGVyLmFwcGx5KGNvb2tpZTEpIC0g
Z2V0dGVyLmFwcGx5KGNvb2tpZTIpKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGV4
cGlyZXNDb21wYXJlKGNvb2tpZTEsIGNvb2tpZTIpCkBAIC0xODUsMzEgKzE4NywzMiBAQCBXZWJJ
bnNwZWN0b3IuQ29va2llc1RhYmxlLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgY29tcGFy
YXRvcjsKICAgICAgICAgc3dpdGNoIChwYXJzZUludCh0aGlzLl9kYXRhR3JpZC5zb3J0Q29sdW1u
SWRlbnRpZmllciwgMTApKSB7Ci0gICAgICAgICAgICBjYXNlIDA6IGNvbXBhcmF0b3IgPSBsb2Nh
bGVDb21wYXJlLmJpbmQodGhpcywgIm5hbWUiKTsgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDE6
IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJlLmJpbmQodGhpcywgInZhbHVlIik7IGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAyOiBjb21wYXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKHRoaXMs
ICJkb21haW4iKTsgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDM6IGNvbXBhcmF0b3IgPSBsb2Nh
bGVDb21wYXJlLmJpbmQodGhpcywgInBhdGgiKTsgYnJlYWs7CisgICAgICAgICAgICBjYXNlIDA6
IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJlLmJpbmQobnVsbCwgV2ViSW5zcGVjdG9yLkNvb2tp
ZS5wcm90b3R5cGUubmFtZSk7IGJyZWFrOworICAgICAgICAgICAgY2FzZSAxOiBjb21wYXJhdG9y
ID0gbG9jYWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBl
LnZhbHVlKTsgYnJlYWs7CisgICAgICAgICAgICBjYXNlIDI6IGNvbXBhcmF0b3IgPSBsb2NhbGVD
b21wYXJlLmJpbmQobnVsbCwgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUuZG9tYWluKTsg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIDM6IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJlLmJp
bmQobnVsbCwgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUucGF0aCk7IGJyZWFrOwogICAg
ICAgICAgICAgY2FzZSA0OiBjb21wYXJhdG9yID0gZXhwaXJlc0NvbXBhcmU7IGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSA1OiBjb21wYXJhdG9yID0gbnVtYmVyQ29tcGFyZS5iaW5kKHRoaXMsICJz
aXplIik7IGJyZWFrOwotICAgICAgICAgICAgY2FzZSA2OiBjb21wYXJhdG9yID0gbG9jYWxlQ29t
cGFyZS5iaW5kKHRoaXMsICJodHRwT25seSIpOyBicmVhazsKLSAgICAgICAgICAgIGNhc2UgNzog
Y29tcGFyYXRvciA9IGxvY2FsZUNvbXBhcmUuYmluZCh0aGlzLCAic2VjdXJlIik7IGJyZWFrOwot
ICAgICAgICAgICAgZGVmYXVsdDogbG9jYWxlQ29tcGFyZS5iaW5kKHRoaXMsICJuYW1lIik7Cisg
ICAgICAgICAgICBjYXNlIDU6IGNvbXBhcmF0b3IgPSBudW1iZXJDb21wYXJlLmJpbmQobnVsbCwg
V2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUuc2l6ZSk7IGJyZWFrOworICAgICAgICAgICAg
Y2FzZSA2OiBjb21wYXJhdG9yID0gbG9jYWxlQ29tcGFyZS5iaW5kKG51bGwsIFdlYkluc3BlY3Rv
ci5Db29raWUucHJvdG90eXBlLmh0dHBPbmx5KTsgYnJlYWs7CisgICAgICAgICAgICBjYXNlIDc6
IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJlLmJpbmQobnVsbCwgV2ViSW5zcGVjdG9yLkNvb2tp
ZS5wcm90b3R5cGUuc2VjdXJlKTsgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OiBsb2NhbGVD
b21wYXJlLmJpbmQobnVsbCwgV2ViSW5zcGVjdG9yLkNvb2tpZS5wcm90b3R5cGUubmFtZSk7CiAg
ICAgICAgIH0KIAogICAgICAgICBjb29raWVzLnNvcnQoY29tcGFyYXRvcik7CiAgICAgfSwKIAog
ICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvb2tpZX0gY29va2llCisgICAg
ICogQHBhcmFtIHshV2ViSW5zcGVjdG9yLkNvb2tpZX0gY29va2llCisgICAgICogQHJldHVybiB7
IVdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGV9CiAgICAgICovCiAgICAgX2NyZWF0ZUdyaWROb2Rl
OiBmdW5jdGlvbihjb29raWUpCiAgICAgewogICAgICAgICB2YXIgZGF0YSA9IHt9OwotICAgICAg
ICBkYXRhWzBdID0gY29va2llLm5hbWU7Ci0gICAgICAgIGRhdGFbMV0gPSBjb29raWUudmFsdWU7
CisgICAgICAgIGRhdGFbMF0gPSBjb29raWUubmFtZSgpOworICAgICAgICBkYXRhWzFdID0gY29v
a2llLnZhbHVlKCk7CiAgICAgICAgIGRhdGFbMl0gPSBjb29raWUuZG9tYWluKCkgfHwgIiI7CiAg
ICAgICAgIGRhdGFbM10gPSBjb29raWUucGF0aCgpIHx8ICIiOwotICAgICAgICBpZiAoY29va2ll
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db29raWUuVHlwZS5SZXF1ZXN0KQorICAgICAgICBpZiAo
Y29va2llLnR5cGUoKSA9PT0gV2ViSW5zcGVjdG9yLkNvb2tpZS5UeXBlLlJlcXVlc3QpCiAgICAg
ICAgICAgICBkYXRhWzRdID0gIiI7CiAgICAgICAgIGVsc2UgaWYgKGNvb2tpZS5tYXhBZ2UoKSkK
ICAgICAgICAgICAgIGRhdGFbNF0gPSBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHBhcnNlSW50KGNv
b2tpZS5tYXhBZ2UoKSwgMTApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSEFSRW50cnkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hBUkVudHJ5LmpzCmluZGV4IGM3YTgwNTExYjBlOGNlMjZjMWUzMWUyNGFmY2EzMWQxZjVh
OWQ4ZjcuLmM2ZGM0ODgxNzQxODIxZjBiOTkyM2U1MmE4NjkxNTg2ZWQ3YzA4NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcwpAQCAtMjAyLDgg
KzIwMiw4IEBAIFdlYkluc3BlY3Rvci5IQVJFbnRyeS5wcm90b3R5cGUgPSB7CiAgICAgX2J1aWxk
Q29va2llOiBmdW5jdGlvbihjb29raWUpCiAgICAgewogICAgICAgICByZXR1cm4gewotICAgICAg
ICAgICAgbmFtZTogY29va2llLm5hbWUsCi0gICAgICAgICAgICB2YWx1ZTogY29va2llLnZhbHVl
LAorICAgICAgICAgICAgbmFtZTogY29va2llLm5hbWUoKSwKKyAgICAgICAgICAgIHZhbHVlOiBj
b29raWUudmFsdWUoKSwKICAgICAgICAgICAgIHBhdGg6IGNvb2tpZS5wYXRoKCksCiAgICAgICAg
ICAgICBkb21haW46IGNvb2tpZS5kb21haW4oKSwKICAgICAgICAgICAgIGV4cGlyZXM6IGNvb2tp
ZS5leHBpcmVzRGF0ZShuZXcgRGF0ZSh0aGlzLl9yZXF1ZXN0LnN0YXJ0VGltZSAqIDEwMDApKSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdENv
b2tpZXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0
Q29va2llc1ZpZXcuanMKaW5kZXggZTIxZTYxOTk2OTgxZmUyODI4OGVmMDA1ODQ3OTlhYjE1OGQ0
MjY4Yi4uNTIwZDU0YmRmZTY2YmQwYTJhNWNkOGJkOTU2N2RhOTEyY2M4ODlhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0Q29va2llc1ZpZXcu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0Q29va2ll
c1ZpZXcuanMKQEAgLTY4LDcgKzY4LDcgQEAgV2ViSW5zcGVjdG9yLlJlcXVlc3RDb29raWVzVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLmRldGFjaENoaWxkVmlld3MoKTsK
IAotICAgICAgICB0aGlzLl9jb29raWVzVGFibGUgPSBuZXcgV2ViSW5zcGVjdG9yLkNvb2tpZXNU
YWJsZShudWxsLCB0cnVlKTsKKyAgICAgICAgdGhpcy5fY29va2llc1RhYmxlID0gbmV3IFdlYklu
c3BlY3Rvci5Db29raWVzVGFibGUodHJ1ZSk7CiAgICAgICAgIHRoaXMuX2Nvb2tpZXNUYWJsZS5h
ZGRDb29raWVzRm9sZGVyKFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWVzdCBDb29raWVzIiks
IHRoaXMuX3JlcXVlc3QucmVxdWVzdENvb2tpZXMpOwogICAgICAgICB0aGlzLl9jb29raWVzVGFi
bGUuYWRkQ29va2llc0ZvbGRlcihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlc3BvbnNlIENvb2tp
ZXMiKSwgdGhpcy5fcmVxdWVzdC5yZXNwb25zZUNvb2tpZXMpOwogICAgICAgICB0aGlzLl9jb29r
aWVzVGFibGUuc2hvdyh0aGlzLmVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVkZjVhZWQxYTZmOWZjYWNhY2E2
ZTM4MWFiNDdmYzdiMDE5YWMzZjkuLjQ1MjM4OWQwOTU3MjdiNGFhOGYxMzI1Y2QyNzZhNGJiNDcz
YWM5ZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0xMyAgRXVnZW5lIEtseXVjaG5p
a292ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOZXR3
b3JrOiBTb3J0aW5nIGNvb2tpZXMgYnkgc2l6ZSBpcyBicm9rZW4uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ4OTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgY29va2llIGZpZWxkIGFj
Y2Vzc29ycy4KKworICAgICAgICAqIGluc3BlY3Rvci9jb29raWUtcGFyc2VyLmh0bWw6IEFkb3B0
IG5ldyBjb29raWUgZmllbGQgYWNjZXNzb3JzLgorCiAyMDEyLTEyLTEzICBHcnplZ29yeiBDemFq
a293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtNYWNdW1dLMl0g
VW5yZXZpZXdlZCwgc3BlbGxpbmctdW5pZmllZC1lbXVsYXRpb24uaHRtbCBmYWlscyBhZnRlciAx
Mzc1NzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb29raWUtcGFyc2VyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29va2llLXBhcnNlci5odG1sCmluZGV4IDVmYjA0
YmRjYmI1MzU1NWM5ZmJlNDRlYzJiNGEzYWZmZDc1OWMyZTEuLjAxM2IxODI4NTliNDU3N2MzZTQ1
MmU4OTIwYWU0MjA0Mzc3MjBjMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b29raWUtcGFyc2VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nvb2tpZS1wYXJz
ZXIuaHRtbApAQCAtMTEsNyArMTEsNyBAQCBJbnNwZWN0b3JUZXN0LmR1bXBDb29raWUgPSBmdW5j
dGlvbihjb29raWUpCiAgICAgdmFyIHJlcXVlc3REYXRlID0gbmV3IERhdGUoIk1vbiBPY3QgMTgg
MjAxMCAxNzowMDowMCBHTVQrMDAwMCIpOwogICAgIHZhciBleHBpcmVzID0gY29va2llLmV4cGly
ZXNEYXRlKHJlcXVlc3REYXRlKTsKIAotICAgIHZhciBvdXRwdXQgPSAibmFtZTogIiArIGNvb2tp
ZS5uYW1lICsgIiwgdmFsdWU6ICIgKyBjb29raWUudmFsdWUgKyAiLCBodHRwT25seTogIiArIGNv
b2tpZS5odHRwT25seSgpICsKKyAgICB2YXIgb3V0cHV0ID0gIm5hbWU6ICIgKyBjb29raWUubmFt
ZSgpICsgIiwgdmFsdWU6ICIgKyBjb29raWUudmFsdWUoKSArICIsIGh0dHBPbmx5OiAiICsgY29v
a2llLmh0dHBPbmx5KCkgKwogICAgICAgICAiLCBzZWN1cmU6ICIgKyBjb29raWUuc2VjdXJlKCkg
KyAiLCBzZXNzaW9uOiAiICsgY29va2llLnNlc3Npb24oKSArICIsIHBhdGg6ICIgKyBjb29raWUu
cGF0aCgpICsKICAgICAgICAgIiwgZG9tYWluOiAiICsgY29va2llLmRvbWFpbigpICsgIiwgcG9y
dDogIiArIGNvb2tpZS5wb3J0KCkgKwogICAgICAgICAiLCBleHBpcmVzOiAiICsgKGV4cGlyZXMg
PyBleHBpcmVzLmdldFRpbWUoKSA6ICJuL2EiKSArCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>