<?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>131768</bug_id>
          
          <creation_ts>2014-04-16 15:20:09 -0700</creation_ts>
          <short_desc>[MSE] Multiple initialization segments with same codecs in tracks fail validation.</short_desc>
          <delta_ts>2014-04-17 10:55:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1001358</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-16 15:20:09 -0700</bug_when>
    <thetext>[MSE] Multiple initialization segments with same codecs in tracks fail validation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001381</commentid>
    <comment_count>1</comment_count>
      <attachid>229494</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-16 16:07:02 -0700</bug_when>
    <thetext>Created attachment 229494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001609</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-17 10:55:45 -0700</bug_when>
    <thetext>Committed r167440: &lt;http://trac.webkit.org/changeset/167440&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229494</attachid>
            <date>2014-04-16 16:07:02 -0700</date>
            <delta_ts>2014-04-17 07:42:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131768-20140416160640.patch</filename>
            <type>text/plain</type>
            <size>25143</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3Mzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVhOWFjNTk2YzNiZmE4
YTk5M2I1ZmI0Y2Y2NGUyZmMxMmI4NTQyMS4uOWNjOTczOTQ1NGM1MjgyMmMyYzljNmQwNWRjY2Qw
ZGM3ZWFkMTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTA0LTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIE11bHRpcGxlIGlu
aXRpYWxpemF0aW9uIHNlZ21lbnRzIHdpdGggc2FtZSBjb2RlY3MgaW4gdHJhY2tzIGZhaWwgdmFs
aWRhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzMTc2OAorCisgICAgICAgIEFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gc2VnbWVudHMgYWRk
ZWQgdG8gdGhlIHNhbWUgU291cmNlQnVmZmVyIHdpdGggdGhlIHNhbWUKKyAgICAgICAgY29kZWMg
dmFsdWVzIHdpbGwgZmFpbCB2YWxpZGF0aW9uLiBVcGRhdGUgdGhlIHZhbGlkYXRpb24gY2hlY2sg
dG8gYWRkIHRoZSBjb3JyZWN0CisgICAgICAgIGNvZGVjIGluZm9ybWF0aW9uIGZvciB0aGUgaW5p
dGlhbCBzZWdtZW50LCBhbmQgY2hlY2sgYWdhaW5zdCB0aGUgY29ycmVjdCBjb2RlY3MgZHVyaW5n
CisgICAgICAgIHRoZSB2YWxpZGF0aW9uIHN0ZXAuCisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBh
ZnRlciB2YWxpZGF0aW9uLCBpZiBzdWNjZXNzZnVsIHVwZGF0ZSB0aGUgQXVkaW8sIFZpZGVvLCBh
bmQgVGV4dFRyYWNrcworICAgICAgICBmb3IgdGhlIFNvdXJjZUJ1ZmZlciB3aXRoIHRoZSB1cGRh
dGVkIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgaW5mb3JtYXRpb24uCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogbWVkaWEvbWVkaWEtc291cmNl
L21lZGlhLXNvdXJjZS1tdWx0aXBsZS1pbml0aWFsaXphdGlvbi1zZWdtZW50cy5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQpOiBtX3NvdXJjZSBt
YXkgaGF2ZSBiZWVuIGNsZWFyZWQKKyAgICAgICAgICAgIGFzIGEgcmVzdWx0IG9mIHRoZSBhcHBl
bmQsIHNvIGNoZWNrIGl0IGJlZm9yZSB1c2luZy4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZEVuZFN0cmVhbSk6IENhbGwgc3RyZWFtRW5kZWRX
aXRoRXJyb3IKKyAgICAgICAgICAgIGluc3RlYWQgb2YgZW5kT2ZTdHJlYW0gYXMgdGhlIGxhdHRl
ciBpcyBzYWZlIHRvIGNhbGwgd2l0aGluIGFuIHVwZGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXphdGlvblNl
Z21lbnQpOiBEaXR0by4KKyAgICAgICAgICAgIFVwZGF0ZSB0aGUgdHJhY2sgbGlzdHMgaWYgdmFs
aWRhdGlvbiBzdWNjZWVkcy4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6dmFsaWRh
dGVJbml0aWFsaXphdGlvblNlZ21lbnQpOiBTd2l0Y2ggdGhlIGF1ZGlvIGFuZCB2aWRlbworICAg
ICAgICAgICAgY29kZWMgY2hlY2tzLgorCisgICAgICAgIEFkZCB0aGUgYWJpbGl0eSBmb3IgQXVk
aW8sIFZpZGVvLCBhbmQgSW5iYW5kVGV4dFRyYWNrcyB0byByZXBsYWNlIHRoZWlyIHByaXZhdGUg
dHJhY2tzOgorICAgICAgICAqIGh0bWwvdHJhY2svQXVkaW9UcmFjay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb1RyYWNrOjpBdWRpb1RyYWNrKTogQ2FsbCB1cGRhdGVLaW5kRnJvbVByaXZh
dGUoKS4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2s6OnNldFByaXZhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9UcmFjazo6dXBkYXRlS2luZEZyb21Qcml2YXRlKTogU3BsaXQgb3V0
IGZyb20gY29uc3RydWN0b3IuCisgICAgICAgICogaHRtbC90cmFjay9BdWRpb1RyYWNrLmg6Cisg
ICAgICAgICogaHRtbC90cmFjay9JbmJhbmRUZXh0VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5iYW5kVGV4dFRyYWNrOjpJbmJhbmRUZXh0VHJhY2spOiBDYWxsIHVwZGF0ZUtpbmRGcm9t
UHJpdmF0ZSgpLgorICAgICAgICAoV2ViQ29yZTo6SW5iYW5kVGV4dFRyYWNrOjpzZXRQcml2YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkluYmFuZFRleHRUcmFjazo6c2V0TW9kZSk6IFNwbGl0IHVw
IGludG8gc2V0TW9kZUludGVybmFsKCkuCisgICAgICAgIChXZWJDb3JlOjpJbmJhbmRUZXh0VHJh
Y2s6OnNldE1vZGVJbnRlcm5hbCk6IEJyb2tlIG91dCBmcm9tIHNldE1vZGUoKS4KKyAgICAgICAg
KFdlYkNvcmU6OkluYmFuZFRleHRUcmFjazo6dXBkYXRlS2luZEZyb21Qcml2YXRlKTogU3BsaXQg
b3V0IGZyb20gY29uc3RydWN0b3IuCisgICAgICAgICogaHRtbC90cmFjay9JbmJhbmRUZXh0VHJh
Y2suaDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dFRyYWNrOjppc0luYmFuZCk6IEFkZGVkLCByZXR1cm5zIGZhbHNlLgorICAgICAgICAq
IGh0bWwvdHJhY2svVmlkZW9UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1RyYWNr
OjpWaWRlb1RyYWNrKTogQ2FsbCB1cGRhdGVLaW5kRnJvbVByaXZhdGUoKS4KKyAgICAgICAgKFdl
YkNvcmU6OlZpZGVvVHJhY2s6OnNldFByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9U
cmFjazo6dXBkYXRlS2luZEZyb21Qcml2YXRlKTogIFNwbGl0IG91dCBmcm9tIGNvbnN0cnVjdG9y
LgorICAgICAgICAqIGh0bWwvdHJhY2svVmlkZW9UcmFjay5oOgorCiAyMDE0LTA0LTE2ICBBbmRy
ZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZlcnQgZGlyZWN0IGNh
Y2hpbmcgb2YgdGFnTmFtZSBhbmQgbm9kZU5hbWUgZnJvbSByMTY3MzgzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDRh
ZDI0MGQzZTk5ZjYzNDBiZWZmY2EwZjhjZGJjZjc3MGNiNjg3MmEuLjY1MGIzODFmNDQyNTZkYWQy
MzNkMDc5NTNkOTMzNzI4OGM1MDM5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTUwOCw3ICs1MDgsOCBAQCB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxTb3VyY2VCdWZmZXI+
JikKICAgICAvLyA1LiBRdWV1ZSBhIHRhc2sgdG8gZmlyZSBhIHNpbXBsZSBldmVudCBuYW1lZCB1
cGRhdGVlbmQgYXQgdGhpcyBTb3VyY2VCdWZmZXIgb2JqZWN0LgogICAgIHNjaGVkdWxlRXZlbnQo
ZXZlbnROYW1lcygpLnVwZGF0ZWVuZEV2ZW50KTsKIAotICAgIG1fc291cmNlLT5tb25pdG9yU291
cmNlQnVmZmVycygpOworICAgIGlmIChtX3NvdXJjZSkKKyAgICAgICAgbV9zb3VyY2UtPm1vbml0
b3JTb3VyY2VCdWZmZXJzKCk7CiAgICAgZm9yIChhdXRvIGl0ZXIgPSBtX3RyYWNrQnVmZmVyTWFw
LmJlZ2luKCksIGVuZCA9IG1fdHJhY2tCdWZmZXJNYXAuZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0
ZXIpCiAgICAgICAgIHByb3ZpZGVNZWRpYURhdGEoaXRlci0+dmFsdWUsIGl0ZXItPmtleSk7CiB9
CkBAIC02NDUsNyArNjQ2LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNldEFjdGl2ZShib29sIGFj
dGl2ZSkKIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkRW5kU3RyZWFt
KFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgZXJyb3IpCiB7
CiAgICAgaWYgKCFpc1JlbW92ZWQoKSkKLSAgICAgICAgbV9zb3VyY2UtPmVuZE9mU3RyZWFtKGVy
cm9yLCBJZ25vcmFibGVFeGNlcHRpb25Db2RlKCkpOworICAgICAgICBtX3NvdXJjZS0+c3RyZWFt
RW5kZWRXaXRoRXJyb3IoZXJyb3IsIElnbm9yYWJsZUV4Y2VwdGlvbkNvZGUoKSk7CiB9CiAKIHZv
aWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0
aW9uU2VnbWVudChTb3VyY2VCdWZmZXJQcml2YXRlKiwgY29uc3QgSW5pdGlhbGl6YXRpb25TZWdt
ZW50JiBzZWdtZW50KQpAQCAtNjY4LDE3ICs2NjksNTEgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KFNvdXJjZUJ1
ZmYKICAgICAvLyAyLiBJZiB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudCBoYXMgbm8gYXVkaW8s
IHZpZGVvLCBvciB0ZXh0IHRyYWNrcywgdGhlbiBydW4gdGhlIGVuZCBvZiBzdHJlYW0KICAgICAv
LyBhbGdvcml0aG0gd2l0aCB0aGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byAiZGVjb2RlIiBhbmQg
YWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgaWYgKCFzZWdtZW50LmF1ZGlvVHJhY2tzLnNpemUoKSAm
JiAhc2VnbWVudC52aWRlb1RyYWNrcy5zaXplKCkgJiYgIXNlZ21lbnQudGV4dFRyYWNrcy5zaXpl
KCkpCi0gICAgICAgIG1fc291cmNlLT5lbmRPZlN0cmVhbShkZWNvZGVFcnJvcigpLCBJZ25vcmFi
bGVFeGNlcHRpb25Db2RlKCkpOworICAgICAgICBtX3NvdXJjZS0+c3RyZWFtRW5kZWRXaXRoRXJy
b3IoZGVjb2RlRXJyb3IoKSwgSWdub3JhYmxlRXhjZXB0aW9uQ29kZSgpKTsKIAogCiAgICAgLy8g
My4gSWYgdGhlIGZpcnN0IGluaXRpYWxpemF0aW9uIHNlZ21lbnQgZmxhZyBpcyB0cnVlLCB0aGVu
IHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzOgogICAgIGlmIChtX3JlY2VpdmVkRmlyc3RJbml0aWFs
aXphdGlvblNlZ21lbnQpIHsKICAgICAgICAgaWYgKCF2YWxpZGF0ZUluaXRpYWxpemF0aW9uU2Vn
bWVudChzZWdtZW50KSkgewotICAgICAgICAgICAgbV9zb3VyY2UtPmVuZE9mU3RyZWFtKGRlY29k
ZUVycm9yKCksIElnbm9yYWJsZUV4Y2VwdGlvbkNvZGUoKSk7CisgICAgICAgICAgICBtX3NvdXJj
ZS0+c3RyZWFtRW5kZWRXaXRoRXJyb3IoZGVjb2RlRXJyb3IoKSwgSWdub3JhYmxlRXhjZXB0aW9u
Q29kZSgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICAvLyAzLjIg
QWRkIHRoZSBhcHByb3ByaWF0ZSB0cmFjayBkZXNjcmlwdGlvbnMgZnJvbSB0aGlzIGluaXRpYWxp
emF0aW9uIHNlZ21lbnQgdG8gZWFjaCBvZiB0aGUgdHJhY2sgYnVmZmVycy4KLSAgICAgICAgLy8g
Tk9URTogTm8gY2hhbmdlcyB0byBtYWtlCisgICAgICAgIEFTU0VSVChzZWdtZW50LmF1ZGlvVHJh
Y2tzLnNpemUoKSA9PSBhdWRpb1RyYWNrcygpLT5sZW5ndGgoKSk7CisgICAgICAgIGZvciAoYXV0
byYgYXVkaW9UcmFja0luZm8gOiBzZWdtZW50LmF1ZGlvVHJhY2tzKSB7CisgICAgICAgICAgICBp
ZiAoYXVkaW9UcmFja3MoKS0+bGVuZ3RoKCkgPT0gMSkgeworICAgICAgICAgICAgICAgIGF1ZGlv
VHJhY2tzKCktPml0ZW0oMCktPnNldFByaXZhdGUoYXVkaW9UcmFja0luZm8udHJhY2spOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIGF1
ZGlvVHJhY2sgPSBhdWRpb1RyYWNrcygpLT5nZXRUcmFja0J5SWQoYXVkaW9UcmFja0luZm8udHJh
Y2stPmlkKCkpOworICAgICAgICAgICAgQVNTRVJUKGF1ZGlvVHJhY2spOworICAgICAgICAgICAg
YXVkaW9UcmFjay0+c2V0UHJpdmF0ZShhdWRpb1RyYWNrSW5mby50cmFjayk7CisgICAgICAgIH0K
KworICAgICAgICBBU1NFUlQoc2VnbWVudC52aWRlb1RyYWNrcy5zaXplKCkgPT0gdmlkZW9UcmFj
a3MoKS0+bGVuZ3RoKCkpOworICAgICAgICBmb3IgKGF1dG8mIHZpZGVvVHJhY2tJbmZvIDogc2Vn
bWVudC52aWRlb1RyYWNrcykgeworICAgICAgICAgICAgaWYgKHZpZGVvVHJhY2tzKCktPmxlbmd0
aCgpID09IDEpIHsKKyAgICAgICAgICAgICAgICB2aWRlb1RyYWNrcygpLT5pdGVtKDApLT5zZXRQ
cml2YXRlKHZpZGVvVHJhY2tJbmZvLnRyYWNrKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byB2aWRlb1RyYWNrID0gdmlkZW9UcmFja3Mo
KS0+Z2V0VHJhY2tCeUlkKHZpZGVvVHJhY2tJbmZvLnRyYWNrLT5pZCgpKTsKKyAgICAgICAgICAg
IEFTU0VSVCh2aWRlb1RyYWNrKTsKKyAgICAgICAgICAgIHZpZGVvVHJhY2stPnNldFByaXZhdGUo
dmlkZW9UcmFja0luZm8udHJhY2spOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKHNlZ21l
bnQudGV4dFRyYWNrcy5zaXplKCkgPT0gdGV4dFRyYWNrcygpLT5sZW5ndGgoKSk7CisgICAgICAg
IGZvciAoYXV0byYgdGV4dFRyYWNrSW5mbyA6IHNlZ21lbnQudGV4dFRyYWNrcykgeworICAgICAg
ICAgICAgaWYgKHRleHRUcmFja3MoKS0+bGVuZ3RoKCkgPT0gMSkgeworICAgICAgICAgICAgICAg
IHRvSW5iYW5kVGV4dFRyYWNrKHRleHRUcmFja3MoKS0+aXRlbSgwKSktPnNldFByaXZhdGUodGV4
dFRyYWNrSW5mby50cmFjayk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGF1dG8gdGV4dFRyYWNrID0gdGV4dFRyYWNrcygpLT5nZXRUcmFja0J5
SWQodGV4dFRyYWNrSW5mby50cmFjay0+aWQoKSk7CisgICAgICAgICAgICBBU1NFUlQodGV4dFRy
YWNrKTsKKyAgICAgICAgICAgIHRvSW5iYW5kVGV4dFRyYWNrKHRleHRUcmFjayktPnNldFByaXZh
dGUodGV4dFRyYWNrSW5mby50cmFjayk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyA0LiBM
ZXQgYWN0aXZlIHRyYWNrIGZsYWcgZXF1YWwgZmFsc2UuCkBAIC03MjYsNiArNzYxLDggQEAgdm9p
ZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlhbGl6YXRp
b25TZWdtZW50KFNvdXJjZUJ1ZmYKIAogICAgICAgICAgICAgLy8gNS4yLjkgQWRkIHRoZSB0cmFj
ayBkZXNjcmlwdGlvbiBmb3IgdGhpcyB0cmFjayB0byB0aGUgdHJhY2sgYnVmZmVyLgogICAgICAg
ICAgICAgdHJhY2tCdWZmZXIuZGVzY3JpcHRpb24gPSBpdC0+ZGVzY3JpcHRpb247CisKKyAgICAg
ICAgICAgIG1fYXVkaW9Db2RlY3MuYXBwZW5kKHRyYWNrQnVmZmVyLmRlc2NyaXB0aW9uLT5jb2Rl
YygpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIDUuMyBGb3IgZWFjaCB2aWRlbyB0cmFjayBp
biB0aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudCwgcnVuIGZvbGxvd2luZyBzdGVwczoKQEAgLTc2
NCw2ICs4MDEsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJl
Y2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQoU291cmNlQnVmZgogCiAgICAgICAgICAgICAvLyA1
LjMuOSBBZGQgdGhlIHRyYWNrIGRlc2NyaXB0aW9uIGZvciB0aGlzIHRyYWNrIHRvIHRoZSB0cmFj
ayBidWZmZXIuCiAgICAgICAgICAgICB0cmFja0J1ZmZlci5kZXNjcmlwdGlvbiA9IGl0LT5kZXNj
cmlwdGlvbjsKKworICAgICAgICAgICAgbV92aWRlb0NvZGVjcy5hcHBlbmQodHJhY2tCdWZmZXIu
ZGVzY3JpcHRpb24tPmNvZGVjKCkpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gNS40IEZvciBl
YWNoIHRleHQgdHJhY2sgaW4gdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQsIHJ1biBmb2xsb3dp
bmcgc3RlcHM6CkBAIC03OTcsNiArODM2LDggQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1
ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KFNvdXJjZUJ1ZmYKIAog
ICAgICAgICAgICAgLy8gNS40LjggQWRkIHRoZSB0cmFjayBkZXNjcmlwdGlvbiBmb3IgdGhpcyB0
cmFjayB0byB0aGUgdHJhY2sgYnVmZmVyLgogICAgICAgICAgICAgdHJhY2tCdWZmZXIuZGVzY3Jp
cHRpb24gPSBpdC0+ZGVzY3JpcHRpb247CisKKyAgICAgICAgICAgIG1fdGV4dENvZGVjcy5hcHBl
bmQodHJhY2tCdWZmZXIuZGVzY3JpcHRpb24tPmNvZGVjKCkpOwogICAgICAgICB9CiAKICAgICAg
ICAgLy8gNS41IElmIGFjdGl2ZSB0cmFjayBmbGFnIGVxdWFscyB0cnVlLCB0aGVuIHJ1biB0aGUg
Zm9sbG93aW5nIHN0ZXBzOgpAQCAtODQ0LDEyICs4ODUsMTIgQEAgYm9vbCBTb3VyY2VCdWZmZXI6
OnZhbGlkYXRlSW5pdGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVu
dCYgc2UKIAogICAgIC8vICAgKiBUaGUgY29kZWNzIGZvciBlYWNoIHRyYWNrLCBtYXRjaCB3aGF0
IHdhcyBzcGVjaWZpZWQgaW4gdGhlIGZpcnN0IGluaXRpYWxpemF0aW9uIHNlZ21lbnQuCiAgICAg
Zm9yIChhdXRvIGl0ID0gc2VnbWVudC5hdWRpb1RyYWNrcy5iZWdpbigpOyBpdCAhPSBzZWdtZW50
LmF1ZGlvVHJhY2tzLmVuZCgpOyArK2l0KSB7Ci0gICAgICAgIGlmICghbV92aWRlb0NvZGVjcy5j
b250YWlucyhpdC0+ZGVzY3JpcHRpb24tPmNvZGVjKCkpKQorICAgICAgICBpZiAoIW1fYXVkaW9D
b2RlY3MuY29udGFpbnMoaXQtPmRlc2NyaXB0aW9uLT5jb2RlYygpKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9CiAKICAgICBmb3IgKGF1dG8gaXQgPSBzZWdtZW50LnZpZGVvVHJh
Y2tzLmJlZ2luKCk7IGl0ICE9IHNlZ21lbnQudmlkZW9UcmFja3MuZW5kKCk7ICsraXQpIHsKLSAg
ICAgICAgaWYgKCFtX2F1ZGlvQ29kZWNzLmNvbnRhaW5zKGl0LT5kZXNjcmlwdGlvbi0+Y29kZWMo
KSkpCisgICAgICAgIGlmICghbV92aWRlb0NvZGVjcy5jb250YWlucyhpdC0+ZGVzY3JpcHRpb24t
PmNvZGVjKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9BdWRpb1RyYWNrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svQXVkaW9UcmFjay5jcHAKaW5kZXggNGYyZGQ4NGI0OTg3Nzg0NzAzM2Vh
NWNhZTE4ZWIwMjBkZDE4M2FmOC4uYmRiZWM2ZjQwNDNiYTY5ZmI5YmE4ZmMyY2Q5M2MyOGU3ZjI4
MmE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9BdWRpb1RyYWNrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2suY3BwCkBAIC04NCwz
MyArODQsNyBAQCBBdWRpb1RyYWNrOjpBdWRpb1RyYWNrKEF1ZGlvVHJhY2tDbGllbnQqIGNsaWVu
dCwgUGFzc1JlZlB0cjxBdWRpb1RyYWNrUHJpdmF0ZT4gdAogICAgICwgbV9wcml2YXRlKHRyYWNr
UHJpdmF0ZSkKIHsKICAgICBtX3ByaXZhdGUtPnNldENsaWVudCh0aGlzKTsKLQotICAgIHN3aXRj
aCAobV9wcml2YXRlLT5raW5kKCkpIHsKLSAgICBjYXNlIEF1ZGlvVHJhY2tQcml2YXRlOjpBbHRl
cm5hdGl2ZToKLSAgICAgICAgc2V0S2luZChBdWRpb1RyYWNrOjphbHRlcm5hdGl2ZUtleXdvcmQo
KSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXVkaW9UcmFja1ByaXZhdGU6OkRlc2NyaXB0
aW9uOgotICAgICAgICBzZXRLaW5kKEF1ZGlvVHJhY2s6OmRlc2NyaXB0aW9uS2V5d29yZCgpKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBdWRpb1RyYWNrUHJpdmF0ZTo6TWFpbjoKLSAgICAg
ICAgc2V0S2luZChBdWRpb1RyYWNrOjptYWluS2V5d29yZCgpKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBBdWRpb1RyYWNrUHJpdmF0ZTo6TWFpbkRlc2M6Ci0gICAgICAgIHNldEtpbmQoQXVk
aW9UcmFjazo6bWFpbkRlc2NLZXl3b3JkKCkpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEF1
ZGlvVHJhY2tQcml2YXRlOjpUcmFuc2xhdGlvbjoKLSAgICAgICAgc2V0S2luZChBdWRpb1RyYWNr
Ojp0cmFuc2xhdGlvbktleXdvcmQoKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXVkaW9U
cmFja1ByaXZhdGU6OkNvbW1lbnRhcnk6Ci0gICAgICAgIHNldEtpbmQoQXVkaW9UcmFjazo6Y29t
bWVudGFyeUtleXdvcmQoKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXVkaW9UcmFja1By
aXZhdGU6Ok5vbmU6Ci0gICAgICAgIHNldEtpbmQoZW1wdHlTdHJpbmcoKSk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICBicmVhazsKLSAgICB9CisgICAgdXBkYXRlS2luZEZyb21Qcml2YXRlKCk7CiB9CiAKIEF1ZGlv
VHJhY2s6On5BdWRpb1RyYWNrKCkKQEAgLTExOCw2ICs5MiwyMiBAQCBBdWRpb1RyYWNrOjp+QXVk
aW9UcmFjaygpCiAgICAgbV9wcml2YXRlLT5zZXRDbGllbnQoMCk7CiB9CiAKK3ZvaWQgQXVkaW9U
cmFjazo6c2V0UHJpdmF0ZShQYXNzUmVmUHRyPEF1ZGlvVHJhY2tQcml2YXRlPiB0cmFja1ByaXZh
dGUpCit7CisgICAgQVNTRVJUKG1fcHJpdmF0ZSk7CisgICAgQVNTRVJUKHRyYWNrUHJpdmF0ZSk7
CisKKyAgICBpZiAobV9wcml2YXRlID09IHRyYWNrUHJpdmF0ZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9wcml2YXRlLT5zZXRDbGllbnQoMCk7CisgICAgbV9wcml2YXRlID0gdHJhY2tQcml2
YXRlOworICAgIG1fcHJpdmF0ZS0+c2V0Q2xpZW50KHRoaXMpOworCisgICAgbV9wcml2YXRlLT5z
ZXRFbmFibGVkKG1fZW5hYmxlZCk7CisgICAgdXBkYXRlS2luZEZyb21Qcml2YXRlKCk7Cit9CisK
IGJvb2wgQXVkaW9UcmFjazo6aXNWYWxpZEtpbmQoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkg
Y29uc3QKIHsKICAgICBpZiAodmFsdWUgPT0gYWx0ZXJuYXRpdmVLZXl3b3JkKCkpCkBAIC0xODQs
NiArMTc0LDM2IEBAIHZvaWQgQXVkaW9UcmFjazo6d2lsbFJlbW92ZShUcmFja1ByaXZhdGVCYXNl
KiB0cmFja1ByaXZhdGUpCiAgICAgbWVkaWFFbGVtZW50KCktPnJlbW92ZUF1ZGlvVHJhY2sodGhp
cyk7CiB9CiAKK3ZvaWQgQXVkaW9UcmFjazo6dXBkYXRlS2luZEZyb21Qcml2YXRlKCkKK3sKKyAg
ICBzd2l0Y2ggKG1fcHJpdmF0ZS0+a2luZCgpKSB7CisgICAgY2FzZSBBdWRpb1RyYWNrUHJpdmF0
ZTo6QWx0ZXJuYXRpdmU6CisgICAgICAgIHNldEtpbmQoQXVkaW9UcmFjazo6YWx0ZXJuYXRpdmVL
ZXl3b3JkKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEF1ZGlvVHJhY2tQcml2YXRlOjpE
ZXNjcmlwdGlvbjoKKyAgICAgICAgc2V0S2luZChBdWRpb1RyYWNrOjpkZXNjcmlwdGlvbktleXdv
cmQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQXVkaW9UcmFja1ByaXZhdGU6Ok1haW46
CisgICAgICAgIHNldEtpbmQoQXVkaW9UcmFjazo6bWFpbktleXdvcmQoKSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQXVkaW9UcmFja1ByaXZhdGU6Ok1haW5EZXNjOgorICAgICAgICBzZXRL
aW5kKEF1ZGlvVHJhY2s6Om1haW5EZXNjS2V5d29yZCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBBdWRpb1RyYWNrUHJpdmF0ZTo6VHJhbnNsYXRpb246CisgICAgICAgIHNldEtpbmQoQXVk
aW9UcmFjazo6dHJhbnNsYXRpb25LZXl3b3JkKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEF1ZGlvVHJhY2tQcml2YXRlOjpDb21tZW50YXJ5OgorICAgICAgICBzZXRLaW5kKEF1ZGlvVHJh
Y2s6OmNvbW1lbnRhcnlLZXl3b3JkKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEF1ZGlv
VHJhY2tQcml2YXRlOjpOb25lOgorICAgICAgICBzZXRLaW5kKGVtcHR5U3RyaW5nKCkpOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9BdWRpb1RyYWNrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2suaAppbmRleCBkOWQ0MWJlODAy
ZDEwNmNjNDBlZjI1YjcyN2EyYWVjMmIzN2U1MmRiLi4wNjAyMjk1ZDY2MjM1ODk0M2Q0NTNjZjkw
NjUwZGM0MTNmNWQ1NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1
ZGlvVHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2suaApA
QCAtNjksNiArNjksOCBAQCBwdWJsaWM6CiAKICAgICBzaXplX3QgaW5iYW5kVHJhY2tJbmRleCgp
OwogCisgICAgdm9pZCBzZXRQcml2YXRlKFBhc3NSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGU+KTsK
KwogcHJvdGVjdGVkOgogICAgIEF1ZGlvVHJhY2soQXVkaW9UcmFja0NsaWVudCosIFBhc3NSZWZQ
dHI8QXVkaW9UcmFja1ByaXZhdGU+KTsKIApAQCAtODEsNiArODMsOCBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBsYW5ndWFnZUNoYW5nZWQoVHJhY2tQcml2YXRlQmFzZSosIGNvbnN0IEF0
b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlKFRyYWNr
UHJpdmF0ZUJhc2UqKSBvdmVycmlkZTsKIAorICAgIHZvaWQgdXBkYXRlS2luZEZyb21Qcml2YXRl
KCk7CisKICAgICBib29sIG1fZW5hYmxlZDsKICAgICBBdWRpb1RyYWNrQ2xpZW50KiBtX2NsaWVu
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9JbmJhbmRUZXh0VHJh
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9JbmJhbmRUZXh0VHJhY2suY3BwCmlu
ZGV4IGM0ODhhODljNTg0MTMyYjJlZTExZGRjNDhjYWRiZTcxMzU3YWQ5YzYuLjcxMDBiODYxMTY0
OGEzYjZiZmZjMDc4Y2VmNTVhOWZlNTQ5NzdjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svSW5iYW5kVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0luYmFuZFRleHRUcmFjay5jcHAKQEAgLTY1LDMxICs2NSw3IEBAIEluYmFuZFRleHRU
cmFjazo6SW5iYW5kVGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRl
eHRUcmFja0NsaWVuCiAgICAgLCBtX3ByaXZhdGUodHJhY2tQcml2YXRlKQogewogICAgIG1fcHJp
dmF0ZS0+c2V0Q2xpZW50KHRoaXMpOwotICAgIAotICAgIHN3aXRjaCAobV9wcml2YXRlLT5raW5k
KCkpIHsKLSAgICBjYXNlIEluYmFuZFRleHRUcmFja1ByaXZhdGU6OlN1YnRpdGxlczoKLSAgICAg
ICAgc2V0S2luZChUZXh0VHJhY2s6OnN1YnRpdGxlc0tleXdvcmQoKSk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZTo6Q2FwdGlvbnM6Ci0gICAgICAgIHNl
dEtpbmQoVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZTo6RGVzY3JpcHRpb25zOgotICAgICAgICBzZXRL
aW5kKFRleHRUcmFjazo6ZGVzY3JpcHRpb25zS2V5d29yZCgpKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpDaGFwdGVyczoKLSAgICAgICAgc2V0S2lu
ZChUZXh0VHJhY2s6OmNoYXB0ZXJzS2V5d29yZCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpNZXRhZGF0YToKLSAgICAgICAgc2V0S2luZChUZXh0
VHJhY2s6Om1ldGFkYXRhS2V5d29yZCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlOjpGb3JjZWQ6Ci0gICAgICAgIHNldEtpbmQoVGV4dFRyYWNrOjpm
b3JjZWRLZXl3b3JkKCkpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEluYmFuZFRleHRUcmFj
a1ByaXZhdGU6Ok5vbmU6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICB1cGRhdGVLaW5kRnJvbVByaXZhdGUoKTsK
IH0KIAogSW5iYW5kVGV4dFRyYWNrOjp+SW5iYW5kVGV4dFRyYWNrKCkKQEAgLTk3LDEwICs3Mywz
MCBAQCBJbmJhbmRUZXh0VHJhY2s6On5JbmJhbmRUZXh0VHJhY2soKQogICAgIG1fcHJpdmF0ZS0+
c2V0Q2xpZW50KDApOwogfQogCit2b2lkIEluYmFuZFRleHRUcmFjazo6c2V0UHJpdmF0ZShQYXNz
UmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGU+IHRyYWNrUHJpdmF0ZSkKK3sKKyAgICBBU1NF
UlQobV9wcml2YXRlKTsKKyAgICBBU1NFUlQodHJhY2tQcml2YXRlKTsKKworICAgIGlmIChtX3By
aXZhdGUgPT0gdHJhY2tQcml2YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3ByaXZhdGUt
PnNldENsaWVudCgwKTsKKyAgICBtX3ByaXZhdGUgPSB0cmFja1ByaXZhdGU7CisgICAgbV9wcml2
YXRlLT5zZXRDbGllbnQodGhpcyk7CisKKyAgICBzZXRNb2RlSW50ZXJuYWwobW9kZSgpKTsKKyAg
ICB1cGRhdGVLaW5kRnJvbVByaXZhdGUoKTsKK30KKwogdm9pZCBJbmJhbmRUZXh0VHJhY2s6OnNl
dE1vZGUoY29uc3QgQXRvbWljU3RyaW5nJiBtb2RlKQogewogICAgIFRleHRUcmFjazo6c2V0TW9k
ZShtb2RlKTsKKyAgICBzZXRNb2RlSW50ZXJuYWwobW9kZSk7Cit9CiAKK3ZvaWQgSW5iYW5kVGV4
dFRyYWNrOjpzZXRNb2RlSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJiBtb2RlKQorewogICAg
IGlmIChtb2RlID09IFRleHRUcmFjazo6ZGlzYWJsZWRLZXl3b3JkKCkpCiAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0TW9kZShJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpEaXNhYmxlZCk7CiAgICAgZWxz
ZSBpZiAobW9kZSA9PSBUZXh0VHJhY2s6OmhpZGRlbktleXdvcmQoKSkKQEAgLTE4OSw2ICsxODUs
MzQgQEAgdm9pZCBJbmJhbmRUZXh0VHJhY2s6OndpbGxSZW1vdmUoVHJhY2tQcml2YXRlQmFzZSog
dHJhY2tQcml2YXRlKQogICAgIG1lZGlhRWxlbWVudCgpLT5yZW1vdmVUZXh0VHJhY2sodGhpcyk7
CiB9CiAKK3ZvaWQgSW5iYW5kVGV4dFRyYWNrOjp1cGRhdGVLaW5kRnJvbVByaXZhdGUoKQorewor
ICAgIHN3aXRjaCAobV9wcml2YXRlLT5raW5kKCkpIHsKKyAgICBjYXNlIEluYmFuZFRleHRUcmFj
a1ByaXZhdGU6OlN1YnRpdGxlczoKKyAgICAgICAgc2V0S2luZChUZXh0VHJhY2s6OnN1YnRpdGxl
c0tleXdvcmQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZTo6Q2FwdGlvbnM6CisgICAgICAgIHNldEtpbmQoVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdv
cmQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZTo6
RGVzY3JpcHRpb25zOgorICAgICAgICBzZXRLaW5kKFRleHRUcmFjazo6ZGVzY3JpcHRpb25zS2V5
d29yZCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbmJhbmRUZXh0VHJhY2tQcml2YXRl
OjpDaGFwdGVyczoKKyAgICAgICAgc2V0S2luZChUZXh0VHJhY2s6OmNoYXB0ZXJzS2V5d29yZCgp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpNZXRh
ZGF0YToKKyAgICAgICAgc2V0S2luZChUZXh0VHJhY2s6Om1ldGFkYXRhS2V5d29yZCgpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBJbmJhbmRUZXh0VHJhY2tQcml2YXRlOjpGb3JjZWQ6Cisg
ICAgICAgIHNldEtpbmQoVGV4dFRyYWNrOjpmb3JjZWRLZXl3b3JkKCkpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEluYmFuZFRleHRUcmFja1ByaXZhdGU6Ok5vbmU6CisgICAgZGVmYXVsdDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svSW5iYW5kVGV4dFRyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0luYmFuZFRleHRUcmFjay5oCmluZGV4IDkyNGIxMjY0ZmU2YzUyZTQwOTllOTg2ZmQy
MjcyMzdiZTExZWYxNjUuLmNkNDdmY2EyNDI2Mjk5MDllN2EwYzUzOTY2YjBkYWUxOWFkY2RjZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svSW5iYW5kVGV4dFRyYWNrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9JbmJhbmRUZXh0VHJhY2suaApAQCAtNTAs
OSArNTAsMTYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgaW5CYW5kTWV0
YWRhdGFUcmFja0Rpc3BhdGNoVHlwZSgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRQcml2YXRlKFBh
c3NSZWZQdHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZT4pOworCisgICAgdmlydHVhbCBib29sIGlz
SW5iYW5kKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorCiBwcm90ZWN0ZWQ6CiAg
ICAgSW5iYW5kVGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUZXh0VHJhY2tDbGll
bnQqLCBQYXNzUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGU+KTsKIAorICAgIHZvaWQgc2V0
TW9kZUludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpOworICAgIHZvaWQgdXBkYXRlS2luZEZy
b21Qcml2YXRlKCk7CisKICAgICBSZWZQdHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZT4gbV9wcml2
YXRlOwogCiBwcml2YXRlOgpAQCAtNzUsNiArODIsOCBAQCBwcml2YXRlOgogI2VuZGlmCiB9Owog
CitUWVBFX0NBU1RTX0JBU0UoSW5iYW5kVGV4dFRyYWNrLCBUZXh0VHJhY2ssIHRyYWNrLCB0cmFj
ay0+aXNJbmJhbmQoKSwgdHJhY2suaXNJbmJhbmQoKSk7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRU
cmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAppbmRleCA1NTk0
NTk4YTE0NTc0YjNiYjY5NmM3YjY1NjYwNTY4NDk4NmMyYjI5Li4yOWQ4Yzc3MDQ2MTllNmZjOWUz
YjQ1MGU4MThjMDFlNTY0Nzk1NmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1RleHRUcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
LmgKQEAgLTE1Niw2ICsxNTYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldExhbmd1
YWdlKGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICB2aXJ0dWFs
IGJvb2wgaXNJbmJhbmQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgdXNpbmcgUmVm
Q291bnRlZDxUcmFja0Jhc2U+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDxUcmFja0Jhc2U+
OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WaWRlb1Ry
YWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlkZW9UcmFjay5jcHAKaW5kZXgg
NTk5NzgyMzRmYzc2YTk0MzRlMjFiNzk2NWNkN2VhZTdhNDA0NDUzYi4uYmJkYzkwZGRmYmMxM2Mx
MmRkYjFiMzhkMTEyODk4YjkxYjExMzkzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WaWRlb1RyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Zp
ZGVvVHJhY2suY3BwCkBAIC04OCwzMyArODgsNyBAQCBWaWRlb1RyYWNrOjpWaWRlb1RyYWNrKFZp
ZGVvVHJhY2tDbGllbnQqIGNsaWVudCwgUGFzc1JlZlB0cjxWaWRlb1RyYWNrUHJpdmF0ZT4gdAog
ICAgICwgbV9wcml2YXRlKHRyYWNrUHJpdmF0ZSkKIHsKICAgICBtX3ByaXZhdGUtPnNldENsaWVu
dCh0aGlzKTsKLQotICAgIHN3aXRjaCAobV9wcml2YXRlLT5raW5kKCkpIHsKLSAgICBjYXNlIFZp
ZGVvVHJhY2tQcml2YXRlOjpBbHRlcm5hdGl2ZToKLSAgICAgICAgc2V0S2luZEludGVybmFsKFZp
ZGVvVHJhY2s6OmFsdGVybmF0aXZlS2V5d29yZCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBWaWRlb1RyYWNrUHJpdmF0ZTo6Q2FwdGlvbnM6Ci0gICAgICAgIHNldEtpbmRJbnRlcm5hbChW
aWRlb1RyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
VmlkZW9UcmFja1ByaXZhdGU6Ok1haW46Ci0gICAgICAgIHNldEtpbmRJbnRlcm5hbChWaWRlb1Ry
YWNrOjptYWluS2V5d29yZCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBWaWRlb1RyYWNr
UHJpdmF0ZTo6U2lnbjoKLSAgICAgICAgc2V0S2luZEludGVybmFsKFZpZGVvVHJhY2s6OnNpZ25L
ZXl3b3JkKCkpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFZpZGVvVHJhY2tQcml2YXRlOjpT
dWJ0aXRsZXM6Ci0gICAgICAgIHNldEtpbmRJbnRlcm5hbChWaWRlb1RyYWNrOjpzdWJ0aXRsZXNL
ZXl3b3JkKCkpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFZpZGVvVHJhY2tQcml2YXRlOjpD
b21tZW50YXJ5OgotICAgICAgICBzZXRLaW5kSW50ZXJuYWwoVmlkZW9UcmFjazo6Y29tbWVudGFy
eUtleXdvcmQoKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVmlkZW9UcmFja1ByaXZhdGU6
Ok5vbmU6Ci0gICAgICAgIHNldEtpbmRJbnRlcm5hbChlbXB0eVN0cmluZygpKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KKyAgICB1cGRhdGVLaW5kRnJvbVByaXZhdGUoKTsKIH0KIAogVmlk
ZW9UcmFjazo6flZpZGVvVHJhY2soKQpAQCAtMTIyLDYgKzk2LDIyIEBAIFZpZGVvVHJhY2s6On5W
aWRlb1RyYWNrKCkKICAgICBtX3ByaXZhdGUtPnNldENsaWVudCgwKTsKIH0KIAordm9pZCBWaWRl
b1RyYWNrOjpzZXRQcml2YXRlKFBhc3NSZWZQdHI8VmlkZW9UcmFja1ByaXZhdGU+IHRyYWNrUHJp
dmF0ZSkKK3sKKyAgICBBU1NFUlQobV9wcml2YXRlKTsKKyAgICBBU1NFUlQodHJhY2tQcml2YXRl
KTsKKworICAgIGlmIChtX3ByaXZhdGUgPT0gdHJhY2tQcml2YXRlKQorICAgICAgICByZXR1cm47
CisKKyAgICBtX3ByaXZhdGUtPnNldENsaWVudChudWxscHRyKTsKKyAgICBtX3ByaXZhdGUgPSB0
cmFja1ByaXZhdGU7CisgICAgbV9wcml2YXRlLT5zZXRDbGllbnQodGhpcyk7CisKKyAgICBtX3By
aXZhdGUtPnNldFNlbGVjdGVkKG1fc2VsZWN0ZWQpOworICAgIHVwZGF0ZUtpbmRGcm9tUHJpdmF0
ZSgpOworfQorCiBib29sIFZpZGVvVHJhY2s6OmlzVmFsaWRLaW5kKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgaWYgKHZhbHVlID09IGFsdGVybmF0aXZlS2V5d29yZCgp
KQpAQCAtMjMxLDYgKzIyMSwzNiBAQCB2b2lkIFZpZGVvVHJhY2s6OnNldExhbmd1YWdlKGNvbnN0
IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UpCiB9CiAjZW5kaWYKIAordm9pZCBWaWRlb1RyYWNrOjp1
cGRhdGVLaW5kRnJvbVByaXZhdGUoKQoreworICAgIHN3aXRjaCAobV9wcml2YXRlLT5raW5kKCkp
IHsKKyAgICBjYXNlIFZpZGVvVHJhY2tQcml2YXRlOjpBbHRlcm5hdGl2ZToKKyAgICAgICAgc2V0
S2luZEludGVybmFsKFZpZGVvVHJhY2s6OmFsdGVybmF0aXZlS2V5d29yZCgpKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBWaWRlb1RyYWNrUHJpdmF0ZTo6Q2FwdGlvbnM6CisgICAgICAgIHNl
dEtpbmRJbnRlcm5hbChWaWRlb1RyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgVmlkZW9UcmFja1ByaXZhdGU6Ok1haW46CisgICAgICAgIHNldEtpbmRJ
bnRlcm5hbChWaWRlb1RyYWNrOjptYWluS2V5d29yZCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBWaWRlb1RyYWNrUHJpdmF0ZTo6U2lnbjoKKyAgICAgICAgc2V0S2luZEludGVybmFsKFZp
ZGVvVHJhY2s6OnNpZ25LZXl3b3JkKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZpZGVv
VHJhY2tQcml2YXRlOjpTdWJ0aXRsZXM6CisgICAgICAgIHNldEtpbmRJbnRlcm5hbChWaWRlb1Ry
YWNrOjpzdWJ0aXRsZXNLZXl3b3JkKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZpZGVv
VHJhY2tQcml2YXRlOjpDb21tZW50YXJ5OgorICAgICAgICBzZXRLaW5kSW50ZXJuYWwoVmlkZW9U
cmFjazo6Y29tbWVudGFyeUtleXdvcmQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgVmlk
ZW9UcmFja1ByaXZhdGU6Ok5vbmU6CisgICAgICAgIHNldEtpbmRJbnRlcm5hbChlbXB0eVN0cmlu
ZygpKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlk
ZW9UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WaWRlb1RyYWNrLmgKaW5kZXgg
ZmE3YWQ3OWIxZmVjYWE5OTI5NGE0ODg3ZjQzZTczMDFhMzcyOTNjYS4uMjdhNTEwMjIxOTBjNGE4
MzhlZDAzNWEwY2VjNGE4MTcwMjhmMGNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WaWRlb1RyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WaWRl
b1RyYWNrLmgKQEAgLTc3LDYgKzc3LDggQEAgcHVibGljOgogCiAgICAgY29uc3QgTWVkaWFEZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24oKSBjb25zdDsKIAorICAgIHZvaWQgc2V0UHJpdmF0ZShQYXNz
UmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlPik7CisKIHByb3RlY3RlZDoKICAgICBWaWRlb1RyYWNr
KFZpZGVvVHJhY2tDbGllbnQqLCBQYXNzUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlPiBwcml2YXRl
VHJhY2spOwogCkBAIC05MSw2ICs5Myw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wg
ZW5hYmxlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNlbGVjdGVkKCk7IH0KIAorICAgIHZv
aWQgdXBkYXRlS2luZEZyb21Qcml2YXRlKCk7CisKICAgICBib29sIG1fc2VsZWN0ZWQ7CiAgICAg
VmlkZW9UcmFja0NsaWVudCogbV9jbGllbnQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxYzFhNjAxZDQ4ZmM2Mzc4OTRj
NWUwNmZiZTdmZDFhMmI1MmJhN2ZjLi4yOTYyZGZhM2VjYTU2NGY1ODI4YjU1OGNlNDM0YzA3MjMx
YTVhMThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDQtMTYgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW01TRV0gTXVsdGlwbGUgaW5pdGlhbGl6YXRp
b24gc2VnbWVudHMgd2l0aCBzYW1lIGNvZGVjcyBpbiB0cmFja3MgZmFpbCB2YWxpZGF0aW9uLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxNzY4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS9t
ZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLW11bHRpcGxlLWluaXRpYWxpemF0aW9uLXNlZ21lbnRz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS1tdWx0aXBsZS1pbml0aWFsaXphdGlvbi1zZWdtZW50cy5odG1sOiBBZGRlZC4KKwog
MjAxNC0wNC0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNp
bXBsZSBFUzYgZmVhdHVyZTpBcnJheS5wcm90b3R5cGUuZmlsbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1tdWx0aXBsZS1pbml0aWFsaXph
dGlvbi1zZWdtZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLW11bHRpcGxlLWluaXRpYWxpemF0aW9uLXNlZ21lbnRzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43OTJhN2UwNTU4NWJhODYyMGRmMTU0OTQwNWRjMTUxZTg3MGEyMTk5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS1tdWx0aXBsZS1pbml0aWFsaXphdGlvbi1zZWdtZW50cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorCitSVU4odmlkZW8uc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChzb3Vy
Y2UpKQorRVZFTlQoc291cmNlb3BlbikKK1JVTihzb3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291
cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9bW9jayIpKQorUlVOKHNvdXJjZUJ1ZmZlci5h
cHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQorRVZFTlQodXBkYXRlZW5kKQorVGVzdCB0aGF0IGEg
cmVwbGFjZW1lbnQgaW5pdGlhbGl6YXRpb24gc2VnbWVudCBjb250YWluaW5nIGEgdHJhY2sgd2l0
aCB0aGUgc2FtZSBjb2RlYyBidXQgYSBkaWZmZXJlbnQgdHJhY2tJRCBzdWNjZWVkcy4KK1JVTihz
b3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKGluaXRTZWdtZW50KSkKK0VWRU5UKHVwZGF0ZWVuZCkK
K1Rlc3QgdGhhdCBhIHJlcGxhY2VtZW50IGluaXRpYWxpemF0aW9uIHNlZ21lbnQgY29udGFpbmlu
ZyBhIHRyYWNrIHdpdGggYSBkaWZmZXJlbnQgY29kZWMgYnV0IHRoZSBzYW1lIHRyYWNrSUQgZmFp
bHMuCitSVU4oc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihpbml0U2VnbWVudCkpCitFVkVOVChz
b3VyY2VlbmRlZCkKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtbXVsdGlwbGUtaW5pdGlhbGl6YXRpb24tc2VnbWVu
dHMuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtbXVs
dGlwbGUtaW5pdGlhbGl6YXRpb24tc2VnbWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzhlMmQ4YWRl
Yjk3OWMyMjBiYzA4Y2ZhZGEzMDZhYmJkNGEwZDI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1tdWx0aXBsZS1pbml0aWFsaXph
dGlvbi1zZWdtZW50cy5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+bW9jay1tZWRpYS1zb3VyY2U8L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSJtb2NrLW1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9Ii4uL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgdmFyIHNv
dXJjZTsKKyAgICB2YXIgc291cmNlQnVmZmVyOworICAgIHZhciBpbml0U2VnbWVudDsKKworICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuaW5pdGlhbGl6ZU1vY2tN
ZWRpYVNvdXJjZSgpOworCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgZmluZE1l
ZGlhRWxlbWVudCgpOworCisgICAgICAgIHNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOworICAg
ICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2UsICdzb3VyY2VvcGVuJywgc291cmNlT3Blbik7Cisg
ICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZSwgJ3NvdXJjZWVuZGVkJywgc291cmNlRW5kZWQp
OworICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoc291cmNlKScp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHNvdXJjZU9wZW4oKSB7CisgICAgICAgIHJ1bignc291
cmNlQnVmZmVyID0gc291cmNlLmFkZFNvdXJjZUJ1ZmZlcigidmlkZW8vbW9jazsgY29kZWNzPW1v
Y2siKScpOworCisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVu
ZCcsIGZpcnN0VXBkYXRlLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGluaXRTZWdtZW50ID0gbWFr
ZUFJbml0KDEwMCwgWworICAgICAgICAgICAgbWFrZUFUcmFjaygxLCAnbW9jaycsIFRSQUNLX0tJ
TkQuVklERU8pLAorICAgICAgICBdKTsKKyAgICAgICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5k
QnVmZmVyKGluaXRTZWdtZW50KScpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNvdXJjZUVuZGVk
KCkgeworICAgICAgICBpZiAoIWV4cGVjdGVkKQorICAgICAgICAgICAgbG9nUmVzdWx0KEZhaWxl
ZCwgJ1VuZXhwZWN0ZWQgInNvdXJjZWVuZGVkIiBldmVudCcpOworICAgICAgICBlbmRUZXN0KCk7
CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGZpcnN0VXBkYXRlKCkgeworICAgICAgICBjb25z
b2xlV3JpdGUoJ1Rlc3QgdGhhdCBhIHJlcGxhY2VtZW50IGluaXRpYWxpemF0aW9uIHNlZ21lbnQg
Y29udGFpbmluZyBhIHRyYWNrIHdpdGggdGhlIHNhbWUgY29kZWMgYnV0IGEgZGlmZmVyZW50IHRy
YWNrSUQgc3VjY2VlZHMuJykKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAn
dXBkYXRlZW5kJywgc2Vjb25kVXBkYXRlLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGluaXRTZWdt
ZW50ID0gbWFrZUFJbml0KDEwMCwgWworICAgICAgICAgICAgbWFrZUFUcmFjaygyLCAnbW9jaycs
IFRSQUNLX0tJTkQuVklERU8pLAorICAgICAgICBdKTsKKyAgICAgICAgcnVuKCdzb3VyY2VCdWZm
ZXIuYXBwZW5kQnVmZmVyKGluaXRTZWdtZW50KScpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNl
Y29uZFVwZGF0ZSgpIHsKKyAgICAgICAgY29uc29sZVdyaXRlKCdUZXN0IHRoYXQgYSByZXBsYWNl
bWVudCBpbml0aWFsaXphdGlvbiBzZWdtZW50IGNvbnRhaW5pbmcgYSB0cmFjayB3aXRoIGEgZGlm
ZmVyZW50IGNvZGVjIGJ1dCB0aGUgc2FtZSB0cmFja0lEIGZhaWxzLicpCisgICAgICAgIHdhaXRG
b3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIGVuZFRlc3QsIGZhbHNlLCB0cnVl
KTsKKyAgICAgICAgZXhwZWN0ZWQgPSB0cnVlOworICAgICAgICBpbml0U2VnbWVudCA9IG1ha2VB
SW5pdCgxMDAsIFsKKyAgICAgICAgICAgIG1ha2VBVHJhY2soMiwgJyFtb2MnLCBUUkFDS19LSU5E
LlZJREVPKSwKKyAgICAgICAgXSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1
ZmZlcihpbml0U2VnbWVudCknKTsKKyAgICB9CisKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8dmlkZW8+PC92aWRlbz4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>
<flag name="review"
          id="253867"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>