<?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>183582</bug_id>
          
          <creation_ts>2018-03-12 15:25:18 -0700</creation_ts>
          <short_desc>Add a WKWebViewContentProvider for system previews</short_desc>
          <delta_ts>2018-03-12 21:11:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1405931</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 15:25:18 -0700</bug_when>
    <thetext>Add a WKWebViewContentProvider for system previews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405934</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-12 15:26:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/38393569&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405939</commentid>
    <comment_count>2</comment_count>
      <attachid>335653</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 15:34:55 -0700</bug_when>
    <thetext>Created attachment 335653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405942</commentid>
    <comment_count>3</comment_count>
      <attachid>335653</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-03-12 15:38:27 -0700</bug_when>
    <thetext>Comment on attachment 335653
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:64
&gt; +#if PLATFORM(IOS) &amp;&amp; USE(QUICK_LOOK) &amp;&amp; USE(APPLE_INTERNAL_SDK)

At some point you might want to give up and add ENABLE(SYSTEM_PREVIEW_VIEW) or something</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405944</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 15:44:13 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #3)

&gt; At some point you might want to give up

Constantly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405945</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 15:44:45 -0700</bug_when>
    <thetext>Just need to fix the public bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405946</commentid>
    <comment_count>6</comment_count>
      <attachid>335655</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 15:48:36 -0700</bug_when>
    <thetext>Created attachment 335655
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406051</commentid>
    <comment_count>7</comment_count>
      <attachid>335675</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 20:08:29 -0700</bug_when>
    <thetext>Created attachment 335675
Patch 3 for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406059</commentid>
    <comment_count>8</comment_count>
      <attachid>335678</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 20:25:20 -0700</bug_when>
    <thetext>Created attachment 335678
Patch 4 for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406067</commentid>
    <comment_count>9</comment_count>
      <attachid>335680</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 20:38:17 -0700</bug_when>
    <thetext>Created attachment 335680
Patch 5 for EWS - damn you external sdk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406070</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-03-12 21:11:38 -0700</bug_when>
    <thetext>Committed r229573: &lt;https://trac.webkit.org/changeset/229573&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335653</attachid>
            <date>2018-03-12 15:34:55 -0700</date>
            <delta_ts>2018-03-12 15:38:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183582-20180313093452.patch</filename>
            <type>text/plain</type>
            <size>28268</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkYTA4YmEx
ZjAxYjU1MDk1N2Y1OTU5MmE1MjJkOTVmYzdlY2IwZjAyLi4xYzA3NGNhZDczOTY2NDJhM2VlMzM0
MzBlOGJmZDQ4NzcyZmNmOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOC0wMy0xMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGEgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyIGZvciBzeXN0ZW0gcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzU4MgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzgzOTM1Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUgUXVpY2tMb29rIFNQSS4KKworICAgICAgICAqIHBh
bC9zcGkvaW9zL1F1aWNrTG9va1NQSS5oOgorCiAyMDE4LTAzLTA3ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNvcnQgYW5kIHNlcGFyYXRlIEZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1YzY2OTBjMTUwMjgxN2ZlYzVjMjMzZDA3
NTk2NTJmNWIyOTcxZWEuLjU1ZDJlMTQ5MWUxZGNmNTM0MmEyMTlkYzgxMTEyY2JhMWRmZTUyZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTgtMDMtMTIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBm
b3Igc3lzdGVtIHByZXZpZXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODM1ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MzkzNTY5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBX
S1N5c3RlbVByZXZpZXdWaWV3LCB3aGljaCBjb25mb3JtcyB0byBXS1dlYlZpZXdDb250ZW50UHJv
dmlkZXIsIGluCisgICAgICAgIG9yZGVyIHRvIHZpZXcgY29udGVudCBhcyBhICJzeXN0ZW0gcHJl
dmlldyIuIFRoaXMgZWZmZWN0aXZlbHkgcmVwbGFjZXMgdGhlCisgICAgICAgIFN5c3RlbVByZXZp
ZXdDb250cm9sbGVyLCB3aGljaCB3aWxsIGJlIHJlbW92ZWQgc29vbi4KKworICAgICAgICBTb21l
IG9mIHRoZSByZXF1aXJlZCBtZXRob2RzIG9mIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBhcmUg
bm90IG5lY2Vzc2FyeSBvbgorICAgICAgICB0aGlzIGluc3RhbmNlLCBzbyBhIGZvbGxvdy11cCBw
YXRjaCB3aWxsIGNsZWFuIHRoZSBwcm90b2NvbCB1cCBhIGJpdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06IERvbid0IHRyaWdnZXIgYSBTeXN0ZW1QcmV2
aWV3IHdoZW4gZG93bmxvYWRpbmcuCisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6
TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKToKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkgaW5pdF0p
OiBSZWdpc3RlciB0aGUgV0tTeXN0ZW1QcmV2aWV3VmlldyBmb3IKKyAgICAgICAgTUlNRSB0eXBl
cyByZXRyaWV2ZWQgZnJvbSBXZWJLaXRBZGRpdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tOiBBZGRlZC4KKworICAgICAgICAoLVtXS1N5c3RlbVBy
ZXZpZXdWaWV3IHdlYl9pbml0V2l0aEZyYW1lOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLU3lz
dGVtUHJldmlld1ZpZXcgd2ViX3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5h
bWU6XSk6IFRoaXMgaXMgdGhlCisgICAgICAgIG1ldGhvZCB0aGF0IGFjdHVhbGx5IGNyZWF0ZXMg
YSBRdWlja0xvb2sgcHJldmlldyBhbmQgcHJvdmlkZXMgdGhlIGRhdGEuCisgICAgICAgICgtW1dL
U3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldE1pbmltdW1TaXplOl0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9zZXRPdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6Cisg
ICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlk
Q2hhbmdlXSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldEZpeGVkT3Zl
cmxheVZpZXc6XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2RpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb246XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2Vi
X2NvdW50U3RyaW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9maW5kU3RyaW5nOm9wdGlvbnM6bWF4Q291bnQ6XSk6CisgICAg
ICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2hpZGVGaW5kVUldKToKKworICAgICAgICAo
LVtXS1N5c3RlbVByZXZpZXdWaWV3IG51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3Q29udHJv
bGxlcjpdKTogUXVpY2tMb29rIGRlbGVnYXRlcy4KKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2aWV3
VmlldyBwcmV2aWV3Q29udHJvbGxlcjpwcmV2aWV3SXRlbUF0SW5kZXg6XSk6CisgICAgICAgICgt
W1dLU3lzdGVtUHJldmlld1ZpZXcgcHJvdmlkZURhdGFGb3JJdGVtOl0pOgorICAgICAgICAoLVtX
S1N5c3RlbVByZXZpZXdWaWV3IHByZXZpZXdDb250cm9sbGVyV2lsbERpc21pc3M6XSk6CisKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcy4K
KwogMjAxOC0wMy0xMiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSZW1vdmUgR3JpZExheW91dCBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaAppbmRleCBiNDljZWUxMzJiNzMzYzZl
MTg3Y2MxNzJmZGY5ZjJjYmMxNzNiYjg0Li4zZGY4NDhjODkxYjk2NDkzNjFmOTc2ODQ2OWE1ZmNj
Y2M1YjhmMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvUXVp
Y2tMb29rU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1F1aWNrTG9v
a1NQSS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQog
CisjaW1wb3J0IDxRdWlja0xvb2svUUxQcmV2aWV3SXRlbV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxR
dWlja0xvb2svUXVpY2tMb29rUHJpdmF0ZS5oPgogCiAjZWxzZQpAQCAtNDcsNiArNDgsMTQgQEAK
IEBwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNVUkxSZXNwb25zZSAqcHJldmlld1Jl
c3BvbnNlOwogQGVuZAogCitAaW50ZXJmYWNlIFFMSXRlbSA6IE5TT2JqZWN0CistIChpbnN0YW5j
ZXR5cGUpaW5pdFdpdGhEYXRhUHJvdmlkZXI6KGlkPFFMUHJldmlld0l0ZW1EYXRhUHJvdmlkZXI+
IF9Ob25udWxsKWRhdGEgY29udGVudFR5cGU6KE5TU3RyaW5nICpfTm9ubnVsbCljb250ZW50VHlw
ZSBwcmV2aWV3VGl0bGU6KE5TU3RyaW5nICpfTm9ubnVsbClwcmV2aWV3VGl0bGU7CitAZW5kCisK
K0Bwcm90b2NvbCBRTFByZXZpZXdJdGVtRGF0YVByb3ZpZGVyIDxOU09iamVjdD4KKy0gKE5TRGF0
YSAqKXByb3ZpZGVEYXRhRm9ySXRlbTooUUxJdGVtICopaXRlbTsKK0BlbmQKKwogI2lmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAogI2RlZmluZSBrUUxSZXR1cm5Q
YXNzd29yZFByb3RlY3RlZCAxIDw8IDIKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggOTc4YTEwMjhkOTA1NDk2YTAwOTU2
OTU3ODBmYmQ3YzhlYTgyMDU1Ny4uYzVlMzk0NTI0YzQ0ODI5NGMzOWZiZGIyNzAxYjM2Y2E4NTU2
MzAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlv
blN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbQpAQCAtNjM2LDcgKzYzNiw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0
aW9uQ2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UoV2ViUGFnCiAgICAg
UmVmUHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbG9jYWxMaXN0ZW5lciA9IFdURk1v
dmUobGlzdGVuZXIpOwogICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyPiBj
aGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKG5hdmlnYXRpb25E
ZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
blJlc3BvbnNlOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9u
UmVzcG9uc2U+IG5hdmlnYXRpb25SZXNwb25zZVJlZlB0cihuYXZpZ2F0aW9uUmVzcG9uc2UucHRy
KCkpOwotICAgIFtuYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5t
X3dlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlOndyYXBwZXIobmF2aWdh
dGlvblJlc3BvbnNlKSBkZWNpc2lvbkhhbmRsZXI6W2xvY2FsTGlzdGVuZXIsIGNoZWNrZXIsIG5h
dmlnYXRpb25SZXNwb25zZSA9IFdURk1vdmUobmF2aWdhdGlvblJlc3BvbnNlUmVmUHRyKSwgJnBh
Z2VdKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IHJlc3BvbnNlUG9saWN5KSB7CisgICAgW25h
dmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6d3JhcHBlcihuYXZpZ2F0aW9uUmVzcG9uc2Up
IGRlY2lzaW9uSGFuZGxlcjpbbG9jYWxMaXN0ZW5lciwgY2hlY2tlcl0oV0tOYXZpZ2F0aW9uUmVz
cG9uc2VQb2xpY3kgcmVzcG9uc2VQb2xpY3kpIHsKICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBs
ZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKQEAgLTY1NCwxMSArNjU0LDcg
QEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25SZXNwb25zZShXZWJQYWcKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNo
CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzd2l0Y2giCiAgICAgICAgIGNh
c2UgX1dLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5QmVjb21lRG93bmxvYWQ6Ci0gICAgICAgICAg
ICBpZiAocGFnZS5zeXN0ZW1QcmV2aWV3Q29udHJvbGxlcigpLT5jYW5QcmV2aWV3KG5hdmlnYXRp
b25SZXNwb25zZS0+cmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgewotICAgICAgICAgICAgICAgIHBh
Z2Uuc3lzdGVtUHJldmlld0NvbnRyb2xsZXIoKS0+c2hvd1ByZXZpZXcobmF2aWdhdGlvblJlc3Bv
bnNlLT5yZXNwb25zZSgpLnVybCgpKTsKLSAgICAgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT5p
Z25vcmUoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGxvY2FsTGlzdGVu
ZXItPmRvd25sb2FkKCk7CisgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT5kb3dubG9hZCgpOwog
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0Nv
bnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KaW5kZXggMDg5NmMxY2QzMzk5MWM3
M2FlY2Y3OGQ5NzgzZGM5N2VmMDA3OWJjNS4uMDNjODBlMTAwNzAwZmE5YzJhOTBmNmJlNDUwYzAw
YmMwZTEyNzk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tX
ZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KQEAgLTMxLDYg
KzMxLDcgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgIldLUERGVmlldy5oIgorI2lt
cG9ydCAiV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwu
aCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJl
Z2lzdHJ5Lmg+CkBAIC0zOSw2ICs0MCwxMCBAQAogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQorI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL1N5c3RlbVByZXZpZXdUeXBlcy5j
cHA+CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogQGltcGxlbWVudGF0aW9u
IFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5IHsKQEAgLTU2LDYgKzYxLDExIEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgICAgIFtzZWxmIHJlZ2lzdGVyUHJvdmlkZXI6W1dL
UERGVmlldyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5cGVdOwogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShJT1MpICYmIFVTRShRVUlDS19MT09LKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQor
ICAgIGZvciAoYXV0byYgbWltZVR5cGUgOiBnZXRTeXN0ZW1QcmV2aWV3TUlNRVR5cGVzKCkpCisg
ICAgICAgIFtzZWxmIHJlZ2lzdGVyUHJvdmlkZXI6W1dLU3lzdGVtUHJldmlld1ZpZXcgY2xhc3Nd
IGZvck1JTUVUeXBlOm1pbWVUeXBlXTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdW
aWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYwMmNlNTc5ODEwMGFmNGI0MDhjNWQ0N2NhYjM4OTZiZjI4ZmQ1ZTgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2
aWV3Vmlldy5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgUExBVEZPUk0oSU9T
KSAmJiBVU0UoUVVJQ0tfTE9PSykKKworI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVy
LmgiCisjaW1wb3J0IDxRdWlja0xvb2svUXVpY2tMb29rLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtp
dC5oPgorI2ltcG9ydCA8cGFsL3NwaS9pb3MvUXVpY2tMb29rU1BJLmg+CisKK0BpbnRlcmZhY2Ug
V0tTeXN0ZW1QcmV2aWV3VmlldyA6IFVJVmlldyA8V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLCBR
TFByZXZpZXdDb250cm9sbGVyRGF0YVNvdXJjZSwgUUxQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRl
LCBRTFByZXZpZXdJdGVtRGF0YVByb3ZpZGVyPgorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jODM0OTA3NzI4MzQ5MzJkY2U1YWIxYjMwZmM2MzUwZmMzNDQzODE1Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcu
bW0KQEAgLTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIldLU3lzdGVtUHJldmlld1ZpZXcuaCIKKworI2lmIFBMQVRGT1JNKElPUykgJiYgVVNF
KFFVSUNLX0xPT0spCisKKyNpbXBvcnQgIkFQSUZpbmRDbGllbnQuaCIKKyNpbXBvcnQgIkFQSVVJ
Q2xpZW50LmgiCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCAiV2ViUGFn
ZVByb3h5LmgiCisjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0
IDx3dGYvU29mdExpbmtpbmcuaD4KKyNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KKwordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitTT0ZUX0xJTktfRlJB
TUVXT1JLKFF1aWNrTG9vaykKK1NPRlRfTElOS19DTEFTUyhRdWlja0xvb2ssIFFMSXRlbSk7CitT
T0ZUX0xJTktfQ0xBU1MoUXVpY2tMb29rLCBRTFByZXZpZXdDb250cm9sbGVyKTsKKworQGltcGxl
bWVudGF0aW9uIFdLU3lzdGVtUHJldmlld1ZpZXcgeworICAgIFJldGFpblB0cjxRTFByZXZpZXdD
b250cm9sbGVyPiBfcWxQcmV2aWV3Q29udHJvbGxlcjsKKyAgICBSZXRhaW5QdHI8TlNJdGVtUHJv
dmlkZXI+IF9pdGVtUHJvdmlkZXI7CisgICAgUmV0YWluUHRyPFFMSXRlbT4gX2l0ZW07CisgICAg
UmV0YWluUHRyPE5TRGF0YT4gX2RhdGE7CisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBfc3VnZ2Vz
dGVkRmlsZW5hbWU7CisKKyAgICBXS1dlYlZpZXcgKl93ZWJWaWV3OworfQorCistIChpbnN0YW5j
ZXR5cGUpd2ViX2luaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSB3ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3Cit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1l
XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBzZWxmLmJhY2tncm91bmRDb2xvciA9IFtV
SUNvbG9yIGxpZ2h0R3JheUNvbG9yXTsKKworICAgIF93ZWJWaWV3ID0gd2ViVmlldzsKKworICAg
IFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldyA9IHdlYlZpZXcuc2Nyb2xsVmlldzsKKyAgICBbc2Ny
b2xsVmlldyBzZXRNaW5pbXVtWm9vbVNjYWxlOjFdOworICAgIFtzY3JvbGxWaWV3IHNldE1heGlt
dW1ab29tU2NhbGU6MV07CisgICAgW3Njcm9sbFZpZXcgc2V0QmFja2dyb3VuZENvbG9yOltVSUNv
bG9yIGxpZ2h0R3JheUNvbG9yXV07CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9pZCl3
ZWJfc2V0Q29udGVudFByb3ZpZGVyRGF0YTooTlNEYXRhICopZGF0YSBzdWdnZXN0ZWRGaWxlbmFt
ZTooTlNTdHJpbmcgKilmaWxlbmFtZQoreworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94
eT4gcGFnZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAgICBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIgPSBwYWdlLT51aUNsaWVudCgpLnByZXNlbnRpbmdWaWV3Q29udHJv
bGxlcigpOworCisgICAgaWYgKCFwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIF9zdWdnZXN0ZWRGaWxlbmFtZSA9IGFkb3B0TlMoW2ZpbGVuYW1lIGNvcHld
KTsKKyAgICBfZGF0YSA9IGFkb3B0TlMoW2RhdGEgY29weV0pOworCisgICAgTlNTdHJpbmcgKmV4
dGVuc2lvbiA9IFtbX3N1Z2dlc3RlZEZpbGVuYW1lLmdldCgpIHBhdGhFeHRlbnNpb25dIGxvd2Vy
Y2FzZVN0cmluZ107CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBjb250ZW50VHlwZSA9IGFk
b3B0Q0YoVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZvclRhZyhrVVRUYWdDbGFzc0Zp
bGVuYW1lRXh0ZW5zaW9uLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZXh0ZW5zaW9uLCBuaWwpKTsK
KworICAgIF9pdGVtID0gYWRvcHROUyhbYWxsb2NRTEl0ZW1JbnN0YW5jZSgpIGluaXRXaXRoRGF0
YVByb3ZpZGVyOnNlbGYgY29udGVudFR5cGU6KE5TU3RyaW5nICopY29udGVudFR5cGUuZ2V0KCkg
cHJldmlld1RpdGxlOl9zdWdnZXN0ZWRGaWxlbmFtZS5nZXQoKV0pOworCisgICAgX3FsUHJldmll
d0NvbnRyb2xsZXIgPSBhZG9wdE5TKFthbGxvY1FMUHJldmlld0NvbnRyb2xsZXJJbnN0YW5jZSgp
IGluaXRdKTsKKyAgICBbX3FsUHJldmlld0NvbnRyb2xsZXIgc2V0RGVsZWdhdGU6c2VsZl07Cisg
ICAgW19xbFByZXZpZXdDb250cm9sbGVyIHNldERhdGFTb3VyY2U6c2VsZl07CisKKyAgICBbcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjpfcWxQcmV2aWV3Q29u
dHJvbGxlci5nZXQoKSBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpudWxscHRyXTsKK30KKworLSAo
dm9pZCl3ZWJfc2V0TWluaW11bVNpemU6KENHU2l6ZSlzaXplCit7Cit9CisKKy0gKHZvaWQpd2Vi
X3NldE92ZXJsYWlkQWNjZXNzb3J5Vmlld3NJbnNldDooQ0dTaXplKWluc2V0Cit7Cit9CisKKy0g
KHZvaWQpd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlCit7Cit9CisKKy0gKHZvaWQp
d2ViX3NldEZpeGVkT3ZlcmxheVZpZXc6KFVJVmlldyAqKWZpeGVkT3ZlcmxheVZpZXcKK3sKK30K
KworLSAodm9pZCl3ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjooV0tTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9uVHlwZQoreworfQorCisjcHJhZ21hIG1hcmsgRmluZC1p
bi1QYWdlCisKKy0gKHZvaWQpd2ViX2NvdW50U3RyaW5nTWF0Y2hlczooTlNTdHJpbmcgKilzdHJp
bmcgb3B0aW9uczooX1dLRmluZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlcilt
YXhDb3VudAoreworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJW
aWV3LT5fcGFnZTsKKyAgICBwYWdlLT5maW5kQ2xpZW50KCkuZGlkQ291bnRTdHJpbmdNYXRjaGVz
KHBhZ2UuZ2V0KCksIHN0cmluZywgMCk7Cit9CisKKy0gKHZvaWQpd2ViX2ZpbmRTdHJpbmc6KE5T
U3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KF9XS0ZpbmRPcHRpb25zKW9wdGlvbnMgbWF4Q291bnQ6
KE5TVUludGVnZXIpbWF4Q291bnQKK3sKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+
IHBhZ2UgPSBfd2ViVmlldy0+X3BhZ2U7CisgICAgcGFnZS0+ZmluZENsaWVudCgpLmRpZEZhaWxU
b0ZpbmRTdHJpbmcocGFnZS5nZXQoKSwgc3RyaW5nKTsKK30KKworLSAodm9pZCl3ZWJfaGlkZUZp
bmRVSQoreworfQorCisjcHJhZ21hIG1hcmsgUUxQcmV2aWV3Q29udHJvbGxlckRhdGFTb3VyY2UK
KworLSAoTlNJbnRlZ2VyKW51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3Q29udHJvbGxlcjoo
UUxQcmV2aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIKK3sKKyAgICByZXR1cm4gMTsKK30KKwor
LSAoaWQ8UUxQcmV2aWV3SXRlbT4pcHJldmlld0NvbnRyb2xsZXI6KFFMUHJldmlld0NvbnRyb2xs
ZXIgKiljb250cm9sbGVyIHByZXZpZXdJdGVtQXRJbmRleDooTlNJbnRlZ2VyKWluZGV4Cit7Cisg
ICAgcmV0dXJuIF9pdGVtLmdldCgpOworfQorCisjcHJhZ21hIG1hcmsgUUxQcmV2aWV3SXRlbURh
dGFQcm92aWRlcgorCistIChOU0RhdGEgKilwcm92aWRlRGF0YUZvckl0ZW06KFFMSXRlbSAqKWl0
ZW0KK3sKKyAgICByZXR1cm4gX2RhdGEuZ2V0KCk7Cit9CisKKyNwcmFnbWEgbWFyayBRTFByZXZp
ZXdDb250cm9sbGVyRGVsZWdhdGUKKworLSAodm9pZClwcmV2aWV3Q29udHJvbGxlcldpbGxEaXNt
aXNzOihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgoreworICAgIFJlZlB0cjxXZWJL
aXQ6OldlYlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAgICBwYWdlLT5nb0Jh
Y2soKTsKK30KKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM1MzY1OWUzNzkxNWRkODNhNDU2Mzk3N2FiODUz
YjZmMmU5YmZjYjcuLmQ3YzM0MWU0Yjc4OTdjMGI0NTUxY2YzZmJmZTA4NTczMzQwYTNkNmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NzYwLDYgKzc2MCw4IEBACiAJCTMxMzEyNjIxMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTMxMjYxQzE0OEZGODJCMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5o
ICovOyB9OwogCQkzMTU3MTM1RTIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVtUHJldmlld0NvbnRy
b2xsZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNTcxMzVDMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNv
Y29hLm1tICovOyB9OwogCQkzMTU3MTM1RjIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVtUHJldmll
d0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5o
ICovOyB9OworCQkzMTZCOEI2MzIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmll
dy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkI4
QjYxMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1tICovOyB9OworCQkz
MTZCOEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QjhCNjIyMDU0QjU1ODAw
QkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLzsgfTsKIAkJMzE3RkU3QzUxQzQ4N0E2
QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBB
UElFeHBlcmltZW50YWxGZWF0dXJlLmggKi87IH07CiAJCTMxN0ZFN0M2MUM0ODdBNzEwMEEwQ0E4
OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MxMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBl
cmltZW50YWxGZWF0dXJlLmNwcCAqLzsgfTsKIAkJMzE3RkU3Q0QxQzQ4N0RBRTAwQTBDQTg5IC8q
IF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzkxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oICovOyB9OwpAQCAtMzE0OCw2ICszMTUwLDggQEAK
IAkJMzE1NzEzNUMyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVByZXZpZXdDb250cm9sbGVyQ29j
b2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTU3MTM1RDIwNDBBOUIyMDA4NEY5
Q0YgLyogU3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtUHJl
dmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MDdGMzgx
OTYyNzAwMjAwOUI4N0RBIC8qIExlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QjhCNjEyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lz
dGVtUHJldmlld1ZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1N5c3RlbVByZXZpZXdW
aWV3Lm1tOyBwYXRoID0gaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxNkI4QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZp
ZXdWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLU3lzdGVtUHJldmlld1ZpZXcuaDsgcGF0aCA9IGlv
cy9XS1N5c3RlbVByZXZpZXdWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
N0ZFN0MxMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTdGRTdDMjFDNDg3QTY2MDBBMENB
ODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBUElFeHBlcmltZW50YWxGZWF0dXJlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyOTksOCArMzMwMyw4IEBACiAJ
CTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMTJCNTQ3MUY5RkQzQUIwMEU2Nzg3NSAvKiBOZXR3b3JrUlRD
UmVzb2x2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29y
a1JUQ1Jlc29sdmVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UmVzb2x2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTEyQjU0ODFGOUZE
M0FDMDBFNjc4NzUgLyogTmV0d29ya1JUQ1Jlc29sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTEyQjU0NzFGOUZEM0FCMDBFNjc5ODYgLyogTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Jlc29sdmVy
Q29jb2EuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZl
ckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExMkI1NDgxRjlGRDNB
QzAwRTY3ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBOZXR3b3JrUlRDUmVzb2x2ZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDExMkI1NDgxRjlGRDNBQzAwRTY3OTg2IC8qIE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmg7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8q
IExpYldlYlJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGli
V2ViUlRDTmV0d29yay5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkg
LyogTmV0d29ya1JUQ1NvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBOZXR3b3JrUlRDU29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDU29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU4Mjgs
NiArNTgzMiw4IEBACiAJCQkJMEZDQjRFNDUxOEJCRTA0NDAwMEZDRkM5IC8qIFdLU2Nyb2xsVmll
dy5tbSAqLywKIAkJCQkyNkYxMEJFNjE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlj
a1RhcEdlc3R1cmVSZWNvZ25pemVyLmggKi8sCiAJCQkJMjZGMTBCRTcxOTE4N0UyRTAwMUQwRTY4
IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5tICovLAorCQkJCTMxNkI4
QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3LmggKi8sCisJCQkJMzE2
QjhCNjEyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcubW0gKi8sCiAJCQkp
OwogCQkJbmFtZSA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC04NDkyLDE0
ICs4NDk4LDE0IEBACiAJCUNEQzI4MzFBMjAxQkQ3NTYwMEU2RTc0NSAvKiBmdWxsc2NyZWVuICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRDE5RDJFOTIw
NDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCAqLywKKwkJ
CQlDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGlj
LmggKi8sCiAJCQkJQ0RDMjgzMUIyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNr
Vmlldy5oICovLAogCQkJCUNEQzI4MzFDMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5T
dGFja1ZpZXcubW0gKi8sCiAJCQkJQ0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLmggKi8sCiAJCQkJQ0QwQzY4MzAyMDFGRDEwMTAwQTU5NDA5IC8q
IFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tICovLAogCQkJCTNGOTE1QzBGMUY1NjRERUQw
MDE4M0NFOSAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLmggKi8sCiAJCQkJM0Y5
MTVDMEUxRjU2NERFRDAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1Mu
bW0gKi8sCi0JCQkJQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNl
Y2hldXJpc3RpYy5oICovLAotCQkJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2Ny
ZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwICovLAogCQkJKTsKIAkJCW5hbWUgPSBmdWxsc2NyZWVu
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTg4MjksNyArODgzNSw2IEBACiAJCQkJ
OTk1NUE2RjUxQzc5ODZFMDAwRUI2QTkzIC8qIEF1dG9tYXRpb25CYWNrZW5kRGlzcGF0Y2hlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMyMEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0
aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTI0OUFENjFGMUYxRTVGMDBCNjJGQkIg
LyogQXV0b21hdGlvbkZyb250ZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAotCQkJCUNE
MTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCBp
biBIZWFkZXJzICovLAogCQkJCTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5MyAvKiBBdXRvbWF0aW9u
UHJvdG9jb2xPYmplY3RzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTBEMjhCQjFDNjUzOUQzMDA5
ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
QTA0MUY0MUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRl
cnMgKi8sCkBAIC04ODQ1LDcgKzg4NTAsNiBAQAogCQkJCTFBQTJFNTFEMTJFNEMwNUUwMEJDNDk2
NiAvKiBDR1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDk1NkYxMjg0ODU2NDAw
MUVCOTYyIC8qIENoaWxkUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQUVDM0ExQjA2
NTc2MzAwMDlDNEU3IC8qIENoaWxkUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlDREMyODMxRDIwMUJENzlEMDBFNkU3NDUgLyogV0tGdWxsc2NyZWVuU3RhY2tWaWV3LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTUxM0M2NzE2NkVBQkIyMDAxNDlGQ0IgLyogQ2hpbGRQcm9jZXNz
UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5MEY0MjcyMTcyQTBDNzQwMDkzOUZGMCAvKiBD
aGlsZFByb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTExQUQ1MjFDQkM0
ODJGMDA2ODFFRTUgLyogQ29kZVNpZ25pbmcuaCBpbiBIZWFkZXJzICovLApAQCAtODg4OCw2ICs4
ODkyLDcgQEAKIAkJCQkxQUUwMEQ2MTE4MzE3OTIxMDAwODdERDcgLyogRnJhbWVMb2FkU3RhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJENEFGMDg5MjA0NEMzQzQwMDZDODgxNyAvKiBGcm9udEJv
YXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENzhFMTE1MURCN0Q3RUQwMDE0
QTJERSAvKiBGdWxsc2NyZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDE5RDJFQTIw
NDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTVCRTFCMzFENTkwMkREMDBERDdDNjggLyogR2FtZXBhZERhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMTc3NTNGMTE4QkFCRjAwMDdEOUU5QSAvKiBHZW5lcmljQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDZGNDJGMTJEQkI5QjYwMDJENzhERSAvKiBHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC05Mzkw
LDcgKzkzOTUsNiBAQAogCQkJCTkzNEI3MjQ0MTlGNUI5QkUwMEFFOTZENiAvKiBXS0FjdGlvbk1l
bnVJdGVtVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOUY0MDFDMTlGQjBCQkMwMDJCMkI0
MiAvKiBXS0FjdGlvbk1lbnVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDQjRFNDgxOEJC
RTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXQuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEMEM2
ODMxMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZDQjRFNEExOEJCRTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXRB
c3Npc3RhbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RkExRUQzMThFMTA2MjIwMEIzRjQwMiAv
KiBXS0FpclBsYXlSb3V0ZVBpY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEREIzMkQxMjRF
QzJFMTAwNDhEMTNDIC8qIFdLQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTI0LDYgKzk1
MjgsOCBAQAogCQkJCTJEM0E2NUU3MUE3QzNBQTcwMENBQzYzNyAvKiBXS0ZyYW1lSW5mb1JlZi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCOUY2QTUxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQ
b2xpY3lMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBRUEyMkYxNDY4N0JEQjAwODA0
NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0RDMjgzMUQyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZp
ZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRENBODVDOTEzMkFCQTRFMDBFOTYx
REYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
M0ZGRERCOTYxRjU3N0Y0ODAwNTBFNTkzIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJ
T1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGOTE1QzEwMUY1NjRERUUwMDE4M0NFOSAvKiBXS0Z1
bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGluIEhlYWRlcnMgKi8sCkBAIC05NjY4LDYg
Kzk2NzQsNyBAQAogCQkJCUJDNDA3NjFBMTI0RkYwMzcwMDY4RjIwQSAvKiBXS1N0cmluZ0NGLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzkwOTk4MDEyNTZBOTgyMDAwODM3NTYgLyogV0tTdHJpbmdQ
cml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkYxMEJFODE5MTg3RTJFMDAxRDBFNjggLyog
V0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkzMTZCOEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFGODg2QTYxRjJDMjI4MTAwQzE5M0VGIC8qIFdLVGVzdGluZ1N1cHBv
cnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRDc1NUMxMUQ5MUI4MTUwMDg0M0JEMSAvKiBXS1Rl
eHRDaGVja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREQ2N0EzNTFCRDg2MTA2MDA1M0IyNTEg
LyogV0tUZXh0RmluZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTEwNDgzLDcgKzEwNDkw
LDYgQEAKIAkJCQk5OTBEMjhCQzFDNjUzOURBMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25D
bGllbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkEyQjYwODFFNTY3NkE2MDBDM0RFREEgLyog
QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUUxNjRBMkYxMTkxQUYxNEUwMDEwNzM3RCAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRo
U2FuZGJveEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDE5RDJFQjIwNDY0MDZG
MDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUUxNzA4NzZCMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94eS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2Rl
bC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTg5N0VENzFGNDE1RDhBMDAxNkZBNDIgLyogQ2Fj
aGVTdG9yYWdlRW5naW5lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA1MzQsNiArMTA1NDAsNyBA
QAogCQkJCTFBMTRGOEUxMUQ3NEM4MzQwMDZDQkVDNiAvKiBGcmFtZUluZm9EYXRhLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFBRTAwRDYwMTgzMTc5MjEwMDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDc4RTExNDFEQjdEN0VEMDAxNEEyREUgLyogRnVs
bHNjcmVlbkNsaWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEMTlEMkVCMjA0NjQwNkYwMDE3
MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE1QkUxQjIxRDU5MDJERDAwREQ3QzY4IC8qIEdhbWVwYWREYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMDZGNDMwMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzA2RjQ0QjEyREJEMUY1
MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTEwNTcxLDcgKzEwNTc4LDYgQEAKIAkJCQkxQUU0OTg3OTExRkY3
RkFBMDA0OEI0NjQgLyogSlNOUE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UwOTM3
NzE0RkIxMjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTBGMEMzNjVFMThDMTEwQTUwMEY2MDdENyAvKiBMYXllclJlcHJlc2VudGF0aW9uLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJQ0RDMjgzMUUyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNj
cmVlblN0YWNrVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOTJEQzEzMTJGOEJBQjkwMDE3
QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRkRFNjQ1
MTk1MTBCNTUwMEM0OEZGQSAvKiBMZWdhY3lCdW5kbGVGb3JDbGFzcy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTVDRkVDQjA0MUUxRUQxQ0MwMEY4ODUwNCAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTA3MCw3ICsxMTA3Niw2IEBACiAJCQkJQkMz
MDY2QkUxMjVBNDQyMTAwRTcxMjc4IC8qIFdlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NFNEQyMUExQTQ5MTRBMzAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQ
b29sLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTREMjE2MUE0OTE0ODQwMEM3RjE1MiAvKiBX
ZWJQcm9jZXNzUG9vbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0QwQzY4MzIyMDFGRDEw
MTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0NFNEQyMjcxQTQ5MTZDMjAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQjExMTEyRjVFNEYwMDMzN0JBQiAv
KiBXZWJQcm9jZXNzUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwNEY2MTkxQTRBM0E3
QTAwQTIxQjZFIC8qIFdlYlByb2Nlc3NQcm94eUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0x
MTIxOCw2ICsxMTIyMyw4IEBACiAJCQkJMkQzQTY1RTYxQTdDM0FBNzAwQ0FDNjM3IC8qIFdLRnJh
bWVJbmZvUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjlGNkE2MTEyM0REMEQwMEExMzdF
MCAvKiBXS0ZyYW1lUG9saWN5TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBRUEy
MzAxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSBpbiBT
b3VyY2VzICovLAorCQkJCUNEQzI4MzFFMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5T
dGFja1ZpZXcubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDBDNjgzMjIwMUZEMTAxMDBBNTk0MDkg
LyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRENB
ODVDODEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSBp
biBTb3VyY2VzICovLAogCQkJCTNGRkREQjk3MUY1NzgwRTEwMDUwRTU5MyAvKiBXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NENDMTMxMkQ2
NzRFRTAwNUM2N0IwIC8qIFdLR2VvbG9jYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMTEzMTEsNiArMTEzMTgsNyBAQAogCQkJCUJDNDA3NjA1MTI0RkYwMjcwMDY4RjIwQSAvKiBX
S1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYxOTEyNEZGMDM3MDA2OEYyMEEg
LyogV0tTdHJpbmdDRi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI2RjEwQkU5MTkxODdFMkUwMDFE
MEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIubSBpbiBTb3VyY2Vz
ICovLAorCQkJCTMxNkI4QjYzMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGODg2QTUxRjJDMjI3RTAwQzE5M0VGIC8qIFdLVGVz
dGluZ1N1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFENzU1QzIxRDkxQjgxQjAwODQz
QkQxIC8qIFdLVGV4dENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRENjdBMzYxQkQ4
NjEwNjAwNTNCMjUxIC8qIFdLVGV4dEZpbmRlckNsaWVudC5tbSBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="354252"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335655</attachid>
            <date>2018-03-12 15:48:36 -0700</date>
            <delta_ts>2018-03-12 15:48:36 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-183582-20180313094834.patch</filename>
            <type>text/plain</type>
            <size>28288</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkYTA4YmEx
ZjAxYjU1MDk1N2Y1OTU5MmE1MjJkOTVmYzdlY2IwZjAyLi4xYzA3NGNhZDczOTY2NDJhM2VlMzM0
MzBlOGJmZDQ4NzcyZmNmOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOC0wMy0xMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGEgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyIGZvciBzeXN0ZW0gcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzU4MgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzgzOTM1Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUgUXVpY2tMb29rIFNQSS4KKworICAgICAgICAqIHBh
bC9zcGkvaW9zL1F1aWNrTG9va1NQSS5oOgorCiAyMDE4LTAzLTA3ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNvcnQgYW5kIHNlcGFyYXRlIEZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1YzY2OTBjMTUwMjgxN2ZlYzVjMjMzZDA3
NTk2NTJmNWIyOTcxZWEuLjU1ZDJlMTQ5MWUxZGNmNTM0MmEyMTlkYzgxMTEyY2JhMWRmZTUyZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTgtMDMtMTIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBm
b3Igc3lzdGVtIHByZXZpZXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODM1ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MzkzNTY5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBX
S1N5c3RlbVByZXZpZXdWaWV3LCB3aGljaCBjb25mb3JtcyB0byBXS1dlYlZpZXdDb250ZW50UHJv
dmlkZXIsIGluCisgICAgICAgIG9yZGVyIHRvIHZpZXcgY29udGVudCBhcyBhICJzeXN0ZW0gcHJl
dmlldyIuIFRoaXMgZWZmZWN0aXZlbHkgcmVwbGFjZXMgdGhlCisgICAgICAgIFN5c3RlbVByZXZp
ZXdDb250cm9sbGVyLCB3aGljaCB3aWxsIGJlIHJlbW92ZWQgc29vbi4KKworICAgICAgICBTb21l
IG9mIHRoZSByZXF1aXJlZCBtZXRob2RzIG9mIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBhcmUg
bm90IG5lY2Vzc2FyeSBvbgorICAgICAgICB0aGlzIGluc3RhbmNlLCBzbyBhIGZvbGxvdy11cCBw
YXRjaCB3aWxsIGNsZWFuIHRoZSBwcm90b2NvbCB1cCBhIGJpdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06IERvbid0IHRyaWdnZXIgYSBTeXN0ZW1QcmV2
aWV3IHdoZW4gZG93bmxvYWRpbmcuCisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6
TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKToKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkgaW5pdF0p
OiBSZWdpc3RlciB0aGUgV0tTeXN0ZW1QcmV2aWV3VmlldyBmb3IKKyAgICAgICAgTUlNRSB0eXBl
cyByZXRyaWV2ZWQgZnJvbSBXZWJLaXRBZGRpdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tOiBBZGRlZC4KKworICAgICAgICAoLVtXS1N5c3RlbVBy
ZXZpZXdWaWV3IHdlYl9pbml0V2l0aEZyYW1lOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLU3lz
dGVtUHJldmlld1ZpZXcgd2ViX3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5h
bWU6XSk6IFRoaXMgaXMgdGhlCisgICAgICAgIG1ldGhvZCB0aGF0IGFjdHVhbGx5IGNyZWF0ZXMg
YSBRdWlja0xvb2sgcHJldmlldyBhbmQgcHJvdmlkZXMgdGhlIGRhdGEuCisgICAgICAgICgtW1dL
U3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldE1pbmltdW1TaXplOl0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9zZXRPdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6Cisg
ICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlk
Q2hhbmdlXSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldEZpeGVkT3Zl
cmxheVZpZXc6XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2RpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb246XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2Vi
X2NvdW50U3RyaW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9maW5kU3RyaW5nOm9wdGlvbnM6bWF4Q291bnQ6XSk6CisgICAg
ICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2hpZGVGaW5kVUldKToKKworICAgICAgICAo
LVtXS1N5c3RlbVByZXZpZXdWaWV3IG51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3Q29udHJv
bGxlcjpdKTogUXVpY2tMb29rIGRlbGVnYXRlcy4KKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2aWV3
VmlldyBwcmV2aWV3Q29udHJvbGxlcjpwcmV2aWV3SXRlbUF0SW5kZXg6XSk6CisgICAgICAgICgt
W1dLU3lzdGVtUHJldmlld1ZpZXcgcHJvdmlkZURhdGFGb3JJdGVtOl0pOgorICAgICAgICAoLVtX
S1N5c3RlbVByZXZpZXdWaWV3IHByZXZpZXdDb250cm9sbGVyV2lsbERpc21pc3M6XSk6CisKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcy4K
KwogMjAxOC0wMy0xMiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSZW1vdmUgR3JpZExheW91dCBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaAppbmRleCBiNDljZWUxMzJiNzMzYzZl
MTg3Y2MxNzJmZGY5ZjJjYmMxNzNiYjg0Li5jNjU2MzU4OTQxNjQ0YjU5MjEzMzQ5ZGRlOWM0YWNk
ZWViNzllZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvUXVp
Y2tMb29rU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1F1aWNrTG9v
a1NQSS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQog
CisjaW1wb3J0IDxRdWlja0xvb2svUUxQcmV2aWV3SXRlbV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxR
dWlja0xvb2svUXVpY2tMb29rUHJpdmF0ZS5oPgogCiAjZWxzZQpAQCAtNDcsNiArNDgsMTcgQEAK
IEBwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNVUkxSZXNwb25zZSAqcHJldmlld1Jl
c3BvbnNlOwogQGVuZAogCitAY2xhc3MgUUxJdGVtOworCitAcHJvdG9jb2wgUUxQcmV2aWV3SXRl
bURhdGFQcm92aWRlciA8TlNPYmplY3Q+CistIChOU0RhdGEgKilwcm92aWRlRGF0YUZvckl0ZW06
KFFMSXRlbSAqKWl0ZW07CitAZW5kCisKK0BpbnRlcmZhY2UgUUxJdGVtIDogTlNPYmplY3QKKy0g
KGluc3RhbmNldHlwZSlpbml0V2l0aERhdGFQcm92aWRlcjooaWQ8UUxQcmV2aWV3SXRlbURhdGFQ
cm92aWRlcj4gX05vbm51bGwpZGF0YSBjb250ZW50VHlwZTooTlNTdHJpbmcgKl9Ob25udWxsKWNv
bnRlbnRUeXBlIHByZXZpZXdUaXRsZTooTlNTdHJpbmcgKl9Ob25udWxsKXByZXZpZXdUaXRsZTsK
K0BlbmQKKworCiAjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAw
CiAjZGVmaW5lIGtRTFJldHVyblBhc3N3b3JkUHJvdGVjdGVkIDEgPDwgMgogI2Vsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCA5
NzhhMTAyOGQ5MDU0OTZhMDA5NTY5NTc4MGZiZDdjOGVhODIwNTU3Li5jNWUzOTQ1MjRjNDQ4Mjk0
YzM5ZmJkYjI3MDFiMzZjYTg1NTYzMDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC02MzYsNyArNjM2LDcgQEAgdm9pZCBOYXZp
Z2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25S
ZXNwb25zZShXZWJQYWcKICAgICBSZWZQdHI8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBs
b2NhbExpc3RlbmVyID0gV1RGTW92ZShsaXN0ZW5lcik7CiAgICAgUmVmUHRyPENvbXBsZXRpb25I
YW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2Vy
OjpjcmVhdGUobmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3Iod2ViVmlldzpkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6ZGVjaXNpb25IYW5kbGVyOikpOwogICAgIFJl
ZlB0cjxBUEk6Ok5hdmlnYXRpb25SZXNwb25zZT4gbmF2aWdhdGlvblJlc3BvbnNlUmVmUHRyKG5h
dmlnYXRpb25SZXNwb25zZS5wdHIoKSk7Ci0gICAgW25hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3
Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVz
cG9uc2U6d3JhcHBlcihuYXZpZ2F0aW9uUmVzcG9uc2UpIGRlY2lzaW9uSGFuZGxlcjpbbG9jYWxM
aXN0ZW5lciwgY2hlY2tlciwgbmF2aWdhdGlvblJlc3BvbnNlID0gV1RGTW92ZShuYXZpZ2F0aW9u
UmVzcG9uc2VSZWZQdHIpLCAmcGFnZV0oV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kgcmVzcG9u
c2VQb2xpY3kpIHsKKyAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6bV9uYXZpZ2F0aW9u
U3RhdGUubV93ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZTp3cmFwcGVy
KG5hdmlnYXRpb25SZXNwb25zZSkgZGVjaXNpb25IYW5kbGVyOltsb2NhbExpc3RlbmVyLCBjaGVj
a2VyXShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSByZXNwb25zZVBvbGljeSkgewogICAgICAg
ICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigp
OwpAQCAtNjU0LDExICs2NTQsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKFdlYlBhZwogI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V3N3aXRjaCIKICAgICAgICAgY2FzZSBfV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lCZWNvbWVE
b3dubG9hZDoKLSAgICAgICAgICAgIGlmIChwYWdlLnN5c3RlbVByZXZpZXdDb250cm9sbGVyKCkt
PmNhblByZXZpZXcobmF2aWdhdGlvblJlc3BvbnNlLT5yZXNwb25zZSgpLm1pbWVUeXBlKCkpKSB7
Ci0gICAgICAgICAgICAgICAgcGFnZS5zeXN0ZW1QcmV2aWV3Q29udHJvbGxlcigpLT5zaG93UHJl
dmlldyhuYXZpZ2F0aW9uUmVzcG9uc2UtPnJlc3BvbnNlKCkudXJsKCkpOwotICAgICAgICAgICAg
ICAgIGxvY2FsTGlzdGVuZXItPmlnbm9yZSgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgbG9jYWxMaXN0ZW5lci0+ZG93bmxvYWQoKTsKKyAgICAgICAgICAgIGxvY2FsTGlz
dGVuZXItPmRvd25sb2FkKCk7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbQpp
bmRleCAwODk2YzFjZDMzOTkxYzczYWVjZjc4ZDk3ODNkYzk3ZWYwMDc5YmM1Li4wM2M4MGUxMDA3
MDBmYTljMmE5MGY2YmU0NTBjMDBiYzBlMTI3OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJS
ZWdpc3RyeS5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9y
dCAiV0tQREZWaWV3LmgiCisjaW1wb3J0ICJXS1N5c3RlbVByZXZpZXdWaWV3LmgiCiAjaW1wb3J0
ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0
IDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KQEAgLTM5LDYgKzQwLDEwIEBACiAjaW1wb3J0
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMv
U3lzdGVtUHJldmlld1R5cGVzLmNwcD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkgewpA
QCAtNTYsNiArNjEsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICAgICAgW3NlbGYg
cmVnaXN0ZXJQcm92aWRlcjpbV0tQREZWaWV3IGNsYXNzXSBmb3JNSU1FVHlwZTptaW1lVHlwZV07
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykgJiYgVVNFKFFVSUNLX0xPT0spICYmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisgICAgZm9yIChhdXRvJiBtaW1lVHlwZSA6IGdldFN5c3RlbVBy
ZXZpZXdNSU1FVHlwZXMoKSkKKyAgICAgICAgW3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpbV0tTeXN0
ZW1QcmV2aWV3VmlldyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5cGVdOworI2VuZGlmCisKICAg
ICByZXR1cm4gc2VsZjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S1N5c3RlbVByZXZpZXdWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAyY2U1Nzk4MTAwYWY0YjQwOGM1ZDQ3
Y2FiMzg5NmJmMjhmZDVlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShRVUlDS19MT09LKQorCisjaW1wb3J0ICJXS1dl
YlZpZXdDb250ZW50UHJvdmlkZXIuaCIKKyNpbXBvcnQgPFF1aWNrTG9vay9RdWlja0xvb2suaD4K
KyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxwYWwvc3BpL2lvcy9RdWlja0xvb2tT
UEkuaD4KKworQGludGVyZmFjZSBXS1N5c3RlbVByZXZpZXdWaWV3IDogVUlWaWV3IDxXS1dlYlZp
ZXdDb250ZW50UHJvdmlkZXIsIFFMUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlLCBRTFByZXZp
ZXdDb250cm9sbGVyRGVsZWdhdGUsIFFMUHJldmlld0l0ZW1EYXRhUHJvdmlkZXI+CisKK0BlbmQK
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0
ZW1QcmV2aWV3Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVBy
ZXZpZXdWaWV3Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MzQ5MDc3MjgzNDkzMmRjZTVhYjFiMzBmYzYzNTBm
YzM0NDM4MTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tTeXN0ZW1QcmV2aWV3Vmlldy5tbQpAQCAtMCwwICsxLDE2NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIgorCisjaWYg
UExBVEZPUk0oSU9TKSAmJiBVU0UoUVVJQ0tfTE9PSykKKworI2ltcG9ydCAiQVBJRmluZENsaWVu
dC5oIgorI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKKyNpbXBvcnQgIldLV2ViVmlld0ludGVybmFs
LmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorI2ltcG9ydCA8d3RmL1Zl
Y3Rvci5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CisKK1NPRlRfTElOS19GUkFNRVdPUksoUXVpY2tMb29rKQorU09GVF9MSU5LX0NMQVNTKFF1
aWNrTG9vaywgUUxJdGVtKTsKK1NPRlRfTElOS19DTEFTUyhRdWlja0xvb2ssIFFMUHJldmlld0Nv
bnRyb2xsZXIpOworCitAaW1wbGVtZW50YXRpb24gV0tTeXN0ZW1QcmV2aWV3VmlldyB7CisgICAg
UmV0YWluUHRyPFFMUHJldmlld0NvbnRyb2xsZXI+IF9xbFByZXZpZXdDb250cm9sbGVyOworICAg
IFJldGFpblB0cjxOU0l0ZW1Qcm92aWRlcj4gX2l0ZW1Qcm92aWRlcjsKKyAgICBSZXRhaW5QdHI8
UUxJdGVtPiBfaXRlbTsKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBfZGF0YTsKKyAgICBSZXRhaW5Q
dHI8TlNTdHJpbmc+IF9zdWdnZXN0ZWRGaWxlbmFtZTsKKworICAgIFdLV2ViVmlldyAqX3dlYlZp
ZXc7Cit9CisKKy0gKGluc3RhbmNldHlwZSl3ZWJfaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1l
IHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRXaXRoRnJhbWU6ZnJhbWVdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIHNlbGYu
YmFja2dyb3VuZENvbG9yID0gW1VJQ29sb3IgbGlnaHRHcmF5Q29sb3JdOworCisgICAgX3dlYlZp
ZXcgPSB3ZWJWaWV3OworCisgICAgVUlTY3JvbGxWaWV3ICpzY3JvbGxWaWV3ID0gd2ViVmlldy5z
Y3JvbGxWaWV3OworICAgIFtzY3JvbGxWaWV3IHNldE1pbmltdW1ab29tU2NhbGU6MV07CisgICAg
W3Njcm9sbFZpZXcgc2V0TWF4aW11bVpvb21TY2FsZToxXTsKKyAgICBbc2Nyb2xsVmlldyBzZXRC
YWNrZ3JvdW5kQ29sb3I6W1VJQ29sb3IgbGlnaHRHcmF5Q29sb3JdXTsKKworICAgIHJldHVybiBz
ZWxmOworfQorCistICh2b2lkKXdlYl9zZXRDb250ZW50UHJvdmlkZXJEYXRhOihOU0RhdGEgKilk
YXRhIHN1Z2dlc3RlZEZpbGVuYW1lOihOU1N0cmluZyAqKWZpbGVuYW1lCit7CisgICAgUmVmUHRy
PFdlYktpdDo6V2ViUGFnZVByb3h5PiBwYWdlID0gX3dlYlZpZXctPl9wYWdlOworICAgIFVJVmll
d0NvbnRyb2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJvbGxlciA9IHBhZ2UtPnVpQ2xpZW50KCku
cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCk7CisKKyAgICBpZiAoIXByZXNlbnRpbmdWaWV3Q29u
dHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgX3N1Z2dlc3RlZEZpbGVuYW1lID0gYWRv
cHROUyhbZmlsZW5hbWUgY29weV0pOworICAgIF9kYXRhID0gYWRvcHROUyhbZGF0YSBjb3B5XSk7
CisKKyAgICBOU1N0cmluZyAqZXh0ZW5zaW9uID0gW1tfc3VnZ2VzdGVkRmlsZW5hbWUuZ2V0KCkg
cGF0aEV4dGVuc2lvbl0gbG93ZXJjYXNlU3RyaW5nXTsKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdS
ZWY+IGNvbnRlbnRUeXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVy
Rm9yVGFnKGtVVFRhZ0NsYXNzRmlsZW5hbWVFeHRlbnNpb24sIChfX2JyaWRnZSBDRlN0cmluZ1Jl
ZilleHRlbnNpb24sIG5pbCkpOworCisgICAgX2l0ZW0gPSBhZG9wdE5TKFthbGxvY1FMSXRlbUlu
c3RhbmNlKCkgaW5pdFdpdGhEYXRhUHJvdmlkZXI6c2VsZiBjb250ZW50VHlwZTooTlNTdHJpbmcg
Kiljb250ZW50VHlwZS5nZXQoKSBwcmV2aWV3VGl0bGU6X3N1Z2dlc3RlZEZpbGVuYW1lLmdldCgp
XSk7CisKKyAgICBfcWxQcmV2aWV3Q29udHJvbGxlciA9IGFkb3B0TlMoW2FsbG9jUUxQcmV2aWV3
Q29udHJvbGxlckluc3RhbmNlKCkgaW5pdF0pOworICAgIFtfcWxQcmV2aWV3Q29udHJvbGxlciBz
ZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbX3FsUHJldmlld0NvbnRyb2xsZXIgc2V0RGF0YVNvdXJj
ZTpzZWxmXTsKKworICAgIFtwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250
cm9sbGVyOl9xbFByZXZpZXdDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOllFUyBjb21wbGV0aW9u
Om51bGxwdHJdOworfQorCistICh2b2lkKXdlYl9zZXRNaW5pbXVtU2l6ZTooQ0dTaXplKXNpemUK
K3sKK30KKworLSAodm9pZCl3ZWJfc2V0T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0OihDR1Np
emUpaW5zZXQKK3sKK30KKworLSAodm9pZCl3ZWJfY29tcHV0ZWRDb250ZW50SW5zZXREaWRDaGFu
Z2UKK3sKK30KKworLSAodm9pZCl3ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzooVUlWaWV3ICopZml4
ZWRPdmVybGF5VmlldworeworfQorCistICh2b2lkKXdlYl9kaWRTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uOihXS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKW5hdmlnYXRpb25UeXBlCit7Cit9CisK
KyNwcmFnbWEgbWFyayBGaW5kLWluLVBhZ2UKKworLSAodm9pZCl3ZWJfY291bnRTdHJpbmdNYXRj
aGVzOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihfV0tGaW5kT3B0aW9ucylvcHRpb25zIG1h
eENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50Cit7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFn
ZVByb3h5PiBwYWdlID0gX3dlYlZpZXctPl9wYWdlOworICAgIHBhZ2UtPmZpbmRDbGllbnQoKS5k
aWRDb3VudFN0cmluZ01hdGNoZXMocGFnZS5nZXQoKSwgc3RyaW5nLCAwKTsKK30KKworLSAodm9p
ZCl3ZWJfZmluZFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooX1dLRmluZE9wdGlv
bnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3VudAoreworICAgIFJlZlB0cjxX
ZWJLaXQ6OldlYlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAgICBwYWdlLT5m
aW5kQ2xpZW50KCkuZGlkRmFpbFRvRmluZFN0cmluZyhwYWdlLmdldCgpLCBzdHJpbmcpOworfQor
CistICh2b2lkKXdlYl9oaWRlRmluZFVJCit7Cit9CisKKyNwcmFnbWEgbWFyayBRTFByZXZpZXdD
b250cm9sbGVyRGF0YVNvdXJjZQorCistIChOU0ludGVnZXIpbnVtYmVyT2ZQcmV2aWV3SXRlbXNJ
blByZXZpZXdDb250cm9sbGVyOihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgorewor
ICAgIHJldHVybiAxOworfQorCistIChpZDxRTFByZXZpZXdJdGVtPilwcmV2aWV3Q29udHJvbGxl
cjooUUxQcmV2aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgcHJldmlld0l0ZW1BdEluZGV4OihO
U0ludGVnZXIpaW5kZXgKK3sKKyAgICByZXR1cm4gX2l0ZW0uZ2V0KCk7Cit9CisKKyNwcmFnbWEg
bWFyayBRTFByZXZpZXdJdGVtRGF0YVByb3ZpZGVyCisKKy0gKE5TRGF0YSAqKXByb3ZpZGVEYXRh
Rm9ySXRlbTooUUxJdGVtICopaXRlbQoreworICAgIHJldHVybiBfZGF0YS5nZXQoKTsKK30KKwor
I3ByYWdtYSBtYXJrIFFMUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZQorCistICh2b2lkKXByZXZp
ZXdDb250cm9sbGVyV2lsbERpc21pc3M6KFFMUHJldmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVy
Cit7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBwYWdlID0gX3dlYlZpZXctPl9w
YWdlOworICAgIHBhZ2UtPmdvQmFjaygpOworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzUzNjU5ZTM3
OTE1ZGQ4M2E0NTYzOTc3YWI4NTNiNmYyZTliZmNiNy4uZDdjMzQxZTRiNzg5N2MwYjQ1NTFjZjNm
YmZlMDg1NzMzNDBhM2Q2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC03NjAsNiArNzYwLDggQEAKIAkJMzEzMTI2MjExNDhGRjgyQzAw
QkEyQTM5IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEyNjFDMTQ4RkY4MkIwMEJBMkEzOSAvKiBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyLmggKi87IH07CiAJCTMxNTcxMzVFMjA0MEE5QjIwMDg0RjlDRiAv
KiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE1NzEzNUMyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3Rl
bVByZXZpZXdDb250cm9sbGVyQ29jb2EubW0gKi87IH07CiAJCTMxNTcxMzVGMjA0MEE5QjIwMDg0
RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE1NzEzNUQyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3Rl
bVByZXZpZXdDb250cm9sbGVyLmggKi87IH07CisJCTMxNkI4QjYzMjA1NEI1NTgwMEJENEE2MiAv
KiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzE2QjhCNjEyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmll
d1ZpZXcubW0gKi87IH07CisJCTMxNkI4QjY0MjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVBy
ZXZpZXdWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTZCOEI2MjIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oICovOyB9
OwogCQkzMTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzIx
QzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCAqLzsgfTsKIAkJMzE3
RkU3QzYxQzQ4N0E3MTAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzExQzQ4N0E2
NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3BwICovOyB9OwogCQkzMTdGRTdD
RDFDNDg3REFFMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDOTFDNDg3
RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggKi87IH07CkBA
IC0zMTQ4LDYgKzMxNTAsOCBAQAogCQkzMTU3MTM1QzIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVt
UHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVBy
ZXZpZXdDb250cm9sbGVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
NTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTYwN0YzODE5NjI3MDAyMDA5Qjg3REEgLyogTGVnYWN5U2Vzc2lvblN0YXRl
Q29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVNlc3Npb25T
dGF0ZUNvZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTZCOEI2MTIwNTRC
NTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IFdLU3lzdGVtUHJldmlld1ZpZXcubW07IHBhdGggPSBpb3MvV0tTeXN0ZW1QcmV2aWV3Vmll
dy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QjhCNjIyMDU0QjU1ODAwQkQ0
QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tTeXN0ZW1QcmV2
aWV3Vmlldy5oOyBwYXRoID0gaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzE3RkU3QzExQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1l
bnRhbEZlYXR1cmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVBJ
RXhwZXJpbWVudGFsRmVhdHVyZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMx
N0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE3RkU3QzcxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9X
S0V4cGVyaW1lbnRhbEZlYXR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
X1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MzI5OSw4ICszMzAzLDggQEAKIAkJNDEwNDgyQ0IxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdv
cmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDTmV0d29yay5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDQ4MkNDMURERDJGQjUwMEYwMDZE
MCAvKiBSVENOZXR3b3JrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ05l
dHdvcmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExMkI1NDcxRjlGRDNBQjAw
RTY3ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDUmVzb2x2ZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTQxMTJCNTQ4MUY5RkQzQUMwMEU2Nzg3NSAvKiBOZXR3b3JrUlRDUmVzb2x2ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ1Jlc29sdmVyLmg7IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Jlc29sdmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTJCNTQ3MUY5RkQzQUIwMEU2Nzk4NiAvKiBOZXR3b3Jr
UlRDUmVzb2x2ZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBOZXR3b3JrUlRDUmVzb2x2ZXJDb2NvYS5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc4NzUgLyogTmV0d29ya1JUQ1Jlc29sdmVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlci5oOyBwYXRo
ID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc5ODYgLyogTmV0d29ya1JU
Q1Jlc29sdmVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29y
a1JUQ1Jlc29sdmVyQ29jb2EuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDUmVzb2x2ZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTFCMjI2
MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENOZXR3b3JrLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzA3
NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXQuY3BwOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNTgyOCw2ICs1ODMyLDggQEAKIAkJCQkwRkNCNEU0NTE4QkJFMDQ0MDAw
RkNGQzkgLyogV0tTY3JvbGxWaWV3Lm1tICovLAogCQkJCTI2RjEwQkU2MTkxODdFMkUwMDFEMEU2
OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaCAqLywKIAkJCQkyNkYx
MEJFNzE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25p
emVyLm0gKi8sCisJCQkJMzE2QjhCNjIyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmll
d1ZpZXcuaCAqLywKKwkJCQkzMTZCOEI2MTIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2
aWV3Vmlldy5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gaW9zOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKQEAgLTg0OTIsMTQgKzg0OTgsMTQgQEAKIAkJQ0RDMjgzMUEyMDFCRDc1NjAwRTZF
NzQ1IC8qIGZ1bGxzY3JlZW4gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWMuY3BwICovLAorCQkJCUNEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2Ny
ZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCAqLywKIAkJCQlDREMyODMxQjIwMUJENzlEMDBFNkU3NDUg
LyogV0tGdWxsc2NyZWVuU3RhY2tWaWV3LmggKi8sCiAJCQkJQ0RDMjgzMUMyMDFCRDc5RDAwRTZF
NzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5tbSAqLywKIAkJCQlDRDBDNjgyRjIwMUZEMTAx
MDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCAqLywKIAkJCQlDRDBDNjgz
MDIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0gKi8sCiAJ
CQkJM0Y5MTVDMEYxRjU2NERFRDAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXJJT1MuaCAqLywKIAkJCQkzRjkxNUMwRTFGNTY0REVEMDAxODNDRTkgLyogV0tGdWxsU2NyZWVu
V2luZG93Q29udHJvbGxlcklPUy5tbSAqLywKLQkJCQlDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEg
LyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggKi8sCi0JCQkJQ0QxOUQyRTkyMDQ2NDA2
RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHAgKi8sCiAJCQkpOwog
CQkJbmFtZSA9IGZ1bGxzY3JlZW47CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtODgy
OSw3ICs4ODM1LDYgQEAKIAkJCQk5OTU1QTZGNTFDNzk4NkUwMDBFQjZBOTMgLyogQXV0b21hdGlv
bkJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlDODFENUExQzIwRTdF
MjAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5MjQ5
QUQ2MUYxRjFFNUYwMEI2MkZCQiAvKiBBdXRvbWF0aW9uRnJvbnRlbmREaXNwYXRjaGVycy5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJQ0QxOUQyRUEyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5U
b3VjaFNlY2hldXJpc3RpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk1NUE2RjcxQzc5ODZFNTAw
RUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk5MEQyOEJCMUM2NTM5RDMwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RBMDQxRjQxQUNFMjEwNTAwNEExM0VDIC8qIEJhY2tCb2FyZFNl
cnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKQEAgLTg4NDUsNyArODg1MCw2IEBACiAJCQkJMUFB
MkU1MUQxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTJEOTU2RjEyODQ4NTY0MDAxRUI5NjIgLyogQ2hpbGRQcm9jZXNzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUZBRUMzQTFCMDY1NzYzMDAwOUM0RTcgLyogQ2hpbGRQcm9jZXNzTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAotCQkJCUNEQzI4MzFEMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxz
Y3JlZW5TdGFja1ZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTEzQzY3MTY2RUFCQjIwMDE0
OUZDQiAvKiBDaGlsZFByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjkwRjQyNzIx
NzJBMEM3NDAwOTM5RkYwIC8qIENoaWxkUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNFMTFBRDUyMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5oIGluIEhlYWRl
cnMgKi8sCkBAIC04ODg4LDYgKzg4OTIsNyBAQAogCQkJCTFBRTAwRDYxMTgzMTc5MjEwMDA4N0RE
NyAvKiBGcmFtZUxvYWRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ0QUYwODkyMDQ0QzND
NDAwNkM4ODE3IC8qIEZyb250Qm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0Q3OEUxMTUxREI3RDdFRDAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNEMTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUJFMUIzMUQ1OTAyREQwMEREN0M2OCAv
KiBHYW1lcGFkRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxNzc1M0YxMThCQUJGMDAwN0Q5
RTlBIC8qIEdlbmVyaWNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0MkYxMkRC
QjlCNjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggaW4g
SGVhZGVycyAqLywKQEAgLTkzOTAsNyArOTM5NSw2IEBACiAJCQkJOTM0QjcyNDQxOUY1QjlCRTAw
QUU5NkQ2IC8qIFdLQWN0aW9uTWVudUl0ZW1UeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5
RjQwMUMxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5cGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwRkNCNEU0ODE4QkJFMDQ0MDAwRkNGQzkgLyogV0tBY3Rpb25TaGVldC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZp
ZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU0QTE4QkJFMDQ0MDAwRkNG
QzkgLyogV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVGQTFF
RDMxOEUxMDYyMjAwQjNGNDAyIC8qIFdLQWlyUGxheVJvdXRlUGlja2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0REQjMyRDEyNEVDMkUxMDA0OEQxM0MgLyogV0tBUElDYXN0LmggaW4gSGVhZGVy
cyAqLywKQEAgLTk1MjQsNiArOTUyOCw4IEBACiAJCQkJMkQzQTY1RTcxQTdDM0FBNzAwQ0FDNjM3
IC8qIFdLRnJhbWVJbmZvUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5RjZBNTExMjNERDBE
MDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MUFFQTIyRjE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlDREMyODMxRDIwMUJENzlEMDBFNkU3NDUgLyogV0tGdWxsc2Ny
ZWVuU3RhY2tWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDBDNjgzMTIwMUZEMTAxMDBBNTk0
MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
Q0E4NUM5MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzRkZEREI5NjFGNTc3RjQ4MDA1MEU1OTMgLyogV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0Y5MTVDMTAxRjU2
NERFRTAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0gaW4gSGVh
ZGVycyAqLywKQEAgLTk2NjgsNiArOTY3NCw3IEBACiAJCQkJQkM0MDc2MUExMjRGRjAzNzAwNjhG
MjBBIC8qIFdLU3RyaW5nQ0YuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTA5OTgwMTI1NkE5ODIw
MDA4Mzc1NiAvKiBXS1N0cmluZ1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RjEwQkU4
MTkxODdFMkUwMDFEMEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxNkI4QjY0MjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3Rl
bVByZXZpZXdWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY4ODZBNjFGMkMyMjgxMDBDMTkz
RUYgLyogV0tUZXN0aW5nU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENzU1QzExRDkx
QjgxNTAwODQzQkQxIC8qIFdLVGV4dENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJERDY3
QTM1MUJEODYxMDYwMDUzQjI1MSAvKiBXS1RleHRGaW5kZXJDbGllbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMTA0ODMsNyArMTA0OTAsNiBAQAogCQkJCTk5MEQyOEJDMUM2NTM5REEwMDk4Njk3NyAv
KiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ2QTJCNjA4
MUU1Njc2QTYwMEMzREVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2NEEyRjExOTFBRjE0RTAwMTA3MzdEIC8qIEJsb2JE
YXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCUNEMTlEMkVCMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0
aWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MDg3NkIxNkQ2Q0E2OTAwRjk5MjI2IC8qIEJs
b2JSZWdpc3RyeVByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRjE4NjM4MTY3RDA3MUUw
MEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxODk3RUQ3MUY0
MTVEOEEwMDE2RkE0MiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0xMDUzNCw2ICsxMDU0MCw3IEBACiAJCQkJMUExNEY4RTExRDc0QzgzNDAwNkNCRUM2IC8qIEZy
YW1lSW5mb0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMDBENjAxODMxNzkyMTAwMDg3
REQ3IC8qIEZyYW1lTG9hZFN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENzhFMTE0MURC
N0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVuQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
Q0QxOUQyRUIyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTVCRTFCMjFENTkwMkREMDBERDdDNjggLyogR2FtZXBh
ZERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwNkY0MzAxMkRCQjlCNjAwMkQ3OERFIC8q
IEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDMDZGNDRCMTJEQkQxRjUwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA1NzEsNyArMTA1NzgsNiBA
QAogCQkJCTFBRTQ5ODc5MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05QT2JqZWN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDRTA5Mzc3MTRGQjEyOEMwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250
ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYwQzM2NUUxOEMxMTBBNTAwRjYwN0Q3IC8qIExh
eWVyUmVwcmVzZW50YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlDREMyODMxRTIwMUJENzlE
MDBFNkU3NDUgLyogV0tGdWxsc2NyZWVuU3RhY2tWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUE5MkRDMTMxMkY4QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNs
YXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNGRUNCMDQxRTFFRDFDQzAwRjg4NTA0IC8qIExl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTExMDcwLDcg
KzExMDc2LDYgQEAKIAkJCQlCQzMwNjZCRTEyNUE0NDIxMDBFNzEyNzggLyogV2ViUHJvY2Vzc01l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U0RDIxQTFBNDkxNEEzMDBD
N0YxNTIgLyogV2ViUHJvY2Vzc1Bvb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNEQyMTYx
QTQ5MTQ4NDAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sQ29jb2EubW0gaW4gU291cmNlcyAqLywK
LQkJCQlDRDBDNjgzMjIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xs
ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0U0RDIyNzFBNDkxNkMyMDBDN0YxNTIgLyogV2Vi
UHJvY2Vzc1Bvb2xNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFC
MTExMTJGNUU0RjAwMzM3QkFCIC8qIFdlYlByb2Nlc3NQcm94eS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQTA0RjYxOTFBNEEzQTdBMDBBMjFCNkUgLyogV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0g
aW4gU291cmNlcyAqLywKQEAgLTExMjE4LDYgKzExMjIzLDggQEAKIAkJCQkyRDNBNjVFNjFBN0Mz
QUE3MDBDQUM2MzcgLyogV0tGcmFtZUluZm9SZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNC
OUY2QTYxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMUFFQTIzMDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRB
Y2Nlc3NXYXRjaGVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0RDMjgzMUUyMDFCRDc5RDAwRTZF
NzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEMEM2
ODMyMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUNEQ0E4NUM4MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5X
aW5kb3dDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0ZGRERCOTcxRjU3ODBFMTAw
NTBFNTkzIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0gaW4gU291cmNlcyAq
LywKIAkJCQlCQzU0Q0MxMzEyRDY3NEVFMDA1QzY3QjAgLyogV0tHZW9sb2NhdGlvbk1hbmFnZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTMxMSw2ICsxMTMxOCw3IEBACiAJCQkJQkM0MDc2MDUx
MjRGRjAyNzAwNjhGMjBBIC8qIFdLU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3
NjE5MTI0RkYwMzcwMDY4RjIwQSAvKiBXS1N0cmluZ0NGLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjZGMTBCRTkxOTE4N0UyRTAwMUQwRTY4IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVj
b2duaXplci5tIGluIFNvdXJjZXMgKi8sCisJCQkJMzE2QjhCNjMyMDU0QjU1ODAwQkQ0QTYyIC8q
IFdLU3lzdGVtUHJldmlld1ZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUY4ODZBNTFGMkMy
MjdFMDBDMTkzRUYgLyogV0tUZXN0aW5nU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MUQ3NTVDMjFEOTFCODFCMDA4NDNCRDEgLyogV0tUZXh0Q2hlY2tlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyREQ2N0EzNjFCRDg2MTA2MDA1M0IyNTEgLyogV0tUZXh0RmluZGVyQ2xpZW50Lm1t
IGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335675</attachid>
            <date>2018-03-12 20:08:29 -0700</date>
            <delta_ts>2018-03-12 20:08:29 -0700</delta_ts>
            <desc>Patch 3 for EWS</desc>
            <filename>bug-183582-20180313140827.patch</filename>
            <type>text/plain</type>
            <size>29149</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkYTA4YmEx
ZjAxYjU1MDk1N2Y1OTU5MmE1MjJkOTVmYzdlY2IwZjAyLi4xYzA3NGNhZDczOTY2NDJhM2VlMzM0
MzBlOGJmZDQ4NzcyZmNmOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOC0wMy0xMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGEgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyIGZvciBzeXN0ZW0gcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzU4MgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzgzOTM1Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUgUXVpY2tMb29rIFNQSS4KKworICAgICAgICAqIHBh
bC9zcGkvaW9zL1F1aWNrTG9va1NQSS5oOgorCiAyMDE4LTAzLTA3ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNvcnQgYW5kIHNlcGFyYXRlIEZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1YzY2OTBjMTUwMjgxN2ZlYzVjMjMzZDA3
NTk2NTJmNWIyOTcxZWEuLjU1ZDJlMTQ5MWUxZGNmNTM0MmEyMTlkYzgxMTEyY2JhMWRmZTUyZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTgtMDMtMTIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBm
b3Igc3lzdGVtIHByZXZpZXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODM1ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MzkzNTY5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBX
S1N5c3RlbVByZXZpZXdWaWV3LCB3aGljaCBjb25mb3JtcyB0byBXS1dlYlZpZXdDb250ZW50UHJv
dmlkZXIsIGluCisgICAgICAgIG9yZGVyIHRvIHZpZXcgY29udGVudCBhcyBhICJzeXN0ZW0gcHJl
dmlldyIuIFRoaXMgZWZmZWN0aXZlbHkgcmVwbGFjZXMgdGhlCisgICAgICAgIFN5c3RlbVByZXZp
ZXdDb250cm9sbGVyLCB3aGljaCB3aWxsIGJlIHJlbW92ZWQgc29vbi4KKworICAgICAgICBTb21l
IG9mIHRoZSByZXF1aXJlZCBtZXRob2RzIG9mIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBhcmUg
bm90IG5lY2Vzc2FyeSBvbgorICAgICAgICB0aGlzIGluc3RhbmNlLCBzbyBhIGZvbGxvdy11cCBw
YXRjaCB3aWxsIGNsZWFuIHRoZSBwcm90b2NvbCB1cCBhIGJpdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06IERvbid0IHRyaWdnZXIgYSBTeXN0ZW1QcmV2
aWV3IHdoZW4gZG93bmxvYWRpbmcuCisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6
TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKToKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkgaW5pdF0p
OiBSZWdpc3RlciB0aGUgV0tTeXN0ZW1QcmV2aWV3VmlldyBmb3IKKyAgICAgICAgTUlNRSB0eXBl
cyByZXRyaWV2ZWQgZnJvbSBXZWJLaXRBZGRpdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tOiBBZGRlZC4KKworICAgICAgICAoLVtXS1N5c3RlbVBy
ZXZpZXdWaWV3IHdlYl9pbml0V2l0aEZyYW1lOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLU3lz
dGVtUHJldmlld1ZpZXcgd2ViX3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5h
bWU6XSk6IFRoaXMgaXMgdGhlCisgICAgICAgIG1ldGhvZCB0aGF0IGFjdHVhbGx5IGNyZWF0ZXMg
YSBRdWlja0xvb2sgcHJldmlldyBhbmQgcHJvdmlkZXMgdGhlIGRhdGEuCisgICAgICAgICgtW1dL
U3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldE1pbmltdW1TaXplOl0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9zZXRPdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6Cisg
ICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlk
Q2hhbmdlXSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldEZpeGVkT3Zl
cmxheVZpZXc6XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2RpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb246XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2Vi
X2NvdW50U3RyaW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9maW5kU3RyaW5nOm9wdGlvbnM6bWF4Q291bnQ6XSk6CisgICAg
ICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2hpZGVGaW5kVUldKToKKworICAgICAgICAo
LVtXS1N5c3RlbVByZXZpZXdWaWV3IG51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3Q29udHJv
bGxlcjpdKTogUXVpY2tMb29rIGRlbGVnYXRlcy4KKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2aWV3
VmlldyBwcmV2aWV3Q29udHJvbGxlcjpwcmV2aWV3SXRlbUF0SW5kZXg6XSk6CisgICAgICAgICgt
W1dLU3lzdGVtUHJldmlld1ZpZXcgcHJvdmlkZURhdGFGb3JJdGVtOl0pOgorICAgICAgICAoLVtX
S1N5c3RlbVByZXZpZXdWaWV3IHByZXZpZXdDb250cm9sbGVyV2lsbERpc21pc3M6XSk6CisKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcy4K
KwogMjAxOC0wMy0xMiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSZW1vdmUgR3JpZExheW91dCBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaAppbmRleCBiNDljZWUxMzJiNzMzYzZl
MTg3Y2MxNzJmZGY5ZjJjYmMxNzNiYjg0Li5hOGUzNDYwODBhOTA0ZTAzYWJiYjI5ZWI3M2MzMmRm
NTU0MjRkN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvUXVp
Y2tMb29rU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1F1aWNrTG9v
a1NQSS5oCkBAIC0zNCw2ICszNCw5IEBACiBAaW50ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciA6
IE5TT2JqZWN0CiBAZW5kCiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdudWxsYWJpbGl0eS1jb21wbGV0ZW5lc3MiCisK
IEBpbnRlcmZhY2UgUUxQcmV2aWV3Q29udmVydGVyICgpCiAtIChOU1VSTFJlcXVlc3QgKilzYWZl
UmVxdWVzdEZvclJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CiAtIChpZClpbml0V2l0
aENvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGVsZWdhdGU6KGlkKWRl
bGVnYXRlIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2Ugb3B0aW9uczooTlNEaWN0
aW9uYXJ5ICopb3B0aW9uczsKQEAgLTQ3LDYgKzUwLDE5IEBACiBAcHJvcGVydHkgKHJlYWRvbmx5
LCBub25hdG9taWMpIE5TVVJMUmVzcG9uc2UgKnByZXZpZXdSZXNwb25zZTsKIEBlbmQKIAorI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorCitAY2xhc3MgUUxJdGVtOworCitAcHJvdG9jb2wg
UUxQcmV2aWV3SXRlbURhdGFQcm92aWRlciA8TlNPYmplY3Q+CistIChOU0RhdGEgKilwcm92aWRl
RGF0YUZvckl0ZW06KFFMSXRlbSAqKWl0ZW07CitAZW5kCisKK0BpbnRlcmZhY2UgUUxJdGVtIDog
TlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERhdGFQcm92aWRlcjooaWQ8UUxQcmV2
aWV3SXRlbURhdGFQcm92aWRlcj4gX05vbm51bGwpZGF0YSBjb250ZW50VHlwZTooTlNTdHJpbmcg
Kl9Ob25udWxsKWNvbnRlbnRUeXBlIHByZXZpZXdUaXRsZTooTlNTdHJpbmcgKl9Ob25udWxsKXBy
ZXZpZXdUaXRsZTsKK0BlbmQKKworCiAjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTEwMDAwCiAjZGVmaW5lIGtRTFJldHVyblBhc3N3b3JkUHJvdGVjdGVkIDEgPDwgMgog
I2Vsc2UKQEAgLTY0LDkgKzgwLDE0IEBAIHN0YXRpY19hc3NlcnQoa1FMUmV0dXJuUGFzc3dvcmRQ
cm90ZWN0ZWQgPT0gNDQ4MjAsICJrUUxSZXR1cm5QYXNzd29yZFByb3RlY3RlZCBzCiAKIFdURl9F
WFRFUk5fQ19CRUdJTgogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XbnVsbGFiaWxpdHktY29tcGxldGVuZXNzIgorCiBO
U1NldCAqUUxQcmV2aWV3R2V0U3VwcG9ydGVkTUlNRVR5cGVzKCk7CiBOU1N0cmluZyAqUUxUeXBl
Q29weUJlc3RNaW1lVHlwZUZvckZpbGVOYW1lQW5kTWltZVR5cGUoTlNTdHJpbmcgKmZpbGVOYW1l
LCBOU1N0cmluZyAqbWltZVR5cGUpOwogTlNTdHJpbmcgKlFMVHlwZUNvcHlCZXN0TWltZVR5cGVG
b3JVUkxBbmRNaW1lVHlwZShOU1VSTCAqLCBOU1N0cmluZyAqbWltZVR5cGUpOwogTlNTdHJpbmcg
KlFMVHlwZUNvcHlVVElGb3JVUkxBbmRNaW1lVHlwZShOU1VSTCAqLCBOU1N0cmluZyAqbWltZVR5
cGUpOwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKIFdURl9FWFRFUk5fQ19FTkQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0
ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpp
bmRleCA5NzhhMTAyOGQ5MDU0OTZhMDA5NTY5NTc4MGZiZDdjOGVhODIwNTU3Li5jNWUzOTQ1MjRj
NDQ4Mjk0YzM5ZmJkYjI3MDFiMzZjYTg1NTYzMDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC02MzYsNyArNjM2LDcgQEAgdm9p
ZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25SZXNwb25zZShXZWJQYWcKICAgICBSZWZQdHI8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclBy
b3h5PiBsb2NhbExpc3RlbmVyID0gV1RGTW92ZShsaXN0ZW5lcik7CiAgICAgUmVmUHRyPENvbXBs
ZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxD
aGVja2VyOjpjcmVhdGUobmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3Iod2ViVmll
dzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6ZGVjaXNpb25IYW5kbGVyOikpOwog
ICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb25SZXNwb25zZT4gbmF2aWdhdGlvblJlc3BvbnNlUmVm
UHRyKG5hdmlnYXRpb25SZXNwb25zZS5wdHIoKSk7Ci0gICAgW25hdmlnYXRpb25EZWxlZ2F0ZSB3
ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uUmVzcG9uc2U6d3JhcHBlcihuYXZpZ2F0aW9uUmVzcG9uc2UpIGRlY2lzaW9uSGFuZGxlcjpb
bG9jYWxMaXN0ZW5lciwgY2hlY2tlciwgbmF2aWdhdGlvblJlc3BvbnNlID0gV1RGTW92ZShuYXZp
Z2F0aW9uUmVzcG9uc2VSZWZQdHIpLCAmcGFnZV0oV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kg
cmVzcG9uc2VQb2xpY3kpIHsKKyAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6bV9uYXZp
Z2F0aW9uU3RhdGUubV93ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZTp3
cmFwcGVyKG5hdmlnYXRpb25SZXNwb25zZSkgZGVjaXNpb25IYW5kbGVyOltsb2NhbExpc3RlbmVy
LCBjaGVja2VyXShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSByZXNwb25zZVBvbGljeSkgewog
ICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFu
ZGxlcigpOwpAQCAtNjU0LDExICs2NTQsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdh
dGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKFdlYlBhZwogI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV3N3aXRjaCIKICAgICAgICAgY2FzZSBfV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lC
ZWNvbWVEb3dubG9hZDoKLSAgICAgICAgICAgIGlmIChwYWdlLnN5c3RlbVByZXZpZXdDb250cm9s
bGVyKCktPmNhblByZXZpZXcobmF2aWdhdGlvblJlc3BvbnNlLT5yZXNwb25zZSgpLm1pbWVUeXBl
KCkpKSB7Ci0gICAgICAgICAgICAgICAgcGFnZS5zeXN0ZW1QcmV2aWV3Q29udHJvbGxlcigpLT5z
aG93UHJldmlldyhuYXZpZ2F0aW9uUmVzcG9uc2UtPnJlc3BvbnNlKCkudXJsKCkpOwotICAgICAg
ICAgICAgICAgIGxvY2FsTGlzdGVuZXItPmlnbm9yZSgpOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgbG9jYWxMaXN0ZW5lci0+ZG93bmxvYWQoKTsKKyAgICAgICAgICAgIGxv
Y2FsTGlzdGVuZXItPmRvd25sb2FkKCk7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eS5tbQppbmRleCAwODk2YzFjZDMzOTkxYzczYWVjZjc4ZDk3ODNkYzk3ZWYwMDc5YmM1Li4wM2M4
MGUxMDA3MDBmYTljMmE5MGY2YmU0NTBjMDBiYzBlMTI3OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJv
dmlkZXJSZWdpc3RyeS5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAog
I2ltcG9ydCAiV0tQREZWaWV3LmgiCisjaW1wb3J0ICJXS1N5c3RlbVByZXZpZXdWaWV3LmgiCiAj
aW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAj
aW1wb3J0IDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KQEAgLTM5LDYgKzQwLDEwIEBACiAj
aW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxXZWJLaXRBZGRp
dGlvbnMvU3lzdGVtUHJldmlld1R5cGVzLmNwcD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0
cnkgewpAQCAtNTYsNiArNjEsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICAgICAg
W3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpbV0tQREZWaWV3IGNsYXNzXSBmb3JNSU1FVHlwZTptaW1l
VHlwZV07CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykgJiYgVVNFKFFVSUNLX0xPT0spICYm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisgICAgZm9yIChhdXRvJiBtaW1lVHlwZSA6IGdldFN5
c3RlbVByZXZpZXdNSU1FVHlwZXMoKSkKKyAgICAgICAgW3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpb
V0tTeXN0ZW1QcmV2aWV3VmlldyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5cGVdOworI2VuZGlm
CisKICAgICByZXR1cm4gc2VsZjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAyY2U1Nzk4MTAwYWY0YjQw
OGM1ZDQ3Y2FiMzg5NmJmMjhmZDVlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3LmgKQEAgLTAsMCArMSwzNyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShRVUlDS19MT09LKQorCisjaW1wb3J0
ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCIKKyNpbXBvcnQgPFF1aWNrTG9vay9RdWlja0xv
b2suaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxwYWwvc3BpL2lvcy9RdWlj
a0xvb2tTUEkuaD4KKworQGludGVyZmFjZSBXS1N5c3RlbVByZXZpZXdWaWV3IDogVUlWaWV3IDxX
S1dlYlZpZXdDb250ZW50UHJvdmlkZXIsIFFMUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlLCBR
TFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFFMUHJldmlld0l0ZW1EYXRhUHJvdmlkZXI+CisK
K0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5
c3RlbVByZXZpZXdWaWV3Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MzQ5MDc3MjgzNDkzMmRjZTVhYjFiMzBm
YzYzNTBmYzM0NDM4MTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbQpAQCAtMCwwICsxLDE2NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIgor
CisjaWYgUExBVEZPUk0oSU9TKSAmJiBVU0UoUVVJQ0tfTE9PSykKKworI2ltcG9ydCAiQVBJRmlu
ZENsaWVudC5oIgorI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKKyNpbXBvcnQgIldLV2ViVmlld0lu
dGVybmFsLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPFdlYkNvcmUvRmxv
YXRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorI2ltcG9ydCA8
d3RmL1ZlY3Rvci5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7CisKK1NPRlRfTElOS19GUkFNRVdPUksoUXVpY2tMb29rKQorU09GVF9MSU5LX0NM
QVNTKFF1aWNrTG9vaywgUUxJdGVtKTsKK1NPRlRfTElOS19DTEFTUyhRdWlja0xvb2ssIFFMUHJl
dmlld0NvbnRyb2xsZXIpOworCitAaW1wbGVtZW50YXRpb24gV0tTeXN0ZW1QcmV2aWV3VmlldyB7
CisgICAgUmV0YWluUHRyPFFMUHJldmlld0NvbnRyb2xsZXI+IF9xbFByZXZpZXdDb250cm9sbGVy
OworICAgIFJldGFpblB0cjxOU0l0ZW1Qcm92aWRlcj4gX2l0ZW1Qcm92aWRlcjsKKyAgICBSZXRh
aW5QdHI8UUxJdGVtPiBfaXRlbTsKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBfZGF0YTsKKyAgICBS
ZXRhaW5QdHI8TlNTdHJpbmc+IF9zdWdnZXN0ZWRGaWxlbmFtZTsKKworICAgIFdLV2ViVmlldyAq
X3dlYlZpZXc7Cit9CisKKy0gKGluc3RhbmNldHlwZSl3ZWJfaW5pdFdpdGhGcmFtZTooQ0dSZWN0
KWZyYW1lIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAoIShzZWxmID0g
W3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAg
IHNlbGYuYmFja2dyb3VuZENvbG9yID0gW1VJQ29sb3IgbGlnaHRHcmF5Q29sb3JdOworCisgICAg
X3dlYlZpZXcgPSB3ZWJWaWV3OworCisgICAgVUlTY3JvbGxWaWV3ICpzY3JvbGxWaWV3ID0gd2Vi
Vmlldy5zY3JvbGxWaWV3OworICAgIFtzY3JvbGxWaWV3IHNldE1pbmltdW1ab29tU2NhbGU6MV07
CisgICAgW3Njcm9sbFZpZXcgc2V0TWF4aW11bVpvb21TY2FsZToxXTsKKyAgICBbc2Nyb2xsVmll
dyBzZXRCYWNrZ3JvdW5kQ29sb3I6W1VJQ29sb3IgbGlnaHRHcmF5Q29sb3JdXTsKKworICAgIHJl
dHVybiBzZWxmOworfQorCistICh2b2lkKXdlYl9zZXRDb250ZW50UHJvdmlkZXJEYXRhOihOU0Rh
dGEgKilkYXRhIHN1Z2dlc3RlZEZpbGVuYW1lOihOU1N0cmluZyAqKWZpbGVuYW1lCit7CisgICAg
UmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBwYWdlID0gX3dlYlZpZXctPl9wYWdlOworICAg
IFVJVmlld0NvbnRyb2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJvbGxlciA9IHBhZ2UtPnVpQ2xp
ZW50KCkucHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCk7CisKKyAgICBpZiAoIXByZXNlbnRpbmdW
aWV3Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgX3N1Z2dlc3RlZEZpbGVuYW1l
ID0gYWRvcHROUyhbZmlsZW5hbWUgY29weV0pOworICAgIF9kYXRhID0gYWRvcHROUyhbZGF0YSBj
b3B5XSk7CisKKyAgICBOU1N0cmluZyAqZXh0ZW5zaW9uID0gW1tfc3VnZ2VzdGVkRmlsZW5hbWUu
Z2V0KCkgcGF0aEV4dGVuc2lvbl0gbG93ZXJjYXNlU3RyaW5nXTsKKyAgICBSZXRhaW5QdHI8Q0ZT
dHJpbmdSZWY+IGNvbnRlbnRUeXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVu
dGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzRmlsZW5hbWVFeHRlbnNpb24sIChfX2JyaWRnZSBDRlN0
cmluZ1JlZilleHRlbnNpb24sIG5pbCkpOworCisgICAgX2l0ZW0gPSBhZG9wdE5TKFthbGxvY1FM
SXRlbUluc3RhbmNlKCkgaW5pdFdpdGhEYXRhUHJvdmlkZXI6c2VsZiBjb250ZW50VHlwZTooTlNT
dHJpbmcgKiljb250ZW50VHlwZS5nZXQoKSBwcmV2aWV3VGl0bGU6X3N1Z2dlc3RlZEZpbGVuYW1l
LmdldCgpXSk7CisKKyAgICBfcWxQcmV2aWV3Q29udHJvbGxlciA9IGFkb3B0TlMoW2FsbG9jUUxQ
cmV2aWV3Q29udHJvbGxlckluc3RhbmNlKCkgaW5pdF0pOworICAgIFtfcWxQcmV2aWV3Q29udHJv
bGxlciBzZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbX3FsUHJldmlld0NvbnRyb2xsZXIgc2V0RGF0
YVNvdXJjZTpzZWxmXTsKKworICAgIFtwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIgcHJlc2VudFZp
ZXdDb250cm9sbGVyOl9xbFByZXZpZXdDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOllFUyBjb21w
bGV0aW9uOm51bGxwdHJdOworfQorCistICh2b2lkKXdlYl9zZXRNaW5pbXVtU2l6ZTooQ0dTaXpl
KXNpemUKK3sKK30KKworLSAodm9pZCl3ZWJfc2V0T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0
OihDR1NpemUpaW5zZXQKK3sKK30KKworLSAodm9pZCl3ZWJfY29tcHV0ZWRDb250ZW50SW5zZXRE
aWRDaGFuZ2UKK3sKK30KKworLSAodm9pZCl3ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzooVUlWaWV3
ICopZml4ZWRPdmVybGF5VmlldworeworfQorCistICh2b2lkKXdlYl9kaWRTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uOihXS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKW5hdmlnYXRpb25UeXBlCit7
Cit9CisKKyNwcmFnbWEgbWFyayBGaW5kLWluLVBhZ2UKKworLSAodm9pZCl3ZWJfY291bnRTdHJp
bmdNYXRjaGVzOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihfV0tGaW5kT3B0aW9ucylvcHRp
b25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50Cit7CisgICAgUmVmUHRyPFdlYktpdDo6
V2ViUGFnZVByb3h5PiBwYWdlID0gX3dlYlZpZXctPl9wYWdlOworICAgIHBhZ2UtPmZpbmRDbGll
bnQoKS5kaWRDb3VudFN0cmluZ01hdGNoZXMocGFnZS5nZXQoKSwgc3RyaW5nLCAwKTsKK30KKwor
LSAodm9pZCl3ZWJfZmluZFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooX1dLRmlu
ZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3VudAoreworICAgIFJl
ZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAgICBw
YWdlLT5maW5kQ2xpZW50KCkuZGlkRmFpbFRvRmluZFN0cmluZyhwYWdlLmdldCgpLCBzdHJpbmcp
OworfQorCistICh2b2lkKXdlYl9oaWRlRmluZFVJCit7Cit9CisKKyNwcmFnbWEgbWFyayBRTFBy
ZXZpZXdDb250cm9sbGVyRGF0YVNvdXJjZQorCistIChOU0ludGVnZXIpbnVtYmVyT2ZQcmV2aWV3
SXRlbXNJblByZXZpZXdDb250cm9sbGVyOihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxl
cgoreworICAgIHJldHVybiAxOworfQorCistIChpZDxRTFByZXZpZXdJdGVtPilwcmV2aWV3Q29u
dHJvbGxlcjooUUxQcmV2aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgcHJldmlld0l0ZW1BdElu
ZGV4OihOU0ludGVnZXIpaW5kZXgKK3sKKyAgICByZXR1cm4gX2l0ZW0uZ2V0KCk7Cit9CisKKyNw
cmFnbWEgbWFyayBRTFByZXZpZXdJdGVtRGF0YVByb3ZpZGVyCisKKy0gKE5TRGF0YSAqKXByb3Zp
ZGVEYXRhRm9ySXRlbTooUUxJdGVtICopaXRlbQoreworICAgIHJldHVybiBfZGF0YS5nZXQoKTsK
K30KKworI3ByYWdtYSBtYXJrIFFMUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZQorCistICh2b2lk
KXByZXZpZXdDb250cm9sbGVyV2lsbERpc21pc3M6KFFMUHJldmlld0NvbnRyb2xsZXIgKiljb250
cm9sbGVyCit7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBwYWdlID0gX3dlYlZp
ZXctPl9wYWdlOworICAgIHBhZ2UtPmdvQmFjaygpOworfQorCitAZW5kCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzUz
NjU5ZTM3OTE1ZGQ4M2E0NTYzOTc3YWI4NTNiNmYyZTliZmNiNy4uZDdjMzQxZTRiNzg5N2MwYjQ1
NTFjZjNmYmZlMDg1NzMzNDBhM2Q2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NjAsNiArNzYwLDggQEAKIAkJMzEzMTI2MjExNDhG
RjgyQzAwQkEyQTM5IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEyNjFDMTQ4RkY4MkIwMEJBMkEzOSAv
KiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmggKi87IH07CiAJCTMxNTcxMzVFMjA0MEE5QjIwMDg0
RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE1NzEzNUMyMDQwQTlCMjAwODRGOUNGIC8q
IFN5c3RlbVByZXZpZXdDb250cm9sbGVyQ29jb2EubW0gKi87IH07CiAJCTMxNTcxMzVGMjA0MEE5
QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE1NzEzNUQyMDQwQTlCMjAwODRGOUNGIC8q
IFN5c3RlbVByZXZpZXdDb250cm9sbGVyLmggKi87IH07CisJCTMxNkI4QjYzMjA1NEI1NTgwMEJE
NEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QjhCNjEyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVt
UHJldmlld1ZpZXcubW0gKi87IH07CisJCTMxNkI4QjY0MjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5
c3RlbVByZXZpZXdWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMTZCOEI2MjIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5o
ICovOyB9OwogCQkzMTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVh
dHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3
RkU3QzIxQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCAqLzsgfTsK
IAkJMzE3RkU3QzYxQzQ4N0E3MTAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzEx
QzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3BwICovOyB9OwogCQkz
MTdGRTdDRDFDNDg3REFFMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdD
OTFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggKi87
IH07CkBAIC0zMTQ4LDYgKzMxNTAsOCBAQAogCQkzMTU3MTM1QzIwNDBBOUIyMDA4NEY5Q0YgLyog
U3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5
c3RlbVByZXZpZXdDb250cm9sbGVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxNTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMTYwN0YzODE5NjI3MDAyMDA5Qjg3REEgLyogTGVnYWN5U2Vzc2lv
blN0YXRlQ29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVNl
c3Npb25TdGF0ZUNvZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTZCOEI2
MTIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IFdLU3lzdGVtUHJldmlld1ZpZXcubW07IHBhdGggPSBpb3MvV0tTeXN0ZW1QcmV2
aWV3Vmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QjhCNjIyMDU0QjU1
ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tTeXN0
ZW1QcmV2aWV3Vmlldy5oOyBwYXRoID0gaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE3RkU3QzExQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4
cGVyaW1lbnRhbEZlYXR1cmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE3RkU3QzcxQzQ4N0Q5RDAwQTBDQTg5
IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzI5OSw4ICszMzAzLDggQEAKIAkJNDEwNDgyQ0IxREREMkZCNTAwRjAwNkQwIC8qIFJU
Q05ldHdvcmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDTmV0
d29yay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDQ4MkNDMURERDJGQjUw
MEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJUQ05ldHdvcmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExMkI1NDcxRjlG
RDNBQjAwRTY3ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDUmVzb2x2ZXIuY3BwOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQxMTJCNTQ4MUY5RkQzQUMwMEU2Nzg3NSAvKiBOZXR3b3JrUlRDUmVzb2x2
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ1Jlc29sdmVy
Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Jlc29sdmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTJCNTQ3MUY5RkQzQUIwMEU2Nzk4NiAvKiBO
ZXR3b3JrUlRDUmVzb2x2ZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBOZXR3b3JrUlRDUmVzb2x2ZXJDb2NvYS5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc4NzUgLyogTmV0d29ya1JUQ1Jlc29sdmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlci5o
OyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc5ODYgLyogTmV0
d29ya1JUQ1Jlc29sdmVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUmVzb2x2ZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENOZXR3b3JrLmg7IHBhdGggPSBOZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXQuY3BwOyBwYXRo
ID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNTgyOCw2ICs1ODMyLDggQEAKIAkJCQkwRkNCNEU0NTE4QkJF
MDQ0MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3Lm1tICovLAogCQkJCTI2RjEwQkU2MTkxODdFMkUw
MDFEMEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaCAqLywKIAkJ
CQkyNkYxMEJFNzE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVS
ZWNvZ25pemVyLm0gKi8sCisJCQkJMzE2QjhCNjIyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVt
UHJldmlld1ZpZXcuaCAqLywKKwkJCQkzMTZCOEI2MTIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0
ZW1QcmV2aWV3Vmlldy5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gaW9zOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTg0OTIsMTQgKzg0OTgsMTQgQEAKIAkJQ0RDMjgzMUEyMDFCRDc1
NjAwRTZFNzQ1IC8qIGZ1bGxzY3JlZW4gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91
Y2hTZWNoZXVyaXN0aWMuY3BwICovLAorCQkJCUNEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBG
dWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCAqLywKIAkJCQlDREMyODMxQjIwMUJENzlEMDBF
NkU3NDUgLyogV0tGdWxsc2NyZWVuU3RhY2tWaWV3LmggKi8sCiAJCQkJQ0RDMjgzMUMyMDFCRDc5
RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5tbSAqLywKIAkJCQlDRDBDNjgyRjIw
MUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCAqLywKIAkJCQlD
RDBDNjgzMDIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0g
Ki8sCiAJCQkJM0Y5MTVDMEYxRjU2NERFRDAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0Nv
bnRyb2xsZXJJT1MuaCAqLywKIAkJCQkzRjkxNUMwRTFGNTY0REVEMDAxODNDRTkgLyogV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5tbSAqLywKLQkJCQlDRDE5RDJFODIwNDY0MDZGMDAx
NzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggKi8sCi0JCQkJQ0QxOUQyRTky
MDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHAgKi8sCiAJ
CQkpOwogCQkJbmFtZSA9IGZ1bGxzY3JlZW47CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtODgyOSw3ICs4ODM1LDYgQEAKIAkJCQk5OTU1QTZGNTFDNzk4NkUwMDBFQjZBOTMgLyogQXV0
b21hdGlvbkJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlDODFENUEx
QzIwRTdFMjAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk5MjQ5QUQ2MUYxRjFFNUYwMEI2MkZCQiAvKiBBdXRvbWF0aW9uRnJvbnRlbmREaXNwYXRjaGVy
cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0QxOUQyRUEyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxz
Y3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk1NUE2RjcxQzc5
ODZFNTAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5MEQyOEJCMUM2NTM5RDMwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMDQxRjQxQUNFMjEwNTAwNEExM0VDIC8qIEJhY2tC
b2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKQEAgLTg4NDUsNyArODg1MCw2IEBACiAJ
CQkJMUFBMkU1MUQxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTJEOTU2RjEyODQ4NTY0MDAxRUI5NjIgLyogQ2hpbGRQcm9jZXNzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUZBRUMzQTFCMDY1NzYzMDAwOUM0RTcgLyogQ2hpbGRQcm9jZXNzTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEQzI4MzFEMjAxQkQ3OUQwMEU2RTc0NSAvKiBX
S0Z1bGxzY3JlZW5TdGFja1ZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTEzQzY3MTY2RUFC
QjIwMDE0OUZDQiAvKiBDaGlsZFByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjkw
RjQyNzIxNzJBMEM3NDAwOTM5RkYwIC8qIENoaWxkUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFMTFBRDUyMUNCQzQ4MkYwMDY4MUVFNSAvKiBDb2RlU2lnbmluZy5oIGlu
IEhlYWRlcnMgKi8sCkBAIC04ODg4LDYgKzg4OTIsNyBAQAogCQkJCTFBRTAwRDYxMTgzMTc5MjEw
MDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ0QUYwODky
MDQ0QzNDNDAwNkM4ODE3IC8qIEZyb250Qm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0Q3OEUxMTUxREI3RDdFRDAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5DbGllbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUNEMTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91
Y2hTZWNoZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUJFMUIzMUQ1OTAyREQwMERE
N0M2OCAvKiBHYW1lcGFkRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxNzc1M0YxMThCQUJG
MDAwN0Q5RTlBIC8qIEdlbmVyaWNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0
MkYxMkRCQjlCNjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmggaW4gSGVhZGVycyAqLywKQEAgLTkzOTAsNyArOTM5NSw2IEBACiAJCQkJOTM0QjcyNDQxOUY1
QjlCRTAwQUU5NkQ2IC8qIFdLQWN0aW9uTWVudUl0ZW1UeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTM5RjQwMUMxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5cGVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRkNCNEU0ODE4QkJFMDQ0MDAwRkNGQzkgLyogV0tBY3Rpb25TaGVldC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU0QTE4QkJFMDQ0
MDAwRkNGQzkgLyogV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzVGQTFFRDMxOEUxMDYyMjAwQjNGNDAyIC8qIFdLQWlyUGxheVJvdXRlUGlja2VyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0REQjMyRDEyNEVDMkUxMDA0OEQxM0MgLyogV0tBUElDYXN0LmggaW4g
SGVhZGVycyAqLywKQEAgLTk1MjQsNiArOTUyOCw4IEBACiAJCQkJMkQzQTY1RTcxQTdDM0FBNzAw
Q0FDNjM3IC8qIFdLRnJhbWVJbmZvUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5RjZBNTEx
MjNERDBEMDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMUFFQTIyRjE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRj
aGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDREMyODMxRDIwMUJENzlEMDBFNkU3NDUgLyogV0tG
dWxsc2NyZWVuU3RhY2tWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDBDNjgzMTIwMUZEMTAx
MDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEQ0E4NUM5MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzRkZEREI5NjFGNTc3RjQ4MDA1MEU1OTMgLyogV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0Y5MTVD
MTAxRjU2NERFRTAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0g
aW4gSGVhZGVycyAqLywKQEAgLTk2NjgsNiArOTY3NCw3IEBACiAJCQkJQkM0MDc2MUExMjRGRjAz
NzAwNjhGMjBBIC8qIFdLU3RyaW5nQ0YuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTA5OTgwMTI1
NkE5ODIwMDA4Mzc1NiAvKiBXS1N0cmluZ1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2
RjEwQkU4MTkxODdFMkUwMDFEMEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29n
bml6ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxNkI4QjY0MjA1NEI1NTgwMEJENEE2MiAvKiBX
S1N5c3RlbVByZXZpZXdWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY4ODZBNjFGMkMyMjgx
MDBDMTkzRUYgLyogV0tUZXN0aW5nU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENzU1
QzExRDkxQjgxNTAwODQzQkQxIC8qIFdLVGV4dENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJERDY3QTM1MUJEODYxMDYwMDUzQjI1MSAvKiBXS1RleHRGaW5kZXJDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMTA0ODMsNyArMTA0OTAsNiBAQAogCQkJCTk5MEQyOEJDMUM2NTM5REEwMDk4
Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ2
QTJCNjA4MUU1Njc2QTYwMEMzREVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNz
VGltZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2NEEyRjExOTFBRjE0RTAwMTA3MzdEIC8q
IEJsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCUNEMTlEMkVCMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MDg3NkIxNkQ2Q0E2OTAwRjk5MjI2
IC8qIEJsb2JSZWdpc3RyeVByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRjE4NjM4MTY3
RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxODk3
RUQ3MUY0MTVEOEEwMDE2RkE0MiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0xMDUzNCw2ICsxMDU0MCw3IEBACiAJCQkJMUExNEY4RTExRDc0QzgzNDAwNkNCRUM2
IC8qIEZyYW1lSW5mb0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMDBENjAxODMxNzky
MTAwMDg3REQ3IC8qIEZyYW1lTG9hZFN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENzhF
MTE0MURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVuQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJQ0QxOUQyRUIyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJp
c3RpYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTVCRTFCMjFENTkwMkREMDBERDdDNjggLyog
R2FtZXBhZERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwNkY0MzAxMkRCQjlCNjAwMkQ3
OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMDZGNDRCMTJEQkQxRjUwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA1NzEsNyArMTA1
NzgsNiBAQAogCQkJCTFBRTQ5ODc5MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05QT2JqZWN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDRTA5Mzc3MTRGQjEyOEMwMDExMzhEOSAvKiBMYXllckhvc3Rp
bmdDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYwQzM2NUUxOEMxMTBBNTAwRjYwN0Q3
IC8qIExheWVyUmVwcmVzZW50YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlDREMyODMxRTIw
MUJENzlEMDBFNkU3NDUgLyogV0tGdWxsc2NyZWVuU3RhY2tWaWV3Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUE5MkRDMTMxMkY4QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRs
ZUZvckNsYXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNGRUNCMDQxRTFFRDFDQzAwRjg4NTA0
IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEx
MDcwLDcgKzExMDc2LDYgQEAKIAkJCQlCQzMwNjZCRTEyNUE0NDIxMDBFNzEyNzggLyogV2ViUHJv
Y2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U0RDIxQTFBNDkx
NEEzMDBDN0YxNTIgLyogV2ViUHJvY2Vzc1Bvb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NF
NEQyMTYxQTQ5MTQ4NDAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sQ29jb2EubW0gaW4gU291cmNl
cyAqLywKLQkJCQlDRDBDNjgzMjIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0Nv
bnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0U0RDIyNzFBNDkxNkMyMDBDN0YxNTIg
LyogV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkMxMTFCMTExMTJGNUU0RjAwMzM3QkFCIC8qIFdlYlByb2Nlc3NQcm94eS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQTA0RjYxOTFBNEEzQTdBMDBBMjFCNkUgLyogV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW0gaW4gU291cmNlcyAqLywKQEAgLTExMjE4LDYgKzExMjIzLDggQEAKIAkJCQkyRDNBNjVF
NjFBN0MzQUE3MDBDQUM2MzcgLyogV0tGcmFtZUluZm9SZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNCOUY2QTYxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMUFFQTIzMDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5
Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0RDMjgzMUUyMDFCRDc5
RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUNEMEM2ODMyMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUNEQ0E4NUM4MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0ZGRERCOTcxRjU3
ODBFMTAwNTBFNTkzIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0gaW4gU291
cmNlcyAqLywKIAkJCQlCQzU0Q0MxMzEyRDY3NEVFMDA1QzY3QjAgLyogV0tHZW9sb2NhdGlvbk1h
bmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTMxMSw2ICsxMTMxOCw3IEBACiAJCQkJQkM0
MDc2MDUxMjRGRjAyNzAwNjhGMjBBIC8qIFdLU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDNDA3NjE5MTI0RkYwMzcwMDY4RjIwQSAvKiBXS1N0cmluZ0NGLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMjZGMTBCRTkxOTE4N0UyRTAwMUQwRTY4IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0
dXJlUmVjb2duaXplci5tIGluIFNvdXJjZXMgKi8sCisJCQkJMzE2QjhCNjMyMDU0QjU1ODAwQkQ0
QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUY4ODZB
NTFGMkMyMjdFMDBDMTkzRUYgLyogV0tUZXN0aW5nU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMUQ3NTVDMjFEOTFCODFCMDA4NDNCRDEgLyogV0tUZXh0Q2hlY2tlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyREQ2N0EzNjFCRDg2MTA2MDA1M0IyNTEgLyogV0tUZXh0RmluZGVyQ2xp
ZW50Lm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335678</attachid>
            <date>2018-03-12 20:25:20 -0700</date>
            <delta_ts>2018-03-12 20:25:20 -0700</delta_ts>
            <desc>Patch 4 for EWS</desc>
            <filename>bug-183582-20180313142517.patch</filename>
            <type>text/plain</type>
            <size>28775</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkYTA4YmEx
ZjAxYjU1MDk1N2Y1OTU5MmE1MjJkOTVmYzdlY2IwZjAyLi4xYzA3NGNhZDczOTY2NDJhM2VlMzM0
MzBlOGJmZDQ4NzcyZmNmOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOC0wMy0xMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGEgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyIGZvciBzeXN0ZW0gcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzU4MgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzgzOTM1Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUgUXVpY2tMb29rIFNQSS4KKworICAgICAgICAqIHBh
bC9zcGkvaW9zL1F1aWNrTG9va1NQSS5oOgorCiAyMDE4LTAzLTA3ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFNvcnQgYW5kIHNlcGFyYXRlIEZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1YzY2OTBjMTUwMjgxN2ZlYzVjMjMzZDA3
NTk2NTJmNWIyOTcxZWEuLjU1ZDJlMTQ5MWUxZGNmNTM0MmEyMTlkYzgxMTEyY2JhMWRmZTUyZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTgtMDMtMTIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBm
b3Igc3lzdGVtIHByZXZpZXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODM1ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MzkzNTY5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBX
S1N5c3RlbVByZXZpZXdWaWV3LCB3aGljaCBjb25mb3JtcyB0byBXS1dlYlZpZXdDb250ZW50UHJv
dmlkZXIsIGluCisgICAgICAgIG9yZGVyIHRvIHZpZXcgY29udGVudCBhcyBhICJzeXN0ZW0gcHJl
dmlldyIuIFRoaXMgZWZmZWN0aXZlbHkgcmVwbGFjZXMgdGhlCisgICAgICAgIFN5c3RlbVByZXZp
ZXdDb250cm9sbGVyLCB3aGljaCB3aWxsIGJlIHJlbW92ZWQgc29vbi4KKworICAgICAgICBTb21l
IG9mIHRoZSByZXF1aXJlZCBtZXRob2RzIG9mIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciBhcmUg
bm90IG5lY2Vzc2FyeSBvbgorICAgICAgICB0aGlzIGluc3RhbmNlLCBzbyBhIGZvbGxvdy11cCBw
YXRjaCB3aWxsIGNsZWFuIHRoZSBwcm90b2NvbCB1cCBhIGJpdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06IERvbid0IHRyaWdnZXIgYSBTeXN0ZW1QcmV2
aWV3IHdoZW4gZG93bmxvYWRpbmcuCisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6
TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKToKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkgaW5pdF0p
OiBSZWdpc3RlciB0aGUgV0tTeXN0ZW1QcmV2aWV3VmlldyBmb3IKKyAgICAgICAgTUlNRSB0eXBl
cyByZXRyaWV2ZWQgZnJvbSBXZWJLaXRBZGRpdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tOiBBZGRlZC4KKworICAgICAgICAoLVtXS1N5c3RlbVBy
ZXZpZXdWaWV3IHdlYl9pbml0V2l0aEZyYW1lOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLU3lz
dGVtUHJldmlld1ZpZXcgd2ViX3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5h
bWU6XSk6IFRoaXMgaXMgdGhlCisgICAgICAgIG1ldGhvZCB0aGF0IGFjdHVhbGx5IGNyZWF0ZXMg
YSBRdWlja0xvb2sgcHJldmlldyBhbmQgcHJvdmlkZXMgdGhlIGRhdGEuCisgICAgICAgICgtW1dL
U3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldE1pbmltdW1TaXplOl0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9zZXRPdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6Cisg
ICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlk
Q2hhbmdlXSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX3NldEZpeGVkT3Zl
cmxheVZpZXc6XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2RpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb246XSk6CisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2Vi
X2NvdW50U3RyaW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1N5
c3RlbVByZXZpZXdWaWV3IHdlYl9maW5kU3RyaW5nOm9wdGlvbnM6bWF4Q291bnQ6XSk6CisgICAg
ICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgd2ViX2hpZGVGaW5kVUldKToKKworICAgICAgICAo
LVtXS1N5c3RlbVByZXZpZXdWaWV3IG51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3Q29udHJv
bGxlcjpdKTogUXVpY2tMb29rIGRlbGVnYXRlcy4KKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2aWV3
VmlldyBwcmV2aWV3Q29udHJvbGxlcjpwcmV2aWV3SXRlbUF0SW5kZXg6XSk6CisgICAgICAgICgt
W1dLU3lzdGVtUHJldmlld1ZpZXcgcHJvdmlkZURhdGFGb3JJdGVtOl0pOgorICAgICAgICAoLVtX
S1N5c3RlbVByZXZpZXdWaWV3IHByZXZpZXdDb250cm9sbGVyV2lsbERpc21pc3M6XSk6CisKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBmaWxlcy4K
KwogMjAxOC0wMy0xMiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSZW1vdmUgR3JpZExheW91dCBydW50aW1lIGZsYWcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaAppbmRleCBiNDljZWUxMzJiNzMzYzZl
MTg3Y2MxNzJmZGY5ZjJjYmMxNzNiYjg0Li5jOTY1ODA1NTkwNzE2MGNjNWM2Y2JiMzE5YjJiNjY2
ZTBlZmQ1ZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvUXVp
Y2tMb29rU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1F1aWNrTG9v
a1NQSS5oCkBAIC0zNCw2ICszNCw5IEBACiBAaW50ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciA6
IE5TT2JqZWN0CiBAZW5kCiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdudWxsYWJpbGl0eS1jb21wbGV0ZW5lc3MiCisK
IEBpbnRlcmZhY2UgUUxQcmV2aWV3Q29udmVydGVyICgpCiAtIChOU1VSTFJlcXVlc3QgKilzYWZl
UmVxdWVzdEZvclJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CiAtIChpZClpbml0V2l0
aENvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGVsZWdhdGU6KGlkKWRl
bGVnYXRlIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2Ugb3B0aW9uczooTlNEaWN0
aW9uYXJ5ICopb3B0aW9uczsKQEAgLTQ3LDYgKzUwLDE3IEBACiBAcHJvcGVydHkgKHJlYWRvbmx5
LCBub25hdG9taWMpIE5TVVJMUmVzcG9uc2UgKnByZXZpZXdSZXNwb25zZTsKIEBlbmQKIAorQGNs
YXNzIFFMSXRlbTsKKworQHByb3RvY29sIFFMUHJldmlld0l0ZW1EYXRhUHJvdmlkZXIgPE5TT2Jq
ZWN0PgorLSAoTlNEYXRhICopcHJvdmlkZURhdGFGb3JJdGVtOihRTEl0ZW0gKilpdGVtOworQGVu
ZAorCitAaW50ZXJmYWNlIFFMSXRlbSA6IE5TT2JqZWN0CistIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhEYXRhUHJvdmlkZXI6KGlkPFFMUHJldmlld0l0ZW1EYXRhUHJvdmlkZXI+IF9Ob25udWxsKWRh
dGEgY29udGVudFR5cGU6KE5TU3RyaW5nICpfTm9ubnVsbCljb250ZW50VHlwZSBwcmV2aWV3VGl0
bGU6KE5TU3RyaW5nICpfTm9ubnVsbClwcmV2aWV3VGl0bGU7CitAZW5kCisKKwogI2lmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAogI2RlZmluZSBrUUxSZXR1cm5Q
YXNzd29yZFByb3RlY3RlZCAxIDw8IDIKICNlbHNlCkBAIC03MCwzICs4NCw1IEBAIE5TU3RyaW5n
ICpRTFR5cGVDb3B5QmVzdE1pbWVUeXBlRm9yVVJMQW5kTWltZVR5cGUoTlNVUkwgKiwgTlNTdHJp
bmcgKm1pbWVUeXBlKTsKIE5TU3RyaW5nICpRTFR5cGVDb3B5VVRJRm9yVVJMQW5kTWltZVR5cGUo
TlNVUkwgKiwgTlNTdHJpbmcgKm1pbWVUeXBlKTsKIAogV1RGX0VYVEVSTl9DX0VORAorCisjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggOTc4YTEwMjhkOTA1NDk2YTAwOTU2OTU3ODBm
YmQ3YzhlYTgyMDU1Ny4uYzVlMzk0NTI0YzQ0ODI5NGMzOWZiZGIyNzAxYjM2Y2E4NTU2MzAyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5t
bQpAQCAtNjM2LDcgKzYzNiw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xp
ZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UoV2ViUGFnCiAgICAgUmVmUHRy
PFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbG9jYWxMaXN0ZW5lciA9IFdURk1vdmUobGlz
dGVuZXIpOwogICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyPiBjaGVja2Vy
ID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKG5hdmlnYXRpb25EZWxlZ2F0
ZS5nZXQoKSwgQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3Bv
bnNlOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uUmVzcG9u
c2U+IG5hdmlnYXRpb25SZXNwb25zZVJlZlB0cihuYXZpZ2F0aW9uUmVzcG9uc2UucHRyKCkpOwot
ICAgIFtuYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZp
ZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlOndyYXBwZXIobmF2aWdhdGlvblJl
c3BvbnNlKSBkZWNpc2lvbkhhbmRsZXI6W2xvY2FsTGlzdGVuZXIsIGNoZWNrZXIsIG5hdmlnYXRp
b25SZXNwb25zZSA9IFdURk1vdmUobmF2aWdhdGlvblJlc3BvbnNlUmVmUHRyKSwgJnBhZ2VdKFdL
TmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IHJlc3BvbnNlUG9saWN5KSB7CisgICAgW25hdmlnYXRp
b25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6d3JhcHBlcihuYXZpZ2F0aW9uUmVzcG9uc2UpIGRlY2lz
aW9uSGFuZGxlcjpbbG9jYWxMaXN0ZW5lciwgY2hlY2tlcl0oV0tOYXZpZ2F0aW9uUmVzcG9uc2VQ
b2xpY3kgcmVzcG9uc2VQb2xpY3kpIHsKICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25I
YW5kbGVySGFzQmVlbkNhbGxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjaGVj
a2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKQEAgLTY1NCwxMSArNjU0LDcgQEAgdm9p
ZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25SZXNwb25zZShXZWJQYWcKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzd2l0Y2giCiAgICAgICAgIGNhc2UgX1dL
TmF2aWdhdGlvblJlc3BvbnNlUG9saWN5QmVjb21lRG93bmxvYWQ6Ci0gICAgICAgICAgICBpZiAo
cGFnZS5zeXN0ZW1QcmV2aWV3Q29udHJvbGxlcigpLT5jYW5QcmV2aWV3KG5hdmlnYXRpb25SZXNw
b25zZS0+cmVzcG9uc2UoKS5taW1lVHlwZSgpKSkgewotICAgICAgICAgICAgICAgIHBhZ2Uuc3lz
dGVtUHJldmlld0NvbnRyb2xsZXIoKS0+c2hvd1ByZXZpZXcobmF2aWdhdGlvblJlc3BvbnNlLT5y
ZXNwb25zZSgpLnVybCgpKTsKLSAgICAgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT5pZ25vcmUo
KTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGxvY2FsTGlzdGVuZXItPmRv
d25sb2FkKCk7CisgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT5kb3dubG9hZCgpOwogI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIHBvcAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQ
cm92aWRlclJlZ2lzdHJ5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KaW5kZXggMDg5NmMxY2QzMzk5MWM3M2FlY2Y3
OGQ5NzgzZGM5N2VmMDA3OWJjNS4uMDNjODBlMTAwNzAwZmE5YzJhOTBmNmJlNDUwYzAwYmMwZTEy
Nzk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3
Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KQEAgLTMxLDYgKzMxLDcg
QEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgIldLUERGVmlldy5oIgorI2ltcG9ydCAi
V0tTeXN0ZW1QcmV2aWV3Vmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKICNp
bXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5
Lmg+CkBAIC0zOSw2ICs0MCwxMCBAQAogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgog
I2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL1N5c3RlbVByZXZpZXdUeXBlcy5jcHA+Cisj
ZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogQGltcGxlbWVudGF0aW9uIFdLV2Vi
Vmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5IHsKQEAgLTU2LDYgKzYxLDExIEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAgICAgICAgIFtzZWxmIHJlZ2lzdGVyUHJvdmlkZXI6W1dLUERGVmll
dyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5cGVdOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShJ
T1MpICYmIFVTRShRVUlDS19MT09LKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorICAgIGZv
ciAoYXV0byYgbWltZVR5cGUgOiBnZXRTeXN0ZW1QcmV2aWV3TUlNRVR5cGVzKCkpCisgICAgICAg
IFtzZWxmIHJlZ2lzdGVyUHJvdmlkZXI6W1dLU3lzdGVtUHJldmlld1ZpZXcgY2xhc3NdIGZvck1J
TUVUeXBlOm1pbWVUeXBlXTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYwMmNlNTc5ODEwMGFmNGI0MDhjNWQ0N2NhYjM4OTZiZjI4ZmQ1ZTgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmll
dy5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgUExBVEZPUk0oSU9TKSAmJiBV
U0UoUVVJQ0tfTE9PSykKKworI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgiCisj
aW1wb3J0IDxRdWlja0xvb2svUXVpY2tMb29rLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgor
I2ltcG9ydCA8cGFsL3NwaS9pb3MvUXVpY2tMb29rU1BJLmg+CisKK0BpbnRlcmZhY2UgV0tTeXN0
ZW1QcmV2aWV3VmlldyA6IFVJVmlldyA8V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLCBRTFByZXZp
ZXdDb250cm9sbGVyRGF0YVNvdXJjZSwgUUxQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlLCBRTFBy
ZXZpZXdJdGVtRGF0YVByb3ZpZGVyPgorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ODM0OTA3NzI4MzQ5MzJkY2U1YWIxYjMwZmM2MzUwZmMzNDQzODE1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KQEAg
LTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQg
IldLU3lzdGVtUHJldmlld1ZpZXcuaCIKKworI2lmIFBMQVRGT1JNKElPUykgJiYgVVNFKFFVSUNL
X0xPT0spCisKKyNpbXBvcnQgIkFQSUZpbmRDbGllbnQuaCIKKyNpbXBvcnQgIkFQSVVJQ2xpZW50
LmgiCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCisjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDx3dGYv
U29mdExpbmtpbmcuaD4KKyNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitTT0ZUX0xJTktfRlJBTUVXT1JL
KFF1aWNrTG9vaykKK1NPRlRfTElOS19DTEFTUyhRdWlja0xvb2ssIFFMSXRlbSk7CitTT0ZUX0xJ
TktfQ0xBU1MoUXVpY2tMb29rLCBRTFByZXZpZXdDb250cm9sbGVyKTsKKworQGltcGxlbWVudGF0
aW9uIFdLU3lzdGVtUHJldmlld1ZpZXcgeworICAgIFJldGFpblB0cjxRTFByZXZpZXdDb250cm9s
bGVyPiBfcWxQcmV2aWV3Q29udHJvbGxlcjsKKyAgICBSZXRhaW5QdHI8TlNJdGVtUHJvdmlkZXI+
IF9pdGVtUHJvdmlkZXI7CisgICAgUmV0YWluUHRyPFFMSXRlbT4gX2l0ZW07CisgICAgUmV0YWlu
UHRyPE5TRGF0YT4gX2RhdGE7CisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBfc3VnZ2VzdGVkRmls
ZW5hbWU7CisKKyAgICBXS1dlYlZpZXcgKl93ZWJWaWV3OworfQorCistIChpbnN0YW5jZXR5cGUp
d2ViX2luaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3Cit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lXSkpCisg
ICAgICAgIHJldHVybiBuaWw7CisKKyAgICBzZWxmLmJhY2tncm91bmRDb2xvciA9IFtVSUNvbG9y
IGxpZ2h0R3JheUNvbG9yXTsKKworICAgIF93ZWJWaWV3ID0gd2ViVmlldzsKKworICAgIFVJU2Ny
b2xsVmlldyAqc2Nyb2xsVmlldyA9IHdlYlZpZXcuc2Nyb2xsVmlldzsKKyAgICBbc2Nyb2xsVmll
dyBzZXRNaW5pbXVtWm9vbVNjYWxlOjFdOworICAgIFtzY3JvbGxWaWV3IHNldE1heGltdW1ab29t
U2NhbGU6MV07CisgICAgW3Njcm9sbFZpZXcgc2V0QmFja2dyb3VuZENvbG9yOltVSUNvbG9yIGxp
Z2h0R3JheUNvbG9yXV07CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9pZCl3ZWJfc2V0
Q29udGVudFByb3ZpZGVyRGF0YTooTlNEYXRhICopZGF0YSBzdWdnZXN0ZWRGaWxlbmFtZTooTlNT
dHJpbmcgKilmaWxlbmFtZQoreworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gcGFn
ZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAgICBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmll
d0NvbnRyb2xsZXIgPSBwYWdlLT51aUNsaWVudCgpLnByZXNlbnRpbmdWaWV3Q29udHJvbGxlcigp
OworCisgICAgaWYgKCFwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIF9zdWdnZXN0ZWRGaWxlbmFtZSA9IGFkb3B0TlMoW2ZpbGVuYW1lIGNvcHldKTsKKyAg
ICBfZGF0YSA9IGFkb3B0TlMoW2RhdGEgY29weV0pOworCisgICAgTlNTdHJpbmcgKmV4dGVuc2lv
biA9IFtbX3N1Z2dlc3RlZEZpbGVuYW1lLmdldCgpIHBhdGhFeHRlbnNpb25dIGxvd2VyY2FzZVN0
cmluZ107CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBjb250ZW50VHlwZSA9IGFkb3B0Q0Yo
VVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZvclRhZyhrVVRUYWdDbGFzc0ZpbGVuYW1l
RXh0ZW5zaW9uLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZXh0ZW5zaW9uLCBuaWwpKTsKKworICAg
IF9pdGVtID0gYWRvcHROUyhbYWxsb2NRTEl0ZW1JbnN0YW5jZSgpIGluaXRXaXRoRGF0YVByb3Zp
ZGVyOnNlbGYgY29udGVudFR5cGU6KE5TU3RyaW5nICopY29udGVudFR5cGUuZ2V0KCkgcHJldmll
d1RpdGxlOl9zdWdnZXN0ZWRGaWxlbmFtZS5nZXQoKV0pOworCisgICAgX3FsUHJldmlld0NvbnRy
b2xsZXIgPSBhZG9wdE5TKFthbGxvY1FMUHJldmlld0NvbnRyb2xsZXJJbnN0YW5jZSgpIGluaXRd
KTsKKyAgICBbX3FsUHJldmlld0NvbnRyb2xsZXIgc2V0RGVsZWdhdGU6c2VsZl07CisgICAgW19x
bFByZXZpZXdDb250cm9sbGVyIHNldERhdGFTb3VyY2U6c2VsZl07CisKKyAgICBbcHJlc2VudGlu
Z1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjpfcWxQcmV2aWV3Q29udHJvbGxl
ci5nZXQoKSBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpudWxscHRyXTsKK30KKworLSAodm9pZCl3
ZWJfc2V0TWluaW11bVNpemU6KENHU2l6ZSlzaXplCit7Cit9CisKKy0gKHZvaWQpd2ViX3NldE92
ZXJsYWlkQWNjZXNzb3J5Vmlld3NJbnNldDooQ0dTaXplKWluc2V0Cit7Cit9CisKKy0gKHZvaWQp
d2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlCit7Cit9CisKKy0gKHZvaWQpd2ViX3Nl
dEZpeGVkT3ZlcmxheVZpZXc6KFVJVmlldyAqKWZpeGVkT3ZlcmxheVZpZXcKK3sKK30KKworLSAo
dm9pZCl3ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjooV0tTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uVHlwZSluYXZpZ2F0aW9uVHlwZQoreworfQorCisjcHJhZ21hIG1hcmsgRmluZC1pbi1QYWdl
CisKKy0gKHZvaWQpd2ViX2NvdW50U3RyaW5nTWF0Y2hlczooTlNTdHJpbmcgKilzdHJpbmcgb3B0
aW9uczooX1dLRmluZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3Vu
dAoreworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJWaWV3LT5f
cGFnZTsKKyAgICBwYWdlLT5maW5kQ2xpZW50KCkuZGlkQ291bnRTdHJpbmdNYXRjaGVzKHBhZ2Uu
Z2V0KCksIHN0cmluZywgMCk7Cit9CisKKy0gKHZvaWQpd2ViX2ZpbmRTdHJpbmc6KE5TU3RyaW5n
ICopc3RyaW5nIG9wdGlvbnM6KF9XS0ZpbmRPcHRpb25zKW9wdGlvbnMgbWF4Q291bnQ6KE5TVUlu
dGVnZXIpbWF4Q291bnQKK3sKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IHBhZ2Ug
PSBfd2ViVmlldy0+X3BhZ2U7CisgICAgcGFnZS0+ZmluZENsaWVudCgpLmRpZEZhaWxUb0ZpbmRT
dHJpbmcocGFnZS5nZXQoKSwgc3RyaW5nKTsKK30KKworLSAodm9pZCl3ZWJfaGlkZUZpbmRVSQor
eworfQorCisjcHJhZ21hIG1hcmsgUUxQcmV2aWV3Q29udHJvbGxlckRhdGFTb3VyY2UKKworLSAo
TlNJbnRlZ2VyKW51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3Q29udHJvbGxlcjooUUxQcmV2
aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIKK3sKKyAgICByZXR1cm4gMTsKK30KKworLSAoaWQ8
UUxQcmV2aWV3SXRlbT4pcHJldmlld0NvbnRyb2xsZXI6KFFMUHJldmlld0NvbnRyb2xsZXIgKilj
b250cm9sbGVyIHByZXZpZXdJdGVtQXRJbmRleDooTlNJbnRlZ2VyKWluZGV4Cit7CisgICAgcmV0
dXJuIF9pdGVtLmdldCgpOworfQorCisjcHJhZ21hIG1hcmsgUUxQcmV2aWV3SXRlbURhdGFQcm92
aWRlcgorCistIChOU0RhdGEgKilwcm92aWRlRGF0YUZvckl0ZW06KFFMSXRlbSAqKWl0ZW0KK3sK
KyAgICByZXR1cm4gX2RhdGEuZ2V0KCk7Cit9CisKKyNwcmFnbWEgbWFyayBRTFByZXZpZXdDb250
cm9sbGVyRGVsZWdhdGUKKworLSAodm9pZClwcmV2aWV3Q29udHJvbGxlcldpbGxEaXNtaXNzOihR
TFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgoreworICAgIFJlZlB0cjxXZWJLaXQ6Oldl
YlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAgICBwYWdlLT5nb0JhY2soKTsK
K30KKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDM1MzY1OWUzNzkxNWRkODNhNDU2Mzk3N2FiODUzYjZmMmU5
YmZjYjcuLmQ3YzM0MWU0Yjc4OTdjMGI0NTUxY2YzZmJmZTA4NTczMzQwYTNkNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzYwLDYg
Kzc2MCw4IEBACiAJCTMxMzEyNjIxMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTMxMjYxQzE0OEZGODJCMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oICovOyB9
OwogCQkzMTU3MTM1RTIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVtUHJldmlld0NvbnRyb2xsZXJD
b2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NTcxMzVDMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1t
ICovOyB9OwogCQkzMTU3MTM1RjIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVtUHJldmlld0NvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oICovOyB9
OworCQkzMTZCOEI2MzIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkI4QjYxMjA1
NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1tICovOyB9OworCQkzMTZCOEI2
NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QjhCNjIyMDU0QjU1ODAwQkQ0QTYy
IC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLzsgfTsKIAkJMzE3RkU3QzUxQzQ4N0E2QzAwQTBD
QTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBl
cmltZW50YWxGZWF0dXJlLmggKi87IH07CiAJCTMxN0ZFN0M2MUM0ODdBNzEwMEEwQ0E4OSAvKiBB
UElFeHBlcmltZW50YWxGZWF0dXJlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MxMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50
YWxGZWF0dXJlLmNwcCAqLzsgfTsKIAkJMzE3RkU3Q0QxQzQ4N0RBRTAwQTBDQTg5IC8qIF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzkxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmVJbnRlcm5hbC5oICovOyB9OwpAQCAtMzE0OCw2ICszMTUwLDggQEAKIAkJMzE1
NzEzNUMyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVByZXZpZXdDb250cm9sbGVyQ29jb2EubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTU3MTM1RDIwNDBBOUIyMDA4NEY5Q0YgLyog
U3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtUHJldmlld0Nv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MDdGMzgxOTYyNzAw
MjAwOUI4N0RBIC8qIExlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QjhCNjEyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJl
dmlld1ZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1N5c3RlbVByZXZpZXdWaWV3Lm1t
OyBwYXRoID0gaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMxNkI4QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFdLU3lzdGVtUHJldmlld1ZpZXcuaDsgcGF0aCA9IGlvcy9XS1N5
c3RlbVByZXZpZXdWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxN0ZFN0Mx
MUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTdGRTdDMjFDNDg3QTY2MDBBMENBODkgLyog
QVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBUElFeHBlcmltZW50YWxGZWF0dXJlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyOTksOCArMzMwMyw4IEBACiAJCTQxMDQ4
MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxMTJCNTQ3MUY5RkQzQUIwMEU2Nzg3NSAvKiBOZXR3b3JrUlRDUmVzb2x2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Jl
c29sdmVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUmVzb2x2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTEyQjU0ODFGOUZEM0FDMDBF
Njc4NzUgLyogTmV0d29ya1JUQ1Jlc29sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTEy
QjU0NzFGOUZEM0FCMDBFNjc5ODYgLyogTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2Eu
Y3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlckNvY29h
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExMkI1NDgxRjlGRDNBQzAwRTY3
ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBOZXR3b3JrUlRDUmVzb2x2ZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExMkI1
NDgxRjlGRDNBQzAwRTY3OTg2IC8qIE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmg7IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldl
YlJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRD
TmV0d29yay5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0
d29ya1JUQ1NvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBO
ZXR3b3JrUlRDU29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU4MjgsNiArNTgz
Miw4IEBACiAJCQkJMEZDQjRFNDUxOEJCRTA0NDAwMEZDRkM5IC8qIFdLU2Nyb2xsVmlldy5tbSAq
LywKIAkJCQkyNkYxMEJFNjE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdl
c3R1cmVSZWNvZ25pemVyLmggKi8sCiAJCQkJMjZGMTBCRTcxOTE4N0UyRTAwMUQwRTY4IC8qIFdL
U3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5tICovLAorCQkJCTMxNkI4QjYyMjA1
NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3LmggKi8sCisJCQkJMzE2QjhCNjEy
MDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcubW0gKi8sCiAJCQkpOwogCQkJ
bmFtZSA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC04NDkyLDE0ICs4NDk4
LDE0IEBACiAJCUNEQzI4MzFBMjAxQkQ3NTYwMEU2RTc0NSAvKiBmdWxsc2NyZWVuICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRDE5RDJFOTIwNDY0MDZG
MDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCAqLywKKwkJCQlDRDE5
RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggKi8s
CiAJCQkJQ0RDMjgzMUIyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5o
ICovLAogCQkJCUNEQzI4MzFDMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5TdGFja1Zp
ZXcubW0gKi8sCiAJCQkJQ0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZp
ZXdDb250cm9sbGVyLmggKi8sCiAJCQkJQ0QwQzY4MzAyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVs
bFNjcmVlblZpZXdDb250cm9sbGVyLm1tICovLAogCQkJCTNGOTE1QzBGMUY1NjRERUQwMDE4M0NF
OSAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLmggKi8sCiAJCQkJM0Y5MTVDMEUx
RjU2NERFRDAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0gKi8s
Ci0JCQkJQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJp
c3RpYy5oICovLAotCQkJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91
Y2hTZWNoZXVyaXN0aWMuY3BwICovLAogCQkJKTsKIAkJCW5hbWUgPSBmdWxsc2NyZWVuOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTg4MjksNyArODgzNSw2IEBACiAJCQkJOTk1NUE2
RjUxQzc5ODZFMDAwRUI2QTkzIC8qIEF1dG9tYXRpb25CYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMyMEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTI0OUFENjFGMUYxRTVGMDBCNjJGQkIgLyogQXV0
b21hdGlvbkZyb250ZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEMTlEMkVB
MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5MyAvKiBBdXRvbWF0aW9uUHJvdG9j
b2xPYmplY3RzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTBEMjhCQjFDNjUzOUQzMDA5ODY5Nzcg
LyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTA0MUY0
MUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8s
CkBAIC04ODQ1LDcgKzg4NTAsNiBAQAogCQkJCTFBQTJFNTFEMTJFNEMwNUUwMEJDNDk2NiAvKiBD
R1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDk1NkYxMjg0ODU2NDAwMUVCOTYy
IC8qIENoaWxkUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQUVDM0ExQjA2NTc2MzAw
MDlDNEU3IC8qIENoaWxkUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQlDREMy
ODMxRDIwMUJENzlEMDBFNkU3NDUgLyogV0tGdWxsc2NyZWVuU3RhY2tWaWV3LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTUxM0M2NzE2NkVBQkIyMDAxNDlGQ0IgLyogQ2hpbGRQcm9jZXNzUHJveHku
aCBpbiBIZWFkZXJzICovLAogCQkJCTI5MEY0MjcyMTcyQTBDNzQwMDkzOUZGMCAvKiBDaGlsZFBy
b2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTExQUQ1MjFDQkM0ODJGMDA2
ODFFRTUgLyogQ29kZVNpZ25pbmcuaCBpbiBIZWFkZXJzICovLApAQCAtODg4OCw2ICs4ODkyLDcg
QEAKIAkJCQkxQUUwMEQ2MTE4MzE3OTIxMDAwODdERDcgLyogRnJhbWVMb2FkU3RhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJENEFGMDg5MjA0NEMzQzQwMDZDODgxNyAvKiBGcm9udEJvYXJkU2Vy
dmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENzhFMTE1MURCN0Q3RUQwMDE0QTJERSAv
KiBGdWxsc2NyZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDE5RDJFQTIwNDY0MDZG
MDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTVCRTFCMzFENTkwMkREMDBERDdDNjggLyogR2FtZXBhZERhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMTc3NTNGMTE4QkFCRjAwMDdEOUU5QSAvKiBHZW5lcmljQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMDZGNDJGMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC05MzkwLDcgKzkz
OTUsNiBAQAogCQkJCTkzNEI3MjQ0MTlGNUI5QkUwMEFFOTZENiAvKiBXS0FjdGlvbk1lbnVJdGVt
VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOUY0MDFDMTlGQjBCQkMwMDJCMkI0MiAvKiBX
S0FjdGlvbk1lbnVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDQjRFNDgxOEJCRTA0NDAw
MEZDRkM5IC8qIFdLQWN0aW9uU2hlZXQuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEMEM2ODMxMjAx
RkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZDQjRFNEExOEJCRTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RkExRUQzMThFMTA2MjIwMEIzRjQwMiAvKiBXS0Fp
clBsYXlSb3V0ZVBpY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEREIzMkQxMjRFQzJFMTAw
NDhEMTNDIC8qIFdLQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTI0LDYgKzk1MjgsOCBA
QAogCQkJCTJEM0E2NUU3MUE3QzNBQTcwMENBQzYzNyAvKiBXS0ZyYW1lSW5mb1JlZi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNCOUY2QTUxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lM
aXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBRUEyMkYxNDY4N0JEQjAwODA0NTY5IC8q
IFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0RDMjgz
MUQyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRENBODVDOTEzMkFCQTRFMDBFOTYxREYgLyog
V0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0ZGRERC
OTYxRjU3N0Y0ODAwNTBFNTkzIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MuaCBp
biBIZWFkZXJzICovLAogCQkJCTNGOTE1QzEwMUY1NjRERUUwMDE4M0NFOSAvKiBXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGluIEhlYWRlcnMgKi8sCkBAIC05NjY4LDYgKzk2NzQs
NyBAQAogCQkJCUJDNDA3NjFBMTI0RkYwMzcwMDY4RjIwQSAvKiBXS1N0cmluZ0NGLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzkwOTk4MDEyNTZBOTgyMDAwODM3NTYgLyogV0tTdHJpbmdQcml2YXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkYxMEJFODE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50
aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTZC
OEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTFGODg2QTYxRjJDMjI4MTAwQzE5M0VGIC8qIFdLVGVzdGluZ1N1cHBvcnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTMxRDc1NUMxMUQ5MUI4MTUwMDg0M0JEMSAvKiBXS1RleHRDaGVj
a2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREQ2N0EzNTFCRDg2MTA2MDA1M0IyNTEgLyogV0tU
ZXh0RmluZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTEwNDgzLDcgKzEwNDkwLDYgQEAK
IAkJCQk5OTBEMjhCQzFDNjUzOURBMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkEyQjYwODFFNTY3NkE2MDBDM0RFREEgLyogQmFja2dy
b3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUx
NjRBMkYxMTkxQUYxNEUwMDEwNzM3RCAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJv
eEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDE5RDJFQjIwNDY0MDZGMDAxNzA3
NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxNzA4NzZCMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94eS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0MTg5N0VENzFGNDE1RDhBMDAxNkZBNDIgLyogQ2FjaGVTdG9y
YWdlRW5naW5lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA1MzQsNiArMTA1NDAsNyBAQAogCQkJ
CTFBMTRGOEUxMUQ3NEM4MzQwMDZDQkVDNiAvKiBGcmFtZUluZm9EYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBRTAwRDYwMTgzMTc5MjEwMDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDRDc4RTExNDFEQjdEN0VEMDAxNEEyREUgLyogRnVsbHNjcmVl
bkNsaWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEMTlEMkVCMjA0NjQwNkYwMDE3MDc0QSAv
KiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE1
QkUxQjIxRDU5MDJERDAwREQ3QzY4IC8qIEdhbWVwYWREYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDMDZGNDMwMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzA2RjQ0QjEyREJEMUY1MDAyRDc4
REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTEwNTcxLDcgKzEwNTc4LDYgQEAKIAkJCQkxQUU0OTg3OTExRkY3RkFBMDA0
OEI0NjQgLyogSlNOUE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UwOTM3NzE0RkIx
MjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTBGMEMzNjVFMThDMTEwQTUwMEY2MDdENyAvKiBMYXllclJlcHJlc2VudGF0aW9uLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJQ0RDMjgzMUUyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0
YWNrVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOTJEQzEzMTJGOEJBQjkwMDE3QUY2NSAv
KiBMYXllclRyZWVDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRkRFNjQ1MTk1MTBC
NTUwMEM0OEZGQSAvKiBMZWdhY3lCdW5kbGVGb3JDbGFzcy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTVDRkVDQjA0MUUxRUQxQ0MwMEY4ODUwNCAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTA3MCw3ICsxMTA3Niw2IEBACiAJCQkJQkMzMDY2QkUx
MjVBNDQyMTAwRTcxMjc4IC8qIFdlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0NFNEQyMUExQTQ5MTRBMzAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTREMjE2MUE0OTE0ODQwMEM3RjE1MiAvKiBXZWJQcm9j
ZXNzUG9vbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0QwQzY4MzIyMDFGRDEwMTAwQTU5
NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NFNEQyMjcxQTQ5MTZDMjAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQjExMTEyRjVFNEYwMDMzN0JBQiAvKiBXZWJQ
cm9jZXNzUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwNEY2MTkxQTRBM0E3QTAwQTIx
QjZFIC8qIFdlYlByb2Nlc3NQcm94eUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0xMTIxOCw2
ICsxMTIyMyw4IEBACiAJCQkJMkQzQTY1RTYxQTdDM0FBNzAwQ0FDNjM3IC8qIFdLRnJhbWVJbmZv
UmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjlGNkE2MTEyM0REMEQwMEExMzdFMCAvKiBX
S0ZyYW1lUG9saWN5TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBRUEyMzAxNDY4
N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCUNEQzI4MzFFMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5TdGFja1Zp
ZXcubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDBDNjgzMjIwMUZEMTAxMDBBNTk0MDkgLyogV0tG
dWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRENBODVDODEz
MkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTNGRkREQjk3MUY1NzgwRTEwMDUwRTU5MyAvKiBXS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NENDMTMxMkQ2NzRFRTAw
NUM2N0IwIC8qIFdLR2VvbG9jYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTEz
MTEsNiArMTEzMTgsNyBAQAogCQkJCUJDNDA3NjA1MTI0RkYwMjcwMDY4RjIwQSAvKiBXS1N0cmlu
Zy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYxOTEyNEZGMDM3MDA2OEYyMEEgLyogV0tT
dHJpbmdDRi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI2RjEwQkU5MTkxODdFMkUwMDFEMEU2OCAv
KiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIubSBpbiBTb3VyY2VzICovLAor
CQkJCTMxNkI4QjYzMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFGODg2QTUxRjJDMjI3RTAwQzE5M0VGIC8qIFdLVGVzdGluZ1N1
cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFENzU1QzIxRDkxQjgxQjAwODQzQkQxIC8q
IFdLVGV4dENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRENjdBMzYxQkQ4NjEwNjAw
NTNCMjUxIC8qIFdLVGV4dEZpbmRlckNsaWVudC5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335680</attachid>
            <date>2018-03-12 20:38:17 -0700</date>
            <delta_ts>2018-03-12 20:38:17 -0700</delta_ts>
            <desc>Patch 5 for EWS - damn you external sdk</desc>
            <filename>bug-183582-20180313143814.patch</filename>
            <type>text/plain</type>
            <size>28850</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkYTA4YmEx
ZjAxYjU1MDk1N2Y1OTU5MmE1MjJkOTVmYzdlY2IwZjAyLi4wODQwNDQxMjhiN2M3MTA5NDNjMTQ2
ZjIzMmU0ZWYyNzZhY2I1MTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOC0wMy0xMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGEgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyIGZvciBzeXN0ZW0gcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzU4MgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzgzOTM1Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRv
bi4KKworICAgICAgICBBZGQgc29tZSBRdWlja0xvb2sgU1BJLgorCisgICAgICAgICogcGFsL3Nw
aS9pb3MvUXVpY2tMb29rU1BJLmg6CisKIDIwMTgtMDMtMDcgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgU29ydCBhbmQgc2VwYXJhdGUgRmVhdHVyZURl
ZmluZXMueGNjb25maWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjVjNjY5MGMxNTAyODE3ZmVjNWMyMzNkMDc1OTY1
MmY1YjI5NzFlYS4uZTIxZWY0NThkMmRhODVlMmViZWY1MmQ5MGZmYWFjYzIwZjY5YjMwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxOC0wMy0xMiAgRGVhbiBKYWNrc29uICA8ZGlub0Bh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyIGZvciBz
eXN0ZW0gcHJldmlld3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MzU4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgzOTM1Njk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBJbXBsZW1lbnQgV0tTeXN0ZW1Q
cmV2aWV3Vmlldywgd2hpY2ggY29uZm9ybXMgdG8gV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLCBp
bgorICAgICAgICBvcmRlciB0byB2aWV3IGNvbnRlbnQgYXMgYSAic3lzdGVtIHByZXZpZXciLiBU
aGlzIGVmZmVjdGl2ZWx5IHJlcGxhY2VzIHRoZQorICAgICAgICBTeXN0ZW1QcmV2aWV3Q29udHJv
bGxlciwgd2hpY2ggd2lsbCBiZSByZW1vdmVkIHNvb24uCisKKyAgICAgICAgU29tZSBvZiB0aGUg
cmVxdWlyZWQgbWV0aG9kcyBvZiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIgYXJlIG5vdCBuZWNl
c3Nhcnkgb24KKyAgICAgICAgdGhpcyBpbnN0YW5jZSwgc28gYSBmb2xsb3ctdXAgcGF0Y2ggd2ls
bCBjbGVhbiB0aGUgcHJvdG9jb2wgdXAgYSBiaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tOiBEb24ndCB0cmlnZ2VyIGEgU3lzdGVtUHJldmlldyB3aGVu
IGRvd25sb2FkaW5nLgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRp
b25DbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZSk6CisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW06Cisg
ICAgICAgICgtW1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5IGluaXRdKTogUmVnaXN0
ZXIgdGhlIFdLU3lzdGVtUHJldmlld1ZpZXcgZm9yCisgICAgICAgIE1JTUUgdHlwZXMgcmV0cmll
dmVkIGZyb20gV2ViS2l0QWRkaXRpb25zLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1N5
c3RlbVByZXZpZXdWaWV3Lmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tTeXN0
ZW1QcmV2aWV3Vmlldy5tbTogQWRkZWQuCisKKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2aWV3Vmll
dyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Ol0pOgorICAgICAgICAoLVtXS1N5c3RlbVByZXZp
ZXdWaWV3IHdlYl9zZXRDb250ZW50UHJvdmlkZXJEYXRhOnN1Z2dlc3RlZEZpbGVuYW1lOl0pOiBU
aGlzIGlzIHRoZQorICAgICAgICBtZXRob2QgdGhhdCBhY3R1YWxseSBjcmVhdGVzIGEgUXVpY2tM
b29rIHByZXZpZXcgYW5kIHByb3ZpZGVzIHRoZSBkYXRhLgorICAgICAgICAoLVtXS1N5c3RlbVBy
ZXZpZXdWaWV3IHdlYl9zZXRNaW5pbXVtU2l6ZTpdKToKKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2
aWV3VmlldyB3ZWJfc2V0T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0Ol0pOgorICAgICAgICAo
LVtXS1N5c3RlbVByZXZpZXdWaWV3IHdlYl9jb21wdXRlZENvbnRlbnRJbnNldERpZENoYW5nZV0p
OgorICAgICAgICAoLVtXS1N5c3RlbVByZXZpZXdWaWV3IHdlYl9zZXRGaXhlZE92ZXJsYXlWaWV3
Ol0pOgorICAgICAgICAoLVtXS1N5c3RlbVByZXZpZXdWaWV3IHdlYl9kaWRTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uOl0pOgorICAgICAgICAoLVtXS1N5c3RlbVByZXZpZXdWaWV3IHdlYl9jb3VudFN0
cmluZ01hdGNoZXM6b3B0aW9uczptYXhDb3VudDpdKToKKyAgICAgICAgKC1bV0tTeXN0ZW1QcmV2
aWV3VmlldyB3ZWJfZmluZFN0cmluZzpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtX
S1N5c3RlbVByZXZpZXdWaWV3IHdlYl9oaWRlRmluZFVJXSk6CisKKyAgICAgICAgKC1bV0tTeXN0
ZW1QcmV2aWV3VmlldyBudW1iZXJPZlByZXZpZXdJdGVtc0luUHJldmlld0NvbnRyb2xsZXI6XSk6
IFF1aWNrTG9vayBkZWxlZ2F0ZXMuCisgICAgICAgICgtW1dLU3lzdGVtUHJldmlld1ZpZXcgcHJl
dmlld0NvbnRyb2xsZXI6cHJldmlld0l0ZW1BdEluZGV4Ol0pOgorICAgICAgICAoLVtXS1N5c3Rl
bVByZXZpZXdWaWV3IHByb3ZpZGVEYXRhRm9ySXRlbTpdKToKKyAgICAgICAgKC1bV0tTeXN0ZW1Q
cmV2aWV3VmlldyBwcmV2aWV3Q29udHJvbGxlcldpbGxEaXNtaXNzOl0pOgorCisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBuZXcgZmlsZXMuCisKIDIwMTgt
MDMtMTIgIEphdmllciBGZXJuYW5kZXogIDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIEdyaWRMYXlvdXQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9pb3MvUXVpY2tMb29rU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9pb3MvUXVpY2tMb29rU1BJLmgKaW5kZXggYjQ5Y2VlMTMyYjczM2M2ZTE4N2NjMTcy
ZmRmOWYyY2JjMTczYmI4NC4uYzk2NTgwNTU5MDcxNjBjYzVjNmNiYjMxOWIyYjY2NmUwZWZkNWY0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1F1aWNrTG9va1NQ
SS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9RdWlja0xvb2tTUEkuaApA
QCAtMzQsNiArMzQsOSBAQAogQGludGVyZmFjZSBRTFByZXZpZXdDb252ZXJ0ZXIgOiBOU09iamVj
dAogQGVuZAogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1XbnVsbGFiaWxpdHktY29tcGxldGVuZXNzIgorCiBAaW50ZXJm
YWNlIFFMUHJldmlld0NvbnZlcnRlciAoKQogLSAoTlNVUkxSZXF1ZXN0ICopc2FmZVJlcXVlc3RG
b3JSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OwogLSAoaWQpaW5pdFdpdGhDb25uZWN0
aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBy
ZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAq
KW9wdGlvbnM7CkBAIC00Nyw2ICs1MCwxNyBAQAogQHByb3BlcnR5IChyZWFkb25seSwgbm9uYXRv
bWljKSBOU1VSTFJlc3BvbnNlICpwcmV2aWV3UmVzcG9uc2U7CiBAZW5kCiAKK0BjbGFzcyBRTEl0
ZW07CisKK0Bwcm90b2NvbCBRTFByZXZpZXdJdGVtRGF0YVByb3ZpZGVyIDxOU09iamVjdD4KKy0g
KE5TRGF0YSAqKXByb3ZpZGVEYXRhRm9ySXRlbTooUUxJdGVtICopaXRlbTsKK0BlbmQKKworQGlu
dGVyZmFjZSBRTEl0ZW0gOiBOU09iamVjdAorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGF0YVBy
b3ZpZGVyOihpZDxRTFByZXZpZXdJdGVtRGF0YVByb3ZpZGVyPiBfTm9ubnVsbClkYXRhIGNvbnRl
bnRUeXBlOihOU1N0cmluZyAqX05vbm51bGwpY29udGVudFR5cGUgcHJldmlld1RpdGxlOihOU1N0
cmluZyAqX05vbm51bGwpcHJldmlld1RpdGxlOworQGVuZAorCisKICNpZiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUga1FMUmV0dXJuUGFzc3dvcmRQ
cm90ZWN0ZWQgMSA8PCAyCiAjZWxzZQpAQCAtNzAsMyArODQsNSBAQCBOU1N0cmluZyAqUUxUeXBl
Q29weUJlc3RNaW1lVHlwZUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3RyaW5nICptaW1l
VHlwZSk7CiBOU1N0cmluZyAqUUxUeXBlQ29weVVUSUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICos
IE5TU3RyaW5nICptaW1lVHlwZSk7CiAKIFdURl9FWFRFUk5fQ19FTkQKKworI3ByYWdtYSBjbGFu
ZyBkaWFnbm9zdGljIHBvcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLm1tCmluZGV4IDk3OGExMDI4ZDkwNTQ5NmEwMDk1Njk1NzgwZmJkN2M4ZWE4
MjA1NTcuLmM1ZTM5NDUyNGM0NDgyOTRjMzlmYmRiMjcwMWIzNmNhODU1NjMwMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTYz
Niw3ICs2MzYsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlKFdlYlBhZwogICAgIFJlZlB0cjxXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk+IGxvY2FsTGlzdGVuZXIgPSBXVEZNb3ZlKGxpc3RlbmVyKTsK
ICAgICBSZWZQdHI8Q29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcj4gY2hlY2tlciA9IENvbXBs
ZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCks
IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZTpkZWNp
c2lvbkhhbmRsZXI6KSk7CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvblJlc3BvbnNlPiBuYXZp
Z2F0aW9uUmVzcG9uc2VSZWZQdHIobmF2aWdhdGlvblJlc3BvbnNlLnB0cigpKTsKLSAgICBbbmF2
aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IGRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZTp3cmFwcGVyKG5hdmlnYXRpb25SZXNwb25zZSkg
ZGVjaXNpb25IYW5kbGVyOltsb2NhbExpc3RlbmVyLCBjaGVja2VyLCBuYXZpZ2F0aW9uUmVzcG9u
c2UgPSBXVEZNb3ZlKG5hdmlnYXRpb25SZXNwb25zZVJlZlB0ciksICZwYWdlXShXS05hdmlnYXRp
b25SZXNwb25zZVBvbGljeSByZXNwb25zZVBvbGljeSkgeworICAgIFtuYXZpZ2F0aW9uRGVsZWdh
dGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvblJlc3BvbnNlOndyYXBwZXIobmF2aWdhdGlvblJlc3BvbnNlKSBkZWNpc2lvbkhhbmRs
ZXI6W2xvY2FsTGlzdGVuZXIsIGNoZWNrZXJdKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IHJl
c3BvbnNlUG9saWN5KSB7CiAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhh
c0JlZW5DYWxsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2hlY2tlci0+ZGlk
Q2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CkBAIC02NTQsMTEgKzY1NCw3IEBAIHZvaWQgTmF2aWdh
dGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVz
cG9uc2UoV2ViUGFnCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFu
ZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3dpdGNoIgogICAgICAgICBjYXNlIF9XS05hdmlnYXRp
b25SZXNwb25zZVBvbGljeUJlY29tZURvd25sb2FkOgotICAgICAgICAgICAgaWYgKHBhZ2Uuc3lz
dGVtUHJldmlld0NvbnRyb2xsZXIoKS0+Y2FuUHJldmlldyhuYXZpZ2F0aW9uUmVzcG9uc2UtPnJl
c3BvbnNlKCkubWltZVR5cGUoKSkpIHsKLSAgICAgICAgICAgICAgICBwYWdlLnN5c3RlbVByZXZp
ZXdDb250cm9sbGVyKCktPnNob3dQcmV2aWV3KG5hdmlnYXRpb25SZXNwb25zZS0+cmVzcG9uc2Uo
KS51cmwoKSk7Ci0gICAgICAgICAgICAgICAgbG9jYWxMaXN0ZW5lci0+aWdub3JlKCk7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT5kb3dubG9hZCgp
OworICAgICAgICAgICAgbG9jYWxMaXN0ZW5lci0+ZG93bmxvYWQoKTsKICNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwb3AKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXJS
ZWdpc3RyeS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRl
bnRQcm92aWRlclJlZ2lzdHJ5Lm1tCmluZGV4IDA4OTZjMWNkMzM5OTFjNzNhZWNmNzhkOTc4M2Rj
OTdlZjAwNzliYzUuLjAzYzgwZTEwMDcwMGZhOWMyYTkwZjZiZTQ1MGMwMGJjMGUxMjc5NDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQ
cm92aWRlclJlZ2lzdHJ5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dL
V2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tCkBAIC0zMSw2ICszMSw3IEBACiAjaWYg
UExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJXS1BERlZpZXcuaCIKKyNpbXBvcnQgIldLU3lzdGVt
UHJldmlld1ZpZXcuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJX
ZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgpAQCAt
MzksNiArNDAsMTAgQEAKICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KICNpbXBvcnQg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
bXBvcnQgPFdlYktpdEFkZGl0aW9ucy9TeXN0ZW1QcmV2aWV3VHlwZXMuY3BwPgorI2VuZGlmCisK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb250
ZW50UHJvdmlkZXJSZWdpc3RyeSB7CkBAIC01Niw2ICs2MSwxMSBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogICAgICAgICBbc2VsZiByZWdpc3RlclByb3ZpZGVyOltXS1BERlZpZXcgY2xhc3Nd
IGZvck1JTUVUeXBlOm1pbWVUeXBlXTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TKSAmJiBV
U0UoUVVJQ0tfTE9PSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyAgICBmb3IgKGF1dG8m
IG1pbWVUeXBlIDogZ2V0U3lzdGVtUHJldmlld01JTUVUeXBlcygpKQorICAgICAgICBbc2VsZiBy
ZWdpc3RlclByb3ZpZGVyOltXS1N5c3RlbVByZXZpZXdWaWV3IGNsYXNzXSBmb3JNSU1FVHlwZTpt
aW1lVHlwZV07CisjZW5kaWYKKwogICAgIHJldHVybiBzZWxmOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MDJjZTU3OTgxMDBhZjRiNDA4YzVkNDdjYWIzODk2YmYyOGZkNWU4Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcuaApAQCAt
MCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIFBMQVRGT1JNKElPUykgJiYgVVNFKFFVSUNL
X0xPT0spCisKKyNpbXBvcnQgIldLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIgorI2ltcG9ydCA8
UXVpY2tMb29rL1F1aWNrTG9vay5oPgorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKyNpbXBvcnQg
PHBhbC9zcGkvaW9zL1F1aWNrTG9va1NQSS5oPgorCitAaW50ZXJmYWNlIFdLU3lzdGVtUHJldmll
d1ZpZXcgOiBVSVZpZXcgPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciwgUUxQcmV2aWV3Q29udHJv
bGxlckRhdGFTb3VyY2UsIFFMUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSwgUUxQcmV2aWV3SXRl
bURhdGFQcm92aWRlcj4KKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM4MDMxNWRh
ODQ5YmM0YzIzMjQwNTI1OGE3OGFlNmJiMmM3OWM5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tCkBAIC0wLDAgKzEs
MTY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJXS1N5c3Rl
bVByZXZpZXdWaWV3LmgiCisKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShRVUlDS19MT09LKQor
CisjaW1wb3J0ICJBUElGaW5kQ2xpZW50LmgiCisjaW1wb3J0ICJBUElVSUNsaWVudC5oIgorI2lt
cG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2lt
cG9ydCA8TW9iaWxlQ29yZVNlcnZpY2VzL01vYmlsZUNvcmVTZXJ2aWNlcy5oPgorI2ltcG9ydCA8
V2ViQ29yZS9GbG9hdFJlY3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5o
PgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+
CisjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKKworU09GVF9MSU5LX0ZSQU1FV09SSyhRdWlja0xvb2spCitT
T0ZUX0xJTktfQ0xBU1MoUXVpY2tMb29rLCBRTEl0ZW0pOworU09GVF9MSU5LX0NMQVNTKFF1aWNr
TG9vaywgUUxQcmV2aWV3Q29udHJvbGxlcik7CisKK0BpbXBsZW1lbnRhdGlvbiBXS1N5c3RlbVBy
ZXZpZXdWaWV3IHsKKyAgICBSZXRhaW5QdHI8UUxQcmV2aWV3Q29udHJvbGxlcj4gX3FsUHJldmll
d0NvbnRyb2xsZXI7CisgICAgUmV0YWluUHRyPE5TSXRlbVByb3ZpZGVyPiBfaXRlbVByb3ZpZGVy
OworICAgIFJldGFpblB0cjxRTEl0ZW0+IF9pdGVtOworICAgIFJldGFpblB0cjxOU0RhdGE+IF9k
YXRhOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3N1Z2dlc3RlZEZpbGVuYW1lOworCisgICAg
V0tXZWJWaWV3ICpfd2ViVmlldzsKK30KKworLSAoaW5zdGFuY2V0eXBlKXdlYl9pbml0V2l0aEZy
YW1lOihDR1JlY3QpZnJhbWUgd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldworeworICAgIGlm
ICghKHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZV0pKQorICAgICAgICByZXR1cm4g
bmlsOworCisgICAgc2VsZi5iYWNrZ3JvdW5kQ29sb3IgPSBbVUlDb2xvciBsaWdodEdyYXlDb2xv
cl07CisKKyAgICBfd2ViVmlldyA9IHdlYlZpZXc7CisKKyAgICBVSVNjcm9sbFZpZXcgKnNjcm9s
bFZpZXcgPSB3ZWJWaWV3LnNjcm9sbFZpZXc7CisgICAgW3Njcm9sbFZpZXcgc2V0TWluaW11bVpv
b21TY2FsZToxXTsKKyAgICBbc2Nyb2xsVmlldyBzZXRNYXhpbXVtWm9vbVNjYWxlOjFdOworICAg
IFtzY3JvbGxWaWV3IHNldEJhY2tncm91bmRDb2xvcjpbVUlDb2xvciBsaWdodEdyYXlDb2xvcl1d
OworCisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpd2ViX3NldENvbnRlbnRQcm92aWRl
ckRhdGE6KE5TRGF0YSAqKWRhdGEgc3VnZ2VzdGVkRmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5h
bWUKK3sKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IHBhZ2UgPSBfd2ViVmlldy0+
X3BhZ2U7CisgICAgVUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0g
cGFnZS0+dWlDbGllbnQoKS5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXIoKTsKKworICAgIGlmICgh
cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBfc3VnZ2Vz
dGVkRmlsZW5hbWUgPSBhZG9wdE5TKFtmaWxlbmFtZSBjb3B5XSk7CisgICAgX2RhdGEgPSBhZG9w
dE5TKFtkYXRhIGNvcHldKTsKKworICAgIE5TU3RyaW5nICpleHRlbnNpb24gPSBbW19zdWdnZXN0
ZWRGaWxlbmFtZS5nZXQoKSBwYXRoRXh0ZW5zaW9uXSBsb3dlcmNhc2VTdHJpbmddOworICAgIFJl
dGFpblB0cjxDRlN0cmluZ1JlZj4gY29udGVudFR5cGUgPSBhZG9wdENGKFVUVHlwZUNyZWF0ZVBy
ZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NGaWxlbmFtZUV4dGVuc2lvbiwgKF9f
YnJpZGdlIENGU3RyaW5nUmVmKWV4dGVuc2lvbiwgbmlsKSk7CisKKyAgICBfaXRlbSA9IGFkb3B0
TlMoW2FsbG9jUUxJdGVtSW5zdGFuY2UoKSBpbml0V2l0aERhdGFQcm92aWRlcjpzZWxmIGNvbnRl
bnRUeXBlOihOU1N0cmluZyAqKWNvbnRlbnRUeXBlLmdldCgpIHByZXZpZXdUaXRsZTpfc3VnZ2Vz
dGVkRmlsZW5hbWUuZ2V0KCldKTsKKworICAgIF9xbFByZXZpZXdDb250cm9sbGVyID0gYWRvcHRO
UyhbYWxsb2NRTFByZXZpZXdDb250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7CisgICAgW19xbFBy
ZXZpZXdDb250cm9sbGVyIHNldERlbGVnYXRlOnNlbGZdOworICAgIFtfcWxQcmV2aWV3Q29udHJv
bGxlciBzZXREYXRhU291cmNlOnNlbGZdOworCisgICAgW3ByZXNlbnRpbmdWaWV3Q29udHJvbGxl
ciBwcmVzZW50Vmlld0NvbnRyb2xsZXI6X3FsUHJldmlld0NvbnRyb2xsZXIuZ2V0KCkgYW5pbWF0
ZWQ6WUVTIGNvbXBsZXRpb246bnVsbHB0cl07Cit9CisKKy0gKHZvaWQpd2ViX3NldE1pbmltdW1T
aXplOihDR1NpemUpc2l6ZQoreworfQorCistICh2b2lkKXdlYl9zZXRPdmVybGFpZEFjY2Vzc29y
eVZpZXdzSW5zZXQ6KENHU2l6ZSlpbnNldAoreworfQorCistICh2b2lkKXdlYl9jb21wdXRlZENv
bnRlbnRJbnNldERpZENoYW5nZQoreworfQorCistICh2b2lkKXdlYl9zZXRGaXhlZE92ZXJsYXlW
aWV3OihVSVZpZXcgKilmaXhlZE92ZXJsYXlWaWV3Cit7Cit9CisKKy0gKHZvaWQpd2ViX2RpZFNh
bWVEb2N1bWVudE5hdmlnYXRpb246KFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpbmF2aWdh
dGlvblR5cGUKK3sKK30KKworI3ByYWdtYSBtYXJrIEZpbmQtaW4tUGFnZQorCistICh2b2lkKXdl
Yl9jb3VudFN0cmluZ01hdGNoZXM6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KF9XS0ZpbmRP
cHRpb25zKW9wdGlvbnMgbWF4Q291bnQ6KE5TVUludGVnZXIpbWF4Q291bnQKK3sKKyAgICBSZWZQ
dHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IHBhZ2UgPSBfd2ViVmlldy0+X3BhZ2U7CisgICAgcGFn
ZS0+ZmluZENsaWVudCgpLmRpZENvdW50U3RyaW5nTWF0Y2hlcyhwYWdlLmdldCgpLCBzdHJpbmcs
IDApOworfQorCistICh2b2lkKXdlYl9maW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRp
b25zOihfV0tGaW5kT3B0aW9ucylvcHRpb25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50
Cit7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBwYWdlID0gX3dlYlZpZXctPl9w
YWdlOworICAgIHBhZ2UtPmZpbmRDbGllbnQoKS5kaWRGYWlsVG9GaW5kU3RyaW5nKHBhZ2UuZ2V0
KCksIHN0cmluZyk7Cit9CisKKy0gKHZvaWQpd2ViX2hpZGVGaW5kVUkKK3sKK30KKworI3ByYWdt
YSBtYXJrIFFMUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlCisKKy0gKE5TSW50ZWdlciludW1i
ZXJPZlByZXZpZXdJdGVtc0luUHJldmlld0NvbnRyb2xsZXI6KFFMUHJldmlld0NvbnRyb2xsZXIg
Kiljb250cm9sbGVyCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy0gKGlkPFFMUHJldmlld0l0ZW0+
KXByZXZpZXdDb250cm9sbGVyOihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBwcmV2
aWV3SXRlbUF0SW5kZXg6KE5TSW50ZWdlcilpbmRleAoreworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxpZDxRTFByZXZpZXdJdGVtPj4oX2l0ZW0uZ2V0KCkpOworfQorCisjcHJhZ21hIG1hcmsgUUxQ
cmV2aWV3SXRlbURhdGFQcm92aWRlcgorCistIChOU0RhdGEgKilwcm92aWRlRGF0YUZvckl0ZW06
KFFMSXRlbSAqKWl0ZW0KK3sKKyAgICByZXR1cm4gX2RhdGEuZ2V0KCk7Cit9CisKKyNwcmFnbWEg
bWFyayBRTFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUKKworLSAodm9pZClwcmV2aWV3Q29udHJv
bGxlcldpbGxEaXNtaXNzOihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgoreworICAg
IFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gcGFnZSA9IF93ZWJWaWV3LT5fcGFnZTsKKyAg
ICBwYWdlLT5nb0JhY2soKTsKK30KKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM1MzY1OWUzNzkxNWRkODNh
NDU2Mzk3N2FiODUzYjZmMmU5YmZjYjcuLmQ3YzM0MWU0Yjc4OTdjMGI0NTUxY2YzZmJmZTA4NTcz
MzQwYTNkNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNzYwLDYgKzc2MCw4IEBACiAJCTMxMzEyNjIxMTQ4RkY4MkMwMEJBMkEzOSAv
KiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTMxMjYxQzE0OEZGODJCMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5oICovOyB9OwogCQkzMTU3MTM1RTIwNDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVt
UHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxNTcxMzVDMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3
Q29udHJvbGxlckNvY29hLm1tICovOyB9OwogCQkzMTU3MTM1RjIwNDBBOUIyMDA4NEY5Q0YgLyog
U3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxNTcxMzVEMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3
Q29udHJvbGxlci5oICovOyB9OworCQkzMTZCOEI2MzIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0
ZW1QcmV2aWV3Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxNkI4QjYxMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lm1t
ICovOyB9OworCQkzMTZCOEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QjhC
NjIyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLzsgfTsKIAkJMzE3
RkU3QzUxQzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MyMUM0ODdBNjYw
MEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggKi87IH07CiAJCTMxN0ZFN0M2MUM0
ODdBNzEwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MxMUM0ODdBNjYwMEEwQ0E4
OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmNwcCAqLzsgfTsKIAkJMzE3RkU3Q0QxQzQ4N0RB
RTAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzkxQzQ4N0Q5RDAwQTBD
QTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oICovOyB9OwpAQCAtMzE0OCw2
ICszMTUwLDggQEAKIAkJMzE1NzEzNUMyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVByZXZpZXdD
b250cm9sbGVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlckNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTU3MTM1RDIw
NDBBOUIyMDA4NEY5Q0YgLyogU3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzE2MDdGMzgxOTYyNzAwMjAwOUI4N0RBIC8qIExlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lTZXNzaW9uU3RhdGVDb2Rp
bmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QjhCNjEyMDU0QjU1ODAwQkQ0
QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1N5
c3RlbVByZXZpZXdWaWV3Lm1tOyBwYXRoID0gaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNkI4QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBX
S1N5c3RlbVByZXZpZXdWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLU3lzdGVtUHJldmlld1ZpZXcu
aDsgcGF0aCA9IGlvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxN0ZFN0MxMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0
dXJlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSUV4cGVyaW1l
bnRhbEZlYXR1cmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTdGRTdDMjFD
NDg3QTY2MDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBUElFeHBlcmltZW50YWxGZWF0dXJlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmlt
ZW50YWxGZWF0dXJlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0V4cGVy
aW1lbnRhbEZlYXR1cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyOTksOCAr
MzMwMyw4IEBACiAJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRD
TmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTJCNTQ3MUY5RkQzQUIwMEU2Nzg3NSAv
KiBOZXR3b3JrUlRDUmVzb2x2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gTmV0d29ya1JUQ1Jlc29sdmVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDUmVzb2x2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
MTEyQjU0ODFGOUZEM0FDMDBFNjc4NzUgLyogTmV0d29ya1JUQ1Jlc29sdmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNvbHZlci5oOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTEyQjU0NzFGOUZEM0FCMDBFNjc5ODYgLyogTmV0d29ya1JUQ1Jlc29s
dmVyQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29y
a1JUQ1Jlc29sdmVyQ29jb2EuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENSZXNvbHZlckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEx
MkI1NDgxRjlGRDNBQzAwRTY3ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUmVzb2x2ZXIuaDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDExMkI1NDgxRjlGRDNBQzAwRTY3OTg2IC8qIE5ldHdvcmtSVENSZXNvbHZl
ckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENSZXNv
bHZlckNvY29hLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Jlc29s
dmVyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQjIyNjIxRTM3MTI0
NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5ODFERTg0
RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTU4MjgsNiArNTgzMiw4IEBACiAJCQkJMEZDQjRFNDUxOEJCRTA0NDAwMEZDRkM5IC8q
IFdLU2Nyb2xsVmlldy5tbSAqLywKIAkJCQkyNkYxMEJFNjE5MTg3RTJFMDAxRDBFNjggLyogV0tT
eW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggKi8sCiAJCQkJMjZGMTBCRTcxOTE4
N0UyRTAwMUQwRTY4IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5tICov
LAorCQkJCTMxNkI4QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3Lmgg
Ki8sCisJCQkJMzE2QjhCNjEyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcu
bW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC04NDkyLDE0ICs4NDk4LDE0IEBACiAJCUNEQzI4MzFBMjAxQkQ3NTYwMEU2RTc0NSAvKiBm
dWxsc2NyZWVuICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQlDRDE5RDJFOTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGlj
LmNwcCAqLywKKwkJCQlDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNo
U2VjaGV1cmlzdGljLmggKi8sCiAJCQkJQ0RDMjgzMUIyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVs
bHNjcmVlblN0YWNrVmlldy5oICovLAogCQkJCUNEQzI4MzFDMjAxQkQ3OUQwMEU2RTc0NSAvKiBX
S0Z1bGxzY3JlZW5TdGFja1ZpZXcubW0gKi8sCiAJCQkJQ0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5
IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmggKi8sCiAJCQkJQ0QwQzY4MzAyMDFGRDEw
MTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tICovLAogCQkJCTNGOTE1
QzBGMUY1NjRERUQwMDE4M0NFOSAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLmgg
Ki8sCiAJCQkJM0Y5MTVDMEUxRjU2NERFRDAwMTgzQ0U5IC8qIFdLRnVsbFNjcmVlbldpbmRvd0Nv
bnRyb2xsZXJJT1MubW0gKi8sCi0JCQkJQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxz
Y3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oICovLAotCQkJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0
QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwICovLAogCQkJKTsKIAkJCW5hbWUg
PSBmdWxsc2NyZWVuOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTg4MjksNyArODgz
NSw2IEBACiAJCQkJOTk1NUE2RjUxQzc5ODZFMDAwRUI2QTkzIC8qIEF1dG9tYXRpb25CYWNrZW5k
RGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMyMEU3RTIwMDVDNEM4
MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTI0OUFENjFGMUYx
RTVGMDBCNjJGQkIgLyogQXV0b21hdGlvbkZyb250ZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUNEMTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5MyAv
KiBBdXRvbWF0aW9uUHJvdG9jb2xPYmplY3RzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTBEMjhC
QjFDNjUzOUQzMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEQTA0MUY0MUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQ
SS5oIGluIEhlYWRlcnMgKi8sCkBAIC04ODQ1LDcgKzg4NTAsNiBAQAogCQkJCTFBQTJFNTFEMTJF
NEMwNUUwMEJDNDk2NiAvKiBDR1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDk1
NkYxMjg0ODU2NDAwMUVCOTYyIC8qIENoaWxkUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFGQUVDM0ExQjA2NTc2MzAwMDlDNEU3IC8qIENoaWxkUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlDREMyODMxRDIwMUJENzlEMDBFNkU3NDUgLyogV0tGdWxsc2NyZWVuU3Rh
Y2tWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTUxM0M2NzE2NkVBQkIyMDAxNDlGQ0IgLyog
Q2hpbGRQcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5MEY0MjcyMTcyQTBDNzQw
MDkzOUZGMCAvKiBDaGlsZFByb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RTExQUQ1MjFDQkM0ODJGMDA2ODFFRTUgLyogQ29kZVNpZ25pbmcuaCBpbiBIZWFkZXJzICovLApA
QCAtODg4OCw2ICs4ODkyLDcgQEAKIAkJCQkxQUUwMEQ2MTE4MzE3OTIxMDAwODdERDcgLyogRnJh
bWVMb2FkU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENEFGMDg5MjA0NEMzQzQwMDZDODgx
NyAvKiBGcm9udEJvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENzhFMTE1
MURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRDE5RDJFQTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGlj
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVCRTFCMzFENTkwMkREMDBERDdDNjggLyogR2FtZXBh
ZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTc3NTNGMTE4QkFCRjAwMDdEOUU5QSAvKiBH
ZW5lcmljQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDZGNDJGMTJEQkI5QjYwMDJE
NzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC05MzkwLDcgKzkzOTUsNiBAQAogCQkJCTkzNEI3MjQ0MTlGNUI5QkUwMEFFOTZENiAv
KiBXS0FjdGlvbk1lbnVJdGVtVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOUY0MDFDMTlG
QjBCQkMwMDJCMkI0MiAvKiBXS0FjdGlvbk1lbnVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZDQjRFNDgxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXQuaCBpbiBIZWFkZXJzICov
LAotCQkJCUNEMEM2ODMxMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDQjRFNEExOEJCRTA0NDAwMEZDRkM5IC8qIFdL
QWN0aW9uU2hlZXRBc3Npc3RhbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RkExRUQzMThFMTA2
MjIwMEIzRjQwMiAvKiBXS0FpclBsYXlSb3V0ZVBpY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNEREIzMkQxMjRFQzJFMTAwNDhEMTNDIC8qIFdLQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCkBA
IC05NTI0LDYgKzk1MjgsOCBAQAogCQkJCTJEM0E2NUU3MUE3QzNBQTcwMENBQzYzNyAvKiBXS0Zy
YW1lSW5mb1JlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCOUY2QTUxMTIzREQwRDAwQTEzN0Uw
IC8qIFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBRUEyMkYx
NDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQ0RDMjgzMUQyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNr
Vmlldy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5IC8qIFdL
RnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRENBODVDOTEz
MkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJM0ZGRERCOTYxRjU3N0Y0ODAwNTBFNTkzIC8qIFdLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXJJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGOTE1QzEwMUY1NjRERUUwMDE4
M0NFOSAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGluIEhlYWRlcnMgKi8s
CkBAIC05NjY4LDYgKzk2NzQsNyBAQAogCQkJCUJDNDA3NjFBMTI0RkYwMzcwMDY4RjIwQSAvKiBX
S1N0cmluZ0NGLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzkwOTk4MDEyNTZBOTgyMDAwODM3NTYg
LyogV0tTdHJpbmdQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkYxMEJFODE5MTg3RTJF
MDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkzMTZCOEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3
Vmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGODg2QTYxRjJDMjI4MTAwQzE5M0VGIC8qIFdL
VGVzdGluZ1N1cHBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRDc1NUMxMUQ5MUI4MTUwMDg0
M0JEMSAvKiBXS1RleHRDaGVja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREQ2N0EzNTFCRDg2
MTA2MDA1M0IyNTEgLyogV0tUZXh0RmluZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTEw
NDgzLDcgKzEwNDkwLDYgQEAKIAkJCQk5OTBEMjhCQzFDNjUzOURBMDA5ODY5NzcgLyogQXV0b21h
dGlvblNlc3Npb25DbGllbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkEyQjYwODFFNTY3NkE2
MDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUUxNjRBMkYxMTkxQUYxNEUwMDEwNzM3RCAvKiBCbG9iRGF0YUZpbGVS
ZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDE5
RDJFQjIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUxNzA4NzZCMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0
cnlQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEg
LyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTg5N0VENzFGNDE1RDhBMDAx
NkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA1MzQs
NiArMTA1NDAsNyBAQAogCQkJCTFBMTRGOEUxMUQ3NEM4MzQwMDZDQkVDNiAvKiBGcmFtZUluZm9E
YXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTAwRDYwMTgzMTc5MjEwMDA4N0RENyAvKiBG
cmFtZUxvYWRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDc4RTExNDFEQjdEN0VEMDAx
NEEyREUgLyogRnVsbHNjcmVlbkNsaWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEMTlEMkVC
MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTE1QkUxQjIxRDU5MDJERDAwREQ3QzY4IC8qIEdhbWVwYWREYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDZGNDMwMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzA2
RjQ0QjEyREJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEwNTcxLDcgKzEwNTc4LDYgQEAKIAkJCQkx
QUU0OTg3OTExRkY3RkFBMDA0OEI0NjQgLyogSlNOUE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0UwOTM3NzE0RkIxMjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSBp
biBTb3VyY2VzICovLAogCQkJCTBGMEMzNjVFMThDMTEwQTUwMEY2MDdENyAvKiBMYXllclJlcHJl
c2VudGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0RDMjgzMUUyMDFCRDc5RDAwRTZFNzQ1
IC8qIFdLRnVsbHNjcmVlblN0YWNrVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOTJEQzEz
MTJGOEJBQjkwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFBRkRFNjQ1MTk1MTBCNTUwMEM0OEZGQSAvKiBMZWdhY3lCdW5kbGVGb3JDbGFzcy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTVDRkVDQjA0MUUxRUQxQ0MwMEY4ODUwNCAvKiBMZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTA3MCw3ICsxMTA3Niw2
IEBACiAJCQkJQkMzMDY2QkUxMjVBNDQyMTAwRTcxMjc4IC8qIFdlYlByb2Nlc3NNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNEQyMUExQTQ5MTRBMzAwQzdGMTUyIC8q
IFdlYlByb2Nlc3NQb29sLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTREMjE2MUE0OTE0ODQw
MEM3RjE1MiAvKiBXZWJQcm9jZXNzUG9vbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0Qw
QzY4MzIyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NFNEQyMjcxQTQ5MTZDMjAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQ
b29sTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQjExMTEyRjVF
NEYwMDMzN0JBQiAvKiBXZWJQcm9jZXNzUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEw
NEY2MTkxQTRBM0E3QTAwQTIxQjZFIC8qIFdlYlByb2Nlc3NQcm94eUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC0xMTIxOCw2ICsxMTIyMyw4IEBACiAJCQkJMkQzQTY1RTYxQTdDM0FBNzAwQ0FD
NjM3IC8qIFdLRnJhbWVJbmZvUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjlGNkE2MTEy
M0REMEQwMEExMzdFMCAvKiBXS0ZyYW1lUG9saWN5TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTFBRUEyMzAxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0
Y2hlci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEQzI4MzFFMjAxQkQ3OUQwMEU2RTc0NSAvKiBX
S0Z1bGxzY3JlZW5TdGFja1ZpZXcubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDBDNjgzMjIwMUZE
MTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAq
LywKIAkJCQlDRENBODVDODEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29u
dHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTNGRkREQjk3MUY1NzgwRTEwMDUwRTU5MyAv
KiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM1NENDMTMxMkQ2NzRFRTAwNUM2N0IwIC8qIFdLR2VvbG9jYXRpb25NYW5hZ2VyLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMTEzMTEsNiArMTEzMTgsNyBAQAogCQkJCUJDNDA3NjA1MTI0RkYwMjcw
MDY4RjIwQSAvKiBXS1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYxOTEyNEZG
MDM3MDA2OEYyMEEgLyogV0tTdHJpbmdDRi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI2RjEwQkU5
MTkxODdFMkUwMDFEMEU2OCAvKiBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIu
bSBpbiBTb3VyY2VzICovLAorCQkJCTMxNkI4QjYzMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3Rl
bVByZXZpZXdWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGODg2QTUxRjJDMjI3RTAwQzE5
M0VGIC8qIFdLVGVzdGluZ1N1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFENzU1QzIx
RDkxQjgxQjAwODQzQkQxIC8qIFdLVGV4dENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkRENjdBMzYxQkQ4NjEwNjAwNTNCMjUxIC8qIFdLVGV4dEZpbmRlckNsaWVudC5tbSBpbiBTb3Vy
Y2VzICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>