<?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>149362</bug_id>
          
          <creation_ts>2015-09-18 18:15:47 -0700</creation_ts>
          <short_desc>Layout milestones aren&apos;t synchronized with UI-side compositing transactions</short_desc>
          <delta_ts>2015-09-21 12:03:55 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127316</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-18 18:15:47 -0700</bug_when>
    <thetext>Layout milestones aren&apos;t synchronized with UI-side compositing transactions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127317</commentid>
    <comment_count>1</comment_count>
      <attachid>261550</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-18 18:16:25 -0700</bug_when>
    <thetext>Created attachment 261550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127339</commentid>
    <comment_count>2</comment_count>
      <attachid>261550</attachid>
    <who name="">mitz</who>
    <bug_when>2015-09-18 19:02:55 -0700</bug_when>
    <thetext>Comment on attachment 261550
Patch

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

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h:263
&gt; +    WebCore::LayoutMilestones m_newlyReachedLayoutMilestones;

Can this be initializer here…

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:493
&gt; +    , m_newlyReachedLayoutMilestones(0)

…instead of here?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:5041
&gt; +    // Clients should not set userData for this message, and it won&apos;t be passed through.
&gt; +    ASSERT(!userData);

Doesn’t make sense to have an assertion about the behavior of client code.

Does make sense to rev the client interface to remove the user data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127368</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-18 21:33:32 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 261550 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261550&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h:263
&gt; &gt; +    WebCore::LayoutMilestones m_newlyReachedLayoutMilestones;
&gt; 
&gt; Can this be initializer here…
&gt; 
&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:493
&gt; &gt; +    , m_newlyReachedLayoutMilestones(0)
&gt; 
&gt; …instead of here?

Definitely.

&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:5041
&gt; &gt; +    // Clients should not set userData for this message, and it won&apos;t be passed through.
&gt; &gt; +    ASSERT(!userData);
&gt; 
&gt; Doesn’t make sense to have an assertion about the behavior of client code.

Hmm, that was an Anders plan. But ok!

&gt; Does make sense to rev the client interface to remove the user data.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127692</commentid>
    <comment_count>4</comment_count>
      <attachid>261669</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-21 11:51:30 -0700</bug_when>
    <thetext>Created attachment 261669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127694</commentid>
    <comment_count>5</comment_count>
      <attachid>261671</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-21 11:52:06 -0700</bug_when>
    <thetext>Created attachment 261671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127703</commentid>
    <comment_count>6</comment_count>
      <attachid>261671</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 12:03:50 -0700</bug_when>
    <thetext>Comment on attachment 261671
Patch

Clearing flags on attachment: 261671

Committed r190064: &lt;http://trac.webkit.org/changeset/190064&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127704</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 12:03:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261550</attachid>
            <date>2015-09-18 18:16:25 -0700</date>
            <delta_ts>2015-09-21 11:51:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149362-20150918181611.patch</filename>
            <type>text/plain</type>
            <size>25089</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGU2ODI3Njg2YWI4NGE3
ODBiZWUwMzA3N2Q1OGU1MTcwNzc3NDM2ZS4uNjBhOWNkNjkwYjg2NzhmMTYzOWJiNGYxNDdlY2E1
ODc0YzlmZDQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE1LTA5LTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBtaWxl
c3RvbmVzIGFyZW4ndCBzeW5jaHJvbml6ZWQgd2l0aCBVSS1zaWRlIGNvbXBvc2l0aW5nIHRyYW5z
YWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ5MzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBCZWNhdXNlIGxheW91dCBtaWxlc3RvbmVzIGFyZSBwcmltYXJpbHkgdXNlZCB0byBz
eW5jaHJvbml6ZSB0aGluZ3Mgd2l0aAorICAgICAgICB0aGUgZGlzcGxheWVkIGxheW91dC9yZW5k
ZXJpbmcgb2YgdGhlIHBhZ2UsIHRoZXkgc2hvdWxkIGZpcmUgYXQgdGhlIHNhbWUKKyAgICAgICAg
dGltZSBhcyB0aGUgY29udGVudHMgb2YgdGhlIHZpZXcgY2hhbmdlLgorCisgICAgICAgIEhvd2V2
ZXIsIHdpdGggVUktc2lkZSBjb21wb3NpdGluZywgdGhlIGxheWVyIHRyZWUgdHJhbnNhY3Rpb24g
d2lsbAorICAgICAgICBtb3N0IGxpa2VseSBjb21lIGluICphZnRlciogdGhlIGxheW91dCBtaWxl
c3RvbmVzIGFzc29jaWF0ZWQgd2l0aCBpdHMKKyAgICAgICAgY29udGVudHMgZmlyZSwgYnJlYWtp
bmcgdGhpcyBzeW5jaHJvbml6YXRpb24uCisKKyAgICAgICAgSW5zdGVhZCwgcHV0IHRoZSBsYXlv
dXQgbWlsZXN0b25lcyBpbnNpZGUgdGhlIHRyYW5zYWN0aW9uIGFuZCBmaXJlIHRoZW0KKyAgICAg
ICAgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgY29tbWl0dGVkIGluIHRoZSBVSSBwcm9jZXNzLgor
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0Q2FsbGJhY2tJRHMp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6bmV3bHlSZWFj
aGVkTGF5b3V0TWlsZXN0b25lcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpzZXROZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmRlY29kZSk6Cisg
ICAgICAgIEFkZCBMYXlvdXRNaWxlc3RvbmVzIHRvIHRoZSB0cmFuc2FjdGlvbi4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkxvYWRl
ckNsaWVudDo6ZGlkTGF5b3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRp
b25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbkNsaWVudDo6cmVuZGVyaW5nUHJv
Z3Jlc3NEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgor
ICAgICAgICAoV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAgIChXS1BhZ2VTZXRQ
YWdlTmF2aWdhdGlvbkNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06
CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6cmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKToK
KyAgICAgICAgUmVtb3ZlIHRoZSBVc2VyRGF0YSBwYXJhbWV0ZXIgZnJvbSBkaWRMYXlvdXQvcmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UsCisgICAgICAgIGV4Y2VwdCBmb3IgYXQgdGhlIEFQSSBs
ZXZlbCB3aGVyZSB3ZSdsbCBhbHdheXMgcGFzcyBudWxsLgorICAgICAgICBOb2JvZHkgdXNlcyBV
c2VyRGF0YSBvbiBkaWRMYXlvdXQsIGFuZCB3ZSdsbCBhc3NlcnQgaWYgYW55IGNsaWVudCBzZXRz
IGl0CisgICAgICAgIChhbmQgaXQgd29uJ3QgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBVSSBw
cm9jZXNzKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZExheW91dEZvckN1c3RvbUNvbnRlbnRQcm92aWRl
cik6CisgICAgICAgIEp1c3QgY2FsbCBkaWRMYXlvdXQgd2l0aCB0aGUgcmVsZXZhbnQgbWlsZXN0
b25lcyBpbnN0ZWFkIG9mIHJlaW1wbGVtZW50aW5nIGl0LgorCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkTGF5b3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgIE1ha2UgZGlkTGF5b3V0IHB1YmxpYy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMYXlvdXQpOgorICAgICAgICBM
ZXQgV2ViUGFnZSBoYW5kbGUgZGlzcGF0Y2hpbmcgZGlkTGF5b3V0LgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpk
aXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgTGV0IHRoZSBEcmF3aW5nQXJlYSBoYW5kbGUgZGlzcGF0Y2hpbmcgZGlkTGF5
b3V0LgorICAgICAgICBJZiBpdCBkb2Vzbid0IHdhbnQgdG8gaGFuZGxlIGl0LCB3ZSdsbCBqdXN0
IGRvIHRoZSBub3JtYWwgdGhpbmcKKyAgICAgICAgYW5kIGRpc3BhdGNoIGFuIGFzeW5jIG1lc3Nh
Z2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgIElmIHdlIHJlYWNoIGEgbmV3IGxheW91dCBt
aWxlc3RvbmUsIGRpc3BhdGNoIGRpZExheW91dCBjbGllbnQvZGVsZWdhdGUgY2FsbGJhY2tzLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgIChX
ZWJLaXQ6OkRyYXdpbmdBcmVhOjpkaXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaXNwYXRjaERp
ZExheW91dCk6CisgICAgICAgIFF1ZXVlIHVwIG1pbGVzdG9uZXMgYXMgd2UgcmVhY2ggdGhlbSwg
YW5kIHNlbmQgdGhlbSBpbiB0aGUgdHJhbnNhY3Rpb24uCisKIDIwMTUtMDktMTggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIEVudGl0
eSBOb2RlIHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaAppbmRleCBiM2JkNzFlYjZhNDJmYmYyZmQyOTdiMDYzOTA3
MDk0ZTFkMWNkZjRiLi44ZmFjNGUxMjM5NThmMzFjMGUzYWU2ZDY3YzFhNjU5NTFiYmU0MjA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GaWx0ZXJP
cGVyYXRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50M0QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGF5b3V0TWlsZXN0b25l
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBA
IC0yMzEsNyArMjMyLDEwIEBAIHB1YmxpYzoKIAogICAgIHR5cGVkZWYgdWludDY0X3QgVHJhbnNh
Y3Rpb25DYWxsYmFja0lEOwogICAgIGNvbnN0IFZlY3RvcjxUcmFuc2FjdGlvbkNhbGxiYWNrSUQ+
JiBjYWxsYmFja0lEcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tJRHM7IH0KLSAgICB2b2lk
IHNldENhbGxiYWNrSURzKFZlY3RvcjxUcmFuc2FjdGlvbkNhbGxiYWNrSUQ+IGNhbGxiYWNrSURz
KSB7IG1fY2FsbGJhY2tJRHMgPSBXVEY6Om1vdmUoY2FsbGJhY2tJRHMpOyB9CisgICAgdm9pZCBz
ZXRDYWxsYmFja0lEcyhWZWN0b3I8VHJhbnNhY3Rpb25DYWxsYmFja0lEPiYmIGNhbGxiYWNrSURz
KSB7IG1fY2FsbGJhY2tJRHMgPSBXVEY6Om1vdmUoY2FsbGJhY2tJRHMpOyB9CisKKyAgICBXZWJD
b3JlOjpMYXlvdXRNaWxlc3RvbmVzIG5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoKSBjb25z
dCB7IHJldHVybiBtX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXM7IH0KKyAgICB2b2lkIHNl
dE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBt
aWxlc3RvbmVzKSB7IG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyA9IG1pbGVzdG9uZXM7
IH0KICAgICAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1M
YXllcklEIG1fcm9vdExheWVySUQ7CkBAIC0yNTYsNiArMjYwLDcgQEAgcHJpdmF0ZToKICAgICBk
b3VibGUgbV9tYXhpbXVtU2NhbGVGYWN0b3I7CiAgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6
ZTsKICAgICB1aW50NjRfdCBtX3RyYW5zYWN0aW9uSUQ7CisgICAgV2ViQ29yZTo6TGF5b3V0TWls
ZXN0b25lcyBtX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXM7CiAgICAgYm9vbCBtX3NjYWxl
V2FzU2V0QnlVSVByb2Nlc3M7CiAgICAgYm9vbCBtX2FsbG93c1VzZXJTY2FsaW5nOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLm1tCmluZGV4IGY2OGFjYTFkOGZhMjMwMzMxNGYyMzgzNDc0ODYxYmVmZTY5Y2FjNmYu
LjI3Y2QwZWM2ZTk3YjQ3YWQwNzAwYTgzODY1M2EzNGE2NThhNTNkMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5t
bQpAQCAtNDkwLDYgKzQ5MCw3IEBAIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpSZW1vdGVM
YXllclRyZWVUcmFuc2FjdGlvbigpCiAgICAgLCBtX21heGltdW1TY2FsZUZhY3RvcigxKQogICAg
ICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQogICAgICwgbV90cmFuc2FjdGlvbklEKDApCisgICAgLCBt
X25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoMCkKICAgICAsIG1fc2NhbGVXYXNTZXRCeVVJ
UHJvY2VzcyhmYWxzZSkKICAgICAsIG1fYWxsb3dzVXNlclNjYWxpbmcoZmFsc2UpCiB7CkBAIC01
MjgsNiArNTI5LDggQEAgdm9pZCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKElQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV9yZW5k
ZXJUcmVlU2l6ZTsKICAgICBlbmNvZGVyIDw8IG1fdHJhbnNhY3Rpb25JRDsKIAorICAgIGVuY29k
ZXIgPDwgbV9uZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzOworCiAgICAgZW5jb2RlciA8PCBt
X3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7CiAgICAgZW5jb2RlciA8PCBtX2FsbG93c1VzZXJTY2Fs
aW5nOwogCkBAIC02MDgsNiArNjExLDkgQEAgYm9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVMYXkKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3RyYW5zYWN0aW9uSUQpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX25ld2x5UmVhY2hl
ZExheW91dE1pbGVzdG9uZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5tX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
QVBJTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUxvYWRl
ckNsaWVudC5oCmluZGV4IDZlOTViMGZlYTZlZDQ2MGFkNmMzZDA2MzI1YzgxZmYyNTk4MTk1MDYu
LmE1NWE5NTMzOWJmMzJmNWY2MjQ0NGQ4Y2JlMThlMGU0Mzk2NzRkYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElMb2FkZXJDbGllbnQuaApAQCAtNzYsNyArNzYsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1l
KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpPYmpl
Y3QqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGV0ZWN0WFNTRm9yRnJhbWUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBBUEk6Ok9iamVjdCopIHsgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRpZExheW91dChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNv
cmU6OkxheW91dE1pbGVzdG9uZXMsIEFQSTo6T2JqZWN0KikgeyB9CisgICAgdmlydHVhbCB2b2lk
IGRpZExheW91dChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9u
ZXMpIHsgfQogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJv
dGVjdGlvblNwYWNlSW5GcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJh
bWVQcm94eSYsIFdlYktpdDo6V2ViUHJvdGVjdGlvblNwYWNlKikgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFt
ZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaAppbmRleCBjNGUwMTAxMmQ0MDIx
OTBhNWMzMGFiMjdjOTA5NGZhM2M0NTZjNmQ5Li5jYWY0MDFkOGJmOGE2NjUyNzNmOTM2NDJiY2U1
OGRkZmFkOWU5NzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SU5hdmlnYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SU5hdmlnYXRpb25DbGllbnQuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZEZhaWxOYXZpZ2F0aW9uV2l0aEVycm9yKFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
V2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYsIEFQSTo6T2JqZWN0KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFNh
bWVEb2N1bWVudE5hdmlnYXRpb24oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmlnYXRp
b24qLCBXZWJLaXQ6OlNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLCBBUEk6Ok9iamVjdCopIHsg
fQogCi0gICAgdmlydHVhbCB2b2lkIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdlYktpdDo6
V2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcywgQVBJOjpPYmplY3QqKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzKSB7IH0KIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKFdlYktpdDo6V2Vi
UGFnZVByb3h5JiwgV2ViS2l0OjpXZWJQcm90ZWN0aW9uU3BhY2UqKSB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkq
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNDlj
MzIzYTUzYTdhNTBjMjI5ZmRlMWMwM2FkNTg0M2QwNDRiMmRhOC4uNDE0OTQxYzE3ZjMxNzJlZDJj
NjJlYmU0YTY4ZmY4NDk0ODZiYWFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKQEAgLTEwMTMsMTIgKzEwMTMsMTIgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlTG9h
ZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNl
KgogICAgICAgICAgICAgbV9jbGllbnQuZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9y
RnJhbWUodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xp
ZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkTGF5b3V0KFdlYlBhZ2VQcm94eSYgcGFnZSwgTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVz
LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRlCisgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRMYXlvdXQoV2ViUGFnZVByb3h5JiBwYWdlLCBMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMp
IG92ZXJyaWRlCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkTGF5b3V0
KQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgbV9jbGllbnQuZGlkTGF5
b3V0KHRvQVBJKCZwYWdlKSwgdG9XS0xheW91dE1pbGVzdG9uZXMobWlsZXN0b25lcyksIHRvQVBJ
KHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xp
ZW50LmRpZExheW91dCh0b0FQSSgmcGFnZSksIHRvV0tMYXlvdXRNaWxlc3RvbmVzKG1pbGVzdG9u
ZXMpLCBudWxscHRyLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeShXZWJQYWdlUHJv
eHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92
ZXJyaWRlCkBAIC0yMDY4LDExICsyMDY4LDExIEBAIHZvaWQgV0tQYWdlU2V0UGFnZU5hdmlnYXRp
b25DbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZU5hdmlnYXRpb25DbGllCiAg
ICAgICAgICAgICBtX2NsaWVudC5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKHRvQVBJKCZwYWdl
KSwgdG9BUEkobmF2aWdhdGlvbiksIHRvQVBJKG5hdmlnYXRpb25UeXBlKSwgdG9BUEkodXNlckRh
dGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAgICAgICAgIAotICAg
ICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5
JiBwYWdlLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMsIEFQSTo6T2JqZWN0
KiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlbmRlcmluZ1Byb2dy
ZXNzRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25l
cyBtaWxlc3RvbmVzKSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xp
ZW50LnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIG1fY2xpZW50LnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKHRvQVBJKCZw
YWdlKSwgcGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzKG1pbGVzdG9uZXMpLCB0b0FQSSh1c2Vy
RGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICBtX2NsaWVudC5y
ZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZSh0b0FQSSgmcGFnZSksIHBhZ2VSZW5kZXJpbmdQcm9n
cmVzc0V2ZW50cyhtaWxlc3RvbmVzKSwgbnVsbHB0ciwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRp
Y2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJQcm90ZWN0
aW9uU3BhY2UqIHByb3RlY3Rpb25TcGFjZSkgb3ZlcnJpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaAppbmRleCA4ZGMxM2VjMWQxZDVlMDJj
OTc1MzFkZWUyNzc0ODQyM2Y3NjBmNGE4Li42MTkxOTFhZWQ2NjRkZWZlNzRhMjI3NGMxMzllY2My
MDY3MTFmNTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmln
YXRpb25TdGF0ZS5oCkBAIC05Niw3ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRGYWlsTmF2aWdhdGlvbldpdGhFcnJvcihXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVBy
b3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQ
STo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uKFdlYlBhZ2VQcm94eSYsIEFQSTo6TmF2aWdhdGlvbiosIFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlLCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOwogCi0gICAgICAgIHZpcnR1
YWwgdm9pZCByZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZShXZWJQYWdlUHJveHkmLCBXZWJDb3Jl
OjpMYXlvdXRNaWxlc3RvbmVzLCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOworICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JiwgV2ViQ29y
ZTo6TGF5b3V0TWlsZXN0b25lcykgb3ZlcnJpZGU7CiAKICAgICAgICAgdmlydHVhbCBib29sIGNh
bkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoV2ViUGFnZVByb3h5JiwgV2ViUHJv
dGVjdGlvblNwYWNlKikgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViUGFnZVByb3h5JiwgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggMWMxODkxZWU4NThhZDQ0NTQ5ZDY4OTI2Y2Jm
MDAxMzQxNDg3ZDI1OS4uZWNhMjQwYTdlZGI3NjQ4OGE4MjU5YWYwMzQxYmZmYTQ4ZTAyOWEzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCkBAIC01ODMsNyArNTgzLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25D
bGllbnQ6OmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiwKICAgICBbc3Rh
dGljX2Nhc3Q8aWQgPFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4+KG5hdmlnYXRpb25EZWxl
Z2F0ZS5nZXQoKSkgX3dlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IG5hdmlnYXRp
b246d2tOYXZpZ2F0aW9uIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb246dG9XS1NhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlKG5hdmlnYXRpb25UeXBlKV07CiB9CiAKLXZvaWQgTmF2aWdhdGlvblN0
YXRlOjpOYXZpZ2F0aW9uQ2xpZW50OjpyZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZShXZWJLaXQ6
OldlYlBhZ2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMgbGF5b3V0TWlsZXN0b25l
cywgQVBJOjpPYmplY3QqKQordm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6
OnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29y
ZTo6TGF5b3V0TWlsZXN0b25lcyBsYXlvdXRNaWxlc3RvbmVzKQogewogICAgIGlmICghbV9uYXZp
Z2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZW5kZXJpbmdQ
cm9ncmVzc0RpZENoYW5nZSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBlYjM4YzJlYjMxNjUzZjY2NjljODMzYTBjOGRhMDZi
NTkxZTg4MmY2Li4zM2FlN2U0ODM0ZjI4YWFkZDhhN2ZjMWM5YzFlYmJhMDIyY2Q3MDdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzE2OCwyMyArMzE2
OCwxNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29ucwogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
TGF5b3V0Rm9yQ3VzdG9tQ29udGVudFByb3ZpZGVyKCkKIHsKLSAgICBQYWdlQ2xpZW50UHJvdGVj
dG9yIHByb3RlY3RvcihtX3BhZ2VDbGllbnQpOwotCi0gICAgTGF5b3V0TWlsZXN0b25lcyBtaWxl
c3RvbmVzID0gRGlkRmlyc3RMYXlvdXQgfCBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQg
fCBEaWRIaXRSZWxldmFudFJlcGFpbnRlZE9iamVjdHNBcmVhVGhyZXNob2xkOwotICAgIGlmICht
X25hdmlnYXRpb25DbGllbnQpCi0gICAgICAgIG1fbmF2aWdhdGlvbkNsaWVudC0+cmVuZGVyaW5n
UHJvZ3Jlc3NEaWRDaGFuZ2UoKnRoaXMsIG1pbGVzdG9uZXMsIG51bGxwdHIpOwotICAgIGVsc2UK
LSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZExheW91dCgqdGhpcywgbWlsZXN0b25lcywgbnVs
bHB0cik7CisgICAgZGlkTGF5b3V0KERpZEZpcnN0TGF5b3V0IHwgRGlkRmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0IHwgRGlkSGl0UmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzQXJlYVRocmVzaG9s
ZCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRMYXlvdXQodWludDMyX3QgbGF5b3V0TWls
ZXN0b25lcywgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhKQordm9pZCBXZWJQYWdlUHJveHk6OmRp
ZExheW91dCh1aW50MzJfdCBsYXlvdXRNaWxlc3RvbmVzKQogewogICAgIFBhZ2VDbGllbnRQcm90
ZWN0b3IgcHJvdGVjdG9yKG1fcGFnZUNsaWVudCk7CiAKICAgICBpZiAobV9uYXZpZ2F0aW9uQ2xp
ZW50KQotICAgICAgICBtX25hdmlnYXRpb25DbGllbnQtPnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hh
bmdlKCp0aGlzLCBzdGF0aWNfY2FzdDxMYXlvdXRNaWxlc3RvbmVzPihsYXlvdXRNaWxlc3RvbmVz
KSwgbV9wcm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHVzZXJEYXRhLm9iamVjdCgp
KS5nZXQoKSk7CisgICAgICAgIG1fbmF2aWdhdGlvbkNsaWVudC0+cmVuZGVyaW5nUHJvZ3Jlc3NE
aWRDaGFuZ2UoKnRoaXMsIHN0YXRpY19jYXN0PExheW91dE1pbGVzdG9uZXM+KGxheW91dE1pbGVz
dG9uZXMpKTsKICAgICBlbHNlCi0gICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRMYXlvdXQoKnRo
aXMsIHN0YXRpY19jYXN0PExheW91dE1pbGVzdG9uZXM+KGxheW91dE1pbGVzdG9uZXMpLCBtX3By
b2Nlc3MtPnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdldCgp
KTsKKyAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZExheW91dCgqdGhpcywgc3RhdGljX2Nhc3Q8
TGF5b3V0TWlsZXN0b25lcz4obGF5b3V0TWlsZXN0b25lcykpOwogfQogCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0
IFVzZXJEYXRhJiB1c2VyRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCA3NTNjODAxMDE5ZGJlZTJmZTc1YzU3ZjBkM2EyMzhjMDgyZTM4MDViLi40ZTQ4MmQ5
NDQ3ZmViZWQyM2Y1N2IyMjY5MWI1MjI1ZmFmODdmNWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMDU5LDYgKzEwNTksOCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsZWFyV2hlZWxFdmVudFRlc3RUcmlnZ2VyKCk7CiAKKyAgICB2b2lkIGRpZExheW91dCh1
aW50MzJfdCBsYXlvdXRNaWxlc3RvbmVzKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHko
UGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIHVpbnQ2NF90IHBhZ2VJRCwgUmVmPEFQSTo6
UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBA
IC0xMTA4LDcgKzExMTAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgY29uc3QgVXNlckRhdGEmKTsK
ICAgICB2b2lkIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
VXNlckRhdGEmKTsKICAgICB2b2lkIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFVzZXJEYXRhJik7Ci0gICAgdm9pZCBkaWRMYXlv
dXQodWludDMyX3QgbGF5b3V0TWlsZXN0b25lcywgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lk
IGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBVc2Vy
RGF0YSYpOwogICAgIHZvaWQgZGlkRGlzcGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFVzZXJEYXRhJik7CiAgICAgdm9pZCBkaWRSdW5JbnNlY3VyZUNv
bnRlbnRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBVc2VyRGF0YSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
ZGVkNmExMDFjYmY3MmNlNDhiMTRlOTZjNzg1YzQ5YjQ0Y2Q4ODBmYS4uMTAyM2ZlZjhmMjUyMDg4
YWQ3NjE0ZjdmODg3N2Y5MDQ5MzE1MzEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzYsNyArMTM2LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRh
KQogICAgIERpZEZpcnN0TGF5b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpV
c2VyRGF0YSB1c2VyRGF0YSkKICAgICBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQotICAgIERp
ZExheW91dCh1aW50MzJfdCB0eXBlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQorICAgIERp
ZExheW91dCh1aW50MzJfdCB0eXBlKQogICAgIERpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeSh1
aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZFJlY2Vp
dmVUaXRsZUZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyB0aXRsZSwgV2ViS2l0OjpV
c2VyRGF0YSB1c2VyRGF0YSkKICAgICBEaWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggMjcyNTYwNmVk
ZDJjNDhiZjBlZjA4NDZiYmU4ZTI0YzQzNDVkOWQwZS4uYTc4MWUxNzY2OWE3ZjllNjE0ZTlhZDRh
N2M2MzgxZjI3ODEzZmJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0KQEAgLTM1MSwxMCArMzUxLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpkaWRDb21taXRMYXllclRyZWUoY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbiYKIAogICAgIG1fcGFnZUNsaWVudC5kaWRDb21taXRMYXllclRyZWUobGF5ZXJUcmVlVHJh
bnNhY3Rpb24pOwogCisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHNwZWNpYWwgbWVjaGFuaXNt
IGFuZCBmb2xkIGl0IGludG8gdGhlIHRyYW5zYWN0aW9uJ3MgbGF5b3V0IG1pbGVzdG9uZXMuCiAg
ICAgaWYgKG1fd2FudHNTZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9sZEV2
ZW50ICYmICFtX2hpdFJlbmRlclRyZWVTaXplVGhyZXNob2xkCiAgICAgICAgICYmIGV4Y2VlZHNS
ZW5kZXJUcmVlU2l6ZVNpemVUaHJlc2hvbGQobV9zZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVl
U2l6ZSwgbGF5ZXJUcmVlVHJhbnNhY3Rpb24ucmVuZGVyVHJlZVNpemUoKSkpIHsKICAgICAgICAg
bV9oaXRSZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCA9IHRydWU7Ci0gICAgICAgIGRpZExheW91dChX
ZWJDb3JlOjpSZWFjaGVkU2Vzc2lvblJlc3RvcmF0aW9uUmVuZGVyVHJlZVNpemVUaHJlc2hvbGQs
IFVzZXJEYXRhKCkpOworICAgICAgICBkaWRMYXlvdXQoV2ViQ29yZTo6UmVhY2hlZFNlc3Npb25S
ZXN0b3JhdGlvblJlbmRlclRyZWVTaXplVGhyZXNob2xkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCBmOWE0ZTdkNTE1ZmE0MzM1MGJiNmU4MTA3YWNiNGY0
NDMyMjMxZDdlLi4zODhkNjZlYTRhM2VlY2M4NDFiZjcyMzRiNWVlNzUxMDE1N2U1Y2UyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0yMzgsNiArMjM4LDkgQEAgdm9pZCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3Rl
TGF5ZXJUcmVlVHJhbnMKICNlbHNlCiAgICAgZGlkUmVmcmVzaERpc3BsYXkobW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkpOwogI2VuZGlmCisKKyAgICBpZiAoYXV0byBtaWxlc3RvbmVzID0g
bGF5ZXJUcmVlVHJhbnNhY3Rpb24ubmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpKQorICAg
ICAgICBtX3dlYlBhZ2VQcm94eS5kaWRMYXlvdXQobWlsZXN0b25lcyk7CiB9CiAKIHZvaWQgUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6YWNjZWxlcmF0ZWRBbmltYXRpb25EaWRTdGFy
dCh1aW50NjRfdCBsYXllcklELCBjb25zdCBTdHJpbmcmIGtleSwgZG91YmxlIHN0YXJ0VGltZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNzBjODE4ZDY4MDc5ZDJhMDEz
Y2Q0NTllMWY3M2NjOTgwODAyZjI2NS4uN2ZjYzQ1MDIxZDEyZGY5NDU0MmFhNWIwYzNiYmQ5N2Q5
MGRhZDM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTYwNCw4ICs2
MDQsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExheW91dChMYXlv
dXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMpCiAgICAgfQogCiAgICAgLy8gU2VuZCB0aGlzIGFmdGVy
IERpZEZpcnN0TGF5b3V0LXNwZWNpZmljIGNhbGxzIHNpbmNlIHNvbWUgY2xpZW50cyBleHBlY3Qg
dG8gZ2V0IHRob3NlIG1lc3NhZ2VzIGZpcnN0LgotICAgIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxl
TG9hZGVyQ2xpZW50KCkuZGlkTGF5b3V0KHdlYlBhZ2UsIG1pbGVzdG9uZXMsIHVzZXJEYXRhKTsK
LSAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZExheW91dChtaWxl
c3RvbmVzLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3Rz
VG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5kaXNwYXRj
aERpZExheW91dChtaWxlc3RvbmVzKTsKIAogICAgIGlmIChtaWxlc3RvbmVzICYgRGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0KSB7CiAgICAgICAgIGlmIChtX2ZyYW1lLT5pc01haW5GcmFt
ZSgpICYmICFtX2RpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24gJiYgIXdlYlBhZ2UtPmNvcmVQYWdl
KCktPnNldHRpbmdzKCkuc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggNDRh
ZWMwMmJkZGYwZjg3MTk5NjUxNzM0YzkxYWVmYzZiMTRmYTY5Zi4uYzA0OGM3NjU3OWQ0N2FlNTU0
MGFjZDc5NjIyNWNjNTgwMTRkNGM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvTGF5ZXJGbHVzaFRocm90dGxlU3RhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xh
eW91dE1pbGVzdG9uZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9WaWV3U3RhdGUuaD4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgpAQCAt
MTI5LDYgKzEzMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRTY2Fs
ZVZpZXdUb0ZpdERvY3VtZW50KGJvb2wpIHsgfQogCisgICAgdmlydHVhbCBib29sIGRpc3BhdGNo
RGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpIHsgcmV0dXJuIGZhbHNlOyB9CisK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICAvLyBVc2VkIGJ5IFRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiB2aWV3U2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbGF5ZXJQb3NpdGlv
biwgYm9vbCBmbHVzaFN5bmNocm9ub3VzbHksIGNvbnN0IFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQm
IGZlbmNlUG9ydCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggYTQ2MzJmM2MwYTc1MDJlMDA0NTM3ZjU3ZWFiZWRiY2I3NDVjM2NjZi4u
ZjMyNzMyMjc0MjU4YzIyMjIxNzUyMTI5NDcxMGY4MmJjYjc5ZjYyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTAzMiw0ICs1MDMyLDE5
IEBAIHZvaWQgV2ViUGFnZTo6cmVtb3ZlQWxsVXNlckNvbnRlbnQoKQogICAgIG1fdXNlckNvbnRl
bnRDb250cm9sbGVyLT51c2VyQ29udGVudENvbnRyb2xsZXIoKS5yZW1vdmVBbGxVc2VyQ29udGVu
dCgpOwogfQogCit2b2lkIFdlYlBhZ2U6OmRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91
dE1pbGVzdG9uZXMgbWlsZXN0b25lcykKK3sKKyAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJE
YXRhOworICAgIGluamVjdGVkQnVuZGxlTG9hZGVyQ2xpZW50KCkuZGlkTGF5b3V0KHRoaXMsIG1p
bGVzdG9uZXMsIHVzZXJEYXRhKTsKKworICAgIC8vIENsaWVudHMgc2hvdWxkIG5vdCBzZXQgdXNl
ckRhdGEgZm9yIHRoaXMgbWVzc2FnZSwgYW5kIGl0IHdvbid0IGJlIHBhc3NlZCB0aHJvdWdoLgor
ICAgIEFTU0VSVCghdXNlckRhdGEpOworCisgICAgLy8gVGhlIGRyYXdpbmcgYXJlYSBtaWdodCB3
YW50IHRvIGRlZmVyIGRpc3BhdGNoIG9mIGRpZExheW91dCB0byB0aGUgVUkgcHJvY2Vzcy4KKyAg
ICBpZiAobV9kcmF3aW5nQXJlYSAmJiBtX2RyYXdpbmdBcmVhLT5kaXNwYXRjaERpZExheW91dCht
aWxlc3RvbmVzKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWRMYXlvdXQobWlsZXN0b25lcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDZh
MWZjZjk1ZmI4YTJiYWE1OGVjZDM3YTFkM2U5MjM5NWVlNjU4MjQuLjI0Yzc4ZjE5MjAwOWUwZmNk
YmFkNzY4NTE2NzgxZTczYWNiYmMwZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaApAQCAtOTE5LDYgKzkxOSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGFk
ZFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBXZWJDb3JlOjpVc2VyQ29udGVu
dEluamVjdGVkRnJhbWVzKTsKICAgICB2b2lkIHJlbW92ZUFsbFVzZXJDb250ZW50KCk7CiAKKyAg
ICB2b2lkIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpOworCiBw
cml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaAppbmRl
eCAwMGFiYjE1YmU1OTJmNWQ2YTc0YzZkODNjMmU4OWMxMTk2N2RkMzcwLi42YmJmODM4Y2ZlYmM2
NGRlZTVkMmVhN2UzODQ4OWNkNzUzNGI2ZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYS5oCkBAIC0xMTEsNiArMTExLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9v
bCBhZGp1c3RMYXllckZsdXNoVGhyb3R0bGluZyhXZWJDb3JlOjpMYXllckZsdXNoVGhyb3R0bGVT
dGF0ZTo6RmxhZ3MpIG92ZXJyaWRlOwogCisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTGF5
b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpIG92ZXJyaWRlOworCiAgICAgdm9pZCB1cGRh
dGVTY3JvbGxlZEV4cG9zZWRSZWN0KCk7CiAgICAgdm9pZCB1cGRhdGVSb290TGF5ZXJzKCk7CiAK
QEAgLTE2Niw2ICsxNjgsOCBAQCBwcml2YXRlOgogICAgIHVpbnQ2NF90IG1fY3VycmVudFRyYW5z
YWN0aW9uSUQ7CiAgICAgVmVjdG9yPFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpUcmFuc2Fj
dGlvbkNhbGxiYWNrSUQ+IG1fcGVuZGluZ0NhbGxiYWNrSURzOwogCisgICAgV2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lcyBtX3BlbmRpbmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzOworCiAg
ICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbV9jb250ZW50TGF5ZXI7CiAgICAgV2ViQ29yZTo6
R3JhcGhpY3NMYXllciogbV92aWV3T3ZlcmxheVJvb3RMYXllcjsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDFjZjU1Mzg1MWVjYTk5NmRmYWExZGVmOTNi
ZTVkODliMzg1YmZmYzkuLjUxYzJmNzI4M2U4MDM2NGUzMGRhZjZkZmU1Y2Q0NzA5ZWUyZmQxNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMzgzLDYgKzM4Myw5
IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICBi
YWNraW5nU3RvcmVDb2xsZWN0aW9uLndpbGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlv
bik7CiAgICAgbV93ZWJQYWdlLndpbGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7
CiAKKyAgICBsYXllclRyYW5zYWN0aW9uLnNldE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMo
bV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyk7CisgICAgbV9wZW5kaW5nTmV3
bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyA9IDA7CisKICAgICBSZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclRyYW5zYWN0aW9uIHNjcm9sbGluZ1RyYW5zYWN0aW9uOwogI2lmIEVOQUJMRShBU1lO
Q19TQ1JPTExJTkcpCiAgICAgaWYgKG1fd2ViUGFnZS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpA
QCAtNTA0LDQgKzUwNywxMCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjphZGRU
cmFuc2FjdGlvbkNhbGxiYWNrSUQodWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBzY2hlZHVsZUNv
bXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwogfQogCitib29sIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpkaXNwYXRjaERpZExheW91dChXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIGxheW91dE1p
bGVzdG9uZXMpCit7CisgICAgbV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyB8
PSBsYXlvdXRNaWxlc3RvbmVzOworICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261669</attachid>
            <date>2015-09-21 11:51:30 -0700</date>
            <delta_ts>2015-09-21 11:52:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149362-20150921115114.patch</filename>
            <type>text/plain</type>
            <size>25581</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmFjYWRkMDhmYmZmNDhi
Zjk1OWQ0ODg1MTBkYTdkMTdkNzhjMjI5My4uN2I2OTM5OWZhY2I4M2E4YTkyN2Q4NGJhODcxNGVi
ZDRmYzU0ZWQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE1LTA5LTIxICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBtaWxl
c3RvbmVzIGFyZW4ndCBzeW5jaHJvbml6ZWQgd2l0aCBVSS1zaWRlIGNvbXBvc2l0aW5nIHRyYW5z
YWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ5MzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBCZWNhdXNlIGxheW91dCBtaWxlc3RvbmVzIGFyZSBwcmltYXJpbHkgdXNlZCB0byBz
eW5jaHJvbml6ZSB0aGluZ3Mgd2l0aAorICAgICAgICB0aGUgZGlzcGxheWVkIGxheW91dC9yZW5k
ZXJpbmcgb2YgdGhlIHBhZ2UsIHRoZXkgc2hvdWxkIGZpcmUgYXQgdGhlIHNhbWUKKyAgICAgICAg
dGltZSBhcyB0aGUgY29udGVudHMgb2YgdGhlIHZpZXcgY2hhbmdlLgorCisgICAgICAgIEhvd2V2
ZXIsIHdpdGggVUktc2lkZSBjb21wb3NpdGluZywgdGhlIGxheWVyIHRyZWUgdHJhbnNhY3Rpb24g
d2lsbAorICAgICAgICBtb3N0IGxpa2VseSBjb21lIGluICphZnRlciogdGhlIGxheW91dCBtaWxl
c3RvbmVzIGFzc29jaWF0ZWQgd2l0aCBpdHMKKyAgICAgICAgY29udGVudHMgZmlyZSwgYnJlYWtp
bmcgdGhpcyBzeW5jaHJvbml6YXRpb24uCisKKyAgICAgICAgSW5zdGVhZCwgcHV0IHRoZSBsYXlv
dXQgbWlsZXN0b25lcyBpbnNpZGUgdGhlIHRyYW5zYWN0aW9uIGFuZCBmaXJlIHRoZW0KKyAgICAg
ICAgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgY29tbWl0dGVkIGluIHRoZSBVSSBwcm9jZXNzLgor
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0Q2FsbGJhY2tJRHMp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6bmV3bHlSZWFj
aGVkTGF5b3V0TWlsZXN0b25lcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpzZXROZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmRlY29kZSk6Cisg
ICAgICAgIEFkZCBMYXlvdXRNaWxlc3RvbmVzIHRvIHRoZSB0cmFuc2FjdGlvbi4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkxvYWRl
ckNsaWVudDo6ZGlkTGF5b3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRp
b25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbkNsaWVudDo6cmVuZGVyaW5nUHJv
Z3Jlc3NEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgor
ICAgICAgICAoV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAgIChXS1BhZ2VTZXRQ
YWdlTmF2aWdhdGlvbkNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06
CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6cmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKToK
KyAgICAgICAgUmVtb3ZlIHRoZSBVc2VyRGF0YSBwYXJhbWV0ZXIgZnJvbSBkaWRMYXlvdXQvcmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UsCisgICAgICAgIGV4Y2VwdCBmb3IgYXQgdGhlIEFQSSBs
ZXZlbCB3aGVyZSB3ZSdsbCBhbHdheXMgcGFzcyBudWxsLgorICAgICAgICBOb2JvZHkgdXNlcyBV
c2VyRGF0YSBvbiBkaWRMYXlvdXQsIGFuZCB3ZSdsbCBhc3NlcnQgaWYgYW55IGNsaWVudCBzZXRz
IGl0CisgICAgICAgIChhbmQgaXQgd29uJ3QgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBVSSBw
cm9jZXNzKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZExheW91dEZvckN1c3RvbUNvbnRlbnRQcm92aWRl
cik6CisgICAgICAgIEp1c3QgY2FsbCBkaWRMYXlvdXQgd2l0aCB0aGUgcmVsZXZhbnQgbWlsZXN0
b25lcyBpbnN0ZWFkIG9mIHJlaW1wbGVtZW50aW5nIGl0LgorCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkTGF5b3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgIE1ha2UgZGlkTGF5b3V0IHB1YmxpYy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMYXlvdXQpOgorICAgICAgICBM
ZXQgV2ViUGFnZSBoYW5kbGUgZGlzcGF0Y2hpbmcgZGlkTGF5b3V0LgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpk
aXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgTGV0IHRoZSBEcmF3aW5nQXJlYSBoYW5kbGUgZGlzcGF0Y2hpbmcgZGlkTGF5
b3V0LgorICAgICAgICBJZiBpdCBkb2Vzbid0IHdhbnQgdG8gaGFuZGxlIGl0LCB3ZSdsbCBqdXN0
IGRvIHRoZSBub3JtYWwgdGhpbmcKKyAgICAgICAgYW5kIGRpc3BhdGNoIGFuIGFzeW5jIG1lc3Nh
Z2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgIElmIHdlIHJlYWNoIGEgbmV3IGxheW91dCBt
aWxlc3RvbmUsIGRpc3BhdGNoIGRpZExheW91dCBjbGllbnQvZGVsZWdhdGUgY2FsbGJhY2tzLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgIChX
ZWJLaXQ6OkRyYXdpbmdBcmVhOjpkaXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaXNwYXRjaERp
ZExheW91dCk6CisgICAgICAgIFF1ZXVlIHVwIG1pbGVzdG9uZXMgYXMgd2UgcmVhY2ggdGhlbSwg
YW5kIHNlbmQgdGhlbSBpbiB0aGUgdHJhbnNhY3Rpb24uCisKIDIwMTUtMDktMjAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBSZW1vdmUgWEhS
X1RJTUVPVVQgY29tcGlsYXRpb24gZ3VhcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaAppbmRleCBiM2JkNzFlYjZhNDJm
YmYyZmQyOTdiMDYzOTA3MDk0ZTFkMWNkZjRiLi44YTAwYTNjNjhiMmNiMmE2MmQ5ODljNDE5ZTFh
ZWMyMjE3MDRkMWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9GaWx0ZXJPcGVyYXRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50
M0QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TGF5b3V0TWlsZXN0b25lcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CkBAIC0yMzEsNyArMjMyLDEwIEBAIHB1YmxpYzoKIAogICAgIHR5cGVkZWYg
dWludDY0X3QgVHJhbnNhY3Rpb25DYWxsYmFja0lEOwogICAgIGNvbnN0IFZlY3RvcjxUcmFuc2Fj
dGlvbkNhbGxiYWNrSUQ+JiBjYWxsYmFja0lEcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tJ
RHM7IH0KLSAgICB2b2lkIHNldENhbGxiYWNrSURzKFZlY3RvcjxUcmFuc2FjdGlvbkNhbGxiYWNr
SUQ+IGNhbGxiYWNrSURzKSB7IG1fY2FsbGJhY2tJRHMgPSBXVEY6Om1vdmUoY2FsbGJhY2tJRHMp
OyB9CisgICAgdm9pZCBzZXRDYWxsYmFja0lEcyhWZWN0b3I8VHJhbnNhY3Rpb25DYWxsYmFja0lE
PiYmIGNhbGxiYWNrSURzKSB7IG1fY2FsbGJhY2tJRHMgPSBXVEY6Om1vdmUoY2FsbGJhY2tJRHMp
OyB9CisKKyAgICBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIG5ld2x5UmVhY2hlZExheW91dE1p
bGVzdG9uZXMoKSBjb25zdCB7IHJldHVybiBtX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXM7
IH0KKyAgICB2b2lkIHNldE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoV2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzKSB7IG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25l
cyA9IG1pbGVzdG9uZXM7IH0KICAgICAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6UGxhdGZvcm1MYXllcklEIG1fcm9vdExheWVySUQ7CkBAIC0yNTEsMTMgKzI1NSwxNCBA
QCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkludFBvaW50IG1fc2Nyb2xsUG9zaXRpb247CiAjZW5k
aWYKICAgICBXZWJDb3JlOjpDb2xvciBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcjsKLSAg
ICBkb3VibGUgbV9wYWdlU2NhbGVGYWN0b3I7Ci0gICAgZG91YmxlIG1fbWluaW11bVNjYWxlRmFj
dG9yOwotICAgIGRvdWJsZSBtX21heGltdW1TY2FsZUZhY3RvcjsKLSAgICB1aW50NjRfdCBtX3Jl
bmRlclRyZWVTaXplOwotICAgIHVpbnQ2NF90IG1fdHJhbnNhY3Rpb25JRDsKLSAgICBib29sIG1f
c2NhbGVXYXNTZXRCeVVJUHJvY2VzczsKLSAgICBib29sIG1fYWxsb3dzVXNlclNjYWxpbmc7Cisg
ICAgZG91YmxlIG1fcGFnZVNjYWxlRmFjdG9yIHsgMSB9OworICAgIGRvdWJsZSBtX21pbmltdW1T
Y2FsZUZhY3RvciB7IDEgfTsKKyAgICBkb3VibGUgbV9tYXhpbXVtU2NhbGVGYWN0b3IgeyAxIH07
CisgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZSB7IDAgfTsKKyAgICB1aW50NjRfdCBtX3Ry
YW5zYWN0aW9uSUQgeyAwIH07CisgICAgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtX25ld2x5
UmVhY2hlZExheW91dE1pbGVzdG9uZXMgeyAwIH07CisgICAgYm9vbCBtX3NjYWxlV2FzU2V0QnlV
SVByb2Nlc3MgeyBmYWxzZSB9OworICAgIGJvb2wgbV9hbGxvd3NVc2VyU2NhbGluZyB7IGZhbHNl
IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCmluZGV4IGY2OGFj
YTFkOGZhMjMwMzMxNGYyMzgzNDc0ODYxYmVmZTY5Y2FjNmYuLjI3Y2QwZWM2ZTk3YjQ3YWQwNzAw
YTgzODY1M2EzNGE2NThhNTNkMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQpAQCAtNDkwLDYgKzQ5MCw3IEBA
IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbigp
CiAgICAgLCBtX21heGltdW1TY2FsZUZhY3RvcigxKQogICAgICwgbV9yZW5kZXJUcmVlU2l6ZSgw
KQogICAgICwgbV90cmFuc2FjdGlvbklEKDApCisgICAgLCBtX25ld2x5UmVhY2hlZExheW91dE1p
bGVzdG9uZXMoMCkKICAgICAsIG1fc2NhbGVXYXNTZXRCeVVJUHJvY2VzcyhmYWxzZSkKICAgICAs
IG1fYWxsb3dzVXNlclNjYWxpbmcoZmFsc2UpCiB7CkBAIC01MjgsNiArNTI5LDggQEAgdm9pZCBS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV9yZW5kZXJUcmVlU2l6ZTsKICAgICBlbmNv
ZGVyIDw8IG1fdHJhbnNhY3Rpb25JRDsKIAorICAgIGVuY29kZXIgPDwgbV9uZXdseVJlYWNoZWRM
YXlvdXRNaWxlc3RvbmVzOworCiAgICAgZW5jb2RlciA8PCBtX3NjYWxlV2FzU2V0QnlVSVByb2Nl
c3M7CiAgICAgZW5jb2RlciA8PCBtX2FsbG93c1VzZXJTY2FsaW5nOwogCkBAIC02MDgsNiArNjEx
LDkgQEAgYm9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZGVjb2RlKElQQzo6QXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVMYXkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJl
c3VsdC5tX3RyYW5zYWN0aW9uSUQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5t
X3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUxvYWRlckNsaWVudC5oCmluZGV4IDZlOTVi
MGZlYTZlZDQ2MGFkNmMzZDA2MzI1YzgxZmYyNTk4MTk1MDYuLmE1NWE5NTMzOWJmMzJmNWY2MjQ0
NGQ4Y2JlMThlMGU0Mzk2NzRkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElMb2FkZXJDbGllbnQuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5
JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpPYmplY3QqKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGlkRGV0ZWN0WFNTRm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6
OldlYkZyYW1lUHJveHkmLCBBUEk6Ok9iamVjdCopIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRp
ZExheW91dChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMs
IEFQSTo6T2JqZWN0KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZExheW91dChXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpIHsgfQogICAgIAogICAgIHZp
cnR1YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZShX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6V2Vi
UHJvdGVjdGlvblNwYWNlKikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElOYXZpZ2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5h
dmlnYXRpb25DbGllbnQuaAppbmRleCBjNGUwMTAxMmQ0MDIxOTBhNWMzMGFiMjdjOTA5NGZhM2M0
NTZjNmQ5Li5jYWY0MDFkOGJmOGE2NjUyNzNmOTM2NDJiY2U1OGRkZmFkOWU5NzJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaApA
QCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxOYXZpZ2F0
aW9uV2l0aEVycm9yKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5
JiwgQVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQSTo6
T2JqZWN0KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24o
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmlnYXRpb24qLCBXZWJLaXQ6OlNhbWVEb2N1
bWVudE5hdmlnYXRpb25UeXBlLCBBUEk6Ok9iamVjdCopIHsgfQogCi0gICAgdmlydHVhbCB2b2lk
IHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29y
ZTo6TGF5b3V0TWlsZXN0b25lcywgQVBJOjpPYmplY3QqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJDb3Jl
OjpMYXlvdXRNaWxlc3RvbmVzKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BdXRoZW50aWNh
dGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpX
ZWJQcm90ZWN0aW9uU3BhY2UqKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBX
ZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNDljMzIzYTUzYTdhNTBjMjI5ZmRlMWMw
M2FkNTg0M2QwNDRiMmRhOC4uNDE0OTQxYzE3ZjMxNzJlZDJjNjJlYmU0YTY4ZmY4NDk0ODZiYWFk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTEwMTMs
MTIgKzEwMTMsMTIgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBw
YWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKgogICAgICAgICAgICAgbV9jbGll
bnQuZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUodG9BUEkoJnBhZ2UpLCB0
b0FQSSgmZnJhbWUpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkTGF5b3V0KFdlYlBhZ2VQcm94
eSYgcGFnZSwgTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzLCBBUEk6Ok9iamVjdCogdXNlckRh
dGEpIG92ZXJyaWRlCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRMYXlvdXQoV2ViUGFnZVByb3h5
JiBwYWdlLCBMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMpIG92ZXJyaWRlCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkTGF5b3V0KQogICAgICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICAgICAgbV9jbGllbnQuZGlkTGF5b3V0KHRvQVBJKCZwYWdlKSwgdG9X
S0xheW91dE1pbGVzdG9uZXMobWlsZXN0b25lcyksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQu
YmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZExheW91dCh0b0FQSSgm
cGFnZSksIHRvV0tMYXlvdXRNaWxlc3RvbmVzKG1pbGVzdG9uZXMpLCBudWxscHRyLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJv
eHkmIGZyYW1lLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRlCkBAIC0yMDY4LDExICsy
MDY4LDExIEBAIHZvaWQgV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQoV0tQYWdlUmVmIHBh
Z2VSZWYsIGNvbnN0IFdLUGFnZU5hdmlnYXRpb25DbGllCiAgICAgICAgICAgICBtX2NsaWVudC5k
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEkobmF2aWdhdGlvbiks
IHRvQVBJKG5hdmlnYXRpb25UeXBlKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJDb3JlOjpMYXlv
dXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUK
KyAgICAgICAgdmlydHVhbCB2b2lkIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdlYlBhZ2VQ
cm94eSYgcGFnZSwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzKSBvdmVycmlk
ZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LnJlbmRlcmluZ1Byb2dyZXNz
RGlkQ2hhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG1fY2xpZW50
LnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgcGFnZVJlbmRlcmluZ1By
b2dyZXNzRXZlbnRzKG1pbGVzdG9uZXMpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CisgICAgICAgICAgICBtX2NsaWVudC5yZW5kZXJpbmdQcm9ncmVzc0RpZENo
YW5nZSh0b0FQSSgmcGFnZSksIHBhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50cyhtaWxlc3RvbmVz
KSwgbnVsbHB0ciwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9u
U3BhY2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJQcm90ZWN0aW9uU3BhY2UqIHByb3RlY3Rpb25T
cGFjZSkgb3ZlcnJpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9OYXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZp
Z2F0aW9uU3RhdGUuaAppbmRleCA4ZGMxM2VjMWQxZDVlMDJjOTc1MzFkZWUyNzc0ODQyM2Y3NjBm
NGE4Li42MTkxOTFhZWQ2NjRkZWZlNzRhMjI3NGMxMzllY2MyMDY3MTFmNTUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCkBAIC05Niw3
ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTmF2aWdhdGlv
bldpdGhFcnJvcihXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9u
KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKFdlYlBhZ2VQ
cm94eSYsIEFQSTo6TmF2aWdhdGlvbiosIFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLCBBUEk6
Ok9iamVjdCopIG92ZXJyaWRlOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCByZW5kZXJpbmdQcm9n
cmVzc0RpZENoYW5nZShXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzLCBB
UEk6Ok9iamVjdCopIG92ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyaW5nUHJv
Z3Jlc3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcykg
b3ZlcnJpZGU7CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQ
cm90ZWN0aW9uU3BhY2UoV2ViUGFnZVByb3h5JiwgV2ViUHJvdGVjdGlvblNwYWNlKikgb3ZlcnJp
ZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoV2ViUGFnZVByb3h5JiwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSopIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUu
bW0KaW5kZXggMWMxODkxZWU4NThhZDQ0NTQ5ZDY4OTI2Y2JmMDAxMzQxNDg3ZDI1OS4uZWNhMjQw
YTdlZGI3NjQ4OGE4MjU5YWYwMzQxYmZmYTQ4ZTAyOWEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC01ODMsNyArNTgzLDcg
QEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFNhbWVEb2N1bWVu
dE5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiwKICAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLTmF2aWdh
dGlvbkRlbGVnYXRlUHJpdmF0ZT4+KG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKSkgX3dlYlZpZXc6
bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IG5hdmlnYXRpb246d2tOYXZpZ2F0aW9uIGRpZFNh
bWVEb2N1bWVudE5hdmlnYXRpb246dG9XS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKG5hdmln
YXRpb25UeXBlKV07CiB9CiAKLXZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50
OjpyZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNv
cmU6OkxheW91dE1pbGVzdG9uZXMgbGF5b3V0TWlsZXN0b25lcywgQVBJOjpPYmplY3QqKQordm9p
ZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OnJlbmRlcmluZ1Byb2dyZXNzRGlk
Q2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBs
YXlvdXRNaWxlc3RvbmVzKQogewogICAgIGlmICghbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0
aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZSkKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCBlYjM4YzJlYjMxNjUzZjY2NjljODMzYTBjOGRhMDZiNTkxZTg4MmY2Li4zM2FlN2U0ODM0
ZjI4YWFkZDhhN2ZjMWM5YzFlYmJhMDIyY2Q3MDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzE2OCwyMyArMzE2OCwxNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgY29ucwogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkTGF5b3V0Rm9yQ3VzdG9tQ29udGVu
dFByb3ZpZGVyKCkKIHsKLSAgICBQYWdlQ2xpZW50UHJvdGVjdG9yIHByb3RlY3RvcihtX3BhZ2VD
bGllbnQpOwotCi0gICAgTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzID0gRGlkRmlyc3RMYXlv
dXQgfCBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQgfCBEaWRIaXRSZWxldmFudFJlcGFp
bnRlZE9iamVjdHNBcmVhVGhyZXNob2xkOwotICAgIGlmIChtX25hdmlnYXRpb25DbGllbnQpCi0g
ICAgICAgIG1fbmF2aWdhdGlvbkNsaWVudC0+cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoKnRo
aXMsIG1pbGVzdG9uZXMsIG51bGxwdHIpOwotICAgIGVsc2UKLSAgICAgICAgbV9sb2FkZXJDbGll
bnQtPmRpZExheW91dCgqdGhpcywgbWlsZXN0b25lcywgbnVsbHB0cik7CisgICAgZGlkTGF5b3V0
KERpZEZpcnN0TGF5b3V0IHwgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0IHwgRGlkSGl0
UmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzQXJlYVRocmVzaG9sZCk7CiB9CiAKLXZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRMYXlvdXQodWludDMyX3QgbGF5b3V0TWlsZXN0b25lcywgY29uc3QgVXNlckRh
dGEmIHVzZXJEYXRhKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZExheW91dCh1aW50MzJfdCBsYXlv
dXRNaWxlc3RvbmVzKQogewogICAgIFBhZ2VDbGllbnRQcm90ZWN0b3IgcHJvdGVjdG9yKG1fcGFn
ZUNsaWVudCk7CiAKICAgICBpZiAobV9uYXZpZ2F0aW9uQ2xpZW50KQotICAgICAgICBtX25hdmln
YXRpb25DbGllbnQtPnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKCp0aGlzLCBzdGF0aWNfY2Fz
dDxMYXlvdXRNaWxlc3RvbmVzPihsYXlvdXRNaWxlc3RvbmVzKSwgbV9wcm9jZXNzLT50cmFuc2Zv
cm1IYW5kbGVzVG9PYmplY3RzKHVzZXJEYXRhLm9iamVjdCgpKS5nZXQoKSk7CisgICAgICAgIG1f
bmF2aWdhdGlvbkNsaWVudC0+cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoKnRoaXMsIHN0YXRp
Y19jYXN0PExheW91dE1pbGVzdG9uZXM+KGxheW91dE1pbGVzdG9uZXMpKTsKICAgICBlbHNlCi0g
ICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRMYXlvdXQoKnRoaXMsIHN0YXRpY19jYXN0PExheW91
dE1pbGVzdG9uZXM+KGxheW91dE1pbGVzdG9uZXMpLCBtX3Byb2Nlc3MtPnRyYW5zZm9ybUhhbmRs
ZXNUb09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdldCgpKTsKKyAgICAgICAgbV9sb2FkZXJD
bGllbnQtPmRpZExheW91dCgqdGhpcywgc3RhdGljX2Nhc3Q8TGF5b3V0TWlsZXN0b25lcz4obGF5
b3V0TWlsZXN0b25lcykpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVtb3ZlRnJhbWVG
cm9tSGllcmFyY2h5KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3NTNjODAxMDE5ZGJl
ZTJmZTc1YzU3ZjBkM2EyMzhjMDgyZTM4MDViLi40ZTQ4MmQ5NDQ3ZmViZWQyM2Y1N2IyMjY5MWI1
MjI1ZmFmODdmNWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0xMDU5LDYgKzEwNTksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyV2hlZWxFdmVudFRl
c3RUcmlnZ2VyKCk7CiAKKyAgICB2b2lkIGRpZExheW91dCh1aW50MzJfdCBsYXlvdXRNaWxlc3Rv
bmVzKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nl
c3NQcm94eSYsIHVpbnQ2NF90IHBhZ2VJRCwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYp
OwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0xMTA4LDcgKzExMTAsNiBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgY29uc3QgU3RyaW5nJiwgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGRpZEZpcnN0TGF5
b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lk
IGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFVzZXJEYXRhJik7Ci0gICAgdm9pZCBkaWRMYXlvdXQodWludDMyX3QgbGF5b3V0TWls
ZXN0b25lcywgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGRpZFJlbW92ZUZyYW1lRnJvbUhp
ZXJhcmNoeSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBVc2VyRGF0YSYpOwogICAgIHZvaWQgZGlk
RGlzcGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFVz
ZXJEYXRhJik7CiAgICAgdm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBVc2VyRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGVkNmExMDFjYmY3MmNlNDhiMTRl
OTZjNzg1YzQ5YjQ0Y2Q4ODBmYS4uMTAyM2ZlZjhmMjUyMDg4YWQ3NjE0ZjdmODg3N2Y5MDQ5MzE1
MzEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0xMzYsNyArMTM2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsK
ICAgICBEaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2
aWdhdGlvbklELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZEZpcnN0TGF5b3V0
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKICAg
ICBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQotICAgIERpZExheW91dCh1aW50MzJfdCB0eXBl
LCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQorICAgIERpZExheW91dCh1aW50MzJfdCB0eXBl
KQogICAgIERpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeSh1aW50NjRfdCBmcmFtZUlELCBXZWJL
aXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZFJlY2VpdmVUaXRsZUZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFN0cmluZyB0aXRsZSwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKICAg
ICBEaWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2Vi
S2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZTllMTJhMDYzMzljNGMwOTU5ZTIyZWNhMjc2MmQz
NTg4NjM5YWE1MC4uZWQzZmQ0ODg2MTZiNDQ3OTEzMDljYmUyMjczZTM4NzQ2M2RkMzYxMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAg
LTM1MiwxMCArMzUyLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMYXllclRyZWUo
Y29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYKIAogICAgIG1fcGFnZUNs
aWVudC5kaWRDb21taXRMYXllclRyZWUobGF5ZXJUcmVlVHJhbnNhY3Rpb24pOwogCisgICAgLy8g
RklYTUU6IFJlbW92ZSB0aGlzIHNwZWNpYWwgbWVjaGFuaXNtIGFuZCBmb2xkIGl0IGludG8gdGhl
IHRyYW5zYWN0aW9uJ3MgbGF5b3V0IG1pbGVzdG9uZXMuCiAgICAgaWYgKG1fd2FudHNTZXNzaW9u
UmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9sZEV2ZW50ICYmICFtX2hpdFJlbmRlclRy
ZWVTaXplVGhyZXNob2xkCiAgICAgICAgICYmIGV4Y2VlZHNSZW5kZXJUcmVlU2l6ZVNpemVUaHJl
c2hvbGQobV9zZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZSwgbGF5ZXJUcmVlVHJhbnNh
Y3Rpb24ucmVuZGVyVHJlZVNpemUoKSkpIHsKICAgICAgICAgbV9oaXRSZW5kZXJUcmVlU2l6ZVRo
cmVzaG9sZCA9IHRydWU7Ci0gICAgICAgIGRpZExheW91dChXZWJDb3JlOjpSZWFjaGVkU2Vzc2lv
blJlc3RvcmF0aW9uUmVuZGVyVHJlZVNpemVUaHJlc2hvbGQsIFVzZXJEYXRhKCkpOworICAgICAg
ICBkaWRMYXlvdXQoV2ViQ29yZTo6UmVhY2hlZFNlc3Npb25SZXN0b3JhdGlvblJlbmRlclRyZWVT
aXplVGhyZXNob2xkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQpp
bmRleCBmOWE0ZTdkNTE1ZmE0MzM1MGJiNmU4MTA3YWNiNGY0NDMyMjMxZDdlLi4zODhkNjZlYTRh
M2VlY2M4NDFiZjcyMzRiNWVlNzUxMDE1N2U1Y2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5Lm1tCkBAIC0yMzgsNiArMjM4LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICNlbHNl
CiAgICAgZGlkUmVmcmVzaERpc3BsYXkobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOwog
I2VuZGlmCisKKyAgICBpZiAoYXV0byBtaWxlc3RvbmVzID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24u
bmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpKQorICAgICAgICBtX3dlYlBhZ2VQcm94eS5k
aWRMYXlvdXQobWlsZXN0b25lcyk7CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6YWNjZWxlcmF0ZWRBbmltYXRpb25EaWRTdGFydCh1aW50NjRfdCBsYXllcklELCBj
b25zdCBTdHJpbmcmIGtleSwgZG91YmxlIHN0YXJ0VGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKaW5kZXggNzBjODE4ZDY4MDc5ZDJhMDEzY2Q0NTllMWY3M2NjOTgwODAyZjI2
NS4uN2ZjYzQ1MDIxZDEyZGY5NDU0MmFhNWIwYzNiYmQ5N2Q5MGRhZDM4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTYwNCw4ICs2MDQsNyBAQCB2b2lkIFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExheW91dChMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9u
ZXMpCiAgICAgfQogCiAgICAgLy8gU2VuZCB0aGlzIGFmdGVyIERpZEZpcnN0TGF5b3V0LXNwZWNp
ZmljIGNhbGxzIHNpbmNlIHNvbWUgY2xpZW50cyBleHBlY3QgdG8gZ2V0IHRob3NlIG1lc3NhZ2Vz
IGZpcnN0LgotICAgIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlTG9hZGVyQ2xpZW50KCkuZGlkTGF5
b3V0KHdlYlBhZ2UsIG1pbGVzdG9uZXMsIHVzZXJEYXRhKTsKLSAgICB3ZWJQYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZExheW91dChtaWxlc3RvbmVzLCBVc2VyRGF0YShXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdl
dCgpKS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5kaXNwYXRjaERpZExheW91dChtaWxlc3RvbmVz
KTsKIAogICAgIGlmIChtaWxlc3RvbmVzICYgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0
KSB7CiAgICAgICAgIGlmIChtX2ZyYW1lLT5pc01haW5GcmFtZSgpICYmICFtX2RpZENvbXBsZXRl
UGFnZVRyYW5zaXRpb24gJiYgIXdlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc3VwcHJl
c3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggNDRhZWMwMmJkZGYwZjg3MTk5NjUxNzM0
YzkxYWVmYzZiMTRmYTY5Zi4uYzA0OGM3NjU3OWQ0N2FlNTU0MGFjZDc5NjIyNWNjNTgwMTRkNGM0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5ZXJGbHVzaFRo
cm90dGxlU3RhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xheW91dE1pbGVzdG9uZXMuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3
U3RhdGUuaD4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgpAQCAtMTI5LDYgKzEzMCw4IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50KGJv
b2wpIHsgfQogCisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6Okxh
eW91dE1pbGVzdG9uZXMpIHsgcmV0dXJuIGZhbHNlOyB9CisKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICAvLyBVc2VkIGJ5IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLgogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiB2aWV3U2l6ZSwg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbGF5ZXJQb3NpdGlvbiwgYm9vbCBmbHVzaFN5bmNocm9u
b3VzbHksIGNvbnN0IFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQmIGZlbmNlUG9ydCkgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggY2MwNjQx
MDljMGJmNTAwNzlkMzlmNDczZWU5NTY5MjUwZWRkZjU0ZS4uMmJhMjVjNjk4ZjU0YWVkMDE3OTcz
NTlhZDYzMTc5MzM4ODU2ZGNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtNTAxOSw0ICs1MDE5LDE5IEBAIHZvaWQgV2ViUGFnZTo6cmVt
b3ZlQWxsVXNlckNvbnRlbnQoKQogICAgIG1fdXNlckNvbnRlbnRDb250cm9sbGVyLT51c2VyQ29u
dGVudENvbnRyb2xsZXIoKS5yZW1vdmVBbGxVc2VyQ29udGVudCgpOwogfQogCit2b2lkIFdlYlBh
Z2U6OmRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMgbWlsZXN0b25l
cykKK3sKKyAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOworICAgIGluamVjdGVkQnVu
ZGxlTG9hZGVyQ2xpZW50KCkuZGlkTGF5b3V0KHRoaXMsIG1pbGVzdG9uZXMsIHVzZXJEYXRhKTsK
KworICAgIC8vIENsaWVudHMgc2hvdWxkIG5vdCBzZXQgdXNlckRhdGEgZm9yIHRoaXMgbWVzc2Fn
ZSwgYW5kIGl0IHdvbid0IGJlIHBhc3NlZCB0aHJvdWdoLgorICAgIEFTU0VSVCghdXNlckRhdGEp
OworCisgICAgLy8gVGhlIGRyYXdpbmcgYXJlYSBtaWdodCB3YW50IHRvIGRlZmVyIGRpc3BhdGNo
IG9mIGRpZExheW91dCB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICBpZiAobV9kcmF3aW5nQXJlYSAm
JiBtX2RyYXdpbmdBcmVhLT5kaXNwYXRjaERpZExheW91dChtaWxlc3RvbmVzKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRMYXlvdXQobWls
ZXN0b25lcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDZhMWZjZjk1ZmI4YTJiYWE1OGVjZDM3
YTFkM2U5MjM5NWVlNjU4MjQuLjI0Yzc4ZjE5MjAwOWUwZmNkYmFkNzY4NTE2NzgxZTczYWNiYmMw
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
OTE5LDYgKzkxOSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KGNvbnN0
IFN0cmluZyYgc291cmNlLCBXZWJDb3JlOjpVc2VyQ29udGVudEluamVjdGVkRnJhbWVzKTsKICAg
ICB2b2lkIHJlbW92ZUFsbFVzZXJDb250ZW50KCk7CiAKKyAgICB2b2lkIGRpc3BhdGNoRGlkTGF5
b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2Uo
dWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaAppbmRleCAwMGFiYjE1YmU1OTJmNWQ2YTc0
YzZkODNjMmU4OWMxMTk2N2RkMzcwLi42YmJmODM4Y2ZlYmM2NGRlZTVkMmVhN2UzODQ4OWNkNzUz
NGI2ZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCkBAIC0xMTEsNiAr
MTExLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBhZGp1c3RMYXllckZsdXNoVGhy
b3R0bGluZyhXZWJDb3JlOjpMYXllckZsdXNoVGhyb3R0bGVTdGF0ZTo6RmxhZ3MpIG92ZXJyaWRl
OwogCisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1p
bGVzdG9uZXMpIG92ZXJyaWRlOworCiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0
KCk7CiAgICAgdm9pZCB1cGRhdGVSb290TGF5ZXJzKCk7CiAKQEAgLTE2Niw2ICsxNjgsOCBAQCBw
cml2YXRlOgogICAgIHVpbnQ2NF90IG1fY3VycmVudFRyYW5zYWN0aW9uSUQ7CiAgICAgVmVjdG9y
PFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpUcmFuc2FjdGlvbkNhbGxiYWNrSUQ+IG1fcGVu
ZGluZ0NhbGxiYWNrSURzOwogCisgICAgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtX3BlbmRp
bmdOZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzOworCiAgICAgV2ViQ29yZTo6R3JhcGhpY3NM
YXllciogbV9jb250ZW50TGF5ZXI7CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbV92aWV3
T3ZlcmxheVJvb3RMYXllcjsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
Lm1tCmluZGV4IDFjZjU1Mzg1MWVjYTk5NmRmYWExZGVmOTNiZTVkODliMzg1YmZmYzkuLjUxYzJm
NzI4M2U4MDM2NGUzMGRhZjZkZmU1Y2Q0NzA5ZWUyZmQxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMzgzLDYgKzM4Myw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICBiYWNraW5nU3RvcmVDb2xsZWN0aW9u
LndpbGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAgICAgbV93ZWJQYWdlLndp
bGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAKKyAgICBsYXllclRyYW5zYWN0
aW9uLnNldE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMobV9wZW5kaW5nTmV3bHlSZWFjaGVk
TGF5b3V0TWlsZXN0b25lcyk7CisgICAgbV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0
b25lcyA9IDA7CisKICAgICBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uIHNj
cm9sbGluZ1RyYW5zYWN0aW9uOwogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgaWYg
KG1fd2ViUGFnZS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpAQCAtNTA0LDQgKzUwNywxMCBAQCB2
b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjphZGRUcmFuc2FjdGlvbkNhbGxiYWNrSUQo
dWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgp
OwogfQogCitib29sIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaXNwYXRjaERpZExheW91
dChXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIGxheW91dE1pbGVzdG9uZXMpCit7CisgICAgbV9w
ZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyB8PSBsYXlvdXRNaWxlc3RvbmVzOwor
ICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261671</attachid>
            <date>2015-09-21 11:52:06 -0700</date>
            <delta_ts>2015-09-21 12:03:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149362-20150921115150.patch</filename>
            <type>text/plain</type>
            <size>25692</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmFjYWRkMDhmYmZmNDhi
Zjk1OWQ0ODg1MTBkYTdkMTdkNzhjMjI5My4uN2I2OTM5OWZhY2I4M2E4YTkyN2Q4NGJhODcxNGVi
ZDRmYzU0ZWQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE1LTA5LTIxICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBtaWxl
c3RvbmVzIGFyZW4ndCBzeW5jaHJvbml6ZWQgd2l0aCBVSS1zaWRlIGNvbXBvc2l0aW5nIHRyYW5z
YWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ5MzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBCZWNhdXNlIGxheW91dCBtaWxlc3RvbmVzIGFyZSBwcmltYXJpbHkgdXNlZCB0byBz
eW5jaHJvbml6ZSB0aGluZ3Mgd2l0aAorICAgICAgICB0aGUgZGlzcGxheWVkIGxheW91dC9yZW5k
ZXJpbmcgb2YgdGhlIHBhZ2UsIHRoZXkgc2hvdWxkIGZpcmUgYXQgdGhlIHNhbWUKKyAgICAgICAg
dGltZSBhcyB0aGUgY29udGVudHMgb2YgdGhlIHZpZXcgY2hhbmdlLgorCisgICAgICAgIEhvd2V2
ZXIsIHdpdGggVUktc2lkZSBjb21wb3NpdGluZywgdGhlIGxheWVyIHRyZWUgdHJhbnNhY3Rpb24g
d2lsbAorICAgICAgICBtb3N0IGxpa2VseSBjb21lIGluICphZnRlciogdGhlIGxheW91dCBtaWxl
c3RvbmVzIGFzc29jaWF0ZWQgd2l0aCBpdHMKKyAgICAgICAgY29udGVudHMgZmlyZSwgYnJlYWtp
bmcgdGhpcyBzeW5jaHJvbml6YXRpb24uCisKKyAgICAgICAgSW5zdGVhZCwgcHV0IHRoZSBsYXlv
dXQgbWlsZXN0b25lcyBpbnNpZGUgdGhlIHRyYW5zYWN0aW9uIGFuZCBmaXJlIHRoZW0KKyAgICAg
ICAgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgY29tbWl0dGVkIGluIHRoZSBVSSBwcm9jZXNzLgor
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0Q2FsbGJhY2tJRHMp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6bmV3bHlSZWFj
aGVkTGF5b3V0TWlsZXN0b25lcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpzZXROZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzKToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmRlY29kZSk6Cisg
ICAgICAgIEFkZCBMYXlvdXRNaWxlc3RvbmVzIHRvIHRoZSB0cmFuc2FjdGlvbi4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkxvYWRl
ckNsaWVudDo6ZGlkTGF5b3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRp
b25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbkNsaWVudDo6cmVuZGVyaW5nUHJv
Z3Jlc3NEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgor
ICAgICAgICAoV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAgIChXS1BhZ2VTZXRQ
YWdlTmF2aWdhdGlvbkNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06
CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6cmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKToK
KyAgICAgICAgUmVtb3ZlIHRoZSBVc2VyRGF0YSBwYXJhbWV0ZXIgZnJvbSBkaWRMYXlvdXQvcmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UsCisgICAgICAgIGV4Y2VwdCBmb3IgYXQgdGhlIEFQSSBs
ZXZlbCB3aGVyZSB3ZSdsbCBhbHdheXMgcGFzcyBudWxsLgorICAgICAgICBOb2JvZHkgdXNlcyBV
c2VyRGF0YSBvbiBkaWRMYXlvdXQsIGFuZCB3ZSdsbCBhc3NlcnQgaWYgYW55IGNsaWVudCBzZXRz
IGl0CisgICAgICAgIChhbmQgaXQgd29uJ3QgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBVSSBw
cm9jZXNzKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZExheW91dEZvckN1c3RvbUNvbnRlbnRQcm92aWRl
cik6CisgICAgICAgIEp1c3QgY2FsbCBkaWRMYXlvdXQgd2l0aCB0aGUgcmVsZXZhbnQgbWlsZXN0
b25lcyBpbnN0ZWFkIG9mIHJlaW1wbGVtZW50aW5nIGl0LgorCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkTGF5b3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgIE1ha2UgZGlkTGF5b3V0IHB1YmxpYy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMYXlvdXQpOgorICAgICAgICBM
ZXQgV2ViUGFnZSBoYW5kbGUgZGlzcGF0Y2hpbmcgZGlkTGF5b3V0LgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpk
aXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgTGV0IHRoZSBEcmF3aW5nQXJlYSBoYW5kbGUgZGlzcGF0Y2hpbmcgZGlkTGF5
b3V0LgorICAgICAgICBJZiBpdCBkb2Vzbid0IHdhbnQgdG8gaGFuZGxlIGl0LCB3ZSdsbCBqdXN0
IGRvIHRoZSBub3JtYWwgdGhpbmcKKyAgICAgICAgYW5kIGRpc3BhdGNoIGFuIGFzeW5jIG1lc3Nh
Z2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgIElmIHdlIHJlYWNoIGEgbmV3IGxheW91dCBt
aWxlc3RvbmUsIGRpc3BhdGNoIGRpZExheW91dCBjbGllbnQvZGVsZWdhdGUgY2FsbGJhY2tzLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgIChX
ZWJLaXQ6OkRyYXdpbmdBcmVhOjpkaXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaXNwYXRjaERp
ZExheW91dCk6CisgICAgICAgIFF1ZXVlIHVwIG1pbGVzdG9uZXMgYXMgd2UgcmVhY2ggdGhlbSwg
YW5kIHNlbmQgdGhlbSBpbiB0aGUgdHJhbnNhY3Rpb24uCisKIDIwMTUtMDktMjAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBSZW1vdmUgWEhS
X1RJTUVPVVQgY29tcGlsYXRpb24gZ3VhcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaAppbmRleCBiM2JkNzFlYjZhNDJm
YmYyZmQyOTdiMDYzOTA3MDk0ZTFkMWNkZjRiLi44YTAwYTNjNjhiMmNiMmE2MmQ5ODljNDE5ZTFh
ZWMyMjE3MDRkMWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9GaWx0ZXJPcGVyYXRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50
M0QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TGF5b3V0TWlsZXN0b25lcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CkBAIC0yMzEsNyArMjMyLDEwIEBAIHB1YmxpYzoKIAogICAgIHR5cGVkZWYg
dWludDY0X3QgVHJhbnNhY3Rpb25DYWxsYmFja0lEOwogICAgIGNvbnN0IFZlY3RvcjxUcmFuc2Fj
dGlvbkNhbGxiYWNrSUQ+JiBjYWxsYmFja0lEcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tJ
RHM7IH0KLSAgICB2b2lkIHNldENhbGxiYWNrSURzKFZlY3RvcjxUcmFuc2FjdGlvbkNhbGxiYWNr
SUQ+IGNhbGxiYWNrSURzKSB7IG1fY2FsbGJhY2tJRHMgPSBXVEY6Om1vdmUoY2FsbGJhY2tJRHMp
OyB9CisgICAgdm9pZCBzZXRDYWxsYmFja0lEcyhWZWN0b3I8VHJhbnNhY3Rpb25DYWxsYmFja0lE
PiYmIGNhbGxiYWNrSURzKSB7IG1fY2FsbGJhY2tJRHMgPSBXVEY6Om1vdmUoY2FsbGJhY2tJRHMp
OyB9CisKKyAgICBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIG5ld2x5UmVhY2hlZExheW91dE1p
bGVzdG9uZXMoKSBjb25zdCB7IHJldHVybiBtX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXM7
IH0KKyAgICB2b2lkIHNldE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMoV2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzKSB7IG1fbmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25l
cyA9IG1pbGVzdG9uZXM7IH0KICAgICAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6UGxhdGZvcm1MYXllcklEIG1fcm9vdExheWVySUQ7CkBAIC0yNTEsMTMgKzI1NSwxNCBA
QCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkludFBvaW50IG1fc2Nyb2xsUG9zaXRpb247CiAjZW5k
aWYKICAgICBXZWJDb3JlOjpDb2xvciBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcjsKLSAg
ICBkb3VibGUgbV9wYWdlU2NhbGVGYWN0b3I7Ci0gICAgZG91YmxlIG1fbWluaW11bVNjYWxlRmFj
dG9yOwotICAgIGRvdWJsZSBtX21heGltdW1TY2FsZUZhY3RvcjsKLSAgICB1aW50NjRfdCBtX3Jl
bmRlclRyZWVTaXplOwotICAgIHVpbnQ2NF90IG1fdHJhbnNhY3Rpb25JRDsKLSAgICBib29sIG1f
c2NhbGVXYXNTZXRCeVVJUHJvY2VzczsKLSAgICBib29sIG1fYWxsb3dzVXNlclNjYWxpbmc7Cisg
ICAgZG91YmxlIG1fcGFnZVNjYWxlRmFjdG9yIHsgMSB9OworICAgIGRvdWJsZSBtX21pbmltdW1T
Y2FsZUZhY3RvciB7IDEgfTsKKyAgICBkb3VibGUgbV9tYXhpbXVtU2NhbGVGYWN0b3IgeyAxIH07
CisgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZSB7IDAgfTsKKyAgICB1aW50NjRfdCBtX3Ry
YW5zYWN0aW9uSUQgeyAwIH07CisgICAgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtX25ld2x5
UmVhY2hlZExheW91dE1pbGVzdG9uZXMgeyAwIH07CisgICAgYm9vbCBtX3NjYWxlV2FzU2V0QnlV
SVByb2Nlc3MgeyBmYWxzZSB9OworICAgIGJvb2wgbV9hbGxvd3NVc2VyU2NhbGluZyB7IGZhbHNl
IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCmluZGV4IGY2OGFj
YTFkOGZhMjMwMzMxNGYyMzgzNDc0ODYxYmVmZTY5Y2FjNmYuLjhmZjRhNjI2YzZiOTQ0YmQ3Mzhl
MWE5YTVkYjIwOGJiMjVhZTc0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQpAQCAtNDg1LDEzICs0ODUsNiBA
QCBib29sIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmRlY29k
ZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZAogfQogCiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24oKQotICAgIDogbV9wYWdlU2NhbGVGYWN0b3Io
MSkKLSAgICAsIG1fbWluaW11bVNjYWxlRmFjdG9yKDEpCi0gICAgLCBtX21heGltdW1TY2FsZUZh
Y3RvcigxKQotICAgICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQotICAgICwgbV90cmFuc2FjdGlvbklE
KDApCi0gICAgLCBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MoZmFsc2UpCi0gICAgLCBtX2FsbG93
c1VzZXJTY2FsaW5nKGZhbHNlKQogewogfQogCkBAIC01MjgsNiArNTIxLDggQEAgdm9pZCBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV9yZW5kZXJUcmVlU2l6ZTsKICAgICBlbmNvZGVy
IDw8IG1fdHJhbnNhY3Rpb25JRDsKIAorICAgIGVuY29kZXIgPDwgbV9uZXdseVJlYWNoZWRMYXlv
dXRNaWxlc3RvbmVzOworCiAgICAgZW5jb2RlciA8PCBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7
CiAgICAgZW5jb2RlciA8PCBtX2FsbG93c1VzZXJTY2FsaW5nOwogCkBAIC02MDgsNiArNjAzLDkg
QEAgYm9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZGVjb2RlKElQQzo6QXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVMYXkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5tX3RyYW5zYWN0aW9uSUQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5tX25ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3Nj
YWxlV2FzU2V0QnlVSVByb2Nlc3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUxvYWRlckNsaWVudC5oCmluZGV4IDZlOTViMGZl
YTZlZDQ2MGFkNmMzZDA2MzI1YzgxZmYyNTk4MTk1MDYuLmE1NWE5NTMzOWJmMzJmNWY2MjQ0NGQ4
Y2JlMThlMGU0Mzk2NzRkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElMb2FkZXJDbGllbnQuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
V2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpPYmplY3QqKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRGV0ZWN0WFNTRm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6Oldl
YkZyYW1lUHJveHkmLCBBUEk6Ok9iamVjdCopIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZExh
eW91dChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMsIEFQ
STo6T2JqZWN0KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZExheW91dChXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpIHsgfQogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6V2ViUHJv
dGVjdGlvblNwYWNlKikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYs
IFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElO
YXZpZ2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmln
YXRpb25DbGllbnQuaAppbmRleCBjNGUwMTAxMmQ0MDIxOTBhNWMzMGFiMjdjOTA5NGZhM2M0NTZj
NmQ5Li5jYWY0MDFkOGJmOGE2NjUyNzNmOTM2NDJiY2U1OGRkZmFkOWU5NzJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaApAQCAt
NzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxOYXZpZ2F0aW9u
V2l0aEVycm9yKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5Jiwg
QVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQSTo6T2Jq
ZWN0KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmlnYXRpb24qLCBXZWJLaXQ6OlNhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlLCBBUEk6Ok9iamVjdCopIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHJl
bmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6
TGF5b3V0TWlsZXN0b25lcywgQVBJOjpPYmplY3QqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVu
ZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpM
YXlvdXRNaWxlc3RvbmVzKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVB
Z2FpbnN0UHJvdGVjdGlvblNwYWNlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJQ
cm90ZWN0aW9uU3BhY2UqKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJL
aXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNDljMzIzYTUzYTdhNTBjMjI5ZmRlMWMwM2Fk
NTg0M2QwNDRiMmRhOC4uNDE0OTQxYzE3ZjMxNzJlZDJjNjJlYmU0YTY4ZmY4NDk0ODZiYWFkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTEwMTMsMTIg
KzEwMTMsMTIgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdl
UmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKgogICAgICAgICAgICAgbV9jbGllbnQu
ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUodG9BUEkoJnBhZ2UpLCB0b0FQ
SSgmZnJhbWUpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAg
ICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkTGF5b3V0KFdlYlBhZ2VQcm94eSYg
cGFnZSwgTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzLCBBUEk6Ok9iamVjdCogdXNlckRhdGEp
IG92ZXJyaWRlCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRMYXlvdXQoV2ViUGFnZVByb3h5JiBw
YWdlLCBMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMpIG92ZXJyaWRlCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkTGF5b3V0KQogICAgICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICAgICAgbV9jbGllbnQuZGlkTGF5b3V0KHRvQVBJKCZwYWdlKSwgdG9XS0xh
eW91dE1pbGVzdG9uZXMobWlsZXN0b25lcyksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFz
ZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZExheW91dCh0b0FQSSgmcGFn
ZSksIHRvV0tMYXlvdXRNaWxlc3RvbmVzKG1pbGVzdG9uZXMpLCBudWxscHRyLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJl
bW92ZUZyYW1lRnJvbUhpZXJhcmNoeShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkm
IGZyYW1lLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRlCkBAIC0yMDY4LDExICsyMDY4
LDExIEBAIHZvaWQgV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQoV0tQYWdlUmVmIHBhZ2VS
ZWYsIGNvbnN0IFdLUGFnZU5hdmlnYXRpb25DbGllCiAgICAgICAgICAgICBtX2NsaWVudC5kaWRT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEkobmF2aWdhdGlvbiksIHRv
QVBJKG5hdmlnYXRpb25UeXBlKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVy
aW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJDb3JlOjpMYXlvdXRN
aWxlc3RvbmVzIG1pbGVzdG9uZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAg
ICAgICAgdmlydHVhbCB2b2lkIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdlYlBhZ2VQcm94
eSYgcGFnZSwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzKSBvdmVycmlkZQog
ICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LnJlbmRlcmluZ1Byb2dyZXNzRGlk
Q2hhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG1fY2xpZW50LnJl
bmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgcGFnZVJlbmRlcmluZ1Byb2dy
ZXNzRXZlbnRzKG1pbGVzdG9uZXMpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xp
ZW50SW5mbyk7CisgICAgICAgICAgICBtX2NsaWVudC5yZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5n
ZSh0b0FQSSgmcGFnZSksIHBhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50cyhtaWxlc3RvbmVzKSwg
bnVsbHB0ciwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogICAgICAgICAK
ICAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3Bh
Y2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJQcm90ZWN0aW9uU3BhY2UqIHByb3RlY3Rpb25TcGFj
ZSkgb3ZlcnJpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0
aW9uU3RhdGUuaAppbmRleCA4ZGMxM2VjMWQxZDVlMDJjOTc1MzFkZWUyNzc0ODQyM2Y3NjBmNGE4
Li42MTkxOTFhZWQ2NjRkZWZlNzRhMjI3NGMxMzllY2MyMDY3MTFmNTUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCkBAIC05Niw3ICs5
Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTmF2aWdhdGlvbldp
dGhFcnJvcihXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKFdlYlBhZ2VQcm94
eSYsIEFQSTo6TmF2aWdhdGlvbiosIFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLCBBUEk6Ok9i
amVjdCopIG92ZXJyaWRlOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCByZW5kZXJpbmdQcm9ncmVz
c0RpZENoYW5nZShXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzLCBBUEk6
Ok9iamVjdCopIG92ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyaW5nUHJvZ3Jl
c3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcykgb3Zl
cnJpZGU7CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2UoV2ViUGFnZVByb3h5JiwgV2ViUHJvdGVjdGlvblNwYWNlKikgb3ZlcnJpZGU7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
V2ViUGFnZVByb3h5JiwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSopIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0
ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0K
aW5kZXggMWMxODkxZWU4NThhZDQ0NTQ5ZDY4OTI2Y2JmMDAxMzQxNDg3ZDI1OS4uZWNhMjQwYTdl
ZGI3NjQ4OGE4MjU5YWYwMzQxYmZmYTQ4ZTAyOWEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC01ODMsNyArNTgzLDcgQEAg
dm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFNhbWVEb2N1bWVudE5h
dmlnYXRpb24oV2ViUGFnZVByb3h5JiwKICAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLTmF2aWdhdGlv
bkRlbGVnYXRlUHJpdmF0ZT4+KG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKSkgX3dlYlZpZXc6bV9u
YXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IG5hdmlnYXRpb246d2tOYXZpZ2F0aW9uIGRpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb246dG9XS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKG5hdmlnYXRp
b25UeXBlKV07CiB9CiAKLXZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50Ojpy
ZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNvcmU6
OkxheW91dE1pbGVzdG9uZXMgbGF5b3V0TWlsZXN0b25lcywgQVBJOjpPYmplY3QqKQordm9pZCBO
YXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hh
bmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBsYXlv
dXRNaWxlc3RvbmVzKQogewogICAgIGlmICghbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9u
RGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZSkKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCBlYjM4YzJlYjMxNjUzZjY2NjljODMzYTBjOGRhMDZiNTkxZTg4MmY2Li4zM2FlN2U0ODM0ZjI4
YWFkZDhhN2ZjMWM5YzFlYmJhMDIyY2Q3MDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtMzE2OCwyMyArMzE2OCwxNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgY29ucwogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkTGF5b3V0Rm9yQ3VzdG9tQ29udGVudFBy
b3ZpZGVyKCkKIHsKLSAgICBQYWdlQ2xpZW50UHJvdGVjdG9yIHByb3RlY3RvcihtX3BhZ2VDbGll
bnQpOwotCi0gICAgTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzID0gRGlkRmlyc3RMYXlvdXQg
fCBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQgfCBEaWRIaXRSZWxldmFudFJlcGFpbnRl
ZE9iamVjdHNBcmVhVGhyZXNob2xkOwotICAgIGlmIChtX25hdmlnYXRpb25DbGllbnQpCi0gICAg
ICAgIG1fbmF2aWdhdGlvbkNsaWVudC0+cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoKnRoaXMs
IG1pbGVzdG9uZXMsIG51bGxwdHIpOwotICAgIGVsc2UKLSAgICAgICAgbV9sb2FkZXJDbGllbnQt
PmRpZExheW91dCgqdGhpcywgbWlsZXN0b25lcywgbnVsbHB0cik7CisgICAgZGlkTGF5b3V0KERp
ZEZpcnN0TGF5b3V0IHwgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0IHwgRGlkSGl0UmVs
ZXZhbnRSZXBhaW50ZWRPYmplY3RzQXJlYVRocmVzaG9sZCk7CiB9CiAKLXZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRMYXlvdXQodWludDMyX3QgbGF5b3V0TWlsZXN0b25lcywgY29uc3QgVXNlckRhdGEm
IHVzZXJEYXRhKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZExheW91dCh1aW50MzJfdCBsYXlvdXRN
aWxlc3RvbmVzKQogewogICAgIFBhZ2VDbGllbnRQcm90ZWN0b3IgcHJvdGVjdG9yKG1fcGFnZUNs
aWVudCk7CiAKICAgICBpZiAobV9uYXZpZ2F0aW9uQ2xpZW50KQotICAgICAgICBtX25hdmlnYXRp
b25DbGllbnQtPnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKCp0aGlzLCBzdGF0aWNfY2FzdDxM
YXlvdXRNaWxlc3RvbmVzPihsYXlvdXRNaWxlc3RvbmVzKSwgbV9wcm9jZXNzLT50cmFuc2Zvcm1I
YW5kbGVzVG9PYmplY3RzKHVzZXJEYXRhLm9iamVjdCgpKS5nZXQoKSk7CisgICAgICAgIG1fbmF2
aWdhdGlvbkNsaWVudC0+cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoKnRoaXMsIHN0YXRpY19j
YXN0PExheW91dE1pbGVzdG9uZXM+KGxheW91dE1pbGVzdG9uZXMpKTsKICAgICBlbHNlCi0gICAg
ICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRMYXlvdXQoKnRoaXMsIHN0YXRpY19jYXN0PExheW91dE1p
bGVzdG9uZXM+KGxheW91dE1pbGVzdG9uZXMpLCBtX3Byb2Nlc3MtPnRyYW5zZm9ybUhhbmRsZXNU
b09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdldCgpKTsKKyAgICAgICAgbV9sb2FkZXJDbGll
bnQtPmRpZExheW91dCgqdGhpcywgc3RhdGljX2Nhc3Q8TGF5b3V0TWlsZXN0b25lcz4obGF5b3V0
TWlsZXN0b25lcykpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVtb3ZlRnJhbWVGcm9t
SGllcmFyY2h5KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3NTNjODAxMDE5ZGJlZTJm
ZTc1YzU3ZjBkM2EyMzhjMDgyZTM4MDViLi40ZTQ4MmQ5NDQ3ZmViZWQyM2Y1N2IyMjY5MWI1MjI1
ZmFmODdmNWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0x
MDU5LDYgKzEwNTksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyV2hlZWxFdmVudFRlc3RU
cmlnZ2VyKCk7CiAKKyAgICB2b2lkIGRpZExheW91dCh1aW50MzJfdCBsYXlvdXRNaWxlc3RvbmVz
KTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQ
cm94eSYsIHVpbnQ2NF90IHBhZ2VJRCwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwog
ICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0xMTA4LDcgKzExMTAsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiwgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGRpZEZpcnN0TGF5b3V0
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGRp
ZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNv
bnN0IFVzZXJEYXRhJik7Ci0gICAgdm9pZCBkaWRMYXlvdXQodWludDMyX3QgbGF5b3V0TWlsZXN0
b25lcywgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJh
cmNoeSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBVc2VyRGF0YSYpOwogICAgIHZvaWQgZGlkRGlz
cGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFVzZXJE
YXRhJik7CiAgICAgdm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBVc2VyRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGVkNmExMDFjYmY3MmNlNDhiMTRlOTZj
Nzg1YzQ5YjQ0Y2Q4ODBmYS4uMTAyM2ZlZjhmMjUyMDg4YWQ3NjE0ZjdmODg3N2Y5MDQ5MzE1MzEw
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0xMzYsNyArMTM2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAg
ICBEaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdh
dGlvbklELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZEZpcnN0TGF5b3V0Rm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKICAgICBE
aWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBX
ZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQotICAgIERpZExheW91dCh1aW50MzJfdCB0eXBlLCBX
ZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQorICAgIERpZExheW91dCh1aW50MzJfdCB0eXBlKQog
ICAgIERpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6
OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZFJlY2VpdmVUaXRsZUZvckZyYW1lKHVpbnQ2NF90
IGZyYW1lSUQsIFN0cmluZyB0aXRsZSwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKICAgICBE
aWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0
OjpVc2VyRGF0YSB1c2VyRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZTllMTJhMDYzMzljNGMwOTU5ZTIyZWNhMjc2MmQzNTg4
NjM5YWE1MC4uZWQzZmQ0ODg2MTZiNDQ3OTEzMDljYmUyMjczZTM4NzQ2M2RkMzYxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTM1
MiwxMCArMzUyLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMYXllclRyZWUoY29u
c3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYKIAogICAgIG1fcGFnZUNsaWVu
dC5kaWRDb21taXRMYXllclRyZWUobGF5ZXJUcmVlVHJhbnNhY3Rpb24pOwogCisgICAgLy8gRklY
TUU6IFJlbW92ZSB0aGlzIHNwZWNpYWwgbWVjaGFuaXNtIGFuZCBmb2xkIGl0IGludG8gdGhlIHRy
YW5zYWN0aW9uJ3MgbGF5b3V0IG1pbGVzdG9uZXMuCiAgICAgaWYgKG1fd2FudHNTZXNzaW9uUmVz
dG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9sZEV2ZW50ICYmICFtX2hpdFJlbmRlclRyZWVT
aXplVGhyZXNob2xkCiAgICAgICAgICYmIGV4Y2VlZHNSZW5kZXJUcmVlU2l6ZVNpemVUaHJlc2hv
bGQobV9zZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZSwgbGF5ZXJUcmVlVHJhbnNhY3Rp
b24ucmVuZGVyVHJlZVNpemUoKSkpIHsKICAgICAgICAgbV9oaXRSZW5kZXJUcmVlU2l6ZVRocmVz
aG9sZCA9IHRydWU7Ci0gICAgICAgIGRpZExheW91dChXZWJDb3JlOjpSZWFjaGVkU2Vzc2lvblJl
c3RvcmF0aW9uUmVuZGVyVHJlZVNpemVUaHJlc2hvbGQsIFVzZXJEYXRhKCkpOworICAgICAgICBk
aWRMYXlvdXQoV2ViQ29yZTo6UmVhY2hlZFNlc3Npb25SZXN0b3JhdGlvblJlbmRlclRyZWVTaXpl
VGhyZXNob2xkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQppbmRl
eCBmOWE0ZTdkNTE1ZmE0MzM1MGJiNmU4MTA3YWNiNGY0NDMyMjMxZDdlLi4zODhkNjZlYTRhM2Vl
Y2M4NDFiZjcyMzRiNWVlNzUxMDE1N2U1Y2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
Lm1tCkBAIC0yMzgsNiArMjM4LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICNlbHNlCiAg
ICAgZGlkUmVmcmVzaERpc3BsYXkobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOwogI2Vu
ZGlmCisKKyAgICBpZiAoYXV0byBtaWxlc3RvbmVzID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24ubmV3
bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcygpKQorICAgICAgICBtX3dlYlBhZ2VQcm94eS5kaWRM
YXlvdXQobWlsZXN0b25lcyk7CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eTo6YWNjZWxlcmF0ZWRBbmltYXRpb25EaWRTdGFydCh1aW50NjRfdCBsYXllcklELCBjb25z
dCBTdHJpbmcmIGtleSwgZG91YmxlIHN0YXJ0VGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKaW5kZXggNzBjODE4ZDY4MDc5ZDJhMDEzY2Q0NTllMWY3M2NjOTgwODAyZjI2NS4u
N2ZjYzQ1MDIxZDEyZGY5NDU0MmFhNWIwYzNiYmQ5N2Q5MGRhZDM4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTYwNCw4ICs2MDQsNyBAQCB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaERpZExheW91dChMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMp
CiAgICAgfQogCiAgICAgLy8gU2VuZCB0aGlzIGFmdGVyIERpZEZpcnN0TGF5b3V0LXNwZWNpZmlj
IGNhbGxzIHNpbmNlIHNvbWUgY2xpZW50cyBleHBlY3QgdG8gZ2V0IHRob3NlIG1lc3NhZ2VzIGZp
cnN0LgotICAgIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlTG9hZGVyQ2xpZW50KCkuZGlkTGF5b3V0
KHdlYlBhZ2UsIG1pbGVzdG9uZXMsIHVzZXJEYXRhKTsKLSAgICB3ZWJQYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OkRpZExheW91dChtaWxlc3RvbmVzLCBVc2VyRGF0YShXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgp
KS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5kaXNwYXRjaERpZExheW91dChtaWxlc3RvbmVzKTsK
IAogICAgIGlmIChtaWxlc3RvbmVzICYgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KSB7
CiAgICAgICAgIGlmIChtX2ZyYW1lLT5pc01haW5GcmFtZSgpICYmICFtX2RpZENvbXBsZXRlUGFn
ZVRyYW5zaXRpb24gJiYgIXdlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc3VwcHJlc3Nl
c0luY3JlbWVudGFsUmVuZGVyaW5nKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggNDRhZWMwMmJkZGYwZjg3MTk5NjUxNzM0Yzkx
YWVmYzZiMTRmYTY5Zi4uYzA0OGM3NjU3OWQ0N2FlNTU0MGFjZDc5NjIyNWNjNTgwMTRkNGM0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5ZXJGbHVzaFRocm90
dGxlU3RhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xheW91dE1pbGVzdG9uZXMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3U3Rh
dGUuaD4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgpAQCAtMTI5LDYgKzEzMCw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50KGJvb2wp
IHsgfQogCisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91
dE1pbGVzdG9uZXMpIHsgcmV0dXJuIGZhbHNlOyB9CisKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICAvLyBVc2VkIGJ5IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLgogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiB2aWV3U2l6ZSwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgbGF5ZXJQb3NpdGlvbiwgYm9vbCBmbHVzaFN5bmNocm9ub3Vz
bHksIGNvbnN0IFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQmIGZlbmNlUG9ydCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggY2MwNjQxMDlj
MGJmNTAwNzlkMzlmNDczZWU5NTY5MjUwZWRkZjU0ZS4uMmJhMjVjNjk4ZjU0YWVkMDE3OTczNTlh
ZDYzMTc5MzM4ODU2ZGNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtNTAxOSw0ICs1MDE5LDE5IEBAIHZvaWQgV2ViUGFnZTo6cmVtb3Zl
QWxsVXNlckNvbnRlbnQoKQogICAgIG1fdXNlckNvbnRlbnRDb250cm9sbGVyLT51c2VyQ29udGVu
dENvbnRyb2xsZXIoKS5yZW1vdmVBbGxVc2VyQ29udGVudCgpOwogfQogCit2b2lkIFdlYlBhZ2U6
OmRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMgbWlsZXN0b25lcykK
K3sKKyAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOworICAgIGluamVjdGVkQnVuZGxl
TG9hZGVyQ2xpZW50KCkuZGlkTGF5b3V0KHRoaXMsIG1pbGVzdG9uZXMsIHVzZXJEYXRhKTsKKwor
ICAgIC8vIENsaWVudHMgc2hvdWxkIG5vdCBzZXQgdXNlckRhdGEgZm9yIHRoaXMgbWVzc2FnZSwg
YW5kIGl0IHdvbid0IGJlIHBhc3NlZCB0aHJvdWdoLgorICAgIEFTU0VSVCghdXNlckRhdGEpOwor
CisgICAgLy8gVGhlIGRyYXdpbmcgYXJlYSBtaWdodCB3YW50IHRvIGRlZmVyIGRpc3BhdGNoIG9m
IGRpZExheW91dCB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICBpZiAobV9kcmF3aW5nQXJlYSAmJiBt
X2RyYXdpbmdBcmVhLT5kaXNwYXRjaERpZExheW91dChtaWxlc3RvbmVzKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRMYXlvdXQobWlsZXN0
b25lcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDZhMWZjZjk1ZmI4YTJiYWE1OGVjZDM3YTFk
M2U5MjM5NWVlNjU4MjQuLjI0Yzc4ZjE5MjAwOWUwZmNkYmFkNzY4NTE2NzgxZTczYWNiYmMwZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtOTE5
LDYgKzkxOSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0
cmluZyYgc291cmNlLCBXZWJDb3JlOjpVc2VyQ29udGVudEluamVjdGVkRnJhbWVzKTsKICAgICB2
b2lkIHJlbW92ZUFsbFVzZXJDb250ZW50KCk7CiAKKyAgICB2b2lkIGRpc3BhdGNoRGlkTGF5b3V0
KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWlu
dDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaAppbmRleCAwMGFiYjE1YmU1OTJmNWQ2YTc0YzZk
ODNjMmU4OWMxMTk2N2RkMzcwLi42YmJmODM4Y2ZlYmM2NGRlZTVkMmVhN2UzODQ4OWNkNzUzNGI2
ZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCkBAIC0xMTEsNiArMTEx
LDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBhZGp1c3RMYXllckZsdXNoVGhyb3R0
bGluZyhXZWJDb3JlOjpMYXllckZsdXNoVGhyb3R0bGVTdGF0ZTo6RmxhZ3MpIG92ZXJyaWRlOwog
CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1pbGVz
dG9uZXMpIG92ZXJyaWRlOworCiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0KCk7
CiAgICAgdm9pZCB1cGRhdGVSb290TGF5ZXJzKCk7CiAKQEAgLTE2Niw2ICsxNjgsOCBAQCBwcml2
YXRlOgogICAgIHVpbnQ2NF90IG1fY3VycmVudFRyYW5zYWN0aW9uSUQ7CiAgICAgVmVjdG9yPFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpUcmFuc2FjdGlvbkNhbGxiYWNrSUQ+IG1fcGVuZGlu
Z0NhbGxiYWNrSURzOwogCisgICAgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtX3BlbmRpbmdO
ZXdseVJlYWNoZWRMYXlvdXRNaWxlc3RvbmVzOworCiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXll
ciogbV9jb250ZW50TGF5ZXI7CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbV92aWV3T3Zl
cmxheVJvb3RMYXllcjsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1t
CmluZGV4IDFjZjU1Mzg1MWVjYTk5NmRmYWExZGVmOTNiZTVkODliMzg1YmZmYzkuLjUxYzJmNzI4
M2U4MDM2NGUzMGRhZjZkZmU1Y2Q0NzA5ZWUyZmQxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYS5tbQpAQCAtMzgzLDYgKzM4Myw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICBiYWNraW5nU3RvcmVDb2xsZWN0aW9uLndp
bGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAgICAgbV93ZWJQYWdlLndpbGxD
b21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAKKyAgICBsYXllclRyYW5zYWN0aW9u
LnNldE5ld2x5UmVhY2hlZExheW91dE1pbGVzdG9uZXMobV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5
b3V0TWlsZXN0b25lcyk7CisgICAgbV9wZW5kaW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25l
cyA9IDA7CisKICAgICBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uIHNjcm9s
bGluZ1RyYW5zYWN0aW9uOwogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgaWYgKG1f
d2ViUGFnZS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpAQCAtNTA0LDQgKzUwNywxMCBAQCB2b2lk
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjphZGRUcmFuc2FjdGlvbkNhbGxiYWNrSUQodWlu
dDY0X3QgY2FsbGJhY2tJRCkKICAgICBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwog
fQogCitib29sIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaXNwYXRjaERpZExheW91dChX
ZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIGxheW91dE1pbGVzdG9uZXMpCit7CisgICAgbV9wZW5k
aW5nTmV3bHlSZWFjaGVkTGF5b3V0TWlsZXN0b25lcyB8PSBsYXlvdXRNaWxlc3RvbmVzOworICAg
IHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>