<?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>132374</bug_id>
          
          <creation_ts>2014-04-29 20:41:23 -0700</creation_ts>
          <short_desc>[iOS] do not pause video when entering background while playing to external device</short_desc>
          <delta_ts>2022-10-25 15:28:26 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005265</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-29 20:41:23 -0700</bug_when>
    <thetext>Do not pause &lt;video&gt;/&lt;audio&gt; when process switches to background while playing to an external device.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005266</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-29 20:41:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/16630465&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005268</commentid>
    <comment_count>2</comment_count>
      <attachid>230454</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-29 20:50:18 -0700</bug_when>
    <thetext>Created attachment 230454
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005397</commentid>
    <comment_count>3</comment_count>
      <attachid>230485</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-30 09:51:56 -0700</bug_when>
    <thetext>Created attachment 230485
Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005526</commentid>
    <comment_count>4</comment_count>
      <attachid>230485</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-30 14:44:46 -0700</bug_when>
    <thetext>Comment on attachment 230485
Updated patch.

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

&gt; Source/WebCore/platform/audio/MediaSession.cpp:85
&gt; +    if (type == EnteringBackground &amp;&amp; client().overrideBackgroundPlaybackRestriction())
&gt; +        return;
&gt; +

I&apos;m not a huge fan of making the client responsible for this behavior, but I don&apos;t think we have a choice right now.  r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005543</commentid>
    <comment_count>5</comment_count>
      <attachid>230528</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-30 15:09:39 -0700</bug_when>
    <thetext>Created attachment 230528
Another patch 

To get the managed name of beginInterruption for the Windows export file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005625</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-30 18:48:52 -0700</bug_when>
    <thetext>Committed r168075: https://trac.webkit.org/r168075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1908271</commentid>
    <comment_count>7</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-10-25 15:28:26 -0700</bug_when>
    <thetext>Landed and didn&apos;t backed out - https://github.com/WebKit/WebKit/commit/3b125a6bb5d73e88f35bb8c07e843997c3ac35e9

Marking this as &quot;RESOLVED FIXED&quot;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230454</attachid>
            <date>2014-04-29 20:50:18 -0700</date>
            <delta_ts>2014-04-30 09:51:56 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>patch_3.txt</filename>
            <type>text/plain</type>
            <size>11845</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzk3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE0LTA0LTI5ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGRvIG5vdCBw
YXVzZSB2aWRlbyB3aGVuIGVudGVyaW5nIGJhY2tncm91bmQgd2hpbGUgcGxheWluZyB0byBleHRl
cm5hbCBkZXZpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMjM3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViQ29yZS5leHAuaW46IFVwZGF0ZSBiZWdpbkludGVycnVwdGlvbiBzaWduYXR1cmUu
CisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FuT3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmlj
dGlvbik6IE5ldywgcmV0dXJuIHRydWUgd2hlbgorICAgICAgICAgICAgcGxheWluZyB0byBleHRl
cm5hbCBkZXZpY2UuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZXNzaW9uOjpiZWdpbkludGVycnVwdGlvbik6IEFkZCBpbnRlcnJ1cHRpb24gdHlwZSB0
byBiZWdpbkludGVycnVwdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Np
b24uaDoKKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6YmVnaW5JbnRlcnJ1cHRp
b24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OmFwcGxp
Y2F0aW9uV2lsbEVudGVyQmFja2dyb3VuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlcjo6c3lzdGVtV2lsbFNsZWVwKTogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vaW9zL0F1ZGlvRGVzdGluYXRpb25JT1MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbToKKyAgICAgICAgKC1bV2ViTWVkaWFTZXNz
aW9uSGVscGVyIGludGVycnVwdGlvbjpdKTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9EZXN0aW5hdGlvbk1hYy5oOiBNYWtlIG1vc3QgbWV0aG9kcyBwcml2YXRl
LiBBZGQgCisgICAgICAgICAgICBjYW5PdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0
aW9uLiBBZGQgbWlzc2luZyBvdmVycmlkZXMuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpiZWdpbk1lZGlhU2Vzc2lvbkludGVy
cnVwdGlvbik6IFBhc3MgaW50ZXJydXB0aW9uIHR5cGUuCisKIDIwMTQtMDQtMjkgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFuIHVudXNlZCBv
dmVycmlkZSBvZiBCbG9iUmVnaXN0cnlJbXBsOjphcHBlbmRTdG9yYWdlSXRlbXMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxNjc3ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtNzk4LDcgKzc5OCw3IEBAIF9fWk43V2ViQ29y
ZTE5TWVkaWFTZXNzaW9uTWFuYWdlcjEycmVzdHIKIF9fWk43V2ViQ29yZTE5TWVkaWFTZXNzaW9u
TWFuYWdlcjEzc2hhcmVkTWFuYWdlckV2CiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFn
ZXIxNGFkZFJlc3RyaWN0aW9uRU5TXzEyTWVkaWFTZXNzaW9uOU1lZGlhVHlwZUVqCiBfX1pON1dl
YkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIxNWVuZEludGVycnVwdGlvbkVOU18xMk1lZGlhU2Vz
c2lvbjIwRW5kSW50ZXJydXB0aW9uRmxhZ3NFCi1fX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1h
bmFnZXIxN2JlZ2luSW50ZXJydXB0aW9uRXYKK19fWk43V2ViQ29yZTE5TWVkaWFTZXNzaW9uTWFu
YWdlcjE3YmVnaW5JbnRlcnJ1cHRpb25FTlNfMTJNZWRpYVNlc3Npb24xNkludGVycnVwdGlvblR5
cGVFCiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIxN3JlbW92ZVJlc3RyaWN0aW9u
RU5TXzEyTWVkaWFTZXNzaW9uOU1lZGlhVHlwZUVqCiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lv
bk1hbmFnZXIzMGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZEVOU18xMk1lZGlhU2Vzc2lv
bjI0UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlRQogX19aTjdXZWJDb3JlMTlNZWRpYVNlc3Npb25N
YW5hZ2VyOWFkZENsaWVudEVQTlNfMjVNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50RQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjc3ODMp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MTI1LDYgKzYxMjUsMTUgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRSZWNl
aXZlUmVtb3RlQwogICAgIH0KIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpvdmVycmlkZUJh
Y2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU9TX0FJ
UlBMQVkpCisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5pc0N1cnJlbnRQbGF5YmFja1Rh
cmdldFdpcmVsZXNzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmRvZXNIYXZlQXR0cmlidXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlLCBBdG9taWNTdHJpbmcqIHZhbHVlKSBjb25zdAog
ewogICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZShudWxsQXRvbSwgYXR0cmlidXRlLCBu
dWxsQXRvbSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2
aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTcxNyw2ICs3MTcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
ZG91YmxlIG1lZGlhU2Vzc2lvbkN1cnJlbnRUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Y3VycmVudFRpbWUoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBvdmVycmlkZUJh
Y2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lk
IHJlZ2lzdGVyV2l0aERvY3VtZW50KERvY3VtZW50Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyV2l0
aERvY3VtZW50KERvY3VtZW50Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9NZWRpYVNlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAJKHJldmlzaW9uIDE2Nzc4MykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2
LDEwICs3NiwxMyBAQCB2b2lkIE1lZGlhU2Vzc2lvbjo6c2V0U3RhdGUoU3RhdGUgc3RhdGUpCiAg
ICAgbV9zdGF0ZSA9IHN0YXRlOwogfQogCi12b2lkIE1lZGlhU2Vzc2lvbjo6YmVnaW5JbnRlcnJ1
cHRpb24oKQordm9pZCBNZWRpYVNlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlv
blR5cGUgdHlwZSkKIHsKICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb246OmJlZ2luSW50ZXJy
dXB0aW9uKCVwKSwgc3RhdGUgPSAlcyIsIHRoaXMsIHN0YXRlTmFtZShtX3N0YXRlKSk7CiAKKyAg
ICBpZiAodHlwZSA9PSBFbnRlcmluZ0JhY2tncm91bmQgJiYgY2xpZW50KCkub3ZlcnJpZGVCYWNr
Z3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbigpKQorICAgICAgICByZXR1cm47CisKICAgICBtX3N0
YXRlVG9SZXN0b3JlID0gc3RhdGUoKTsKICAgICBtX25vdGlmeWluZ0NsaWVudCA9IHRydWU7CiAg
ICAgY2xpZW50KCkucGF1c2VQbGF5YmFjaygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE2Nzc4MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01
NywxMSArNTcsMTYgQEAgcHVibGljOgogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4g
bV9zdGF0ZTsgfQogICAgIHZvaWQgc2V0U3RhdGUoU3RhdGUpOwogCisgICAgZW51bSBJbnRlcnJ1
cHRpb25UeXBlIHsKKyAgICAgICAgU3lzdGVtU2xlZXAsCisgICAgICAgIEVudGVyaW5nQmFja2dy
b3VuZCwKKyAgICAgICAgU3lzdGVtSW50ZXJydXB0aW9uLAorICAgIH07CiAgICAgZW51bSBFbmRJ
bnRlcnJ1cHRpb25GbGFncyB7CiAgICAgICAgIE5vRmxhZ3MgPSAwLAogICAgICAgICBNYXlSZXN1
bWVQbGF5aW5nID0gMSA8PCAwLAogICAgIH07Ci0gICAgdm9pZCBiZWdpbkludGVycnVwdGlvbigp
OworICAgIHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oSW50ZXJydXB0aW9uVHlwZSk7CiAgICAgdm9p
ZCBlbmRJbnRlcnJ1cHRpb24oRW5kSW50ZXJydXB0aW9uRmxhZ3MpOwogCiAgICAgdm9pZCBhcHBs
aWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKSBjb25zdDsKQEAgLTEyNyw2ICsxMzIsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZEJ1ZmZlckRhdGEoYm9vbCkgeyB9CiAg
ICAgdmlydHVhbCBib29sIGVsZW1lbnRJc0hpZGRlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKKyAgICB2aXJ0dWFsIGJvb2wgb3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmljdGlv
bigpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbkNs
aWVudCgpIHsgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbk1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNjc3ODMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODEsMTQgKzgxLDE0IEBAIGludCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb3Vu
dChNZWRpYVNlc3MKICAgICByZXR1cm4gY291bnQ7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uTWFu
YWdlcjo6YmVnaW5JbnRlcnJ1cHRpb24oKQordm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdp
bkludGVycnVwdGlvbihNZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUgdHlwZSkKIHsKICAg
ICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdpbkludGVycnVwdGlvbiIpOwog
CiAgICAgbV9pbnRlcnJ1cHRlZCA9IHRydWU7CiAgICAgVmVjdG9yPE1lZGlhU2Vzc2lvbio+IHNl
c3Npb25zID0gbV9zZXNzaW9uczsKICAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBzZXNzaW9ucykK
LSAgICAgICAgc2Vzc2lvbi0+YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgc2Vzc2lvbi0+
YmVnaW5JbnRlcnJ1cHRpb24odHlwZSk7CiB9CiAKIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcjo6
ZW5kSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6RW5kSW50ZXJydXB0aW9uRmxhZ3MgZmxhZ3Mp
CkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjphcHBsaWNhdGlv
bldpbAogICAgIFZlY3RvcjxNZWRpYVNlc3Npb24qPiBzZXNzaW9ucyA9IG1fc2Vzc2lvbnM7CiAg
ICAgZm9yIChhdXRvKiBzZXNzaW9uIDogc2Vzc2lvbnMpIHsKICAgICAgICAgaWYgKG1fcmVzdHJp
Y3Rpb25zW3Nlc3Npb24tPm1lZGlhVHlwZSgpXSAmIEJhY2tncm91bmRQbGF5YmFja05vdFBlcm1p
dHRlZCkKLSAgICAgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKCk7CisgICAgICAg
ICAgICBzZXNzaW9uLT5iZWdpbkludGVycnVwdGlvbihNZWRpYVNlc3Npb246OkVudGVyaW5nQmFj
a2dyb3VuZCk7CiAgICAgfQogfQogCkBAIC0zMTQsNyArMzE0LDcgQEAgdm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyOjpzeXN0ZW1XaWxsU2xlZQogICAgICAgICByZXR1cm47CiAKICAgICBmb3IgKGF1
dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMpCi0gICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0
aW9uKCk7CisgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6
U3lzdGVtU2xlZXApOwogfQogCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN5c3RlbURpZFdh
a2UoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFu
YWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3
ICs2MCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhcyhNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSkg
Y29uc3Q7CiAgICAgaW50IGNvdW50KE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlKSBjb25zdDsKIAot
ICAgIHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICB2b2lkIGJlZ2luSW50ZXJydXB0aW9u
KE1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSk7CiAgICAgdm9pZCBlbmRJbnRlcnJ1cHRp
b24oTWVkaWFTZXNzaW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncyk7CiAKICAgICB2b2lkIGFwcGxp
Y2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvRGVzdGluYXRpb25JT1MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9EZXN0aW5hdGlvbklPUy5oCShy
ZXZpc2lvbiAxNjc3ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVk
aW9EZXN0aW5hdGlvbklPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVNlc3Npb246OldlYkF1ZGlvOyB9CiAgICAgdmlydHVhbCBib29sIGNh
blJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBvdmVy
cmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VQbGF5YmFjaygpIG92ZXJyaWRlIHsgc3RvcCgpOyB9
CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdGFydCgpOyB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25N
YW5hZ2VySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCShyZXZpc2lvbiAxNjc3ODMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjgyLDcgKzI4Miw3IEBAIC0gKHZvaWQpaW50ZXJydXB0aW9uOihO
U05vdGlmaWNhdGlvbiAqKW4KICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodHlw
ZSA9PSBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvblR5cGVCZWdhbikKLSAgICAgICAgICAgIF9j
YWxsYmFjay0+YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgICAgIF9jYWxsYmFjay0+YmVn
aW5JbnRlcnJ1cHRpb24oTWVkaWFTZXNzaW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24pOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBfY2FsbGJhY2stPmVuZEludGVycnVwdGlvbihmbGFncyk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb0Rlc3RpbmF0aW9u
TWFjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1
ZGlvRGVzdGluYXRpb25NYWMuaAkocmV2aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvRGVzdGluYXRpb25NYWMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDQsMTUgKzQ0LDYgQEAgcHVibGljOgogICAgIEF1ZGlvRGVzdGluYXRpb25NYWMoQXVkaW9J
T0NhbGxiYWNrJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgdmlydHVhbCB+QXVkaW9EZXN0aW5h
dGlvbk1hYygpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0KCkgb3ZlcnJpZGU7Ci0gICAgdmly
dHVhbCB2b2lkIHN0b3AoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNQbGF5aW5nKCkg
b3ZlcnJpZGUgeyByZXR1cm4gbV9pc1BsYXlpbmc7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBwYXVz
ZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdG9wKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVzdW1l
UGxheWJhY2soKSBvdmVycmlkZSB7IHN0YXJ0KCk7IH0KLQotICAgIHZpcnR1YWwgZmxvYXQgc2Ft
cGxlUmF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQotCiBwcml2
YXRlOgogICAgIHZvaWQgY29uZmlndXJlKCk7CiAKQEAgLTYxLDkgKzUyLDE5IEBAIHByaXZhdGU6
CiAKICAgICBPU1N0YXR1cyByZW5kZXIoVUludDMyIG51bWJlck9mRnJhbWVzLCBBdWRpb0J1ZmZl
ckxpc3QqIGlvRGF0YSk7CiAKLSAgICB2aXJ0dWFsIE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1l
ZGlhVHlwZSgpIGNvbnN0IHsgcmV0dXJuIE1lZGlhU2Vzc2lvbjo6V2ViQXVkaW87IH0KLSAgICB2
aXJ0dWFsIGJvb2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZChNZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSkgeyB9CisgICAgdmly
dHVhbCBNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBNZWRpYVNlc3Npb246OldlYkF1ZGlvOyB9CisgICAgdmlydHVhbCBib29sIGNhblJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpIG92ZXJyaWRlIHsgfQorICAgIHZp
cnR1YWwgYm9vbCBjYW5PdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzdGFydCgp
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCBib29sIGlzUGxheWluZygpIG92ZXJyaWRlIHsgcmV0dXJuIG1faXNQbGF5aW5nOyB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgcGF1c2VQbGF5YmFjaygpIG92ZXJyaWRlIHsgc3RvcCgpOyB9CisgICAg
dmlydHVhbCB2b2lkIHJlc3VtZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdGFydCgpOyB9CisKKyAg
ICB2aXJ0dWFsIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nh
bXBsZVJhdGU7IH0KIAogICAgIEF1ZGlvVW5pdCBtX291dHB1dFVuaXQ7CiAgICAgQXVkaW9JT0Nh
bGxiYWNrJiBtX2NhbGxiYWNrOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAkocmV2aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjE2LDcgKzIyMTYsNyBAQCB2b2lkIEludGVybmFsczo6
aW5pdGlhbGl6ZU1vY2tNZWRpYVNvdXJjCiAjaWYgRU5BQkxFKFZJREVPKQogdm9pZCBJbnRlcm5h
bHM6OmJlZ2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKCkKIHsKLSAgICBNZWRpYVNlc3Npb25N
YW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuYmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICBNZWRpYVNl
c3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuYmVnaW5JbnRlcnJ1cHRpb24oTWVkaWFTZXNz
aW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24pOwogfQogCiB2b2lkIEludGVybmFsczo6ZW5kTWVkaWFT
ZXNzaW9uSW50ZXJydXB0aW9uKGNvbnN0IFN0cmluZyYgZmxhZ3NTdHJpbmcpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230485</attachid>
            <date>2014-04-30 09:51:56 -0700</date>
            <delta_ts>2014-04-30 14:44:45 -0700</delta_ts>
            <desc>Updated patch.</desc>
            <filename>patch_4.txt</filename>
            <type>text/plain</type>
            <size>11842</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzk3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE0LTA0LTI5ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGRvIG5vdCBw
YXVzZSB2aWRlbyB3aGVuIGVudGVyaW5nIGJhY2tncm91bmQgd2hpbGUgcGxheWluZyB0byBleHRl
cm5hbCBkZXZpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMjM3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViQ29yZS5leHAuaW46IFVwZGF0ZSBiZWdpbkludGVycnVwdGlvbiBzaWduYXR1cmUu
CisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FuT3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmlj
dGlvbik6IE5ldywgcmV0dXJuIHRydWUgd2hlbgorICAgICAgICAgICAgcGxheWluZyB0byBleHRl
cm5hbCBkZXZpY2UuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZXNzaW9uOjpiZWdpbkludGVycnVwdGlvbik6IEFkZCBpbnRlcnJ1cHRpb24gdHlwZSB0
byBiZWdpbkludGVycnVwdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Np
b24uaDoKKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6YmVnaW5JbnRlcnJ1cHRp
b24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OmFwcGxp
Y2F0aW9uV2lsbEVudGVyQmFja2dyb3VuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlcjo6c3lzdGVtV2lsbFNsZWVwKTogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vaW9zL0F1ZGlvRGVzdGluYXRpb25JT1MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbToKKyAgICAgICAgKC1bV2ViTWVkaWFTZXNz
aW9uSGVscGVyIGludGVycnVwdGlvbjpdKTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9EZXN0aW5hdGlvbk1hYy5oOiBNYWtlIG1vc3QgbWV0aG9kcyBwcml2YXRl
LiBBZGQgCisgICAgICAgICAgICBjYW5PdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0
aW9uLiBBZGQgbWlzc2luZyBvdmVycmlkZXMuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpiZWdpbk1lZGlhU2Vzc2lvbkludGVy
cnVwdGlvbik6IFBhc3MgaW50ZXJydXB0aW9uIHR5cGUuCisKIDIwMTQtMDQtMjkgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFuIHVudXNlZCBv
dmVycmlkZSBvZiBCbG9iUmVnaXN0cnlJbXBsOjphcHBlbmRTdG9yYWdlSXRlbXMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxNjc3ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtNzk4LDcgKzc5OCw3IEBAIF9fWk43V2ViQ29y
ZTE5TWVkaWFTZXNzaW9uTWFuYWdlcjEycmVzdHIKIF9fWk43V2ViQ29yZTE5TWVkaWFTZXNzaW9u
TWFuYWdlcjEzc2hhcmVkTWFuYWdlckV2CiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFn
ZXIxNGFkZFJlc3RyaWN0aW9uRU5TXzEyTWVkaWFTZXNzaW9uOU1lZGlhVHlwZUVqCiBfX1pON1dl
YkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIxNWVuZEludGVycnVwdGlvbkVOU18xMk1lZGlhU2Vz
c2lvbjIwRW5kSW50ZXJydXB0aW9uRmxhZ3NFCi1fX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1h
bmFnZXIxN2JlZ2luSW50ZXJydXB0aW9uRXYKK19fWk43V2ViQ29yZTE5TWVkaWFTZXNzaW9uTWFu
YWdlcjE3YmVnaW5JbnRlcnJ1cHRpb25FTlNfMTJNZWRpYVNlc3Npb24xNkludGVycnVwdGlvblR5
cGVFCiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIxN3JlbW92ZVJlc3RyaWN0aW9u
RU5TXzEyTWVkaWFTZXNzaW9uOU1lZGlhVHlwZUVqCiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lv
bk1hbmFnZXIzMGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZEVOU18xMk1lZGlhU2Vzc2lv
bjI0UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlRQogX19aTjdXZWJDb3JlMTlNZWRpYVNlc3Npb25N
YW5hZ2VyOWFkZENsaWVudEVQTlNfMjVNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50RQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjc3ODMp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MTI1LDYgKzYxMjUsMTUgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRSZWNl
aXZlUmVtb3RlQwogICAgIH0KIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpvdmVycmlkZUJh
Y2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU9TX0FJ
UlBMQVkpCisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5pc0N1cnJlbnRQbGF5YmFja1Rh
cmdldFdpcmVsZXNzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmRvZXNIYXZlQXR0cmlidXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlLCBBdG9taWNTdHJpbmcqIHZhbHVlKSBjb25zdAog
ewogICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZShudWxsQXRvbSwgYXR0cmlidXRlLCBu
dWxsQXRvbSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2
aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTcxNyw2ICs3MTcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
ZG91YmxlIG1lZGlhU2Vzc2lvbkN1cnJlbnRUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Y3VycmVudFRpbWUoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBvdmVycmlkZUJh
Y2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lk
IHJlZ2lzdGVyV2l0aERvY3VtZW50KERvY3VtZW50Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyV2l0
aERvY3VtZW50KERvY3VtZW50Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9NZWRpYVNlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAJKHJldmlzaW9uIDE2Nzc4MykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2
LDEwICs3NiwxMyBAQCB2b2lkIE1lZGlhU2Vzc2lvbjo6c2V0U3RhdGUoU3RhdGUgc3RhdGUpCiAg
ICAgbV9zdGF0ZSA9IHN0YXRlOwogfQogCi12b2lkIE1lZGlhU2Vzc2lvbjo6YmVnaW5JbnRlcnJ1
cHRpb24oKQordm9pZCBNZWRpYVNlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlv
blR5cGUgdHlwZSkKIHsKICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb246OmJlZ2luSW50ZXJy
dXB0aW9uKCVwKSwgc3RhdGUgPSAlcyIsIHRoaXMsIHN0YXRlTmFtZShtX3N0YXRlKSk7CiAKKyAg
ICBpZiAodHlwZSA9PSBFbnRlcmluZ0JhY2tncm91bmQgJiYgY2xpZW50KCkub3ZlcnJpZGVCYWNr
Z3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbigpKQorICAgICAgICByZXR1cm47CisKICAgICBtX3N0
YXRlVG9SZXN0b3JlID0gc3RhdGUoKTsKICAgICBtX25vdGlmeWluZ0NsaWVudCA9IHRydWU7CiAg
ICAgY2xpZW50KCkucGF1c2VQbGF5YmFjaygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE2Nzc4MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01
NywxMSArNTcsMTYgQEAgcHVibGljOgogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4g
bV9zdGF0ZTsgfQogICAgIHZvaWQgc2V0U3RhdGUoU3RhdGUpOwogCisgICAgZW51bSBJbnRlcnJ1
cHRpb25UeXBlIHsKKyAgICAgICAgU3lzdGVtU2xlZXAsCisgICAgICAgIEVudGVyaW5nQmFja2dy
b3VuZCwKKyAgICAgICAgU3lzdGVtSW50ZXJydXB0aW9uLAorICAgIH07CiAgICAgZW51bSBFbmRJ
bnRlcnJ1cHRpb25GbGFncyB7CiAgICAgICAgIE5vRmxhZ3MgPSAwLAogICAgICAgICBNYXlSZXN1
bWVQbGF5aW5nID0gMSA8PCAwLAogICAgIH07Ci0gICAgdm9pZCBiZWdpbkludGVycnVwdGlvbigp
OworICAgIHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oSW50ZXJydXB0aW9uVHlwZSk7CiAgICAgdm9p
ZCBlbmRJbnRlcnJ1cHRpb24oRW5kSW50ZXJydXB0aW9uRmxhZ3MpOwogCiAgICAgdm9pZCBhcHBs
aWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKSBjb25zdDsKQEAgLTEyNyw2ICsxMzIsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZEJ1ZmZlckRhdGEoYm9vbCkgeyB9CiAg
ICAgdmlydHVhbCBib29sIGVsZW1lbnRJc0hpZGRlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKKyAgICB2aXJ0dWFsIGJvb2wgb3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmljdGlv
bigpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbkNs
aWVudCgpIHsgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbk1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNjc3ODMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODEsMTQgKzgxLDE0IEBAIGludCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb3Vu
dChNZWRpYVNlc3MKICAgICByZXR1cm4gY291bnQ7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uTWFu
YWdlcjo6YmVnaW5JbnRlcnJ1cHRpb24oKQordm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdp
bkludGVycnVwdGlvbihNZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUgdHlwZSkKIHsKICAg
ICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdpbkludGVycnVwdGlvbiIpOwog
CiAgICAgbV9pbnRlcnJ1cHRlZCA9IHRydWU7CiAgICAgVmVjdG9yPE1lZGlhU2Vzc2lvbio+IHNl
c3Npb25zID0gbV9zZXNzaW9uczsKICAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBzZXNzaW9ucykK
LSAgICAgICAgc2Vzc2lvbi0+YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgc2Vzc2lvbi0+
YmVnaW5JbnRlcnJ1cHRpb24odHlwZSk7CiB9CiAKIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcjo6
ZW5kSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6RW5kSW50ZXJydXB0aW9uRmxhZ3MgZmxhZ3Mp
CkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjphcHBsaWNhdGlv
bldpbAogICAgIFZlY3RvcjxNZWRpYVNlc3Npb24qPiBzZXNzaW9ucyA9IG1fc2Vzc2lvbnM7CiAg
ICAgZm9yIChhdXRvKiBzZXNzaW9uIDogc2Vzc2lvbnMpIHsKICAgICAgICAgaWYgKG1fcmVzdHJp
Y3Rpb25zW3Nlc3Npb24tPm1lZGlhVHlwZSgpXSAmIEJhY2tncm91bmRQbGF5YmFja05vdFBlcm1p
dHRlZCkKLSAgICAgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKCk7CisgICAgICAg
ICAgICBzZXNzaW9uLT5iZWdpbkludGVycnVwdGlvbihNZWRpYVNlc3Npb246OkVudGVyaW5nQmFj
a2dyb3VuZCk7CiAgICAgfQogfQogCkBAIC0zMTQsNyArMzE0LDcgQEAgdm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyOjpzeXN0ZW1XaWxsU2xlZQogICAgICAgICByZXR1cm47CiAKICAgICBmb3IgKGF1
dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMpCi0gICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0
aW9uKCk7CisgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6
U3lzdGVtU2xlZXApOwogfQogCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN5c3RlbURpZFdh
a2UoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFu
YWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3
ICs2MCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhcyhNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSkg
Y29uc3Q7CiAgICAgaW50IGNvdW50KE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlKSBjb25zdDsKIAot
ICAgIHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICB2b2lkIGJlZ2luSW50ZXJydXB0aW9u
KE1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSk7CiAgICAgdm9pZCBlbmRJbnRlcnJ1cHRp
b24oTWVkaWFTZXNzaW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncyk7CiAKICAgICB2b2lkIGFwcGxp
Y2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvRGVzdGluYXRpb25JT1MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9EZXN0aW5hdGlvbklPUy5oCShy
ZXZpc2lvbiAxNjc3ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVk
aW9EZXN0aW5hdGlvbklPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVNlc3Npb246OldlYkF1ZGlvOyB9CiAgICAgdmlydHVhbCBib29sIGNh
blJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBvdmVy
cmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VQbGF5YmFjaygpIG92ZXJyaWRlIHsgc3RvcCgpOyB9
CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdGFydCgpOyB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25N
YW5hZ2VySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCShyZXZpc2lvbiAxNjc3ODMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjgyLDcgKzI4Miw3IEBAIC0gKHZvaWQpaW50ZXJydXB0aW9uOihO
U05vdGlmaWNhdGlvbiAqKW4KICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodHlw
ZSA9PSBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvblR5cGVCZWdhbikKLSAgICAgICAgICAgIF9j
YWxsYmFjay0+YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgICAgIF9jYWxsYmFjay0+YmVn
aW5JbnRlcnJ1cHRpb24oTWVkaWFTZXNzaW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24pOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBfY2FsbGJhY2stPmVuZEludGVycnVwdGlvbihmbGFncyk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb0Rlc3RpbmF0aW9u
TWFjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1
ZGlvRGVzdGluYXRpb25NYWMuaAkocmV2aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvRGVzdGluYXRpb25NYWMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDQsMTUgKzQ0LDYgQEAgcHVibGljOgogICAgIEF1ZGlvRGVzdGluYXRpb25NYWMoQXVkaW9J
T0NhbGxiYWNrJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgdmlydHVhbCB+QXVkaW9EZXN0aW5h
dGlvbk1hYygpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0KCkgb3ZlcnJpZGU7Ci0gICAgdmly
dHVhbCB2b2lkIHN0b3AoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNQbGF5aW5nKCkg
b3ZlcnJpZGUgeyByZXR1cm4gbV9pc1BsYXlpbmc7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBwYXVz
ZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdG9wKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVzdW1l
UGxheWJhY2soKSBvdmVycmlkZSB7IHN0YXJ0KCk7IH0KLQotICAgIHZpcnR1YWwgZmxvYXQgc2Ft
cGxlUmF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQotCiBwcml2
YXRlOgogICAgIHZvaWQgY29uZmlndXJlKCk7CiAKQEAgLTYxLDkgKzUyLDE5IEBAIHByaXZhdGU6
CiAKICAgICBPU1N0YXR1cyByZW5kZXIoVUludDMyIG51bWJlck9mRnJhbWVzLCBBdWRpb0J1ZmZl
ckxpc3QqIGlvRGF0YSk7CiAKLSAgICB2aXJ0dWFsIE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1l
ZGlhVHlwZSgpIGNvbnN0IHsgcmV0dXJuIE1lZGlhU2Vzc2lvbjo6V2ViQXVkaW87IH0KLSAgICB2
aXJ0dWFsIGJvb2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZChNZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSkgeyB9CisgICAgdmly
dHVhbCBNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBNZWRpYVNlc3Npb246OldlYkF1ZGlvOyB9CisgICAgdmlydHVhbCBib29sIGNhblJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpIG92ZXJyaWRlIHsgfQorICAgIHZp
cnR1YWwgYm9vbCBvdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzdGFydCgpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBi
b29sIGlzUGxheWluZygpIG92ZXJyaWRlIHsgcmV0dXJuIG1faXNQbGF5aW5nOyB9CisKKyAgICB2
aXJ0dWFsIHZvaWQgcGF1c2VQbGF5YmFjaygpIG92ZXJyaWRlIHsgc3RvcCgpOyB9CisgICAgdmly
dHVhbCB2b2lkIHJlc3VtZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdGFydCgpOyB9CisKKyAgICB2
aXJ0dWFsIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NhbXBs
ZVJhdGU7IH0KIAogICAgIEF1ZGlvVW5pdCBtX291dHB1dFVuaXQ7CiAgICAgQXVkaW9JT0NhbGxi
YWNrJiBtX2NhbGxiYWNrOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAko
cmV2aXNpb24gMTY3NzgzKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMjE2LDcgKzIyMTYsNyBAQCB2b2lkIEludGVybmFsczo6aW5p
dGlhbGl6ZU1vY2tNZWRpYVNvdXJjCiAjaWYgRU5BQkxFKFZJREVPKQogdm9pZCBJbnRlcm5hbHM6
OmJlZ2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKCkKIHsKLSAgICBNZWRpYVNlc3Npb25NYW5h
Z2VyOjpzaGFyZWRNYW5hZ2VyKCkuYmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICBNZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuYmVnaW5JbnRlcnJ1cHRpb24oTWVkaWFTZXNzaW9u
OjpTeXN0ZW1JbnRlcnJ1cHRpb24pOwogfQogCiB2b2lkIEludGVybmFsczo6ZW5kTWVkaWFTZXNz
aW9uSW50ZXJydXB0aW9uKGNvbnN0IFN0cmluZyYgZmxhZ3NTdHJpbmcpCg==
</data>
<flag name="review"
          id="254867"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230528</attachid>
            <date>2014-04-30 15:09:39 -0700</date>
            <delta_ts>2014-04-30 15:09:39 -0700</delta_ts>
            <desc>Another patch </desc>
            <filename>patch_6.txt</filename>
            <type>text/plain</type>
            <size>13229</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE0LTA0LTMwICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGRvIG5vdCBw
YXVzZSB2aWRlbyB3aGVuIGVudGVyaW5nIGJhY2tncm91bmQgd2hpbGUgcGxheWluZyB0byBleHRl
cm5hbCBkZXZpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMjM3NAorCisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4KKworICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOiBVcGRhdGUgYmVnaW5JbnRlcnJ1cHRpb24gc2lnbmF0dXJlLgorCisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmNhbk92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVzdHJpY3Rpb24p
OiBOZXcsIHJldHVybiB0cnVlIHdoZW4KKyAgICAgICAgICAgIHBsYXlpbmcgdG8gZXh0ZXJuYWwg
ZGV2aWNlLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorCisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2Vzc2lvbjo6YmVnaW5JbnRlcnJ1cHRpb24pOiBBZGQgaW50ZXJydXB0aW9uIHR5cGUgdG8gYmVn
aW5JbnRlcnJ1cHRpb24uCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmg6
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OmJlZ2luSW50ZXJydXB0aW9uKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjphcHBsaWNhdGlv
bldpbGxFbnRlckJhY2tncm91bmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnN5c3RlbVdpbGxTbGVlcCk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L2lvcy9BdWRpb0Rlc3RpbmF0aW9uSU9TLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vaW9z
L01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW06CisgICAgICAgICgtW1dlYk1lZGlhU2Vzc2lvbkhl
bHBlciBpbnRlcnJ1cHRpb246XSk6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
bWFjL0F1ZGlvRGVzdGluYXRpb25NYWMuaDogTWFrZSBtb3N0IG1ldGhvZHMgcHJpdmF0ZS4gQWRk
IAorICAgICAgICAgICAgY2FuT3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbi4g
QWRkIG1pc3Npbmcgb3ZlcnJpZGVzLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YmVnaW5NZWRpYVNlc3Npb25JbnRlcnJ1cHRp
b24pOiBQYXNzIGludGVycnVwdGlvbiB0eXBlLgorCiAyMDE0LTA0LTMwICBEYXZpZCBIeWF0dCAg
PGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbTmV3IE11bHRpY29sdW1uXSBBU1NFUlRzIGlu
IGZhc3QvZHluYW1pYy9jb250aW51YXRpb24tZGV0YWNoLWNyYXNoLmh0bWwKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCShyZXZpc2lvbiAxNjgwNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtODAxLDcgKzgwMSw3IEBAIF9fWk43V2ViQ29yZTE5
TWVkaWFTZXNzaW9uTWFuYWdlcjEycmVzdHIKIF9fWk43V2ViQ29yZTE5TWVkaWFTZXNzaW9uTWFu
YWdlcjEzc2hhcmVkTWFuYWdlckV2CiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIx
NGFkZFJlc3RyaWN0aW9uRU5TXzEyTWVkaWFTZXNzaW9uOU1lZGlhVHlwZUVqCiBfX1pON1dlYkNv
cmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIxNWVuZEludGVycnVwdGlvbkVOU18xMk1lZGlhU2Vzc2lv
bjIwRW5kSW50ZXJydXB0aW9uRmxhZ3NFCi1fX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFn
ZXIxN2JlZ2luSW50ZXJydXB0aW9uRXYKK19fWk43V2ViQ29yZTE5TWVkaWFTZXNzaW9uTWFuYWdl
cjE3YmVnaW5JbnRlcnJ1cHRpb25FTlNfMTJNZWRpYVNlc3Npb24xNkludGVycnVwdGlvblR5cGVF
CiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1hbmFnZXIxN3JlbW92ZVJlc3RyaWN0aW9uRU5T
XzEyTWVkaWFTZXNzaW9uOU1lZGlhVHlwZUVqCiBfX1pON1dlYkNvcmUxOU1lZGlhU2Vzc2lvbk1h
bmFnZXIzMGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZEVOU18xMk1lZGlhU2Vzc2lvbjI0
UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlRQogX19aTjdXZWJDb3JlMTlNZWRpYVNlc3Npb25NYW5h
Z2VyOWFkZENsaWVudEVQTlNfMjVNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50RQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjgwNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MTgxLDYgKzYxODEsMTUgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRSZWNlaXZl
UmVtb3RlQwogICAgIH0KIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpvdmVycmlkZUJhY2tn
cm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU9TX0FJUlBM
QVkpCisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5pc0N1cnJlbnRQbGF5YmFja1Rhcmdl
dFdpcmVsZXNzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisgICAgcmV0dXJuIGZh
bHNlOworfQorCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmRvZXNIYXZlQXR0cmlidXRlKGNvbnN0
IEF0b21pY1N0cmluZyYgYXR0cmlidXRlLCBBdG9taWNTdHJpbmcqIHZhbHVlKSBjb25zdAogewog
ICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZShudWxsQXRvbSwgYXR0cmlidXRlLCBudWxs
QXRvbSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2aXNp
b24gMTY4MDQzKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTcxNyw2ICs3MTcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91
YmxlIG1lZGlhU2Vzc2lvbkN1cnJlbnRUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gY3Vy
cmVudFRpbWUoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBvdmVycmlkZUJhY2tn
cm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHJl
Z2lzdGVyV2l0aERvY3VtZW50KERvY3VtZW50Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyV2l0aERv
Y3VtZW50KERvY3VtZW50Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9N
ZWRpYVNlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL01lZGlhU2Vzc2lvbi5jcHAJKHJldmlzaW9uIDE2ODA0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDEw
ICs3NiwxMyBAQCB2b2lkIE1lZGlhU2Vzc2lvbjo6c2V0U3RhdGUoU3RhdGUgc3RhdGUpCiAgICAg
bV9zdGF0ZSA9IHN0YXRlOwogfQogCi12b2lkIE1lZGlhU2Vzc2lvbjo6YmVnaW5JbnRlcnJ1cHRp
b24oKQordm9pZCBNZWRpYVNlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5
cGUgdHlwZSkKIHsKICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb246OmJlZ2luSW50ZXJydXB0
aW9uKCVwKSwgc3RhdGUgPSAlcyIsIHRoaXMsIHN0YXRlTmFtZShtX3N0YXRlKSk7CiAKKyAgICBp
ZiAodHlwZSA9PSBFbnRlcmluZ0JhY2tncm91bmQgJiYgY2xpZW50KCkub3ZlcnJpZGVCYWNrZ3Jv
dW5kUGxheWJhY2tSZXN0cmljdGlvbigpKQorICAgICAgICByZXR1cm47CisKICAgICBtX3N0YXRl
VG9SZXN0b3JlID0gc3RhdGUoKTsKICAgICBtX25vdGlmeWluZ0NsaWVudCA9IHRydWU7CiAgICAg
Y2xpZW50KCkucGF1c2VQbGF5YmFjaygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vTWVkaWFTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE2ODA0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nywx
MSArNTcsMTYgQEAgcHVibGljOgogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9z
dGF0ZTsgfQogICAgIHZvaWQgc2V0U3RhdGUoU3RhdGUpOwogCisgICAgZW51bSBJbnRlcnJ1cHRp
b25UeXBlIHsKKyAgICAgICAgU3lzdGVtU2xlZXAsCisgICAgICAgIEVudGVyaW5nQmFja2dyb3Vu
ZCwKKyAgICAgICAgU3lzdGVtSW50ZXJydXB0aW9uLAorICAgIH07CiAgICAgZW51bSBFbmRJbnRl
cnJ1cHRpb25GbGFncyB7CiAgICAgICAgIE5vRmxhZ3MgPSAwLAogICAgICAgICBNYXlSZXN1bWVQ
bGF5aW5nID0gMSA8PCAwLAogICAgIH07Ci0gICAgdm9pZCBiZWdpbkludGVycnVwdGlvbigpOwor
ICAgIHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oSW50ZXJydXB0aW9uVHlwZSk7CiAgICAgdm9pZCBl
bmRJbnRlcnJ1cHRpb24oRW5kSW50ZXJydXB0aW9uRmxhZ3MpOwogCiAgICAgdm9pZCBhcHBsaWNh
dGlvbldpbGxFbnRlckZvcmVncm91bmQoKSBjb25zdDsKQEAgLTEyNyw2ICsxMzIsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZEJ1ZmZlckRhdGEoYm9vbCkgeyB9CiAgICAg
dmlydHVhbCBib29sIGVsZW1lbnRJc0hpZGRlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
KyAgICB2aXJ0dWFsIGJvb2wgb3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbigp
IGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbkNsaWVu
dCgpIHsgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vz
c2lvbk1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNjgwNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODEsMTQgKzgxLDE0IEBAIGludCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb3VudChN
ZWRpYVNlc3MKICAgICByZXR1cm4gY291bnQ7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uTWFuYWdl
cjo6YmVnaW5JbnRlcnJ1cHRpb24oKQordm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdpbklu
dGVycnVwdGlvbihNZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUgdHlwZSkKIHsKICAgICBM
T0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdpbkludGVycnVwdGlvbiIpOwogCiAg
ICAgbV9pbnRlcnJ1cHRlZCA9IHRydWU7CiAgICAgVmVjdG9yPE1lZGlhU2Vzc2lvbio+IHNlc3Np
b25zID0gbV9zZXNzaW9uczsKICAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBzZXNzaW9ucykKLSAg
ICAgICAgc2Vzc2lvbi0+YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgc2Vzc2lvbi0+YmVn
aW5JbnRlcnJ1cHRpb24odHlwZSk7CiB9CiAKIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZW5k
SW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6RW5kSW50ZXJydXB0aW9uRmxhZ3MgZmxhZ3MpCkBA
IC0yNjMsNyArMjYzLDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjphcHBsaWNhdGlvbldp
bAogICAgIFZlY3RvcjxNZWRpYVNlc3Npb24qPiBzZXNzaW9ucyA9IG1fc2Vzc2lvbnM7CiAgICAg
Zm9yIChhdXRvKiBzZXNzaW9uIDogc2Vzc2lvbnMpIHsKICAgICAgICAgaWYgKG1fcmVzdHJpY3Rp
b25zW3Nlc3Npb24tPm1lZGlhVHlwZSgpXSAmIEJhY2tncm91bmRQbGF5YmFja05vdFBlcm1pdHRl
ZCkKLSAgICAgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKCk7CisgICAgICAgICAg
ICBzZXNzaW9uLT5iZWdpbkludGVycnVwdGlvbihNZWRpYVNlc3Npb246OkVudGVyaW5nQmFja2dy
b3VuZCk7CiAgICAgfQogfQogCkBAIC0zMTQsNyArMzE0LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25N
YW5hZ2VyOjpzeXN0ZW1XaWxsU2xlZQogICAgICAgICByZXR1cm47CiAKICAgICBmb3IgKGF1dG8g
c2Vzc2lvbiA6IG1fc2Vzc2lvbnMpCi0gICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9u
KCk7CisgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6U3lz
dGVtU2xlZXApOwogfQogCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN5c3RlbURpZFdha2Uo
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vz
c2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTY4MDQzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2
MCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhcyhNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSkgY29u
c3Q7CiAgICAgaW50IGNvdW50KE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlKSBjb25zdDsKIAotICAg
IHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICB2b2lkIGJlZ2luSW50ZXJydXB0aW9uKE1l
ZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSk7CiAgICAgdm9pZCBlbmRJbnRlcnJ1cHRpb24o
TWVkaWFTZXNzaW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncyk7CiAKICAgICB2b2lkIGFwcGxpY2F0
aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vaW9zL0F1ZGlvRGVzdGluYXRpb25JT1MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9EZXN0aW5hdGlvbklPUy5oCShyZXZp
c2lvbiAxNjgwNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9E
ZXN0aW5hdGlvbklPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCB7
IHJldHVybiBNZWRpYVNlc3Npb246OldlYkF1ZGlvOyB9CiAgICAgdmlydHVhbCBib29sIGNhblJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBvdmVycmlk
ZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VQbGF5YmFjaygpIG92ZXJyaWRlIHsgc3RvcCgpOyB9CiAg
ICAgdmlydHVhbCB2b2lkIHJlc3VtZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdGFydCgpOyB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5h
Z2VySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lv
cy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCShyZXZpc2lvbiAxNjgwNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjgyLDcgKzI4Miw3IEBAIC0gKHZvaWQpaW50ZXJydXB0aW9uOihOU05v
dGlmaWNhdGlvbiAqKW4KICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodHlwZSA9
PSBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvblR5cGVCZWdhbikKLSAgICAgICAgICAgIF9jYWxs
YmFjay0+YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgICAgIF9jYWxsYmFjay0+YmVnaW5J
bnRlcnJ1cHRpb24oTWVkaWFTZXNzaW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24pOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBfY2FsbGJhY2stPmVuZEludGVycnVwdGlvbihmbGFncyk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb0Rlc3RpbmF0aW9uTWFj
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlv
RGVzdGluYXRpb25NYWMuaAkocmV2aXNpb24gMTY4MDQzKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vbWFjL0F1ZGlvRGVzdGluYXRpb25NYWMuaAkod29ya2luZyBjb3B5KQpAQCAt
NDQsMTUgKzQ0LDYgQEAgcHVibGljOgogICAgIEF1ZGlvRGVzdGluYXRpb25NYWMoQXVkaW9JT0Nh
bGxiYWNrJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgdmlydHVhbCB+QXVkaW9EZXN0aW5hdGlv
bk1hYygpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0KCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVh
bCB2b2lkIHN0b3AoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNQbGF5aW5nKCkgb3Zl
cnJpZGUgeyByZXR1cm4gbV9pc1BsYXlpbmc7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBwYXVzZVBs
YXliYWNrKCkgb3ZlcnJpZGUgeyBzdG9wKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lUGxh
eWJhY2soKSBvdmVycmlkZSB7IHN0YXJ0KCk7IH0KLQotICAgIHZpcnR1YWwgZmxvYXQgc2FtcGxl
UmF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQotCiBwcml2YXRl
OgogICAgIHZvaWQgY29uZmlndXJlKCk7CiAKQEAgLTYxLDkgKzUyLDE5IEBAIHByaXZhdGU6CiAK
ICAgICBPU1N0YXR1cyByZW5kZXIoVUludDMyIG51bWJlck9mRnJhbWVzLCBBdWRpb0J1ZmZlckxp
c3QqIGlvRGF0YSk7CiAKLSAgICB2aXJ0dWFsIE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1lZGlh
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIE1lZGlhU2Vzc2lvbjo6V2ViQXVkaW87IH0KLSAgICB2aXJ0
dWFsIGJvb2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChNZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSkgeyB9CisgICAgdmlydHVh
bCBNZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBNZWRpYVNlc3Npb246OldlYkF1ZGlvOyB9CisgICAgdmlydHVhbCBib29sIGNhblJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsg
fQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1
YWwgYm9vbCBvdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzdGFydCgpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29s
IGlzUGxheWluZygpIG92ZXJyaWRlIHsgcmV0dXJuIG1faXNQbGF5aW5nOyB9CisKKyAgICB2aXJ0
dWFsIHZvaWQgcGF1c2VQbGF5YmFjaygpIG92ZXJyaWRlIHsgc3RvcCgpOyB9CisgICAgdmlydHVh
bCB2b2lkIHJlc3VtZVBsYXliYWNrKCkgb3ZlcnJpZGUgeyBzdGFydCgpOyB9CisKKyAgICB2aXJ0
dWFsIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NhbXBsZVJh
dGU7IH0KIAogICAgIEF1ZGlvVW5pdCBtX291dHB1dFVuaXQ7CiAgICAgQXVkaW9JT0NhbGxiYWNr
JiBtX2NhbGxiYWNrOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2
aXNpb24gMTY4MDQzKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjE2LDcgKzIyMTYsNyBAQCB2b2lkIEludGVybmFsczo6aW5pdGlh
bGl6ZU1vY2tNZWRpYVNvdXJjCiAjaWYgRU5BQkxFKFZJREVPKQogdm9pZCBJbnRlcm5hbHM6OmJl
Z2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKCkKIHsKLSAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkuYmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICBNZWRpYVNlc3Npb25N
YW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuYmVnaW5JbnRlcnJ1cHRpb24oTWVkaWFTZXNzaW9uOjpT
eXN0ZW1JbnRlcnJ1cHRpb24pOwogfQogCiB2b2lkIEludGVybmFsczo6ZW5kTWVkaWFTZXNzaW9u
SW50ZXJydXB0aW9uKGNvbnN0IFN0cmluZyYgZmxhZ3NTdHJpbmcpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdlbmVyYXRvci9XZWJLaXRFeHBvcnRzLmRl
Zi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4
cG9ydEdlbmVyYXRvci9XZWJLaXRFeHBvcnRzLmRlZi5pbgkocmV2aXNpb24gMTY4MDQzKQorKysg
U291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0
RXhwb3J0cy5kZWYuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI0Miw3ICsyNDIsNiBAQCBFWFBPUlRT
CiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9zaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBA
UUJFUEFWU2hhZG93Um9vdEAyQFhaLCA/c2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFFQkFQ
RUFWU2hhZG93Um9vdEAyQFhaKQogI2lmIEVOQUJMRShWSURFTykKICAgICAgICAgc3ltYm9sV2l0
aFBvaW50ZXIoP3NoYXJlZE1hbmFnZXJATWVkaWFTZXNzaW9uTWFuYWdlckBXZWJDb3JlQEBTQUFB
VjEyQFhaLCA/c2hhcmVkTWFuYWdlckBNZWRpYVNlc3Npb25NYW5hZ2VyQFdlYkNvcmVAQFNBQUVB
VjEyQFhaKQotICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/YmVnaW5JbnRlcnJ1cHRpb25ATWVk
aWFTZXNzaW9uTWFuYWdlckBXZWJDb3JlQEBRQUVYWFosID9iZWdpbkludGVycnVwdGlvbkBNZWRp
YVNlc3Npb25NYW5hZ2VyQFdlYkNvcmVAQFFFQUFYWFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2lu
dGVyKD9lbmRJbnRlcnJ1cHRpb25ATWVkaWFTZXNzaW9uTWFuYWdlckBXZWJDb3JlQEBRQUVYVzRF
bmRJbnRlcnJ1cHRpb25GbGFnc0BNZWRpYVNlc3Npb25AMkBAWiwgP2VuZEludGVycnVwdGlvbkBN
ZWRpYVNlc3Npb25NYW5hZ2VyQFdlYkNvcmVAQFFFQUFYVzRFbmRJbnRlcnJ1cHRpb25GbGFnc0BN
ZWRpYVNlc3Npb25AMkBAWikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2FkZFJlc3RyaWN0
aW9uQE1lZGlhU2Vzc2lvbk1hbmFnZXJAV2ViQ29yZUBAUUFFWFc0TWVkaWFUeXBlQE1lZGlhU2Vz
c2lvbkAyQElAWiwgP2FkZFJlc3RyaWN0aW9uQE1lZGlhU2Vzc2lvbk1hbmFnZXJAV2ViQ29yZUBA
UUVBQVhXNE1lZGlhVHlwZUBNZWRpYVNlc3Npb25AMkBJQFopCiAgICAgICAgIHN5bWJvbFdpdGhQ
b2ludGVyKD9yZW1vdmVSZXN0cmljdGlvbkBNZWRpYVNlc3Npb25NYW5hZ2VyQFdlYkNvcmVAQFFB
RVhXNE1lZGlhVHlwZUBNZWRpYVNlc3Npb25AMkBJQFosID9yZW1vdmVSZXN0cmljdGlvbkBNZWRp
YVNlc3Npb25NYW5hZ2VyQFdlYkNvcmVAQFFFQUFYVzRNZWRpYVR5cGVATWVkaWFTZXNzaW9uQDJA
SUBaKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>