<?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>54875</bug_id>
          
          <creation_ts>2011-02-21 05:34:51 -0800</creation_ts>
          <short_desc>Web Inspector: create and destroy DOM agent along with InspectorAgent</short_desc>
          <delta_ts>2011-02-21 06:39:08 -0800</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 (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>54112</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354539</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-21 05:34:51 -0800</bug_when>
    <thetext>Web Inspector: create and destroy DOM agent along with InspectorAgent. When front-end is attached DOM agent should become active.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354543</commentid>
    <comment_count>1</comment_count>
      <attachid>83153</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-21 05:54:32 -0800</bug_when>
    <thetext>Created attachment 83153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354546</commentid>
    <comment_count>2</comment_count>
      <attachid>83153</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-21 06:03:56 -0800</bug_when>
    <thetext>Comment on attachment 83153
Patch

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

&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:65401
&gt; +				RelativePath=&quot;..\inspector\InspectorAgent.h&quot;

Hm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354555</commentid>
    <comment_count>3</comment_count>
      <attachid>83157</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-21 06:20:29 -0800</bug_when>
    <thetext>Created attachment 83157
Patch that I&apos;m going to land

Renamed ActiveAgents to InstrumentingAgents as discussed offline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354557</commentid>
    <comment_count>4</comment_count>
      <attachid>83158</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-21 06:22:00 -0800</bug_when>
    <thetext>Created attachment 83158
Patch that I&apos;m going to land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354568</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-21 06:39:08 -0800</bug_when>
    <thetext>Committed r79217: &lt;http://trac.webkit.org/changeset/79217&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83153</attachid>
            <date>2011-02-21 05:54:32 -0800</date>
            <delta_ts>2011-02-21 06:03:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54875-20110221165428.patch</filename>
            <type>text/plain</type>
            <size>33894</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzkxOTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MjIwNTM0MDNmOGQ2MzI1
MGYxNTZlNGMzYzExYTNhOTE3ZWFjMTc5Li5jODk4MzUzZGFmNDk4YThhZjA4NTFmYTFlYzM5MjRk
ZWMxNDA0YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIwMTEtMDItMjEgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogY3JlYXRlIGFuZCBkZXN0
cm95IERPTSBhZ2VudCBhbG9uZyB3aXRoIEluc3BlY3RvckFnZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3NQorCisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvQWN0
aXZlQWdlbnRzLmg6IEFkZGVkLiBBZ2VudHMgdGhhdCB3YW50IHRvIGluc3RydW1lbnQgV2ViQ29y
ZSBzaG91bGQgcmVnaXN0ZXIgdGhlbXNlbHZlCisgICAgICAgIG9uIG9iamVjdC4KKyAgICAgICAg
KFdlYkNvcmU6OkFjdGl2ZUFnZW50czo6QWN0aXZlQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6
OkFjdGl2ZUFnZW50czo6fkFjdGl2ZUFnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVB
Z2VudHM6Omluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkFjdGl2ZUFnZW50czo6c2V0SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjppbnNwZWN0b3JDb25zb2xlQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjpzZXRJbnNwZWN0b3JDb25zb2xlQWdlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjppbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAg
IChXZWJDb3JlOjpBY3RpdmVBZ2VudHM6OnNldEluc3BlY3RvckRPTUFnZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkFjdGl2ZUFnZW50czo6aW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFjdGl2ZUFnZW50czo6c2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkFjdGl2ZUFnZW50czo6aW5zcGVjdG9yRGF0YWJhc2VBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVBZ2VudHM6OnNldEluc3BlY3RvckRhdGFiYXNlQWdl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjppbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkFjdGl2ZUFnZW50czo6c2V0SW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVBZ2VudHM6Omluc3BlY3RvclByb2Zp
bGVyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjpzZXRJbnNwZWN0b3JQ
cm9maWxlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkFjdGl2ZUFnZW50czo6aW5zcGVjdG9y
UmVzb3VyY2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpBY3RpdmVBZ2VudHM6OnNldEluc3Bl
Y3RvclJlc291cmNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjppbnNw
ZWN0b3JSdW50aW1lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjpzZXRJ
bnNwZWN0b3JSdW50aW1lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjpp
bnNwZWN0b3JTdG9yYWdlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRzOjpz
ZXRJbnNwZWN0b3JTdG9yYWdlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlQWdlbnRz
OjppbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkFjdGl2ZUFnZW50
czo6c2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpJbnNwZWN0
b3JBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6c2V0RnJvbnRlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRpc2Nvbm5lY3RGcm9udGVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6Y3JlYXRlRnJvbnRlbmRMaWZldGlt
ZUFnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6cmVsZWFzZUZyb250
ZW5kTGlmZXRpbWVBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRp
ZENvbW1pdExvYWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRvbUNvbnRl
bnRMb2FkZWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50Ojps
b2FkRXZlbnRGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNTU0FnZW50OjpJbnNwZWN0b3JDU1NBZ2VudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6fkluc3BlY3RvckNTU0FnZW50KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNvbGVB
Z2VudDo6SW5zcGVjdG9yQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVBZ2VudCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNsZWFyQ29uc29sZU1lc3NhZ2VzKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnJlc291cmNlUmV0cmlldmVkQnlYTUxI
dHRwUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnNl
dE1vbml0b3JpbmdYSFJFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNv
bGVBZ2VudDo6c2V0Q29uc29sZU1lc3NhZ2VzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcDogRE9NIGFnZW50IG5vdyBsaXZlcyBldmVuIHdoZW4gdGhlIGZyb250
LWVuZCBpcyBub3QgYXR0YWNoZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2Vu
dDo6SW5zcGVjdG9yRE9NQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldEZyb250ZW5kKTogQWRkIERPTSBhZ2VudCB0byB0aGUgc2V0IG9mIGFjdGl2ZSBhZ2Vu
dHMgd2hlbiB0aGUgZnJvbnQtZW5kCisgICAgICAgIGlzIGF0dGFjaGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9N
QWdlbnQ6OmNyZWF0ZSk6CisKIDIwMTEtMDItMjAgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFj
bG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCAocmVtb3ZlIGluY2x1ZGVzKS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMjVlN2Y4NWY2ODZiMGQ4ZTJhM2NmMmU0OTJmNTlhMzZh
ZTNjZTFlMC4uZTMzMTZlYjI0YjhmMzgwZDIyZDFkZGRhZGQzMTllNDBhMTczYzYyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KQEAgLTE5NTUsNiArMTk1NSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXRmX29sZC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pY3UvdW5pY29kZS91dHlwZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXZl
cnNpb24uaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0FjdGl2ZUFnZW50cy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzM0NzNiNDIxOTY1
MDUyN2JiOGExZGE3MDNmYjEzZGIyYTA1NWY3Ny4uZjBhMWIwZDgwNmY4ZDQ1NTQxN2I3NDc1Njk0
ZGYyNGUyYWYxNjRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjAyMSw2ICsyMDIxLDcgQEAKICAg
ICAgICAgICAgICdodG1sL3NoYWRvdy9Qcm9ncmVzc0JhclZhbHVlRWxlbWVudC5oJywKICAgICAg
ICAgICAgICdodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwJywKICAgICAgICAgICAg
ICdodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL0FjdGl2ZUFnZW50cy5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4
IDhhMjUwNGJkNzk4MjcwZmJhYWQ0OTZjOThkOTBjYzY4M2ViOWYwYWYuLjI1OTkyNWI1NzY4ZjA0
YzEzYjAwOWY5NTZlNWU0OGZlYzUyMGVjMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xODQ1LDYgKzE4
NDUsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBc
CiAgICAgaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIuaCBcCiAgICAgaHRtbC9wYXJz
ZXIvWFNTRmlsdGVyLmggXAorICAgIGluc3BlY3Rvci9BY3RpdmVBZ2VudHMuaCBcCiAgICAgaW5z
cGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggXAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5o
IFwKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmggXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1NjkxMzQxNDg0YzlkMTFlODBh
ZTJjN2U4NjhkMTQwZGRiOWM3NDI2Li5kMzBmMGY2MDY4YmMzNTJiOWFjYTI3NWNhYTg0MzE5ZGZk
MDQ2Y2ZhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agpAQCAtNjUzOTgsNiArNjUzOTgsMTAgQEAKIAkJCU5hbWU9Imluc3BlY3RvciIKIAkJCT4KIAkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQWdlbnQuaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVj
dG9yXENvbnNvbGVNZXNzYWdlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmNjNWQ5MDM5
OWZjNGFmMWQxNWJlYzI0NTIyMzYxODMyYWI1ZmZhNi4uNWVjMzFhODAyOWE1NDhkZDA3OGYzNDIy
ZDI2MDk1OWZhZjhlZjQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTYzNCw2ICs1NjM0LDcgQEAKIAkJRjM5MjI0OUQxMjZG
MTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAv
KiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi87IH07CiAJCUYzOUJFOTVCMTI2NzNCRjQwMEUw
QTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3Vt
ZW50cy5jcHAgKi87IH07CiAJCUYzOUJFOTVDMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1
bWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYz
OUJFOTVBMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLzsgfTsKKwkJRjNB
QkZFMEMxMzBFOURBMDAwRTdGN0QxIC8qIEFjdGl2ZUFnZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURBMDAwRTdGN0QxIC8q
IEFjdGl2ZUFnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0ODExNjFENTMyMDBDQTBEMDkgLyogSlNF
cnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLzsg
fTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0NzExNjFENTMy
MDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKIAkJRjNENEM0NzgxMkUwNzY2MzAw
M0RBMTUwIC8qIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDRDNDc2MTJFMDc2NjMwMDNEQTE1
MCAvKiBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5jcHAgKi87IH07CkBAIC0xMjAxMCw2
ICsxMjAxMSw3IEBACiAJCUYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM5QkU5NTkxMjY3
M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGMzlCRTk1QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogQWN0
aXZlQWdlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjdGl2ZUFnZW50
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0Q0NjE0NjExNjFENTMyMDBDQTBE
MDkgLyogSlNFcnJvckhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNFcnJvckhhbmRsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
M0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFcnJvckhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjNENEM0NzYxMkUwNzY2MzAwM0RBMTUwIC8qIEluc3BlY3RvckJyb3dzZXJE
ZWJ1Z2dlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
c3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEyOTgwLDYgKzEyOTgyLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCiAJCQkJMUM4MUI5NTkwRTk3MzMwODAwMjY2RTA3IC8qIGZyb250LWVuZCAqLywKKwkJ
CQlGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogQWN0aXZlQWdlbnRzLmggKi8sCiAJCQkJNDFG
MDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLywKIAkJCQk0MUYw
NjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywKIAkJCQlGMzY0NEFG
RDExMTk4MDU5MDBFMEQ1MzcgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovLApAQCAtMjI0NzcsNiAr
MjI0ODAsNyBAQAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25D
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCOERCREI0RTEzMEIwRjhBMDBGNUNEQjEgLyog
U3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNENEU5NzMx
MzBDN0NGRTAwN0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRjNBQkZFMEMxMzBFOURBMDAwRTdGN0QxIC8qIEFjdGl2ZUFnZW50cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQWN0aXZlQWdlbnRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQWN0aXZlQWdlbnRzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBi
MTBhZjJiNTcyZjE0ZmE0OTg0ODQ1NWM2NmQ4NzM0Mzg2Y2VhZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9BY3RpdmVBZ2VudHMuaApAQCAtMCwwICsxLDExOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgQWN0aXZlQWdlbnRzX2gKKyNkZWZpbmUgQWN0aXZlQWdlbnRzX2gKKworI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdl
bnQ7CitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JET01BZ2Vu
dDsKK2NsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKK2NsYXNzIEluc3BlY3RvckRhdGFi
YXNlQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OworY2xhc3MgSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CitjbGFzcyBJbnNw
ZWN0b3JSdW50aW1lQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JTdG9yYWdlQWdlbnQ7CitjbGFzcyBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OworCitjbGFzcyBBY3RpdmVBZ2VudHMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFjdGl2ZUFnZW50cyk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgQWN0aXZlQWdlbnRzKCkKKyAgICAgICAgOiBtX2luc3BlY3RvckJy
b3dzZXJEZWJ1Z2dlckFnZW50KDApCisgICAgICAgICwgbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQo
MCkKKyAgICAgICAgLCBtX2luc3BlY3RvckRPTUFnZW50KDApCisgICAgICAgICwgbV9pbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQoMCkKKyAgICAgICAgLCBtX2luc3BlY3RvckRhdGFiYXNlQWdlbnQo
MCkKKyAgICAgICAgLCBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQoMCkKKyAgICAgICAgLCBtX2lu
c3BlY3RvclByb2ZpbGVyQWdlbnQoMCkKKyAgICAgICAgLCBtX2luc3BlY3RvclJlc291cmNlQWdl
bnQoMCkKKyAgICAgICAgLCBtX2luc3BlY3RvclJ1bnRpbWVBZ2VudCgwKQorICAgICAgICAsIG1f
aW5zcGVjdG9yU3RvcmFnZUFnZW50KDApCisgICAgICAgICwgbV9pbnNwZWN0b3JUaW1lbGluZUFn
ZW50KDApCisgICAgeyB9CisgICAgfkFjdGl2ZUFnZW50cygpIHsgfQorCisgICAgSW5zcGVjdG9y
QnJvd3NlckRlYnVnZ2VyQWdlbnQqIGluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDsgfQorICAgIHZvaWQg
c2V0SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQoSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgPSBhZ2VudDsg
fQorCisgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBpbnNwZWN0b3JDb25zb2xlQWdlbnQoKSBj
b25zdCB7IHJldHVybiBtX2luc3BlY3RvckNvbnNvbGVBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5z
cGVjdG9yQ29uc29sZUFnZW50KEluc3BlY3RvckNvbnNvbGVBZ2VudCogYWdlbnQpIHsgbV9pbnNw
ZWN0b3JDb25zb2xlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIGlu
c3BlY3RvckRPTUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JET01BZ2VudDsgfQor
ICAgIHZvaWQgc2V0SW5zcGVjdG9yRE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqIGFnZW50KSB7
IG1faW5zcGVjdG9yRE9NQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50KiBpbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50KEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogaW5zcGVj
dG9yRGF0YWJhc2VBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRhdGFiYXNlQWdlbnQgPSBhZ2VudDsgfQorCisg
ICAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogaW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVj
dG9yRGVidWdnZXJBZ2VudChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0
b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2Vu
dDsgfQorCisgICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogaW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsgfQorICAgIHZvaWQg
c2V0SW5zcGVjdG9yUmVzb3VyY2VBZ2VudChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBhZ2VudCkg
eyBtX2luc3BlY3RvclJlc291cmNlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yUnVu
dGltZUFnZW50KiBpbnNwZWN0b3JSdW50aW1lQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvclJ1bnRpbWVBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yUnVudGltZUFnZW50KElu
c3BlY3RvclJ1bnRpbWVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JSdW50aW1lQWdlbnQgPSBh
Z2VudDsgfQorCisgICAgSW5zcGVjdG9yU3RvcmFnZUFnZW50KiBpbnNwZWN0b3JTdG9yYWdlQWdl
bnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclN0b3JhZ2VBZ2VudDsgfQorICAgIHZvaWQg
c2V0SW5zcGVjdG9yU3RvcmFnZUFnZW50KEluc3BlY3RvclN0b3JhZ2VBZ2VudCogYWdlbnQpIHsg
bV9pbnNwZWN0b3JTdG9yYWdlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVj
dG9yVGltZWxpbmVBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJ
bnNwZWN0b3JUaW1lbGluZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclRpbWVsaW5lQWdlbnQg
PSBhZ2VudDsgfQorCitwcml2YXRlOgorICAgIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50
KiBtX2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OworICAgIEluc3BlY3RvckNvbnNvbGVB
Z2VudCogbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQ7CisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1f
aW5zcGVjdG9yRE9NQWdlbnQ7CisgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBtX2luc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudDsKKyAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBtX2luc3Bl
Y3RvckRhdGFiYXNlQWdlbnQ7CisgICAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9pbnNwZWN0
b3JEZWJ1Z2dlckFnZW50OworICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIG1faW5zcGVjdG9y
UHJvZmlsZXJBZ2VudDsKKyAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBtX2luc3BlY3RvclJl
c291cmNlQWdlbnQ7CisgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBtX2luc3BlY3RvclJ1bnRp
bWVBZ2VudDsKKyAgICBJbnNwZWN0b3JTdG9yYWdlQWdlbnQqIG1faW5zcGVjdG9yU3RvcmFnZUFn
ZW50OworICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIG1faW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDsKK307CisKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKEFjdGl2ZUFnZW50c19oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKaW5kZXggNmZlYzQzZGFjODU3
NzQ1ZDJjNmE0NTEyNWNjZWZiYWYxYjJiZmQ4Mi4uNWNiOTQwZGNkYTJhNjQ1ZGZlYWVkY2E5NTAw
NzE1NWYzNzBlMjY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdl
bnQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5j
bHVkZSAiQWN0aXZlQWdlbnRzLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgpAQCAtMTM3
LDcgKzEzOCwxMCBAQCBJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoUGFnZSogcGFnZSwg
SW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgOiBtX2luc3BlY3RlZFBhZ2UocGFnZSkKICAg
ICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fZnJvbnRlbmQoMCkKLSAgICAsIG1fY3NzQWdl
bnQobmV3IEluc3BlY3RvckNTU0FnZW50KCkpCisgICAgLCBtX2FjdGl2ZUFnZW50cyhuZXcgQWN0
aXZlQWdlbnRzKCkpCisgICAgLCBtX2luamVjdGVkU2NyaXB0SG9zdChJbmplY3RlZFNjcmlwdEhv
c3Q6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fZG9tQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQ6OmNy
ZWF0ZShtX2FjdGl2ZUFnZW50cy5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdEhvc3QuZ2V0KCkpKQor
ICAgICwgbV9jc3NBZ2VudChuZXcgSW5zcGVjdG9yQ1NTQWdlbnQobV9kb21BZ2VudC5nZXQoKSkp
CiAjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgICwgbV9kYXRhYmFzZUFnZW50UmVzb3VyY2VzKElu
c3BlY3RvckRhdGFiYXNlQWdlbnQ6OmNyZWF0ZVN0b3JhZ2UoKSkKICNlbmRpZgpAQCAtMTQ1LDgg
KzE0OSw3IEBAIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdlLCBJbnNw
ZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1fZG9tU3RvcmFnZUFnZW50UmVzb3VyY2VzKElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6Y3JlYXRlU3RvcmFnZSgpKQogI2VuZGlmCiAgICAgLCBt
X3N0YXRlKG5ldyBJbnNwZWN0b3JTdGF0ZShjbGllbnQpKQotICAgICwgbV9pbmplY3RlZFNjcmlw
dEhvc3QoSW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVhdGUodGhpcykpCi0gICAgLCBtX2NvbnNvbGVB
Z2VudChuZXcgSW5zcGVjdG9yQ29uc29sZUFnZW50KHRoaXMpKQorICAgICwgbV9jb25zb2xlQWdl
bnQobmV3IEluc3BlY3RvckNvbnNvbGVBZ2VudChtX2FjdGl2ZUFnZW50cy5nZXQoKSwgdGhpcywg
bV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdEhvc3QuZ2V0KCksIG1fZG9tQWdlbnQuZ2V0
KCkpKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICwgbV9wcm9maWxlckFn
ZW50KEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNyZWF0ZSh0aGlzKSkKICNlbmRpZgpAQCAtMzM4
LDcgKzM0MSw3IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZy
b250ZW5kKiBpbnNwZWN0b3JGcm9udGVuZCkKICAgICBtX2Zyb250ZW5kID0gaW5zcGVjdG9yRnJv
bnRlbmQ7CiAgICAgY3JlYXRlRnJvbnRlbmRMaWZldGltZUFnZW50cygpOwogCi0gICAgbV9jc3NB
Z2VudC0+c2V0RE9NQWdlbnQobV9kb21BZ2VudC5nZXQoKSk7CisgICAgbV9kb21BZ2VudC0+c2V0
RnJvbnRlbmQobV9mcm9udGVuZCk7CiAgICAgbV9jb25zb2xlQWdlbnQtPnNldEZyb250ZW5kKG1f
ZnJvbnRlbmQpOwogCiAgICAgLy8gSW5pdGlhbGl6ZSBXZWIgSW5zcGVjdG9yIHRpdGxlLgpAQCAt
MzcxLDcgKzM3NCw4IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmRpc2Nvbm5lY3RGcm9udGVuZCgp
CiAgICAgbV9wcm9maWxlckFnZW50LT5zdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZyh0cnVlKTsK
ICNlbmRpZgogCi0gICAgbV9jb25zb2xlQWdlbnQtPnNldEZyb250ZW5kKDApOworICAgIG1fY29u
c29sZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CisgICAgbV9kb21BZ2VudC0+Y2xlYXJGcm9udGVu
ZCgpOwogCiAgICAgcmVsZWFzZUZyb250ZW5kTGlmZXRpbWVBZ2VudHMoKTsKICAgICBtX3VzZXJB
Z2VudE92ZXJyaWRlID0gIiI7CkBAIC0zODYsNyArMzkwLDYgQEAgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCogSW5zcGVjdG9yQWdlbnQ6OnJlc291cmNlQWdlbnQoKQogCiB2b2lkIEluc3BlY3RvckFn
ZW50OjpjcmVhdGVGcm9udGVuZExpZmV0aW1lQWdlbnRzKCkKIHsKLSAgICBtX2RvbUFnZW50ID0g
SW5zcGVjdG9yRE9NQWdlbnQ6OmNyZWF0ZShtX2luamVjdGVkU2NyaXB0SG9zdC5nZXQoKSwgbV9m
cm9udGVuZCk7CiAgICAgbV9ydW50aW1lQWdlbnQgPSBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNy
ZWF0ZShtX2luamVjdGVkU2NyaXB0SG9zdC5nZXQoKSk7CiAKICNpZiBFTkFCTEUoREFUQUJBU0Up
CkBAIC00MTksMTAgKzQyMiw2IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnJlbGVhc2VGcm9udGVu
ZExpZmV0aW1lQWdlbnRzKCkKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
ICAgIG1fYXBwbGljYXRpb25DYWNoZUFnZW50LmNsZWFyKCk7CiAjZW5kaWYKLQotICAgIC8vIFRo
aXMgc2hvdWxkIGJlIGludm9rZWQgcHJpb3IgdG8gbV9kb21BZ2VudCBkZXN0cnVjdGlvbi4KLSAg
ICBtX2Nzc0FnZW50LT5zZXRET01BZ2VudCgwKTsKLSAgICBtX2RvbUFnZW50LmNsZWFyKCk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnBvcHVsYXRlU2NyaXB0T2JqZWN0cygpCkBAIC01NDMs
OCArNTQyLDggQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkQ29tbWl0TG9hZChEb2N1bWVudExv
YWRlciogbG9hZGVyKQogICAgICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNsZWFyKHRo
aXMpOwogI2VuZGlmCiAKLSAgICAgICAgaWYgKG1fZnJvbnRlbmQpCi0gICAgICAgICAgICBtX2Rv
bUFnZW50LT5zZXREb2N1bWVudChtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVu
dCgpKTsKKyAgICAgICAgaWYgKEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IG1fYWN0aXZl
QWdlbnRzLT5pbnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICAgICAgZG9tQWdlbnQtPnNldERv
Y3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCkpOwogICAgIH0K
IH0KIApAQCAtNTUzLDggKzU1Miw4IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmRvbUNvbnRlbnRM
b2FkZWRFdmVudEZpcmVkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IEtVCiAgICAgaWYg
KCFlbmFibGVkKCkgfHwgIWlzTWFpblJlc291cmNlTG9hZGVyKGxvYWRlciwgdXJsKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKG1fZG9tQWdlbnQpCi0gICAgICAgIG1fZG9tQWdlbnQtPm1h
aW5GcmFtZURPTUNvbnRlbnRMb2FkZWQoKTsKKyAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRv
bUFnZW50ID0gbV9hY3RpdmVBZ2VudHMtPmluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRv
bUFnZW50LT5tYWluRnJhbWVET01Db250ZW50TG9hZGVkKCk7CiAgICAgaWYgKG1fdGltZWxpbmVB
Z2VudCkKICAgICAgICAgbV90aW1lbGluZUFnZW50LT5kaWRNYXJrRE9NQ29udGVudEV2ZW50KCk7
CiAgICAgaWYgKG1fZnJvbnRlbmQpCkBAIC01NjYsOCArNTY1LDggQEAgdm9pZCBJbnNwZWN0b3JB
Z2VudDo6bG9hZEV2ZW50RmlyZWQoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgS1VSTCYg
dXJsKQogICAgIGlmICghZW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9k
b21BZ2VudCkKLSAgICAgICAgbV9kb21BZ2VudC0+bG9hZEV2ZW50RmlyZWQobG9hZGVyLT5mcmFt
ZSgpLT5kb2N1bWVudCgpKTsKKyAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0g
bV9hY3RpdmVBZ2VudHMtPmluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRvbUFnZW50LT5s
b2FkRXZlbnRGaXJlZChsb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCkpOwogCiAgICAgaWYgKCFp
c01haW5SZXNvdXJjZUxvYWRlcihsb2FkZXIsIHVybCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKaW5kZXggNDYxYWZiYTUwODc2YjI4
MGI4NGYxZDUyNzY4YzYwNjcxZDJhNDAzOC4uMTE1NGYwNTZiZDRlOTc4YmM1MTc2ZGViZjk2YzRj
OGNlNTA5MWU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgK
QEAgLTc5LDYgKzc5LDcgQEAgY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBJbnNwZWN0b3JX
b3JrZXJSZXNvdXJjZTsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBLVVJMOworY2xhc3MgQWN0aXZl
QWdlbnRzOwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7
CkBAIC0yNzMsOCArMjc0LDEwIEBAIHByaXZhdGU6CiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQYWdl
OwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiAgICAgSW5zcGVjdG9yRnJvbnRlbmQq
IG1fZnJvbnRlbmQ7Ci0gICAgT3duUHRyPEluc3BlY3RvckNTU0FnZW50PiBtX2Nzc0FnZW50Owor
ICAgIE93blB0cjxBY3RpdmVBZ2VudHM+IG1fYWN0aXZlQWdlbnRzOworICAgIFJlZlB0cjxJbmpl
Y3RlZFNjcmlwdEhvc3Q+IG1faW5qZWN0ZWRTY3JpcHRIb3N0OwogICAgIE93blB0cjxJbnNwZWN0
b3JET01BZ2VudD4gbV9kb21BZ2VudDsKKyAgICBPd25QdHI8SW5zcGVjdG9yQ1NTQWdlbnQ+IG1f
Y3NzQWdlbnQ7CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgT3duUHRyPEluc3BlY3RvckRh
dGFiYXNlQWdlbnQ+IG1fZGF0YWJhc2VBZ2VudDsKQEAgLTI5OCw3ICszMDEsNiBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZUFnZW50PiBtX3Jlc291cmNlQWdlbnQ7CiAg
ICAgT3duUHRyPEluc3BlY3RvclJ1bnRpbWVBZ2VudD4gbV9ydW50aW1lQWdlbnQ7CiAKLSAgICBS
ZWZQdHI8SW5qZWN0ZWRTY3JpcHRIb3N0PiBtX2luamVjdGVkU2NyaXB0SG9zdDsKICAgICBPd25Q
dHI8SW5zcGVjdG9yQ29uc29sZUFnZW50PiBtX2NvbnNvbGVBZ2VudDsKIAogICAgIFZlY3Rvcjxw
YWlyPGxvbmcsIFN0cmluZz4gPiBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5kczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCmluZGV4IGY0OWY4
OWM0ZjcyZjVjNzliMDU5NjVhOGIyMmVhMzljMDQzMTIwZGIuLjMzZDQ4NWM5OGI1YjE5NzUwMTI0
MmJkZGM2NjkyYjYzNGQ3NGEzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNTU0FnZW50LmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIkRPTVdpbmRv
dy5oIgogI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRP
TUFnZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIK
QEAgLTE0MywyOCArMTQyLDIzIEBAIENTU1N0eWxlUnVsZSogSW5zcGVjdG9yQ1NTQWdlbnQ6OmFz
Q1NTU3R5bGVSdWxlKFN0eWxlQmFzZSogc3R5bGVCYXNlKQogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxDU1NTdHlsZVJ1bGUqPihydWxlKTsKIH0KIAotSW5zcGVjdG9yQ1NTQWdlbnQ6Okluc3BlY3Rv
ckNTU0FnZW50KCkKLSAgICA6IG1fZG9tQWdlbnQoMCkKK0luc3BlY3RvckNTU0FnZW50OjpJbnNw
ZWN0b3JDU1NBZ2VudChJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQpCisgICAgOiBtX2RvbUFn
ZW50KGRvbUFnZW50KQogICAgICwgbV9sYXN0U3R5bGVTaGVldElkKDEpCiAgICAgLCBtX2xhc3RS
dWxlSWQoMSkKICAgICAsIG1fbGFzdFN0eWxlSWQoMSkKIHsKKyAgICBtX2RvbUFnZW50LT5zZXRE
T01MaXN0ZW5lcih0aGlzKTsKIH0KIAogSW5zcGVjdG9yQ1NTQWdlbnQ6On5JbnNwZWN0b3JDU1NB
Z2VudCgpCiB7CisgICAgLy8gRE9NIGFnZW50IHNob3VsZCBiZSBkZXN0cm95ZWQgYWZ0ZXIgQ1NT
IGFnZW50LgorICAgIG1fZG9tQWdlbnQtPnNldERPTUxpc3RlbmVyKDApOworICAgIG1fZG9tQWdl
bnQgPSAwOwogICAgIHJlc2V0KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OnNldERP
TUFnZW50KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKLXsKLSAgICBpZiAobV9kb21BZ2Vu
dCkKLSAgICAgICAgbV9kb21BZ2VudC0+c2V0RE9NTGlzdGVuZXIoMCk7Ci0gICAgbV9kb21BZ2Vu
dCA9IGRvbUFnZW50OwotICAgIGlmIChtX2RvbUFnZW50KQotICAgICAgICBtX2RvbUFnZW50LT5z
ZXRET01MaXN0ZW5lcih0aGlzKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6cmVzZXQo
KQogewogICAgIG1faWRUb0luc3BlY3RvclN0eWxlU2hlZXQuY2xlYXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5kZXggMTJiM2Y5YjlhMDIyOTNh
YjU0M2UxMWM5NTY1Y2YxYTQzYWM1ZTVhOC4uM2YxZWVjNTg2YWQ4YzFmNWUwZTlhYTYyODQ3YTcz
ZDAwNzg0Y2ZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmgKQEAgLTU1LDExICs1NSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ1NTU3R5bGVTaGVl
dCogcGFyZW50U3R5bGVTaGVldChTdHlsZUJhc2UqKTsKICAgICBzdGF0aWMgQ1NTU3R5bGVSdWxl
KiBhc0NTU1N0eWxlUnVsZShTdHlsZUJhc2UqKTsKIAotICAgIEluc3BlY3RvckNTU0FnZW50KCk7
CisgICAgZXhwbGljaXQgSW5zcGVjdG9yQ1NTQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqKTsKICAg
ICB+SW5zcGVjdG9yQ1NTQWdlbnQoKTsKIAotICAgIHZvaWQgc2V0RE9NQWdlbnQoSW5zcGVjdG9y
RE9NQWdlbnQqIGRvbUFnZW50KTsKLQogICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGdldFN0
eWxlc0Zvck5vZGUobG9uZyBub2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIHJlc3VsdCk7
CiAgICAgdm9pZCBnZXRJbmxpbmVTdHlsZUZvck5vZGUobG9uZyBub2RlSWQsIFJlZlB0cjxJbnNw
ZWN0b3JWYWx1ZT4qIHN0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggN2QxMWE3YTZjNWM4MTFjNGY3ZGY3M2Y0YjRj
OTc5MGU1ZjAxODBlZC4uNTZhNGJmY2IzN2QwNDc2NWI4MTIyMTNlYjExNzM3ZjYwMzhjMTQxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2Vu
dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaW5jbHVkZSAiQWN0aXZlQWdlbnRzLmgiCiAj
aW5jbHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCkBAIC01NCwxNyArNTUsMjcgQEAgc3RhdGljIGNvbnN0
IGNoYXIgbW9uaXRvcmluZ1hIUltdID0gIm1vbml0b3JpbmdYSFIiOwogc3RhdGljIGNvbnN0IGNo
YXIgY29uc29sZU1lc3NhZ2VzRW5hYmxlZFtdID0gImNvbnNvbGVNZXNzYWdlc0VuYWJsZWQiOwog
fQogCi1JbnNwZWN0b3JDb25zb2xlQWdlbnQ6Okluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0
b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQpCi0gICAgOiBtX2luc3BlY3RvckFnZW50KGluc3BlY3Rv
ckFnZW50KQorSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoQWN0
aXZlQWdlbnRzKiBhY3RpdmVBZ2VudHMsIEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudCwg
SW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdEhvc3QqIGluamVjdGVkU2NyaXB0
SG9zdCwgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQorICAgIDogbV9hY3RpdmVBZ2VudHMo
YWN0aXZlQWdlbnRzKQorICAgICwgbV9pbnNwZWN0b3JBZ2VudChpbnNwZWN0b3JBZ2VudCkKKyAg
ICAsIG1faW5zcGVjdG9yU3RhdGUoc3RhdGUpCisgICAgLCBtX2luamVjdGVkU2NyaXB0SG9zdChp
bmplY3RlZFNjcmlwdEhvc3QpCisgICAgLCBtX2luc3BlY3RvckRPTUFnZW50KGRvbUFnZW50KQog
ICAgICwgbV9mcm9udGVuZCgwKQogICAgICwgbV9wcmV2aW91c01lc3NhZ2UoMCkKICAgICAsIG1f
ZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQoMCkKIHsKKyAgICBtX2FjdGl2ZUFnZW50cy0+c2V0
SW5zcGVjdG9yQ29uc29sZUFnZW50KHRoaXMpOwogfQogCiBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6
On5JbnNwZWN0b3JDb25zb2xlQWdlbnQoKQogeworICAgIG1fYWN0aXZlQWdlbnRzLT5zZXRJbnNw
ZWN0b3JDb25zb2xlQWdlbnQoMCk7CisgICAgbV9hY3RpdmVBZ2VudHMgPSAwOwogICAgIG1faW5z
cGVjdG9yQWdlbnQgPSAwOworICAgIG1faW5zcGVjdG9yU3RhdGUgPSAwOworICAgIG1faW5qZWN0
ZWRTY3JpcHRIb3N0ID0gMDsKKyAgICBtX2luc3BlY3RvckRPTUFnZW50ID0gMDsKIH0KIAogdm9p
ZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnNldENvbnNvbGVNZXNzYWdlc0VuYWJsZWQoYm9vbCBl
bmFibGVkLCBib29sKiBuZXdTdGF0ZSkKQEAgLTc4LDcgKzg5LDcgQEAgdm9pZCBJbnNwZWN0b3JD
b25zb2xlQWdlbnQ6OmNsZWFyQ29uc29sZU1lc3NhZ2VzKCkKICAgICBtX2NvbnNvbGVNZXNzYWdl
cy5jbGVhcigpOwogICAgIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQgPSAwOwogICAgIG1f
cHJldmlvdXNNZXNzYWdlID0gMDsKLSAgICBtX2luc3BlY3RvckFnZW50LT5pbmplY3RlZFNjcmlw
dEhvc3QoKS0+cmVsZWFzZVdyYXBwZXJPYmplY3RHcm91cCgwIC8qIHJlbGVhc2UgdGhlIGdyb3Vw
IGluIGFsbCBzY3JpcHRzICovLCAiY29uc29sZSIpOworICAgIG1faW5qZWN0ZWRTY3JpcHRIb3N0
LT5yZWxlYXNlV3JhcHBlck9iamVjdEdyb3VwKDAgLyogcmVsZWFzZSB0aGUgZ3JvdXAgaW4gYWxs
IHNjcmlwdHMgKi8sICJjb25zb2xlIik7CiAgICAgaWYgKEluc3BlY3RvckRPTUFnZW50KiBkb21B
Z2VudCA9IG1faW5zcGVjdG9yQWdlbnQtPmRvbUFnZW50KCkpCiAgICAgICAgIGRvbUFnZW50LT5y
ZWxlYXNlRGFuZ2xpbmdOb2RlcygpOwogICAgIGlmIChtX2Zyb250ZW5kKQpAQCAtOTcsNiArMTA4
LDExIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JG
cm9udGVuZCogZnJvbnRlbmQpCiAgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kOwogfQogCit2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9mcm9udGVu
ZCA9IDA7Cit9CisKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAg
ICBpZiAoIW1faW5zcGVjdG9yQWdlbnQtPmVuYWJsZWQoKSkKQEAgLTE2OSw3ICsxODUsNyBAQCB2
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6cmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1
ZXN0KGNvbnN0IFN0cmluZyYgdXJsLAogewogICAgIGlmICghbV9pbnNwZWN0b3JBZ2VudC0+ZW5h
YmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1faW5zcGVjdG9yQWdlbnQtPnN0YXRl
KCktPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6Om1vbml0b3JpbmdYSFIpKQorICAgIGlm
IChtX2luc3BlY3RvclN0YXRlLT5nZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjptb25pdG9y
aW5nWEhSKSkKICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsICJYSFIgZmluaXNoZWQgbG9hZGluZzogXCIi
ICsgdXJsICsgIlwiLiIsIHNlbmRMaW5lTnVtYmVyLCBzZW5kVVJMKTsKIH0KIApAQCAtMTk3LDEy
ICsyMTMsMTIgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3UKIAogdm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OnNldE1vbml0b3JpbmdYSFJFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBt
X2luc3BlY3RvckFnZW50LT5zdGF0ZSgpLT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpt
b25pdG9yaW5nWEhSLCBlbmFibGVkKTsKKyAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFu
KENvbnNvbGVBZ2VudFN0YXRlOjptb25pdG9yaW5nWEhSLCBlbmFibGVkKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQ6OnNldENvbnNvbGVNZXNzYWdlc0VuYWJsZWQoYm9vbCBlbmFi
bGVkKQogewotICAgIG1faW5zcGVjdG9yQWdlbnQtPnN0YXRlKCktPnNldEJvb2xlYW4oQ29uc29s
ZUFnZW50U3RhdGU6OmNvbnNvbGVNZXNzYWdlc0VuYWJsZWQsIGVuYWJsZWQpOworICAgIG1faW5z
cGVjdG9yU3RhdGUtPnNldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6OmNvbnNvbGVNZXNzYWdl
c0VuYWJsZWQsIGVuYWJsZWQpOwogICAgIGlmICghZW5hYmxlZCB8fCAhbV9mcm9udGVuZCkKICAg
ICAgICAgcmV0dXJuOwogCkBAIC0yMTAsNyArMjI2LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OnNldENvbnNvbGVNZXNzYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBt
X2Zyb250ZW5kLT51cGRhdGVDb25zb2xlTWVzc2FnZUV4cGlyZWRDb3VudChtX2V4cGlyZWRDb25z
b2xlTWVzc2FnZUNvdW50KTsKICAgICB1bnNpZ25lZCBtZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVN
ZXNzYWdlcy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1lc3NhZ2VDb3Vu
dDsgKytpKQotICAgICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+YWRkVG9Gcm9udGVuZChtX2Zy
b250ZW5kLCBtX2luc3BlY3RvckFnZW50LT5pbmplY3RlZFNjcmlwdEhvc3QoKSk7CisgICAgICAg
IG1fY29uc29sZU1lc3NhZ2VzW2ldLT5hZGRUb0Zyb250ZW5kKG1fZnJvbnRlbmQsIG1faW5qZWN0
ZWRTY3JpcHRIb3N0KTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNv
bGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGVNZXNzYWdlKQpAQCAt
MjIwLDEzICsyMzYsMTMgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVN
ZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGUKIAogICAgIGlmIChtX3By
ZXZpb3VzTWVzc2FnZSAmJiBtX3ByZXZpb3VzTWVzc2FnZS0+aXNFcXVhbChjb25zb2xlTWVzc2Fn
ZS5nZXQoKSkpIHsKICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UtPmluY3JlbWVudENvdW50KCk7
Ci0gICAgICAgIGlmIChtX2luc3BlY3RvckFnZW50LT5zdGF0ZSgpLT5nZXRCb29sZWFuKENvbnNv
bGVBZ2VudFN0YXRlOjpjb25zb2xlTWVzc2FnZXNFbmFibGVkKSAmJiBtX2Zyb250ZW5kKQorICAg
ICAgICBpZiAobV9pbnNwZWN0b3JTdGF0ZS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6
Y29uc29sZU1lc3NhZ2VzRW5hYmxlZCkgJiYgbV9mcm9udGVuZCkKICAgICAgICAgICAgIG1fcHJl
dmlvdXNNZXNzYWdlLT51cGRhdGVSZXBlYXRDb3VudEluQ29uc29sZShtX2Zyb250ZW5kKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBtX3ByZXZpb3VzTWVzc2FnZSA9IGNvbnNvbGVNZXNzYWdlLmdl
dCgpOwogICAgICAgICBtX2NvbnNvbGVNZXNzYWdlcy5hcHBlbmQoY29uc29sZU1lc3NhZ2UpOwot
ICAgICAgICBpZiAobV9pbnNwZWN0b3JBZ2VudC0+c3RhdGUoKS0+Z2V0Qm9vbGVhbihDb25zb2xl
QWdlbnRTdGF0ZTo6Y29uc29sZU1lc3NhZ2VzRW5hYmxlZCkgJiYgbV9mcm9udGVuZCkKLSAgICAg
ICAgICAgIG1fcHJldmlvdXNNZXNzYWdlLT5hZGRUb0Zyb250ZW5kKG1fZnJvbnRlbmQsIG1faW5z
cGVjdG9yQWdlbnQtPmluamVjdGVkU2NyaXB0SG9zdCgpKTsKKyAgICAgICAgaWYgKG1faW5zcGVj
dG9yU3RhdGUtPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6OmNvbnNvbGVNZXNzYWdlc0Vu
YWJsZWQpICYmIG1fZnJvbnRlbmQpCisgICAgICAgICAgICBtX3ByZXZpb3VzTWVzc2FnZS0+YWRk
VG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0SG9zdCk7CiAgICAgfQogCiAg
ICAgaWYgKCFtX2Zyb250ZW5kICYmIG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKSA+PSBtYXhpbXVt
Q29uc29sZU1lc3NhZ2VzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmgKaW5kZXggMTBmZmIwMjNkMGU0MmJjMGNjZTg3NzQ1YmRkMDNkN2E3
MTZhMTE4NS4uNDMyODZiZWQzNzg4MDdhMWFhN2UzYzc4YmNkOTBiNmJiNzc1ZWNiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAt
MzgsOCArMzgsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb25zb2xlTWVzc2Fn
ZTsKIGNsYXNzIEluc3BlY3RvckFnZW50OworY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5qZWN0
ZWRTY3JpcHRIb3N0OworY2xhc3MgQWN0aXZlQWdlbnRzOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CkBAIC00OSwx
MyArNTIsMTQgQEAgY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIEluc3BlY3RvckNvbnNvbGVB
Z2VudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29uc29sZUFnZW50KTsK
IHB1YmxpYzoKLSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zcGVjdG9yQWdlbnQqKTsKKyAg
ICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoQWN0aXZlQWdlbnRzKiwgSW5zcGVjdG9yQWdlbnQqLCBJ
bnNwZWN0b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0SG9zdCosIEluc3BlY3RvckRPTUFnZW50Kik7
CiAgICAgfkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOwogCiAgICAgdm9pZCBzZXRDb25zb2xlTWVz
c2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgYm9vbCogbmV3U3RhdGUpOwogICAgIHZvaWQgY2xl
YXJDb25zb2xlTWVzc2FnZXMoKTsKICAgICB2b2lkIHJlc2V0KCk7CiAgICAgdm9pZCBzZXRGcm9u
dGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOwogCiAg
ICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwogICAgIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlSUQpOwpAQCAtNzcsNyArODEsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldENvbnNvbGVN
ZXNzYWdlc0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShQYXNzT3du
UHRyPENvbnNvbGVNZXNzYWdlPik7CiAKKyAgICBBY3RpdmVBZ2VudHMqIG1fYWN0aXZlQWdlbnRz
OwogICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50OworICAgIEluc3BlY3RvclN0
YXRlKiBtX2luc3BlY3RvclN0YXRlOworICAgIEluamVjdGVkU2NyaXB0SG9zdCogbV9pbmplY3Rl
ZFNjcmlwdEhvc3Q7CisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1faW5zcGVjdG9yRE9NQWdlbnQ7
CiAgICAgSW5zcGVjdG9yRnJvbnRlbmQqIG1fZnJvbnRlbmQ7CiAgICAgQ29uc29sZU1lc3NhZ2Uq
IG1fcHJldmlvdXNNZXNzYWdlOwogICAgIFZlY3RvcjxPd25QdHI8Q29uc29sZU1lc3NhZ2U+ID4g
bV9jb25zb2xlTWVzc2FnZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcAppbmRleCA2ZjZjNDZhMDg2NTY3M2M2ZTE4ZDI4NmU5OTAwZWE4OTQ3MGU0
YTcxLi44MTc1NGQ3NTM5NmFiNDcyMWNiMzJmMjIxMDk0ODIyMTI2NjRlMTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRlICJBY3RpdmVBZ2VudHMu
aCIKICNpbmNsdWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmgiCiAjaW5jbHVkZSAiQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCIKQEAgLTI0Miw5
ICsyNDMsMTAgQEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpvblRpbWVyKFRp
bWVyPFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s+KikKICAgICBtX2VsZW1lbnRzLmNsZWFy
KCk7CiB9CiAKLUluc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JET01BZ2VudChJbmplY3RlZFNj
cmlwdEhvc3QqIGluamVjdGVkU2NyaXB0SG9zdCwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5k
KQotICAgIDogbV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0KQotICAgICwg
bV9mcm9udGVuZChmcm9udGVuZCkKK0luc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JET01BZ2Vu
dChBY3RpdmVBZ2VudHMqIGFjdGl2ZUFnZW50cywgSW5qZWN0ZWRTY3JpcHRIb3N0KiBpbmplY3Rl
ZFNjcmlwdEhvc3QpCisgICAgOiBtX2FjdGl2ZUFnZW50cyhhY3RpdmVBZ2VudHMpCisgICAgLCBt
X2luamVjdGVkU2NyaXB0SG9zdChpbmplY3RlZFNjcmlwdEhvc3QpCisgICAgLCBtX2Zyb250ZW5k
KDApCiAgICAgLCBtX2RvbUxpc3RlbmVyKDApCiAgICAgLCBtX2xhc3ROb2RlSWQoMSkKICAgICAs
IG1fbWF0Y2hKb2JzVGltZXIodGhpcywgJkluc3BlY3RvckRPTUFnZW50Ojpvbk1hdGNoSm9ic1Rp
bWVyKQpAQCAtMjU2LDYgKzI1OCwyMSBAQCBJbnNwZWN0b3JET01BZ2VudDo6fkluc3BlY3RvckRP
TUFnZW50KCkKICAgICByZXNldCgpOwogfQogCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRG
cm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNTRVJUKCFtX2Zy
b250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gZnJvbnRlbmQ7CisgICAgbV9hY3RpdmVBZ2VudHMt
PnNldEluc3BlY3RvckRPTUFnZW50KHRoaXMpOworfQorCit2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBBU1NFUlQobV9mcm9udGVuZCk7CisgICAgbV9mcm9u
dGVuZCA9IDA7CisgICAgbV9hY3RpdmVBZ2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOwor
ICAgIHJlc2V0KCk7Cit9CisKIFZlY3RvcjxEb2N1bWVudCo+IEluc3BlY3RvckRPTUFnZW50Ojpk
b2N1bWVudHMoKQogewogICAgIFZlY3RvcjxEb2N1bWVudCo+IHJlc3VsdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggZmU4NzQzMzdhYzc2NzZk
NTA1MjZiN2FiZDc3NTc0MWM5N2E2ZmM1OC4uNzA2NWJkM2RiNTc5ZWY2YzY5MjQxZTE3MTFkMzIw
NTNkYjU5OTQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3MgRXZlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01B
Z2VudDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgTWF0Y2hKb2I7CitjbGFzcyBB
Y3RpdmVBZ2VudHM7CiBjbGFzcyBOYW1lTm9kZU1hcDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdl
OwpAQCAtODUsMTQgKzg2LDE2IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZE1v
ZGlmeURPTUF0dHIoRWxlbWVudCopID0gMDsKICAgICB9OwogCi0gICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5zcGVjdG9yRE9NQWdlbnQ+IGNyZWF0ZShJbmplY3RlZFNjcmlwdEhvc3QqIGluamVjdGVk
U2NyaXB0SG9zdCwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQorICAgIHN0YXRpYyBQYXNz
T3duUHRyPEluc3BlY3RvckRPTUFnZW50PiBjcmVhdGUoQWN0aXZlQWdlbnRzKiBhY3RpdmVBZ2Vu
dHMsIEluamVjdGVkU2NyaXB0SG9zdCogaW5qZWN0ZWRTY3JpcHRIb3N0KQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JET01BZ2VudChpbmplY3RlZFNjcmlwdEhv
c3QsIGZyb250ZW5kKSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yRE9N
QWdlbnQoYWN0aXZlQWdlbnRzLCBpbmplY3RlZFNjcmlwdEhvc3QpKTsKICAgICB9CiAKLSAgICBJ
bnNwZWN0b3JET01BZ2VudChJbmplY3RlZFNjcmlwdEhvc3QqLCBJbnNwZWN0b3JGcm9udGVuZCop
OwogICAgIH5JbnNwZWN0b3JET01BZ2VudCgpOwogCisgICAgdm9pZCBzZXRGcm9udGVuZChJbnNw
ZWN0b3JGcm9udGVuZCopOworICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOworCiAgICAgVmVjdG9y
PERvY3VtZW50Kj4gZG9jdW1lbnRzKCk7CiAgICAgdm9pZCByZXNldCgpOwogCkBAIC0xNDcsNiAr
MTUwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzV2hpdGVzcGFjZShOb2RlKik7CiAK
IHByaXZhdGU6CisgICAgSW5zcGVjdG9yRE9NQWdlbnQoQWN0aXZlQWdlbnRzKiwgSW5qZWN0ZWRT
Y3JpcHRIb3N0Kik7CisKICAgICAvLyBOb2RlLXJlbGF0ZWQgbWV0aG9kcy4KICAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPE5vZGU+LCBsb25nPiBOb2RlVG9JZE1hcDsKICAgICBsb25nIGJpbmQo
Tm9kZSosIE5vZGVUb0lkTWFwKik7CkBAIC0xNzMsNiArMTc4LDcgQEAgcHJpdmF0ZToKIAogICAg
IEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0Rm9yTm9kZUlkKGxvbmcgbm9kZUlkKTsKIAor
ICAgIEFjdGl2ZUFnZW50cyogbV9hY3RpdmVBZ2VudHM7CiAgICAgSW5qZWN0ZWRTY3JpcHRIb3N0
KiBtX2luamVjdGVkU2NyaXB0SG9zdDsKICAgICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVu
ZDsKICAgICBET01MaXN0ZW5lciogbV9kb21MaXN0ZW5lcjsK
</data>
<flag name="review"
          id="74915"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83157</attachid>
            <date>2011-02-21 06:20:29 -0800</date>
            <delta_ts>2011-02-21 06:22:00 -0800</delta_ts>
            <desc>Patch that I&apos;m going to land</desc>
            <filename>split-agents.patch</filename>
            <type>text/plain</type>
            <size>27868</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NzFkMTQ0Li41OTBhZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMg
QEAKKzIwMTEtMDItMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogY3JlYXRlIGFuZCBkZXN0cm95IERPTSBhZ2VudCBhbG9uZyB3aXRoIEluc3BlY3RvckFn
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3
NQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oOiBBZGRlZC4gQWdlbnRzIHRo
YXQgd2FudCB0byBpbnN0cnVtZW50IFdlYkNvcmUgc2hvdWxkIHJlZ2lzdGVyIHRoZW1zZWx2ZQor
ICAgICAgICBvbiB0aGlzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVu
dGluZ0FnZW50czo6fkluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
dHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVj
dG9yQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6
OnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50
aW5nQWdlbnRzOjppbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVt
ZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JET01TdG9yYWdlQWdlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvckRhdGFi
YXNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5z
cGVjdG9yRGF0YWJhc2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjppbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JQcm9maWxlckFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvclJlc291
cmNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjppbnNwZWN0b3JSdW50aW1lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVu
dGluZ0FnZW50czo6c2V0SW5zcGVjdG9yUnVudGltZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvclN0b3JhZ2VBZ2VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JTdG9yYWdlQWdlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yVGltZWxpbmVB
Z2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0
b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckFnZW50OjpjcmVhdGVGcm9udGVuZExpZmV0aW1lQWdlbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpyZWxlYXNlRnJvbnRlbmRMaWZldGltZUFn
ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlkQ29tbWl0TG9hZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZG9tQ29udGVudExvYWRlZEV2ZW50
RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmxvYWRFdmVudEZpcmVk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q1NTQWdlbnQ6Okluc3BlY3RvckNTU0FnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNTU0FnZW50Ojp+SW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0
b3JDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50
Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNv
bnNvbGVBZ2VudDo6Y2xlYXJDb25zb2xlTWVzc2FnZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ29uc29sZUFnZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckNvbnNvbGVBZ2VudDo6cmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hI
UkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRD
b25zb2xlTWVzc2FnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNv
bGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOiBET00gYWdlbnQgbm93IGxpdmVzIGV2ZW4gd2hlbiB0aGUgZnJvbnQtZW5kIGlzIG5vdCBh
dHRhY2hlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JE
T01BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0RnJvbnRl
bmQpOiBBZGQgRE9NIGFnZW50IHRvIHRoZSBzZXQgb2YgYWN0aXZlIGFnZW50cyB3aGVuIHRoZSBm
cm9udC1lbmQKKyAgICAgICAgaXMgYXR0YWNoZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y3JlYXRl
KToKKwogMjAxMS0wMi0yMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDI1ZTdmODUuLjNiZWMzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDExLDYgKzIw
MTEsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VmFsdWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAzMzQ3
M2I0Li4wMzhmNGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDc1LDYgKzIwNzUsNyBAQAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJSZXNvdXJjZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVu
dGluZ0FnZW50cy5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5o
JywKICAgICAgICAgICAgICdpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCcsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOGEy
NTA0Yi4uMGY1MGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE4NzEsNiArMTg3MSw3IEBAIEhFQURF
UlMgKz0gXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdGF0ZS5oIFwKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvU2NyaXB0R0NFdmVudExpc3RlbmVyLmggXAogICAgIGluc3BlY3Rvci9UaW1lbGluZVJl
Y29yZEZhY3RvcnkuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggNTY5MTM0MS4uZmM4ZTIzYyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTY1NjIyLDYgKzY1NjIyLDEwIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBiY2M1ZDkwLi40MDkxNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NjM0LDYgKzU2MzQsNyBAQAogCQlGMzkyMjQ5RDEy
NkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5MjI0OUIxMjZGMTFBRTAwQTkyNkQ5
IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLzsgfTsKIAkJRjM5QkU5NUIxMjY3M0JGNDAw
RTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGMzlCRTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJn
dW1lbnRzLmNwcCAqLzsgfTsKIAkJRjM5QkU5NUMxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFy
Z3VtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjM5QkU5NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovOyB9OworCQlG
M0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURBMDAw
RTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCAqLzsgfTsKIAkJRjNENDYxNDgxMTYxRDUz
MjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9y
SGFuZGxlci5jcHAgKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9y
SGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi87IH07CiAJCUYz
RDRDNDc4MTJFMDc2NjMwMDNEQTE1MCAvKiBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0QzQ3
NjEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuY3BwICov
OyB9OwpAQCAtMTIwMTAsNiArMTIwMTEsNyBAQAogCQlGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkg
LyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM5QkU5NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNj
cmlwdEFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRB
cmd1bWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjNBQkZFMEIxMzBFOURB
MDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5zdHJ1bWVudGluZ0FnZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGM0Q0NjE0NjExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFcnJvckhhbmRsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyog
SlNFcnJvckhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFcnJv
ckhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENEM0NzYxMkUwNzY2
MzAwM0RBMTUwIC8qIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMDM5LDYgKzEzMDQxLDcgQEAK
IAkJCQk0RjMyODlCMzExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmNwcCAqLywK
IAkJCQk0RjMyODlCNDExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggKi8sCiAJ
CQkJRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNlLmgg
Ki8sCisJCQkJRjNBQkZFMEIxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMu
aCAqLywKIAkJCQkxQzgxQkEwNTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFt
ZS5pZGwgKi8sCiAJCQkJQkNDNjRGNUYwRENGQjg0RTAwODFFRjNCIC8qIGxvY2FsaXplZFN0cmlu
Z3MuanMgKi8sCiAJCQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50
cy5jcHAgKi8sCkBAIC0yMjQ3Nyw2ICsyMjQ4MCw3IEBACiAJCQkJQjhEQkRCNEMxMzBCMEY4QTAw
RjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI4REJE
QjRFMTMwQjBGOEEwMEY1Q0RCMSAvKiBTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEM0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGM0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyogSW5z
dHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50LmNwcAppbmRleCA2ZmVjNDNkLi45YjBhNGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKQEAgLTc1LDYgKzc1LDcgQEAK
ICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
VmFsdWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCIKKyNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKQEAgLTEzNyw3ICsxMzgsMTAg
QEAgSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNs
aWVudCogY2xpZW50KQogICAgIDogbV9pbnNwZWN0ZWRQYWdlKHBhZ2UpCiAgICAgLCBtX2NsaWVu
dChjbGllbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCi0gICAgLCBtX2Nzc0FnZW50KG5ldyBJbnNw
ZWN0b3JDU1NBZ2VudCgpKQorICAgICwgbV9pbnN0cnVtZW50aW5nQWdlbnRzKG5ldyBJbnN0cnVt
ZW50aW5nQWdlbnRzKCkpCisgICAgLCBtX2luamVjdGVkU2NyaXB0SG9zdChJbmplY3RlZFNjcmlw
dEhvc3Q6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fZG9tQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQ6
OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRIb3N0
LmdldCgpKSkKKyAgICAsIG1fY3NzQWdlbnQobmV3IEluc3BlY3RvckNTU0FnZW50KG1fZG9tQWdl
bnQuZ2V0KCkpKQogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICAsIG1fZGF0YWJhc2VBZ2VudFJl
c291cmNlcyhJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpjcmVhdGVTdG9yYWdlKCkpCiAjZW5kaWYK
QEAgLTE0NSw4ICsxNDksNyBAQCBJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoUGFnZSog
cGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2RvbVN0b3JhZ2VBZ2VudFJl
c291cmNlcyhJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZVN0b3JhZ2UoKSkKICNlbmRp
ZgogICAgICwgbV9zdGF0ZShuZXcgSW5zcGVjdG9yU3RhdGUoY2xpZW50KSkKLSAgICAsIG1faW5q
ZWN0ZWRTY3JpcHRIb3N0KEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKHRoaXMpKQotICAgICwg
bV9jb25zb2xlQWdlbnQobmV3IEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlzKSkKKyAgICAsIG1f
Y29uc29sZUFnZW50KG5ldyBJbnNwZWN0b3JDb25zb2xlQWdlbnQobV9pbnN0cnVtZW50aW5nQWdl
bnRzLmdldCgpLCB0aGlzLCBtX3N0YXRlLmdldCgpLCBtX2luamVjdGVkU2NyaXB0SG9zdC5nZXQo
KSwgbV9kb21BZ2VudC5nZXQoKSkpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAg
ICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKHRoaXMp
KQogI2VuZGlmCkBAIC0zMzgsNyArMzQxLDcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6c2V0RnJv
bnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGluc3BlY3RvckZyb250ZW5kKQogICAgIG1fZnJvbnRl
bmQgPSBpbnNwZWN0b3JGcm9udGVuZDsKICAgICBjcmVhdGVGcm9udGVuZExpZmV0aW1lQWdlbnRz
KCk7CiAKLSAgICBtX2Nzc0FnZW50LT5zZXRET01BZ2VudChtX2RvbUFnZW50LmdldCgpKTsKKyAg
ICBtX2RvbUFnZW50LT5zZXRGcm9udGVuZChtX2Zyb250ZW5kKTsKICAgICBtX2NvbnNvbGVBZ2Vu
dC0+c2V0RnJvbnRlbmQobV9mcm9udGVuZCk7CiAKICAgICAvLyBJbml0aWFsaXplIFdlYiBJbnNw
ZWN0b3IgdGl0bGUuCkBAIC0zNzEsNyArMzc0LDggQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlz
Y29ubmVjdEZyb250ZW5kKCkKICAgICBtX3Byb2ZpbGVyQWdlbnQtPnN0b3BVc2VySW5pdGlhdGVk
UHJvZmlsaW5nKHRydWUpOwogI2VuZGlmCiAKLSAgICBtX2NvbnNvbGVBZ2VudC0+c2V0RnJvbnRl
bmQoMCk7CisgICAgbV9jb25zb2xlQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKKyAgICBtX2RvbUFn
ZW50LT5jbGVhckZyb250ZW5kKCk7CiAKICAgICByZWxlYXNlRnJvbnRlbmRMaWZldGltZUFnZW50
cygpOwogICAgIG1fdXNlckFnZW50T3ZlcnJpZGUgPSAiIjsKQEAgLTM4Niw3ICszOTAsNiBAQCBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50KiBJbnNwZWN0b3JBZ2VudDo6cmVzb3VyY2VBZ2VudCgpCiAK
IHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmNyZWF0ZUZyb250ZW5kTGlmZXRpbWVBZ2VudHMoKQogewot
ICAgIG1fZG9tQWdlbnQgPSBJbnNwZWN0b3JET01BZ2VudDo6Y3JlYXRlKG1faW5qZWN0ZWRTY3Jp
cHRIb3N0LmdldCgpLCBtX2Zyb250ZW5kKTsKICAgICBtX3J1bnRpbWVBZ2VudCA9IEluc3BlY3Rv
clJ1bnRpbWVBZ2VudDo6Y3JlYXRlKG1faW5qZWN0ZWRTY3JpcHRIb3N0LmdldCgpKTsKIAogI2lm
IEVOQUJMRShEQVRBQkFTRSkKQEAgLTQxOSwxMCArNDIyLDYgQEAgdm9pZCBJbnNwZWN0b3JBZ2Vu
dDo6cmVsZWFzZUZyb250ZW5kTGlmZXRpbWVBZ2VudHMoKQogI2lmIEVOQUJMRShPRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpCiAgICAgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQuY2xlYXIoKTsKICNl
bmRpZgotCi0gICAgLy8gVGhpcyBzaG91bGQgYmUgaW52b2tlZCBwcmlvciB0byBtX2RvbUFnZW50
IGRlc3RydWN0aW9uLgotICAgIG1fY3NzQWdlbnQtPnNldERPTUFnZW50KDApOwotICAgIG1fZG9t
QWdlbnQuY2xlYXIoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6cG9wdWxhdGVTY3JpcHRP
YmplY3RzKCkKQEAgLTU0Myw4ICs1NDIsOCBAQCB2b2lkIEluc3BlY3RvckFnZW50OjpkaWRDb21t
aXRMb2FkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDo6Y2xlYXIodGhpcyk7CiAjZW5kaWYKIAotICAgICAgICBpZiAobV9mcm9udGVuZCkK
LSAgICAgICAgICAgIG1fZG9tQWdlbnQtPnNldERvY3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFp
bkZyYW1lKCktPmRvY3VtZW50KCkpOworICAgICAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRv
bUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JET01BZ2VudCgpKQorICAg
ICAgICAgICAgZG9tQWdlbnQtPnNldERvY3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1l
KCktPmRvY3VtZW50KCkpOwogICAgIH0KIH0KIApAQCAtNTUzLDggKzU1Miw4IEBAIHZvaWQgSW5z
cGVjdG9yQWdlbnQ6OmRvbUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKERvY3VtZW50TG9hZGVyKiBs
b2FkZXIsIGNvbnN0IEtVCiAgICAgaWYgKCFlbmFibGVkKCkgfHwgIWlzTWFpblJlc291cmNlTG9h
ZGVyKGxvYWRlciwgdXJsKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fZG9tQWdlbnQp
Ci0gICAgICAgIG1fZG9tQWdlbnQtPm1haW5GcmFtZURPTUNvbnRlbnRMb2FkZWQoKTsKKyAgICBp
ZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICBkb21BZ2VudC0+bWFpbkZyYW1lRE9NQ29udGVu
dExvYWRlZCgpOwogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCiAgICAgICAgIG1fdGltZWxpbmVB
Z2VudC0+ZGlkTWFya0RPTUNvbnRlbnRFdmVudCgpOwogICAgIGlmIChtX2Zyb250ZW5kKQpAQCAt
NTY2LDggKzU2NSw4IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmxvYWRFdmVudEZpcmVkKERvY3Vt
ZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IEtVUkwmIHVybCkKICAgICBpZiAoIWVuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fZG9tQWdlbnQpCi0gICAgICAgIG1fZG9tQWdl
bnQtPmxvYWRFdmVudEZpcmVkKGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKSk7CisgICAgaWYg
KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5z
cGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9tQWdlbnQtPmxvYWRFdmVudEZpcmVkKGxvYWRl
ci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKSk7CiAKICAgICBpZiAoIWlzTWFpblJlc291cmNlTG9hZGVy
KGxvYWRlciwgdXJsKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnQuaAppbmRleCA0NjFhZmJhLi44Zjk0ZjAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaApAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBJbnNw
ZWN0b3JTdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZTsKK2NsYXNzIElu
c3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgS1VSTDsKIGNsYXNzIE5v
ZGU7CkBAIC0yNzMsOCArMjc0LDEwIEBAIHByaXZhdGU6CiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQ
YWdlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiAgICAgSW5zcGVjdG9yRnJvbnRl
bmQqIG1fZnJvbnRlbmQ7Ci0gICAgT3duUHRyPEluc3BlY3RvckNTU0FnZW50PiBtX2Nzc0FnZW50
OworICAgIE93blB0cjxJbnN0cnVtZW50aW5nQWdlbnRzPiBtX2luc3RydW1lbnRpbmdBZ2VudHM7
CisgICAgUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4gbV9pbmplY3RlZFNjcmlwdEhvc3Q7CiAg
ICAgT3duUHRyPEluc3BlY3RvckRPTUFnZW50PiBtX2RvbUFnZW50OworICAgIE93blB0cjxJbnNw
ZWN0b3JDU1NBZ2VudD4gbV9jc3NBZ2VudDsKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICBP
d25QdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudD4gbV9kYXRhYmFzZUFnZW50OwpAQCAtMjk4LDcg
KzMwMSw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEluc3BlY3RvclJlc291cmNlQWdlbnQ+IG1f
cmVzb3VyY2VBZ2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yUnVudGltZUFnZW50PiBtX3J1bnRp
bWVBZ2VudDsKIAotICAgIFJlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+IG1faW5qZWN0ZWRTY3Jp
cHRIb3N0OwogICAgIE93blB0cjxJbnNwZWN0b3JDb25zb2xlQWdlbnQ+IG1fY29uc29sZUFnZW50
OwogCiAgICAgVmVjdG9yPHBhaXI8bG9uZywgU3RyaW5nPiA+IG1fcGVuZGluZ0V2YWx1YXRlVGVz
dENvbW1hbmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2Vu
dC5jcHAKaW5kZXggZjQ5Zjg5Yy4uMzNkNDg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAi
RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRE9NQWdlbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJOb2Rl
TGlzdC5oIgpAQCAtMTQzLDI4ICsxNDIsMjMgQEAgQ1NTU3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NB
Z2VudDo6YXNDU1NTdHlsZVJ1bGUoU3R5bGVCYXNlKiBzdHlsZUJhc2UpCiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KHJ1bGUpOwogfQogCi1JbnNwZWN0b3JDU1NBZ2VudDo6
SW5zcGVjdG9yQ1NTQWdlbnQoKQotICAgIDogbV9kb21BZ2VudCgwKQorSW5zcGVjdG9yQ1NTQWdl
bnQ6Okluc3BlY3RvckNTU0FnZW50KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKKyAgICA6
IG1fZG9tQWdlbnQoZG9tQWdlbnQpCiAgICAgLCBtX2xhc3RTdHlsZVNoZWV0SWQoMSkKICAgICAs
IG1fbGFzdFJ1bGVJZCgxKQogICAgICwgbV9sYXN0U3R5bGVJZCgxKQogeworICAgIG1fZG9tQWdl
bnQtPnNldERPTUxpc3RlbmVyKHRoaXMpOwogfQogCiBJbnNwZWN0b3JDU1NBZ2VudDo6fkluc3Bl
Y3RvckNTU0FnZW50KCkKIHsKKyAgICAvLyBET00gYWdlbnQgc2hvdWxkIGJlIGRlc3Ryb3llZCBh
ZnRlciBDU1MgYWdlbnQuCisgICAgbV9kb21BZ2VudC0+c2V0RE9NTGlzdGVuZXIoMCk7CisgICAg
bV9kb21BZ2VudCA9IDA7CiAgICAgcmVzZXQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDU1NBZ2Vu
dDo6c2V0RE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQotewotICAgIGlmICht
X2RvbUFnZW50KQotICAgICAgICBtX2RvbUFnZW50LT5zZXRET01MaXN0ZW5lcigwKTsKLSAgICBt
X2RvbUFnZW50ID0gZG9tQWdlbnQ7Ci0gICAgaWYgKG1fZG9tQWdlbnQpCi0gICAgICAgIG1fZG9t
QWdlbnQtPnNldERPTUxpc3RlbmVyKHRoaXMpOwotfQotCiB2b2lkIEluc3BlY3RvckNTU0FnZW50
OjpyZXNldCgpCiB7CiAgICAgbV9pZFRvSW5zcGVjdG9yU3R5bGVTaGVldC5jbGVhcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaAppbmRleCAxMmIzZjli
Li4zZjFlZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdl
bnQuaApAQCAtNTUsMTEgKzU1LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBDU1NTdHlsZVNoZWV0
KiBwYXJlbnRTdHlsZVNoZWV0KFN0eWxlQmFzZSopOwogICAgIHN0YXRpYyBDU1NTdHlsZVJ1bGUq
IGFzQ1NTU3R5bGVSdWxlKFN0eWxlQmFzZSopOwogCi0gICAgSW5zcGVjdG9yQ1NTQWdlbnQoKTsK
KyAgICBleHBsaWNpdCBJbnNwZWN0b3JDU1NBZ2VudChJbnNwZWN0b3JET01BZ2VudCopOwogICAg
IH5JbnNwZWN0b3JDU1NBZ2VudCgpOwogCi0gICAgdm9pZCBzZXRET01BZ2VudChJbnNwZWN0b3JE
T01BZ2VudCogZG9tQWdlbnQpOwotCiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgZ2V0U3R5
bGVzRm9yTm9kZShsb25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3RvclZhbHVlPiogcmVzdWx0KTsK
ICAgICB2b2lkIGdldElubGluZVN0eWxlRm9yTm9kZShsb25nIG5vZGVJZCwgUmVmUHRyPEluc3Bl
Y3RvclZhbHVlPiogc3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCA3ZDExYTdhLi40MmFkMjMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5j
bHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVkZSAi
SW5qZWN0ZWRTY3JpcHRIb3N0LmgiCkBAIC01NCwxNyArNTUsMjcgQEAgc3RhdGljIGNvbnN0IGNo
YXIgbW9uaXRvcmluZ1hIUltdID0gIm1vbml0b3JpbmdYSFIiOwogc3RhdGljIGNvbnN0IGNoYXIg
Y29uc29sZU1lc3NhZ2VzRW5hYmxlZFtdID0gImNvbnNvbGVNZXNzYWdlc0VuYWJsZWQiOwogfQog
Ci1JbnNwZWN0b3JDb25zb2xlQWdlbnQ6Okluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JB
Z2VudCogaW5zcGVjdG9yQWdlbnQpCi0gICAgOiBtX2luc3BlY3RvckFnZW50KGluc3BlY3RvckFn
ZW50KQorSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yQWdlbnQqIGluc3Bl
Y3RvckFnZW50LCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0SG9zdCogaW5q
ZWN0ZWRTY3JpcHRIb3N0LCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQpCisgICAgOiBtX2lu
c3RydW1lbnRpbmdBZ2VudHMoaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICAsIG1faW5zcGVjdG9y
QWdlbnQoaW5zcGVjdG9yQWdlbnQpCisgICAgLCBtX2luc3BlY3RvclN0YXRlKHN0YXRlKQorICAg
ICwgbV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0KQorICAgICwgbV9pbnNw
ZWN0b3JET01BZ2VudChkb21BZ2VudCkKICAgICAsIG1fZnJvbnRlbmQoMCkKICAgICAsIG1fcHJl
dmlvdXNNZXNzYWdlKDApCiAgICAgLCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KDApCiB7
CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JDb25zb2xlQWdlbnQodGhp
cyk7CiB9CiAKIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVBZ2VudCgp
CiB7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JDb25zb2xlQWdlbnQo
MCk7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzID0gMDsKICAgICBtX2luc3BlY3RvckFnZW50
ID0gMDsKKyAgICBtX2luc3BlY3RvclN0YXRlID0gMDsKKyAgICBtX2luamVjdGVkU2NyaXB0SG9z
dCA9IDA7CisgICAgbV9pbnNwZWN0b3JET01BZ2VudCA9IDA7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjpzZXRDb25zb2xlTWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgYm9v
bCogbmV3U3RhdGUpCkBAIC03OCw3ICs4OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjpjbGVhckNvbnNvbGVNZXNzYWdlcygpCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsK
ICAgICBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVz
c2FnZSA9IDA7Ci0gICAgbV9pbnNwZWN0b3JBZ2VudC0+aW5qZWN0ZWRTY3JpcHRIb3N0KCktPnJl
bGVhc2VXcmFwcGVyT2JqZWN0R3JvdXAoMCAvKiByZWxlYXNlIHRoZSBncm91cCBpbiBhbGwgc2Ny
aXB0cyAqLywgImNvbnNvbGUiKTsKKyAgICBtX2luamVjdGVkU2NyaXB0SG9zdC0+cmVsZWFzZVdy
YXBwZXJPYmplY3RHcm91cCgwIC8qIHJlbGVhc2UgdGhlIGdyb3VwIGluIGFsbCBzY3JpcHRzICov
LCAiY29uc29sZSIpOwogICAgIGlmIChJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQgPSBtX2lu
c3BlY3RvckFnZW50LT5kb21BZ2VudCgpKQogICAgICAgICBkb21BZ2VudC0+cmVsZWFzZURhbmds
aW5nTm9kZXMoKTsKICAgICBpZiAobV9mcm9udGVuZCkKQEAgLTk3LDYgKzEwOCwxMSBAQCB2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKQogICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZDsKIH0KIAordm9pZCBJbnNwZWN0b3JD
b25zb2xlQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOworfQor
CiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7CiAgICAgaWYgKCFtX2lu
c3BlY3RvckFnZW50LT5lbmFibGVkKCkpCkBAIC0xNjksNyArMTg1LDcgQEAgdm9pZCBJbnNwZWN0
b3JDb25zb2xlQWdlbnQ6OnJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdChjb25zdCBT
dHJpbmcmIHVybCwKIHsKICAgICBpZiAoIW1faW5zcGVjdG9yQWdlbnQtPmVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGlmIChtX2luc3BlY3RvckFnZW50LT5zdGF0ZSgpLT5nZXRCb29s
ZWFuKENvbnNvbGVBZ2VudFN0YXRlOjptb25pdG9yaW5nWEhSKSkKKyAgICBpZiAobV9pbnNwZWN0
b3JTdGF0ZS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6bW9uaXRvcmluZ1hIUikpCiAg
ICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgTG9nTWVzc2FnZUxldmVsLCAiWEhSIGZpbmlzaGVkIGxvYWRpbmc6IFwiIiArIHVybCArICJc
Ii4iLCBzZW5kTGluZU51bWJlciwgc2VuZFVSTCk7CiB9CiAKQEAgLTE5NywxMiArMjEzLDEyIEBA
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpz
ZXRNb25pdG9yaW5nWEhSRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgbV9pbnNwZWN0b3JB
Z2VudC0+c3RhdGUoKS0+c2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6bW9uaXRvcmluZ1hI
UiwgZW5hYmxlZCk7CisgICAgbV9pbnNwZWN0b3JTdGF0ZS0+c2V0Qm9vbGVhbihDb25zb2xlQWdl
bnRTdGF0ZTo6bW9uaXRvcmluZ1hIUiwgZW5hYmxlZCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29u
c29sZUFnZW50OjpzZXRDb25zb2xlTWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAg
ICBtX2luc3BlY3RvckFnZW50LT5zdGF0ZSgpLT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRl
Ojpjb25zb2xlTWVzc2FnZXNFbmFibGVkLCBlbmFibGVkKTsKKyAgICBtX2luc3BlY3RvclN0YXRl
LT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpjb25zb2xlTWVzc2FnZXNFbmFibGVkLCBl
bmFibGVkKTsKICAgICBpZiAoIWVuYWJsZWQgfHwgIW1fZnJvbnRlbmQpCiAgICAgICAgIHJldHVy
bjsKIApAQCAtMjEwLDcgKzIyNiw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRD
b25zb2xlTWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAgbV9mcm9udGVuZC0+
dXBkYXRlQ29uc29sZU1lc3NhZ2VFeHBpcmVkQ291bnQobV9leHBpcmVkQ29uc29sZU1lc3NhZ2VD
b3VudCk7CiAgICAgdW5zaWduZWQgbWVzc2FnZUNvdW50ID0gbV9jb25zb2xlTWVzc2FnZXMuc2l6
ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7ICsraSkKLSAg
ICAgICAgbV9jb25zb2xlTWVzc2FnZXNbaV0tPmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZCwgbV9p
bnNwZWN0b3JBZ2VudC0+aW5qZWN0ZWRTY3JpcHRIb3N0KCkpOworICAgICAgICBtX2NvbnNvbGVN
ZXNzYWdlc1tpXS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0SG9z
dCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRDb25zb2xlTWVzc2FnZShQ
YXNzT3duUHRyPENvbnNvbGVNZXNzYWdlPiBjb25zb2xlTWVzc2FnZSkKQEAgLTIyMCwxMyArMjM2
LDEzIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRDb25zb2xlTWVzc2FnZShQYXNz
T3duUHRyPENvbnNvbGVNZXNzYWdlPiBjb25zb2xlCiAKICAgICBpZiAobV9wcmV2aW91c01lc3Nh
Z2UgJiYgbV9wcmV2aW91c01lc3NhZ2UtPmlzRXF1YWwoY29uc29sZU1lc3NhZ2UuZ2V0KCkpKSB7
CiAgICAgICAgIG1fcHJldmlvdXNNZXNzYWdlLT5pbmNyZW1lbnRDb3VudCgpOwotICAgICAgICBp
ZiAobV9pbnNwZWN0b3JBZ2VudC0+c3RhdGUoKS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0
ZTo6Y29uc29sZU1lc3NhZ2VzRW5hYmxlZCkgJiYgbV9mcm9udGVuZCkKKyAgICAgICAgaWYgKG1f
aW5zcGVjdG9yU3RhdGUtPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6OmNvbnNvbGVNZXNz
YWdlc0VuYWJsZWQpICYmIG1fZnJvbnRlbmQpCiAgICAgICAgICAgICBtX3ByZXZpb3VzTWVzc2Fn
ZS0+dXBkYXRlUmVwZWF0Q291bnRJbkNvbnNvbGUobV9mcm9udGVuZCk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UgPSBjb25zb2xlTWVzc2FnZS5nZXQoKTsKICAgICAg
ICAgbV9jb25zb2xlTWVzc2FnZXMuYXBwZW5kKGNvbnNvbGVNZXNzYWdlKTsKLSAgICAgICAgaWYg
KG1faW5zcGVjdG9yQWdlbnQtPnN0YXRlKCktPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6
OmNvbnNvbGVNZXNzYWdlc0VuYWJsZWQpICYmIG1fZnJvbnRlbmQpCi0gICAgICAgICAgICBtX3By
ZXZpb3VzTWVzc2FnZS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luc3BlY3RvckFnZW50
LT5pbmplY3RlZFNjcmlwdEhvc3QoKSk7CisgICAgICAgIGlmIChtX2luc3BlY3RvclN0YXRlLT5n
ZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpjb25zb2xlTWVzc2FnZXNFbmFibGVkKSAmJiBt
X2Zyb250ZW5kKQorICAgICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UtPmFkZFRvRnJvbnRlbmQo
bV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlwdEhvc3QpOwogICAgIH0KIAogICAgIGlmICghbV9m
cm9udGVuZCAmJiBtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkgPj0gbWF4aW11bUNvbnNvbGVNZXNz
YWdlcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oCmluZGV4IDEwZmZiMDIuLjU2NWY4N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTM4LDggKzM4LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29uc29sZU1lc3NhZ2U7CiBjbGFzcyBJbnNwZWN0b3JB
Z2VudDsKK2NsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7
CiBjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluamVjdGVkU2NyaXB0SG9zdDsKK2NsYXNz
IEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKQEAgLTQ5LDEzICs1MiwxNCBAQCBj
bGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdlbnQpOwogcHVibGljOgotICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JBZ2VudCopOworICAgIEluc3BlY3RvckNv
bnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQWdlbnQqLCBJbnNwZWN0
b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0SG9zdCosIEluc3BlY3RvckRPTUFnZW50Kik7CiAgICAg
fkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOwogCiAgICAgdm9pZCBzZXRDb25zb2xlTWVzc2FnZXNF
bmFibGVkKGJvb2wgZW5hYmxlZCwgYm9vbCogbmV3U3RhdGUpOwogICAgIHZvaWQgY2xlYXJDb25z
b2xlTWVzc2FnZXMoKTsKICAgICB2b2lkIHJlc2V0KCk7CiAgICAgdm9pZCBzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCopOworICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOwogCiAgICAgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwogICAgIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQp
OwpAQCAtNzcsNyArODEsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldENvbnNvbGVNZXNzYWdl
c0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShQYXNzT3duUHRyPENv
bnNvbGVNZXNzYWdlPik7CiAKKyAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBtX2luc3RydW1lbnRp
bmdBZ2VudHM7CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CisgICAgSW5z
cGVjdG9yU3RhdGUqIG1faW5zcGVjdG9yU3RhdGU7CisgICAgSW5qZWN0ZWRTY3JpcHRIb3N0KiBt
X2luamVjdGVkU2NyaXB0SG9zdDsKKyAgICBJbnNwZWN0b3JET01BZ2VudCogbV9pbnNwZWN0b3JE
T01BZ2VudDsKICAgICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICBDb25zb2xl
TWVzc2FnZSogbV9wcmV2aW91c01lc3NhZ2U7CiAgICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVz
c2FnZT4gPiBtX2NvbnNvbGVNZXNzYWdlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDZmNmM0NmEuLjFmNTI0YWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjEsNiArNjEs
NyBAQAogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKQEAgLTI0Miw5ICsyNDMsMTAg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpvblRpbWVyKFRpbWVyPFJldmFs
aWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s+KikKICAgICBtX2VsZW1lbnRzLmNsZWFyKCk7CiB9CiAK
LUluc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JET01BZ2VudChJbmplY3RlZFNjcmlwdEhvc3Qq
IGluamVjdGVkU2NyaXB0SG9zdCwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQotICAgIDog
bV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0KQotICAgICwgbV9mcm9udGVu
ZChmcm9udGVuZCkKK0luc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JET01BZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbmplY3RlZFNjcmlwdEhvc3QqIGlu
amVjdGVkU2NyaXB0SG9zdCkKKyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0cnVtZW50
aW5nQWdlbnRzKQorICAgICwgbV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0
KQorICAgICwgbV9mcm9udGVuZCgwKQogICAgICwgbV9kb21MaXN0ZW5lcigwKQogICAgICwgbV9s
YXN0Tm9kZUlkKDEpCiAgICAgLCBtX21hdGNoSm9ic1RpbWVyKHRoaXMsICZJbnNwZWN0b3JET01B
Z2VudDo6b25NYXRjaEpvYnNUaW1lcikKQEAgLTI1Niw2ICsyNTgsMjEgQEAgSW5zcGVjdG9yRE9N
QWdlbnQ6On5JbnNwZWN0b3JET01BZ2VudCgpCiAgICAgcmVzZXQoKTsKIH0KIAordm9pZCBJbnNw
ZWN0b3JET01BZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQor
eworICAgIEFTU0VSVCghbV9mcm9udGVuZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kOwor
ICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRE9NQWdlbnQodGhpcyk7Cit9
CisKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIEFTU0VS
VChtX2Zyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBtX2luc3RydW1lbnRpbmdB
Z2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOworICAgIHJlc2V0KCk7Cit9CisKIFZlY3Rv
cjxEb2N1bWVudCo+IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudHMoKQogewogICAgIFZlY3Rv
cjxEb2N1bWVudCo+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmgKaW5kZXggZmU4NzQzMy4uNTA2ZDhhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3MgRXZl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwog
Y2xhc3MgTWF0Y2hKb2I7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xhc3MgTmFtZU5v
ZGVNYXA7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKQEAgLTg1LDE0ICs4NiwxNiBAQCBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRNb2RpZnlET01BdHRyKEVsZW1lbnQqKSA9IDA7
CiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRPTUFnZW50PiBjcmVh
dGUoSW5qZWN0ZWRTY3JpcHRIb3N0KiBpbmplY3RlZFNjcmlwdEhvc3QsIEluc3BlY3RvckZyb250
ZW5kKiBmcm9udGVuZCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JET01BZ2VudD4g
Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluamVjdGVk
U2NyaXB0SG9zdCogaW5qZWN0ZWRTY3JpcHRIb3N0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBJbnNwZWN0b3JET01BZ2VudChpbmplY3RlZFNjcmlwdEhvc3QsIGZyb250ZW5k
KSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yRE9NQWdlbnQoaW5zdHJ1
bWVudGluZ0FnZW50cywgaW5qZWN0ZWRTY3JpcHRIb3N0KSk7CiAgICAgfQogCi0gICAgSW5zcGVj
dG9yRE9NQWdlbnQoSW5qZWN0ZWRTY3JpcHRIb3N0KiwgSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAg
ICB+SW5zcGVjdG9yRE9NQWdlbnQoKTsKIAorICAgIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9y
RnJvbnRlbmQqKTsKKyAgICB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKwogICAgIFZlY3RvcjxEb2N1
bWVudCo+IGRvY3VtZW50cygpOwogICAgIHZvaWQgcmVzZXQoKTsKIApAQCAtMTQ3LDYgKzE1MCw4
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1doaXRlc3BhY2UoTm9kZSopOwogCiBwcml2
YXRlOgorICAgIEluc3BlY3RvckRPTUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbmplY3Rl
ZFNjcmlwdEhvc3QqKTsKKwogICAgIC8vIE5vZGUtcmVsYXRlZCBtZXRob2RzLgogICAgIHR5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8Tm9kZT4sIGxvbmc+IE5vZGVUb0lkTWFwOwogICAgIGxvbmcgYmlu
ZChOb2RlKiwgTm9kZVRvSWRNYXAqKTsKQEAgLTE3Myw2ICsxNzgsNyBAQCBwcml2YXRlOgogCiAg
ICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHRGb3JOb2RlSWQobG9uZyBub2RlSWQpOwog
CisgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogbV9pbnN0cnVtZW50aW5nQWdlbnRzOwogICAgIElu
amVjdGVkU2NyaXB0SG9zdCogbV9pbmplY3RlZFNjcmlwdEhvc3Q7CiAgICAgSW5zcGVjdG9yRnJv
bnRlbmQqIG1fZnJvbnRlbmQ7CiAgICAgRE9NTGlzdGVuZXIqIG1fZG9tTGlzdGVuZXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>83158</attachid>
            <date>2011-02-21 06:22:00 -0800</date>
            <delta_ts>2011-02-21 06:22:00 -0800</delta_ts>
            <desc>Patch that I&apos;m going to land</desc>
            <filename>split-agents.patch</filename>
            <type>application/octet-stream</type>
            <size>33732</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NzFkMTQ0Li41OTBhZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMg
QEAKKzIwMTEtMDItMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogY3JlYXRlIGFuZCBkZXN0cm95IERPTSBhZ2VudCBhbG9uZyB3aXRoIEluc3BlY3RvckFn
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3
NQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oOiBBZGRlZC4gQWdlbnRzIHRo
YXQgd2FudCB0byBpbnN0cnVtZW50IFdlYkNvcmUgc2hvdWxkIHJlZ2lzdGVyIHRoZW1zZWx2ZQor
ICAgICAgICBvbiB0aGlzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVu
dGluZ0FnZW50czo6fkluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
dHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVj
dG9yQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6
OnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50
aW5nQWdlbnRzOjppbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVt
ZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JET01TdG9yYWdlQWdlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvckRhdGFi
YXNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5z
cGVjdG9yRGF0YWJhc2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjppbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JQcm9maWxlckFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvclJlc291
cmNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjppbnNwZWN0b3JSdW50aW1lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVu
dGluZ0FnZW50czo6c2V0SW5zcGVjdG9yUnVudGltZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvclN0b3JhZ2VBZ2VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JTdG9yYWdlQWdlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yVGltZWxpbmVB
Z2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0
b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckFnZW50OjpjcmVhdGVGcm9udGVuZExpZmV0aW1lQWdlbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpyZWxlYXNlRnJvbnRlbmRMaWZldGltZUFn
ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlkQ29tbWl0TG9hZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZG9tQ29udGVudExvYWRlZEV2ZW50
RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmxvYWRFdmVudEZpcmVk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q1NTQWdlbnQ6Okluc3BlY3RvckNTU0FnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNTU0FnZW50Ojp+SW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0
b3JDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50
Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNv
bnNvbGVBZ2VudDo6Y2xlYXJDb25zb2xlTWVzc2FnZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ29uc29sZUFnZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckNvbnNvbGVBZ2VudDo6cmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hI
UkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRD
b25zb2xlTWVzc2FnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNv
bGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOiBET00gYWdlbnQgbm93IGxpdmVzIGV2ZW4gd2hlbiB0aGUgZnJvbnQtZW5kIGlzIG5vdCBh
dHRhY2hlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JE
T01BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0RnJvbnRl
bmQpOiBBZGQgRE9NIGFnZW50IHRvIHRoZSBzZXQgb2YgYWN0aXZlIGFnZW50cyB3aGVuIHRoZSBm
cm9udC1lbmQKKyAgICAgICAgaXMgYXR0YWNoZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y3JlYXRl
KToKKwogMjAxMS0wMi0yMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDI1ZTdmODUuLjNiZWMzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDExLDYgKzIw
MTEsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VmFsdWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAzMzQ3
M2I0Li4wMzhmNGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDc1LDYgKzIwNzUsNyBAQAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJSZXNvdXJjZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVu
dGluZ0FnZW50cy5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5o
JywKICAgICAgICAgICAgICdpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCcsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOGEy
NTA0Yi4uMGY1MGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE4NzEsNiArMTg3MSw3IEBAIEhFQURF
UlMgKz0gXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdGF0ZS5oIFwKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvU2NyaXB0R0NFdmVudExpc3RlbmVyLmggXAogICAgIGluc3BlY3Rvci9UaW1lbGluZVJl
Y29yZEZhY3RvcnkuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggNTY5MTM0MS4uZmM4ZTIzYyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTY1NjIyLDYgKzY1NjIyLDEwIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBiY2M1ZDkwLi40MDkxNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NjM0LDYgKzU2MzQsNyBAQAogCQlGMzkyMjQ5RDEy
NkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5MjI0OUIxMjZGMTFBRTAwQTkyNkQ5
IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLzsgfTsKIAkJRjM5QkU5NUIxMjY3M0JGNDAw
RTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGMzlCRTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJn
dW1lbnRzLmNwcCAqLzsgfTsKIAkJRjM5QkU5NUMxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFy
Z3VtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjM5QkU5NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovOyB9OworCQlG
M0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURBMDAw
RTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCAqLzsgfTsKIAkJRjNENDYxNDgxMTYxRDUz
MjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9y
SGFuZGxlci5jcHAgKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9y
SGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggKi87IH07CiAJCUYz
RDRDNDc4MTJFMDc2NjMwMDNEQTE1MCAvKiBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0QzQ3
NjEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuY3BwICov
OyB9OwpAQCAtMTIwMTAsNiArMTIwMTEsNyBAQAogCQlGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkg
LyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM5QkU5NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNj
cmlwdEFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRB
cmd1bWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjNBQkZFMEIxMzBFOURB
MDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5zdHJ1bWVudGluZ0FnZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGM0Q0NjE0NjExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFcnJvckhhbmRsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyog
SlNFcnJvckhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFcnJv
ckhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENEM0NzYxMkUwNzY2
MzAwM0RBMTUwIC8qIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMDM5LDYgKzEzMDQxLDcgQEAK
IAkJCQk0RjMyODlCMzExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmNwcCAqLywK
IAkJCQk0RjMyODlCNDExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggKi8sCiAJ
CQkJRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNlLmgg
Ki8sCisJCQkJRjNBQkZFMEIxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMu
aCAqLywKIAkJCQkxQzgxQkEwNTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFt
ZS5pZGwgKi8sCiAJCQkJQkNDNjRGNUYwRENGQjg0RTAwODFFRjNCIC8qIGxvY2FsaXplZFN0cmlu
Z3MuanMgKi8sCiAJCQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50
cy5jcHAgKi8sCkBAIC0yMjQ3Nyw2ICsyMjQ4MCw3IEBACiAJCQkJQjhEQkRCNEMxMzBCMEY4QTAw
RjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI4REJE
QjRFMTMwQjBGOEEwMEY1Q0RCMSAvKiBTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEM0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGM0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyogSW5z
dHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50LmNwcAppbmRleCA2ZmVjNDNkLi45YjBhNGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKQEAgLTc1LDYgKzc1LDcgQEAK
ICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
VmFsdWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCIKKyNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKQEAgLTEzNyw3ICsxMzgsMTAg
QEAgSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNs
aWVudCogY2xpZW50KQogICAgIDogbV9pbnNwZWN0ZWRQYWdlKHBhZ2UpCiAgICAgLCBtX2NsaWVu
dChjbGllbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCi0gICAgLCBtX2Nzc0FnZW50KG5ldyBJbnNw
ZWN0b3JDU1NBZ2VudCgpKQorICAgICwgbV9pbnN0cnVtZW50aW5nQWdlbnRzKG5ldyBJbnN0cnVt
ZW50aW5nQWdlbnRzKCkpCisgICAgLCBtX2luamVjdGVkU2NyaXB0SG9zdChJbmplY3RlZFNjcmlw
dEhvc3Q6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fZG9tQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQ6
OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRIb3N0
LmdldCgpKSkKKyAgICAsIG1fY3NzQWdlbnQobmV3IEluc3BlY3RvckNTU0FnZW50KG1fZG9tQWdl
bnQuZ2V0KCkpKQogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICAsIG1fZGF0YWJhc2VBZ2VudFJl
c291cmNlcyhJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpjcmVhdGVTdG9yYWdlKCkpCiAjZW5kaWYK
QEAgLTE0NSw4ICsxNDksNyBAQCBJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoUGFnZSog
cGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2RvbVN0b3JhZ2VBZ2VudFJl
c291cmNlcyhJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZVN0b3JhZ2UoKSkKICNlbmRp
ZgogICAgICwgbV9zdGF0ZShuZXcgSW5zcGVjdG9yU3RhdGUoY2xpZW50KSkKLSAgICAsIG1faW5q
ZWN0ZWRTY3JpcHRIb3N0KEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKHRoaXMpKQotICAgICwg
bV9jb25zb2xlQWdlbnQobmV3IEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlzKSkKKyAgICAsIG1f
Y29uc29sZUFnZW50KG5ldyBJbnNwZWN0b3JDb25zb2xlQWdlbnQobV9pbnN0cnVtZW50aW5nQWdl
bnRzLmdldCgpLCB0aGlzLCBtX3N0YXRlLmdldCgpLCBtX2luamVjdGVkU2NyaXB0SG9zdC5nZXQo
KSwgbV9kb21BZ2VudC5nZXQoKSkpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAg
ICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKHRoaXMp
KQogI2VuZGlmCkBAIC0zMzgsNyArMzQxLDcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6c2V0RnJv
bnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGluc3BlY3RvckZyb250ZW5kKQogICAgIG1fZnJvbnRl
bmQgPSBpbnNwZWN0b3JGcm9udGVuZDsKICAgICBjcmVhdGVGcm9udGVuZExpZmV0aW1lQWdlbnRz
KCk7CiAKLSAgICBtX2Nzc0FnZW50LT5zZXRET01BZ2VudChtX2RvbUFnZW50LmdldCgpKTsKKyAg
ICBtX2RvbUFnZW50LT5zZXRGcm9udGVuZChtX2Zyb250ZW5kKTsKICAgICBtX2NvbnNvbGVBZ2Vu
dC0+c2V0RnJvbnRlbmQobV9mcm9udGVuZCk7CiAKICAgICAvLyBJbml0aWFsaXplIFdlYiBJbnNw
ZWN0b3IgdGl0bGUuCkBAIC0zNzEsNyArMzc0LDggQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlz
Y29ubmVjdEZyb250ZW5kKCkKICAgICBtX3Byb2ZpbGVyQWdlbnQtPnN0b3BVc2VySW5pdGlhdGVk
UHJvZmlsaW5nKHRydWUpOwogI2VuZGlmCiAKLSAgICBtX2NvbnNvbGVBZ2VudC0+c2V0RnJvbnRl
bmQoMCk7CisgICAgbV9jb25zb2xlQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKKyAgICBtX2RvbUFn
ZW50LT5jbGVhckZyb250ZW5kKCk7CiAKICAgICByZWxlYXNlRnJvbnRlbmRMaWZldGltZUFnZW50
cygpOwogICAgIG1fdXNlckFnZW50T3ZlcnJpZGUgPSAiIjsKQEAgLTM4Niw3ICszOTAsNiBAQCBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50KiBJbnNwZWN0b3JBZ2VudDo6cmVzb3VyY2VBZ2VudCgpCiAK
IHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmNyZWF0ZUZyb250ZW5kTGlmZXRpbWVBZ2VudHMoKQogewot
ICAgIG1fZG9tQWdlbnQgPSBJbnNwZWN0b3JET01BZ2VudDo6Y3JlYXRlKG1faW5qZWN0ZWRTY3Jp
cHRIb3N0LmdldCgpLCBtX2Zyb250ZW5kKTsKICAgICBtX3J1bnRpbWVBZ2VudCA9IEluc3BlY3Rv
clJ1bnRpbWVBZ2VudDo6Y3JlYXRlKG1faW5qZWN0ZWRTY3JpcHRIb3N0LmdldCgpKTsKIAogI2lm
IEVOQUJMRShEQVRBQkFTRSkKQEAgLTQxOSwxMCArNDIyLDYgQEAgdm9pZCBJbnNwZWN0b3JBZ2Vu
dDo6cmVsZWFzZUZyb250ZW5kTGlmZXRpbWVBZ2VudHMoKQogI2lmIEVOQUJMRShPRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpCiAgICAgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQuY2xlYXIoKTsKICNl
bmRpZgotCi0gICAgLy8gVGhpcyBzaG91bGQgYmUgaW52b2tlZCBwcmlvciB0byBtX2RvbUFnZW50
IGRlc3RydWN0aW9uLgotICAgIG1fY3NzQWdlbnQtPnNldERPTUFnZW50KDApOwotICAgIG1fZG9t
QWdlbnQuY2xlYXIoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6cG9wdWxhdGVTY3JpcHRP
YmplY3RzKCkKQEAgLTU0Myw4ICs1NDIsOCBAQCB2b2lkIEluc3BlY3RvckFnZW50OjpkaWRDb21t
aXRMb2FkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDo6Y2xlYXIodGhpcyk7CiAjZW5kaWYKIAotICAgICAgICBpZiAobV9mcm9udGVuZCkK
LSAgICAgICAgICAgIG1fZG9tQWdlbnQtPnNldERvY3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFp
bkZyYW1lKCktPmRvY3VtZW50KCkpOworICAgICAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRv
bUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JET01BZ2VudCgpKQorICAg
ICAgICAgICAgZG9tQWdlbnQtPnNldERvY3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1l
KCktPmRvY3VtZW50KCkpOwogICAgIH0KIH0KIApAQCAtNTUzLDggKzU1Miw4IEBAIHZvaWQgSW5z
cGVjdG9yQWdlbnQ6OmRvbUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKERvY3VtZW50TG9hZGVyKiBs
b2FkZXIsIGNvbnN0IEtVCiAgICAgaWYgKCFlbmFibGVkKCkgfHwgIWlzTWFpblJlc291cmNlTG9h
ZGVyKGxvYWRlciwgdXJsKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fZG9tQWdlbnQp
Ci0gICAgICAgIG1fZG9tQWdlbnQtPm1haW5GcmFtZURPTUNvbnRlbnRMb2FkZWQoKTsKKyAgICBp
ZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICBkb21BZ2VudC0+bWFpbkZyYW1lRE9NQ29udGVu
dExvYWRlZCgpOwogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCiAgICAgICAgIG1fdGltZWxpbmVB
Z2VudC0+ZGlkTWFya0RPTUNvbnRlbnRFdmVudCgpOwogICAgIGlmIChtX2Zyb250ZW5kKQpAQCAt
NTY2LDggKzU2NSw4IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmxvYWRFdmVudEZpcmVkKERvY3Vt
ZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IEtVUkwmIHVybCkKICAgICBpZiAoIWVuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fZG9tQWdlbnQpCi0gICAgICAgIG1fZG9tQWdl
bnQtPmxvYWRFdmVudEZpcmVkKGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKSk7CisgICAgaWYg
KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5z
cGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9tQWdlbnQtPmxvYWRFdmVudEZpcmVkKGxvYWRl
ci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKSk7CiAKICAgICBpZiAoIWlzTWFpblJlc291cmNlTG9hZGVy
KGxvYWRlciwgdXJsKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnQuaAppbmRleCA0NjFhZmJhLi44Zjk0ZjAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaApAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBJbnNw
ZWN0b3JTdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZTsKK2NsYXNzIElu
c3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgS1VSTDsKIGNsYXNzIE5v
ZGU7CkBAIC0yNzMsOCArMjc0LDEwIEBAIHByaXZhdGU6CiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQ
YWdlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiAgICAgSW5zcGVjdG9yRnJvbnRl
bmQqIG1fZnJvbnRlbmQ7Ci0gICAgT3duUHRyPEluc3BlY3RvckNTU0FnZW50PiBtX2Nzc0FnZW50
OworICAgIE93blB0cjxJbnN0cnVtZW50aW5nQWdlbnRzPiBtX2luc3RydW1lbnRpbmdBZ2VudHM7
CisgICAgUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4gbV9pbmplY3RlZFNjcmlwdEhvc3Q7CiAg
ICAgT3duUHRyPEluc3BlY3RvckRPTUFnZW50PiBtX2RvbUFnZW50OworICAgIE93blB0cjxJbnNw
ZWN0b3JDU1NBZ2VudD4gbV9jc3NBZ2VudDsKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICBP
d25QdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudD4gbV9kYXRhYmFzZUFnZW50OwpAQCAtMjk4LDcg
KzMwMSw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEluc3BlY3RvclJlc291cmNlQWdlbnQ+IG1f
cmVzb3VyY2VBZ2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yUnVudGltZUFnZW50PiBtX3J1bnRp
bWVBZ2VudDsKIAotICAgIFJlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+IG1faW5qZWN0ZWRTY3Jp
cHRIb3N0OwogICAgIE93blB0cjxJbnNwZWN0b3JDb25zb2xlQWdlbnQ+IG1fY29uc29sZUFnZW50
OwogCiAgICAgVmVjdG9yPHBhaXI8bG9uZywgU3RyaW5nPiA+IG1fcGVuZGluZ0V2YWx1YXRlVGVz
dENvbW1hbmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2Vu
dC5jcHAKaW5kZXggZjQ5Zjg5Yy4uMzNkNDg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAi
RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRE9NQWdlbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJOb2Rl
TGlzdC5oIgpAQCAtMTQzLDI4ICsxNDIsMjMgQEAgQ1NTU3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NB
Z2VudDo6YXNDU1NTdHlsZVJ1bGUoU3R5bGVCYXNlKiBzdHlsZUJhc2UpCiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KHJ1bGUpOwogfQogCi1JbnNwZWN0b3JDU1NBZ2VudDo6
SW5zcGVjdG9yQ1NTQWdlbnQoKQotICAgIDogbV9kb21BZ2VudCgwKQorSW5zcGVjdG9yQ1NTQWdl
bnQ6Okluc3BlY3RvckNTU0FnZW50KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKKyAgICA6
IG1fZG9tQWdlbnQoZG9tQWdlbnQpCiAgICAgLCBtX2xhc3RTdHlsZVNoZWV0SWQoMSkKICAgICAs
IG1fbGFzdFJ1bGVJZCgxKQogICAgICwgbV9sYXN0U3R5bGVJZCgxKQogeworICAgIG1fZG9tQWdl
bnQtPnNldERPTUxpc3RlbmVyKHRoaXMpOwogfQogCiBJbnNwZWN0b3JDU1NBZ2VudDo6fkluc3Bl
Y3RvckNTU0FnZW50KCkKIHsKKyAgICAvLyBET00gYWdlbnQgc2hvdWxkIGJlIGRlc3Ryb3llZCBh
ZnRlciBDU1MgYWdlbnQuCisgICAgbV9kb21BZ2VudC0+c2V0RE9NTGlzdGVuZXIoMCk7CisgICAg
bV9kb21BZ2VudCA9IDA7CiAgICAgcmVzZXQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDU1NBZ2Vu
dDo6c2V0RE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQotewotICAgIGlmICht
X2RvbUFnZW50KQotICAgICAgICBtX2RvbUFnZW50LT5zZXRET01MaXN0ZW5lcigwKTsKLSAgICBt
X2RvbUFnZW50ID0gZG9tQWdlbnQ7Ci0gICAgaWYgKG1fZG9tQWdlbnQpCi0gICAgICAgIG1fZG9t
QWdlbnQtPnNldERPTUxpc3RlbmVyKHRoaXMpOwotfQotCiB2b2lkIEluc3BlY3RvckNTU0FnZW50
OjpyZXNldCgpCiB7CiAgICAgbV9pZFRvSW5zcGVjdG9yU3R5bGVTaGVldC5jbGVhcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaAppbmRleCAxMmIzZjli
Li4zZjFlZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdl
bnQuaApAQCAtNTUsMTEgKzU1LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBDU1NTdHlsZVNoZWV0
KiBwYXJlbnRTdHlsZVNoZWV0KFN0eWxlQmFzZSopOwogICAgIHN0YXRpYyBDU1NTdHlsZVJ1bGUq
IGFzQ1NTU3R5bGVSdWxlKFN0eWxlQmFzZSopOwogCi0gICAgSW5zcGVjdG9yQ1NTQWdlbnQoKTsK
KyAgICBleHBsaWNpdCBJbnNwZWN0b3JDU1NBZ2VudChJbnNwZWN0b3JET01BZ2VudCopOwogICAg
IH5JbnNwZWN0b3JDU1NBZ2VudCgpOwogCi0gICAgdm9pZCBzZXRET01BZ2VudChJbnNwZWN0b3JE
T01BZ2VudCogZG9tQWdlbnQpOwotCiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgZ2V0U3R5
bGVzRm9yTm9kZShsb25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3RvclZhbHVlPiogcmVzdWx0KTsK
ICAgICB2b2lkIGdldElubGluZVN0eWxlRm9yTm9kZShsb25nIG5vZGVJZCwgUmVmUHRyPEluc3Bl
Y3RvclZhbHVlPiogc3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCA3ZDExYTdhLi40MmFkMjMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5j
bHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVkZSAi
SW5qZWN0ZWRTY3JpcHRIb3N0LmgiCkBAIC01NCwxNyArNTUsMjcgQEAgc3RhdGljIGNvbnN0IGNo
YXIgbW9uaXRvcmluZ1hIUltdID0gIm1vbml0b3JpbmdYSFIiOwogc3RhdGljIGNvbnN0IGNoYXIg
Y29uc29sZU1lc3NhZ2VzRW5hYmxlZFtdID0gImNvbnNvbGVNZXNzYWdlc0VuYWJsZWQiOwogfQog
Ci1JbnNwZWN0b3JDb25zb2xlQWdlbnQ6Okluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JB
Z2VudCogaW5zcGVjdG9yQWdlbnQpCi0gICAgOiBtX2luc3BlY3RvckFnZW50KGluc3BlY3RvckFn
ZW50KQorSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yQWdlbnQqIGluc3Bl
Y3RvckFnZW50LCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0SG9zdCogaW5q
ZWN0ZWRTY3JpcHRIb3N0LCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQpCisgICAgOiBtX2lu
c3RydW1lbnRpbmdBZ2VudHMoaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICAsIG1faW5zcGVjdG9y
QWdlbnQoaW5zcGVjdG9yQWdlbnQpCisgICAgLCBtX2luc3BlY3RvclN0YXRlKHN0YXRlKQorICAg
ICwgbV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0KQorICAgICwgbV9pbnNw
ZWN0b3JET01BZ2VudChkb21BZ2VudCkKICAgICAsIG1fZnJvbnRlbmQoMCkKICAgICAsIG1fcHJl
dmlvdXNNZXNzYWdlKDApCiAgICAgLCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KDApCiB7
CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JDb25zb2xlQWdlbnQodGhp
cyk7CiB9CiAKIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVBZ2VudCgp
CiB7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JDb25zb2xlQWdlbnQo
MCk7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzID0gMDsKICAgICBtX2luc3BlY3RvckFnZW50
ID0gMDsKKyAgICBtX2luc3BlY3RvclN0YXRlID0gMDsKKyAgICBtX2luamVjdGVkU2NyaXB0SG9z
dCA9IDA7CisgICAgbV9pbnNwZWN0b3JET01BZ2VudCA9IDA7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjpzZXRDb25zb2xlTWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgYm9v
bCogbmV3U3RhdGUpCkBAIC03OCw3ICs4OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjpjbGVhckNvbnNvbGVNZXNzYWdlcygpCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsK
ICAgICBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVz
c2FnZSA9IDA7Ci0gICAgbV9pbnNwZWN0b3JBZ2VudC0+aW5qZWN0ZWRTY3JpcHRIb3N0KCktPnJl
bGVhc2VXcmFwcGVyT2JqZWN0R3JvdXAoMCAvKiByZWxlYXNlIHRoZSBncm91cCBpbiBhbGwgc2Ny
aXB0cyAqLywgImNvbnNvbGUiKTsKKyAgICBtX2luamVjdGVkU2NyaXB0SG9zdC0+cmVsZWFzZVdy
YXBwZXJPYmplY3RHcm91cCgwIC8qIHJlbGVhc2UgdGhlIGdyb3VwIGluIGFsbCBzY3JpcHRzICov
LCAiY29uc29sZSIpOwogICAgIGlmIChJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQgPSBtX2lu
c3BlY3RvckFnZW50LT5kb21BZ2VudCgpKQogICAgICAgICBkb21BZ2VudC0+cmVsZWFzZURhbmds
aW5nTm9kZXMoKTsKICAgICBpZiAobV9mcm9udGVuZCkKQEAgLTk3LDYgKzEwOCwxMSBAQCB2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKQogICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZDsKIH0KIAordm9pZCBJbnNwZWN0b3JD
b25zb2xlQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOworfQor
CiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7CiAgICAgaWYgKCFtX2lu
c3BlY3RvckFnZW50LT5lbmFibGVkKCkpCkBAIC0xNjksNyArMTg1LDcgQEAgdm9pZCBJbnNwZWN0
b3JDb25zb2xlQWdlbnQ6OnJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdChjb25zdCBT
dHJpbmcmIHVybCwKIHsKICAgICBpZiAoIW1faW5zcGVjdG9yQWdlbnQtPmVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGlmIChtX2luc3BlY3RvckFnZW50LT5zdGF0ZSgpLT5nZXRCb29s
ZWFuKENvbnNvbGVBZ2VudFN0YXRlOjptb25pdG9yaW5nWEhSKSkKKyAgICBpZiAobV9pbnNwZWN0
b3JTdGF0ZS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6bW9uaXRvcmluZ1hIUikpCiAg
ICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgTG9nTWVzc2FnZUxldmVsLCAiWEhSIGZpbmlzaGVkIGxvYWRpbmc6IFwiIiArIHVybCArICJc
Ii4iLCBzZW5kTGluZU51bWJlciwgc2VuZFVSTCk7CiB9CiAKQEAgLTE5NywxMiArMjEzLDEyIEBA
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpz
ZXRNb25pdG9yaW5nWEhSRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgbV9pbnNwZWN0b3JB
Z2VudC0+c3RhdGUoKS0+c2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6bW9uaXRvcmluZ1hI
UiwgZW5hYmxlZCk7CisgICAgbV9pbnNwZWN0b3JTdGF0ZS0+c2V0Qm9vbGVhbihDb25zb2xlQWdl
bnRTdGF0ZTo6bW9uaXRvcmluZ1hIUiwgZW5hYmxlZCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29u
c29sZUFnZW50OjpzZXRDb25zb2xlTWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAg
ICBtX2luc3BlY3RvckFnZW50LT5zdGF0ZSgpLT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRl
Ojpjb25zb2xlTWVzc2FnZXNFbmFibGVkLCBlbmFibGVkKTsKKyAgICBtX2luc3BlY3RvclN0YXRl
LT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpjb25zb2xlTWVzc2FnZXNFbmFibGVkLCBl
bmFibGVkKTsKICAgICBpZiAoIWVuYWJsZWQgfHwgIW1fZnJvbnRlbmQpCiAgICAgICAgIHJldHVy
bjsKIApAQCAtMjEwLDcgKzIyNiw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRD
b25zb2xlTWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAgbV9mcm9udGVuZC0+
dXBkYXRlQ29uc29sZU1lc3NhZ2VFeHBpcmVkQ291bnQobV9leHBpcmVkQ29uc29sZU1lc3NhZ2VD
b3VudCk7CiAgICAgdW5zaWduZWQgbWVzc2FnZUNvdW50ID0gbV9jb25zb2xlTWVzc2FnZXMuc2l6
ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7ICsraSkKLSAg
ICAgICAgbV9jb25zb2xlTWVzc2FnZXNbaV0tPmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZCwgbV9p
bnNwZWN0b3JBZ2VudC0+aW5qZWN0ZWRTY3JpcHRIb3N0KCkpOworICAgICAgICBtX2NvbnNvbGVN
ZXNzYWdlc1tpXS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0SG9z
dCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRDb25zb2xlTWVzc2FnZShQ
YXNzT3duUHRyPENvbnNvbGVNZXNzYWdlPiBjb25zb2xlTWVzc2FnZSkKQEAgLTIyMCwxMyArMjM2
LDEzIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRDb25zb2xlTWVzc2FnZShQYXNz
T3duUHRyPENvbnNvbGVNZXNzYWdlPiBjb25zb2xlCiAKICAgICBpZiAobV9wcmV2aW91c01lc3Nh
Z2UgJiYgbV9wcmV2aW91c01lc3NhZ2UtPmlzRXF1YWwoY29uc29sZU1lc3NhZ2UuZ2V0KCkpKSB7
CiAgICAgICAgIG1fcHJldmlvdXNNZXNzYWdlLT5pbmNyZW1lbnRDb3VudCgpOwotICAgICAgICBp
ZiAobV9pbnNwZWN0b3JBZ2VudC0+c3RhdGUoKS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0
ZTo6Y29uc29sZU1lc3NhZ2VzRW5hYmxlZCkgJiYgbV9mcm9udGVuZCkKKyAgICAgICAgaWYgKG1f
aW5zcGVjdG9yU3RhdGUtPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6OmNvbnNvbGVNZXNz
YWdlc0VuYWJsZWQpICYmIG1fZnJvbnRlbmQpCiAgICAgICAgICAgICBtX3ByZXZpb3VzTWVzc2Fn
ZS0+dXBkYXRlUmVwZWF0Q291bnRJbkNvbnNvbGUobV9mcm9udGVuZCk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UgPSBjb25zb2xlTWVzc2FnZS5nZXQoKTsKICAgICAg
ICAgbV9jb25zb2xlTWVzc2FnZXMuYXBwZW5kKGNvbnNvbGVNZXNzYWdlKTsKLSAgICAgICAgaWYg
KG1faW5zcGVjdG9yQWdlbnQtPnN0YXRlKCktPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6
OmNvbnNvbGVNZXNzYWdlc0VuYWJsZWQpICYmIG1fZnJvbnRlbmQpCi0gICAgICAgICAgICBtX3By
ZXZpb3VzTWVzc2FnZS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luc3BlY3RvckFnZW50
LT5pbmplY3RlZFNjcmlwdEhvc3QoKSk7CisgICAgICAgIGlmIChtX2luc3BlY3RvclN0YXRlLT5n
ZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpjb25zb2xlTWVzc2FnZXNFbmFibGVkKSAmJiBt
X2Zyb250ZW5kKQorICAgICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UtPmFkZFRvRnJvbnRlbmQo
bV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlwdEhvc3QpOwogICAgIH0KIAogICAgIGlmICghbV9m
cm9udGVuZCAmJiBtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkgPj0gbWF4aW11bUNvbnNvbGVNZXNz
YWdlcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oCmluZGV4IDEwZmZiMDIuLjU2NWY4N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTM4LDggKzM4LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29uc29sZU1lc3NhZ2U7CiBjbGFzcyBJbnNwZWN0b3JB
Z2VudDsKK2NsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7
CiBjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluamVjdGVkU2NyaXB0SG9zdDsKK2NsYXNz
IEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKQEAgLTQ5LDEzICs1MiwxNCBAQCBj
bGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdlbnQpOwogcHVibGljOgotICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JBZ2VudCopOworICAgIEluc3BlY3RvckNv
bnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQWdlbnQqLCBJbnNwZWN0
b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0SG9zdCosIEluc3BlY3RvckRPTUFnZW50Kik7CiAgICAg
fkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOwogCiAgICAgdm9pZCBzZXRDb25zb2xlTWVzc2FnZXNF
bmFibGVkKGJvb2wgZW5hYmxlZCwgYm9vbCogbmV3U3RhdGUpOwogICAgIHZvaWQgY2xlYXJDb25z
b2xlTWVzc2FnZXMoKTsKICAgICB2b2lkIHJlc2V0KCk7CiAgICAgdm9pZCBzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCopOworICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOwogCiAgICAgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwogICAgIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQp
OwpAQCAtNzcsNyArODEsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldENvbnNvbGVNZXNzYWdl
c0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShQYXNzT3duUHRyPENv
bnNvbGVNZXNzYWdlPik7CiAKKyAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBtX2luc3RydW1lbnRp
bmdBZ2VudHM7CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CisgICAgSW5z
cGVjdG9yU3RhdGUqIG1faW5zcGVjdG9yU3RhdGU7CisgICAgSW5qZWN0ZWRTY3JpcHRIb3N0KiBt
X2luamVjdGVkU2NyaXB0SG9zdDsKKyAgICBJbnNwZWN0b3JET01BZ2VudCogbV9pbnNwZWN0b3JE
T01BZ2VudDsKICAgICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICBDb25zb2xl
TWVzc2FnZSogbV9wcmV2aW91c01lc3NhZ2U7CiAgICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVz
c2FnZT4gPiBtX2NvbnNvbGVNZXNzYWdlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDZmNmM0NmEuLjFmNTI0YWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjEsNiArNjEs
NyBAQAogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKQEAgLTI0Miw5ICsyNDMsMTAg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpvblRpbWVyKFRpbWVyPFJldmFs
aWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s+KikKICAgICBtX2VsZW1lbnRzLmNsZWFyKCk7CiB9CiAK
LUluc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JET01BZ2VudChJbmplY3RlZFNjcmlwdEhvc3Qq
IGluamVjdGVkU2NyaXB0SG9zdCwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQotICAgIDog
bV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0KQotICAgICwgbV9mcm9udGVu
ZChmcm9udGVuZCkKK0luc3BlY3RvckRPTUFnZW50OjpJbnNwZWN0b3JET01BZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbmplY3RlZFNjcmlwdEhvc3QqIGlu
amVjdGVkU2NyaXB0SG9zdCkKKyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0cnVtZW50
aW5nQWdlbnRzKQorICAgICwgbV9pbmplY3RlZFNjcmlwdEhvc3QoaW5qZWN0ZWRTY3JpcHRIb3N0
KQorICAgICwgbV9mcm9udGVuZCgwKQogICAgICwgbV9kb21MaXN0ZW5lcigwKQogICAgICwgbV9s
YXN0Tm9kZUlkKDEpCiAgICAgLCBtX21hdGNoSm9ic1RpbWVyKHRoaXMsICZJbnNwZWN0b3JET01B
Z2VudDo6b25NYXRjaEpvYnNUaW1lcikKQEAgLTI1Niw2ICsyNTgsMjEgQEAgSW5zcGVjdG9yRE9N
QWdlbnQ6On5JbnNwZWN0b3JET01BZ2VudCgpCiAgICAgcmVzZXQoKTsKIH0KIAordm9pZCBJbnNw
ZWN0b3JET01BZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQor
eworICAgIEFTU0VSVCghbV9mcm9udGVuZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kOwor
ICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRE9NQWdlbnQodGhpcyk7Cit9
CisKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIEFTU0VS
VChtX2Zyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBtX2luc3RydW1lbnRpbmdB
Z2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOworICAgIHJlc2V0KCk7Cit9CisKIFZlY3Rv
cjxEb2N1bWVudCo+IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudHMoKQogewogICAgIFZlY3Rv
cjxEb2N1bWVudCo+IHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmgKaW5kZXggZmU4NzQzMy4uNTA2ZDhhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3MgRXZl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwog
Y2xhc3MgTWF0Y2hKb2I7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xhc3MgTmFtZU5v
ZGVNYXA7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKQEAgLTg1LDE0ICs4NiwxNiBAQCBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRNb2RpZnlET01BdHRyKEVsZW1lbnQqKSA9IDA7
CiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRPTUFnZW50PiBjcmVh
dGUoSW5qZWN0ZWRTY3JpcHRIb3N0KiBpbmplY3RlZFNjcmlwdEhvc3QsIEluc3BlY3RvckZyb250
ZW5kKiBmcm9udGVuZCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JET01BZ2VudD4g
Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluamVjdGVk
U2NyaXB0SG9zdCogaW5qZWN0ZWRTY3JpcHRIb3N0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBJbnNwZWN0b3JET01BZ2VudChpbmplY3RlZFNjcmlwdEhvc3QsIGZyb250ZW5k
KSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yRE9NQWdlbnQoaW5zdHJ1
bWVudGluZ0FnZW50cywgaW5qZWN0ZWRTY3JpcHRIb3N0KSk7CiAgICAgfQogCi0gICAgSW5zcGVj
dG9yRE9NQWdlbnQoSW5qZWN0ZWRTY3JpcHRIb3N0KiwgSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAg
ICB+SW5zcGVjdG9yRE9NQWdlbnQoKTsKIAorICAgIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9y
RnJvbnRlbmQqKTsKKyAgICB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKwogICAgIFZlY3RvcjxEb2N1
bWVudCo+IGRvY3VtZW50cygpOwogICAgIHZvaWQgcmVzZXQoKTsKIApAQCAtMTQ3LDYgKzE1MCw4
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1doaXRlc3BhY2UoTm9kZSopOwogCiBwcml2
YXRlOgorICAgIEluc3BlY3RvckRPTUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbmplY3Rl
ZFNjcmlwdEhvc3QqKTsKKwogICAgIC8vIE5vZGUtcmVsYXRlZCBtZXRob2RzLgogICAgIHR5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8Tm9kZT4sIGxvbmc+IE5vZGVUb0lkTWFwOwogICAgIGxvbmcgYmlu
ZChOb2RlKiwgTm9kZVRvSWRNYXAqKTsKQEAgLTE3Myw2ICsxNzgsNyBAQCBwcml2YXRlOgogCiAg
ICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHRGb3JOb2RlSWQobG9uZyBub2RlSWQpOwog
CisgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogbV9pbnN0cnVtZW50aW5nQWdlbnRzOwogICAgIElu
amVjdGVkU2NyaXB0SG9zdCogbV9pbmplY3RlZFNjcmlwdEhvc3Q7CiAgICAgSW5zcGVjdG9yRnJv
bnRlbmQqIG1fZnJvbnRlbmQ7CiAgICAgRE9NTGlzdGVuZXIqIG1fZG9tTGlzdGVuZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzUwMDFlCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtMCwwICsxLDEx
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSW5zdHJ1bWVudGluZ0FnZW50c19oCisjZGVmaW5lIEluc3RydW1lbnRpbmdB
Z2VudHNfaAorCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KKyNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnNwZWN0b3JC
cm93c2VyRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKK2NsYXNz
IEluc3BlY3RvckRPTUFnZW50OworY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OworY2xh
c3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKK2NsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7
CitjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OworY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudDsKK2NsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKK2NsYXNzIEluc3BlY3RvclN0b3Jh
Z2VBZ2VudDsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CisKK2NsYXNzIEluc3RydW1l
bnRpbmdBZ2VudHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3RydW1lbnRpbmdBZ2Vu
dHMpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEluc3RydW1l
bnRpbmdBZ2VudHMoKQorICAgICAgICA6IG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQo
MCkKKyAgICAgICAgLCBtX2luc3BlY3RvckNvbnNvbGVBZ2VudCgwKQorICAgICAgICAsIG1faW5z
cGVjdG9yRE9NQWdlbnQoMCkKKyAgICAgICAgLCBtX2luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgw
KQorICAgICAgICAsIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgwKQorICAgICAgICAsIG1faW5z
cGVjdG9yRGVidWdnZXJBZ2VudCgwKQorICAgICAgICAsIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dCgwKQorICAgICAgICAsIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgwKQorICAgICAgICAsIG1f
aW5zcGVjdG9yUnVudGltZUFnZW50KDApCisgICAgICAgICwgbV9pbnNwZWN0b3JTdG9yYWdlQWdl
bnQoMCkKKyAgICAgICAgLCBtX2luc3BlY3RvclRpbWVsaW5lQWdlbnQoMCkKKyAgICB7IH0KKyAg
ICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQorCisgICAgSW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQqIGluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KCkgY29uc3QgeyByZXR1cm4g
bV9pbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9y
QnJvd3NlckRlYnVnZ2VyQWdlbnQoSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQqIGFnZW50
KSB7IG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBpbnNwZWN0b3JDb25zb2xlQWdlbnQoKSBjb25zdCB7IHJldHVy
biBtX2luc3BlY3RvckNvbnNvbGVBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yQ29uc29s
ZUFnZW50KEluc3BlY3RvckNvbnNvbGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JDb25zb2xl
QWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIGluc3BlY3RvckRPTUFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JET01BZ2VudDsgfQorICAgIHZvaWQgc2V0
SW5zcGVjdG9yRE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9y
RE9NQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBpbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01TdG9yYWdlQWdlbnQgPSBh
Z2VudDsgfQorCisgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogaW5zcGVjdG9yRGF0YWJhc2VB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsgfQorICAgIHZv
aWQgc2V0SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBhZ2Vu
dCkgeyBtX2luc3BlY3RvckRhdGFiYXNlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9y
RGVidWdnZXJBZ2VudCogaW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5zcGVjdG9yRGVidWdnZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yRGVidWdnZXJB
Z2VudChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsg
fQorICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQorCisgICAg
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpIGNvbnN0IHsg
cmV0dXJuIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9y
UmVzb3VyY2VBZ2VudChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3Rv
clJlc291cmNlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBp
bnNwZWN0b3JSdW50aW1lQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclJ1bnRpbWVB
Z2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yUnVudGltZUFnZW50KEluc3BlY3RvclJ1bnRp
bWVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JSdW50aW1lQWdlbnQgPSBhZ2VudDsgfQorCisg
ICAgSW5zcGVjdG9yU3RvcmFnZUFnZW50KiBpbnNwZWN0b3JTdG9yYWdlQWdlbnQoKSBjb25zdCB7
IHJldHVybiBtX2luc3BlY3RvclN0b3JhZ2VBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9y
U3RvcmFnZUFnZW50KEluc3BlY3RvclN0b3JhZ2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JT
dG9yYWdlQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5z
cGVjdG9yVGltZWxpbmVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yVGltZWxpbmVB
Z2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JUaW1l
bGluZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclRpbWVsaW5lQWdlbnQgPSBhZ2VudDsgfQor
Citwcml2YXRlOgorICAgIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBtX2luc3BlY3Rv
ckJyb3dzZXJEZWJ1Z2dlckFnZW50OworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9pbnNw
ZWN0b3JDb25zb2xlQWdlbnQ7CisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1faW5zcGVjdG9yRE9N
QWdlbnQ7CisgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBtX2luc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDsKKyAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBtX2luc3BlY3RvckRhdGFiYXNl
QWdlbnQ7CisgICAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9pbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50OworICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dDsKKyAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBtX2luc3BlY3RvclJlc291cmNlQWdlbnQ7
CisgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBtX2luc3BlY3RvclJ1bnRpbWVBZ2VudDsKKyAg
ICBJbnNwZWN0b3JTdG9yYWdlQWdlbnQqIG1faW5zcGVjdG9yU3RvcmFnZUFnZW50OworICAgIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQqIG1faW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKK307CisKK30K
KworI2VuZGlmIC8vICFkZWZpbmVkKEluc3RydW1lbnRpbmdBZ2VudHNfaCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>