<?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>149851</bug_id>
          
          <creation_ts>2015-10-06 10:39:47 -0700</creation_ts>
          <short_desc>WKPage needs to expose a KVO-compliant object, similar to WKWebView</short_desc>
          <delta_ts>2015-10-06 12:12:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131023</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-06 10:39:47 -0700</bug_when>
    <thetext>WKPage needs to expose a KVO-compliant object, similar to WKWebView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131024</commentid>
    <comment_count>1</comment_count>
      <attachid>262522</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-06 10:41:51 -0700</bug_when>
    <thetext>Created attachment 262522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131032</commentid>
    <comment_count>2</comment_count>
      <attachid>262522</attachid>
    <who name="">mitz</who>
    <bug_when>2015-10-06 10:57:49 -0700</bug_when>
    <thetext>Comment on attachment 262522
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/mac/WKPagePrivateMac.h:36
&gt; +WK_EXPORT id WKPageCreatePageObserver(WKPageRef page);

Perhaps this should be WKPageCreateObservableState and return an id &lt;_WKObservablePageState&gt;.

This function may also need to be annotated for ARC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131049</commentid>
    <comment_count>3</comment_count>
      <attachid>262529</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-06 11:32:00 -0700</bug_when>
    <thetext>Created attachment 262529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131066</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-06 12:12:07 -0700</bug_when>
    <thetext>Committed r190631: &lt;http://trac.webkit.org/changeset/190631&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262522</attachid>
            <date>2015-10-06 10:41:51 -0700</date>
            <delta_ts>2015-10-06 11:31:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149851-20151006104120.patch</filename>
            <type>text/plain</type>
            <size>22964</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDA0Mzk0YjBlZWY1YmQ2
N2IxMGY1ZGNhNWI4ZGQ4NWUxZTgwNDRmYS4uN2I1ZmFiYTZmZjBhODNhNWNiNmVhMDNhMmU2NjVm
OGM0OTYyNDQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTEwLTA2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tQYWdlIG5lZWRz
IHRvIGV4cG9zZSBhIEtWTy1jb21wbGlhbnQgb2JqZWN0LCBzaW1pbGFyIHRvIFdLV2ViVmlldwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5ODUxCisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIyMzgyMDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgUGFnZUxvYWRTdGF0ZU9ic2VydmVyIG9i
amVjdCBmcm9tIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBvdXQgaW50byBhIHNlcGFyYXRl
IGZpbGUgYW5kIG1ha2UgaXQKKyAgICAgICAgd29yayB3aXRoIGFueSBPYmplY3RpdmUtQyBvYmpl
Y3QuIFVzZSBpdCBpbiBXS1BhZ2VPYnNlcnZlciBhbmQgYWRkIGEgV0tQYWdlQ3JlYXRlUGFnZU9i
c2VydmVyIGZ1bmN0aW9uLgorICAgICAgICAKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFj
L1dLUGFnZVByaXZhdGVNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFn
ZVByaXZhdGVNYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuY3BwLgorICAgICAgICAoLVtXS1BhZ2VPYnNlcnZlciBp
bml0V2l0aFBhZ2U6XSk6CisgICAgICAgICgtW1dLUGFnZU9ic2VydmVyIGRlYWxsb2NdKToKKyAg
ICAgICAgKC1bV0tQYWdlT2JzZXJ2ZXIgaXNMb2FkaW5nXSk6CisgICAgICAgICgtW1dLUGFnZU9i
c2VydmVyIHRpdGxlXSk6CisgICAgICAgICgtW1dLUGFnZU9ic2VydmVyIGFjdGl2ZVVSTF0pOgor
ICAgICAgICAoLVtXS1BhZ2VPYnNlcnZlciBoYXNPbmx5U2VjdXJlQ29udGVudF0pOgorICAgICAg
ICAoLVtXS1BhZ2VPYnNlcnZlciBlc3RpbWF0ZWRQcm9ncmVzc10pOgorICAgICAgICAoV0tQYWdl
Q3JlYXRlUGFnZU9ic2VydmVyKToKKyAgICAgICAgKFdLUGFnZUdldFByb2Nlc3NJZGVudGlmaWVy
KToKKyAgICAgICAgKFdLUGFnZUlzVVJMS25vd25IU1RTSG9zdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9QYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OlBhZ2VMb2FkU3RhdGVPYnNlcnZlcjo6UGFnZUxvYWRTdGF0ZU9ic2VydmVyKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5t
bToKKyAgICAgICAgKFBhZ2VMb2FkU3RhdGVPYnNlcnZlcjo6UGFnZUxvYWRTdGF0ZU9ic2VydmVy
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMTUtMTAtMDYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIEVuYWJsZSBYU0xUIHdoZW4gYnVpbGRpbmcgV2ViS2l0IGZvciBpT1MgdXNpbmcgdGhlIHB1
YmxpYyBpT1MgU0RLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
bWFjL1dLUGFnZVByaXZhdGVNYWMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L21hYy9XS1BhZ2VQcml2YXRlTWFjLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTZiMjRmNzAxMGI0YjI5MjMzMWZhOTEwMmZiNjM0YmI2OTNlY2UxOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXS1BhZ2VQ
cml2YXRlTWFjLmgiCi0KLSNpbmNsdWRlICJXS0FQSUNhc3QuaCIKLSNpbmNsdWRlICJXZWJQYWdl
R3JvdXAuaCIKLSNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKLSNpbmNsdWRlICJXZWJQcmVmZXJl
bmNlcy5oIgotI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7Ci0KLXBpZF90IFdLUGFnZUdldFByb2Nlc3NJZGVudGlmaWVyKFdLUGFnZVJlZiBwYWdl
UmVmKQotewotICAgIHJldHVybiB0b0ltcGwocGFnZVJlZiktPnByb2Nlc3NJZGVudGlmaWVyKCk7
Ci19Ci0KLWJvb2wgV0tQYWdlSXNVUkxLbm93bkhTVFNIb3N0KFdLUGFnZVJlZiBwYWdlLCBXS1VS
TFJlZiB1cmwpCi17Ci0gICAgV2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkgPSB0b0ltcGwocGFn
ZSk7Ci0gICAgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkID0gd2ViUGFnZVByb3h5LT5wYWdl
R3JvdXAoKS5wcmVmZXJlbmNlcygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKTsKLQotICAgIHJl
dHVybiB3ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmlzVVJMS25vd25IU1RT
SG9zdCh0b0ltcGwodXJsKS0+c3RyaW5nKCksIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpOwotfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2
YXRlTWFjLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZh
dGVNYWMuaAppbmRleCA0ZjBhYTA4ZjBjYTU4MThhMGE2Yjc4M2RmZjNhMjZlZjRkNjVmNjE0Li4w
OTE4OWJhMjE5ZjljOWViN2U0NGI3NWUwNTlhNmQ5NDc1MDkwOWM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuaApAQCAt
MzMsNiArMzMsNyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorV0tfRVhQT1JUIGlkIFdLUGFn
ZUNyZWF0ZVBhZ2VPYnNlcnZlcihXS1BhZ2VSZWYgcGFnZSk7CiBXS19FWFBPUlQgcGlkX3QgV0tQ
YWdlR2V0UHJvY2Vzc0lkZW50aWZpZXIoV0tQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIGJvb2wg
V0tQYWdlSXNVUkxLbm93bkhTVFNIb3N0KFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlZiB1cmwpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVBy
aXZhdGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVBy
aXZhdGVNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODExZWMyZjU0NmZhNWFlNDM4Zjg5N2ZlNzk3NmNkYWJj
N2Q4ZGExNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQpAQCAtMCwwICsxLDEwOSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tQYWdlUHJpdmF0ZU1hYy5oIgorCisjaW1w
b3J0ICJQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaCIKKyNpbXBvcnQgIldLQVBJQ2FzdC5oIgorI2lt
cG9ydCAiV0tOU1VSTEV4dHJhcy5oIgorI2ltcG9ydCAiV2ViUGFnZUdyb3VwLmgiCisjaW1wb3J0
ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCisjaW1wb3J0ICJX
ZWJQcm9jZXNzUG9vbC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitAaW50ZXJmYWNl
IFdLUGFnZU9ic2VydmVyIDogTlNPYmplY3QKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFdLUGFn
ZU9ic2VydmVyIHsKKyAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBfcGFnZTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8UGFnZUxvYWRTdGF0ZU9ic2VydmVyPiBfb2JzZXJ2ZXI7Cit9OworCistIChpZClp
bml0V2l0aFBhZ2U6KFJlZlB0cjxXZWJQYWdlUHJveHk+JiYpcGFnZQoreworICAgIGlmICghKHNl
bGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX3BhZ2UgPSBX
VEY6Om1vdmUocGFnZSk7CisgICAgX29ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlTG9h
ZFN0YXRlT2JzZXJ2ZXI+KHNlbGYpOworICAgIF9wYWdlLT5wYWdlTG9hZFN0YXRlKCkuYWRkT2Jz
ZXJ2ZXIoKl9vYnNlcnZlcik7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9pZClkZWFs
bG9jCit7CisgICAgX3BhZ2UtPnBhZ2VMb2FkU3RhdGUoKS5yZW1vdmVPYnNlcnZlcigqX29ic2Vy
dmVyKTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAoQk9PTClpc0xvYWRpbmcKK3sK
KyAgICByZXR1cm4gX3BhZ2UtPnBhZ2VMb2FkU3RhdGUoKS5pc0xvYWRpbmcoKTsKK30KKworLSAo
TlNTdHJpbmcgKil0aXRsZQoreworICAgIHJldHVybiBfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLnRp
dGxlKCk7Cit9CisKKy0gKE5TVVJMICopYWN0aXZlVVJMCit7CisgICAgcmV0dXJuIFtOU1VSTCBf
d2ViX1VSTFdpdGhXVEZTdHJpbmc6X3BhZ2UtPnBhZ2VMb2FkU3RhdGUoKS5hY3RpdmVVUkwoKV07
Cit9CisKKy0gKEJPT0wpaGFzT25seVNlY3VyZUNvbnRlbnQKK3sKKyAgICByZXR1cm4gX3BhZ2Ut
PnBhZ2VMb2FkU3RhdGUoKS5oYXNPbmx5U2VjdXJlQ29udGVudCgpOworfQorCistIChkb3VibGUp
ZXN0aW1hdGVkUHJvZ3Jlc3MKK3sKKyAgICByZXR1cm4gX3BhZ2UtPmVzdGltYXRlZFByb2dyZXNz
KCk7Cit9CisKK0BlbmQKKworaWQgV0tQYWdlQ3JlYXRlUGFnZU9ic2VydmVyKFdLUGFnZVJlZiBw
YWdlUmVmKQoreworICAgIHJldHVybiBbW1dLUGFnZU9ic2VydmVyIGFsbG9jXSBpbml0V2l0aFBh
Z2U6dG9JbXBsKHBhZ2VSZWYpXTsKK30KKworcGlkX3QgV0tQYWdlR2V0UHJvY2Vzc0lkZW50aWZp
ZXIoV0tQYWdlUmVmIHBhZ2VSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwYWdlUmVmKS0+cHJv
Y2Vzc0lkZW50aWZpZXIoKTsKK30KKworYm9vbCBXS1BhZ2VJc1VSTEtub3duSFNUU0hvc3QoV0tQ
YWdlUmVmIHBhZ2UsIFdLVVJMUmVmIHVybCkKK3sKKyAgICBXZWJQYWdlUHJveHkqIHdlYlBhZ2VQ
cm94eSA9IHRvSW1wbChwYWdlKTsKKyAgICBib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQgPSB3
ZWJQYWdlUHJveHktPnBhZ2VHcm91cCgpLnByZWZlcmVuY2VzKCkucHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCgpOworCisgICAgcmV0dXJuIHdlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnByb2Nlc3NQb29s
KCkuaXNVUkxLbm93bkhTVFNIb3N0KHRvSW1wbCh1cmwpLT5zdHJpbmcoKSwgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1BhZ2VMb2FkU3RhdGVPYnNlcnZlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9QYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NWUzMzQ0N2Nh
Njg3MWE0N2JmMDA1MWIwNjJlZjMzOTEwNmM1YzBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9QYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaApAQCAt
MCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGFnZUxvYWRTdGF0ZU9ic2VydmVy
X2gKKyNkZWZpbmUgUGFnZUxvYWRTdGF0ZU9ic2VydmVyX2gKKworI2ltcG9ydCAiUGFnZUxvYWRT
dGF0ZS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUGFnZUxvYWRTdGF0ZU9ic2Vy
dmVyIDogcHVibGljIFBhZ2VMb2FkU3RhdGU6Ok9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICBQYWdl
TG9hZFN0YXRlT2JzZXJ2ZXIoaWQgb2JqZWN0KQorICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkK
KyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlSXNM
b2FkaW5nKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFttX29iamVjdCB3aWxsQ2hhbmdlVmFs
dWVGb3JLZXk6QCJsb2FkaW5nIl07CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZUlzTG9hZGluZygpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3QgZGlkQ2hhbmdl
VmFsdWVGb3JLZXk6QCJsb2FkaW5nIl07CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHdpbGxD
aGFuZ2VUaXRsZSgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qgd2lsbENoYW5n
ZVZhbHVlRm9yS2V5OkAidGl0bGUiXTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hh
bmdlVGl0bGUoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgW21fb2JqZWN0IGRpZENoYW5nZVZh
bHVlRm9yS2V5OkAidGl0bGUiXTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5n
ZUFjdGl2ZVVSTCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qgd2lsbENoYW5n
ZVZhbHVlRm9yS2V5OkAiYWN0aXZlVVJMIl07CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZUFjdGl2ZVVSTCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3QgZGlk
Q2hhbmdlVmFsdWVGb3JLZXk6QCJhY3RpdmVVUkwiXTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZv
aWQgd2lsbENoYW5nZUhhc09ubHlTZWN1cmVDb250ZW50KCkgb3ZlcnJpZGUKKyAgICB7CisgICAg
ICAgIFttX29iamVjdCB3aWxsQ2hhbmdlVmFsdWVGb3JLZXk6QCJoYXNPbmx5U2VjdXJlQ29udGVu
dCJdOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VIYXNPbmx5U2VjdXJlQ29u
dGVudCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3QgZGlkQ2hhbmdlVmFsdWVG
b3JLZXk6QCJoYXNPbmx5U2VjdXJlQ29udGVudCJdOworICAgIH0KKworICAgIHZpcnR1YWwgdm9p
ZCB3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAg
W21fb2JqZWN0IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAImVzdGltYXRlZFByb2dyZXNzIl07Cisg
ICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUVzdGltYXRlZFByb2dyZXNzKCkgb3Zl
cnJpZGUKKyAgICB7CisgICAgICAgIFttX29iamVjdCBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImVz
dGltYXRlZFByb2dyZXNzIl07CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VD
YW5Hb0JhY2soKSBvdmVycmlkZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ2FuR29C
YWNrKCkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VDYW5Hb0Zvcndh
cmQoKSBvdmVycmlkZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ2FuR29Gb3J3YXJk
KCkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VOZXR3b3JrUmVxdWVz
dHNJblByb2dyZXNzKCkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZU5l
dHdvcmtSZXF1ZXN0c0luUHJvZ3Jlc3MoKSBvdmVycmlkZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
d2lsbENoYW5nZUNlcnRpZmljYXRlSW5mbygpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VDZXJ0aWZpY2F0ZUluZm8oKSBvdmVycmlkZSB7IH0KKworICAgIGlkIG1fb2Jq
ZWN0OworfTsKKworfQorCisjZW5kaWYgLy8gUGFnZUxvYWRTdGF0ZU9ic2VydmVyX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRl
eHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KaW5kZXggNTllYjVmOTBmZmI5NDhjMzM1ZGM5Y2U3
NmUwM2VkZDlmMTk1NGZmNy4uMGY1YTcwNTBjYzU4YjdkODE2N2FjZmIwYmUzZTcyYTQ5MzEwOWQx
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTMwLDYgKzMwLDcgQEAK
IAogI2ltcG9ydCAiQVBJRGF0YS5oIgogI2ltcG9ydCAiT2JqQ09iamVjdEdyYXBoLmgiCisjaW1w
b3J0ICJQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaCIKICNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lz
dHJ5LmgiCiAjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgiCiAjaW1wb3J0
ICJXS0JhY2tGb3J3YXJkTGlzdEludGVybmFsLmgiCkBAIC02MSw3NiArNjIsNiBAQAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1jbGFzcyBQYWdl
TG9hZFN0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgUGFnZUxvYWRTdGF0ZTo6T2JzZXJ2ZXIgewotcHVi
bGljOgotICAgIFBhZ2VMb2FkU3RhdGVPYnNlcnZlcihXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIgKmNvbnRyb2xsZXIpCi0gICAgICAgIDogbV9jb250cm9sbGVyKGNvbnRyb2xsZXIpCi0gICAg
ewotICAgIH0KLQotcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUlzTG9hZGlu
ZygpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9jb250cm9sbGVyIHdpbGxDaGFuZ2VWYWx1
ZUZvcktleTpAImxvYWRpbmciXTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
SXNMb2FkaW5nKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFttX2NvbnRyb2xsZXIgZGlkQ2hh
bmdlVmFsdWVGb3JLZXk6QCJsb2FkaW5nIl07Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHdp
bGxDaGFuZ2VUaXRsZSgpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9jb250cm9sbGVyIHdp
bGxDaGFuZ2VWYWx1ZUZvcktleTpAInRpdGxlIl07Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZVRpdGxlKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFttX2NvbnRyb2xsZXIg
ZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJ0aXRsZSJdOwotICAgIH0KLQotICAgIHZpcnR1YWwgdm9p
ZCB3aWxsQ2hhbmdlQWN0aXZlVVJMKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFttX2NvbnRy
b2xsZXIgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiYWN0aXZlVVJMIl07Ci0gICAgfQotCi0gICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUFjdGl2ZVVSTCgpIG92ZXJyaWRlCi0gICAgewotICAgICAg
ICBbbV9jb250cm9sbGVyIGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiYWN0aXZlVVJMIl07Ci0gICAg
fQotCi0gICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VIYXNPbmx5U2VjdXJlQ29udGVudCgpIG92
ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9jb250cm9sbGVyIHdpbGxDaGFuZ2VWYWx1ZUZvcktl
eTpAImhhc09ubHlTZWN1cmVDb250ZW50Il07Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZUhhc09ubHlTZWN1cmVDb250ZW50KCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFtt
X2NvbnRyb2xsZXIgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJoYXNPbmx5U2VjdXJlQ29udGVudCJd
OwotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3Mo
KSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgW21fY29udHJvbGxlciB3aWxsQ2hhbmdlVmFsdWVG
b3JLZXk6QCJlc3RpbWF0ZWRQcm9ncmVzcyJdOwotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCBk
aWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9j
b250cm9sbGVyIGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiZXN0aW1hdGVkUHJvZ3Jlc3MiXTsKLSAg
ICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUNhbkdvQmFjaygpIG92ZXJyaWRlIHsg
fQotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDYW5Hb0JhY2soKSBvdmVycmlkZSB7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUNhbkdvRm9yd2FyZCgpIG92ZXJyaWRlIHsgfQotICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDYW5Hb0ZvcndhcmQoKSBvdmVycmlkZSB7IH0KLSAgICB2
aXJ0dWFsIHZvaWQgd2lsbENoYW5nZU5ldHdvcmtSZXF1ZXN0c0luUHJvZ3Jlc3MoKSBvdmVycmlk
ZSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTmV0d29ya1JlcXVlc3RzSW5Qcm9ncmVz
cygpIG92ZXJyaWRlIHsgfQotICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlQ2VydGlmaWNhdGVJ
bmZvKCkgb3ZlcnJpZGUgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNlcnRpZmljYXRl
SW5mbygpIG92ZXJyaWRlIHsgfQotCi0gICAgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpt
X2NvbnRyb2xsZXI7Ci19OwotCiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uSXNNYWluRnJhbWVL
ZXkgPSBAIldLQWN0aW9uSXNNYWluRnJhbWVLZXkiOwogTlNTdHJpbmcgKiBjb25zdCBXS0FjdGlv
bk5hdmlnYXRpb25UeXBlS2V5ID0gQCJXS0FjdGlvbk5hdmlnYXRpb25UeXBlS2V5IjsKIE5TU3Ry
aW5nICogY29uc3QgV0tBY3Rpb25Nb3VzZUJ1dHRvbktleSA9IEAiV0tBY3Rpb25Nb3VzZUJ1dHRv
bktleSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYWFmYzRhMWIxZDM3NzdhYjkyODRlNmExZjY3MGEzMTg3MzlmY2ZmNS4uZThl
ZGQ1NmQ2YWQyZTkyMjNmYzJmNzlhMTI3YzYyOTEyN2Q5YWU4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzE0LDYgKzMxNCw3
IEBACiAJCTFBODFCMzgwMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE4MUIzN0Ux
OEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gKi87IH07CiAJCTFBODFC
MzgxMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM3RjE4QkQ2NkFEMDAwN0ZE
QUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTFBODFCMzg1MThCRDY3M0EwMDA3RkRBQyAvKiBfV0tWaXNp
dGVkTGlua1N0b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBODFCMzg0MThCRDY3M0EwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0
b3JlSW50ZXJuYWwuaCAqLzsgfTsKKwkJMUE4QjY2QjAxQkM0M0M4NjAwODJERjc3IC8qIFBhZ2VM
b2FkU3RhdGVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE4QjY2QUUxQkM0M0M4NjAwODJERjc3IC8qIFBhZ2VMb2FkU3RhdGVPYnNlcnZl
ci5oICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCTFBOEM3MjhDMTcz
ODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE4QzcyOEExNzM4NDc3QzAw
MEE2NTU0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgKi87IH07CiAJCTFBOEM3
MjhEMTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOEM3MjhCMTczODQ3
N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsKIAkJMUE4
RTdEM0MxOEMxNTE0OTAwNUE3MDJBIC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBOEU3RDNBMThDMTUxNDkwMDVBNzAyQSAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNTc4LDcgKzE1NzksNyBAQAogCQlCQ0Uw
OTM3NzE0RkIxMjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTA5Mzc1MTRGQjEyOEIwMDEx
MzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0Lm1tICovOyB9OwogCQlCQ0UwOTM3ODE0RkIxMjhD
MDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMDkzNzYxNEZCMTI4QjAwMTEzOEQ5IC8qIExheWVy
SG9zdGluZ0NvbnRleHQuaCAqLzsgfTsKIAkJQkNFMEU0MjUxNjhCN0EyODAwNTdFNjZBIC8qIFdl
YlByb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0UwRTQyNDE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vzc1N1cHBsZW1l
bnQuaCAqLzsgfTsKLQkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVN
YWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNF
MTdCN0IxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuY3BwICovOyB9OworCQlC
Q0UxN0I3RDEzODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTE3QjdCMTM4MUYxMTcwMDEy
QTY0MSAvKiBXS1BhZ2VQcml2YXRlTWFjLm1tICovOyB9OwogCQlCQ0UxN0I3RTEzODFGMTE3MDAx
MkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNFMTdCN0MxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZh
dGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQ0UyMzE1RDEyMkMzMENBMDBENUMzNUEgLyogQVBJVVJMUmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMjMxNUIxMjJDMzBDQTAwRDVD
MzVBIC8qIEFQSVVSTFJlcXVlc3QuaCAqLzsgfTsKIAkJQkNFMjMxNUUxMjJDMzBDQTAwRDVDMzVB
IC8qIEFQSVVSTFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNFMjMxNUMxMjJDMzBDQTAwRDVDMzVBIC8qIEFQSVVSTFJlcXVlc3QuY3Bw
ICovOyB9OwpAQCAtMjQxOSw2ICsyNDIwLDcgQEAKIAkJMUE4MUIzN0UxOEJENjZBRDAwMDdGREFD
IC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBfV0tWaXNpdGVkTGlua1N0b3JlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQTgxQjM3RjE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tWaXNpdGVkTGlua1N0b3JlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBODFCMzg0MThCRDY3M0EwMDA3RkRBQyAv
KiBfV0tWaXNpdGVkTGlua1N0b3JlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFBOEI2NkFFMUJDNDNDODYwMDgyREY3NyAvKiBQYWdlTG9hZFN0YXRlT2Jz
ZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZUxvYWRTdGF0ZU9i
c2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOEM3MjhBMTczODQ3N0Mw
MDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4QzcyOEIxNzM4NDc3QzAwMEE2NTU0IC8q
IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUE4RTdEMzgxOEMxNTBCRjAwNUE3MDJBIC8qIFZpc2l0ZWRMaW5rVGFibGVD
b250cm9sbGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZpc2l0ZWRMaW5r
VGFibGVDb250cm9sbGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMzgwMiw3ICszODA0LDcgQEAKIAkJQkNFMDkzNzUxNEZCMTI4QjAwMTEzOEQ5IC8qIExheWVy
SG9zdGluZ0NvbnRleHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBMYXllckhvc3RpbmdDb250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
Q0UwOTM3NjE0RkIxMjhCMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXllckhvc3RpbmdDb250ZXh0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTBFNDI0MTY4QjdBMjgwMDU3RTY2QSAvKiBXZWJQcm9j
ZXNzU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQcm9j
ZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0UxN0I3QjEz
ODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXS1BhZ2VQcml2YXRlTWFjLmNwcDsgcGF0aCA9IG1hYy9XS1Bh
Z2VQcml2YXRlTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNFMTdCN0Ix
MzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1BhZ2VQcml2YXRlTWFjLm1tOyBwYXRoID0gbWFjL1dL
UGFnZVByaXZhdGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTE3QjdD
MTM4MUYxMTcwMDEyQTY0MSAvKiBXS1BhZ2VQcml2YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdLUGFnZVByaXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9XS1BhZ2VQcml2
YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTIzMTVCMTIyQzMwQ0Ew
MEQ1QzM1QSAvKiBBUElVUkxSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFQSVVSTFJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFMjMx
NUMxMjJDMzBDQTAwRDVDMzVBIC8qIEFQSVVSTFJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQVBJVVJMUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC00Mzk4LDYgKzQ0MDAsNyBAQAogCQkJCTFBRkI0QzcwMUFERjE1NUQwMEIz
MzMzOSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLmggKi8sCiAJCQkJMUFGQjRDNkYxQURGMTU1RDAw
QjMzMzM5IC8qIF9XS1dlYnNpdGVEYXRhU3RvcmUubW0gKi8sCiAJCQkJMUE0QTkzQjYxQUVCMDhF
QTAwMTUwRTlDIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oICovLAorCQkJCTFBOEI2
NkFFMUJDNDNDODYwMDgyREY3NyAvKiBQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaCAqLywKIAkJCQlC
QzU5NTQ4ODE1Qzc4Njg1MDBGRDFFM0UgLyogV2ViS2l0Mi5oICovLAogCQkJCUJDQkFBQzZDMTQ0
RTYxOTEwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCAqLywKIAkJCQlC
Q0JBQUM2RDE0NEU2MTkyMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1t
ICovLApAQCAtNTgyNSw3ICs1ODI4LDcgQEAKIAkJCQk5RkI1RjM5MzE2OUU2QTgwMDAyQzI1QkYg
LyogV0tDb250ZXh0UHJpdmF0ZU1hYy5oICovLAogCQkJCTlGQjVGMzkyMTY5RTZBODAwMDJDMjVC
RiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tICovLAogCQkJCTZFRTg0OUM2MTM2OEQ5MkQwMDM4
RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLywKLQkJCQlCQ0UxN0I3QjEzODFGMTE3
MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5jcHAgKi8sCisJCQkJQkNFMTdCN0IxMzgxRjEx
NzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMubW0gKi8sCiAJCQkJQkNFMTdCN0MxMzgxRjEx
NzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gbWFj
OwpAQCAtODI3NSw2ICs4Mjc4LDcgQEAKIAkJCQlCQ0JBQUNFQjE0NTIyNUUzMDA1M0Y4MkYgLyog
V0tQcm9jZXNzR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkFBQ0VEMTQ1MjI1RTMwMDUz
RjgyRiAvKiBXS1Byb2Nlc3NHcm91cFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMTU4
NDFBMTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxQThCNjZCMDFCQzQzQzg2MDA4MkRGNzcgLyogUGFnZUxvYWRTdGF0ZU9ic2VydmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQTNDQzE2OTE4OTA3RUIwMDAxRTZFRDggLyogV0tQcm9jZXNzUG9v
bEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTY1MDlDRTE4QjQxNDYyMDA2MTQzMzIg
LyogV0tQcm9jZXNzUG9vbFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1OEZDMTJB
ODhBNTQwMDYyOTUzMCAvKiBXS1Byb3RlY3Rpb25TcGFjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MDA0Miw3ICsxMDA0Niw3IEBACiAJCQkJQkNENTk3RDYxMTJCNTZEQzAwRUM4QzIzIC8qIFdLUGFn
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzg5RDI5QjFBNjc4MzdCMDAzQTVGREUgLyogV0tQ
YWdlQ29uZmlndXJhdGlvblJlZi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzdCNjMzODEyQTQ1
QUJBMDBEMTc0QTQgLyogV0tQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNFMTdC
N0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyRDZBQjU0MjE5MkIxQzRBMDAzQTlGRDEgLyogV0tQREZQYWdlTnVt
YmVySW5kaWNhdG9yLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBMUU0RkYxOEMwMkI2QTAwREJD
OTI5IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDMTM1QUE4MTczQjBCQ0Ew
MDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262529</attachid>
            <date>2015-10-06 11:32:00 -0700</date>
            <delta_ts>2015-10-06 12:09:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149851-20151006113129.patch</filename>
            <type>text/plain</type>
            <size>23657</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDA0Mzk0YjBlZWY1YmQ2
N2IxMGY1ZGNhNWI4ZGQ4NWUxZTgwNDRmYS4uNjU4NGJiMGU3NTQyZThkZjNlMTU4YjkwMjY3MTFm
NGE2NWJhZjczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTEwLTA2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tQYWdlIG5lZWRz
IHRvIGV4cG9zZSBhIEtWTy1jb21wbGlhbnQgb2JqZWN0LCBzaW1pbGFyIHRvIFdLV2ViVmlldwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5ODUxCisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIyMzgyMDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgUGFnZUxvYWRTdGF0ZU9ic2VydmVyIG9i
amVjdCBmcm9tIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBvdXQgaW50byBhIHNlcGFyYXRl
IGZpbGUgYW5kIG1ha2UgaXQKKyAgICAgICAgd29yayB3aXRoIGFueSBPYmplY3RpdmUtQyBvYmpl
Y3QuIFVzZSBpdCBpbiBXS09ic2VydmFibGVQYWdlU3RhdGUgYW5kIGFkZCBhIFdLUGFnZUNyZWF0
ZU9ic2VydmFibGVTdGF0ZSBmdW5jdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9t
YWMvV0tQYWdlUHJpdmF0ZU1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQ
YWdlUHJpdmF0ZU1hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5jcHAuCisgICAgICAgICgtW1dLT2JzZXJ2YWJsZVBh
Z2VTdGF0ZSBpbml0V2l0aFBhZ2U6XSk6CisgICAgICAgICgtW1dLT2JzZXJ2YWJsZVBhZ2VTdGF0
ZSBkZWFsbG9jXSk6CisgICAgICAgICgtW1dLT2JzZXJ2YWJsZVBhZ2VTdGF0ZSBpc0xvYWRpbmdd
KToKKyAgICAgICAgKC1bV0tPYnNlcnZhYmxlUGFnZVN0YXRlIHRpdGxlXSk6CisgICAgICAgICgt
W1dLT2JzZXJ2YWJsZVBhZ2VTdGF0ZSBVUkxdKToKKyAgICAgICAgKC1bV0tPYnNlcnZhYmxlUGFn
ZVN0YXRlIGhhc09ubHlTZWN1cmVDb250ZW50XSk6CisgICAgICAgICgtW1dLT2JzZXJ2YWJsZVBh
Z2VTdGF0ZSBlc3RpbWF0ZWRQcm9ncmVzc10pOgorICAgICAgICAoV0tQYWdlQ3JlYXRlT2JzZXJ2
YWJsZVN0YXRlKToKKyAgICAgICAgKFdLUGFnZUdldFByb2Nlc3NJZGVudGlmaWVyKToKKyAgICAg
ICAgKFdLUGFnZUlzVVJMS25vd25IU1RTSG9zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9QYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlBh
Z2VMb2FkU3RhdGVPYnNlcnZlcjo6UGFnZUxvYWRTdGF0ZU9ic2VydmVyKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbToKKyAgICAg
ICAgKFBhZ2VMb2FkU3RhdGVPYnNlcnZlcjo6UGFnZUxvYWRTdGF0ZU9ic2VydmVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUt
MTAtMDYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgogCiAgICAgICAgIEVuYWJs
ZSBYU0xUIHdoZW4gYnVpbGRpbmcgV2ViS2l0IGZvciBpT1MgdXNpbmcgdGhlIHB1YmxpYyBpT1Mg
U0RLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFn
ZVByaXZhdGVNYWMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1Bh
Z2VQcml2YXRlTWFjLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZiMjRmNzAx
MGI0YjI5MjMzMWZhOTEwMmZiNjM0YmI2OTNlY2UxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFj
L1dLUGFnZVByaXZhdGVNYWMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXS1BhZ2VQcml2YXRlTWFj
LmgiCi0KLSNpbmNsdWRlICJXS0FQSUNhc3QuaCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIK
LSNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKLSNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgot
I2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0K
LXBpZF90IFdLUGFnZUdldFByb2Nlc3NJZGVudGlmaWVyKFdLUGFnZVJlZiBwYWdlUmVmKQotewot
ICAgIHJldHVybiB0b0ltcGwocGFnZVJlZiktPnByb2Nlc3NJZGVudGlmaWVyKCk7Ci19Ci0KLWJv
b2wgV0tQYWdlSXNVUkxLbm93bkhTVFNIb3N0KFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlZiB1cmwp
Ci17Ci0gICAgV2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkgPSB0b0ltcGwocGFnZSk7Ci0gICAg
Ym9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkID0gd2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS5w
cmVmZXJlbmNlcygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKTsKLQotICAgIHJldHVybiB3ZWJQ
YWdlUHJveHktPnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmlzVVJMS25vd25IU1RTSG9zdCh0b0lt
cGwodXJsKS0+c3RyaW5nKCksIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpOwotfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuaApp
bmRleCA0ZjBhYTA4ZjBjYTU4MThhMGE2Yjc4M2RmZjNhMjZlZjRkNjVmNjE0Li45M2RmNGJiZTJk
MjE3MGUwNjQxZTNlM2ExODQ2NDY4YmFkNmUwZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMuaApAQCAtMzMsNiArMzMs
MjIgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKKyNpZmRlZiBfX09CSkNfXworCitAcHJvdG9j
b2wgX1dLT2JzZXJ2YWJsZVBhZ2VTdGF0ZQorCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHksIGNvcHkpIE5TU3RyaW5nICp0aXRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSwgY29weSkgTlNVUkwgKlVSTDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0
dGVyPWlzTG9hZGluZykgQk9PTCBsb2FkaW5nOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBkb3VibGUgZXN0aW1hdGVkUHJvZ3Jlc3M7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHkpIEJPT0wgaGFzT25seVNlY3VyZUNvbnRlbnQ7CisKK0BlbmQKKworV0tfRVhQT1JUIGlk
IDxfV0tPYnNlcnZhYmxlUGFnZVN0YXRlPiBXS1BhZ2VDcmVhdGVPYnNlcnZhYmxlU3RhdGUoV0tQ
YWdlUmVmIHBhZ2UpIE5TX1JFVFVSTlNfUkVUQUlORUQ7CisKKyNlbmRpZgorCiBXS19FWFBPUlQg
cGlkX3QgV0tQYWdlR2V0UHJvY2Vzc0lkZW50aWZpZXIoV0tQYWdlUmVmIHBhZ2UpOwogV0tfRVhQ
T1JUIGJvb2wgV0tQYWdlSXNVUkxLbm93bkhTVFNIb3N0KFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJl
ZiB1cmwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFj
L1dLUGFnZVByaXZhdGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFj
L1dLUGFnZVByaXZhdGVNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJhMzc0ZTkzZDYwNzJjZTY4ODNhODYz
OGJlMmZjMWEzMDdiMDUzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQpAQCAtMCwwICsxLDEwOSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tQYWdlUHJpdmF0ZU1hYy5o
IgorCisjaW1wb3J0ICJQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaCIKKyNpbXBvcnQgIldLQVBJQ2Fz
dC5oIgorI2ltcG9ydCAiV0tOU1VSTEV4dHJhcy5oIgorI2ltcG9ydCAiV2ViUGFnZUdyb3VwLmgi
CisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCisj
aW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitA
aW50ZXJmYWNlIFdLT2JzZXJ2YWJsZVBhZ2VTdGF0ZSA6IE5TT2JqZWN0IDxfV0tPYnNlcnZhYmxl
UGFnZVN0YXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gV0tPYnNlcnZhYmxlUGFnZVN0YXRl
IHsKKyAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBfcGFnZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
UGFnZUxvYWRTdGF0ZU9ic2VydmVyPiBfb2JzZXJ2ZXI7Cit9OworCistIChpZClpbml0V2l0aFBh
Z2U6KFJlZlB0cjxXZWJQYWdlUHJveHk+JiYpcGFnZQoreworICAgIGlmICghKHNlbGYgPSBbc3Vw
ZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX3BhZ2UgPSBXVEY6Om1vdmUo
cGFnZSk7CisgICAgX29ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlTG9hZFN0YXRlT2Jz
ZXJ2ZXI+KHNlbGYsIEAiVVJMIik7CisgICAgX3BhZ2UtPnBhZ2VMb2FkU3RhdGUoKS5hZGRPYnNl
cnZlcigqX29ic2VydmVyKTsKKworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxs
b2MKK3sKKyAgICBfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLnJlbW92ZU9ic2VydmVyKCpfb2JzZXJ2
ZXIpOworCisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCistIChCT09MKWlzTG9hZGluZworewor
ICAgIHJldHVybiBfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLmlzTG9hZGluZygpOworfQorCistIChO
U1N0cmluZyAqKXRpdGxlCit7CisgICAgcmV0dXJuIF9wYWdlLT5wYWdlTG9hZFN0YXRlKCkudGl0
bGUoKTsKK30KKworLSAoTlNVUkwgKilVUkwKK3sKKyAgICByZXR1cm4gW05TVVJMIF93ZWJfVVJM
V2l0aFdURlN0cmluZzpfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLmFjdGl2ZVVSTCgpXTsKK30KKwor
LSAoQk9PTCloYXNPbmx5U2VjdXJlQ29udGVudAoreworICAgIHJldHVybiBfcGFnZS0+cGFnZUxv
YWRTdGF0ZSgpLmhhc09ubHlTZWN1cmVDb250ZW50KCk7Cit9CisKKy0gKGRvdWJsZSllc3RpbWF0
ZWRQcm9ncmVzcworeworICAgIHJldHVybiBfcGFnZS0+ZXN0aW1hdGVkUHJvZ3Jlc3MoKTsKK30K
KworQGVuZAorCitpZCA8X1dLT2JzZXJ2YWJsZVBhZ2VTdGF0ZT4gV0tQYWdlQ3JlYXRlT2JzZXJ2
YWJsZVN0YXRlKFdLUGFnZVJlZiBwYWdlUmVmKQoreworICAgIHJldHVybiBbW1dLT2JzZXJ2YWJs
ZVBhZ2VTdGF0ZSBhbGxvY10gaW5pdFdpdGhQYWdlOnRvSW1wbChwYWdlUmVmKV07Cit9CisKK3Bp
ZF90IFdLUGFnZUdldFByb2Nlc3NJZGVudGlmaWVyKFdLUGFnZVJlZiBwYWdlUmVmKQoreworICAg
IHJldHVybiB0b0ltcGwocGFnZVJlZiktPnByb2Nlc3NJZGVudGlmaWVyKCk7Cit9CisKK2Jvb2wg
V0tQYWdlSXNVUkxLbm93bkhTVFNIb3N0KFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlZiB1cmwpCit7
CisgICAgV2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkgPSB0b0ltcGwocGFnZSk7CisgICAgYm9v
bCBwcml2YXRlQnJvd3NpbmdFbmFibGVkID0gd2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS5wcmVm
ZXJlbmNlcygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKTsKKworICAgIHJldHVybiB3ZWJQYWdl
UHJveHktPnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmlzVVJMS25vd25IU1RTSG9zdCh0b0ltcGwo
dXJsKS0+c3RyaW5nKCksIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9QYWdlTG9hZFN0YXRlT2JzZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvUGFnZUxvYWRTdGF0ZU9ic2Vy
dmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGIzYmY0MzYyNDQ2Y2IwMzI1ZjE0ZWExYjcwZjg4ODg1NDMyOTk0
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
UGFnZUxvYWRTdGF0ZU9ic2VydmVyLmgKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFBhZ2VMb2FkU3RhdGVPYnNlcnZlcl9oCisjZGVmaW5lIFBhZ2VMb2FkU3RhdGVPYnNl
cnZlcl9oCisKKyNpbXBvcnQgIlBhZ2VMb2FkU3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFBhZ2VMb2FkU3RhdGVPYnNlcnZlciA6IHB1YmxpYyBQYWdlTG9hZFN0YXRlOjpP
YnNlcnZlciB7CitwdWJsaWM6CisgICAgUGFnZUxvYWRTdGF0ZU9ic2VydmVyKGlkIG9iamVjdCwg
TlNTdHJpbmcgKmFjdGl2ZVVSTEtleSA9IEAiYWN0aXZlVVJMIikKKyAgICAgICAgOiBtX29iamVj
dChvYmplY3QpCisgICAgICAgICwgbV9hY3RpdmVVUkxLZXkoYWRvcHROUyhbYWN0aXZlVVJMS2V5
IGNvcHldKSkKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCB3aWxs
Q2hhbmdlSXNMb2FkaW5nKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFttX29iamVjdCB3aWxs
Q2hhbmdlVmFsdWVGb3JLZXk6QCJsb2FkaW5nIl07CisgICAgfQorCisgICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZUlzTG9hZGluZygpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qg
ZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJsb2FkaW5nIl07CisgICAgfQorCisgICAgdmlydHVhbCB2
b2lkIHdpbGxDaGFuZ2VUaXRsZSgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qg
d2lsbENoYW5nZVZhbHVlRm9yS2V5OkAidGl0bGUiXTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2hhbmdlVGl0bGUoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgW21fb2JqZWN0IGRp
ZENoYW5nZVZhbHVlRm9yS2V5OkAidGl0bGUiXTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQg
d2lsbENoYW5nZUFjdGl2ZVVSTCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qg
d2lsbENoYW5nZVZhbHVlRm9yS2V5Om1fYWN0aXZlVVJMS2V5LmdldCgpXTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWN0aXZlVVJMKCkgb3ZlcnJpZGUKKyAgICB7CisgICAg
ICAgIFttX29iamVjdCBkaWRDaGFuZ2VWYWx1ZUZvcktleTptX2FjdGl2ZVVSTEtleS5nZXQoKV07
CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VIYXNPbmx5U2VjdXJlQ29udGVu
dCgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qgd2lsbENoYW5nZVZhbHVlRm9y
S2V5OkAiaGFzT25seVNlY3VyZUNvbnRlbnQiXTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2hhbmdlSGFzT25seVNlY3VyZUNvbnRlbnQoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAg
W21fb2JqZWN0IGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiaGFzT25seVNlY3VyZUNvbnRlbnQiXTsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUVzdGltYXRlZFByb2dyZXNzKCkg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFttX29iamVjdCB3aWxsQ2hhbmdlVmFsdWVGb3JLZXk6
QCJlc3RpbWF0ZWRQcm9ncmVzcyJdOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VFc3RpbWF0ZWRQcm9ncmVzcygpIG92ZXJyaWRlCisgICAgeworICAgICAgICBbbV9vYmplY3Qg
ZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJlc3RpbWF0ZWRQcm9ncmVzcyJdOworICAgIH0KKworICAg
IHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlQ2FuR29CYWNrKCkgb3ZlcnJpZGUgeyB9CisgICAgdmly
dHVhbCB2b2lkIGRpZENoYW5nZUNhbkdvQmFjaygpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwg
dm9pZCB3aWxsQ2hhbmdlQ2FuR29Gb3J3YXJkKCkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2
b2lkIGRpZENoYW5nZUNhbkdvRm9yd2FyZCgpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCB3aWxsQ2hhbmdlTmV0d29ya1JlcXVlc3RzSW5Qcm9ncmVzcygpIG92ZXJyaWRlIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VOZXR3b3JrUmVxdWVzdHNJblByb2dyZXNzKCkgb3ZlcnJp
ZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VDZXJ0aWZpY2F0ZUluZm8oKSBvdmVy
cmlkZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ2VydGlmaWNhdGVJbmZvKCkgb3Zl
cnJpZGUgeyB9CisKKyAgICBpZCBtX29iamVjdDsKKyAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1f
YWN0aXZlVVJMS2V5OworfTsKKworfQorCisjZW5kaWYgLy8gUGFnZUxvYWRTdGF0ZU9ic2VydmVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KaW5kZXggNTllYjVmOTBmZmI5NDhj
MzM1ZGM5Y2U3NmUwM2VkZDlmMTk1NGZmNy4uMGY1YTcwNTBjYzU4YjdkODE2N2FjZmIwYmUzZTcy
YTQ5MzEwOWQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTMwLDYg
KzMwLDcgQEAKIAogI2ltcG9ydCAiQVBJRGF0YS5oIgogI2ltcG9ydCAiT2JqQ09iamVjdEdyYXBo
LmgiCisjaW1wb3J0ICJQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaCIKICNpbXBvcnQgIlJlbW90ZU9i
amVjdFJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgi
CiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJkTGlzdEludGVybmFsLmgiCkBAIC02MSw3NiArNjIsNiBA
QAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1j
bGFzcyBQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgUGFnZUxvYWRTdGF0ZTo6T2JzZXJ2
ZXIgewotcHVibGljOgotICAgIFBhZ2VMb2FkU3RhdGVPYnNlcnZlcihXS0Jyb3dzaW5nQ29udGV4
dENvbnRyb2xsZXIgKmNvbnRyb2xsZXIpCi0gICAgICAgIDogbV9jb250cm9sbGVyKGNvbnRyb2xs
ZXIpCi0gICAgewotICAgIH0KLQotcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5n
ZUlzTG9hZGluZygpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9jb250cm9sbGVyIHdpbGxD
aGFuZ2VWYWx1ZUZvcktleTpAImxvYWRpbmciXTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2hhbmdlSXNMb2FkaW5nKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFttX2NvbnRyb2xs
ZXIgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJsb2FkaW5nIl07Ci0gICAgfQotCi0gICAgdmlydHVh
bCB2b2lkIHdpbGxDaGFuZ2VUaXRsZSgpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9jb250
cm9sbGVyIHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAInRpdGxlIl07Ci0gICAgfQotCi0gICAgdmly
dHVhbCB2b2lkIGRpZENoYW5nZVRpdGxlKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFttX2Nv
bnRyb2xsZXIgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJ0aXRsZSJdOwotICAgIH0KLQotICAgIHZp
cnR1YWwgdm9pZCB3aWxsQ2hhbmdlQWN0aXZlVVJMKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAg
IFttX2NvbnRyb2xsZXIgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiYWN0aXZlVVJMIl07Ci0gICAg
fQotCi0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjdGl2ZVVSTCgpIG92ZXJyaWRlCi0gICAg
ewotICAgICAgICBbbV9jb250cm9sbGVyIGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiYWN0aXZlVVJM
Il07Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VIYXNPbmx5U2VjdXJlQ29u
dGVudCgpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBbbV9jb250cm9sbGVyIHdpbGxDaGFuZ2VW
YWx1ZUZvcktleTpAImhhc09ubHlTZWN1cmVDb250ZW50Il07Ci0gICAgfQotCi0gICAgdmlydHVh
bCB2b2lkIGRpZENoYW5nZUhhc09ubHlTZWN1cmVDb250ZW50KCkgb3ZlcnJpZGUKLSAgICB7Ci0g
ICAgICAgIFttX2NvbnRyb2xsZXIgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJoYXNPbmx5U2VjdXJl
Q29udGVudCJdOwotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlRXN0aW1hdGVk
UHJvZ3Jlc3MoKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgW21fY29udHJvbGxlciB3aWxsQ2hh
bmdlVmFsdWVGb3JLZXk6QCJlc3RpbWF0ZWRQcm9ncmVzcyJdOwotICAgIH0KLQotICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpIG92ZXJyaWRlCi0gICAgewotICAg
ICAgICBbbV9jb250cm9sbGVyIGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiZXN0aW1hdGVkUHJvZ3Jl
c3MiXTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUNhbkdvQmFjaygpIG92
ZXJyaWRlIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDYW5Hb0JhY2soKSBvdmVycmlk
ZSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUNhbkdvRm9yd2FyZCgpIG92ZXJyaWRl
IHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDYW5Hb0ZvcndhcmQoKSBvdmVycmlkZSB7
IH0KLSAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZU5ldHdvcmtSZXF1ZXN0c0luUHJvZ3Jlc3Mo
KSBvdmVycmlkZSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTmV0d29ya1JlcXVlc3Rz
SW5Qcm9ncmVzcygpIG92ZXJyaWRlIHsgfQotICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlQ2Vy
dGlmaWNhdGVJbmZvKCkgb3ZlcnJpZGUgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNl
cnRpZmljYXRlSW5mbygpIG92ZXJyaWRlIHsgfQotCi0gICAgV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyICptX2NvbnRyb2xsZXI7Ci19OwotCiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uSXNN
YWluRnJhbWVLZXkgPSBAIldLQWN0aW9uSXNNYWluRnJhbWVLZXkiOwogTlNTdHJpbmcgKiBjb25z
dCBXS0FjdGlvbk5hdmlnYXRpb25UeXBlS2V5ID0gQCJXS0FjdGlvbk5hdmlnYXRpb25UeXBlS2V5
IjsKIE5TU3RyaW5nICogY29uc3QgV0tBY3Rpb25Nb3VzZUJ1dHRvbktleSA9IEAiV0tBY3Rpb25N
b3VzZUJ1dHRvbktleSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYWFmYzRhMWIxZDM3NzdhYjkyODRlNmExZjY3MGEzMTg3Mzlm
Y2ZmNS4uZThlZGQ1NmQ2YWQyZTkyMjNmYzJmNzlhMTI3YzYyOTEyN2Q5YWU4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzE0
LDYgKzMxNCw3IEBACiAJCTFBODFCMzgwMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlu
a1N0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE4MUIzN0UxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gKi87IH07
CiAJCTFBODFCMzgxMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM3RjE4QkQ2
NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBODFCMzg1MThCRDY3M0EwMDA3RkRBQyAv
KiBfV0tWaXNpdGVkTGlua1N0b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBODFCMzg0MThCRDY3M0EwMDA3RkRBQyAvKiBfV0tWaXNp
dGVkTGlua1N0b3JlSW50ZXJuYWwuaCAqLzsgfTsKKwkJMUE4QjY2QjAxQkM0M0M4NjAwODJERjc3
IC8qIFBhZ2VMb2FkU3RhdGVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE4QjY2QUUxQkM0M0M4NjAwODJERjc3IC8qIFBhZ2VMb2FkU3Rh
dGVPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCTFB
OEM3MjhDMTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE4QzcyOEEx
NzM4NDc3QzAwMEE2NTU0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgKi87IH07
CiAJCTFBOEM3MjhEMTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNr
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOEM3
MjhCMTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCAqLzsg
fTsKIAkJMUE4RTdEM0MxOEMxNTE0OTAwNUE3MDJBIC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9s
bGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBOEU3RDNBMThDMTUxNDkwMDVBNzAyQSAvKiBWaXNpdGVkTGlua1RhYmxl
Q29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNTc4LDcgKzE1NzksNyBA
QAogCQlCQ0UwOTM3NzE0RkIxMjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTA5Mzc1MTRG
QjEyOEIwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0Lm1tICovOyB9OwogCQlCQ0UwOTM3
ODE0RkIxMjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMDkzNzYxNEZCMTI4QjAwMTEzOEQ5
IC8qIExheWVySG9zdGluZ0NvbnRleHQuaCAqLzsgfTsKIAkJQkNFMEU0MjUxNjhCN0EyODAwNTdF
NjZBIC8qIFdlYlByb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0UwRTQyNDE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vz
c1N1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFn
ZVByaXZhdGVNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNFMTdCN0IxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuY3BwICov
OyB9OworCQlCQ0UxN0I3RDEzODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTE3QjdCMTM4
MUYxMTcwMDEyQTY0MSAvKiBXS1BhZ2VQcml2YXRlTWFjLm1tICovOyB9OwogCQlCQ0UxN0I3RTEz
ODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMTdCN0MxMzgxRjExNzAwMTJBNjQxIC8qIFdL
UGFnZVByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCQ0UyMzE1RDEyMkMzMENBMDBENUMzNUEgLyogQVBJVVJMUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMjMxNUIxMjJD
MzBDQTAwRDVDMzVBIC8qIEFQSVVSTFJlcXVlc3QuaCAqLzsgfTsKIAkJQkNFMjMxNUUxMjJDMzBD
QTAwRDVDMzVBIC8qIEFQSVVSTFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMjMxNUMxMjJDMzBDQTAwRDVDMzVBIC8qIEFQSVVSTFJl
cXVlc3QuY3BwICovOyB9OwpAQCAtMjQxOSw2ICsyNDIwLDcgQEAKIAkJMUE4MUIzN0UxOEJENjZB
RDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBfV0tWaXNpdGVkTGlua1N0b3JlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQTgxQjM3RjE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExp
bmtTdG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tWaXNpdGVkTGlu
a1N0b3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBODFCMzg0MThCRDY3M0Ew
MDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBOEI2NkFFMUJDNDNDODYwMDgyREY3NyAvKiBQYWdlTG9h
ZFN0YXRlT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZUxv
YWRTdGF0ZU9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOEM3MjhB
MTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFj
a2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4QzcyOEIxNzM4NDc3QzAw
MEE2NTU0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4RTdEMzgxOEMxNTBCRjAwNUE3MDJBIC8qIFZpc2l0ZWRM
aW5rVGFibGVDb250cm9sbGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZp
c2l0ZWRMaW5rVGFibGVDb250cm9sbGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMzgwMiw3ICszODA0LDcgQEAKIAkJQkNFMDkzNzUxNEZCMTI4QjAwMTEzOEQ5
IC8qIExheWVySG9zdGluZ0NvbnRleHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBMYXllckhvc3RpbmdDb250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0UwOTM3NjE0RkIxMjhCMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXllckhvc3RpbmdDb250ZXh0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTBFNDI0MTY4QjdBMjgwMDU3RTY2QSAv
KiBXZWJQcm9jZXNzU3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlC
Q0UxN0I3QjEzODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXS1BhZ2VQcml2YXRlTWFjLmNwcDsgcGF0aCA9
IG1hYy9XS1BhZ2VQcml2YXRlTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkNFMTdCN0IxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1BhZ2VQcml2YXRlTWFjLm1tOyBwYXRo
ID0gbWFjL1dLUGFnZVByaXZhdGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRTE3QjdDMTM4MUYxMTcwMDEyQTY0MSAvKiBXS1BhZ2VQcml2YXRlTWFjLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLUGFnZVByaXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9X
S1BhZ2VQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTIzMTVC
MTIyQzMwQ0EwMEQ1QzM1QSAvKiBBUElVUkxSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFQSVVSTFJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNFMjMxNUMxMjJDMzBDQTAwRDVDMzVBIC8qIEFQSVVSTFJlcXVlc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVBJVVJMUmVxdWVzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Mzk4LDYgKzQ0MDAsNyBAQAogCQkJCTFBRkI0QzcwMUFE
RjE1NUQwMEIzMzMzOSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLmggKi8sCiAJCQkJMUFGQjRDNkYx
QURGMTU1RDAwQjMzMzM5IC8qIF9XS1dlYnNpdGVEYXRhU3RvcmUubW0gKi8sCiAJCQkJMUE0QTkz
QjYxQUVCMDhFQTAwMTUwRTlDIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oICovLAor
CQkJCTFBOEI2NkFFMUJDNDNDODYwMDgyREY3NyAvKiBQYWdlTG9hZFN0YXRlT2JzZXJ2ZXIuaCAq
LywKIAkJCQlCQzU5NTQ4ODE1Qzc4Njg1MDBGRDFFM0UgLyogV2ViS2l0Mi5oICovLAogCQkJCUJD
QkFBQzZDMTQ0RTYxOTEwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCAq
LywKIAkJCQlCQ0JBQUM2RDE0NEU2MTkyMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyLm1tICovLApAQCAtNTgyNSw3ICs1ODI4LDcgQEAKIAkJCQk5RkI1RjM5MzE2OUU2QTgw
MDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5oICovLAogCQkJCTlGQjVGMzkyMTY5RTZB
ODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tICovLAogCQkJCTZFRTg0OUM2MTM2
OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLywKLQkJCQlCQ0UxN0I3
QjEzODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5jcHAgKi8sCisJCQkJQkNFMTdC
N0IxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMubW0gKi8sCiAJCQkJQkNFMTdC
N0MxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuaCAqLywKIAkJCSk7CiAJCQlu
YW1lID0gbWFjOwpAQCAtODI3NSw2ICs4Mjc4LDcgQEAKIAkJCQlCQ0JBQUNFQjE0NTIyNUUzMDA1
M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkFBQ0VEMTQ1
MjI1RTMwMDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91cFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMTU4NDFBMTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkxQThCNjZCMDFCQzQzQzg2MDA4MkRGNzcgLyogUGFnZUxvYWRTdGF0ZU9ic2Vy
dmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNDQzE2OTE4OTA3RUIwMDAxRTZFRDggLyogV0tQ
cm9jZXNzUG9vbEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTY1MDlDRTE4QjQxNDYy
MDA2MTQzMzIgLyogV0tQcm9jZXNzUG9vbFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MkY1OEZDMTJBODhBNTQwMDYyOTUzMCAvKiBXS1Byb3RlY3Rpb25TcGFjZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xMDA0Miw3ICsxMDA0Niw3IEBACiAJCQkJQkNENTk3RDYxMTJCNTZEQzAwRUM4QzIz
IC8qIFdLUGFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzg5RDI5QjFBNjc4MzdCMDAzQTVG
REUgLyogV0tQYWdlQ29uZmlndXJhdGlvblJlZi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzdC
NjMzODEyQTQ1QUJBMDBEMTc0QTQgLyogV0tQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZBQjU0MjE5MkIxQzRBMDAzQTlGRDEgLyogV0tQ
REZQYWdlTnVtYmVySW5kaWNhdG9yLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBMUU0RkYxOEMw
MkI2QTAwREJDOTI5IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDMTM1QUE4
MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAo=
</data>
<flag name="review"
          id="287737"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>