<?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>172664</bug_id>
          
          <creation_ts>2017-05-26 14:32:48 -0700</creation_ts>
          <short_desc>JSContext Inspector: Improve the reliability of automatically pausing in auto-attach</short_desc>
          <delta_ts>2017-05-26 15:57:03 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mattbaker</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1313249</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-05-26 14:32:48 -0700</bug_when>
    <thetext>Summary:
Improve the reliability of automatically pausing in auto-attach

Currently when autopause is enabled we trigger a pause, then open the frontend. It is often the case that the frontend perform actions in its initialization that cause us to unpause.

Lets defer the autopause pause to after the frontend has initialized. This is after all of the frontend&apos;s work and before any user scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313250</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-05-26 14:33:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/32362933&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313260</commentid>
    <comment_count>2</comment_count>
      <attachid>311379</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-05-26 14:44:45 -0700</bug_when>
    <thetext>Created attachment 311379
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313264</commentid>
    <comment_count>3</comment_count>
      <attachid>311380</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-05-26 14:47:48 -0700</bug_when>
    <thetext>Created attachment 311380
[PATCH] Proposed Fix

Improved ChangeLog to describe the problem we are solving and why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313268</commentid>
    <comment_count>4</comment_count>
      <attachid>311380</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-05-26 14:53:13 -0700</bug_when>
    <thetext>Comment on attachment 311380
[PATCH] Proposed Fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313289</commentid>
    <comment_count>5</comment_count>
      <attachid>311380</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-26 15:57:01 -0700</bug_when>
    <thetext>Comment on attachment 311380
[PATCH] Proposed Fix

Clearing flags on attachment: 311380

Committed r217509: &lt;http://trac.webkit.org/changeset/217509&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313290</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-26 15:57:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311379</attachid>
            <date>2017-05-26 14:44:45 -0700</date>
            <delta_ts>2017-05-26 14:47:48 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>auto-pause-1.patch</filename>
            <type>text/plain</type>
            <size>20383</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI2ZjNlNjVjNzYwLi5lNWQ2MDc0M2I5MyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTctMDUtMjYgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBKU0NvbnRleHQgSW5z
cGVjdG9yOiBJbXByb3ZlIHRoZSByZWxpYWJpbGl0eSBvZiBhdXRvbWF0aWNhbGx5IHBhdXNpbmcg
aW4gYXV0by1hdHRhY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3MjY2NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzIzNjI5MzM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUNvbnRyb2xsYWJsZVRhcmdldC5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1v
dGUvUmVtb3RlSW5zcGVjdGlvblRhcmdldC5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUv
Y29jb2EvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0Q29jb2EubW06CisgICAgICAgIChJbnNwZWN0
b3I6OlJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2V0dXApOgorICAgICAgICAqIGluc3BlY3Rv
ci9yZW1vdGUvZ2xpYi9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRHbGliLmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZXR1cCk6CisgICAgICAgICog
cnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdERlYnVnZ2FibGU6OmNvbm5lY3QpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9i
amVjdERlYnVnZ2FibGU6OnBhdXNlKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0pTR2xv
YmFsT2JqZWN0RGVidWdnYWJsZS5oOgorICAgICAgICBQYXNzIGFuIGltbWVkaWF0ZWx5UGF1c2Ug
Ym9vbGVhbiBvbiB0byB0aGUgY29udHJvbGxlci4gUmVtb3ZlCisgICAgICAgIHRoZSBjdXJyZW50
IHBhdGggdGhhdCBpbnZva2VzIGEgcGF1c2UgYmVmb3JlIGluaXRpYWxpemF0aW9uLgorCisgICAg
ICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmNv
bm5lY3RGcm9udGVuZCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgTWFuYWdlIHNob3Vs
ZCBpbW1lZGlhdGVseSBwYXVzZSBzdGF0ZS4KKworICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5kSW5pdGlhbGl6ZWQpOgorICAgICAg
ICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OnBhdXNlKTog
RGVsZXRlZC4KKyAgICAgICAgV2hlbiBpbml0aWFsaXplZCwgdHJpZ2dlciBhIHBhdXNlIGlmIHJl
cXVlc3RlZC4KKwogMjAxNy0wNS0yNSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggZm9yIEdDQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGMxZjE0NGEwZWY3Li44MDdkYzA4
ZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTE4
LDExICsxMTgsMTIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6Omds
b2JhbE9iamVjdERlc3Ryb3llZCgpCiAgICAgbV9hZ2VudHMuZGlzY2FyZFZhbHVlcygpOwogfQog
Ci12b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5k
KEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBib29sIGlzQXV0b21hdGljSW5zcGVj
dGlvbikKK3ZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJv
bnRlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNJ
bnNwZWN0aW9uLCBib29sIGltbWVkaWF0ZWx5UGF1c2UpCiB7CiAgICAgQVNTRVJUX0FSRyhmcm9u
dGVuZENoYW5uZWwsIGZyb250ZW5kQ2hhbm5lbCk7CiAKICAgICBtX2lzQXV0b21hdGljSW5zcGVj
dGlvbiA9IGlzQXV0b21hdGljSW5zcGVjdGlvbjsKKyAgICBtX3BhdXNlQWZ0ZXJJbml0aWFsaXph
dGlvbiA9IGltbWVkaWF0ZWx5UGF1c2U7CiAKICAgICBib29sIGNvbm5lY3RlZEZpcnN0RnJvbnRl
bmQgPSAhbV9mcm9udGVuZFJvdXRlci0+aGFzRnJvbnRlbmRzKCk7CiAgICAgbV9mcm9udGVuZFJv
dXRlci0+Y29ubmVjdEZyb250ZW5kKGZyb250ZW5kQ2hhbm5lbCk7CkBAIC0xNTUsNiArMTU2LDcg
QEAgdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9u
dGVuZChGcm9udGVuZENoYW5uZWwqIGZyb24KICAgICBtX2Zyb250ZW5kUm91dGVyLT5kaXNjb25u
ZWN0RnJvbnRlbmQoZnJvbnRlbmRDaGFubmVsKTsKIAogICAgIG1faXNBdXRvbWF0aWNJbnNwZWN0
aW9uID0gZmFsc2U7CisgICAgbV9wYXVzZUFmdGVySW5pdGlhbGl6YXRpb24gPSBmYWxzZTsKIAog
ICAgIGJvb2wgZGlzY29ubmVjdGVkTGFzdEZyb250ZW5kID0gIW1fZnJvbnRlbmRSb3V0ZXItPmhh
c0Zyb250ZW5kcygpOwogICAgIGlmICghZGlzY29ubmVjdGVkTGFzdEZyb250ZW5kKQpAQCAtMTc1
LDEzICsxNzcsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlz
cGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKGNvbnN0IFN0cmluZwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXItPmRpc3BhdGNoKG1lc3NhZ2UpOwogfQogCi12b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlcjo6cGF1c2UoKQotewotICAgIEVycm9yU3RyaW5nIGR1bW15RXJyb3I7Ci0g
ICAgbV9kZWJ1Z2dlckFnZW50LT5lbmFibGUoZHVtbXlFcnJvcik7Ci0gICAgbV9kZWJ1Z2dlckFn
ZW50LT5wYXVzZShkdW1teUVycm9yKTsKLX0KLQogdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmFwcGVuZEFQSUJhY2t0cmFjZShTY3JpcHRDYWxsU3RhY2smIGNhbGxTdGFj
aykKIHsKICNpZiBPUyhEQVJXSU4pIHx8IChPUyhMSU5VWCkgJiYgIVBMQVRGT1JNKEdUSykpCkBA
IC0yNjUsNiArMjYwLDEzIEBAIEluc3BlY3RvckV2YWx1YXRlSGFuZGxlciBKU0dsb2JhbE9iamVj
dEluc3BlY3RvckNvbnRyb2xsZXI6OmV2YWx1YXRlSGFuZGxlcigpIGNvCiAKIHZvaWQgSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpmcm9udGVuZEluaXRpYWxpemVkKCkKIHsKKyAg
ICBpZiAobV9wYXVzZUFmdGVySW5pdGlhbGl6YXRpb24pIHsKKyAgICAgICAgbV9wYXVzZUFmdGVy
SW5pdGlhbGl6YXRpb24gPSBmYWxzZTsKKyAgICAgICAgRXJyb3JTdHJpbmcgaWdub3JlZDsKKyAg
ICAgICAgbV9kZWJ1Z2dlckFnZW50LT5lbmFibGUoaWdub3JlZCk7CisgICAgICAgIG1fZGVidWdn
ZXJBZ2VudC0+cGF1c2UoaWdub3JlZCk7CisgICAgfQorCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCiAgICAgaWYgKG1faXNBdXRvbWF0aWNJbnNwZWN0aW9uKQogICAgICAgICBtX2dsb2Jh
bE9iamVjdC5pbnNwZWN0b3JEZWJ1Z2dhYmxlKCkudW5wYXVzZUZvckluaXRpYWxpemVkSW5zcGVj
dG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCAyNmE1Njhm
NjAyOC4uOGZiNmNiYjZmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIu
aApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyKEpTQzo6SlNHbG9iYWxPYmplY3QmKTsKICAgICB+SlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyKCk7CiAKLSAgICB2b2lkIGNvbm5lY3RGcm9udGVuZChGcm9udGVuZENo
YW5uZWwqLCBib29sIGlzQXV0b21hdGljSW5zcGVjdGlvbik7CisgICAgdm9pZCBjb25uZWN0RnJv
bnRlbmQoRnJvbnRlbmRDaGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0luc3BlY3Rpb24sIGJvb2wg
aW1tZWRpYXRlbHlQYXVzZSk7CiAgICAgdm9pZCBkaXNjb25uZWN0RnJvbnRlbmQoRnJvbnRlbmRD
aGFubmVsKik7CiAKICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUZyb21Gcm9udGVuZChjb25zdCBT
dHJpbmcmKTsKQEAgLTc4LDcgKzc4LDYgQEAgcHVibGljOgogICAgIGJvb2wgaW5jbHVkZXNOYXRp
dmVDYWxsU3RhY2tXaGVuUmVwb3J0aW5nRXhjZXB0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faW5j
bHVkZU5hdGl2ZUNhbGxTdGFja1dpdGhFeGNlcHRpb25zOyB9CiAgICAgdm9pZCBzZXRJbmNsdWRl
c05hdGl2ZUNhbGxTdGFja1doZW5SZXBvcnRpbmdFeGNlcHRpb25zKGJvb2wgaW5jbHVkZXNOYXRp
dmVDYWxsU3RhY2spIHsgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNrV2l0aEV4Y2VwdGlvbnMgPSBp
bmNsdWRlc05hdGl2ZUNhbGxTdGFjazsgfQogCi0gICAgdm9pZCBwYXVzZSgpOwogICAgIHZvaWQg
cmVwb3J0QVBJRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFeGNlcHRpb24qKTsKIAog
ICAgIEpTQzo6Q29uc29sZUNsaWVudCogY29uc29sZUNsaWVudCgpIGNvbnN0OwpAQCAtMTI0LDYg
KzEyMyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1faW5jbHVkZU5hdGl2ZUNhbGxTdGFja1dp
dGhFeGNlcHRpb25zIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24g
eyBmYWxzZSB9OworICAgIGJvb2wgbV9wYXVzZUFmdGVySW5pdGlhbGl6YXRpb24geyBmYWxzZSB9
OwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgQXVn
bWVudGFibGVJbnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBu
dWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVDb250cm9sbGFibGVUYXJnZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL1JlbW90ZUNvbnRyb2xsYWJsZVRhcmdldC5oCmluZGV4IGFmYWUzNjlh
ZTFmLi42NGNjNjRmNDdlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0LmgKQEAg
LTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHZvaWQgaW5pdCgpOwogICAgIHZvaWQgdXBkYXRl
KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChGcm9udGVuZENoYW5uZWwqLCBib29sIGlz
QXV0b21hdGljQ29ubmVjdGlvbiA9IGZhbHNlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNvbm5l
Y3QoRnJvbnRlbmRDaGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24gPSBmYWxzZSwg
Ym9vbCBpbW1lZGlhdGVseVBhdXNlID0gZmFsc2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlz
Y29ubmVjdChGcm9udGVuZENoYW5uZWwqKSA9IDA7CiAKICAgICB1bnNpZ25lZCB0YXJnZXRJZGVu
dGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0aW9uVGFyZ2V0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
aW9uVGFyZ2V0LmgKaW5kZXggNDUzMjlmNmQ2MmYuLjc3OWQ4YWJjOTQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0aW9uVGFy
Z2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3Rl
SW5zcGVjdGlvblRhcmdldC5oCkBAIC01MSw3ICs1MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgaGFzTG9jYWxEZWJ1Z2dlcigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBz
ZXRJbmRpY2F0aW5nKGJvb2wpIHsgfSAvLyBEZWZhdWx0IGlzIHRvIGRvIG5vdGhpbmcuCi0gICAg
dmlydHVhbCB2b2lkIHBhdXNlKCkgeyB9OwogCiAgICAgdmlydHVhbCBib29sIGF1dG9tYXRpY0lu
c3BlY3Rpb25BbGxvd2VkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcGF1c2VXYWl0aW5nRm9yQXV0b21hdGljSW5zcGVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlQ29ubmVjdGlv
blRvVGFyZ2V0Q29jb2EubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90
ZS9jb2NvYS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRDb2NvYS5tbQppbmRleCBmYWZkOGFiMzNm
NS4uYjBhODBmZWJmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcmVtb3RlL2NvY29hL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldENvY29hLm1tCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUNvbm5lY3Rp
b25Ub1RhcmdldENvY29hLm1tCkBAIC0xNzEsMTIgKzE3MSw5IEBAIGJvb2wgUmVtb3RlQ29ubmVj
dGlvblRvVGFyZ2V0OjpzZXR1cChib29sIGlzQXV0b21hdGljSW5zcGVjdGlvbiwgYm9vbCBhdXRv
bWF0aWNhCiAgICAgICAgICAgICAgICAgbV90YXJnZXQgPSBudWxscHRyOwogICAgICAgICAgICAg
fSBlbHNlIGlmIChpczxSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0PihtX3RhcmdldCkpIHsKICAgICAg
ICAgICAgICAgICBhdXRvIGNhc3RlZFRhcmdldCA9IGRvd25jYXN0PFJlbW90ZUluc3BlY3Rpb25U
YXJnZXQ+KG1fdGFyZ2V0KTsKLSAgICAgICAgICAgICAgICBjYXN0ZWRUYXJnZXQtPmNvbm5lY3Qo
dGhpcywgaXNBdXRvbWF0aWNJbnNwZWN0aW9uKTsKKyAgICAgICAgICAgICAgICBjYXN0ZWRUYXJn
ZXQtPmNvbm5lY3QodGhpcywgaXNBdXRvbWF0aWNJbnNwZWN0aW9uLCBhdXRvbWF0aWNhbGx5UGF1
c2UpOwogICAgICAgICAgICAgICAgIG1fY29ubmVjdGVkID0gdHJ1ZTsKIAotICAgICAgICAgICAg
ICAgIGlmIChhdXRvbWF0aWNhbGx5UGF1c2UpCi0gICAgICAgICAgICAgICAgICAgIGNhc3RlZFRh
cmdldC0+cGF1c2UoKTsKLQogICAgICAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xl
dG9uKCkudXBkYXRlVGFyZ2V0TGlzdGluZyh0YXJnZXRJZGVudGlmaWVyKTsKICAgICAgICAgICAg
IH0gZWxzZSBpZiAoaXM8UmVtb3RlQXV0b21hdGlvblRhcmdldD4obV90YXJnZXQpKSB7CiAgICAg
ICAgICAgICAgICAgYXV0byBjYXN0ZWRUYXJnZXQgPSBkb3duY2FzdDxSZW1vdGVBdXRvbWF0aW9u
VGFyZ2V0PihtX3RhcmdldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldEdsaWIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXRHbGliLmNwcAppbmRleCA5ZDYxMWVjZGNjYS4uYzY2YjU1OTkxZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlQ29u
bmVjdGlvblRvVGFyZ2V0R2xpYi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRHbGliLmNwcApAQCAtNTYs
MTIgKzU2LDkgQEAgYm9vbCBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnNldHVwKGJvb2wgaXNB
dXRvbWF0aWNJbnNwZWN0aW9uLCBib29sIGF1dG9tYXRpY2EKICAgICAgICAgbV90YXJnZXQgPSBu
dWxscHRyOwogICAgIH0gZWxzZSBpZiAoaXM8UmVtb3RlSW5zcGVjdGlvblRhcmdldD4obV90YXJn
ZXQpKSB7CiAgICAgICAgIGF1dG8gdGFyZ2V0ID0gZG93bmNhc3Q8UmVtb3RlSW5zcGVjdGlvblRh
cmdldD4obV90YXJnZXQpOwotICAgICAgICB0YXJnZXQtPmNvbm5lY3QodGhpcywgaXNBdXRvbWF0
aWNJbnNwZWN0aW9uKTsKKyAgICAgICAgdGFyZ2V0LT5jb25uZWN0KHRoaXMsIGlzQXV0b21hdGlj
SW5zcGVjdGlvbiwgYXV0b21hdGljYWxseVBhdXNlKTsKICAgICAgICAgbV9jb25uZWN0ZWQgPSB0
cnVlOwogCi0gICAgICAgIGlmIChhdXRvbWF0aWNhbGx5UGF1c2UpCi0gICAgICAgICAgICB0YXJn
ZXQtPnBhdXNlKCk7Ci0KICAgICAgICAgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS51cGRh
dGVUYXJnZXRMaXN0aW5nKHRhcmdldElkZW50aWZpZXIpOwogICAgIH0gZWxzZSBpZiAoaXM8UmVt
b3RlQXV0b21hdGlvblRhcmdldD4obV90YXJnZXQpKSB7CiAgICAgICAgIGF1dG8gdGFyZ2V0ID0g
ZG93bmNhc3Q8UmVtb3RlQXV0b21hdGlvblRhcmdldD4obV90YXJnZXQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJs
ZS5jcHAKaW5kZXggOTRiOTY0ZDc4ZmQuLjI4ZDU0ZDQxZDlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5j
cHAKQEAgLTQ5LDExICs0OSwxMSBAQCBTdHJpbmcgSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlOjpu
YW1lKCkgY29uc3QKICAgICByZXR1cm4gbmFtZS5pc0VtcHR5KCkgPyBBU0NJSUxpdGVyYWwoIkpT
Q29udGV4dCIpIDogbmFtZTsKIH0KIAotdm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGU6OmNv
bm5lY3QoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIGJvb2wgYXV0b21hdGljSW5z
cGVjdGlvbikKK3ZvaWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlOjpjb25uZWN0KEZyb250ZW5k
Q2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBib29sIGF1dG9tYXRpY0luc3BlY3Rpb24sIGJvb2wg
aW1tZWRpYXRlbHlQYXVzZSkKIHsKICAgICBKU0xvY2tIb2xkZXIgbG9ja2VyKCZtX2dsb2JhbE9i
amVjdC52bSgpKTsKIAotICAgIG1fZ2xvYmFsT2JqZWN0Lmluc3BlY3RvckNvbnRyb2xsZXIoKS5j
b25uZWN0RnJvbnRlbmQoZnJvbnRlbmRDaGFubmVsLCBhdXRvbWF0aWNJbnNwZWN0aW9uKTsKKyAg
ICBtX2dsb2JhbE9iamVjdC5pbnNwZWN0b3JDb250cm9sbGVyKCkuY29ubmVjdEZyb250ZW5kKGZy
b250ZW5kQ2hhbm5lbCwgYXV0b21hdGljSW5zcGVjdGlvbiwgaW1tZWRpYXRlbHlQYXVzZSk7CiB9
CiAKIHZvaWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlOjpkaXNjb25uZWN0KEZyb250ZW5kQ2hh
bm5lbCogZnJvbnRlbmRDaGFubmVsKQpAQCAtNjMsMTMgKzYzLDYgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdERlYnVnZ2FibGU6OmRpc2Nvbm5lY3QoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5u
ZWwpCiAgICAgbV9nbG9iYWxPYmplY3QuaW5zcGVjdG9yQ29udHJvbGxlcigpLmRpc2Nvbm5lY3RG
cm9udGVuZChmcm9udGVuZENoYW5uZWwpOwogfQogCi12b2lkIEpTR2xvYmFsT2JqZWN0RGVidWdn
YWJsZTo6cGF1c2UoKQotewotICAgIEpTTG9ja0hvbGRlciBsb2NrZXIoJm1fZ2xvYmFsT2JqZWN0
LnZtKCkpOwotCi0gICAgbV9nbG9iYWxPYmplY3QuaW5zcGVjdG9yQ29udHJvbGxlcigpLnBhdXNl
KCk7Ci19Ci0KIHZvaWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlOjpkaXNwYXRjaE1lc3NhZ2VG
cm9tUmVtb3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBKU0xvY2tIb2xkZXIgbG9j
a2VyKCZtX2dsb2JhbE9iamVjdC52bSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmgKaW5kZXggNzkzM2VlMGZk
YTAuLmVlNzg2NTUwNDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuaApAQCAtNTIsMTAgKzUyLDkgQEAgcHVi
bGljOgogICAgIFN0cmluZyBuYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNMb2Nh
bERlYnVnZ2VyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZvaWQg
Y29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgYXV0b21hdGljSW5zcGVj
dGlvbikgb3ZlcnJpZGU7CisgICAgdm9pZCBjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFu
bmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24gPSBmYWxzZSwgYm9vbCBpbW1lZGlhdGVs
eVBhdXNlID0gZmFsc2UpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzY29ubmVjdChJbnNwZWN0b3I6
OkZyb250ZW5kQ2hhbm5lbCopIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRnJv
bVJlbW90ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlOwotICAgIHZvaWQgcGF1c2Uo
KSBvdmVycmlkZTsKIAogICAgIGJvb2wgYXV0b21hdGljSW5zcGVjdGlvbkFsbG93ZWQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBwYXVzZVdhaXRpbmdGb3JBdXRv
bWF0aWNJbnNwZWN0aW9uKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU5Njg3OWI3NTMuLmJi
Y2E0N2I5YzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTctMDUtMjYgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBKU0NvbnRleHQgSW5z
cGVjdG9yOiBJbXByb3ZlIHRoZSByZWxpYWJpbGl0eSBvZiBhdXRvbWF0aWNhbGx5IHBhdXNpbmcg
aW4gYXV0by1hdHRhY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3MjY2NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzIzNjI5MzM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvUGFnZURlYnVnZ2FibGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZURlYnVnZ2FibGU6OmNvbm5lY3QpOgorICAgICAgICAqIHBh
Z2UvUGFnZURlYnVnZ2FibGUuaDoKKyAgICAgICAgUGFzcyBhbiBpbW1lZGlhdGVseVBhdXNlIGJv
b2xlYW4gb24gdG8gdGhlIGNvbnRyb2xsZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
Ojpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRy
b2xsZXI6OmRpc2Nvbm5lY3RBbGxGcm9udGVuZHMpOgorICAgICAgICBNYW5hZ2Ugc2hvdWxkIGlt
bWVkaWF0ZWx5IHBhdXNlIHN0YXRlLgorCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250
cm9sbGVyOjpmcm9udGVuZEluaXRpYWxpemVkKToKKyAgICAgICAgV2hlbiBpbml0aWFsaXplZCwg
dHJpZ2dlciBhIHBhdXNlIGlmIHJlcXVlc3RlZC4KKwogMjAxNy0wNS0yNSAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBNZWRpYURldmljZUluZm8ncyBleHRlbmRl
ZCBhdHRyaWJ1dGVzIHNvIHRoZXkgbWFrZSBzZW5zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MzUyM2EyMTA4Li45OGZlYjA1
ODRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcApAQCAtMjQ2LDEzICsyNDYsMTQgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpk
aWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUmIGZyYW1lLCBET01XcmFwcGVyV28KICAg
ICAgICAgbV9pbnNwZWN0b3JGcm9udGVuZENsaWVudC0+d2luZG93T2JqZWN0Q2xlYXJlZCgpOwog
fQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6
OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBib29sIGlzQXV0b21hdGljSW5zcGVj
dGlvbikKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKEluc3BlY3Rv
cjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNJbnNw
ZWN0aW9uLCBib29sIGltbWVkaWF0ZWx5UGF1c2UpCiB7CiAgICAgQVNTRVJUX0FSRyhmcm9udGVu
ZENoYW5uZWwsIGZyb250ZW5kQ2hhbm5lbCk7CiAgICAgQVNTRVJUKG1faW5zcGVjdG9yQ2xpZW50
KTsKIAogICAgIGJvb2wgY29ubmVjdGVkRmlyc3RGcm9udGVuZCA9ICFtX2Zyb250ZW5kUm91dGVy
LT5oYXNGcm9udGVuZHMoKTsKICAgICBtX2lzQXV0b21hdGljSW5zcGVjdGlvbiA9IGlzQXV0b21h
dGljSW5zcGVjdGlvbjsKKyAgICBtX3BhdXNlQWZ0ZXJJbml0aWFsaXphdGlvbiA9IGltbWVkaWF0
ZWx5UGF1c2U7CiAKICAgICBtX2Zyb250ZW5kUm91dGVyLT5jb25uZWN0RnJvbnRlbmQoZnJvbnRl
bmRDaGFubmVsKTsKIApAQCAtMjcyLDcgKzI3Myw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxl
cjo6Y29ubmVjdEZyb250ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENo
CiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZChGcm9udGVuZENo
YW5uZWwqIGZyb250ZW5kQ2hhbm5lbCkKIHsKICAgICBtX2Zyb250ZW5kUm91dGVyLT5kaXNjb25u
ZWN0RnJvbnRlbmQoZnJvbnRlbmRDaGFubmVsKTsKKwogICAgIG1faXNBdXRvbWF0aWNJbnNwZWN0
aW9uID0gZmFsc2U7CisgICAgbV9wYXVzZUFmdGVySW5pdGlhbGl6YXRpb24gPSBmYWxzZTsKIAog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJvbnRlbmREZWxldGVkKCk7CiAKQEAgLTMy
Myw2ICszMjYsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RBbGxGcm9u
dGVuZHMoKQogICAgIC8vIERpc2Nvbm5lY3QgYW55IHJlbWFpbmluZyByZW1vdGUgZnJvbnRlbmRz
LgogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5lY3RBbGxGcm9udGVuZHMoKTsKICAgICBt
X2lzQXV0b21hdGljSW5zcGVjdGlvbiA9IGZhbHNlOworICAgIG1fcGF1c2VBZnRlckluaXRpYWxp
emF0aW9uID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICBtX3Bh
Z2UucmVtb3RlSW5zcGVjdG9ySW5mb3JtYXRpb25EaWRDaGFuZ2UoKTsKQEAgLTQ1NSw2ICs0NTks
MTQgQEAgSW5zcGVjdG9yRXZhbHVhdGVIYW5kbGVyIEluc3BlY3RvckNvbnRyb2xsZXI6OmV2YWx1
YXRlSGFuZGxlcigpIGNvbnN0CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZnJvbnRlbmRJ
bml0aWFsaXplZCgpCiB7CisgICAgaWYgKG1fcGF1c2VBZnRlckluaXRpYWxpemF0aW9uKSB7Cisg
ICAgICAgIG1fcGF1c2VBZnRlckluaXRpYWxpemF0aW9uID0gZmFsc2U7CisgICAgICAgIGlmIChQ
YWdlRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+
cGFnZURlYnVnZ2VyQWdlbnQoKSkgeworICAgICAgICAgICAgRXJyb3JTdHJpbmcgaWdub3JlZDsK
KyAgICAgICAgICAgIGRlYnVnZ2VyQWdlbnQtPnBhdXNlKGlnbm9yZWQpOworICAgICAgICB9Cisg
ICAgfQorCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgaWYgKG1faXNBdXRvbWF0
aWNJbnNwZWN0aW9uKQogICAgICAgICBtX3BhZ2UuaW5zcGVjdG9yRGVidWdnYWJsZSgpLnVucGF1
c2VGb3JJbml0aWFsaXplZEluc3BlY3RvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggZmQ5NjkzYTliMjMuLmE2ZjlmY2QzYzJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAg
LTkwLDcgKzkwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzTG9jYWxGcm9udGVuZCgpIGNvbnN0
OwogICAgIGJvb2wgaGFzUmVtb3RlRnJvbnRlbmQoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgY29ubmVjdEZyb250ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgYm9v
bCBpc0F1dG9tYXRpY0luc3BlY3Rpb24gPSBmYWxzZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBib29sIGlzQXV0
b21hdGljSW5zcGVjdGlvbiA9IGZhbHNlLCBib29sIGltbWVkaWF0ZWx5UGF1c2UgPSBmYWxzZSk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaXNjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc2Nvbm5lY3RBbGxG
cm9udGVuZHMoKTsKICAgICB2b2lkIHNldFByb2Nlc3NJZChsb25nKTsKQEAgLTE0Nyw2ICsxNDcs
NyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2lzVW5kZXJUZXN0IHsgZmFsc2UgfTsKICAgICBi
b29sIG1faXNBdXRvbWF0aWNJbnNwZWN0aW9uIHsgZmFsc2UgfTsKKyAgICBib29sIG1fcGF1c2VB
ZnRlckluaXRpYWxpemF0aW9uID0geyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcAppbmRleCA5Yzk5ZjIyNzk5
OC4uMzJkOGQ5NmEzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVn
Z2FibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCkBA
IC03MCw3ICs3MCw3IEBAIGJvb2wgUGFnZURlYnVnZ2FibGU6Omhhc0xvY2FsRGVidWdnZXIoKSBj
b25zdAogICAgIHJldHVybiBtX3BhZ2UuaW5zcGVjdG9yQ29udHJvbGxlcigpLmhhc0xvY2FsRnJv
bnRlbmQoKTsKIH0KIAotdm9pZCBQYWdlRGVidWdnYWJsZTo6Y29ubmVjdChJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCogY2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pCit2b2lk
IFBhZ2VEZWJ1Z2dhYmxlOjpjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFu
bmVsLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiwgYm9vbCBpbW1lZGlhdGVseVBhdXNlKQog
ewogICAgIGlmICghbV9wYWdlLnNldHRpbmdzKCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKSB7
CiAgICAgICAgIG1fZm9yY2VkRGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCA9IHRydWU7CkBAIC03OSw3
ICs3OSw3IEBAIHZvaWQgUGFnZURlYnVnZ2FibGU6OmNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVu
ZENoYW5uZWwqIGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0CiAgICAgICAgIG1fZm9yY2VkRGV2ZWxv
cGVyRXh0cmFzRW5hYmxlZCA9IGZhbHNlOwogCiAgICAgSW5zcGVjdG9yQ29udHJvbGxlciYgaW5z
cGVjdG9yQ29udHJvbGxlciA9IG1fcGFnZS5pbnNwZWN0b3JDb250cm9sbGVyKCk7Ci0gICAgaW5z
cGVjdG9yQ29udHJvbGxlci5jb25uZWN0RnJvbnRlbmQoY2hhbm5lbCwgaXNBdXRvbWF0aWNDb25u
ZWN0aW9uKTsKKyAgICBpbnNwZWN0b3JDb250cm9sbGVyLmNvbm5lY3RGcm9udGVuZChjaGFubmVs
LCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24sIGltbWVkaWF0ZWx5UGF1c2UpOwogfQogCiB2b2lkIFBh
Z2VEZWJ1Z2dhYmxlOjpkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFu
bmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJsZS5oCmluZGV4IDE3MjNhZDA3MjgzLi42
ZjVlMTkwOWMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJs
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuaApAQCAtNDcsNyAr
NDcsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHVybCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgaGFzTG9jYWxEZWJ1Z2dlcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBjb25uZWN0
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24g
PSBmYWxzZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24gPSBmYWxzZSwgYm9vbCBpbW1lZGlh
dGVseVBhdXNlID0gZmFsc2UpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzY29ubmVjdChJbnNwZWN0
b3I6OkZyb250ZW5kQ2hhbm5lbCopIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdl
RnJvbVJlbW90ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0
SW5kaWNhdGluZyhib29sKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5YWFjYzg0MzhhMC4uNzRm
OTJhZDkwNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNS0yNiAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIEpTQ29udGV4dCBJbnNw
ZWN0b3I6IEltcHJvdmUgdGhlIHJlbGlhYmlsaXR5IG9mIGF1dG9tYXRpY2FsbHkgcGF1c2luZyBp
biBhdXRvLWF0dGFjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcyNjY0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjM2MjkzMz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb246OmNvbm5lY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmg6CisgICAgICAgIFNwZWNpYWwgY29ubmVjdGlvbiBvcHRp
b25zIGFyZSBpZ25vcmVkIGluIGF1dG9tYXRpb24gc2Vzc2lvbnMuCisKIDIwMTctMDUtMjUgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBEaXNiYWxlIGFzeW5jIGltYWdlIGRlY29kaW5nIHdoZW4gc3luY2hyb25vdXNseSBwYWludGlu
ZyBhIG5ld2x5IHBhcmVudGVkIFdlYlZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAppbmRleCAx
Zjk1OTVmNWRlMS4uY2IzNjY1MzQ5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTkx
LDkgKzkxLDEwIEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNoTWVzc2FnZUZy
b21SZW1vdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIG1fYmFja2VuZERpc3BhdGNoZXIt
PmRpc3BhdGNoKG1lc3NhZ2UpOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjb25u
ZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsLCBib29sIGlzQXV0b21hdGlj
Q29ubmVjdGlvbikKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uLCBi
b29sIGltbWVkaWF0ZWx5UGF1c2UpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGlzQXV0b21hdGljQ29u
bmVjdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGltbWVkaWF0ZWx5UGF1c2UpOwogCiAgICAgbV9y
ZW1vdGVDaGFubmVsID0gY2hhbm5lbDsKICAgICBtX2Zyb250ZW5kUm91dGVyLT5jb25uZWN0RnJv
bnRlbmQoY2hhbm5lbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCA0N2E1YjQ1ODAwYi4uNjFm
OTE4MGYyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6
CiAgICAgLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQogICAgIFN0cmlu
ZyBuYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsgfQog
ICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2Up
IG92ZXJyaWRlOwotICAgIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCos
IGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJyaWRlOworICAgIHZvaWQg
Y29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0aWNDb25u
ZWN0aW9uID0gZmFsc2UsIGJvb2wgaW1tZWRpYXRlbHlQYXVzZSA9IGZhbHNlKSBvdmVycmlkZTsK
ICAgICB2b2lkIGRpc2Nvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqKSBvdmVycmlk
ZTsKICNlbmRpZgogICAgIHZvaWQgdGVybWluYXRlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311380</attachid>
            <date>2017-05-26 14:47:48 -0700</date>
            <delta_ts>2017-05-26 15:57:01 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>better-1.patch</filename>
            <type>text/plain</type>
            <size>20778</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI2ZjNlNjVjNzYwLi5kMDlmZjlhMGE5NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTctMDUtMjYgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBKU0NvbnRleHQgSW5z
cGVjdG9yOiBJbXByb3ZlIHRoZSByZWxpYWJpbGl0eSBvZiBhdXRvbWF0aWNhbGx5IHBhdXNpbmcg
aW4gYXV0by1hdHRhY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3MjY2NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzIzNjI5MzM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b21hdGljYWxseSBw
YXVzZSBvbiBjb25uZWN0aW9uIHdhcyB0cmlnZ2VyaW5nIGEgcGF1c2UgYmVmb3JlIHRoZQorICAg
ICAgICBmcm9udGVuZCBtYXkgaGF2ZSBpbml0aWFsaXplZC4gT2Z0ZW4gZHVyaW5nIGZyb250ZW5k
IGluaXRpYWxpemF0aW9uCisgICAgICAgIHRoZSBmcm9udGVuZCBtYXkgcGVyZm9ybSBhbiBhY3Rp
b24gdGhhdCBjbGVhcnMgdGhlIHBhdXNlIHN0YXRlIHJlcXVlc3RlZAorICAgICAgICBieSB0aGUg
ZGV2ZWxvcGVyLiBUaGlzIGNoYW5nZSBkZWZlcnMgdGhlIHBhdXNlIHVudGlsIGFmdGVyIHRoZSBm
cm9udGVuZAorICAgICAgICBoYXMgaW5pdGlhbGl6ZWQsIHJpZ2h0IGJlZm9yZSByZXR1cm5pbmcg
dG8gdGhlIGFwcGxpY2F0aW9uJ3MgY29kZS4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUv
UmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9S
ZW1vdGVJbnNwZWN0aW9uVGFyZ2V0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9jb2Nv
YS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRDb2NvYS5tbToKKyAgICAgICAgKEluc3BlY3Rvcjo6
UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZXR1cCk6CisgICAgICAgICogaW5zcGVjdG9yL3Jl
bW90ZS9nbGliL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldEdsaWIuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnNldHVwKToKKyAgICAgICAgKiBydW50
aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0RGVidWdnYWJsZTo6Y29ubmVjdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
RGVidWdnYWJsZTo6cGF1c2UpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxP
YmplY3REZWJ1Z2dhYmxlLmg6CisgICAgICAgIFBhc3MgYW4gaW1tZWRpYXRlbHlQYXVzZSBib29s
ZWFuIG9uIHRvIHRoZSBjb250cm9sbGVyLiBSZW1vdmUKKyAgICAgICAgdGhlIGN1cnJlbnQgcGF0
aCB0aGF0IGludm9rZXMgYSBwYXVzZSBiZWZvcmUgaW5pdGlhbGl6YXRpb24uCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVj
dEZyb250ZW5kKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICBNYW5hZ2Ugc2hvdWxkIGlt
bWVkaWF0ZWx5IHBhdXNlIHN0YXRlLgorCisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2Jq
ZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6ZnJvbnRlbmRJbml0aWFsaXplZCk6CisgICAgICAgIChJ
bnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6cGF1c2UpOiBEZWxl
dGVkLgorICAgICAgICBXaGVuIGluaXRpYWxpemVkLCB0cmlnZ2VyIGEgcGF1c2UgaWYgcmVxdWVz
dGVkLgorCiAyMDE3LTA1LTI1ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCBmb3IgR0NDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2Jq
ZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggYzFmMTQ0YTBlZjcuLjgwN2RjMDhlODY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2Jq
ZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xMTgsMTEg
KzExOCwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2xvYmFs
T2JqZWN0RGVzdHJveWVkKCkKICAgICBtX2FnZW50cy5kaXNjYXJkVmFsdWVzKCk7CiB9CiAKLXZv
aWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoRnJv
bnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9u
KQordm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVu
ZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRpY0luc3Bl
Y3Rpb24sIGJvb2wgaW1tZWRpYXRlbHlQYXVzZSkKIHsKICAgICBBU1NFUlRfQVJHKGZyb250ZW5k
Q2hhbm5lbCwgZnJvbnRlbmRDaGFubmVsKTsKIAogICAgIG1faXNBdXRvbWF0aWNJbnNwZWN0aW9u
ID0gaXNBdXRvbWF0aWNJbnNwZWN0aW9uOworICAgIG1fcGF1c2VBZnRlckluaXRpYWxpemF0aW9u
ID0gaW1tZWRpYXRlbHlQYXVzZTsKIAogICAgIGJvb2wgY29ubmVjdGVkRmlyc3RGcm9udGVuZCA9
ICFtX2Zyb250ZW5kUm91dGVyLT5oYXNGcm9udGVuZHMoKTsKICAgICBtX2Zyb250ZW5kUm91dGVy
LT5jb25uZWN0RnJvbnRlbmQoZnJvbnRlbmRDaGFubmVsKTsKQEAgLTE1NSw2ICsxNTYsNyBAQCB2
b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5k
KEZyb250ZW5kQ2hhbm5lbCogZnJvbgogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5lY3RG
cm9udGVuZChmcm9udGVuZENoYW5uZWwpOwogCiAgICAgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24g
PSBmYWxzZTsKKyAgICBtX3BhdXNlQWZ0ZXJJbml0aWFsaXphdGlvbiA9IGZhbHNlOwogCiAgICAg
Ym9vbCBkaXNjb25uZWN0ZWRMYXN0RnJvbnRlbmQgPSAhbV9mcm9udGVuZFJvdXRlci0+aGFzRnJv
bnRlbmRzKCk7CiAgICAgaWYgKCFkaXNjb25uZWN0ZWRMYXN0RnJvbnRlbmQpCkBAIC0xNzUsMTMg
KzE3Nyw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNwYXRj
aE1lc3NhZ2VGcm9tRnJvbnRlbmQoY29uc3QgU3RyaW5nCiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hl
ci0+ZGlzcGF0Y2gobWVzc2FnZSk7CiB9CiAKLXZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyOjpwYXVzZSgpCi17Ci0gICAgRXJyb3JTdHJpbmcgZHVtbXlFcnJvcjsKLSAgICBt
X2RlYnVnZ2VyQWdlbnQtPmVuYWJsZShkdW1teUVycm9yKTsKLSAgICBtX2RlYnVnZ2VyQWdlbnQt
PnBhdXNlKGR1bW15RXJyb3IpOwotfQotCiB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29u
dHJvbGxlcjo6YXBwZW5kQVBJQmFja3RyYWNlKFNjcmlwdENhbGxTdGFjayYgY2FsbFN0YWNrKQog
ewogI2lmIE9TKERBUldJTikgfHwgKE9TKExJTlVYKSAmJiAhUExBVEZPUk0oR1RLKSkKQEAgLTI2
NSw2ICsyNjAsMTMgQEAgSW5zcGVjdG9yRXZhbHVhdGVIYW5kbGVyIEpTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlcjo6ZXZhbHVhdGVIYW5kbGVyKCkgY28KIAogdm9pZCBKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5kSW5pdGlhbGl6ZWQoKQogeworICAgIGlm
IChtX3BhdXNlQWZ0ZXJJbml0aWFsaXphdGlvbikgeworICAgICAgICBtX3BhdXNlQWZ0ZXJJbml0
aWFsaXphdGlvbiA9IGZhbHNlOworICAgICAgICBFcnJvclN0cmluZyBpZ25vcmVkOworICAgICAg
ICBtX2RlYnVnZ2VyQWdlbnQtPmVuYWJsZShpZ25vcmVkKTsKKyAgICAgICAgbV9kZWJ1Z2dlckFn
ZW50LT5wYXVzZShpZ25vcmVkKTsKKyAgICB9CisKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKICAgICBpZiAobV9pc0F1dG9tYXRpY0luc3BlY3Rpb24pCiAgICAgICAgIG1fZ2xvYmFsT2Jq
ZWN0Lmluc3BlY3RvckRlYnVnZ2FibGUoKS51bnBhdXNlRm9ySW5pdGlhbGl6ZWRJbnNwZWN0b3Io
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDI2YTU2OGY2MDI4
Li44ZmI2Y2JiNmZmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCkBA
IC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXIoSlNDOjpKU0dsb2JhbE9iamVjdCYpOwogICAgIH5KU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQgY29ubmVjdEZyb250ZW5kKEZyb250ZW5kQ2hhbm5l
bCosIGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uKTsKKyAgICB2b2lkIGNvbm5lY3RGcm9udGVu
ZChGcm9udGVuZENoYW5uZWwqLCBib29sIGlzQXV0b21hdGljSW5zcGVjdGlvbiwgYm9vbCBpbW1l
ZGlhdGVseVBhdXNlKTsKICAgICB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZChGcm9udGVuZENoYW5u
ZWwqKTsKIAogICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKGNvbnN0IFN0cmlu
ZyYpOwpAQCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbmNsdWRlc05hdGl2ZUNh
bGxTdGFja1doZW5SZXBvcnRpbmdFeGNlcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9pbmNsdWRl
TmF0aXZlQ2FsbFN0YWNrV2l0aEV4Y2VwdGlvbnM7IH0KICAgICB2b2lkIHNldEluY2x1ZGVzTmF0
aXZlQ2FsbFN0YWNrV2hlblJlcG9ydGluZ0V4Y2VwdGlvbnMoYm9vbCBpbmNsdWRlc05hdGl2ZUNh
bGxTdGFjaykgeyBtX2luY2x1ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhjZXB0aW9ucyA9IGluY2x1
ZGVzTmF0aXZlQ2FsbFN0YWNrOyB9CiAKLSAgICB2b2lkIHBhdXNlKCk7CiAgICAgdm9pZCByZXBv
cnRBUElFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkV4Y2VwdGlvbiopOwogCiAgICAg
SlNDOjpDb25zb2xlQ2xpZW50KiBjb25zb2xlQ2xpZW50KCkgY29uc3Q7CkBAIC0xMjQsNiArMTIz
LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNrV2l0aEV4
Y2VwdGlvbnMgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbiB7IGZh
bHNlIH07CisgICAgYm9vbCBtX3BhdXNlQWZ0ZXJJbml0aWFsaXphdGlvbiB7IGZhbHNlIH07CiAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKICAgICBBdWdtZW50
YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQqIG1fYXVnbWVudGluZ0NsaWVudCB7IG51bGxw
dHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L1JlbW90ZUNvbnRyb2xsYWJsZVRhcmdldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0LmgKaW5kZXggYWZhZTM2OWFlMWYu
LjY0Y2M2NGY0N2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVDb250cm9sbGFibGVUYXJnZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVDb250cm9sbGFibGVUYXJnZXQuaApAQCAtNDUs
NyArNDUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0KCk7CiAgICAgdm9pZCB1cGRhdGUoKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KEZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRv
bWF0aWNDb25uZWN0aW9uID0gZmFsc2UpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChG
cm9udGVuZENoYW5uZWwqLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiA9IGZhbHNlLCBib29s
IGltbWVkaWF0ZWx5UGF1c2UgPSBmYWxzZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNjb25u
ZWN0KEZyb250ZW5kQ2hhbm5lbCopID0gMDsKIAogICAgIHVuc2lnbmVkIHRhcmdldElkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rpb25UYXJnZXQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rpb25U
YXJnZXQuaAppbmRleCA0NTMyOWY2ZDYyZi4uNzc5ZDhhYmM5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rpb25UYXJnZXQu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNw
ZWN0aW9uVGFyZ2V0LmgKQEAgLTUxLDcgKzUxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBoYXNMb2NhbERlYnVnZ2VyKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHNldElu
ZGljYXRpbmcoYm9vbCkgeyB9IC8vIERlZmF1bHQgaXMgdG8gZG8gbm90aGluZy4KLSAgICB2aXJ0
dWFsIHZvaWQgcGF1c2UoKSB7IH07CiAKICAgICB2aXJ0dWFsIGJvb2wgYXV0b21hdGljSW5zcGVj
dGlvbkFsbG93ZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBw
YXVzZVdhaXRpbmdGb3JBdXRvbWF0aWNJbnNwZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVDb25uZWN0aW9uVG9U
YXJnZXRDb2NvYS5tbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2Nv
Y29hL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldENvY29hLm1tCmluZGV4IGZhZmQ4YWIzM2Y1Li5i
MGE4MGZlYmZlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvY29jb2EvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0Q29jb2EubW0KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlQ29ubmVjdGlvblRv
VGFyZ2V0Q29jb2EubW0KQEAgLTE3MSwxMiArMTcxLDkgQEAgYm9vbCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OnNldHVwKGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uLCBib29sIGF1dG9tYXRp
Y2EKICAgICAgICAgICAgICAgICBtX3RhcmdldCA9IG51bGxwdHI7CiAgICAgICAgICAgICB9IGVs
c2UgaWYgKGlzPFJlbW90ZUluc3BlY3Rpb25UYXJnZXQ+KG1fdGFyZ2V0KSkgewogICAgICAgICAg
ICAgICAgIGF1dG8gY2FzdGVkVGFyZ2V0ID0gZG93bmNhc3Q8UmVtb3RlSW5zcGVjdGlvblRhcmdl
dD4obV90YXJnZXQpOwotICAgICAgICAgICAgICAgIGNhc3RlZFRhcmdldC0+Y29ubmVjdCh0aGlz
LCBpc0F1dG9tYXRpY0luc3BlY3Rpb24pOworICAgICAgICAgICAgICAgIGNhc3RlZFRhcmdldC0+
Y29ubmVjdCh0aGlzLCBpc0F1dG9tYXRpY0luc3BlY3Rpb24sIGF1dG9tYXRpY2FsbHlQYXVzZSk7
CiAgICAgICAgICAgICAgICAgbV9jb25uZWN0ZWQgPSB0cnVlOwogCi0gICAgICAgICAgICAgICAg
aWYgKGF1dG9tYXRpY2FsbHlQYXVzZSkKLSAgICAgICAgICAgICAgICAgICAgY2FzdGVkVGFyZ2V0
LT5wYXVzZSgpOwotCiAgICAgICAgICAgICAgICAgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24o
KS51cGRhdGVUYXJnZXRMaXN0aW5nKHRhcmdldElkZW50aWZpZXIpOwogICAgICAgICAgICAgfSBl
bHNlIGlmIChpczxSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0PihtX3RhcmdldCkpIHsKICAgICAgICAg
ICAgICAgICBhdXRvIGNhc3RlZFRhcmdldCA9IGRvd25jYXN0PFJlbW90ZUF1dG9tYXRpb25UYXJn
ZXQ+KG1fdGFyZ2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcmVtb3RlL2dsaWIvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0R2xpYi5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUNvbm5lY3Rpb25Ub1Rh
cmdldEdsaWIuY3BwCmluZGV4IDlkNjExZWNkY2NhLi5jNjZiNTU5OTFkMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVDb25uZWN0
aW9uVG9UYXJnZXRHbGliLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9nbGliL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldEdsaWIuY3BwCkBAIC01NiwxMiAr
NTYsOSBAQCBib29sIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2V0dXAoYm9vbCBpc0F1dG9t
YXRpY0luc3BlY3Rpb24sIGJvb2wgYXV0b21hdGljYQogICAgICAgICBtX3RhcmdldCA9IG51bGxw
dHI7CiAgICAgfSBlbHNlIGlmIChpczxSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0PihtX3RhcmdldCkp
IHsKICAgICAgICAgYXV0byB0YXJnZXQgPSBkb3duY2FzdDxSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0
PihtX3RhcmdldCk7Ci0gICAgICAgIHRhcmdldC0+Y29ubmVjdCh0aGlzLCBpc0F1dG9tYXRpY0lu
c3BlY3Rpb24pOworICAgICAgICB0YXJnZXQtPmNvbm5lY3QodGhpcywgaXNBdXRvbWF0aWNJbnNw
ZWN0aW9uLCBhdXRvbWF0aWNhbGx5UGF1c2UpOwogICAgICAgICBtX2Nvbm5lY3RlZCA9IHRydWU7
CiAKLSAgICAgICAgaWYgKGF1dG9tYXRpY2FsbHlQYXVzZSkKLSAgICAgICAgICAgIHRhcmdldC0+
cGF1c2UoKTsKLQogICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRh
cmdldExpc3RpbmcodGFyZ2V0SWRlbnRpZmllcik7CiAgICAgfSBlbHNlIGlmIChpczxSZW1vdGVB
dXRvbWF0aW9uVGFyZ2V0PihtX3RhcmdldCkpIHsKICAgICAgICAgYXV0byB0YXJnZXQgPSBkb3du
Y2FzdDxSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0PihtX3RhcmdldCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNw
cAppbmRleCA5NGI5NjRkNzhmZC4uMjhkNTRkNDFkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcApA
QCAtNDksMTEgKzQ5LDExIEBAIFN0cmluZyBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGU6Om5hbWUo
KSBjb25zdAogICAgIHJldHVybiBuYW1lLmlzRW1wdHkoKSA/IEFTQ0lJTGl0ZXJhbCgiSlNDb250
ZXh0IikgOiBuYW1lOwogfQogCi12b2lkIEpTR2xvYmFsT2JqZWN0RGVidWdnYWJsZTo6Y29ubmVj
dChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgYm9vbCBhdXRvbWF0aWNJbnNwZWN0
aW9uKQordm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGU6OmNvbm5lY3QoRnJvbnRlbmRDaGFu
bmVsKiBmcm9udGVuZENoYW5uZWwsIGJvb2wgYXV0b21hdGljSW5zcGVjdGlvbiwgYm9vbCBpbW1l
ZGlhdGVseVBhdXNlKQogewogICAgIEpTTG9ja0hvbGRlciBsb2NrZXIoJm1fZ2xvYmFsT2JqZWN0
LnZtKCkpOwogCi0gICAgbV9nbG9iYWxPYmplY3QuaW5zcGVjdG9yQ29udHJvbGxlcigpLmNvbm5l
Y3RGcm9udGVuZChmcm9udGVuZENoYW5uZWwsIGF1dG9tYXRpY0luc3BlY3Rpb24pOworICAgIG1f
Z2xvYmFsT2JqZWN0Lmluc3BlY3RvckNvbnRyb2xsZXIoKS5jb25uZWN0RnJvbnRlbmQoZnJvbnRl
bmRDaGFubmVsLCBhdXRvbWF0aWNJbnNwZWN0aW9uLCBpbW1lZGlhdGVseVBhdXNlKTsKIH0KIAog
dm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGU6OmRpc2Nvbm5lY3QoRnJvbnRlbmRDaGFubmVs
KiBmcm9udGVuZENoYW5uZWwpCkBAIC02MywxMyArNjMsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0
RGVidWdnYWJsZTo6ZGlzY29ubmVjdChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCkK
ICAgICBtX2dsb2JhbE9iamVjdC5pbnNwZWN0b3JDb250cm9sbGVyKCkuZGlzY29ubmVjdEZyb250
ZW5kKGZyb250ZW5kQ2hhbm5lbCk7CiB9CiAKLXZvaWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxl
OjpwYXVzZSgpCi17Ci0gICAgSlNMb2NrSG9sZGVyIGxvY2tlcigmbV9nbG9iYWxPYmplY3Qudm0o
KSk7Ci0KLSAgICBtX2dsb2JhbE9iamVjdC5pbnNwZWN0b3JDb250cm9sbGVyKCkucGF1c2UoKTsK
LX0KLQogdm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2FibGU6OmRpc3BhdGNoTWVzc2FnZUZyb21S
ZW1vdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIEpTTG9ja0hvbGRlciBsb2NrZXIo
Jm1fZ2xvYmFsT2JqZWN0LnZtKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuaAppbmRleCA3OTMzZWUwZmRhMC4u
ZWU3ODY1NTA0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0RGVidWdnYWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5oCkBAIC01MiwxMCArNTIsOSBAQCBwdWJsaWM6
CiAgICAgU3RyaW5nIG5hbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc0xvY2FsRGVi
dWdnZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgdm9pZCBjb25u
ZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgYm9vbCBhdXRvbWF0aWNJbnNwZWN0aW9u
KSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiA9IGZhbHNlLCBib29sIGltbWVkaWF0ZWx5UGF1
c2UgPSBmYWxzZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJv
bnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VGcm9tUmVt
b3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwYXVzZSgpIG92
ZXJyaWRlOwogCiAgICAgYm9vbCBhdXRvbWF0aWNJbnNwZWN0aW9uQWxsb3dlZCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIHBhdXNlV2FpdGluZ0ZvckF1dG9tYXRp
Y0luc3BlY3Rpb24oKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNTk2ODc5Yjc1My4uYmJjYTQ3
YjljNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNy0wNS0yNiAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIEpTQ29udGV4dCBJbnNwZWN0
b3I6IEltcHJvdmUgdGhlIHJlbGlhYmlsaXR5IG9mIGF1dG9tYXRpY2FsbHkgcGF1c2luZyBpbiBh
dXRvLWF0dGFjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcyNjY0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjM2MjkzMz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9QYWdlRGVidWdnYWJsZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlRGVidWdnYWJsZTo6Y29ubmVjdCk6CisgICAgICAgICogcGFnZS9Q
YWdlRGVidWdnYWJsZS5oOgorICAgICAgICBQYXNzIGFuIGltbWVkaWF0ZWx5UGF1c2UgYm9vbGVh
biBvbiB0byB0aGUgY29udHJvbGxlci4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNv
bm5lY3RGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpk
aXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6ZGlzY29ubmVjdEFsbEZyb250ZW5kcyk6CisgICAgICAgIE1hbmFnZSBzaG91bGQgaW1tZWRp
YXRlbHkgcGF1c2Ugc3RhdGUuCisKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OmZyb250ZW5kSW5pdGlhbGl6ZWQpOgorICAgICAgICBXaGVuIGluaXRpYWxpemVkLCB0cmln
Z2VyIGEgcGF1c2UgaWYgcmVxdWVzdGVkLgorCiAyMDE3LTA1LTI1ICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IE1lZGlhRGV2aWNlSW5mbydzIGV4dGVuZGVkIGF0
dHJpYnV0ZXMgc28gdGhleSBtYWtlIHNlbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggMzUzNTIzYTIxMDguLjk4ZmViMDU4NGUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCkBAIC0yNDYsMTMgKzI0NiwxNCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZENs
ZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSYgZnJhbWUsIERPTVdyYXBwZXJXbwogICAgICAg
ICBtX2luc3BlY3RvckZyb250ZW5kQ2xpZW50LT53aW5kb3dPYmplY3RDbGVhcmVkKCk7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKEluc3BlY3Rvcjo6RnJv
bnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9u
KQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRpY0luc3BlY3Rp
b24sIGJvb2wgaW1tZWRpYXRlbHlQYXVzZSkKIHsKICAgICBBU1NFUlRfQVJHKGZyb250ZW5kQ2hh
bm5lbCwgZnJvbnRlbmRDaGFubmVsKTsKICAgICBBU1NFUlQobV9pbnNwZWN0b3JDbGllbnQpOwog
CiAgICAgYm9vbCBjb25uZWN0ZWRGaXJzdEZyb250ZW5kID0gIW1fZnJvbnRlbmRSb3V0ZXItPmhh
c0Zyb250ZW5kcygpOwogICAgIG1faXNBdXRvbWF0aWNJbnNwZWN0aW9uID0gaXNBdXRvbWF0aWNJ
bnNwZWN0aW9uOworICAgIG1fcGF1c2VBZnRlckluaXRpYWxpemF0aW9uID0gaW1tZWRpYXRlbHlQ
YXVzZTsKIAogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVuZChmcm9udGVuZENo
YW5uZWwpOwogCkBAIC0yNzIsNyArMjczLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpj
b25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2gKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKEZyb250ZW5kQ2hhbm5l
bCogZnJvbnRlbmRDaGFubmVsKQogewogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5lY3RG
cm9udGVuZChmcm9udGVuZENoYW5uZWwpOworCiAgICAgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24g
PSBmYWxzZTsKKyAgICBtX3BhdXNlQWZ0ZXJJbml0aWFsaXphdGlvbiA9IGZhbHNlOwogCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcm9udGVuZERlbGV0ZWQoKTsKIApAQCAtMzIzLDYg
KzMyNiw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEFsbEZyb250ZW5k
cygpCiAgICAgLy8gRGlzY29ubmVjdCBhbnkgcmVtYWluaW5nIHJlbW90ZSBmcm9udGVuZHMuCiAg
ICAgbV9mcm9udGVuZFJvdXRlci0+ZGlzY29ubmVjdEFsbEZyb250ZW5kcygpOwogICAgIG1faXNB
dXRvbWF0aWNJbnNwZWN0aW9uID0gZmFsc2U7CisgICAgbV9wYXVzZUFmdGVySW5pdGlhbGl6YXRp
b24gPSBmYWxzZTsKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIG1fcGFnZS5y
ZW1vdGVJbnNwZWN0b3JJbmZvcm1hdGlvbkRpZENoYW5nZSgpOwpAQCAtNDU1LDYgKzQ1OSwxNCBA
QCBJbnNwZWN0b3JFdmFsdWF0ZUhhbmRsZXIgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZXZhbHVhdGVI
YW5kbGVyKCkgY29uc3QKIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpmcm9udGVuZEluaXRp
YWxpemVkKCkKIHsKKyAgICBpZiAobV9wYXVzZUFmdGVySW5pdGlhbGl6YXRpb24pIHsKKyAgICAg
ICAgbV9wYXVzZUFmdGVySW5pdGlhbGl6YXRpb24gPSBmYWxzZTsKKyAgICAgICAgaWYgKFBhZ2VE
ZWJ1Z2dlckFnZW50KiBkZWJ1Z2dlckFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5wYWdl
RGVidWdnZXJBZ2VudCgpKSB7CisgICAgICAgICAgICBFcnJvclN0cmluZyBpZ25vcmVkOworICAg
ICAgICAgICAgZGVidWdnZXJBZ2VudC0+cGF1c2UoaWdub3JlZCk7CisgICAgICAgIH0KKyAgICB9
CisKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICBpZiAobV9pc0F1dG9tYXRpY0lu
c3BlY3Rpb24pCiAgICAgICAgIG1fcGFnZS5pbnNwZWN0b3JEZWJ1Z2dhYmxlKCkudW5wYXVzZUZv
ckluaXRpYWxpemVkSW5zcGVjdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBmZDk2OTNhOWIyMy4uYTZmOWZjZDNjMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtOTAs
NyArOTAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNMb2NhbEZyb250ZW5kKCkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNSZW1vdGVGcm9udGVuZCgpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBib29sIGlz
QXV0b21hdGljSW5zcGVjdGlvbiA9IGZhbHNlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNv
bm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0
aWNJbnNwZWN0aW9uID0gZmFsc2UsIGJvb2wgaW1tZWRpYXRlbHlQYXVzZSA9IGZhbHNlKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkZyb250
ZW5kQ2hhbm5lbCopOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlzY29ubmVjdEFsbEZyb250
ZW5kcygpOwogICAgIHZvaWQgc2V0UHJvY2Vzc0lkKGxvbmcpOwpAQCAtMTQ3LDYgKzE0Nyw3IEBA
IHByaXZhdGU6CiAKICAgICBib29sIG1faXNVbmRlclRlc3QgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc0F1dG9tYXRpY0luc3BlY3Rpb24geyBmYWxzZSB9OworICAgIGJvb2wgbV9wYXVzZUFmdGVy
SW5pdGlhbGl6YXRpb24gPSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCmluZGV4IDljOTlmMjI3OTk4Li4z
MmQ4ZDk2YTNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJsZS5jcHAKQEAgLTcw
LDcgKzcwLDcgQEAgYm9vbCBQYWdlRGVidWdnYWJsZTo6aGFzTG9jYWxEZWJ1Z2dlcigpIGNvbnN0
CiAgICAgcmV0dXJuIG1fcGFnZS5pbnNwZWN0b3JDb250cm9sbGVyKCkuaGFzTG9jYWxGcm9udGVu
ZCgpOwogfQogCi12b2lkIFBhZ2VEZWJ1Z2dhYmxlOjpjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRl
bmRDaGFubmVsKiBjaGFubmVsLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbikKK3ZvaWQgUGFn
ZURlYnVnZ2FibGU6OmNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWws
IGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uLCBib29sIGltbWVkaWF0ZWx5UGF1c2UpCiB7CiAg
ICAgaWYgKCFtX3BhZ2Uuc2V0dGluZ3MoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpIHsKICAg
ICAgICAgbV9mb3JjZWREZXZlbG9wZXJFeHRyYXNFbmFibGVkID0gdHJ1ZTsKQEAgLTc5LDcgKzc5
LDcgQEAgdm9pZCBQYWdlRGVidWdnYWJsZTo6Y29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCogY2hhbm5lbCwgYm9vbCBpc0F1dG9tYXQKICAgICAgICAgbV9mb3JjZWREZXZlbG9wZXJF
eHRyYXNFbmFibGVkID0gZmFsc2U7CiAKICAgICBJbnNwZWN0b3JDb250cm9sbGVyJiBpbnNwZWN0
b3JDb250cm9sbGVyID0gbV9wYWdlLmluc3BlY3RvckNvbnRyb2xsZXIoKTsKLSAgICBpbnNwZWN0
b3JDb250cm9sbGVyLmNvbm5lY3RGcm9udGVuZChjaGFubmVsLCBpc0F1dG9tYXRpY0Nvbm5lY3Rp
b24pOworICAgIGluc3BlY3RvckNvbnRyb2xsZXIuY29ubmVjdEZyb250ZW5kKGNoYW5uZWwsIGlz
QXV0b21hdGljQ29ubmVjdGlvbiwgaW1tZWRpYXRlbHlQYXVzZSk7CiB9CiAKIHZvaWQgUGFnZURl
YnVnZ2FibGU6OmRpc2Nvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmgKaW5kZXggMTcyM2FkMDcyODMuLjZmNWUx
OTA5YzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlRGVidWdnYWJsZS5oCkBAIC00Nyw3ICs0Nyw3
IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdXJsKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBo
YXNMb2NhbERlYnVnZ2VyKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGNvbm5lY3QoSW5z
cGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiA9IGZh
bHNlKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiA9IGZhbHNlLCBib29sIGltbWVkaWF0ZWx5
UGF1c2UgPSBmYWxzZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNjb25uZWN0KEluc3BlY3Rvcjo6
RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VGcm9t
UmVtb3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRJbmRp
Y2F0aW5nKGJvb2wpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlhYWNjODQzOGEwLi43NGY5MmFk
OTA0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTI2ICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgSlNDb250ZXh0IEluc3BlY3Rv
cjogSW1wcm92ZSB0aGUgcmVsaWFiaWxpdHkgb2YgYXV0b21hdGljYWxseSBwYXVzaW5nIGluIGF1
dG8tYXR0YWNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI2NjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyMzYyOTMzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6Y29ubmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb24uaDoKKyAgICAgICAgU3BlY2lhbCBjb25uZWN0aW9uIG9wdGlvbnMg
YXJlIGlnbm9yZWQgaW4gYXV0b21hdGlvbiBzZXNzaW9ucy4KKwogMjAxNy0wNS0yNSAgU2FpZCBB
Ym91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIERp
c2JhbGUgYXN5bmMgaW1hZ2UgZGVjb2Rpbmcgd2hlbiBzeW5jaHJvbm91c2x5IHBhaW50aW5nIGEg
bmV3bHkgcGFyZW50ZWQgV2ViVmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDFmOTU5
NWY1ZGUxLi5jYjM2NjUzNDkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApAQCAtOTEsOSAr
OTEsMTAgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzcGF0Y2hNZXNzYWdlRnJvbVJl
bW90ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+ZGlz
cGF0Y2gobWVzc2FnZSk7CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3Qo
SW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25u
ZWN0aW9uKQordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y29ubmVjdChJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCogY2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24sIGJvb2wg
aW1tZWRpYXRlbHlQYXVzZSkKIHsKICAgICBVTlVTRURfUEFSQU0oaXNBdXRvbWF0aWNDb25uZWN0
aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oaW1tZWRpYXRlbHlQYXVzZSk7CiAKICAgICBtX3JlbW90
ZUNoYW5uZWwgPSBjaGFubmVsOwogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVu
ZChjaGFubmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCmluZGV4IDQ3YTViNDU4MDBiLi42MWY5MTgw
ZjJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBAIC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAg
ICAvLyBJbnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQgQVBJCiAgICAgU3RyaW5nIG5h
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9CiAgICAg
dm9pZCBkaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgYm9v
bCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24gPSBmYWxzZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBjb25u
ZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rp
b24gPSBmYWxzZSwgYm9vbCBpbW1lZGlhdGVseVBhdXNlID0gZmFsc2UpIG92ZXJyaWRlOwogICAg
IHZvaWQgZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCopIG92ZXJyaWRlOwog
I2VuZGlmCiAgICAgdm9pZCB0ZXJtaW5hdGUoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>