<?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>155375</bug_id>
          
          <creation_ts>2016-03-11 12:40:24 -0800</creation_ts>
          <short_desc>[ES6] Make Object.assign spec compliant</short_desc>
          <delta_ts>2016-06-06 20:47:54 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1173824</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-11 12:40:24 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173890</commentid>
    <comment_count>1</comment_count>
      <attachid>273774</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-11 15:06:19 -0800</bug_when>
    <thetext>Created attachment 273774
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173891</commentid>
    <comment_count>2</comment_count>
      <attachid>273775</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-11 15:08:34 -0800</bug_when>
    <thetext>Created attachment 273775
patch

more tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173894</commentid>
    <comment_count>3</comment_count>
      <attachid>273775</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-03-11 15:12:55 -0800</bug_when>
    <thetext>Comment on attachment 273775
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173906</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-11 15:48:58 -0800</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/198052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199884</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-06-06 20:47:54 -0700</bug_when>
    <thetext>*** Bug 154369 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273774</attachid>
            <date>2016-03-11 15:06:19 -0800</date>
            <delta_ts>2016-03-11 15:08:34 -0800</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>10964</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk4MDQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDE2LTAzLTExICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFtFUzZdIE1ha2UgT2JqZWN0LmFzc2lnbiBzcGVjIGNvbXBsaWFudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1Mzc1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHN0cmFpZ2h0IGZvcndh
cmQgaW1wbGVtZW50YXRpb24gb2YgT2JqZWN0LmFzc2lnbgorICAgICAgICBpbiB0aGUgc3BlYy4K
KyAgICAgICAgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtb2JqZWN0LmFzc2ln
bgorICAgICAgICBCZWZvcmUsIHdlcmVuJ3QgcGVyZm9ybWluZyBhbGwgb2YgdGhlIHNwZWNpZmll
ZCBvcGVyYXRpb25zLgorICAgICAgICBOb3csIHdlIGFyZS4KKworICAgICAgICAqIGJ1aWx0aW5z
L09iamVjdENvbnN0cnVjdG9yLmpzOgorICAgICAgICAoYXNzaWduKToKKyAgICAgICAgKiBydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiB0
ZXN0cy9lczYueWFtbDoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0LWFzc2lnbi1jb3Jy
ZWN0bmVzcy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6Cisg
ICAgICAgICh0ZXN0LmxldC5oYW5kbGVyLmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAg
ICAgICh0ZXN0LmxldC5oYW5kbGVyLm93bktleXMpOgorICAgICAgICAodGVzdC5sZXQuaGFuZGxl
ci5nZXQgZ2V0UHJvcHMpOgorICAgICAgICAodGVzdC5sZXQuaGFuZGxlcik6CisKIDIwMTYtMDMt
MTEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBG
dW5jdGlvbi5uYW1lIGFuZCBGdW5jdGlvbiN0b1N0cmluZyBmb3IgRVM2IGNsYXNzLgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09iamVjdENvbnN0cnVjdG9yLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PYmplY3RDb25zdHJ1Y3Rv
ci5qcwkocmV2aXNpb24gMTk4MDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L09iamVjdENvbnN0cnVjdG9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNSArMzAsMTcgQEAg
ZnVuY3Rpb24gYXNzaWduKHRhcmdldC8qWyovLCAvKi4uLiovc291cgogICAgIGlmICh0YXJnZXQg
PT0gbnVsbCkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImNhbid0IGNvbnZlcnQgIiAr
IHRhcmdldCArICIgdG8gb2JqZWN0Iik7CiAKLSAgICB2YXIgb2JqVGFyZ2V0ID0gQE9iamVjdCh0
YXJnZXQpOwotICAgIGZvciAodmFyIHMgPSAxLCBhcmd1bWVudHNMZW5ndGggPSBhcmd1bWVudHMu
bGVuZ3RoOyBzIDwgYXJndW1lbnRzTGVuZ3RoOyArK3MpIHsKLSAgICAgICAgdmFyIG5leHRTb3Vy
Y2UgPSBhcmd1bWVudHNbc107CisgICAgbGV0IG9ialRhcmdldCA9IEBPYmplY3QodGFyZ2V0KTsK
KyAgICBmb3IgKGxldCBzID0gMSwgYXJndW1lbnRzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDsg
cyA8IGFyZ3VtZW50c0xlbmd0aDsgKytzKSB7CisgICAgICAgIGxldCBuZXh0U291cmNlID0gYXJn
dW1lbnRzW3NdOwogICAgICAgICBpZiAobmV4dFNvdXJjZSAhPSBudWxsKSB7Ci0gICAgICAgICAg
ICB2YXIgZnJvbSA9IEBPYmplY3QobmV4dFNvdXJjZSk7Ci0gICAgICAgICAgICB2YXIga2V5cyA9
IEBvd25FbnVtZXJhYmxlUHJvcGVydHlLZXlzKGZyb20pOwotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDAsIGtleXNMZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGtleXNMZW5ndGg7ICsraSkgewot
ICAgICAgICAgICAgICAgIHZhciBuZXh0S2V5ID0ga2V5c1tpXTsKLSAgICAgICAgICAgICAgICBv
YmpUYXJnZXRbbmV4dEtleV0gPSBmcm9tW25leHRLZXldOworICAgICAgICAgICAgbGV0IGZyb20g
PSBAT2JqZWN0KG5leHRTb3VyY2UpOworICAgICAgICAgICAgbGV0IGtleXMgPSBAUmVmbGVjdC5v
d25LZXlzKGZyb20pOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGtleXNMZW5ndGggPSBr
ZXlzLmxlbmd0aDsgaSA8IGtleXNMZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGxldCBu
ZXh0S2V5ID0ga2V5c1tpXTsKKyAgICAgICAgICAgICAgICBsZXQgZGVzY3JpcHRvciA9IEBSZWZs
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmcm9tLCBuZXh0S2V5KTsKKyAgICAgICAgICAg
ICAgICBpZiAoZGVzY3JpcHRvciAhPT0gQHVuZGVmaW5lZCAmJiBkZXNjcmlwdG9yLmVudW1lcmFi
bGUpCisgICAgICAgICAgICAgICAgICAgIG9ialRhcmdldFtuZXh0S2V5XSA9IGZyb21bbmV4dEtl
eV07CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHJldmlzaW9uIDE5
ODA0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxMSw2ICszMTEsNyBAQAogICAgIG1hY3JvKFJlZ0V4cCkg
XAogICAgIG1hY3JvKE1hcCkgXAogICAgIG1hY3JvKFByb21pc2UpIFwKKyAgICBtYWNybyhSZWZs
ZWN0KSBcCiAgICAgbWFjcm8oSW50ZXJuYWxQcm9taXNlKSBcCiAgICAgbWFjcm8oYWJzKSBcCiAg
ICAgbWFjcm8oZmxvb3IpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDE5ODA0NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDg2LDcgKzQ4Niw4IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXIK
ICNlbmRpZiAvLyBFTkFCTEUoSU5UTCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+SlNPTiwgSlNPTk9iamVjdDo6Y3JlYXRlKHZtLCBKU09OT2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSks
IERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+TWF0aCwgTWF0aE9iamVjdDo6Y3JlYXRlKHZtLCB0aGlzLCBNYXRoT2JqZWN0Ojpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+UmVmbGVjdCwgUmVmbGVjdE9iamVjdDo6Y3JlYXRlKHZtLCB0aGlzLCBSZWZsZWN0T2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERv
bnRFbnVtKTsKKyAgICBSZWZsZWN0T2JqZWN0KiByZWZsZWN0T2JqZWN0ID0gUmVmbGVjdE9iamVj
dDo6Y3JlYXRlKHZtLCB0aGlzLCBSZWZsZWN0T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJlZmxlY3QsIHJlZmxlY3RPYmplY3QsIERvbnRF
bnVtKTsKIAogICAgIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciogdHlwZWRBcnJheVN1cGVy
Q29uc3RydWN0b3IgPSBKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhp
cywgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCB0eXBlZEFycmF5UHJvdG8sIHNwZWNpZXNHZXR0
ZXJTZXR0ZXIpOwogICAgIHR5cGVkQXJyYXlQcm90by0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0eXBlZEFycmF5U3VwZXJDb25z
dHJ1Y3RvciwgRG9udEVudW0pOwpAQCAtNTY2LDYgKzU2Nyw3IEBAIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXIKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmlzRmluaXRlUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jSXNGaW5pdGUsIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzTmFOUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jSXNOYU4s
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlByb21pc2VQcml2YXRlTmFtZSwgcHJvbWlzZUNvbnN0
cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5SZWZsZWN0UHJpdmF0ZU5hbWUsIHJlZmxl
Y3RPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkludGVybmFsUHJvbWlzZVByaXZhdGVO
YW1lLCBpbnRlcm5hbFByb21pc2VDb25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAogCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5pc1NldFByaXZhdGVOYW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmlu
ZygpLCBwcml2YXRlRnVuY0lzU2V0KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAkocmV2aXNpb24gMTk4MDQ2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDI1LDcgKzEwMjUsNyBAQAogLSBwYXRoOiBlczYvUHJveHlfaW50ZXJuYWxfZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yX2NhbGxzX0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmpzCiAgIGNt
ZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X2ludGVybmFsX2dldE93blByb3Bl
cnR5RGVzY3JpcHRvcl9jYWxsc19PYmplY3QuYXNzaWduLmpzCi0gIGNtZDogcnVuRVM2IDpmYWls
CisgIGNtZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X2ludGVybmFsX2dldE93
blByb3BlcnR5RGVzY3JpcHRvcl9jYWxsc19PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5
LmpzCiAgIGNtZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X2ludGVybmFsX293
bktleXNfY2FsbHNfU2VyaWFsaXplSlNPTk9iamVjdC5qcwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9vYmplY3QtYXNzaWduLWNvcnJlY3RuZXNzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWFzc2lnbi1j
b3JyZWN0bmVzcy5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvb2JqZWN0LWFzc2lnbi1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE1NCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbi4iKTsKK30KK2Z1bmN0aW9uIHRlc3QoZikg
eworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspCisgICAgICAgIGYoKTsKK30KKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgb3duS2V5c0NhbGxlZCA9IGZhbHNlOworICAgIGxl
dCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wcyA9IFtdOworICAgIGxldCBnZXRQcm9wcyA9
IFtdOworICAgIGxldCBoYW5kbGVyID0geworICAgICAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3I6IGZ1bmN0aW9uKHRhcmdldCwga2V5KSB7IAorICAgICAgICAgICAgZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yUHJvcHMucHVzaChrZXkpOworICAgICAgICAgICAgc3dpdGNoKGtleSkgeworICAg
ICAgICAgICAgY2FzZSAiZm9vIjoKKyAgICAgICAgICAgICAgICByZXR1cm4geworICAgICAgICAg
ICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICBjb25maWd1
cmFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiA0NQorICAgICAgICAgICAg
ICAgIH07CisgICAgICAgICAgICBjYXNlICJiYXIiOgorICAgICAgICAgICAgICAgIHJldHVybiAg
eworICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgICAg
ICAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1MAor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgImJheiI6CisgICAgICAgICAgICAg
ICAgcmV0dXJuICB7CisgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAg
IHZhbHVlOiA1MAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAic2hvdWxkIG5vdCBiZSByZWFjaGVkLiIpOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICBv
d25LZXlzOiBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICAgICAgICAgIG93bktleXNDYWxsZWQgPSB0
cnVlOworICAgICAgICAgICAgcmV0dXJuIFsiZm9vIiwgImJhciIsICJiYXoiXTsKKyAgICAgICAg
fSwKKyAgICAgICAgZ2V0OiBmdW5jdGlvbih0YXJnZXQsIGtleSkgeworICAgICAgICAgICAgZ2V0
UHJvcHMucHVzaChrZXkpOworICAgICAgICAgICAgc3dpdGNoKGtleSkgeworICAgICAgICAgICAg
Y2FzZSAiZm9vIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gMjA7CisgICAgICAgICAgICBjYXNl
ICJiYXIiOgorICAgICAgICAgICAgICAgIHJldHVybiAiYmFyIjsKKyAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAic2hvdWxkIG5vdCBiZSByZWFjaGVk
LiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfTsKKworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh7fSwgaGFuZGxlcik7CisgICAgbGV0
IGZvbyA9IHt9OworICAgIE9iamVjdC5hc3NpZ24oZm9vLCBwcm94eSk7CisKKyAgICBhc3NlcnQo
UmVmbGVjdC5vd25LZXlzKGZvbykubGVuZ3RoID09PSAyKTsKKyAgICBhc3NlcnQoUmVmbGVjdC5v
d25LZXlzKGZvbylbMF0gPT09ICJmb28iKTsKKyAgICBhc3NlcnQoUmVmbGVjdC5vd25LZXlzKGZv
bylbMV0gPT09ICJiYXIiKTsKKyAgICBhc3NlcnQoZm9vLmZvbyA9PT0gMjApOworICAgIGFzc2Vy
dChmb28uYmFyID09PSAiYmFyIik7CisKKyAgICBhc3NlcnQob3duS2V5c0NhbGxlZCk7CisgICAg
YXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzLmxlbmd0aCA9PT0gMyk7CisgICAg
YXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzWzBdID09PSAiZm9vIik7CisgICAg
YXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzWzFdID09PSAiYmFyIik7CisgICAg
YXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzWzJdID09PSAiYmF6Iik7CisKKyAg
ICBhc3NlcnQoZ2V0UHJvcHMubGVuZ3RoID09PSAyKTsKKyAgICBhc3NlcnQoZ2V0UHJvcHNbMF0g
PT09ICJmb28iKTsKKyAgICBhc3NlcnQoZ2V0UHJvcHNbMV0gPT09ICJiYXIiKTsKK30pOworCisK
K2xldCBvbGRSZWZsZWN0ID0gUmVmbGVjdDsKK1JlZmxlY3QgPSBudWxsOworYXNzZXJ0KFJlZmxl
Y3QgPT09IG51bGwpOyAvLyBNYWtlIHN1cmUgT2JqZWN0LmFzc2lnbidzIHVzZSBvZiBSZWZsZWN0
IGlzIHNhZmUuCisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IG93bktleXNDYWxsZWQgPSBm
YWxzZTsKKyAgICBsZXQgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yUHJvcHMgPSBbXTsKKyAgICBs
ZXQgZ2V0UHJvcHMgPSBbXTsKKyAgICBsZXQgaGFuZGxlciA9IHsKKyAgICAgICAgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yOiBmdW5jdGlvbih0YXJnZXQsIGtleSkgeyAKKyAgICAgICAgICAgIGdl
dE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzLnB1c2goa2V5KTsKKyAgICAgICAgICAgIHN3aXRj
aChrZXkpIHsKKyAgICAgICAgICAgIGNhc2UgImZvbyI6CisgICAgICAgICAgICAgICAgcmV0dXJu
IHsKKyAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNDUK
KyAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgY2FzZSAiYmFyIjoKKyAgICAgICAgICAg
ICAgICByZXR1cm4gIHsKKyAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgICAgICAg
ICB2YWx1ZTogNTAKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlICJiYXoiOgor
ICAgICAgICAgICAgICAgIHJldHVybiAgeworICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxl
OiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAg
ICAgICAgICAgICAgICB2YWx1ZTogNTAKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgInNob3VsZCBub3QgYmUgcmVh
Y2hlZC4iKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSwKKyAgICAgICAgb3duS2V5czogZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICAgICAgICBvd25L
ZXlzQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBbImZvbyIsICJiYXIiLCAiYmF6
Il07CisgICAgICAgIH0sCisgICAgICAgIGdldDogZnVuY3Rpb24odGFyZ2V0LCBrZXkpIHsKKyAg
ICAgICAgICAgIGdldFByb3BzLnB1c2goa2V5KTsKKyAgICAgICAgICAgIHN3aXRjaChrZXkpIHsK
KyAgICAgICAgICAgIGNhc2UgImZvbyI6CisgICAgICAgICAgICAgICAgcmV0dXJuIDIwOworICAg
ICAgICAgICAgY2FzZSAiYmFyIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gImJhciI7CisgICAg
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgInNob3VsZCBu
b3QgYmUgcmVhY2hlZC4iKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH07CisKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkoe30sIGhhbmRs
ZXIpOworICAgIGxldCBmb28gPSB7fTsKKyAgICBPYmplY3QuYXNzaWduKGZvbywgcHJveHkpOwor
CisgICAgYXNzZXJ0KG9sZFJlZmxlY3Qub3duS2V5cyhmb28pLmxlbmd0aCA9PT0gMik7CisgICAg
YXNzZXJ0KG9sZFJlZmxlY3Qub3duS2V5cyhmb28pWzBdID09PSAiZm9vIik7CisgICAgYXNzZXJ0
KG9sZFJlZmxlY3Qub3duS2V5cyhmb28pWzFdID09PSAiYmFyIik7CisgICAgYXNzZXJ0KGZvby5m
b28gPT09IDIwKTsKKyAgICBhc3NlcnQoZm9vLmJhciA9PT0gImJhciIpOworCisgICAgYXNzZXJ0
KG93bktleXNDYWxsZWQpOworICAgIGFzc2VydChnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9w
cy5sZW5ndGggPT09IDMpOworICAgIGFzc2VydChnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9w
c1swXSA9PT0gImZvbyIpOworICAgIGFzc2VydChnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9w
c1sxXSA9PT0gImJhciIpOworICAgIGFzc2VydChnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9w
c1syXSA9PT0gImJheiIpOworCisgICAgYXNzZXJ0KGdldFByb3BzLmxlbmd0aCA9PT0gMik7Cisg
ICAgYXNzZXJ0KGdldFByb3BzWzBdID09PSAiZm9vIik7CisgICAgYXNzZXJ0KGdldFByb3BzWzFd
ID09PSAiYmFyIik7Cit9KTsKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273775</attachid>
            <date>2016-03-11 15:08:34 -0800</date>
            <delta_ts>2016-03-11 15:12:55 -0800</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>11367</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk4MDQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDE2LTAzLTExICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFtFUzZdIE1ha2UgT2JqZWN0LmFzc2lnbiBzcGVjIGNvbXBsaWFudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1Mzc1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHN0cmFpZ2h0IGZvcndh
cmQgaW1wbGVtZW50YXRpb24gb2YgT2JqZWN0LmFzc2lnbgorICAgICAgICBpbiB0aGUgc3BlYy4K
KyAgICAgICAgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtb2JqZWN0LmFzc2ln
bgorICAgICAgICBCZWZvcmUsIHdlcmVuJ3QgcGVyZm9ybWluZyBhbGwgb2YgdGhlIHNwZWNpZmll
ZCBvcGVyYXRpb25zLgorICAgICAgICBOb3csIHdlIGFyZS4KKworICAgICAgICAqIGJ1aWx0aW5z
L09iamVjdENvbnN0cnVjdG9yLmpzOgorICAgICAgICAoYXNzaWduKToKKyAgICAgICAgKiBydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiB0
ZXN0cy9lczYueWFtbDoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0LWFzc2lnbi1jb3Jy
ZWN0bmVzcy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6Cisg
ICAgICAgICh0ZXN0LmxldC5oYW5kbGVyLmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAg
ICAgICh0ZXN0LmxldC5oYW5kbGVyLm93bktleXMpOgorICAgICAgICAodGVzdC5sZXQuaGFuZGxl
ci5nZXQgZ2V0UHJvcHMpOgorICAgICAgICAodGVzdC5sZXQuaGFuZGxlcik6CisKIDIwMTYtMDMt
MTEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBG
dW5jdGlvbi5uYW1lIGFuZCBGdW5jdGlvbiN0b1N0cmluZyBmb3IgRVM2IGNsYXNzLgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09iamVjdENvbnN0cnVjdG9yLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PYmplY3RDb25zdHJ1Y3Rv
ci5qcwkocmV2aXNpb24gMTk4MDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L09iamVjdENvbnN0cnVjdG9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNSArMzAsMTcgQEAg
ZnVuY3Rpb24gYXNzaWduKHRhcmdldC8qWyovLCAvKi4uLiovc291cgogICAgIGlmICh0YXJnZXQg
PT0gbnVsbCkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImNhbid0IGNvbnZlcnQgIiAr
IHRhcmdldCArICIgdG8gb2JqZWN0Iik7CiAKLSAgICB2YXIgb2JqVGFyZ2V0ID0gQE9iamVjdCh0
YXJnZXQpOwotICAgIGZvciAodmFyIHMgPSAxLCBhcmd1bWVudHNMZW5ndGggPSBhcmd1bWVudHMu
bGVuZ3RoOyBzIDwgYXJndW1lbnRzTGVuZ3RoOyArK3MpIHsKLSAgICAgICAgdmFyIG5leHRTb3Vy
Y2UgPSBhcmd1bWVudHNbc107CisgICAgbGV0IG9ialRhcmdldCA9IEBPYmplY3QodGFyZ2V0KTsK
KyAgICBmb3IgKGxldCBzID0gMSwgYXJndW1lbnRzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDsg
cyA8IGFyZ3VtZW50c0xlbmd0aDsgKytzKSB7CisgICAgICAgIGxldCBuZXh0U291cmNlID0gYXJn
dW1lbnRzW3NdOwogICAgICAgICBpZiAobmV4dFNvdXJjZSAhPSBudWxsKSB7Ci0gICAgICAgICAg
ICB2YXIgZnJvbSA9IEBPYmplY3QobmV4dFNvdXJjZSk7Ci0gICAgICAgICAgICB2YXIga2V5cyA9
IEBvd25FbnVtZXJhYmxlUHJvcGVydHlLZXlzKGZyb20pOwotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDAsIGtleXNMZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGtleXNMZW5ndGg7ICsraSkgewot
ICAgICAgICAgICAgICAgIHZhciBuZXh0S2V5ID0ga2V5c1tpXTsKLSAgICAgICAgICAgICAgICBv
YmpUYXJnZXRbbmV4dEtleV0gPSBmcm9tW25leHRLZXldOworICAgICAgICAgICAgbGV0IGZyb20g
PSBAT2JqZWN0KG5leHRTb3VyY2UpOworICAgICAgICAgICAgbGV0IGtleXMgPSBAUmVmbGVjdC5v
d25LZXlzKGZyb20pOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGtleXNMZW5ndGggPSBr
ZXlzLmxlbmd0aDsgaSA8IGtleXNMZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGxldCBu
ZXh0S2V5ID0ga2V5c1tpXTsKKyAgICAgICAgICAgICAgICBsZXQgZGVzY3JpcHRvciA9IEBSZWZs
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmcm9tLCBuZXh0S2V5KTsKKyAgICAgICAgICAg
ICAgICBpZiAoZGVzY3JpcHRvciAhPT0gQHVuZGVmaW5lZCAmJiBkZXNjcmlwdG9yLmVudW1lcmFi
bGUpCisgICAgICAgICAgICAgICAgICAgIG9ialRhcmdldFtuZXh0S2V5XSA9IGZyb21bbmV4dEtl
eV07CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHJldmlzaW9uIDE5
ODA0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxMSw2ICszMTEsNyBAQAogICAgIG1hY3JvKFJlZ0V4cCkg
XAogICAgIG1hY3JvKE1hcCkgXAogICAgIG1hY3JvKFByb21pc2UpIFwKKyAgICBtYWNybyhSZWZs
ZWN0KSBcCiAgICAgbWFjcm8oSW50ZXJuYWxQcm9taXNlKSBcCiAgICAgbWFjcm8oYWJzKSBcCiAg
ICAgbWFjcm8oZmxvb3IpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDE5ODA0NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDg2LDcgKzQ4Niw4IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXIK
ICNlbmRpZiAvLyBFTkFCTEUoSU5UTCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+SlNPTiwgSlNPTk9iamVjdDo6Y3JlYXRlKHZtLCBKU09OT2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSks
IERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+TWF0aCwgTWF0aE9iamVjdDo6Y3JlYXRlKHZtLCB0aGlzLCBNYXRoT2JqZWN0Ojpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+UmVmbGVjdCwgUmVmbGVjdE9iamVjdDo6Y3JlYXRlKHZtLCB0aGlzLCBSZWZsZWN0T2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERv
bnRFbnVtKTsKKyAgICBSZWZsZWN0T2JqZWN0KiByZWZsZWN0T2JqZWN0ID0gUmVmbGVjdE9iamVj
dDo6Y3JlYXRlKHZtLCB0aGlzLCBSZWZsZWN0T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJlZmxlY3QsIHJlZmxlY3RPYmplY3QsIERvbnRF
bnVtKTsKIAogICAgIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciogdHlwZWRBcnJheVN1cGVy
Q29uc3RydWN0b3IgPSBKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhp
cywgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCB0eXBlZEFycmF5UHJvdG8sIHNwZWNpZXNHZXR0
ZXJTZXR0ZXIpOwogICAgIHR5cGVkQXJyYXlQcm90by0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0eXBlZEFycmF5U3VwZXJDb25z
dHJ1Y3RvciwgRG9udEVudW0pOwpAQCAtNTY2LDYgKzU2Nyw3IEBAIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXIKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmlzRmluaXRlUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jSXNGaW5pdGUsIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzTmFOUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jSXNOYU4s
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlByb21pc2VQcml2YXRlTmFtZSwgcHJvbWlzZUNvbnN0
cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5SZWZsZWN0UHJpdmF0ZU5hbWUsIHJlZmxl
Y3RPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkludGVybmFsUHJvbWlzZVByaXZhdGVO
YW1lLCBpbnRlcm5hbFByb21pc2VDb25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAogCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5pc1NldFByaXZhdGVOYW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmlu
ZygpLCBwcml2YXRlRnVuY0lzU2V0KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAkocmV2aXNpb24gMTk4MDQ2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDI1LDcgKzEwMjUsNyBAQAogLSBwYXRoOiBlczYvUHJveHlfaW50ZXJuYWxfZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yX2NhbGxzX0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmpzCiAgIGNt
ZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X2ludGVybmFsX2dldE93blByb3Bl
cnR5RGVzY3JpcHRvcl9jYWxsc19PYmplY3QuYXNzaWduLmpzCi0gIGNtZDogcnVuRVM2IDpmYWls
CisgIGNtZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X2ludGVybmFsX2dldE93
blByb3BlcnR5RGVzY3JpcHRvcl9jYWxsc19PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5
LmpzCiAgIGNtZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X2ludGVybmFsX293
bktleXNfY2FsbHNfU2VyaWFsaXplSlNPTk9iamVjdC5qcwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9vYmplY3QtYXNzaWduLWNvcnJlY3RuZXNzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWFzc2lnbi1j
b3JyZWN0bmVzcy5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvb2JqZWN0LWFzc2lnbi1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE2OCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbi4iKTsKK30KK2Z1bmN0aW9uIHRlc3QoZikg
eworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspCisgICAgICAgIGYoKTsKK30KKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgb3duS2V5c0NhbGxlZCA9IGZhbHNlOworICAgIGxl
dCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wcyA9IFtdOworICAgIGxldCBnZXRQcm9wcyA9
IFtdOworICAgIGxldCBlbnVtZXJhYmxlQ2FsbGVkID0gZmFsc2U7CisgICAgbGV0IGhhbmRsZXIg
PSB7CisgICAgICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvcjogZnVuY3Rpb24odGFyZ2V0LCBr
ZXkpIHsgCisgICAgICAgICAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wcy5wdXNoKGtl
eSk7CisgICAgICAgICAgICBzd2l0Y2goa2V5KSB7CisgICAgICAgICAgICBjYXNlICJmb28iOgor
ICAgICAgICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6
IHRydWUsCisgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgdmFsdWU6IDQ1CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIGNh
c2UgImJhciI6CisgICAgICAgICAgICAgICAgcmV0dXJuICB7CisgICAgICAgICAgICAgICAgICAg
IGVudW1lcmFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAgIGdldCBlbnVtZXJhYmxlKCkg
eworICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZUNhbGxlZCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgICAg
ICAgICB2YWx1ZTogNTAKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlICJiYXoi
OgorICAgICAgICAgICAgICAgIHJldHVybiAgeworICAgICAgICAgICAgICAgICAgICBlbnVtZXJh
YmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAg
ICAgICAgICAgICAgICAgICB2YWx1ZTogNTAKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgInNob3VsZCBub3QgYmUg
cmVhY2hlZC4iKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKKyAgICAgICAgb3duS2V5czogZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICAgICAgICBv
d25LZXlzQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBbImZvbyIsICJiYXIiLCAi
YmF6Il07CisgICAgICAgIH0sCisgICAgICAgIGdldDogZnVuY3Rpb24odGFyZ2V0LCBrZXkpIHsK
KyAgICAgICAgICAgIGdldFByb3BzLnB1c2goa2V5KTsKKyAgICAgICAgICAgIHN3aXRjaChrZXkp
IHsKKyAgICAgICAgICAgIGNhc2UgImZvbyI6CisgICAgICAgICAgICAgICAgcmV0dXJuIDIwOwor
ICAgICAgICAgICAgY2FzZSAiYmFyIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gImJhciI7Cisg
ICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgInNob3Vs
ZCBub3QgYmUgcmVhY2hlZC4iKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgIH07CisKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkoe30sIGhh
bmRsZXIpOworICAgIGxldCBmb28gPSB7fTsKKyAgICBPYmplY3QuYXNzaWduKGZvbywgcHJveHkp
OworCisgICAgYXNzZXJ0KGVudW1lcmFibGVDYWxsZWQpOworCisgICAgYXNzZXJ0KFJlZmxlY3Qu
b3duS2V5cyhmb28pLmxlbmd0aCA9PT0gMik7CisgICAgYXNzZXJ0KFJlZmxlY3Qub3duS2V5cyhm
b28pWzBdID09PSAiZm9vIik7CisgICAgYXNzZXJ0KFJlZmxlY3Qub3duS2V5cyhmb28pWzFdID09
PSAiYmFyIik7CisgICAgYXNzZXJ0KGZvby5mb28gPT09IDIwKTsKKyAgICBhc3NlcnQoZm9vLmJh
ciA9PT0gImJhciIpOworCisgICAgYXNzZXJ0KG93bktleXNDYWxsZWQpOworICAgIGFzc2VydChn
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wcy5sZW5ndGggPT09IDMpOworICAgIGFzc2VydChn
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wc1swXSA9PT0gImZvbyIpOworICAgIGFzc2VydChn
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wc1sxXSA9PT0gImJhciIpOworICAgIGFzc2VydChn
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JQcm9wc1syXSA9PT0gImJheiIpOworCisgICAgYXNzZXJ0
KGdldFByb3BzLmxlbmd0aCA9PT0gMik7CisgICAgYXNzZXJ0KGdldFByb3BzWzBdID09PSAiZm9v
Iik7CisgICAgYXNzZXJ0KGdldFByb3BzWzFdID09PSAiYmFyIik7Cit9KTsKKworCitsZXQgb2xk
UmVmbGVjdCA9IFJlZmxlY3Q7CitSZWZsZWN0ID0gbnVsbDsKK2Fzc2VydChSZWZsZWN0ID09PSBu
dWxsKTsgLy8gTWFrZSBzdXJlIE9iamVjdC5hc3NpZ24ncyB1c2Ugb2YgUmVmbGVjdCBpcyBzYWZl
LgorCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBvd25LZXlzQ2FsbGVkID0gZmFsc2U7Cisg
ICAgbGV0IGdldE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzID0gW107CisgICAgbGV0IGdldFBy
b3BzID0gW107CisgICAgbGV0IGVudW1lcmFibGVDYWxsZWQgPSBmYWxzZTsKKyAgICBsZXQgaGFu
ZGxlciA9IHsKKyAgICAgICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiBmdW5jdGlvbih0YXJn
ZXQsIGtleSkgeyAKKyAgICAgICAgICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvclByb3BzLnB1
c2goa2V5KTsKKyAgICAgICAgICAgIHN3aXRjaChrZXkpIHsKKyAgICAgICAgICAgIGNhc2UgImZv
byI6CisgICAgICAgICAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICAgICAgICAgZW51bWVy
YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAg
ICAgICAgICAgICAgICAgICB2YWx1ZTogNDUKKyAgICAgICAgICAgICAgICB9OworICAgICAgICAg
ICAgY2FzZSAiYmFyIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gIHsKKyAgICAgICAgICAgICAg
ICAgICAgZ2V0IGVudW1lcmFibGUoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJh
YmxlQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6
IHRydWUsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1MAorICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGNhc2UgImJheiI6CisgICAgICAgICAgICAgICAgcmV0dXJuICB7CisgICAg
ICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICBj
b25maWd1cmFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1MAorICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYXNzZXJ0
KGZhbHNlLCAic2hvdWxkIG5vdCBiZSByZWFjaGVkLiIpOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICBvd25LZXlzOiBmdW5jdGlvbih0
YXJnZXQpIHsKKyAgICAgICAgICAgIG93bktleXNDYWxsZWQgPSB0cnVlOworICAgICAgICAgICAg
cmV0dXJuIFsiZm9vIiwgImJhciIsICJiYXoiXTsKKyAgICAgICAgfSwKKyAgICAgICAgZ2V0OiBm
dW5jdGlvbih0YXJnZXQsIGtleSkgeworICAgICAgICAgICAgZ2V0UHJvcHMucHVzaChrZXkpOwor
ICAgICAgICAgICAgc3dpdGNoKGtleSkgeworICAgICAgICAgICAgY2FzZSAiZm9vIjoKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMjA7CisgICAgICAgICAgICBjYXNlICJiYXIiOgorICAgICAgICAg
ICAgICAgIHJldHVybiAiYmFyIjsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgYXNzZXJ0KGZhbHNlLCAic2hvdWxkIG5vdCBiZSByZWFjaGVkLiIpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfTsKKworICAgIGxldCBw
cm94eSA9IG5ldyBQcm94eSh7fSwgaGFuZGxlcik7CisgICAgbGV0IGZvbyA9IHt9OworICAgIE9i
amVjdC5hc3NpZ24oZm9vLCBwcm94eSk7CisKKyAgICBhc3NlcnQoZW51bWVyYWJsZUNhbGxlZCk7
CisKKyAgICBhc3NlcnQob2xkUmVmbGVjdC5vd25LZXlzKGZvbykubGVuZ3RoID09PSAyKTsKKyAg
ICBhc3NlcnQob2xkUmVmbGVjdC5vd25LZXlzKGZvbylbMF0gPT09ICJmb28iKTsKKyAgICBhc3Nl
cnQob2xkUmVmbGVjdC5vd25LZXlzKGZvbylbMV0gPT09ICJiYXIiKTsKKyAgICBhc3NlcnQoZm9v
LmZvbyA9PT0gMjApOworICAgIGFzc2VydChmb28uYmFyID09PSAiYmFyIik7CisKKyAgICBhc3Nl
cnQob3duS2V5c0NhbGxlZCk7CisgICAgYXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclBy
b3BzLmxlbmd0aCA9PT0gMyk7CisgICAgYXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclBy
b3BzWzBdID09PSAiZm9vIik7CisgICAgYXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclBy
b3BzWzFdID09PSAiYmFyIik7CisgICAgYXNzZXJ0KGdldE93blByb3BlcnR5RGVzY3JpcHRvclBy
b3BzWzJdID09PSAiYmF6Iik7CisKKyAgICBhc3NlcnQoZ2V0UHJvcHMubGVuZ3RoID09PSAyKTsK
KyAgICBhc3NlcnQoZ2V0UHJvcHNbMF0gPT09ICJmb28iKTsKKyAgICBhc3NlcnQoZ2V0UHJvcHNb
MV0gPT09ICJiYXIiKTsKKworfSk7CisK
</data>
<flag name="review"
          id="298317"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>