<?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>10669</bug_id>
          
          <creation_ts>2006-08-31 15:59:36 -0700</creation_ts>
          <short_desc>Auto-generate the remaining Objective-C HTML DOM bindings</short_desc>
          <delta_ts>2006-08-31 21:16:25 -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>WebCore Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54519</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-08-31 15:59:36 -0700</bug_when>
    <thetext>patch to come</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54529</commentid>
    <comment_count>1</comment_count>
      <attachid>10342</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-08-31 18:58:41 -0700</bug_when>
    <thetext>Created attachment 10342
patch

Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement, DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement, DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement, DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement, DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement, DOMHTMLTableCaptionElement, DOMHTMLTableCellElement, DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement, and DOMHTMLTableSectionElement.  

Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54533</commentid>
    <comment_count>2</comment_count>
      <attachid>10342</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-08-31 20:43:47 -0700</bug_when>
    <thetext>Comment on attachment 10342
patch

Looks good. One thing:

+ * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.

That should be 2004, 2005, 2006.

r=me. I will land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54536</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-08-31 21:13:58 -0700</bug_when>
    <thetext>Landed in r16172.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54538</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-08-31 21:16:25 -0700</bug_when>
    <thetext>We really need to use @propery in non-generated files when building for 10.5 as the min target. I have an idea how to do this, filed bug 10671 for that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10342</attachid>
            <date>2006-08-31 18:58:41 -0700</date>
            <delta_ts>2006-08-31 20:43:47 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoHTML8.diff</filename>
            <type>text/plain</type>
            <size>129585</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjE2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODcgQEAKKzIwMDYtMDgtMzEgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNjY5CisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgcmVtYWluaW5nIE9iamVjdGl2ZS1D
IEhUTUwgRE9NIGJpbmRpbmdzCisgICAgICAgICAgCisgICAgICAgICAgQXV0by1nZW5lcmF0ZXMg
RE9NSFRNTEFuY2hvckVsZW1lbnQsIERPTUhUTUxBcmVhRWxlbWVudCwKKyAgICAgICAgICBET01I
VE1MQmFzZUZvbnRFbGVtZW50LCBET01IVE1MRm9udEVsZW1lbnQsIERPTUhUTUxGcmFtZUVsZW1l
bnQsCisgICAgICAgICAgRE9NSFRNTEZyYW1lU2V0RWxlbWVudCwgRE9NSFRNTEhSRWxlbWVudCwg
RE9NSFRNTElGcmFtZUVsZW1lbnQsCisgICAgICAgICAgRE9NSFRNTEltYWdlRWxlbWVudCwgRE9N
SFRNTE1hcEVsZW1lbnQsIERPTUhUTUxNb2RFbGVtZW50LAorICAgICAgICAgIERPTUhUTUxPYmpl
Y3RFbGVtZW50LCBET01IVE1MUGFyYW1FbGVtZW50LCBET01IVE1MU2NyaXB0RWxlbWVudCwKKyAg
ICAgICAgICBET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudCwgRE9NSFRNTFRhYmxlQ2VsbEVsZW1l
bnQsCisgICAgICAgICAgRE9NSFRNTFRhYmxlQ29sRWxlbWVudCwgRE9NSFRNTFRhYmxlRWxlbWVu
dCwgRE9NSFRNTFRhYmxlUm93RWxlbWVudCwKKyAgICAgICAgICBhbmQgRE9NSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQuICAKKworICAgICAgICAgIFNwbGl0cyBET01IVE1MQXBwbGV0RWxlbWVudCBh
bmQgRE9NSFRNTE9wdGlvbkVsZW1lbnQgaW50byB0aGVpciBvd24gCisgICAgICAgICAgZmlsZXMu
CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTS5tbToK
KyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9vYmpjL0RPTUhUTUwuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUwubW06
CisgICAgICAgICgtW0RPTUhUTUxBbmNob3JFbGVtZW50IGFic29sdXRlTGlua1VSTF0pOgorICAg
ICAgICAoLVtET01IVE1MSW1hZ2VFbGVtZW50IGFsdERpc3BsYXlTdHJpbmddKToKKyAgICAgICAg
KC1bRE9NSFRNTEltYWdlRWxlbWVudCBhYnNvbHV0ZUltYWdlVVJMXSk6CisgICAgICAgICgtW0RP
TUhUTUxJbWFnZUVsZW1lbnQgV2ViQ29yZTo6XSk6CisgICAgICAgICgtW0RPTUhUTUxPYmplY3RF
bGVtZW50IGFic29sdXRlSW1hZ2VVUkxdKToKKyAgICAgICAgKC1bRE9NSFRNTE9iamVjdEVsZW1l
bnQgV2ViQ29yZTo6XSk6CisgICAgICAgICgrW0RPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50IF90
YWJsZUNhcHRpb25FbGVtZW50V2l0aDpdKToKKyAgICAgICAgKC1bRE9NSFRNTFRhYmxlQ2FwdGlv
bkVsZW1lbnQgX3RhYmxlQ2FwdGlvbkVsZW1lbnRdKToKKyAgICAgICAgKCtbRE9NSFRNTFRhYmxl
U2VjdGlvbkVsZW1lbnQgX3RhYmxlU2VjdGlvbkVsZW1lbnRXaXRoOl0pOgorICAgICAgICAoLVtE
T01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCBfdGFibGVTZWN0aW9uRWxlbWVudF0pOgorICAgICAg
ICAoK1tET01IVE1MVGFibGVFbGVtZW50IF90YWJsZUVsZW1lbnRXaXRoOl0pOgorICAgICAgICAo
LVtET01IVE1MVGFibGVFbGVtZW50IF90YWJsZUVsZW1lbnRdKToKKyAgICAgICAgKCtbRE9NSFRN
TFRhYmxlQ2VsbEVsZW1lbnQgX3RhYmxlQ2VsbEVsZW1lbnRXaXRoOl0pOgorICAgICAgICAoLVtE
T01IVE1MVGFibGVDZWxsRWxlbWVudCBfdGFibGVDZWxsRWxlbWVudF0pOgorICAgICAgICAqIGJp
bmRpbmdzL29iamMvRE9NSFRNTEFwcGxldEVsZW1lbnQuaDogQWRkZWQuCisgICAgICAgICogYmlu
ZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5tbTogQWRkZWQuCisgICAgICAgICgtW0RP
TUhUTUxBcHBsZXRFbGVtZW50IFdlYkNvcmU6Ol0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0
RWxlbWVudCBhbGlnbl0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0RWxlbWVudCBzZXRBbGln
bjpdKToKKyAgICAgICAgKC1bRE9NSFRNTEFwcGxldEVsZW1lbnQgYWx0XSk6CisgICAgICAgICgt
W0RPTUhUTUxBcHBsZXRFbGVtZW50IHNldEFsdDpdKToKKyAgICAgICAgKC1bRE9NSFRNTEFwcGxl
dEVsZW1lbnQgYXJjaGl2ZV0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0RWxlbWVudCBzZXRB
cmNoaXZlOl0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0RWxlbWVudCBjb2RlXSk6CisgICAg
ICAgICgtW0RPTUhUTUxBcHBsZXRFbGVtZW50IHNldENvZGU6XSk6CisgICAgICAgICgtW0RPTUhU
TUxBcHBsZXRFbGVtZW50IGNvZGVCYXNlXSk6CisgICAgICAgICgtW0RPTUhUTUxBcHBsZXRFbGVt
ZW50IHNldENvZGVCYXNlOl0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0RWxlbWVudCBoZWln
aHRdKToKKyAgICAgICAgKC1bRE9NSFRNTEFwcGxldEVsZW1lbnQgc2V0SGVpZ2h0Ol0pOgorICAg
ICAgICAoLVtET01IVE1MQXBwbGV0RWxlbWVudCBoc3BhY2VdKToKKyAgICAgICAgKC1bRE9NSFRN
TEFwcGxldEVsZW1lbnQgc2V0SHNwYWNlOl0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0RWxl
bWVudCBuYW1lXSk6CisgICAgICAgICgtW0RPTUhUTUxBcHBsZXRFbGVtZW50IHNldE5hbWU6XSk6
CisgICAgICAgICgtW0RPTUhUTUxBcHBsZXRFbGVtZW50IG9iamVjdF0pOgorICAgICAgICAoLVtE
T01IVE1MQXBwbGV0RWxlbWVudCBzZXRPYmplY3Q6XSk6CisgICAgICAgICgtW0RPTUhUTUxBcHBs
ZXRFbGVtZW50IHZzcGFjZV0pOgorICAgICAgICAoLVtET01IVE1MQXBwbGV0RWxlbWVudCBzZXRW
c3BhY2U6XSk6CisgICAgICAgICgtW0RPTUhUTUxBcHBsZXRFbGVtZW50IHdpZHRoXSk6CisgICAg
ICAgICgtW0RPTUhUTUxBcHBsZXRFbGVtZW50IHNldFdpZHRoOl0pOgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvRE9NSFRNTEludGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01I
VE1MT3B0aW9uRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhU
TUxPcHRpb25FbGVtZW50Lm1tOiBBZGRlZC4KKyAgICAgICAgKC1bRE9NSFRNTE9wdGlvbkVsZW1l
bnQgV2ViQ29yZTo6XSk6CisgICAgICAgICgtW0RPTUhUTUxPcHRpb25FbGVtZW50IGZvcm1dKToK
KyAgICAgICAgKC1bRE9NSFRNTE9wdGlvbkVsZW1lbnQgZGVmYXVsdFNlbGVjdGVkXSk6CisgICAg
ICAgICgtW0RPTUhUTUxPcHRpb25FbGVtZW50IHNldERlZmF1bHRTZWxlY3RlZDpdKToKKyAgICAg
ICAgKC1bRE9NSFRNTE9wdGlvbkVsZW1lbnQgdGV4dF0pOgorICAgICAgICAoLVtET01IVE1MT3B0
aW9uRWxlbWVudCBpbmRleF0pOgorICAgICAgICAoLVtET01IVE1MT3B0aW9uRWxlbWVudCBkaXNh
YmxlZF0pOgorICAgICAgICAoLVtET01IVE1MT3B0aW9uRWxlbWVudCBzZXREaXNhYmxlZDpdKToK
KyAgICAgICAgKC1bRE9NSFRNTE9wdGlvbkVsZW1lbnQgbGFiZWxdKToKKyAgICAgICAgKC1bRE9N
SFRNTE9wdGlvbkVsZW1lbnQgc2V0TGFiZWw6XSk6CisgICAgICAgICgtW0RPTUhUTUxPcHRpb25F
bGVtZW50IHNlbGVjdGVkXSk6CisgICAgICAgICgtW0RPTUhUTUxPcHRpb25FbGVtZW50IHNldFNl
bGVjdGVkOl0pOgorICAgICAgICAoLVtET01IVE1MT3B0aW9uRWxlbWVudCB2YWx1ZV0pOgorICAg
ICAgICAoLVtET01IVE1MT3B0aW9uRWxlbWVudCBzZXRWYWx1ZTpdKToKKyAgICAgICAgKiBiaW5k
aW5ncy9vYmpjL0RPTVByaXZhdGUuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JPYmpDLnBtOgorCiAyMDA2LTA4LTMxICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UJKHJldmlzaW9uIDE2MTY1KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Miw4ICs2MiwxMSBAQCBhbGwgOiBcCiAgICAgRE9NTm90YXRpb24uaCBc
CiAgICAgRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLmggXAogICAgIERPTVRleHQuaCBcCisgICAg
RE9NSFRNTEFuY2hvckVsZW1lbnQuaCBcCisgICAgRE9NSFRNTEFyZWFFbGVtZW50LmggXAogICAg
IERPTUhUTUxCUkVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEJhc2VFbGVtZW50LmggXAorICAgIERP
TUhUTUxCYXNlRm9udEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEJvZHlFbGVtZW50LmggXAogICAg
IERPTUhUTUxCdXR0b25FbGVtZW50LmggXAogICAgIERPTUhUTUxDb2xsZWN0aW9uLmggXApAQCAt
NzIsMjYgKzc1LDQzIEBAIGFsbCA6IFwKICAgICBET01IVE1MRGl2RWxlbWVudC5oIFwKICAgICBE
T01IVE1MRWxlbWVudC5oIFwKICAgICBET01IVE1MRmllbGRTZXRFbGVtZW50LmggXAorICAgIERP
TUhUTUxGb250RWxlbWVudC5oIFwKICAgICBET01IVE1MRm9ybUVsZW1lbnQuaCBcCisgICAgRE9N
SFRNTEZyYW1lRWxlbWVudC5oIFwKKyAgICBET01IVE1MRnJhbWVTZXRFbGVtZW50LmggXAorICAg
IERPTUhUTUxIUkVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEhlYWRFbGVtZW50LmggXAogICAgIERP
TUhUTUxIZWFkaW5nRWxlbWVudC5oIFwKICAgICBET01IVE1MSHRtbEVsZW1lbnQuaCBcCisgICAg
RE9NSFRNTElGcmFtZUVsZW1lbnQuaCBcCisgICAgRE9NSFRNTEltYWdlRWxlbWVudC5oIFwKICAg
ICBET01IVE1MSW5wdXRFbGVtZW50LmggXAogICAgIERPTUhUTUxJc0luZGV4RWxlbWVudC5oIFwK
ICAgICBET01IVE1MTElFbGVtZW50LmggXAogICAgIERPTUhUTUxMYWJlbEVsZW1lbnQuaCBcCiAg
ICAgRE9NSFRNTExlZ2VuZEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTExpbmtFbGVtZW50LmggXAor
ICAgIERPTUhUTUxNYXBFbGVtZW50LmggXAogICAgIERPTUhUTUxNZW51RWxlbWVudC5oIFwKICAg
ICBET01IVE1MTWV0YUVsZW1lbnQuaCBcCisgICAgRE9NSFRNTE1vZEVsZW1lbnQuaCBcCiAgICAg
RE9NSFRNTE9MaXN0RWxlbWVudC5oIFwKKyAgICBET01IVE1MT2JqZWN0RWxlbWVudC5oIFwKICAg
ICBET01IVE1MT3B0R3JvdXBFbGVtZW50LmggXAogICAgIERPTUhUTUxPcHRpb25zQ29sbGVjdGlv
bi5oIFwKICAgICBET01IVE1MUGFyYWdyYXBoRWxlbWVudC5oIFwKKyAgICBET01IVE1MUGFyYW1F
bGVtZW50LmggXAogICAgIERPTUhUTUxQcmVFbGVtZW50LmggXAogICAgIERPTUhUTUxRdW90ZUVs
ZW1lbnQuaCBcCisgICAgRE9NSFRNTFNjcmlwdEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTFNlbGVj
dEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTFN0eWxlRWxlbWVudC5oIFwKKyAgICBET01IVE1MVGFi
bGVDYXB0aW9uRWxlbWVudC5oIFwKKyAgICBET01IVE1MVGFibGVDZWxsRWxlbWVudC5oIFwKKyAg
ICBET01IVE1MVGFibGVDb2xFbGVtZW50LmggXAorICAgIERPTUhUTUxUYWJsZUVsZW1lbnQuaCBc
CisgICAgRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oIFwKKyAgICBET01IVE1MVGFibGVTZWN0aW9u
RWxlbWVudC5oIFwKICAgICBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggXAogICAgIERPTUhUTUxU
aXRsZUVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTFVMaXN0RWxlbWVudC5oIFwKSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjE2NSkKKysr
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC00MDksNiArNDA5LDEwIEBACiAJCTg1MThERDc5MEE5Q0YzMUIwMDkxQjdBNiAvKiBET01O
YW1lZE5vZGVNYXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NTE4REQ3NzBBOUNGMzFCMDA5MUI3QTYgLyogRE9NTmFtZWROb2RlTWFwLm1tICovOyB9
OwogCQk4NTIxN0UwMjBBNUVDRDQ3MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVsZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTIxN0UwMDBBNUVDRDQ3
MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVsZS5jcHAgKi87IH07CiAJCTg1MjE3RTAzMEE1RUNENDcw
MERCOEQwMCAvKiBYU0xJbXBvcnRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NTIxN0UwMTBBNUVDRDQ3MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVs
ZS5oICovOyB9OworCQk4NTJCOUU4NzBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFwcGxldEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
MkI5RTgzMEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTg1MkI5RTg4MEFBNzlD
NDcwMDJBREE2RSAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MkI5RTg0MEFBNzlDNDcwMDJBREE2RSAvKiBE
T01IVE1MQXBwbGV0RWxlbWVudC5tbSAqLzsgfTsKKwkJODUyQjlFODkwQUE3OUM0NzAwMkFEQTZF
IC8qIERPTUhUTUxPcHRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NTJCOUU4NTBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTE9wdGlv
bkVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk4NTJCOUU4QTBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTJCOUU4NjBB
QTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnQubW0gKi87IH07CiAJCTg1NEZF
NzMwMEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NEZFNzI2MEEyMjk3QkUwMDU4RDdBRCAvKiBO
b2RlRmlsdGVyLmNwcCAqLzsgfTsKIAkJODU0RkU3MzEwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVG
aWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
NEZFNzI3MEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVyLmggKi87IH07CiAJCTg1NEZFNzMy
MEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NEZFNzI4MEEyMjk3QkUwMDU4RDdB
RCAvKiBOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcCAqLzsgfTsKQEAgLTUxMyw4ICs1MTcsNjggQEAK
IAkJODVERjJGOEYwQUEzQzg4MTAwQUQ2NEM1IC8qIERPTUhUTUxDb2xsZWN0aW9uLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVERjJGOEQwQUEzQzg4
MTAwQUQ2NEM1IC8qIERPTUhUTUxDb2xsZWN0aW9uLm1tICovOyB9OwogCQk4NURGMkY5QjBBQTND
QUU1MDBBRDY0QzUgLyogRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGMkY5OTBBQTNDQUU1MDBBRDY0QzUg
LyogRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoKTsgfTsgfTsKIAkJODVERjJGOUMwQUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25z
Q29sbGVjdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1REYyRjlBMEFBM0NBRTUwMEFENjRDNSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
bW0gKi87IH07CisJCTg1REY4MTI3MEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVE
RjgxMjEwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxBbmNob3JFbGVtZW50LmggKi87IH07CisJ
CTg1REY4MTI4MEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MTIyMEFBNzc4
NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5tbSAqLzsgfTsKKwkJODVERjgxMjkw
QUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MTIzMEFBNzc4NzIwMDQ4NkFENyAv
KiBET01IVE1MSW1hZ2VFbGVtZW50LmggKi87IH07CisJCTg1REY4MTJBMEFBNzc4NzIwMDQ4NkFE
NyAvKiBET01IVE1MSW1hZ2VFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODVERjgxMjQwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxJbWFn
ZUVsZW1lbnQubW0gKi87IH07CisJCTg1REY4MTJCMEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1M
T2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVERjgxMjUwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxPYmplY3RFbGVtZW50Lmgg
Ki87IH07CisJCTg1REY4MTJDMEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MT2JqZWN0RWxlbWVu
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4
MTI2MEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MT2JqZWN0RWxlbWVudC5tbSAqLzsgfTsKKwkJ
ODVERjgxMkQwQUE3NzhBMzAwNDg2QUQ3IC8qIERPTUhUTUxBbmNob3JFbGVtZW50LmggaW4gQ29w
eUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MTIxMEFBNzc4
NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5oICovOyB9OworCQk4NURGODEyRTBB
QTc3OEEzMDA0ODZBRDcgLyogRE9NSFRNTEltYWdlRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODEyMzBBQTc3ODcyMDA0ODZBRDcg
LyogRE9NSFRNTEltYWdlRWxlbWVudC5oICovOyB9OworCQk4NURGODEyRjBBQTc3OEEzMDA0ODZB
RDcgLyogRE9NSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODVERjgxMjUwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxP
YmplY3RFbGVtZW50LmggKi87IH07CisJCTg1REY4MTk1MEFBNzdFNEIwMDQ4NkFENyAvKiBET01I
VE1MRnJhbWVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NURGODE4RDBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTEZyYW1lRWxlbWVudC5o
ICovOyB9OworCQk4NURGODE5NjBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTEZyYW1lRWxlbWVu
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4
MThFMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVFbGVtZW50Lm1tICovOyB9OworCQk4
NURGODE5NzBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTEZyYW1lU2V0RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVERjgxOEYwQUE3N0U0
QjAwNDg2QUQ3IC8qIERPTUhUTUxGcmFtZVNldEVsZW1lbnQuaCAqLzsgfTsKKwkJODVERjgxOTgw
QUE3N0U0QjAwNDg2QUQ3IC8qIERPTUhUTUxGcmFtZVNldEVsZW1lbnQubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODE5MDBBQTc3RTRCMDA0ODZB
RDcgLyogRE9NSFRNTEZyYW1lU2V0RWxlbWVudC5tbSAqLzsgfTsKKwkJODVERjgxOTkwQUE3N0U0
QjAwNDg2QUQ3IC8qIERPTUhUTUxJRnJhbWVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODE5MTBBQTc3RTRCMDA0ODZBRDcgLyogRE9N
SFRNTElGcmFtZUVsZW1lbnQuaCAqLzsgfTsKKwkJODVERjgxOUEwQUE3N0U0QjAwNDg2QUQ3IC8q
IERPTUhUTUxJRnJhbWVFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVERjgxOTIwQUE3N0U0QjAwNDg2QUQ3IC8qIERPTUhUTUxJRnJhbWVF
bGVtZW50Lm1tICovOyB9OworCQk4NURGODE5QjBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTFNj
cmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1REY4MTkzMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MU2NyaXB0RWxlbWVudC5oICov
OyB9OworCQk4NURGODE5QzBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTFNjcmlwdEVsZW1lbnQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODE5
NDBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTFNjcmlwdEVsZW1lbnQubW0gKi87IH07CisJCTg1
REY4MTlEMEFBNzdFN0UwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVFbGVtZW50LmggaW4gQ29weUZp
bGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MThEMEFBNzdFNEIw
MDQ4NkFENyAvKiBET01IVE1MRnJhbWVFbGVtZW50LmggKi87IH07CisJCTg1REY4MTlFMEFBNzdF
N0UwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVTZXRFbGVtZW50LmggaW4gQ29weUZpbGVzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MThGMEFBNzdFNEIwMDQ4NkFENyAv
KiBET01IVE1MRnJhbWVTZXRFbGVtZW50LmggKi87IH07CisJCTg1REY4MTlGMEFBNzdFN0UwMDQ4
NkFENyAvKiBET01IVE1MSUZyYW1lRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODE5MTBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRN
TElGcmFtZUVsZW1lbnQuaCAqLzsgfTsKKwkJODVERjgxQTAwQUE3N0U3RTAwNDg2QUQ3IC8qIERP
TUhUTUxTY3JpcHRFbGVtZW50LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg1REY4MTkzMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MU2NyaXB0RWxl
bWVudC5oICovOyB9OworCQk4NURGODIxRDBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxl
Q2FwdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1REY4MjEzMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDYXB0aW9uRWxl
bWVudC5oICovOyB9OworCQk4NURGODIxRTBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxl
Q2FwdGlvbkVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NURGODIxNDBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlQ2FwdGlvbkVs
ZW1lbnQubW0gKi87IH07CisJCTg1REY4MjFGMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFi
bGVDZWxsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVERjgyMTUwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50
LmggKi87IH07CisJCTg1REY4MjIwMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDZWxs
RWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1REY4MjE2MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDZWxsRWxlbWVudC5tbSAq
LzsgfTsKKwkJODVERjgyMjEwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNvbEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4
MjE3MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDb2xFbGVtZW50LmggKi87IH07CisJ
CTg1REY4MjIyMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDb2xFbGVtZW50Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVERjgyMTgwQUE3
ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNvbEVsZW1lbnQubW0gKi87IH07CisJCTg1REY4
MjIzMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVSb3dFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODIxOTBBQTc4NDlFMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oICovOyB9OworCQk4NURGODIyNDBBQTc4
NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MjFBMEFBNzg0OUUwMDQ4NkFENyAv
KiBET01IVE1MVGFibGVSb3dFbGVtZW50Lm1tICovOyB9OworCQk4NURGODIyNTBBQTc4NDlFMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MjFCMEFBNzg0OUUwMDQ4NkFENyAvKiBE
T01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oICovOyB9OworCQk4NURGODIyNjBBQTc4NDlFMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODIxQzBBQTc4NDlFMDA0ODZBRDcgLyog
RE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQubW0gKi87IH07CisJCTg1REY4MjJGMEFBNzg2Njgw
MDQ4NkFENyAvKiBET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODIxMzBBQTc4NDlFMDA0ODZBRDcg
LyogRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAqLzsgfTsKKwkJODVERjgyMzAwQUE3ODY2
ODAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50LmggaW4gQ29weUZpbGVzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REY4MjE1MEFBNzg0OUUwMDQ4NkFENyAv
KiBET01IVE1MVGFibGVDZWxsRWxlbWVudC5oICovOyB9OworCQk4NURGODIzMTBBQTc4NjY4MDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlQ29sRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODIxNzBBQTc4NDlFMDA0ODZBRDcgLyogRE9N
SFRNTFRhYmxlQ29sRWxlbWVudC5oICovOyB9OworCQk4NURGODIzMjBBQTc4NjY4MDA0ODZBRDcg
LyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODIxOTBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRh
YmxlUm93RWxlbWVudC5oICovOyB9OworCQk4NURGODIzMzBBQTc4NjY4MDA0ODZBRDcgLyogRE9N
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODVERjgyMUIwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJs
ZVNlY3Rpb25FbGVtZW50LmggKi87IH07CisJCTg1REY4MjcwMEFBNzhCOEIwMDQ4NkFENyAvKiBE
T01IVE1MVGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NURGODI2RTBBQTc4QjhBMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxlbWVu
dC5oICovOyB9OworCQk4NURGODI3MTBBQTc4QjhCMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxl
bWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
REY4MjZGMEFBNzhCOEEwMDQ4NkFENyAvKiBET01IVE1MVGFibGVFbGVtZW50Lm1tICovOyB9Owor
CQk4NURGODI3NDBBQTc4QzczMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxlbWVudC5oIGluIENv
cHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODI2RTBBQTc4
QjhBMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxlbWVudC5oICovOyB9OwogCQk4NUVDOUFGQTBB
NzFBMkM2MDBFRUVBRUQgLyogRm9udERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg1RUM5QUY4MEE3MUEyQzYwMEVFRUFFRCAvKiBGb250RGF0YS5o
ICovOyB9OwogCQk4NUVDOUFGQjBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RUM5QUY5MEE3MUEyQzYw
MEVFRUFFRCAvKiBMYW5ndWFnZS5oICovOyB9OworCQk4NUVDQkVFQjBBQTc2MjY5MDA1NDRGMEIg
LyogRE9NSFRNTEFyZWFFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NUVDQkVERDBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVt
ZW50LmggKi87IH07CisJCTg1RUNCRUVDMEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MQXJlYUVs
ZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUVDQkVERTBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50Lm1tICovOyB9Owor
CQk4NUVDQkVFRDBBQTc2MjY5MDA1NDRGMEIgLyogRE9NSFRNTEJhc2VGb250RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFREYwQUE3
NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxCYXNlRm9udEVsZW1lbnQuaCAqLzsgfTsKKwkJODVFQ0JF
RUUwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVDQkVFMDBBQTc2MjY4MDA1
NDRGMEIgLyogRE9NSFRNTEJhc2VGb250RWxlbWVudC5tbSAqLzsgfTsKKwkJODVFQ0JFRUYwQUE3
NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFRTEwQUE3NjI2ODAwNTQ0RjBCIC8qIERP
TUhUTUxGb250RWxlbWVudC5oICovOyB9OworCQk4NUVDQkVGMDBBQTc2MjY5MDA1NDRGMEIgLyog
RE9NSFRNTEZvbnRFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODVFQ0JFRTIwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxGb250RWxlbWVu
dC5tbSAqLzsgfTsKKwkJODVFQ0JFRjEwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxIUkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RUNC
RUUzMEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1MSFJFbGVtZW50LmggKi87IH07CisJCTg1RUNC
RUYyMEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MSFJFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFRTQwQUE3NjI2ODAwNTQ0RjBC
IC8qIERPTUhUTUxIUkVsZW1lbnQubW0gKi87IH07CisJCTg1RUNCRUYzMEFBNzYyNjkwMDU0NEYw
QiAvKiBET01IVE1MTWFwRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVFQ0JFRTUwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxNYXBFbGVt
ZW50LmggKi87IH07CisJCTg1RUNCRUY0MEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MTWFwRWxl
bWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
RUNCRUU2MEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1MTWFwRWxlbWVudC5tbSAqLzsgfTsKKwkJ
ODVFQ0JFRjUwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxNb2RFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVDQkVFNzBBQTc2MjY4MDA1
NDRGMEIgLyogRE9NSFRNTE1vZEVsZW1lbnQuaCAqLzsgfTsKKwkJODVFQ0JFRjYwQUE3NjI2OTAw
NTQ0RjBCIC8qIERPTUhUTUxNb2RFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFRTgwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxN
b2RFbGVtZW50Lm1tICovOyB9OworCQk4NUVDQkVGNzBBQTc2MjY5MDA1NDRGMEIgLyogRE9NSFRN
TFBhcmFtRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVFQ0JFRTkwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxQYXJhbUVsZW1lbnQuaCAq
LzsgfTsKKwkJODVFQ0JFRjgwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxQYXJhbUVsZW1lbnQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVDQkVF
QTBBQTc2MjY5MDA1NDRGMEIgLyogRE9NSFRNTFBhcmFtRWxlbWVudC5tbSAqLzsgfTsKKwkJODVF
Q0JGMDgwQUE3NjI4OTAwNTQ0RjBCIC8qIERPTUhUTUxBcmVhRWxlbWVudC5oIGluIENvcHlGaWxl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVDQkVERDBBQTc2MjY4MDA1
NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50LmggKi87IH07CisJCTg1RUNCRjA5MEFBNzYyODkw
MDU0NEYwQiAvKiBET01IVE1MQmFzZUZvbnRFbGVtZW50LmggaW4gQ29weUZpbGVzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RUNCRURGMEFBNzYyNjgwMDU0NEYwQiAvKiBE
T01IVE1MQmFzZUZvbnRFbGVtZW50LmggKi87IH07CisJCTg1RUNCRjBBMEFBNzYyODkwMDU0NEYw
QiAvKiBET01IVE1MRm9udEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFRTEwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxGb250
RWxlbWVudC5oICovOyB9OworCQk4NUVDQkYwQjBBQTc2Mjg5MDA1NDRGMEIgLyogRE9NSFRNTEhS
RWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NUVDQkVFMzBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEhSRWxlbWVudC5oICovOyB9Owor
CQk4NUVDQkYwQzBBQTc2Mjg5MDA1NDRGMEIgLyogRE9NSFRNTE1hcEVsZW1lbnQuaCBpbiBDb3B5
RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFRTUwQUE3NjI2
ODAwNTQ0RjBCIC8qIERPTUhUTUxNYXBFbGVtZW50LmggKi87IH07CisJCTg1RUNCRjBEMEFBNzYy
ODkwMDU0NEYwQiAvKiBET01IVE1MTW9kRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVDQkVFNzBBQTc2MjY4MDA1NDRGMEIgLyogRE9N
SFRNTE1vZEVsZW1lbnQuaCAqLzsgfTsKKwkJODVFQ0JGMEUwQUE3NjI4OTAwNTQ0RjBCIC8qIERP
TUhUTUxQYXJhbUVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODVFQ0JFRTkwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxQYXJhbUVsZW1l
bnQuaCAqLzsgfTsKIAkJODVGMzJBRUMwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxJbnB1dEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
RjMyQUU0MEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MSW5wdXRFbGVtZW50LmggKi87IH07CiAJ
CTg1RjMyQUVEMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MSW5wdXRFbGVtZW50Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGMzJBRTUwQUE2M0I4
NzAwRkYzMTg0IC8qIERPTUhUTUxJbnB1dEVsZW1lbnQubW0gKi87IH07CiAJCTg1RjMyQUVFMEFB
NjNCODcwMEZGMzE4NCAvKiBET01IVE1MT3B0R3JvdXBFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUYzMkFFNjBBQTYzQjg3MDBGRjMxODQg
LyogRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oICovOyB9OwpAQCAtMTg4NCw2ICsxOTQ4LDI2IEBA
CiAJCQkJODUxODNCNUIwQUE2OTI4NjAwRjE5RkEzIC8qIERPTUhUTUxQYXJhZ3JhcGhFbGVtZW50
LmggaW4gQ29weUZpbGVzICovLAogCQkJCTg1MTgzQjVDMEFBNjkyODYwMEYxOUZBMyAvKiBET01I
VE1MUHJlRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLywKIAkJCQk4NTE4M0I1RDBBQTY5Mjg2MDBG
MTlGQTMgLyogRE9NSFRNTFF1b3RlRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NUVD
QkYwODBBQTc2Mjg5MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50LmggaW4gQ29weUZpbGVz
ICovLAorCQkJCTg1RUNCRjA5MEFBNzYyODkwMDU0NEYwQiAvKiBET01IVE1MQmFzZUZvbnRFbGVt
ZW50LmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1RUNCRjBBMEFBNzYyODkwMDU0NEYwQiAvKiBE
T01IVE1MRm9udEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVFQ0JGMEIwQUE3NjI4
OTAwNTQ0RjBCIC8qIERPTUhUTUxIUkVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVF
Q0JGMEMwQUE3NjI4OTAwNTQ0RjBCIC8qIERPTUhUTUxNYXBFbGVtZW50LmggaW4gQ29weUZpbGVz
ICovLAorCQkJCTg1RUNCRjBEMEFBNzYyODkwMDU0NEYwQiAvKiBET01IVE1MTW9kRWxlbWVudC5o
IGluIENvcHlGaWxlcyAqLywKKwkJCQk4NUVDQkYwRTBBQTc2Mjg5MDA1NDRGMEIgLyogRE9NSFRN
TFBhcmFtRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NURGODEyRDBBQTc3OEEzMDA0
ODZBRDcgLyogRE9NSFRNTEFuY2hvckVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVE
RjgxMkUwQUE3NzhBMzAwNDg2QUQ3IC8qIERPTUhUTUxJbWFnZUVsZW1lbnQuaCBpbiBDb3B5Rmls
ZXMgKi8sCisJCQkJODVERjgxMkYwQUE3NzhBMzAwNDg2QUQ3IC8qIERPTUhUTUxPYmplY3RFbGVt
ZW50LmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1REY4MTlEMEFBNzdFN0UwMDQ4NkFENyAvKiBE
T01IVE1MRnJhbWVFbGVtZW50LmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1REY4MTlFMEFBNzdF
N0UwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVTZXRFbGVtZW50LmggaW4gQ29weUZpbGVzICovLAor
CQkJCTg1REY4MTlGMEFBNzdFN0UwMDQ4NkFENyAvKiBET01IVE1MSUZyYW1lRWxlbWVudC5oIGlu
IENvcHlGaWxlcyAqLywKKwkJCQk4NURGODFBMDBBQTc3RTdFMDA0ODZBRDcgLyogRE9NSFRNTFNj
cmlwdEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODVERjgyMkYwQUE3ODY2ODAwNDg2
QUQ3IC8qIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmggaW4gQ29weUZpbGVzICovLAorCQkJ
CTg1REY4MjMwMEFBNzg2NjgwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDZWxsRWxlbWVudC5oIGlu
IENvcHlGaWxlcyAqLywKKwkJCQk4NURGODIzMTBBQTc4NjY4MDA0ODZBRDcgLyogRE9NSFRNTFRh
YmxlQ29sRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NURGODI3NDBBQTc4QzczMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxlbWVudC5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NURG
ODIzMjBBQTc4NjY4MDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oIGluIENvcHlG
aWxlcyAqLywKKwkJCQk4NURGODIzMzBBQTc4NjY4MDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMzU3LDYgKzI0NDEsMTAgQEAKIAkJ
ODUxOERENzcwQTlDRjMxQjAwOTFCN0E2IC8qIERPTU5hbWVkTm9kZU1hcC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01OYW1lZE5vZGVNYXAubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MjE3RTAwMEE1RUNENDcwMERCOEQwMCAvKiBYU0xJ
bXBvcnRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYU0xJ
bXBvcnRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUyMTdFMDEwQTVF
Q0Q0NzAwREI4RDAwIC8qIFhTTEltcG9ydFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFhTTEltcG9ydFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODUyQjlFODMwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MQXBwbGV0RWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTJCOUU4NDBBQTc5QzQ3MDAyQURBNkUgLyogRE9N
SFRNTEFwcGxldEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NSFRNTEFwcGxldEVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1MkI5RTg1MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTE9wdGlvbkVsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUyQjlFODYwQUE3OUM0NzAwMkFEQTZFIC8q
IERPTUhUTUxPcHRpb25FbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IERPTUhUTUxPcHRpb25FbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NTRGRTcyNjBBMjI5N0JFMDA1OEQ3QUQgLyogTm9kZUZpbHRlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm9kZUZpbHRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1NEZFNzI3MEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmls
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlRmlsdGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1NEZFNzI4MEEyMjk3QkUwMDU4RDdBRCAvKiBO
b2RlRmlsdGVyQ29uZGl0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI0NTUsOCArMjU0Myw0OCBAQAogCQk4NURGMkY5MjBBQTNDOUI2MDBBRDY0QzUgLyogSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVERjJGOTkw
QUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1REYyRjlBMEFBM0NBRTUwMEFENjRDNSAvKiBET01I
VE1MT3B0aW9uc0NvbGxlY3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NURGODEyMTBBQTc3ODcyMDA0ODZBRDcgLyogRE9NSFRNTEFuY2hvckVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxBbmNob3JFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1REY4MTIyMEFBNzc4NzIwMDQ4
NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBET01IVE1MQW5jaG9yRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODVERjgxMjMwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxJbWFnZUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxJbWFnZUVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjgxMjQwQUE3Nzg3MjAw
NDg2QUQ3IC8qIERPTUhUTUxJbWFnZUVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTEltYWdlRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODVERjgxMjUwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxPYmplY3RF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MT2JqZWN0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGODEyNjBBQTc3ODcy
MDA0ODZBRDcgLyogRE9NSFRNTE9iamVjdEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTE9iamVjdEVsZW1lbnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg1REY4MThEMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJh
bWVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MRnJh
bWVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1REY4MThFMEFBNzdF
NEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxGcmFtZUVsZW1lbnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg1REY4MThGMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJh
bWVTZXRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1M
RnJhbWVTZXRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1REY4MTkw
MEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVTZXRFbGVtZW50Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxGcmFtZVNldEVsZW1lbnQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1REY4MTkxMEFBNzdFNEIwMDQ4NkFENyAv
KiBET01IVE1MSUZyYW1lRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NSFRNTElGcmFtZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODVERjgxOTIwQUE3N0U0QjAwNDg2QUQ3IC8qIERPTUhUTUxJRnJhbWVFbGVtZW50Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxJRnJhbWVFbGVtZW50
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGODE5MzBBQTc3RTRCMDA0ODZB
RDcgLyogRE9NSFRNTFNjcmlwdEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTUhUTUxTY3JpcHRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1REY4MTk0MEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MU2NyaXB0RWxlbWVudC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MU2NyaXB0RWxl
bWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjgyMTMwQUE3ODQ5RTAw
NDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NURGODIxNDBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRh
YmxlQ2FwdGlvbkVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg1REY4MjE1MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDZWxsRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTFRhYmxlQ2Vs
bEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjgyMTYwQUE3ODQ5
RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGODIxNzBBQTc4NDlFMDA0ODZBRDcgLyogRE9N
SFRNTFRhYmxlQ29sRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NSFRNTFRhYmxlQ29sRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
NURGODIxODBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlQ29sRWxlbWVudC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MVGFibGVDb2xFbGVt
ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGODIxOTBBQTc4NDlFMDA0
ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NURGODIxQTBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxl
bWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1M
VGFibGVSb3dFbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGODIx
QjBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1REY4MjFDMEFBNzg0OUUwMDQ4NkFENyAv
KiBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjgyNkUwQUE3OEI4QTAwNDg2QUQ3IC8qIERPTUhUTUxU
YWJsZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxU
YWJsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjgyNkYwQUE3
OEI4QTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTFRhYmxlRWxlbWVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVFQzlBRjgwQTcxQTJDNjAwRUVFQUVEIC8qIEZvbnREYXRh
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250RGF0YS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NUVDOUFGOTBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3Vh
Z2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExhbmd1YWdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1RUNCRUREMEFBNzYyNjgwMDU0NEYwQiAvKiBET01I
VE1MQXJlYUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhU
TUxBcmVhRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUVDQkVERTBB
QTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxBcmVhRWxlbWVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVFQ0JFREYwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxC
YXNlRm9udEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhU
TUxCYXNlRm9udEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVFQ0JF
RTAwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTEJhc2VGb250RWxlbWVudC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVFQ0JFRTEwQUE3NjI2ODAwNTQ0RjBC
IC8qIERPTUhUTUxGb250RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NSFRNTEZvbnRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1
RUNCRUUyMEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1MRm9udEVsZW1lbnQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTEZvbnRFbGVtZW50Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUVDQkVFMzBBQTc2MjY4MDA1NDRGMEIgLyog
RE9NSFRNTEhSRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
SFRNTEhSRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUVDQkVFNDBB
QTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEhSRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MSFJFbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NUVDQkVFNTBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTE1hcEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxNYXBFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1RUNCRUU2MEFBNzYyNjgwMDU0
NEYwQiAvKiBET01IVE1MTWFwRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBET01IVE1MTWFwRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODVFQ0JFRTcwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxNb2RFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MTW9kRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUVDQkVFODBBQTc2MjY5MDA1NDRGMEIgLyog
RE9NSFRNTE1vZEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NSFRNTE1vZEVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg1RUNCRUU5MEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MUGFyYW1FbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MUGFyYW1FbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1RUNCRUVBMEFBNzYyNjkwMDU0NEYwQiAvKiBET01I
VE1MUGFyYW1FbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IERPTUhUTUxQYXJhbUVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg1RjMyQUU0MEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MSW5wdXRFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MSW5wdXRFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RjMyQUU1MEFBNjNCODcwMEZGMzE4NCAvKiBET01I
VE1MSW5wdXRFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IERPTUhUTUxJbnB1dEVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg1RjMyQUU2MEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MT3B0R3JvdXBFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MT3B0R3JvdXBFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NTA0LDggKzQ2MzIsMTIgQEAKIAkJODU5
OTJGQzIwQUE1REQ0NjAwQUMwNzg1IC8qIEhUTUwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTg1MkI5RTgzMEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1M
QXBwbGV0RWxlbWVudC5oICovLAorCQkJCTg1MkI5RTg0MEFBNzlDNDcwMDJBREE2RSAvKiBET01I
VE1MQXBwbGV0RWxlbWVudC5tbSAqLywKIAkJCQk4NTk5MkZCRTBBQTVERDQwMDBBQzA3ODUgLyog
RE9NSFRNTERvY3VtZW50LmggKi8sCiAJCQkJODU5OTJGQkYwQUE1REQ0MDAwQUMwNzg1IC8qIERP
TUhUTUxEb2N1bWVudC5tbSAqLywKKwkJCQk4NTJCOUU4NTBBQTc5QzQ3MDAyQURBNkUgLyogRE9N
SFRNTE9wdGlvbkVsZW1lbnQuaCAqLywKKwkJCQk4NTJCOUU4NjBBQTc5QzQ3MDAyQURBNkUgLyog
RE9NSFRNTE9wdGlvbkVsZW1lbnQubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IEhUTUw7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNDU0NSw3MiArNDY3NywxMTIgQEAKIAkJCQk4NUY1
NkE3OTBBOThDRTM3MDBBREI2MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLm1tICovLAog
CQkJCTg1QUNBOTlBMEE5QjU3NTkwMDY3MUU5MCAvKiBET01UZXh0LmggKi8sCiAJCQkJODVBQ0E5
OUIwQTlCNTc1OTAwNjcxRTkwIC8qIERPTVRleHQubW0gKi8sCisJCQkJODVERjgxMjEwQUE3Nzg3
MjAwNDg2QUQ3IC8qIERPTUhUTUxBbmNob3JFbGVtZW50LmggKi8sCisJCQkJODVERjgxMjIwQUE3
Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxBbmNob3JFbGVtZW50Lm1tICovLAorCQkJCTg1RUNCRURE
MEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1MQXJlYUVsZW1lbnQuaCAqLywKKwkJCQk4NUVDQkVE
RTBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50Lm1tICovLAorCQkJCTg1MTgz
QjM4MEFBNjkyNjEwMEYxOUZBMyAvKiBET01IVE1MQlJFbGVtZW50LmggKi8sCisJCQkJODUxODNC
MzkwQUE2OTI2MTAwRjE5RkEzIC8qIERPTUhUTUxCUkVsZW1lbnQubW0gKi8sCisJCQkJODU5QTlD
M0QwQUE1RTNCRDAwQjY5NEIyIC8qIERPTUhUTUxCYXNlRWxlbWVudC5oICovLAorCQkJCTg1OUE5
QzNFMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MQmFzZUVsZW1lbnQubW0gKi8sCisJCQkJODVF
Q0JFREYwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxCYXNlRm9udEVsZW1lbnQuaCAqLywKKwkJ
CQk4NUVDQkVFMDBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEJhc2VGb250RWxlbWVudC5tbSAq
LywKKwkJCQk4NTlBOUMzRjBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTEJvZHlFbGVtZW50Lmgg
Ki8sCisJCQkJODU5QTlDNDAwQUE1RTNCRDAwQjY5NEIyIC8qIERPTUhUTUxCb2R5RWxlbWVudC5t
bSAqLywKKwkJCQk4NUJBNENENTBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEJ1dHRvbkVsZW1l
bnQuaCAqLywKKwkJCQk4NUJBNENENjBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEJ1dHRvbkVs
ZW1lbnQubW0gKi8sCiAJCQkJODVERjJGOEMwQUEzQzg4MTAwQUQ2NEM1IC8qIERPTUhUTUxDb2xs
ZWN0aW9uLmggKi8sCiAJCQkJODVERjJGOEQwQUEzQzg4MTAwQUQ2NEM1IC8qIERPTUhUTUxDb2xs
ZWN0aW9uLm1tICovLAorCQkJCTg1QkE0RDAxMEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MRExp
c3RFbGVtZW50LmggKi8sCisJCQkJODVCQTREMDIwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxE
TGlzdEVsZW1lbnQubW0gKi8sCisJCQkJODVCQTRDRkQwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhU
TUxEaXJlY3RvcnlFbGVtZW50LmggKi8sCisJCQkJODVCQTRDRkUwQUE2ODg2ODAwODgwNTJEIC8q
IERPTUhUTUxEaXJlY3RvcnlFbGVtZW50Lm1tICovLAorCQkJCTg1QkE0Q0ZGMEFBNjg4NjgwMDg4
MDUyRCAvKiBET01IVE1MRGl2RWxlbWVudC5oICovLAorCQkJCTg1QkE0RDAwMEFBNjg4NjgwMDg4
MDUyRCAvKiBET01IVE1MRGl2RWxlbWVudC5tbSAqLywKIAkJCQk4NURGMkVFQjBBQTM4N0NCMDBB
RDY0QzUgLyogRE9NSFRNTEVsZW1lbnQuaCAqLywKIAkJCQk4NURGMkVFQzBBQTM4N0NCMDBBRDY0
QzUgLyogRE9NSFRNTEVsZW1lbnQubW0gKi8sCisJCQkJODVCQTRDRDcwQUE2ODYxQjAwODgwNTJE
IC8qIERPTUhUTUxGaWVsZFNldEVsZW1lbnQuaCAqLywKKwkJCQk4NUJBNENEODBBQTY4NjFCMDA4
ODA1MkQgLyogRE9NSFRNTEZpZWxkU2V0RWxlbWVudC5tbSAqLywKKwkJCQk4NUVDQkVFMTBBQTc2
MjY4MDA1NDRGMEIgLyogRE9NSFRNTEZvbnRFbGVtZW50LmggKi8sCisJCQkJODVFQ0JFRTIwQUE3
NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxGb250RWxlbWVudC5tbSAqLywKIAkJCQk4NURGMkMxMDBB
QTM0MUY2MDBBRDY0QzUgLyogRE9NSFRNTEZvcm1FbGVtZW50LmggKi8sCiAJCQkJODVERjJDMTEw
QUEzNDFGNjAwQUQ2NEM1IC8qIERPTUhUTUxGb3JtRWxlbWVudC5tbSAqLywKKwkJCQk4NURGODE4
RDBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTEZyYW1lRWxlbWVudC5oICovLAorCQkJCTg1REY4
MThFMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVFbGVtZW50Lm1tICovLAorCQkJCTg1
REY4MThGMEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVTZXRFbGVtZW50LmggKi8sCisJ
CQkJODVERjgxOTAwQUE3N0U0QjAwNDg2QUQ3IC8qIERPTUhUTUxGcmFtZVNldEVsZW1lbnQubW0g
Ki8sCisJCQkJODVFQ0JFRTMwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxIUkVsZW1lbnQuaCAq
LywKKwkJCQk4NUVDQkVFNDBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEhSRWxlbWVudC5tbSAq
LywKIAkJCQk4NTk5MkVCMjBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEhlYWRFbGVtZW50Lmgg
Ki8sCiAJCQkJODU5OTJFQjMwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIZWFkRWxlbWVudC5t
bSAqLywKKwkJCQk4NTE4M0IzQTBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTEhlYWRpbmdFbGVt
ZW50LmggKi8sCisJCQkJODUxODNCM0IwQUE2OTI2MTAwRjE5RkEzIC8qIERPTUhUTUxIZWFkaW5n
RWxlbWVudC5tbSAqLywKIAkJCQk4NTk5MkVCNDBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEh0
bWxFbGVtZW50LmggKi8sCiAJCQkJODU5OTJFQjUwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxI
dG1sRWxlbWVudC5tbSAqLywKLQkJCQk4NTk5MkVCNjBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRN
TExpbmtFbGVtZW50LmggKi8sCi0JCQkJODU5OTJFQjcwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhU
TUxMaW5rRWxlbWVudC5tbSAqLywKLQkJCQk4NURGMkY5OTBBQTNDQUU1MDBBRDY0QzUgLyogRE9N
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggKi8sCi0JCQkJODVERjJGOUEwQUEzQ0FFNTAwQUQ2NEM1
IC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5tbSAqLywKLQkJCQk4NTk5MkVCODBBQTUwNjk1
MDBBQzA3ODUgLyogRE9NSFRNTFRpdGxlRWxlbWVudC5oICovLAotCQkJCTg1OTkyRUI5MEFBNTA2
OTUwMEFDMDc4NSAvKiBET01IVE1MVGl0bGVFbGVtZW50Lm1tICovLAotCQkJCTg1OUE5QzNEMEFB
NUUzQkQwMEI2OTRCMiAvKiBET01IVE1MQmFzZUVsZW1lbnQuaCAqLywKLQkJCQk4NTlBOUMzRTBB
QTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTEJhc2VFbGVtZW50Lm1tICovLAotCQkJCTg1OUE5QzNG
MEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MQm9keUVsZW1lbnQuaCAqLywKLQkJCQk4NTlBOUM0
MDBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTEJvZHlFbGVtZW50Lm1tICovLAotCQkJCTg1OUE5
QzQxMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MSXNJbmRleEVsZW1lbnQuaCAqLywKLQkJCQk4
NTlBOUM0MjBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTElzSW5kZXhFbGVtZW50Lm1tICovLAot
CQkJCTg1OUE5QzQzMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MTWV0YUVsZW1lbnQuaCAqLywK
LQkJCQk4NTlBOUM0NDBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTE1ldGFFbGVtZW50Lm1tICov
LAotCQkJCTg1OUE5QzQ1MEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MU3R5bGVFbGVtZW50Lmgg
Ki8sCi0JCQkJODU5QTlDNDYwQUE1RTNCRDAwQjY5NEIyIC8qIERPTUhUTUxTdHlsZUVsZW1lbnQu
bW0gKi8sCisJCQkJODVERjgxOTEwQUE3N0U0QjAwNDg2QUQ3IC8qIERPTUhUTUxJRnJhbWVFbGVt
ZW50LmggKi8sCisJCQkJODVERjgxOTIwQUE3N0U0QjAwNDg2QUQ3IC8qIERPTUhUTUxJRnJhbWVF
bGVtZW50Lm1tICovLAorCQkJCTg1REY4MTIzMEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MSW1h
Z2VFbGVtZW50LmggKi8sCisJCQkJODVERjgxMjQwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxJ
bWFnZUVsZW1lbnQubW0gKi8sCiAJCQkJODVGMzJBRTQwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhU
TUxJbnB1dEVsZW1lbnQuaCAqLywKIAkJCQk4NUYzMkFFNTBBQTYzQjg3MDBGRjMxODQgLyogRE9N
SFRNTElucHV0RWxlbWVudC5tbSAqLywKLQkJCQk4NUYzMkFFNjBBQTYzQjg3MDBGRjMxODQgLyog
RE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oICovLAotCQkJCTg1RjMyQUU3MEFBNjNCODcwMEZGMzE4
NCAvKiBET01IVE1MT3B0R3JvdXBFbGVtZW50Lm1tICovLAotCQkJCTg1RjMyQUU4MEFBNjNCODcw
MEZGMzE4NCAvKiBET01IVE1MU2VsZWN0RWxlbWVudC5oICovLAotCQkJCTg1RjMyQUU5MEFBNjNC
ODcwMEZGMzE4NCAvKiBET01IVE1MU2VsZWN0RWxlbWVudC5tbSAqLywKLQkJCQk4NUYzMkFFQTBB
QTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oICovLAotCQkJCTg1RjMy
QUVCMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tICovLAotCQkJ
CTg1QkE0Q0Q1MEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MQnV0dG9uRWxlbWVudC5oICovLAot
CQkJCTg1QkE0Q0Q2MEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MQnV0dG9uRWxlbWVudC5tbSAq
LywKLQkJCQk4NUJBNENENzBBQTY4NjFCMDA4ODA1MkQgLyogRE9NSFRNTEZpZWxkU2V0RWxlbWVu
dC5oICovLAotCQkJCTg1QkE0Q0Q4MEFBNjg2MUIwMDg4MDUyRCAvKiBET01IVE1MRmllbGRTZXRF
bGVtZW50Lm1tICovLAorCQkJCTg1OUE5QzQxMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MSXNJ
bmRleEVsZW1lbnQuaCAqLywKKwkJCQk4NTlBOUM0MjBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRN
TElzSW5kZXhFbGVtZW50Lm1tICovLAorCQkJCTg1QkE0RDAzMEFBNjg4NjgwMDg4MDUyRCAvKiBE
T01IVE1MTElFbGVtZW50LmggKi8sCisJCQkJODVCQTREMDQwQUE2ODg2ODAwODgwNTJEIC8qIERP
TUhUTUxMSUVsZW1lbnQubW0gKi8sCiAJCQkJODVCQTRDRDkwQUE2ODYxQjAwODgwNTJEIC8qIERP
TUhUTUxMYWJlbEVsZW1lbnQuaCAqLywKIAkJCQk4NUJBNENEQTBBQTY4NjFCMDA4ODA1MkQgLyog
RE9NSFRNTExhYmVsRWxlbWVudC5tbSAqLywKIAkJCQk4NUJBNENEQjBBQTY4NjFCMDA4ODA1MkQg
LyogRE9NSFRNTExlZ2VuZEVsZW1lbnQuaCAqLywKIAkJCQk4NUJBNENEQzBBQTY4NjFCMDA4ODA1
MkQgLyogRE9NSFRNTExlZ2VuZEVsZW1lbnQubW0gKi8sCi0JCQkJODVCQTRDRkQwQUE2ODg2ODAw
ODgwNTJEIC8qIERPTUhUTUxEaXJlY3RvcnlFbGVtZW50LmggKi8sCi0JCQkJODVCQTRDRkUwQUE2
ODg2ODAwODgwNTJEIC8qIERPTUhUTUxEaXJlY3RvcnlFbGVtZW50Lm1tICovLAotCQkJCTg1QkE0
Q0ZGMEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MRGl2RWxlbWVudC5oICovLAotCQkJCTg1QkE0
RDAwMEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MRGl2RWxlbWVudC5tbSAqLywKLQkJCQk4NUJB
NEQwMTBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRNTERMaXN0RWxlbWVudC5oICovLAotCQkJCTg1
QkE0RDAyMEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MRExpc3RFbGVtZW50Lm1tICovLAotCQkJ
CTg1QkE0RDAzMEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MTElFbGVtZW50LmggKi8sCi0JCQkJ
ODVCQTREMDQwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxMSUVsZW1lbnQubW0gKi8sCisJCQkJ
ODU5OTJFQjYwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxMaW5rRWxlbWVudC5oICovLAorCQkJ
CTg1OTkyRUI3MEFBNTA2OTUwMEFDMDc4NSAvKiBET01IVE1MTGlua0VsZW1lbnQubW0gKi8sCisJ
CQkJODVFQ0JFRTUwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxNYXBFbGVtZW50LmggKi8sCisJ
CQkJODVFQ0JFRTYwQUE3NjI2ODAwNTQ0RjBCIC8qIERPTUhUTUxNYXBFbGVtZW50Lm1tICovLAog
CQkJCTg1QkE0RDA1MEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MTWVudUVsZW1lbnQuaCAqLywK
IAkJCQk4NUJBNEQwNjBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRNTE1lbnVFbGVtZW50Lm1tICov
LAorCQkJCTg1OUE5QzQzMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MTWV0YUVsZW1lbnQuaCAq
LywKKwkJCQk4NTlBOUM0NDBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTE1ldGFFbGVtZW50Lm1t
ICovLAorCQkJCTg1RUNCRUU3MEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1MTW9kRWxlbWVudC5o
ICovLAorCQkJCTg1RUNCRUU4MEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MTW9kRWxlbWVudC5t
bSAqLywKIAkJCQk4NUJBNEQwNzBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRNTE9MaXN0RWxlbWVu
dC5oICovLAogCQkJCTg1QkE0RDA4MEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MT0xpc3RFbGVt
ZW50Lm1tICovLAotCQkJCTg1QkE0RDA5MEFBNjg4NjgwMDg4MDUyRCAvKiBET01IVE1MVUxpc3RF
bGVtZW50LmggKi8sCi0JCQkJODVCQTREMEEwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxVTGlz
dEVsZW1lbnQubW0gKi8sCi0JCQkJODUxODNCMzgwQUE2OTI2MTAwRjE5RkEzIC8qIERPTUhUTUxC
UkVsZW1lbnQuaCAqLywKLQkJCQk4NTE4M0IzOTBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTEJS
RWxlbWVudC5tbSAqLywKLQkJCQk4NTE4M0IzQTBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTEhl
YWRpbmdFbGVtZW50LmggKi8sCi0JCQkJODUxODNCM0IwQUE2OTI2MTAwRjE5RkEzIC8qIERPTUhU
TUxIZWFkaW5nRWxlbWVudC5tbSAqLywKKwkJCQk4NURGODEyNTBBQTc3ODcyMDA0ODZBRDcgLyog
RE9NSFRNTE9iamVjdEVsZW1lbnQuaCAqLywKKwkJCQk4NURGODEyNjBBQTc3ODcyMDA0ODZBRDcg
LyogRE9NSFRNTE9iamVjdEVsZW1lbnQubW0gKi8sCisJCQkJODVGMzJBRTYwQUE2M0I4NzAwRkYz
MTg0IC8qIERPTUhUTUxPcHRHcm91cEVsZW1lbnQuaCAqLywKKwkJCQk4NUYzMkFFNzBBQTYzQjg3
MDBGRjMxODQgLyogRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5tbSAqLywKKwkJCQk4NURGMkY5OTBB
QTNDQUU1MDBBRDY0QzUgLyogRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggKi8sCisJCQkJODVE
RjJGOUEwQUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5tbSAqLywK
IAkJCQk4NTE4M0IzQzBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTFBhcmFncmFwaEVsZW1lbnQu
aCAqLywKIAkJCQk4NTE4M0IzRDBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTFBhcmFncmFwaEVs
ZW1lbnQubW0gKi8sCisJCQkJODVFQ0JFRTkwQUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxQYXJh
bUVsZW1lbnQuaCAqLywKKwkJCQk4NUVDQkVFQTBBQTc2MjY5MDA1NDRGMEIgLyogRE9NSFRNTFBh
cmFtRWxlbWVudC5tbSAqLywKIAkJCQk4NTE4M0IzRTBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRN
TFByZUVsZW1lbnQuaCAqLywKIAkJCQk4NTE4M0IzRjBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRN
TFByZUVsZW1lbnQubW0gKi8sCiAJCQkJODUxODNCNDAwQUE2OTI2MTAwRjE5RkEzIC8qIERPTUhU
TUxRdW90ZUVsZW1lbnQuaCAqLywKIAkJCQk4NTE4M0I0MTBBQTY5MjYxMDBGMTlGQTMgLyogRE9N
SFRNTFF1b3RlRWxlbWVudC5tbSAqLywKKwkJCQk4NURGODE5MzBBQTc3RTRCMDA0ODZBRDcgLyog
RE9NSFRNTFNjcmlwdEVsZW1lbnQuaCAqLywKKwkJCQk4NURGODE5NDBBQTc3RTRCMDA0ODZBRDcg
LyogRE9NSFRNTFNjcmlwdEVsZW1lbnQubW0gKi8sCisJCQkJODVGMzJBRTgwQUE2M0I4NzAwRkYz
MTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50LmggKi8sCisJCQkJODVGMzJBRTkwQUE2M0I4NzAw
RkYzMTg0IC8qIERPTUhUTUxTZWxlY3RFbGVtZW50Lm1tICovLAorCQkJCTg1OUE5QzQ1MEFBNUUz
QkQwMEI2OTRCMiAvKiBET01IVE1MU3R5bGVFbGVtZW50LmggKi8sCisJCQkJODU5QTlDNDYwQUE1
RTNCRDAwQjY5NEIyIC8qIERPTUhUTUxTdHlsZUVsZW1lbnQubW0gKi8sCisJCQkJODVERjgyMTMw
QUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmggKi8sCisJCQkJ
ODVERjgyMTQwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50Lm1t
ICovLAorCQkJCTg1REY4MjE1MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDZWxsRWxl
bWVudC5oICovLAorCQkJCTg1REY4MjE2MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVD
ZWxsRWxlbWVudC5tbSAqLywKKwkJCQk4NURGODIxNzBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRN
TFRhYmxlQ29sRWxlbWVudC5oICovLAorCQkJCTg1REY4MjE4MEFBNzg0OUUwMDQ4NkFENyAvKiBE
T01IVE1MVGFibGVDb2xFbGVtZW50Lm1tICovLAorCQkJCTg1REY4MjZFMEFBNzhCOEEwMDQ4NkFE
NyAvKiBET01IVE1MVGFibGVFbGVtZW50LmggKi8sCisJCQkJODVERjgyNkYwQUE3OEI4QTAwNDg2
QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQubW0gKi8sCisJCQkJODVERjgyMTkwQUE3ODQ5RTAw
NDg2QUQ3IC8qIERPTUhUTUxUYWJsZVJvd0VsZW1lbnQuaCAqLywKKwkJCQk4NURGODIxQTBBQTc4
NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5tbSAqLywKKwkJCQk4NURGODIx
QjBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCAqLywKKwkJ
CQk4NURGODIxQzBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQu
bW0gKi8sCisJCQkJODVGMzJBRUEwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJlYUVs
ZW1lbnQuaCAqLywKKwkJCQk4NUYzMkFFQjBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTFRleHRB
cmVhRWxlbWVudC5tbSAqLywKKwkJCQk4NTk5MkVCODBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRN
TFRpdGxlRWxlbWVudC5oICovLAorCQkJCTg1OTkyRUI5MEFBNTA2OTUwMEFDMDc4NSAvKiBET01I
VE1MVGl0bGVFbGVtZW50Lm1tICovLAorCQkJCTg1QkE0RDA5MEFBNjg4NjgwMDg4MDUyRCAvKiBE
T01IVE1MVUxpc3RFbGVtZW50LmggKi8sCisJCQkJODVCQTREMEEwQUE2ODg2ODAwODgwNTJEIC8q
IERPTUhUTUxVTGlzdEVsZW1lbnQubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJEZXJpdmVkIFNv
dXJjZXMiOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmU7CkBAIC03MTQ4LDYgKzcz
MjAsMjggQEAKIAkJCQk4NTE4M0I0NjBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTFBhcmFncmFw
aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MTgzQjQ4MEFBNjkyNjEwMEYxOUZBMyAv
KiBET01IVE1MUHJlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUxODNCNEEwQUE2OTI2
MTAwRjE5RkEzIC8qIERPTUhUTUxRdW90ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1
RUNCRUVCMEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MQXJlYUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg1RUNCRUVEMEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MQmFzZUZvbnRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUVDQkVFRjBBQTc2MjY5MDA1NDRGMEIgLyogRE9N
SFRNTEZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUVDQkVGMTBBQTc2MjY5MDA1
NDRGMEIgLyogRE9NSFRNTEhSRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVFQ0JFRjMw
QUE3NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxNYXBFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4NUVDQkVGNTBBQTc2MjY5MDA1NDRGMEIgLyogRE9NSFRNTE1vZEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg1RUNCRUY3MEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MUGFyYW1FbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURGODEyNzBBQTc3ODcyMDA0ODZBRDcgLyogRE9N
SFRNTEFuY2hvckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1REY4MTI5MEFBNzc4NzIw
MDQ4NkFENyAvKiBET01IVE1MSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURG
ODEyQjBBQTc3ODcyMDA0ODZBRDcgLyogRE9NSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg1REY4MTk1MEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURGODE5NzBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRN
TEZyYW1lU2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVERjgxOTkwQUE3N0U0QjAw
NDg2QUQ3IC8qIERPTUhUTUxJRnJhbWVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURG
ODE5QjBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTg1REY4MjFEMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVDYXB0aW9u
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVERjgyMUYwQUE3ODQ5RTAwNDg2QUQ3IC8q
IERPTUhUTUxUYWJsZUNlbGxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURGODIyMTBB
QTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlQ29sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODVERjgyNzAwQUE3OEI4QjAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCTg1REY4MjIzMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFi
bGVSb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURGODIyNTBBQTc4NDlFMDA0ODZB
RDcgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1
MkI5RTg3MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODUyQjlFODkwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTk4OTU1RDBBQTc4MTQ5MDA1RUY1RUYgLyogQ1N0
cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CkBAIC04MTExLDYgKzgzMDUsMjggQEAKIAkJCQk4NTE4M0I0NzBBQTY5
MjYxMDBGMTlGQTMgLyogRE9NSFRNTFBhcmFncmFwaEVsZW1lbnQubW0gaW4gU291cmNlcyAqLywK
IAkJCQk4NTE4M0I0OTBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTFByZUVsZW1lbnQubW0gaW4g
U291cmNlcyAqLywKIAkJCQk4NTE4M0I0QjBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTFF1b3Rl
RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1RUNCRUVDMEFBNzYyNjkwMDU0NEYwQiAv
KiBET01IVE1MQXJlYUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NUVDQkVFRTBBQTc2
MjY5MDA1NDRGMEIgLyogRE9NSFRNTEJhc2VGb250RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAor
CQkJCTg1RUNCRUYwMEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MRm9udEVsZW1lbnQubW0gaW4g
U291cmNlcyAqLywKKwkJCQk4NUVDQkVGMjBBQTc2MjY5MDA1NDRGMEIgLyogRE9NSFRNTEhSRWxl
bWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1RUNCRUY0MEFBNzYyNjkwMDU0NEYwQiAvKiBE
T01IVE1MTWFwRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1RUNCRUY2MEFBNzYyNjkw
MDU0NEYwQiAvKiBET01IVE1MTW9kRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1RUNC
RUY4MEFBNzYyNjkwMDU0NEYwQiAvKiBET01IVE1MUGFyYW1FbGVtZW50Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJODVERjgxMjgwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhUTUxBbmNob3JFbGVtZW50
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVERjgxMkEwQUE3Nzg3MjAwNDg2QUQ3IC8qIERPTUhU
TUxJbWFnZUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NURGODEyQzBBQTc3ODcyMDA0
ODZBRDcgLyogRE9NSFRNTE9iamVjdEVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NURG
ODE5NjBBQTc3RTRCMDA0ODZBRDcgLyogRE9NSFRNTEZyYW1lRWxlbWVudC5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTg1REY4MTk4MEFBNzdFNEIwMDQ4NkFENyAvKiBET01IVE1MRnJhbWVTZXRFbGVt
ZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVERjgxOUEwQUE3N0U0QjAwNDg2QUQ3IC8qIERP
TUhUTUxJRnJhbWVFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVERjgxOUMwQUE3N0U0
QjAwNDg2QUQ3IC8qIERPTUhUTUxTY3JpcHRFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODVERjgyMUUwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50Lm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJODVERjgyMjAwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxU
YWJsZUNlbGxFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVERjgyMjIwQUE3ODQ5RTAw
NDg2QUQ3IC8qIERPTUhUTUxUYWJsZUNvbEVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKKwkJCQk4
NURGODIyNDBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTg1REY4MjI2MEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFibGVT
ZWN0aW9uRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1REY4MjcxMEFBNzhCOEIwMDQ4
NkFENyAvKiBET01IVE1MVGFibGVFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODUyQjlF
ODgwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJODUyQjlFOEEwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVtZW50
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5ODk1NUMwQUE3ODE0OTAwNUVGNUVGIC8qIENTdHJp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5ODk1NkIwQUE3OEY4MDAwNUVGNUVGIC8qIEtV
UkxDRk5ldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0J
KHJldmlzaW9uIDE2MTY1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtODUsMTEgKzg1LDE2IEBACiAjaW1wb3J0ICJET01UZXh0LmgiCiAKIC8vIEZy
b20gb2xkIERPTUhUTUwuaAorI2ltcG9ydCAiRE9NSFRNTEFwcGxldEVsZW1lbnQuaCIKICNpbXBv
cnQgIkRPTUhUTUxEb2N1bWVudC5oIgorI2ltcG9ydCAiRE9NSFRNTE9wdGlvbkVsZW1lbnQuaCIK
IAogLy8gR2VuZXJhdGVkIE9iamVjdGl2ZS1DIEJpbmRpbmdzCisjaW1wb3J0ICJET01IVE1MQW5j
aG9yRWxlbWVudC5oIgorI2ltcG9ydCAiRE9NSFRNTEFyZWFFbGVtZW50LmgiCiAjaW1wb3J0ICJE
T01IVE1MQlJFbGVtZW50LmgiCiAjaW1wb3J0ICJET01IVE1MQmFzZUVsZW1lbnQuaCIKKyNpbXBv
cnQgIkRPTUhUTUxCYXNlRm9udEVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUhUTUxCb2R5RWxlbWVu
dC5oIgogI2ltcG9ydCAiRE9NSFRNTEJ1dHRvbkVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUhUTUxD
b2xsZWN0aW9uLmgiCkBAIC05OCwyNiArMTAzLDQzIEBACiAjaW1wb3J0ICJET01IVE1MRGl2RWxl
bWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTEVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUhUTUxGaWVs
ZFNldEVsZW1lbnQuaCIKKyNpbXBvcnQgIkRPTUhUTUxGb250RWxlbWVudC5oIgogI2ltcG9ydCAi
RE9NSFRNTEZvcm1FbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MRnJhbWVFbGVtZW50LmgiCisj
aW1wb3J0ICJET01IVE1MRnJhbWVTZXRFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MSFJFbGVt
ZW50LmgiCiAjaW1wb3J0ICJET01IVE1MSGVhZEVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUhUTUxI
ZWFkaW5nRWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTEh0bWxFbGVtZW50LmgiCisjaW1wb3J0
ICJET01IVE1MSUZyYW1lRWxlbWVudC5oIgorI2ltcG9ydCAiRE9NSFRNTEltYWdlRWxlbWVudC5o
IgogI2ltcG9ydCAiRE9NSFRNTElucHV0RWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTElzSW5k
ZXhFbGVtZW50LmgiCiAjaW1wb3J0ICJET01IVE1MTElFbGVtZW50LmgiCiAjaW1wb3J0ICJET01I
VE1MTGFiZWxFbGVtZW50LmgiCiAjaW1wb3J0ICJET01IVE1MTGVnZW5kRWxlbWVudC5oIgogI2lt
cG9ydCAiRE9NSFRNTExpbmtFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MTWFwRWxlbWVudC5o
IgogI2ltcG9ydCAiRE9NSFRNTE1lbnVFbGVtZW50LmgiCiAjaW1wb3J0ICJET01IVE1MTWV0YUVs
ZW1lbnQuaCIKKyNpbXBvcnQgIkRPTUhUTUxNb2RFbGVtZW50LmgiCiAjaW1wb3J0ICJET01IVE1M
T0xpc3RFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MT2JqZWN0RWxlbWVudC5oIgogI2ltcG9y
dCAiRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmgiCiAjaW1wb3J0ICJET01IVE1MUGFyYWdyYXBoRWxlbWVudC5oIgorI2ltcG9ydCAi
RE9NSFRNTFBhcmFtRWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTFByZUVsZW1lbnQuaCIKICNp
bXBvcnQgIkRPTUhUTUxRdW90ZUVsZW1lbnQuaCIKKyNpbXBvcnQgIkRPTUhUTUxTY3JpcHRFbGVt
ZW50LmgiCiAjaW1wb3J0ICJET01IVE1MU2VsZWN0RWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRN
TFN0eWxlRWxlbWVudC5oIgorI2ltcG9ydCAiRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCIK
KyNpbXBvcnQgIkRPTUhUTUxUYWJsZUNlbGxFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MVGFi
bGVDb2xFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MVGFibGVFbGVtZW50LmgiCisjaW1wb3J0
ICJET01IVE1MVGFibGVSb3dFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MVGFibGVTZWN0aW9u
RWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2ltcG9ydCAi
RE9NSFRNTFRpdGxlRWxlbWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTFVMaXN0RWxlbWVudC5oIgpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXh0ZW5zaW9ucy5oCShyZXZpc2lvbiAxNjE2NSkK
KysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDEzICszMCwxNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01Eb2N1bWVudC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9ET01FbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUwuaD4K
LSNpbXBvcnQgPFdlYkNvcmUvRE9NTm9kZS5oPgotI2ltcG9ydCA8V2ViQ29yZS9ET01SYW5nZS5o
PgotCi0jaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3Jl
L0RPTUhUTUxBbmNob3JFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxBcmVhRWxl
bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MRG9jdW1lbnQuaD4KLSNpbXBvcnQgPFdl
YkNvcmUvRE9NSFRNTExpbmtFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxFbGVt
ZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxJbWFnZUVsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRE9NSFRNTElucHV0RWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1M
TGlua0VsZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTE9iamVjdEVsZW1lbnQuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvRE9NTm9kZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01SYW5nZS5o
PgogCiBAY2xhc3MgTlNDb2xvcjsKIEBjbGFzcyBOU0ltYWdlOwpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUhUTUwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMv
RE9NSFRNTC5oCShyZXZpc2lvbiAxNjE2NSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01I
VE1MLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDEyIEBACiAKICNpbXBvcnQgPFdlYkNv
cmUvRE9NQ29yZS5oPgogCisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxBbmNob3JFbGVtZW50Lmg+
CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxBcHBsZXRFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL0RPTUhUTUxBcmVhRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MQlJFbGVt
ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxCYXNlRWxlbWVudC5oPgorI2ltcG9ydCA8
V2ViQ29yZS9ET01IVE1MQmFzZUZvbnRFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhU
TUxCb2R5RWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MQnV0dG9uRWxlbWVudC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MQ29sbGVjdGlvbi5oPgpAQCAtMzcsNDI3ICs0MSw0
NCBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRE9NSFRNTEVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTEZpZWxkU2V0RWxl
bWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MRm9udEVsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRE9NSFRNTEZvcm1FbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxG
cmFtZUVsZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTEZyYW1lU2V0RWxlbWVudC5o
PgorI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MSFJFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0RPTUhUTUxIZWFkRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MSGVhZGluZ0Vs
ZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTEh0bWxFbGVtZW50Lmg+CisjaW1wb3J0
IDxXZWJDb3JlL0RPTUhUTUxJRnJhbWVFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhU
TUxJbWFnZUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTElucHV0RWxlbWVudC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MSXNJbmRleEVsZW1lbnQuaD4KICNpbXBvcnQgPFdl
YkNvcmUvRE9NSFRNTExJRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MTGFiZWxF
bGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxMZWdlbmRFbGVtZW50Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0RPTUhUTUxMaW5rRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01I
VE1MTWFwRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MTWVudUVsZW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTE1ldGFFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3Jl
L0RPTUhUTUxNb2RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxPTGlzdEVsZW1l
bnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTE9iamVjdEVsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRE9NSFRNTE9wdEdyb3VwRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01I
VE1MT3B0aW9uRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFBhcmFncmFwaEVsZW1lbnQuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvRE9NSFRNTFBhcmFtRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9E
T01IVE1MUHJlRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MUXVvdGVFbGVtZW50
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxTY3JpcHRFbGVtZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0RPTUhUTUxTZWxlY3RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxT
dHlsZUVsZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvRE9NSFRNTFRhYmxlQ29sRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9E
T01IVE1MVGFibGVFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxUYWJsZVJvd0Vs
ZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTFRleHRBcmVhRWxlbWVudC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9ET01IVE1MVGl0bGVFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxVTGlz
dEVsZW1lbnQuaD4KLQotQGNsYXNzIERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50OwotQGNsYXNz
IERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OwotCi1AaW50ZXJmYWNlIERPTUhUTUxPcHRpb25F
bGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLS0gKERPTUhUTUxGb3JtRWxlbWVudCAqKWZvcm07Ci0t
IChCT09MKWRlZmF1bHRTZWxlY3RlZDsKLS0gKHZvaWQpc2V0RGVmYXVsdFNlbGVjdGVkOihCT09M
KWRlZmF1bHRTZWxlY3RlZDsKLS0gKE5TU3RyaW5nICopdGV4dDsKLS0gKGludClpbmRleDsKLS0g
KEJPT0wpZGlzYWJsZWQ7Ci0tICh2b2lkKXNldERpc2FibGVkOihCT09MKWRpc2FibGVkOwotLSAo
TlNTdHJpbmcgKilsYWJlbDsKLS0gKHZvaWQpc2V0TGFiZWw6KE5TU3RyaW5nICopbGFiZWw7Ci0t
IChCT09MKXNlbGVjdGVkOwotLSAodm9pZClzZXRTZWxlY3RlZDooQk9PTClzZWxlY3RlZDsKLS0g
KE5TU3RyaW5nICopdmFsdWU7Ci0tICh2b2lkKXNldFZhbHVlOihOU1N0cmluZyAqKXZhbHVlOwot
QGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxCYXNlRm9udEVsZW1lbnQgOiBET01IVE1MRWxlbWVu
dAotLSAoTlNTdHJpbmcgKiljb2xvcjsKLS0gKHZvaWQpc2V0Q29sb3I6KE5TU3RyaW5nICopY29s
b3I7Ci0tIChOU1N0cmluZyAqKWZhY2U7Ci0tICh2b2lkKXNldEZhY2U6KE5TU3RyaW5nICopZmFj
ZTsKLS0gKE5TU3RyaW5nICopc2l6ZTsKLS0gKHZvaWQpc2V0U2l6ZTooTlNTdHJpbmcgKilzaXpl
OwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxGb250RWxlbWVudCA6IERPTUhUTUxFbGVtZW50
Ci0tIChOU1N0cmluZyAqKWNvbG9yOwotLSAodm9pZClzZXRDb2xvcjooTlNTdHJpbmcgKiljb2xv
cjsKLS0gKE5TU3RyaW5nICopZmFjZTsKLS0gKHZvaWQpc2V0RmFjZTooTlNTdHJpbmcgKilmYWNl
OwotLSAoTlNTdHJpbmcgKilzaXplOwotLSAodm9pZClzZXRTaXplOihOU1N0cmluZyAqKXNpemU7
Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTEhSRWxlbWVudCA6IERPTUhUTUxFbGVtZW50Ci0t
IChOU1N0cmluZyAqKWFsaWduOwotLSAodm9pZClzZXRBbGlnbjooTlNTdHJpbmcgKilhbGlnbjsK
LS0gKEJPT0wpbm9TaGFkZTsKLS0gKHZvaWQpc2V0Tm9TaGFkZTooQk9PTClub1NoYWRlOwotLSAo
TlNTdHJpbmcgKilzaXplOwotLSAodm9pZClzZXRTaXplOihOU1N0cmluZyAqKXNpemU7Ci0tIChO
U1N0cmluZyAqKXdpZHRoOwotLSAodm9pZClzZXRXaWR0aDooTlNTdHJpbmcgKil3aWR0aDsKLUBl
bmQKLQotQGludGVyZmFjZSBET01IVE1MTW9kRWxlbWVudCA6IERPTUhUTUxFbGVtZW50Ci0tIChO
U1N0cmluZyAqKWNpdGU7Ci0tICh2b2lkKXNldENpdGU6KE5TU3RyaW5nICopY2l0ZTsKLS0gKE5T
U3RyaW5nICopZGF0ZVRpbWU7Ci0tICh2b2lkKXNldERhdGVUaW1lOihOU1N0cmluZyAqKWRhdGVU
aW1lOwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxBbmNob3JFbGVtZW50IDogRE9NSFRNTEVs
ZW1lbnQKLS0gKE5TU3RyaW5nICopYWNjZXNzS2V5OwotLSAodm9pZClzZXRBY2Nlc3NLZXk6KE5T
U3RyaW5nICopYWNjZXNzS2V5OwotLSAoTlNTdHJpbmcgKiljaGFyc2V0OwotLSAodm9pZClzZXRD
aGFyc2V0OihOU1N0cmluZyAqKWNoYXJzZXQ7Ci0tIChOU1N0cmluZyAqKWNvb3JkczsKLS0gKHZv
aWQpc2V0Q29vcmRzOihOU1N0cmluZyAqKWNvb3JkczsKLS0gKE5TU3RyaW5nICopaHJlZjsKLS0g
KHZvaWQpc2V0SHJlZjooTlNTdHJpbmcgKilocmVmOwotLSAoTlNTdHJpbmcgKilocmVmbGFuZzsK
LS0gKHZvaWQpc2V0SHJlZmxhbmc6KE5TU3RyaW5nICopaHJlZmxhbmc7Ci0tIChOU1N0cmluZyAq
KW5hbWU7Ci0tICh2b2lkKXNldE5hbWU6KE5TU3RyaW5nICopbmFtZTsKLS0gKE5TU3RyaW5nICop
cmVsOwotLSAodm9pZClzZXRSZWw6KE5TU3RyaW5nICopcmVsOwotLSAoTlNTdHJpbmcgKilyZXY7
Ci0tICh2b2lkKXNldFJldjooTlNTdHJpbmcgKilyZXY7Ci0tIChOU1N0cmluZyAqKXNoYXBlOwot
LSAodm9pZClzZXRTaGFwZTooTlNTdHJpbmcgKilzaGFwZTsKLS0gKGludCl0YWJJbmRleDsKLS0g
KHZvaWQpc2V0VGFiSW5kZXg6KGludCl0YWJJbmRleDsKLS0gKE5TU3RyaW5nICopdGFyZ2V0Owot
LSAodm9pZClzZXRUYXJnZXQ6KE5TU3RyaW5nICopdGFyZ2V0OwotLSAoTlNTdHJpbmcgKil0eXBl
OwotLSAodm9pZClzZXRUeXBlOihOU1N0cmluZyAqKXR5cGU7Ci0tICh2b2lkKWJsdXI7Ci0tICh2
b2lkKWZvY3VzOwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxJbWFnZUVsZW1lbnQgOiBET01I
VE1MRWxlbWVudAotLSAoTlNTdHJpbmcgKiluYW1lOwotLSAodm9pZClzZXROYW1lOihOU1N0cmlu
ZyAqKW5hbWU7Ci0tIChOU1N0cmluZyAqKWFsaWduOwotLSAodm9pZClzZXRBbGlnbjooTlNTdHJp
bmcgKilhbGlnbjsKLS0gKE5TU3RyaW5nICopYWx0OwotLSAodm9pZClzZXRBbHQ6KE5TU3RyaW5n
ICopYWx0OwotLSAoTlNTdHJpbmcgKilib3JkZXI7Ci0tICh2b2lkKXNldEJvcmRlcjooTlNTdHJp
bmcgKilib3JkZXI7Ci0tIChpbnQpaGVpZ2h0OwotLSAodm9pZClzZXRIZWlnaHQ6KGludCloZWln
aHQ7Ci0tIChpbnQpaHNwYWNlOwotLSAodm9pZClzZXRIc3BhY2U6KGludCloc3BhY2U7Ci0tIChC
T09MKWlzTWFwOwotLSAodm9pZClzZXRJc01hcDooQk9PTClpc01hcDsKLS0gKE5TU3RyaW5nICop
bG9uZ0Rlc2M7Ci0tICh2b2lkKXNldExvbmdEZXNjOihOU1N0cmluZyAqKWxvbmdEZXNjOwotLSAo
TlNTdHJpbmcgKilzcmM7Ci0tICh2b2lkKXNldFNyYzooTlNTdHJpbmcgKilzcmM7Ci0tIChOU1N0
cmluZyAqKXVzZU1hcDsKLS0gKHZvaWQpc2V0VXNlTWFwOihOU1N0cmluZyAqKXVzZU1hcDsKLS0g
KGludCl2c3BhY2U7Ci0tICh2b2lkKXNldFZzcGFjZTooaW50KXZzcGFjZTsKLS0gKGludCl3aWR0
aDsKLS0gKHZvaWQpc2V0V2lkdGg6KGludCl3aWR0aDsKLUBlbmQKLQotQGludGVyZmFjZSBET01I
VE1MT2JqZWN0RWxlbWVudCA6IERPTUhUTUxFbGVtZW50Ci0tIChET01IVE1MRm9ybUVsZW1lbnQg
Kilmb3JtOwotLSAoTlNTdHJpbmcgKiljb2RlOwotLSAodm9pZClzZXRDb2RlOihOU1N0cmluZyAq
KWNvZGU7Ci0tIChOU1N0cmluZyAqKWFsaWduOwotLSAodm9pZClzZXRBbGlnbjooTlNTdHJpbmcg
KilhbGlnbjsKLS0gKE5TU3RyaW5nICopYXJjaGl2ZTsKLS0gKHZvaWQpc2V0QXJjaGl2ZTooTlNT
dHJpbmcgKilhcmNoaXZlOwotLSAoTlNTdHJpbmcgKilib3JkZXI7Ci0tICh2b2lkKXNldEJvcmRl
cjooTlNTdHJpbmcgKilib3JkZXI7Ci0tIChOU1N0cmluZyAqKWNvZGVCYXNlOwotLSAodm9pZClz
ZXRDb2RlQmFzZTooTlNTdHJpbmcgKiljb2RlQmFzZTsKLS0gKE5TU3RyaW5nICopY29kZVR5cGU7
Ci0tICh2b2lkKXNldENvZGVUeXBlOihOU1N0cmluZyAqKWNvZGVUeXBlOwotLSAoTlNTdHJpbmcg
KilkYXRhOwotLSAodm9pZClzZXREYXRhOihOU1N0cmluZyAqKWRhdGE7Ci0tIChCT09MKWRlY2xh
cmU7Ci0tICh2b2lkKXNldERlY2xhcmU6KEJPT0wpZGVjbGFyZTsKLS0gKE5TU3RyaW5nICopaGVp
Z2h0OwotLSAodm9pZClzZXRIZWlnaHQ6KE5TU3RyaW5nICopaGVpZ2h0OwotLSAoaW50KWhzcGFj
ZTsKLS0gKHZvaWQpc2V0SHNwYWNlOihpbnQpaHNwYWNlOwotLSAoTlNTdHJpbmcgKiluYW1lOwot
LSAodm9pZClzZXROYW1lOihOU1N0cmluZyAqKW5hbWU7Ci0tIChOU1N0cmluZyAqKXN0YW5kYnk7
Ci0tICh2b2lkKXNldFN0YW5kYnk6KE5TU3RyaW5nICopc3RhbmRieTsKLS0gKGludCl0YWJJbmRl
eDsKLS0gKHZvaWQpc2V0VGFiSW5kZXg6KGludCl0YWJJbmRleDsKLS0gKE5TU3RyaW5nICopdHlw
ZTsKLS0gKHZvaWQpc2V0VHlwZTooTlNTdHJpbmcgKil0eXBlOwotLSAoTlNTdHJpbmcgKil1c2VN
YXA7Ci0tICh2b2lkKXNldFVzZU1hcDooTlNTdHJpbmcgKil1c2VNYXA7Ci0tIChpbnQpdnNwYWNl
OwotLSAodm9pZClzZXRWc3BhY2U6KGludCl2c3BhY2U7Ci0tIChOU1N0cmluZyAqKXdpZHRoOwot
LSAodm9pZClzZXRXaWR0aDooTlNTdHJpbmcgKil3aWR0aDsKLS0gKERPTURvY3VtZW50ICopY29u
dGVudERvY3VtZW50OwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxQYXJhbUVsZW1lbnQgOiBE
T01IVE1MRWxlbWVudAotLSAoTlNTdHJpbmcgKiluYW1lOwotLSAodm9pZClzZXROYW1lOihOU1N0
cmluZyAqKW5hbWU7Ci0tIChOU1N0cmluZyAqKXR5cGU7Ci0tICh2b2lkKXNldFR5cGU6KE5TU3Ry
aW5nICopdHlwZTsKLS0gKE5TU3RyaW5nICopdmFsdWU7Ci0tICh2b2lkKXNldFZhbHVlOihOU1N0
cmluZyAqKXZhbHVlOwotLSAoTlNTdHJpbmcgKil2YWx1ZVR5cGU7Ci0tICh2b2lkKXNldFZhbHVl
VHlwZTooTlNTdHJpbmcgKil2YWx1ZVR5cGU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTEFw
cGxldEVsZW1lbnQgOiBET01IVE1MRWxlbWVudAotLSAoTlNTdHJpbmcgKilhbGlnbjsKLS0gKHZv
aWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ247Ci0tIChOU1N0cmluZyAqKWFsdDsKLS0gKHZv
aWQpc2V0QWx0OihOU1N0cmluZyAqKWFsdDsKLS0gKE5TU3RyaW5nICopYXJjaGl2ZTsKLS0gKHZv
aWQpc2V0QXJjaGl2ZTooTlNTdHJpbmcgKilhcmNoaXZlOwotLSAoTlNTdHJpbmcgKiljb2RlOwot
LSAodm9pZClzZXRDb2RlOihOU1N0cmluZyAqKWNvZGU7Ci0tIChOU1N0cmluZyAqKWNvZGVCYXNl
OwotLSAodm9pZClzZXRDb2RlQmFzZTooTlNTdHJpbmcgKiljb2RlQmFzZTsKLS0gKE5TU3RyaW5n
ICopaGVpZ2h0OwotLSAodm9pZClzZXRIZWlnaHQ6KE5TU3RyaW5nICopaGVpZ2h0OwotLSAoaW50
KWhzcGFjZTsKLS0gKHZvaWQpc2V0SHNwYWNlOihpbnQpaHNwYWNlOwotLSAoTlNTdHJpbmcgKilu
YW1lOwotLSAodm9pZClzZXROYW1lOihOU1N0cmluZyAqKW5hbWU7Ci0tIChOU1N0cmluZyAqKW9i
amVjdDsKLS0gKHZvaWQpc2V0T2JqZWN0OihOU1N0cmluZyAqKW9iamVjdDsKLS0gKGludCl2c3Bh
Y2U7Ci0tICh2b2lkKXNldFZzcGFjZTooaW50KXZzcGFjZTsKLS0gKE5TU3RyaW5nICopd2lkdGg7
Ci0tICh2b2lkKXNldFdpZHRoOihOU1N0cmluZyAqKXdpZHRoOwotQGVuZAotCi1AaW50ZXJmYWNl
IERPTUhUTUxNYXBFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLS0gKERPTUhUTUxDb2xsZWN0aW9u
ICopYXJlYXM7Ci0tIChOU1N0cmluZyAqKW5hbWU7Ci0tICh2b2lkKXNldE5hbWU6KE5TU3RyaW5n
ICopbmFtZTsKLUBlbmQKLQotQGludGVyZmFjZSBET01IVE1MQXJlYUVsZW1lbnQgOiBET01IVE1M
RWxlbWVudAotLSAoTlNTdHJpbmcgKilhY2Nlc3NLZXk7Ci0tICh2b2lkKXNldEFjY2Vzc0tleToo
TlNTdHJpbmcgKilhY2Nlc3NLZXk7Ci0tIChOU1N0cmluZyAqKWFsdDsKLS0gKHZvaWQpc2V0QWx0
OihOU1N0cmluZyAqKWFsdDsKLS0gKE5TU3RyaW5nICopY29vcmRzOwotLSAodm9pZClzZXRDb29y
ZHM6KE5TU3RyaW5nICopY29vcmRzOwotLSAoTlNTdHJpbmcgKilocmVmOwotLSAodm9pZClzZXRI
cmVmOihOU1N0cmluZyAqKWhyZWY7Ci0tIChCT09MKW5vSHJlZjsKLS0gKHZvaWQpc2V0Tm9IcmVm
OihCT09MKW5vSHJlZjsKLS0gKE5TU3RyaW5nICopc2hhcGU7Ci0tICh2b2lkKXNldFNoYXBlOihO
U1N0cmluZyAqKXNoYXBlOwotLSAoaW50KXRhYkluZGV4OwotLSAodm9pZClzZXRUYWJJbmRleDoo
aW50KXRhYkluZGV4OwotLSAoTlNTdHJpbmcgKil0YXJnZXQ7Ci0tICh2b2lkKXNldFRhcmdldDoo
TlNTdHJpbmcgKil0YXJnZXQ7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTFNjcmlwdEVsZW1l
bnQgOiBET01IVE1MRWxlbWVudAotLSAoTlNTdHJpbmcgKil0ZXh0OwotLSAodm9pZClzZXRUZXh0
OihOU1N0cmluZyAqKXRleHQ7Ci0tIChOU1N0cmluZyAqKWh0bWxGb3I7Ci0tICh2b2lkKXNldEh0
bWxGb3I6KE5TU3RyaW5nICopaHRtbEZvcjsKLS0gKE5TU3RyaW5nICopZXZlbnQ7Ci0tICh2b2lk
KXNldEV2ZW50OihOU1N0cmluZyAqKWV2ZW50OwotLSAoTlNTdHJpbmcgKiljaGFyc2V0OwotLSAo
dm9pZClzZXRDaGFyc2V0OihOU1N0cmluZyAqKWNoYXJzZXQ7Ci0tIChCT09MKWRlZmVyOwotLSAo
dm9pZClzZXREZWZlcjooQk9PTClkZWZlcjsKLS0gKE5TU3RyaW5nICopc3JjOwotLSAodm9pZClz
ZXRTcmM6KE5TU3RyaW5nICopc3JjOwotLSAoTlNTdHJpbmcgKil0eXBlOwotLSAodm9pZClzZXRU
eXBlOihOU1N0cmluZyAqKXR5cGU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTFRhYmxlRWxl
bWVudCA6IERPTUhUTUxFbGVtZW50Ci0tIChET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudCAqKWNh
cHRpb247Ci0tICh2b2lkKXNldENhcHRpb246KERPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50ICop
Y2FwdGlvbjsKLS0gKERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50ICopdEhlYWQ7Ci0tICh2b2lk
KXNldFRIZWFkOihET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCAqKXRIZWFkOwotLSAoRE9NSFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQgKil0Rm9vdDsKLS0gKHZvaWQpc2V0VEZvb3Q6KERPTUhUTUxU
YWJsZVNlY3Rpb25FbGVtZW50ICopdEZvb3Q7Ci0tIChET01IVE1MQ29sbGVjdGlvbiAqKXJvd3M7
Ci0tIChET01IVE1MQ29sbGVjdGlvbiAqKXRCb2RpZXM7Ci0tIChOU1N0cmluZyAqKWFsaWduOwot
LSAodm9pZClzZXRBbGlnbjooTlNTdHJpbmcgKilhbGlnbjsKLS0gKE5TU3RyaW5nICopYmdDb2xv
cjsKLS0gKHZvaWQpc2V0QmdDb2xvcjooTlNTdHJpbmcgKiliZ0NvbG9yOwotLSAoTlNTdHJpbmcg
Kilib3JkZXI7Ci0tICh2b2lkKXNldEJvcmRlcjooTlNTdHJpbmcgKilib3JkZXI7Ci0tIChOU1N0
cmluZyAqKWNlbGxQYWRkaW5nOwotLSAodm9pZClzZXRDZWxsUGFkZGluZzooTlNTdHJpbmcgKilj
ZWxsUGFkZGluZzsKLS0gKE5TU3RyaW5nICopY2VsbFNwYWNpbmc7Ci0tICh2b2lkKXNldENlbGxT
cGFjaW5nOihOU1N0cmluZyAqKWNlbGxTcGFjaW5nOwotLy8gZnJhbWVCb3JkZXJzIGNvcnJlc3Bv
bmRzIHRvIHRoZSBmcmFtZSBtZXRob2QKLS0gKE5TU3RyaW5nICopZnJhbWVCb3JkZXJzOyAKLS0g
KHZvaWQpc2V0RnJhbWVCb3JkZXJzOihOU1N0cmluZyAqKWZyYW1lQm9yZGVyczsKLS0gKE5TU3Ry
aW5nICopcnVsZXM7Ci0tICh2b2lkKXNldFJ1bGVzOihOU1N0cmluZyAqKXJ1bGVzOwotLSAoTlNT
dHJpbmcgKilzdW1tYXJ5OwotLSAodm9pZClzZXRTdW1tYXJ5OihOU1N0cmluZyAqKXN1bW1hcnk7
Ci0tIChOU1N0cmluZyAqKXdpZHRoOwotLSAodm9pZClzZXRXaWR0aDooTlNTdHJpbmcgKil3aWR0
aDsKLS0gKERPTUhUTUxFbGVtZW50ICopY3JlYXRlVEhlYWQ7Ci0tICh2b2lkKWRlbGV0ZVRIZWFk
OwotLSAoRE9NSFRNTEVsZW1lbnQgKiljcmVhdGVURm9vdDsKLS0gKHZvaWQpZGVsZXRlVEZvb3Q7
Ci0tIChET01IVE1MRWxlbWVudCAqKWNyZWF0ZUNhcHRpb247Ci0tICh2b2lkKWRlbGV0ZUNhcHRp
b247Ci0tIChET01IVE1MRWxlbWVudCAqKWluc2VydFJvdzooaW50KWluZGV4OwotLSAodm9pZClk
ZWxldGVSb3c6KGludClpbmRleDsKLUBlbmQKLQotQGludGVyZmFjZSBET01IVE1MVGFibGVDYXB0
aW9uRWxlbWVudCA6IERPTUhUTUxFbGVtZW50Ci0tIChOU1N0cmluZyAqKWFsaWduOwotLSAodm9p
ZClzZXRBbGlnbjooTlNTdHJpbmcgKilhbGlnbjsKLUBlbmQKLQotQGludGVyZmFjZSBET01IVE1M
VGFibGVDb2xFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLS0gKE5TU3RyaW5nICopYWxpZ247Ci0t
ICh2b2lkKXNldEFsaWduOihOU1N0cmluZyAqKWFsaWduOwotLSAoTlNTdHJpbmcgKiljaDsKLS0g
KHZvaWQpc2V0Q2g6KE5TU3RyaW5nICopY2g7Ci0tIChOU1N0cmluZyAqKWNoT2ZmOwotLSAodm9p
ZClzZXRDaE9mZjooTlNTdHJpbmcgKiljaE9mZjsKLS0gKGludClzcGFuOwotLSAodm9pZClzZXRT
cGFuOihpbnQpc3BhbjsKLS0gKE5TU3RyaW5nICopdkFsaWduOwotLSAodm9pZClzZXRWQWxpZ246
KE5TU3RyaW5nICopdkFsaWduOwotLSAoTlNTdHJpbmcgKil3aWR0aDsKLS0gKHZvaWQpc2V0V2lk
dGg6KE5TU3RyaW5nICopd2lkdGg7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQgOiBET01IVE1MRWxlbWVudAotLSAoTlNTdHJpbmcgKilhbGlnbjsKLS0gKHZv
aWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ247Ci0tIChOU1N0cmluZyAqKWNoOwotLSAodm9p
ZClzZXRDaDooTlNTdHJpbmcgKiljaDsKLS0gKE5TU3RyaW5nICopY2hPZmY7Ci0tICh2b2lkKXNl
dENoT2ZmOihOU1N0cmluZyAqKWNoT2ZmOwotLSAoTlNTdHJpbmcgKil2QWxpZ247Ci0tICh2b2lk
KXNldFZBbGlnbjooTlNTdHJpbmcgKil2QWxpZ247Ci0tIChET01IVE1MQ29sbGVjdGlvbiAqKXJv
d3M7Ci0tIChET01IVE1MRWxlbWVudCAqKWluc2VydFJvdzooaW50KWluZGV4OwotLSAodm9pZClk
ZWxldGVSb3c6KGludClpbmRleDsKLUBlbmQKLQotQGludGVyZmFjZSBET01IVE1MVGFibGVSb3dF
bGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLS0gKGludClyb3dJbmRleDsKLS0gKGludClzZWN0aW9u
Um93SW5kZXg7Ci0tIChET01IVE1MQ29sbGVjdGlvbiAqKWNlbGxzOwotLSAoTlNTdHJpbmcgKilh
bGlnbjsKLS0gKHZvaWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ247Ci0tIChOU1N0cmluZyAq
KWJnQ29sb3I7Ci0tICh2b2lkKXNldEJnQ29sb3I6KE5TU3RyaW5nICopYmdDb2xvcjsKLS0gKE5T
U3RyaW5nICopY2g7Ci0tICh2b2lkKXNldENoOihOU1N0cmluZyAqKWNoOwotLSAoTlNTdHJpbmcg
KiljaE9mZjsKLS0gKHZvaWQpc2V0Q2hPZmY6KE5TU3RyaW5nICopY2hPZmY7Ci0tIChOU1N0cmlu
ZyAqKXZBbGlnbjsKLS0gKHZvaWQpc2V0VkFsaWduOihOU1N0cmluZyAqKXZBbGlnbjsKLS0gKERP
TUhUTUxFbGVtZW50ICopaW5zZXJ0Q2VsbDooaW50KWluZGV4OwotLSAodm9pZClkZWxldGVDZWxs
OihpbnQpaW5kZXg7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnQg
OiBET01IVE1MRWxlbWVudAotLSAoaW50KWNlbGxJbmRleDsKLS0gKE5TU3RyaW5nICopYWJicjsK
LS0gKHZvaWQpc2V0QWJicjooTlNTdHJpbmcgKilhYmJyOwotLSAoTlNTdHJpbmcgKilhbGlnbjsK
LS0gKHZvaWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ247Ci0tIChOU1N0cmluZyAqKWF4aXM7
Ci0tICh2b2lkKXNldEF4aXM6KE5TU3RyaW5nICopYXhpczsKLS0gKE5TU3RyaW5nICopYmdDb2xv
cjsKLS0gKHZvaWQpc2V0QmdDb2xvcjooTlNTdHJpbmcgKiliZ0NvbG9yOwotLSAoTlNTdHJpbmcg
KiljaDsKLS0gKHZvaWQpc2V0Q2g6KE5TU3RyaW5nICopY2g7Ci0tIChOU1N0cmluZyAqKWNoT2Zm
OwotLSAodm9pZClzZXRDaE9mZjooTlNTdHJpbmcgKiljaE9mZjsKLS0gKGludCljb2xTcGFuOwot
LSAodm9pZClzZXRDb2xTcGFuOihpbnQpY29sU3BhbjsKLS0gKE5TU3RyaW5nICopaGVhZGVyczsK
LS0gKHZvaWQpc2V0SGVhZGVyczooTlNTdHJpbmcgKiloZWFkZXJzOwotLSAoTlNTdHJpbmcgKilo
ZWlnaHQ7Ci0tICh2b2lkKXNldEhlaWdodDooTlNTdHJpbmcgKiloZWlnaHQ7Ci0tIChCT09MKW5v
V3JhcDsKLS0gKHZvaWQpc2V0Tm9XcmFwOihCT09MKW5vV3JhcDsKLS0gKGludClyb3dTcGFuOwot
LSAodm9pZClzZXRSb3dTcGFuOihpbnQpcm93U3BhbjsKLS0gKE5TU3RyaW5nICopc2NvcGU7Ci0t
ICh2b2lkKXNldFNjb3BlOihOU1N0cmluZyAqKXNjb3BlOwotLSAoTlNTdHJpbmcgKil2QWxpZ247
Ci0tICh2b2lkKXNldFZBbGlnbjooTlNTdHJpbmcgKil2QWxpZ247Ci0tIChOU1N0cmluZyAqKXdp
ZHRoOwotLSAodm9pZClzZXRXaWR0aDooTlNTdHJpbmcgKil3aWR0aDsKLUBlbmQKLQotQGludGVy
ZmFjZSBET01IVE1MRnJhbWVTZXRFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLS0gKE5TU3RyaW5n
ICopY29sczsKLS0gKHZvaWQpc2V0Q29sczooTlNTdHJpbmcgKiljb2xzOwotLSAoTlNTdHJpbmcg
Kilyb3dzOwotLSAodm9pZClzZXRSb3dzOihOU1N0cmluZyAqKXJvd3M7Ci1AZW5kCi0KLUBpbnRl
cmZhY2UgRE9NSFRNTEZyYW1lRWxlbWVudCA6IERPTUhUTUxFbGVtZW50Ci0tIChOU1N0cmluZyAq
KWZyYW1lQm9yZGVyOwotLSAodm9pZClzZXRGcmFtZUJvcmRlcjooTlNTdHJpbmcgKilmcmFtZUJv
cmRlcjsKLS0gKE5TU3RyaW5nICopbG9uZ0Rlc2M7Ci0tICh2b2lkKXNldExvbmdEZXNjOihOU1N0
cmluZyAqKWxvbmdEZXNjOwotLSAoTlNTdHJpbmcgKiltYXJnaW5IZWlnaHQ7Ci0tICh2b2lkKXNl
dE1hcmdpbkhlaWdodDooTlNTdHJpbmcgKiltYXJnaW5IZWlnaHQ7Ci0tIChOU1N0cmluZyAqKW1h
cmdpbldpZHRoOwotLSAodm9pZClzZXRNYXJnaW5XaWR0aDooTlNTdHJpbmcgKiltYXJnaW5XaWR0
aDsKLS0gKE5TU3RyaW5nICopbmFtZTsKLS0gKHZvaWQpc2V0TmFtZTooTlNTdHJpbmcgKiluYW1l
OwotLSAoQk9PTClub1Jlc2l6ZTsKLS0gKHZvaWQpc2V0Tm9SZXNpemU6KEJPT0wpbm9SZXNpemU7
Ci0tIChOU1N0cmluZyAqKXNjcm9sbGluZzsKLS0gKHZvaWQpc2V0U2Nyb2xsaW5nOihOU1N0cmlu
ZyAqKXNjcm9sbGluZzsKLS0gKE5TU3RyaW5nICopc3JjOwotLSAodm9pZClzZXRTcmM6KE5TU3Ry
aW5nICopc3JjOwotLSAoRE9NRG9jdW1lbnQgKiljb250ZW50RG9jdW1lbnQ7Ci1AZW5kCi0KLUBp
bnRlcmZhY2UgRE9NSFRNTElGcmFtZUVsZW1lbnQgOiBET01IVE1MRWxlbWVudAotLSAoTlNTdHJp
bmcgKilhbGlnbjsKLS0gKHZvaWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ247Ci0tIChOU1N0
cmluZyAqKWZyYW1lQm9yZGVyOwotLSAodm9pZClzZXRGcmFtZUJvcmRlcjooTlNTdHJpbmcgKilm
cmFtZUJvcmRlcjsKLS0gKE5TU3RyaW5nICopaGVpZ2h0OwotLSAodm9pZClzZXRIZWlnaHQ6KE5T
U3RyaW5nICopaGVpZ2h0OwotLSAoTlNTdHJpbmcgKilsb25nRGVzYzsKLS0gKHZvaWQpc2V0TG9u
Z0Rlc2M6KE5TU3RyaW5nICopbG9uZ0Rlc2M7Ci0tIChOU1N0cmluZyAqKW1hcmdpbkhlaWdodDsK
LS0gKHZvaWQpc2V0TWFyZ2luSGVpZ2h0OihOU1N0cmluZyAqKW1hcmdpbkhlaWdodDsKLS0gKE5T
U3RyaW5nICopbWFyZ2luV2lkdGg7Ci0tICh2b2lkKXNldE1hcmdpbldpZHRoOihOU1N0cmluZyAq
KW1hcmdpbldpZHRoOwotLSAoTlNTdHJpbmcgKiluYW1lOwotLSAodm9pZClzZXROYW1lOihOU1N0
cmluZyAqKW5hbWU7Ci0tIChOU1N0cmluZyAqKXNjcm9sbGluZzsKLS0gKHZvaWQpc2V0U2Nyb2xs
aW5nOihOU1N0cmluZyAqKXNjcm9sbGluZzsKLS0gKE5TU3RyaW5nICopc3JjOwotLSAodm9pZClz
ZXRTcmM6KE5TU3RyaW5nICopc3JjOwotLSAoTlNTdHJpbmcgKil3aWR0aDsKLS0gKHZvaWQpc2V0
V2lkdGg6KE5TU3RyaW5nICopd2lkdGg7Ci0tIChET01Eb2N1bWVudCAqKWNvbnRlbnREb2N1bWVu
dDsKLUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tCShyZXZpc2lvbiAxNjE2NSkK
KysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0z
NCw1OCArMzQsMTkgQEAKICNpbXBvcnQgIkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbXBvcnQgIkZv
dW5kYXRpb25FeHRyYXMuaCIKICNpbXBvcnQgIkZyYW1lVmlldy5oIgotI2ltcG9ydCAiSFRNTEFw
cGxldEVsZW1lbnQuaCIKLSNpbXBvcnQgIkhUTUxBcmVhRWxlbWVudC5oIgotI2ltcG9ydCAiSFRN
TEJSRWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTEJhc2VFbGVtZW50LmgiCi0jaW1wb3J0ICJIVE1M
QmFzZUZvbnRFbGVtZW50LmgiCi0jaW1wb3J0ICJIVE1MQm9keUVsZW1lbnQuaCIKLSNpbXBvcnQg
IkhUTUxCdXR0b25FbGVtZW50LmgiCi0jaW1wb3J0ICJIVE1MRExpc3RFbGVtZW50LmgiCi0jaW1w
b3J0ICJIVE1MRGlyZWN0b3J5RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTERpdkVsZW1lbnQuaCIK
ICNpbXBvcnQgIkhUTUxEb2N1bWVudC5oIgogI2ltcG9ydCAiSFRNTEVtYmVkRWxlbWVudC5oIgot
I2ltcG9ydCAiSFRNTEZpZWxkU2V0RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTEZvbnRFbGVtZW50
LmgiCi0jaW1wb3J0ICJIVE1MRm9ybUNvbGxlY3Rpb24uaCIKICNpbXBvcnQgIkhUTUxGb3JtRWxl
bWVudC5oIgotI2ltcG9ydCAiSFRNTEZyYW1lU2V0RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTEhS
RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTEhlYWRFbGVtZW50LmgiCi0jaW1wb3J0ICJIVE1MSGVh
ZGluZ0VsZW1lbnQuaCIKLSNpbXBvcnQgIkhUTUxIdG1sRWxlbWVudC5oIgotI2ltcG9ydCAiSFRN
TElGcmFtZUVsZW1lbnQuaCIKICNpbXBvcnQgIkhUTUxJbWFnZUVsZW1lbnQuaCIKLSNpbXBvcnQg
IkhUTUxJc0luZGV4RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTExJRWxlbWVudC5oIgotI2ltcG9y
dCAiSFRNTExhYmVsRWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTExlZ2VuZEVsZW1lbnQuaCIKLSNp
bXBvcnQgIkhUTUxMaW5rRWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTE1hcEVsZW1lbnQuaCIKLSNp
bXBvcnQgIkhUTUxNZW51RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTE1ldGFFbGVtZW50LmgiCisj
aW1wb3J0ICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW1wb3J0ICJIVE1MTmFtZXMuaCIKLSNpbXBv
cnQgIkhUTUxPTGlzdEVsZW1lbnQuaCIKICNpbXBvcnQgIkhUTUxPYmplY3RFbGVtZW50LmgiCi0j
aW1wb3J0ICJIVE1MT3B0R3JvdXBFbGVtZW50LmgiCi0jaW1wb3J0ICJIVE1MT3B0aW9uRWxlbWVu
dC5oIgogI2ltcG9ydCAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCi0jaW1wb3J0ICJIVE1MUGFy
YWdyYXBoRWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTFBhcmFtRWxlbWVudC5oIgotI2ltcG9ydCAi
SFRNTFByZUVsZW1lbnQuaCIKLSNpbXBvcnQgIkhUTUxTY3JpcHRFbGVtZW50LmgiCiAjaW1wb3J0
ICJIVE1MU2VsZWN0RWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTFN0eWxlRWxlbWVudC5oIgogI2lt
cG9ydCAiSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCIKICNpbXBvcnQgIkhUTUxUYWJsZUNlbGxF
bGVtZW50LmgiCi0jaW1wb3J0ICJIVE1MVGFibGVDb2xFbGVtZW50LmgiCiAjaW1wb3J0ICJIVE1M
VGFibGVFbGVtZW50LmgiCi0jaW1wb3J0ICJIVE1MVGFibGVSb3dFbGVtZW50LmgiCiAjaW1wb3J0
ICJIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTFRleHRBcmVhRWxlbWVu
dC5oIgotI2ltcG9ydCAiSFRNTFRpdGxlRWxlbWVudC5oIgotI2ltcG9ydCAiSFRNTFVMaXN0RWxl
bWVudC5oIgogI2ltcG9ydCAiS1VSTC5oIgogI2ltcG9ydCAiTmFtZU5vZGVMaXN0LmgiCiAjaW1w
b3J0ICJSYW5nZS5oIgpAQCAtOTYsOSArNTcsNiBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi0vLyBGSVhNRTogVGhpcyBjb2RlIHNob3Vs
ZCBiZSB1c2luZyB0aGUgaW1wbCBtZXRob2RzIGluc3RlYWQgb2YgZG9pbmcgc28gbWFueSBnZXQv
c2V0QXR0cmlidXRlIGNhbGxzLgotLy8gRklYTUU6IFRoaXMgY29kZSBzaG91bGQgYmUgZ2VuZXJh
dGVkLgotCiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01IVE1M
Q29sbGVjdGlvbgpAQCAtMjM3LDg1ICsxOTUsNiBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwogCiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBET01IVE1MT3B0
aW9uRWxlbWVudAotCi1AaW1wbGVtZW50YXRpb24gRE9NSFRNTE9wdGlvbkVsZW1lbnQKLQotLSAo
SFRNTE9wdGlvbkVsZW1lbnQgKilfb3B0aW9uRWxlbWVudAotewotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KERPTV9jYXN0PE5vZGUqPihfaW50ZXJuYWwpKTsKLX0K
LQotLSAoRE9NSFRNTEZvcm1FbGVtZW50ICopZm9ybQotewotICAgIHJldHVybiBbRE9NSFRNTEZv
cm1FbGVtZW50IF9mb3JtRWxlbWVudFdpdGg6W3NlbGYgX29wdGlvbkVsZW1lbnRdLT5mb3JtKCld
OwotfQotCi0tIChCT09MKWRlZmF1bHRTZWxlY3RlZAotewotICAgIHJldHVybiBbc2VsZiBfb3B0
aW9uRWxlbWVudF0tPmRlZmF1bHRTZWxlY3RlZCgpOwotfQotCi0tICh2b2lkKXNldERlZmF1bHRT
ZWxlY3RlZDooQk9PTClkZWZhdWx0U2VsZWN0ZWQKLXsKLSAgICBbc2VsZiBfb3B0aW9uRWxlbWVu
dF0tPnNldERlZmF1bHRTZWxlY3RlZChkZWZhdWx0U2VsZWN0ZWQpOwotfQotCi0tIChOU1N0cmlu
ZyAqKXRleHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX29wdGlvbkVsZW1lbnRdLT50ZXh0KCk7Ci19
Ci0KLS0gKGludClpbmRleAotewotICAgIHJldHVybiBbc2VsZiBfb3B0aW9uRWxlbWVudF0tPmlu
ZGV4KCk7Ci19Ci0KLS0gKEJPT0wpZGlzYWJsZWQKLXsKLSAgICByZXR1cm4gW3NlbGYgX29wdGlv
bkVsZW1lbnRdLT5kaXNhYmxlZCgpOwotfQotCi0tICh2b2lkKXNldERpc2FibGVkOihCT09MKWRp
c2FibGVkCi17Ci0gICAgW3NlbGYgX29wdGlvbkVsZW1lbnRdLT5zZXREaXNhYmxlZChkaXNhYmxl
ZCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbGFiZWwKLXsKLSAgICByZXR1cm4gW3NlbGYgX29wdGlv
bkVsZW1lbnRdLT5sYWJlbCgpOwotfQotCi0tICh2b2lkKXNldExhYmVsOihOU1N0cmluZyAqKWxh
YmVsCi17Ci0gICAgW3NlbGYgX29wdGlvbkVsZW1lbnRdLT5zZXRMYWJlbChsYWJlbCk7Ci19Ci0K
LS0gKEJPT0wpc2VsZWN0ZWQKLXsKLSAgICByZXR1cm4gW3NlbGYgX29wdGlvbkVsZW1lbnRdLT5z
ZWxlY3RlZCgpOwotfQotCi0tICh2b2lkKXNldFNlbGVjdGVkOihCT09MKXNlbGVjdGVkCi17Ci0g
ICAgW3NlbGYgX29wdGlvbkVsZW1lbnRdLT5zZXRTZWxlY3RlZChzZWxlY3RlZCk7Ci19Ci0KLS0g
KE5TU3RyaW5nICopdmFsdWUKLXsKLSAgICByZXR1cm4gW3NlbGYgX29wdGlvbkVsZW1lbnRdLT52
YWx1ZSgpOwotfQotCi0tICh2b2lkKXNldFZhbHVlOihOU1N0cmluZyAqKXZhbHVlCi17Ci0gICAg
U3RyaW5nIHN0cmluZyA9IHZhbHVlOwotICAgIFtzZWxmIF9vcHRpb25FbGVtZW50XS0+c2V0VmFs
dWUoc3RyaW5nLmltcGwoKSk7Ci19Ci0KLUBlbmQKLQotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogLy8gRE9NSFRNTElucHV0RWxlbWVudAogCiBAaW1wbGVtZW50YXRpb24g
RE9NSFRNTElucHV0RWxlbWVudCAoRE9NSFRNTElucHV0RWxlbWVudEV4dGVuc2lvbnMpCkBAIC0z
NDUsMTkwMiArMjI0LDE2MCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAKIC8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBET01IVE1MQmFzZUZvbnRFbGVtZW50
Ci0KLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MQmFzZUZvbnRFbGVtZW50Ci0KLS0gKEhUTUxCYXNl
Rm9udEVsZW1lbnQgKilfYmFzZUZvbnRFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxCYXNlRm9udEVsZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7Ci19Ci0K
LS0gKE5TU3RyaW5nICopY29sb3IKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Jhc2VGb250RWxlbWVu
dF0tPmdldEF0dHJpYnV0ZShjb2xvckF0dHIpOwotfQotCi0tICh2b2lkKXNldENvbG9yOihOU1N0
cmluZyAqKWNvbG9yCi17Ci0gICAgW3NlbGYgX2Jhc2VGb250RWxlbWVudF0tPnNldEF0dHJpYnV0
ZShjb2xvckF0dHIsIGNvbG9yKTsKLX0KLQotLSAoTlNTdHJpbmcgKilmYWNlCi17Ci0gICAgcmV0
dXJuIFtzZWxmIF9iYXNlRm9udEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoZmFjZUF0dHIpOwotfQot
Ci0tICh2b2lkKXNldEZhY2U6KE5TU3RyaW5nICopZmFjZQotewotICAgIFtzZWxmIF9iYXNlRm9u
dEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoZmFjZUF0dHIsIGZhY2UpOwotfQorLy8gRE9NSFRNTEFu
Y2hvckVsZW1lbnQKIAotLSAoTlNTdHJpbmcgKilzaXplCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9i
YXNlRm9udEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoc2l6ZUF0dHIpOwotfQorQGltcGxlbWVudGF0
aW9uIERPTUhUTUxBbmNob3JFbGVtZW50IChET01IVE1MQW5jaG9yRWxlbWVudEV4dGVuc2lvbnMp
CiAKLS0gKHZvaWQpc2V0U2l6ZTooTlNTdHJpbmcgKilzaXplCistIChOU1VSTCAqKWFic29sdXRl
TGlua1VSTAogewotICAgIFtzZWxmIF9iYXNlRm9udEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoc2l6
ZUF0dHIsIHNpemUpOworICAgIHJldHVybiBbc2VsZiBfZ2V0VVJMQXR0cmlidXRlOkAiaHJlZiJd
OwogfQogCiBAZW5kCiAKLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MRm9udEVsZW1lbnQKLQotLSAo
SFRNTEZvbnRFbGVtZW50ICopX2ZvbnRFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxGb250RWxlbWVudCo+KERPTV9jYXN0PE5vZGUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAo
TlNTdHJpbmcgKiljb2xvcgotewotICAgIHJldHVybiBbc2VsZiBfZm9udEVsZW1lbnRdLT5nZXRB
dHRyaWJ1dGUoY29sb3JBdHRyKTsKLX0KLQotLSAodm9pZClzZXRDb2xvcjooTlNTdHJpbmcgKilj
b2xvcgotewotICAgIFtzZWxmIF9mb250RWxlbWVudF0tPnNldEF0dHJpYnV0ZShjb2xvckF0dHIs
IGNvbG9yKTsKLX0KIAotLSAoTlNTdHJpbmcgKilmYWNlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9m
b250RWxlbWVudF0tPmdldEF0dHJpYnV0ZShmYWNlQXR0cik7Ci19CisvLy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gRE9NSFRNTEltYWdlRWxlbWVudAogCi0tICh2b2lkKXNl
dEZhY2U6KE5TU3RyaW5nICopZmFjZQotewotICAgIFtzZWxmIF9mb250RWxlbWVudF0tPnNldEF0
dHJpYnV0ZShmYWNlQXR0ciwgZmFjZSk7Ci19CitAaW1wbGVtZW50YXRpb24gRE9NSFRNTEltYWdl
RWxlbWVudCAoRE9NSFRNTEltYWdlRWxlbWVudEV4dGVuc2lvbnMpCiAKLS0gKE5TU3RyaW5nICop
c2l6ZQorLSAoTlNTdHJpbmcgKilhbHREaXNwbGF5U3RyaW5nCiB7Ci0gICAgcmV0dXJuIFtzZWxm
IF9mb250RWxlbWVudF0tPmdldEF0dHJpYnV0ZShzaXplQXR0cik7CisgICAgU3RyaW5nIGFsdCA9
IFtzZWxmIF9IVE1MSW1hZ2VFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGFsdEF0dHIpOworICAgIHJl
dHVybiBhbHQucmVwbGFjZSgnXFwnLCBbc2VsZiBfZWxlbWVudF0tPmRvY3VtZW50KCktPmJhY2tz
bGFzaEFzQ3VycmVuY3lTeW1ib2woKSk7CiB9CiAKLS0gKHZvaWQpc2V0U2l6ZTooTlNTdHJpbmcg
KilzaXplCistIChOU1VSTCAqKWFic29sdXRlSW1hZ2VVUkwKIHsKLSAgICBbc2VsZiBfZm9udEVs
ZW1lbnRdLT5zZXRBdHRyaWJ1dGUoc2l6ZUF0dHIsIHNpemUpOworICAgIHJldHVybiBbc2VsZiBf
Z2V0VVJMQXR0cmlidXRlOkAic3JjIl07CiB9CiAKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIERP
TUhUTUxIUkVsZW1lbnQKLQotLSAoSFRNTEhSRWxlbWVudCAqKV9IUkVsZW1lbnQKLXsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEhSRWxlbWVudCo+KERPTV9jYXN0PE5vZGUqPihfaW50ZXJu
YWwpKTsKLX0KLQotLSAoTlNTdHJpbmcgKilhbGlnbgotewotICAgIHJldHVybiBbc2VsZiBfSFJF
bGVtZW50XS0+Z2V0QXR0cmlidXRlKGFsaWduQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0QWxpZ246
KE5TU3RyaW5nICopYWxpZ24KLXsKLSAgICBbc2VsZiBfSFJFbGVtZW50XS0+c2V0QXR0cmlidXRl
KGFsaWduQXR0ciwgYWxpZ24pOwotfQotCi0tIChCT09MKW5vU2hhZGUKLXsKLSAgICByZXR1cm4g
W3NlbGYgX0hSRWxlbWVudF0tPmdldEF0dHJpYnV0ZShub3NoYWRlQXR0cikuaXNOdWxsKCk7Ci19
Ci0KLS0gKHZvaWQpc2V0Tm9TaGFkZTooQk9PTClub1NoYWRlCi17Ci0gICAgW3NlbGYgX0hSRWxl
bWVudF0tPnNldEF0dHJpYnV0ZShub3NoYWRlQXR0ciwgbm9TaGFkZSA/ICIiIDogMCk7Ci19Ci0K
LS0gKE5TU3RyaW5nICopc2l6ZQotewotICAgIHJldHVybiBbc2VsZiBfSFJFbGVtZW50XS0+Z2V0
QXR0cmlidXRlKHNpemVBdHRyKTsKLX0KLQotLSAodm9pZClzZXRTaXplOihOU1N0cmluZyAqKXNp
emUKLXsKLSAgICBbc2VsZiBfSFJFbGVtZW50XS0+c2V0QXR0cmlidXRlKHNpemVBdHRyLCBzaXpl
KTsKLX0KLQotLSAoTlNTdHJpbmcgKil3aWR0aAotewotICAgIHJldHVybiBbc2VsZiBfSFJFbGVt
ZW50XS0+Z2V0QXR0cmlidXRlKHdpZHRoQXR0cik7Ci19CitAaW1wbGVtZW50YXRpb24gRE9NSFRN
TEltYWdlRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQogCi0tICh2b2lkKXNldFdpZHRoOihOU1N0
cmluZyAqKXdpZHRoCistIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50ICopX0hUTUxJbWFnZUVs
ZW1lbnQKIHsKLSAgICBbc2VsZiBfSFJFbGVtZW50XS0+c2V0QXR0cmlidXRlKHdpZHRoQXR0ciwg
d2lkdGgpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50
Kj4oRE9NX2Nhc3Q8V2ViQ29yZTo6Tm9kZSo+KF9pbnRlcm5hbCkpOwogfQogCiBAZW5kCiAKLUBp
bXBsZW1lbnRhdGlvbiBET01IVE1MTW9kRWxlbWVudAotCi0tIChIVE1MRWxlbWVudCAqKV9tb2RF
bGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4oRE9NX2Nhc3Q8
Tm9kZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChOU1N0cmluZyAqKWNpdGUKLXsKLSAgICByZXR1
cm4gW3NlbGYgX21vZEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY2l0ZUF0dHIpOwotfQogCi0tICh2
b2lkKXNldENpdGU6KE5TU3RyaW5nICopY2l0ZQotewotICAgIFtzZWxmIF9tb2RFbGVtZW50XS0+
c2V0QXR0cmlidXRlKGNpdGVBdHRyLCBjaXRlKTsKLX0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisvLyBET01IVE1MT2JqZWN0RWxlbWVudAogCi0tIChOU1N0cmluZyAqKWRh
dGVUaW1lCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9tb2RFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGRh
dGV0aW1lQXR0cik7Ci19CitAaW1wbGVtZW50YXRpb24gRE9NSFRNTE9iamVjdEVsZW1lbnQgKERP
TUhUTUxPYmplY3RFbGVtZW50RXh0ZW5zaW9ucykKIAotLSAodm9pZClzZXREYXRlVGltZTooTlNT
dHJpbmcgKilkYXRlVGltZQorLSAoTlNVUkwgKilhYnNvbHV0ZUltYWdlVVJMCiB7Ci0gICAgW3Nl
bGYgX21vZEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoZGF0ZXRpbWVBdHRyLCBkYXRlVGltZSk7Cisg
ICAgaWYgKCFbc2VsZiBfSFRNTE9iamVjdEVsZW1lbnRdLT5yZW5kZXJlcigpIHx8ICFbc2VsZiBf
SFRNTE9iamVjdEVsZW1lbnRdLT5yZW5kZXJlcigpLT5pc0ltYWdlKCkpCisgICAgICAgIHJldHVy
biBuaWw7CisgICAgcmV0dXJuIFtzZWxmIF9nZXRVUkxBdHRyaWJ1dGU6QCJkYXRhIl07CiB9CiAK
IEBlbmQKIAotQGltcGxlbWVudGF0aW9uIERPTUhUTUxBbmNob3JFbGVtZW50CitAaW1wbGVtZW50
YXRpb24gRE9NSFRNTE9iamVjdEVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkKIAotLSAoSFRNTEFu
Y2hvckVsZW1lbnQgKilfYW5jaG9yRWxlbWVudAorLSAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1l
bnQgKilfSFRNTE9iamVjdEVsZW1lbnQKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEFu
Y2hvckVsZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50Kj4oRE9NX2Nhc3Q8V2ViQ29yZTo6
Tm9kZSo+KF9pbnRlcm5hbCkpOwogfQogCi0tIChOU1N0cmluZyAqKWFjY2Vzc0tleQotewotICAg
IHJldHVybiBbc2VsZiBfYW5jaG9yRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhY2Nlc3NrZXlBdHRy
KTsKLX0KLQotLSAodm9pZClzZXRBY2Nlc3NLZXk6KE5TU3RyaW5nICopYWNjZXNzS2V5Ci17Ci0g
ICAgW3NlbGYgX2FuY2hvckVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoYWNjZXNza2V5QXR0ciwgYWNj
ZXNzS2V5KTsKLX0KLQotLSAoTlNTdHJpbmcgKiljaGFyc2V0Ci17Ci0gICAgcmV0dXJuIFtzZWxm
IF9hbmNob3JFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNoYXJzZXRBdHRyKTsKLX0KK0BlbmQKIAot
LSAodm9pZClzZXRDaGFyc2V0OihOU1N0cmluZyAqKWNoYXJzZXQKLXsKLSAgICBbc2VsZiBfYW5j
aG9yRWxlbWVudF0tPnNldEF0dHJpYnV0ZShjaGFyc2V0QXR0ciwgY2hhcnNldCk7Ci19CiAKLS0g
KE5TU3RyaW5nICopY29vcmRzCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9hbmNob3JFbGVtZW50XS0+
Z2V0QXR0cmlidXRlKGNvb3Jkc0F0dHIpOwotfQorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy8vIERPTUhUTUxBcmVhRWxlbWVudAogCi0tICh2b2lkKXNldENvb3JkczooTlNT
dHJpbmcgKiljb29yZHMKLXsKLSAgICBbc2VsZiBfYW5jaG9yRWxlbWVudF0tPnNldEF0dHJpYnV0
ZShjb29yZHNBdHRyLCBjb29yZHMpOwotfQorQGltcGxlbWVudGF0aW9uIERPTUhUTUxBcmVhRWxl
bWVudCAoRE9NSFRNTEFyZWFFbGVtZW50RXh0ZW5zaW9ucykKIAogLSAoTlNVUkwgKilhYnNvbHV0
ZUxpbmtVUkwKIHsKICAgICByZXR1cm4gW3NlbGYgX2dldFVSTEF0dHJpYnV0ZTpAImhyZWYiXTsK
IH0KIAotLSAoTlNTdHJpbmcgKilocmVmCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9hbmNob3JFbGVt
ZW50XS0+aHJlZigpOwotfQotCi0tICh2b2lkKXNldEhyZWY6KE5TU3RyaW5nICopaHJlZgotewot
ICAgIFtzZWxmIF9hbmNob3JFbGVtZW50XS0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCBocmVmKTsK
LX0KLQotLSAoTlNTdHJpbmcgKilocmVmbGFuZwotewotICAgIHJldHVybiBbc2VsZiBfYW5jaG9y
RWxlbWVudF0tPmhyZWZsYW5nKCk7Ci19Ci0KLS0gKHZvaWQpc2V0SHJlZmxhbmc6KE5TU3RyaW5n
ICopaHJlZmxhbmcKLXsKLSAgICBbc2VsZiBfYW5jaG9yRWxlbWVudF0tPnNldEhyZWZsYW5nKGhy
ZWZsYW5nKTsKLX0KLQotLSAoTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9h
bmNob3JFbGVtZW50XS0+bmFtZSgpOwotfQotCi0tICh2b2lkKXNldE5hbWU6KE5TU3RyaW5nICop
bmFtZQotewotICAgIFtzZWxmIF9hbmNob3JFbGVtZW50XS0+c2V0TmFtZShuYW1lKTsKLX0KLQot
LSAoTlNTdHJpbmcgKilyZWwKLXsKLSAgICByZXR1cm4gW3NlbGYgX2FuY2hvckVsZW1lbnRdLT5y
ZWwoKTsKLX0KLQotLSAodm9pZClzZXRSZWw6KE5TU3RyaW5nICopcmVsCi17Ci0gICAgW3NlbGYg
X2FuY2hvckVsZW1lbnRdLT5zZXRSZWwocmVsKTsKLX0KLQotLSAoTlNTdHJpbmcgKilyZXYKLXsK
LSAgICByZXR1cm4gW3NlbGYgX2FuY2hvckVsZW1lbnRdLT5yZXYoKTsKLX0KK0BlbmQKIAotLSAo
dm9pZClzZXRSZXY6KE5TU3RyaW5nICopcmV2Ci17Ci0gICAgW3NlbGYgX2FuY2hvckVsZW1lbnRd
LT5zZXRSZXYocmV2KTsKLX0KIAotLSAoTlNTdHJpbmcgKilzaGFwZQotewotICAgIHJldHVybiBb
c2VsZiBfYW5jaG9yRWxlbWVudF0tPnNoYXBlKCk7Ci19CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLy8gRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQKIAotLSAodm9pZClz
ZXRTaGFwZTooTlNTdHJpbmcgKilzaGFwZQotewotICAgIFtzZWxmIF9hbmNob3JFbGVtZW50XS0+
c2V0U2hhcGUoc2hhcGUpOwotfQorQGltcGxlbWVudGF0aW9uIERPTUhUTUxUYWJsZUNhcHRpb25F
bGVtZW50IChXZWJDb3JlSW50ZXJuYWwpCiAKLS0gKGludCl0YWJJbmRleAorKyAoRE9NSFRNTFRh
YmxlQ2FwdGlvbkVsZW1lbnQgKilfdGFibGVDYXB0aW9uRWxlbWVudFdpdGg6KEhUTUxUYWJsZUNh
cHRpb25FbGVtZW50ICopaW1wbAogewotICAgIHJldHVybiBbc2VsZiBfYW5jaG9yRWxlbWVudF0t
PnRhYkluZGV4KCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERPTUhUTUxUYWJsZUNhcHRpb25F
bGVtZW50Kj4oW0RPTU5vZGUgX25vZGVXaXRoOmltcGxdKTsKIH0KIAotLSAodm9pZClzZXRUYWJJ
bmRleDooaW50KXRhYkluZGV4CistIChIVE1MVGFibGVDYXB0aW9uRWxlbWVudCAqKV90YWJsZUNh
cHRpb25FbGVtZW50CiB7Ci0gICAgW3NlbGYgX2FuY2hvckVsZW1lbnRdLT5zZXRUYWJJbmRleCh0
YWJJbmRleCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxUYWJsZUNhcHRpb25FbGVtZW50
Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9pbnRlcm5hbCkpOwogfQogCi0tIChOU1N0cmluZyAqKXRhcmdl
dAotewotICAgIHJldHVybiBbc2VsZiBfYW5jaG9yRWxlbWVudF0tPmdldEF0dHJpYnV0ZSh0YXJn
ZXRBdHRyKTsKLX0KK0BlbmQKIAotLSAodm9pZClzZXRUYXJnZXQ6KE5TU3RyaW5nICopdGFyZ2V0
Ci17Ci0gICAgW3NlbGYgX2FuY2hvckVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwg
dGFyZ2V0KTsKLX0KIAotLSAoTlNTdHJpbmcgKil0eXBlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9h
bmNob3JFbGVtZW50XS0+Z2V0QXR0cmlidXRlKHR5cGVBdHRyKTsKLX0KKy8vLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudAogCi0t
ICh2b2lkKXNldFR5cGU6KE5TU3RyaW5nICopdHlwZQotewotICAgIFtzZWxmIF9hbmNob3JFbGVt
ZW50XS0+c2V0QXR0cmlidXRlKHR5cGVBdHRyLCB0eXBlKTsKLX0KK0BpbXBsZW1lbnRhdGlvbiBE
T01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQogCi0tICh2b2lkKWJs
dXIKKysgKERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50ICopX3RhYmxlU2VjdGlvbkVsZW1lbnRX
aXRoOihIVE1MVGFibGVTZWN0aW9uRWxlbWVudCAqKWltcGwKIHsKLSAgICBIVE1MQW5jaG9yRWxl
bWVudCAqaW1wbCA9IFtzZWxmIF9hbmNob3JFbGVtZW50XTsKLSAgICBpZiAoaW1wbC0+ZG9jdW1l
bnQoKS0+Zm9jdXNOb2RlKCkgPT0gaW1wbCkKLSAgICAgICAgaW1wbC0+ZG9jdW1lbnQoKS0+c2V0
Rm9jdXNOb2RlKDApOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01IVE1MVGFibGVTZWN0aW9u
RWxlbWVudCo+KFtET01Ob2RlIF9ub2RlV2l0aDppbXBsXSk7CiB9CiAKLS0gKHZvaWQpZm9jdXMK
Ky0gKEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50ICopX3RhYmxlU2VjdGlvbkVsZW1lbnQKIHsKLSAg
ICBIVE1MQW5jaG9yRWxlbWVudCAqaW1wbCA9IFtzZWxmIF9hbmNob3JFbGVtZW50XTsKLSAgICBp
bXBsLT5kb2N1bWVudCgpLT5zZXRGb2N1c05vZGUoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KGltcGwp
KTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQqPihET01f
Y2FzdDxOb2RlKj4oX2ludGVybmFsKSk7CiB9CiAKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIERP
TUhUTUxJbWFnZUVsZW1lbnQKLQotLSAoSFRNTEltYWdlRWxlbWVudCAqKV9pbWFnZUVsZW1lbnQK
LXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KERPTV9jYXN0PE5v
ZGUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAoTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJu
IFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUobmFtZUF0dHIpOwotfQotCi0tICh2
b2lkKXNldE5hbWU6KE5TU3RyaW5nICopbmFtZQotewotICAgIFtzZWxmIF9pbWFnZUVsZW1lbnRd
LT5zZXRBdHRyaWJ1dGUobmFtZUF0dHIsIG5hbWUpOwotfQogCi0tIChOU1N0cmluZyAqKWFsaWdu
Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoYWxpZ25B
dHRyKTsKLX0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBET01IVE1M
VGFibGVFbGVtZW50CiAKLS0gKHZvaWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ24KLXsKLSAg
ICBbc2VsZiBfaW1hZ2VFbGVtZW50XS0+c2V0QXR0cmlidXRlKGFsaWduQXR0ciwgYWxpZ24pOwot
fQorQGltcGxlbWVudGF0aW9uIERPTUhUTUxUYWJsZUVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkK
IAotLSAoTlNTdHJpbmcgKilhbHQKKysgKERPTUhUTUxUYWJsZUVsZW1lbnQgKilfdGFibGVFbGVt
ZW50V2l0aDooSFRNTFRhYmxlRWxlbWVudCAqKWltcGwKIHsKLSAgICByZXR1cm4gW3NlbGYgX2lt
YWdlRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhbHRBdHRyKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8RE9NSFRNTFRhYmxlRWxlbWVudCo+KFtET01Ob2RlIF9ub2RlV2l0aDppbXBsXSk7CiB9CiAK
LS0gKE5TU3RyaW5nICopYWx0RGlzcGxheVN0cmluZworLSAoSFRNTFRhYmxlRWxlbWVudCAqKV90
YWJsZUVsZW1lbnQKIHsKLSAgICBTdHJpbmcgYWx0ID0gW3NlbGYgX2ltYWdlRWxlbWVudF0tPmdl
dEF0dHJpYnV0ZShhbHRBdHRyKTsKLSAgICByZXR1cm4gYWx0LnJlcGxhY2UoJ1xcJywgW3NlbGYg
X2VsZW1lbnRdLT5kb2N1bWVudCgpLT5iYWNrc2xhc2hBc0N1cnJlbmN5U3ltYm9sKCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxIVE1MVGFibGVFbGVtZW50Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9p
bnRlcm5hbCkpOwogfQogCi0tICh2b2lkKXNldEFsdDooTlNTdHJpbmcgKilhbHQKLXsKLSAgICBb
c2VsZiBfaW1hZ2VFbGVtZW50XS0+c2V0QXR0cmlidXRlKGFsdEF0dHIsIGFsdCk7Ci19CitAZW5k
CiAKLS0gKE5TU3RyaW5nICopYm9yZGVyCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbWFnZUVsZW1l
bnRdLT5nZXRBdHRyaWJ1dGUoYm9yZGVyQXR0cik7Ci19CiAKLS0gKHZvaWQpc2V0Qm9yZGVyOihO
U1N0cmluZyAqKWJvcmRlcgotewotICAgIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5zZXRBdHRyaWJ1
dGUoYm9yZGVyQXR0ciwgYm9yZGVyKTsKLX0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisvLyBET01IVE1MVGFibGVDZWxsRWxlbWVudAogCi0tIChpbnQpaGVpZ2h0Ci17Ci0g
ICAgcmV0dXJuIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoaGVpZ2h0QXR0ciku
dG9JbnQoKTsKLX0KK0BpbXBsZW1lbnRhdGlvbiBET01IVE1MVGFibGVDZWxsRWxlbWVudCAoV2Vi
Q29yZUludGVybmFsKQogCi0tICh2b2lkKXNldEhlaWdodDooaW50KWhlaWdodAorKyAoRE9NSFRN
TFRhYmxlQ2VsbEVsZW1lbnQgKilfdGFibGVDZWxsRWxlbWVudFdpdGg6KEhUTUxUYWJsZUNlbGxF
bGVtZW50ICopaW1wbAogewotICAgIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUo
aGVpZ2h0QXR0ciwgU3RyaW5nOjpudW1iZXIoaGVpZ2h0KSk7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Kj4oW0RPTU5vZGUgX25vZGVXaXRoOmltcGxdKTsK
IH0KIAotLSAoaW50KWhzcGFjZQorLSAoSFRNTFRhYmxlQ2VsbEVsZW1lbnQgKilfdGFibGVDZWxs
RWxlbWVudAogewotICAgIHJldHVybiBbc2VsZiBfaW1hZ2VFbGVtZW50XS0+Z2V0QXR0cmlidXRl
KGhzcGFjZUF0dHIpLnRvSW50KCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxUYWJsZUNl
bGxFbGVtZW50Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9pbnRlcm5hbCkpOwogfQogCi0tICh2b2lkKXNl
dEhzcGFjZTooaW50KWhzcGFjZQotewotICAgIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5zZXRBdHRy
aWJ1dGUoaHNwYWNlQXR0ciwgU3RyaW5nOjpudW1iZXIoaHNwYWNlKSk7Ci19CitAZW5kCiAKLS0g
KEJPT0wpaXNNYXAKLXsKLSAgICByZXR1cm4gW3NlbGYgX2ltYWdlRWxlbWVudF0tPmdldEF0dHJp
YnV0ZShpc21hcEF0dHIpLmlzTnVsbCgpOwotfQogCi0tICh2b2lkKXNldElzTWFwOihCT09MKWlz
TWFwCi17Ci0gICAgW3NlbGYgX2ltYWdlRWxlbWVudF0tPnNldEF0dHJpYnV0ZShpc21hcEF0dHIs
IGlzTWFwID8gIiIgOiAwKTsKLX0KKyNwcmFnbWEgbWFyayBET00gRVhURU5TSU9OUwogCi0tIChO
U1N0cmluZyAqKWxvbmdEZXNjCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5n
ZXRBdHRyaWJ1dGUobG9uZ2Rlc2NBdHRyKTsKLX0KIAotLSAodm9pZClzZXRMb25nRGVzYzooTlNT
dHJpbmcgKilsb25nRGVzYwotewotICAgIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5zZXRBdHRyaWJ1
dGUobG9uZ2Rlc2NBdHRyLCBsb25nRGVzYyk7Ci19Ci0KLS0gKE5TVVJMICopYWJzb2x1dGVJbWFn
ZVVSTAotewotICAgIHJldHVybiBbc2VsZiBfZ2V0VVJMQXR0cmlidXRlOkAic3JjIl07Ci19Ci0K
LS0gKE5TU3RyaW5nICopc3JjCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5z
cmMoKTsKLX0KLQotLSAodm9pZClzZXRTcmM6KE5TU3RyaW5nICopc3JjCi17Ci0gICAgW3NlbGYg
X2ltYWdlRWxlbWVudF0tPnNldEF0dHJpYnV0ZShzcmNBdHRyLCBzcmMpOwotfQotCi0tIChOU1N0
cmluZyAqKXVzZU1hcAotewotICAgIHJldHVybiBbc2VsZiBfaW1hZ2VFbGVtZW50XS0+Z2V0QXR0
cmlidXRlKHVzZW1hcEF0dHIpOwotfQotCi0tICh2b2lkKXNldFVzZU1hcDooTlNTdHJpbmcgKil1
c2VNYXAKLXsKLSAgICBbc2VsZiBfaW1hZ2VFbGVtZW50XS0+c2V0QXR0cmlidXRlKHVzZW1hcEF0
dHIsIHVzZU1hcCk7Ci19Ci0KLS0gKGludCl2c3BhY2UKLXsKLSAgICByZXR1cm4gW3NlbGYgX2lt
YWdlRWxlbWVudF0tPmdldEF0dHJpYnV0ZSh2c3BhY2VBdHRyKS50b0ludCgpOwotfQotCi0tICh2
b2lkKXNldFZzcGFjZTooaW50KXZzcGFjZQotewotICAgIFtzZWxmIF9pbWFnZUVsZW1lbnRdLT5z
ZXRBdHRyaWJ1dGUodnNwYWNlQXR0ciwgU3RyaW5nOjpudW1iZXIodnNwYWNlKSk7Ci19Ci0KLS0g
KGludCl3aWR0aAotewotICAgIHJldHVybiBbc2VsZiBfaW1hZ2VFbGVtZW50XS0+Z2V0QXR0cmli
dXRlKHdpZHRoQXR0cikudG9JbnQoKTsKLX0KLQotLSAodm9pZClzZXRXaWR0aDooaW50KXdpZHRo
Ci17Ci0gICAgW3NlbGYgX2ltYWdlRWxlbWVudF0tPnNldEF0dHJpYnV0ZSh3aWR0aEF0dHIsIFN0
cmluZzo6bnVtYmVyKHdpZHRoKSk7Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIERPTUhU
TUxPYmplY3RFbGVtZW50Ci0KLS0gKEhUTUxPYmplY3RFbGVtZW50ICopX29iamVjdEVsZW1lbnQK
LXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTE9iamVjdEVsZW1lbnQqPihET01fY2FzdDxO
b2RlKj4oX2ludGVybmFsKSk7Ci19Ci0KLS0gKERPTUhUTUxGb3JtRWxlbWVudCAqKWZvcm0KLXsK
LSAgICByZXR1cm4gW0RPTUhUTUxGb3JtRWxlbWVudCBfZm9ybUVsZW1lbnRXaXRoOltzZWxmIF9v
YmplY3RFbGVtZW50XS0+Zm9ybSgpXTsKLX0KLQotLSAoTlNTdHJpbmcgKiljb2RlCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF9vYmplY3RFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNvZGVBdHRyKTsKLX0K
LQotLSAodm9pZClzZXRDb2RlOihOU1N0cmluZyAqKWNvZGUKLXsKLSAgICBbc2VsZiBfb2JqZWN0
RWxlbWVudF0tPnNldEF0dHJpYnV0ZShjb2RlQXR0ciwgY29kZSk7Ci19Ci0KLS0gKE5TU3RyaW5n
ICopYWxpZ24KLXsKLSAgICByZXR1cm4gW3NlbGYgX29iamVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1
dGUoYWxpZ25BdHRyKTsKLX0KLQotLSAodm9pZClzZXRBbGlnbjooTlNTdHJpbmcgKilhbGlnbgot
ewotICAgIFtzZWxmIF9vYmplY3RFbGVtZW50XS0+c2V0QXR0cmlidXRlKGFsaWduQXR0ciwgYWxp
Z24pOwotfQotCi0tIChOU1N0cmluZyAqKWFyY2hpdmUKLXsKLSAgICByZXR1cm4gW3NlbGYgX29i
amVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoYXJjaGl2ZUF0dHIpOwotfQotCi0tICh2b2lkKXNl
dEFyY2hpdmU6KE5TU3RyaW5nICopYXJjaGl2ZQotewotICAgIFtzZWxmIF9vYmplY3RFbGVtZW50
XS0+c2V0QXR0cmlidXRlKGFyY2hpdmVBdHRyLCBhcmNoaXZlKTsKLX0KLQotLSAoTlNTdHJpbmcg
Kilib3JkZXIKLXsKLSAgICByZXR1cm4gW3NlbGYgX29iamVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1
dGUoYm9yZGVyQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0Qm9yZGVyOihOU1N0cmluZyAqKWJvcmRl
cgotewotICAgIFtzZWxmIF9vYmplY3RFbGVtZW50XS0+c2V0QXR0cmlidXRlKGJvcmRlckF0dHIs
IGJvcmRlcik7Ci19Ci0KLS0gKE5TU3RyaW5nICopY29kZUJhc2UKLXsKLSAgICByZXR1cm4gW3Nl
bGYgX29iamVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY29kZWJhc2VBdHRyKTsKLX0KLQotLSAo
dm9pZClzZXRDb2RlQmFzZTooTlNTdHJpbmcgKiljb2RlQmFzZQotewotICAgIFtzZWxmIF9vYmpl
Y3RFbGVtZW50XS0+c2V0QXR0cmlidXRlKGNvZGViYXNlQXR0ciwgY29kZUJhc2UpOwotfQotCi0t
IChOU1N0cmluZyAqKWNvZGVUeXBlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9vYmplY3RFbGVtZW50
XS0+Z2V0QXR0cmlidXRlKGNvZGV0eXBlQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0Q29kZVR5cGU6
KE5TU3RyaW5nICopY29kZVR5cGUKLXsKLSAgICBbc2VsZiBfb2JqZWN0RWxlbWVudF0tPnNldEF0
dHJpYnV0ZShjb2RldHlwZUF0dHIsIGNvZGVUeXBlKTsKLX0KLQotLSAoTlNVUkwgKilhYnNvbHV0
ZUltYWdlVVJMCi17Ci0gICAgaWYgKCFbc2VsZiBfb2JqZWN0RWxlbWVudF0tPnJlbmRlcmVyKCkg
fHwgIVtzZWxmIF9vYmplY3RFbGVtZW50XS0+cmVuZGVyZXIoKS0+aXNJbWFnZSgpKQotICAgICAg
ICByZXR1cm4gbmlsOwotICAgIHJldHVybiBbc2VsZiBfZ2V0VVJMQXR0cmlidXRlOkAiZGF0YSJd
OwotfQotCi0tIChOU1N0cmluZyAqKWRhdGEKLXsKLSAgICByZXR1cm4gW3NlbGYgX29iamVjdEVs
ZW1lbnRdLT5nZXRBdHRyaWJ1dGUoZGF0YUF0dHIpOwotfQotCi0tICh2b2lkKXNldERhdGE6KE5T
U3RyaW5nICopZGF0YQotewotICAgIFtzZWxmIF9vYmplY3RFbGVtZW50XS0+c2V0QXR0cmlidXRl
KGRhdGFBdHRyLCBkYXRhKTsKLX0KLQotLSAoQk9PTClkZWNsYXJlCi17Ci0gICAgcmV0dXJuIFtz
ZWxmIF9vYmplY3RFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGRlY2xhcmVBdHRyKS5pc051bGwoKTsK
LX0KLQotLSAodm9pZClzZXREZWNsYXJlOihCT09MKWRlY2xhcmUKLXsKLSAgICBbc2VsZiBfb2Jq
ZWN0RWxlbWVudF0tPnNldEF0dHJpYnV0ZShkZWNsYXJlQXR0ciwgZGVjbGFyZSA/ICIiIDogMCk7
Ci19Ci0KLS0gKE5TU3RyaW5nICopaGVpZ2h0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9vYmplY3RF
bGVtZW50XS0+Z2V0QXR0cmlidXRlKGhlaWdodEF0dHIpOwotfQotCi0tICh2b2lkKXNldEhlaWdo
dDooTlNTdHJpbmcgKiloZWlnaHQKLXsKLSAgICBbc2VsZiBfb2JqZWN0RWxlbWVudF0tPnNldEF0
dHJpYnV0ZShoZWlnaHRBdHRyLCBoZWlnaHQpOwotfQotCi0tIChpbnQpaHNwYWNlCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF9vYmplY3RFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGhzcGFjZUF0dHIpLnRv
SW50KCk7Ci19Ci0KLS0gKHZvaWQpc2V0SHNwYWNlOihpbnQpaHNwYWNlCi17Ci0gICAgW3NlbGYg
X29iamVjdEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoaHNwYWNlQXR0ciwgU3RyaW5nOjpudW1iZXIo
aHNwYWNlKSk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbmFtZQotewotICAgIHJldHVybiBbc2VsZiBf
b2JqZWN0RWxlbWVudF0tPmdldEF0dHJpYnV0ZShuYW1lQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0
TmFtZTooTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgW3NlbGYgX29iamVjdEVsZW1lbnRdLT5zZXRB
dHRyaWJ1dGUobmFtZUF0dHIsIG5hbWUpOwotfQotCi0tIChOU1N0cmluZyAqKXN0YW5kYnkKLXsK
LSAgICByZXR1cm4gW3NlbGYgX29iamVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoc3RhbmRieUF0
dHIpOwotfQotCi0tICh2b2lkKXNldFN0YW5kYnk6KE5TU3RyaW5nICopc3RhbmRieQotewotICAg
IFtzZWxmIF9vYmplY3RFbGVtZW50XS0+c2V0QXR0cmlidXRlKHN0YW5kYnlBdHRyLCBzdGFuZGJ5
KTsKLX0KLQotLSAoaW50KXRhYkluZGV4Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9vYmplY3RFbGVt
ZW50XS0+Z2V0QXR0cmlidXRlKHRhYmluZGV4QXR0cikudG9JbnQoKTsKLX0KLQotLSAodm9pZClz
ZXRUYWJJbmRleDooaW50KXRhYkluZGV4Ci17Ci0gICAgW3NlbGYgX29iamVjdEVsZW1lbnRdLT5z
ZXRBdHRyaWJ1dGUodGFiaW5kZXhBdHRyLCBTdHJpbmc6Om51bWJlcih0YWJJbmRleCkpOwotfQot
Ci0tIChOU1N0cmluZyAqKXR5cGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX29iamVjdEVsZW1lbnRd
LT5nZXRBdHRyaWJ1dGUodHlwZUF0dHIpOwotfQotCi0tICh2b2lkKXNldFR5cGU6KE5TU3RyaW5n
ICopdHlwZQotewotICAgIFtzZWxmIF9vYmplY3RFbGVtZW50XS0+c2V0QXR0cmlidXRlKHR5cGVB
dHRyLCB0eXBlKTsKLX0KLQotLSAoTlNTdHJpbmcgKil1c2VNYXAKLXsKLSAgICByZXR1cm4gW3Nl
bGYgX29iamVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUodXNlbWFwQXR0cik7Ci19Ci0KLS0gKHZv
aWQpc2V0VXNlTWFwOihOU1N0cmluZyAqKXVzZU1hcAotewotICAgIFtzZWxmIF9vYmplY3RFbGVt
ZW50XS0+c2V0QXR0cmlidXRlKHVzZW1hcEF0dHIsIHVzZU1hcCk7Ci19Ci0KLS0gKGludCl2c3Bh
Y2UKLXsKLSAgICByZXR1cm4gW3NlbGYgX29iamVjdEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUodnNw
YWNlQXR0cikudG9JbnQoKTsKLX0KLQotLSAodm9pZClzZXRWc3BhY2U6KGludCl2c3BhY2UKLXsK
LSAgICBbc2VsZiBfb2JqZWN0RWxlbWVudF0tPnNldEF0dHJpYnV0ZSh2c3BhY2VBdHRyLCBTdHJp
bmc6Om51bWJlcih2c3BhY2UpKTsKLX0KLQotLSAoTlNTdHJpbmcgKil3aWR0aAotewotICAgIHJl
dHVybiBbc2VsZiBfb2JqZWN0RWxlbWVudF0tPmdldEF0dHJpYnV0ZSh3aWR0aEF0dHIpOwotfQot
Ci0tICh2b2lkKXNldFdpZHRoOihOU1N0cmluZyAqKXdpZHRoCi17Ci0gICAgW3NlbGYgX29iamVj
dEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUod2lkdGhBdHRyLCB3aWR0aCk7Ci19Ci0KLS0gKERPTURv
Y3VtZW50ICopY29udGVudERvY3VtZW50Ci17Ci0gICAgcmV0dXJuIFtET01Eb2N1bWVudCBfZG9j
dW1lbnRXaXRoOltzZWxmIF9vYmplY3RFbGVtZW50XS0+Y29udGVudERvY3VtZW50KCldOwotfQot
Ci1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MUGFyYW1FbGVtZW50Ci0KLS0gKEhUTUxQ
YXJhbUVsZW1lbnQgKilfcGFyYW1FbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhU
TUxQYXJhbUVsZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7Ci19Ci0KLS0gKE5T
U3RyaW5nICopbmFtZQotewotICAgIHJldHVybiBbc2VsZiBfcGFyYW1FbGVtZW50XS0+Z2V0QXR0
cmlidXRlKG5hbWVBdHRyKTsKLX0KLQotLSAodm9pZClzZXROYW1lOihOU1N0cmluZyAqKW5hbWUK
LXsKLSAgICBbc2VsZiBfcGFyYW1FbGVtZW50XS0+c2V0QXR0cmlidXRlKG5hbWVBdHRyLCBuYW1l
KTsKLX0KLQotLSAoTlNTdHJpbmcgKil0eXBlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9wYXJhbUVs
ZW1lbnRdLT5nZXRBdHRyaWJ1dGUodHlwZUF0dHIpOwotfQotCi0tICh2b2lkKXNldFR5cGU6KE5T
U3RyaW5nICopdHlwZQotewotICAgIFtzZWxmIF9wYXJhbUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUo
dHlwZUF0dHIsIHR5cGUpOwotfQotCi0tIChOU1N0cmluZyAqKXZhbHVlCi17Ci0gICAgcmV0dXJu
IFtzZWxmIF9wYXJhbUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUodmFsdWVBdHRyKTsKLX0KLQotLSAo
dm9pZClzZXRWYWx1ZTooTlNTdHJpbmcgKil2YWx1ZQotewotICAgIFtzZWxmIF9wYXJhbUVsZW1l
bnRdLT5zZXRBdHRyaWJ1dGUodmFsdWVBdHRyLCB2YWx1ZSk7Ci19Ci0KLS0gKE5TU3RyaW5nICop
dmFsdWVUeXBlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9wYXJhbUVsZW1lbnRdLT5nZXRBdHRyaWJ1
dGUodmFsdWV0eXBlQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0VmFsdWVUeXBlOihOU1N0cmluZyAq
KXZhbHVlVHlwZQotewotICAgIFtzZWxmIF9wYXJhbUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUodmFs
dWV0eXBlQXR0ciwgdmFsdWVUeXBlKTsKLX0KLQotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gRE9N
SFRNTEFwcGxldEVsZW1lbnQKLQotLSAoSFRNTEFwcGxldEVsZW1lbnQgKilfYXBwbGV0RWxlbWVu
dAotewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MQXBwbGV0RWxlbWVudCo+KERPTV9jYXN0
PE5vZGUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAoTlNTdHJpbmcgKilhbGlnbgotewotICAgIHJl
dHVybiBbc2VsZiBfYXBwbGV0RWxlbWVudF0tPmdldEF0dHJpYnV0ZShhbGlnbkF0dHIpOwotfQot
Ci0tICh2b2lkKXNldEFsaWduOihOU1N0cmluZyAqKWFsaWduCi17Ci0gICAgW3NlbGYgX2FwcGxl
dEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoYWxpZ25BdHRyLCBhbGlnbik7Ci19Ci0KLS0gKE5TU3Ry
aW5nICopYWx0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+Z2V0QXR0cmli
dXRlKGFsdEF0dHIpOwotfQotCi0tIChOU1N0cmluZyAqKWFsdERpc3BsYXlTdHJpbmcKLXsKLSAg
ICBTdHJpbmcgYWx0ID0gW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoYWx0QXR0
cik7Ci0gICAgcmV0dXJuIGFsdC5yZXBsYWNlKCdcXCcsIFtzZWxmIF9lbGVtZW50XS0+ZG9jdW1l
bnQoKS0+YmFja3NsYXNoQXNDdXJyZW5jeVN5bWJvbCgpKTsKLX0KLQotLSAodm9pZClzZXRBbHQ6
KE5TU3RyaW5nICopYWx0Ci17Ci0gICAgW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5zZXRBdHRyaWJ1
dGUoYWx0QXR0ciwgYWx0KTsKLX0KLQotLSAoTlNTdHJpbmcgKilhcmNoaXZlCi17Ci0gICAgcmV0
dXJuIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGFyY2hpdmVBdHRyKTsKLX0K
LQotLSAodm9pZClzZXRBcmNoaXZlOihOU1N0cmluZyAqKWFyY2hpdmUKLXsKLSAgICBbc2VsZiBf
YXBwbGV0RWxlbWVudF0tPnNldEF0dHJpYnV0ZShhcmNoaXZlQXR0ciwgYXJjaGl2ZSk7Ci19Ci0K
LS0gKE5TU3RyaW5nICopY29kZQotewotICAgIHJldHVybiBbc2VsZiBfYXBwbGV0RWxlbWVudF0t
PmdldEF0dHJpYnV0ZShjb2RlQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0Q29kZTooTlNTdHJpbmcg
Kiljb2RlCi17Ci0gICAgW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoY29kZUF0
dHIsIGNvZGUpOwotfQotCi0tIChOU1N0cmluZyAqKWNvZGVCYXNlCi17Ci0gICAgcmV0dXJuIFtz
ZWxmIF9hcHBsZXRFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNvZGViYXNlQXR0cik7Ci19Ci0KLS0g
KHZvaWQpc2V0Q29kZUJhc2U6KE5TU3RyaW5nICopY29kZUJhc2UKLXsKLSAgICBbc2VsZiBfYXBw
bGV0RWxlbWVudF0tPnNldEF0dHJpYnV0ZShjb2RlYmFzZUF0dHIsIGNvZGVCYXNlKTsKLX0KLQot
LSAoTlNTdHJpbmcgKiloZWlnaHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX2FwcGxldEVsZW1lbnRd
LT5nZXRBdHRyaWJ1dGUoaGVpZ2h0QXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0SGVpZ2h0OihOU1N0
cmluZyAqKWhlaWdodAotewotICAgIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+c2V0QXR0cmlidXRl
KGhlaWdodEF0dHIsIGhlaWdodCk7Ci19Ci0KLS0gKGludCloc3BhY2UKLXsKLSAgICByZXR1cm4g
W3NlbGYgX2FwcGxldEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoaHNwYWNlQXR0cikudG9JbnQoKTsK
LX0KLQotLSAodm9pZClzZXRIc3BhY2U6KGludCloc3BhY2UKLXsKLSAgICBbc2VsZiBfYXBwbGV0
RWxlbWVudF0tPnNldEF0dHJpYnV0ZShoc3BhY2VBdHRyLCBTdHJpbmc6Om51bWJlcihoc3BhY2Up
KTsKLX0KLQotLSAoTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9hcHBsZXRF
bGVtZW50XS0+Z2V0QXR0cmlidXRlKG5hbWVBdHRyKTsKLX0KLQotLSAodm9pZClzZXROYW1lOihO
U1N0cmluZyAqKW5hbWUKLXsKLSAgICBbc2VsZiBfYXBwbGV0RWxlbWVudF0tPnNldEF0dHJpYnV0
ZShuYW1lQXR0ciwgbmFtZSk7Ci19Ci0KLS0gKE5TU3RyaW5nICopb2JqZWN0Ci17Ci0gICAgcmV0
dXJuIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+Z2V0QXR0cmlidXRlKG9iamVjdEF0dHIpOwotfQot
Ci0tICh2b2lkKXNldE9iamVjdDooTlNTdHJpbmcgKilvYmplY3QKLXsKLSAgICBbc2VsZiBfYXBw
bGV0RWxlbWVudF0tPnNldEF0dHJpYnV0ZShvYmplY3RBdHRyLCBvYmplY3QpOwotfQotCi0tIChp
bnQpdnNwYWNlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+Z2V0QXR0cmli
dXRlKHZzcGFjZUF0dHIpLnRvSW50KCk7Ci19Ci0KLS0gKHZvaWQpc2V0VnNwYWNlOihpbnQpdnNw
YWNlCi17Ci0gICAgW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUodnNwYWNlQXR0
ciwgU3RyaW5nOjpudW1iZXIodnNwYWNlKSk7Ci19Ci0KLS0gKE5TU3RyaW5nICopd2lkdGgKLXsK
LSAgICByZXR1cm4gW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUod2lkdGhBdHRy
KTsKLX0KLQotLSAodm9pZClzZXRXaWR0aDooTlNTdHJpbmcgKil3aWR0aAotewotICAgIFtzZWxm
IF9hcHBsZXRFbGVtZW50XS0+c2V0QXR0cmlidXRlKHdpZHRoQXR0ciwgd2lkdGgpOwotfQotCi1A
ZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MTWFwRWxlbWVudAotCi0tIChIVE1MTWFwRWxl
bWVudCAqKV9tYXBFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxNYXBFbGVt
ZW50Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChET01IVE1MQ29sbGVj
dGlvbiAqKWFyZWFzCi17Ci0gICAgSFRNTENvbGxlY3Rpb24gKmNvbGxlY3Rpb24gPSBuZXcgSFRN
TENvbGxlY3Rpb24oW3NlbGYgX21hcEVsZW1lbnRdLCBIVE1MQ29sbGVjdGlvbjo6TWFwQXJlYXMp
OwotICAgIHJldHVybiBbRE9NSFRNTENvbGxlY3Rpb24gX2NvbGxlY3Rpb25XaXRoOmNvbGxlY3Rp
b25dOwotfQotCi0tIChOU1N0cmluZyAqKW5hbWUKLXsKLSAgICByZXR1cm4gW3NlbGYgX21hcEVs
ZW1lbnRdLT5nZXRBdHRyaWJ1dGUobmFtZUF0dHIpOwotfQotCi0tICh2b2lkKXNldE5hbWU6KE5T
U3RyaW5nICopbmFtZQotewotICAgIFtzZWxmIF9tYXBFbGVtZW50XS0+c2V0QXR0cmlidXRlKG5h
bWVBdHRyLCBuYW1lKTsKLX0KLQotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gRE9NSFRNTEFyZWFF
bGVtZW50Ci0KLS0gKEhUTUxBcmVhRWxlbWVudCAqKV9hcmVhRWxlbWVudAotewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxIVE1MQXJlYUVsZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFs
KSk7Ci19Ci0KLS0gKE5TU3RyaW5nICopYWNjZXNzS2V5Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9h
cmVhRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhY2Nlc3NrZXlBdHRyKTsKLX0KLQotLSAodm9pZClz
ZXRBY2Nlc3NLZXk6KE5TU3RyaW5nICopYWNjZXNzS2V5Ci17Ci0gICAgW3NlbGYgX2FyZWFFbGVt
ZW50XS0+c2V0QXR0cmlidXRlKGFjY2Vzc2tleUF0dHIsIGFjY2Vzc0tleSk7Ci19Ci0KLS0gKE5T
U3RyaW5nICopYWx0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9hcmVhRWxlbWVudF0tPmdldEF0dHJp
YnV0ZShhbHRBdHRyKTsKLX0KLQotLSAoTlNTdHJpbmcgKilhbHREaXNwbGF5U3RyaW5nCi17Ci0g
ICAgU3RyaW5nIGFsdCA9IFtzZWxmIF9hcmVhRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhbHRBdHRy
KTsKLSAgICByZXR1cm4gYWx0LnJlcGxhY2UoJ1xcJywgW3NlbGYgX2VsZW1lbnRdLT5kb2N1bWVu
dCgpLT5iYWNrc2xhc2hBc0N1cnJlbmN5U3ltYm9sKCkpOwotfQotCi0tICh2b2lkKXNldEFsdDoo
TlNTdHJpbmcgKilhbHQKLXsKLSAgICBbc2VsZiBfYXJlYUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUo
YWx0QXR0ciwgYWx0KTsKLX0KLQotLSAoTlNTdHJpbmcgKiljb29yZHMKLXsKLSAgICByZXR1cm4g
W3NlbGYgX2FyZWFFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNvb3Jkc0F0dHIpOwotfQotCi0tICh2
b2lkKXNldENvb3JkczooTlNTdHJpbmcgKiljb29yZHMKLXsKLSAgICBbc2VsZiBfYXJlYUVsZW1l
bnRdLT5zZXRBdHRyaWJ1dGUoY29vcmRzQXR0ciwgY29vcmRzKTsKLX0KLQotLSAoTlNVUkwgKilh
YnNvbHV0ZUxpbmtVUkwKLXsKLSAgICByZXR1cm4gW3NlbGYgX2dldFVSTEF0dHJpYnV0ZTpAImhy
ZWYiXTsKLX0KLQotLSAoTlNTdHJpbmcgKilocmVmCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9hcmVh
RWxlbWVudF0tPmhyZWYoKTsKLX0KLQotLSAodm9pZClzZXRIcmVmOihOU1N0cmluZyAqKWhyZWYK
LXsKLSAgICBbc2VsZiBfYXJlYUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoaHJlZkF0dHIsIGhyZWYp
OwotfQotCi0tIChCT09MKW5vSHJlZgotewotICAgIHJldHVybiBbc2VsZiBfYXJlYUVsZW1lbnRd
LT5nZXRBdHRyaWJ1dGUobm9ocmVmQXR0cikuaXNOdWxsKCk7Ci19Ci0KLS0gKHZvaWQpc2V0Tm9I
cmVmOihCT09MKW5vSHJlZgotewotICAgIFtzZWxmIF9hcmVhRWxlbWVudF0tPnNldEF0dHJpYnV0
ZShub2hyZWZBdHRyLCBub0hyZWYgPyAiIiA6IDApOwotfQotCi0tIChOU1N0cmluZyAqKXNoYXBl
Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9hcmVhRWxlbWVudF0tPmdldEF0dHJpYnV0ZShzaGFwZUF0
dHIpOwotfQotCi0tICh2b2lkKXNldFNoYXBlOihOU1N0cmluZyAqKXNoYXBlCi17Ci0gICAgW3Nl
bGYgX2FyZWFFbGVtZW50XS0+c2V0QXR0cmlidXRlKHNoYXBlQXR0ciwgc2hhcGUpOwotfQotCi0t
IChpbnQpdGFiSW5kZXgKLXsKLSAgICByZXR1cm4gW3NlbGYgX2FyZWFFbGVtZW50XS0+Z2V0QXR0
cmlidXRlKHRhYmluZGV4QXR0cikudG9JbnQoKTsKLX0KLQotLSAodm9pZClzZXRUYWJJbmRleDoo
aW50KXRhYkluZGV4Ci17Ci0gICAgW3NlbGYgX2FyZWFFbGVtZW50XS0+c2V0QXR0cmlidXRlKHRh
YmluZGV4QXR0ciwgU3RyaW5nOjpudW1iZXIodGFiSW5kZXgpKTsKLX0KLQotLSAoTlNTdHJpbmcg
Kil0YXJnZXQKLXsKLSAgICByZXR1cm4gW3NlbGYgX2FyZWFFbGVtZW50XS0+Z2V0QXR0cmlidXRl
KHRhcmdldEF0dHIpOwotfQotCi0tICh2b2lkKXNldFRhcmdldDooTlNTdHJpbmcgKil0YXJnZXQK
LXsKLSAgICBbc2VsZiBfYXJlYUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwgdGFy
Z2V0KTsKLX0KLQotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gRE9NSFRNTFNjcmlwdEVsZW1lbnQK
LQotLSAoSFRNTFNjcmlwdEVsZW1lbnQgKilfc2NyaXB0RWxlbWVudAotewotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxIVE1MU2NyaXB0RWxlbWVudCo+KERPTV9jYXN0PE5vZGUqPihfaW50ZXJuYWwp
KTsKLX0KLQotLSAoTlNTdHJpbmcgKil0ZXh0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9zY3JpcHRF
bGVtZW50XS0+Z2V0QXR0cmlidXRlKHRleHRBdHRyKTsKLX0KLQotLSAodm9pZClzZXRUZXh0OihO
U1N0cmluZyAqKXRleHQKLXsKLSAgICBbc2VsZiBfc2NyaXB0RWxlbWVudF0tPnNldEF0dHJpYnV0
ZSh0ZXh0QXR0ciwgdGV4dCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopaHRtbEZvcgotewotICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UoMCwgIm5vdCBpbXBsZW1lbnRlZCBieSBraHRtbCIpOwotICAgIHJl
dHVybiBuaWw7Ci19Ci0KLS0gKHZvaWQpc2V0SHRtbEZvcjooTlNTdHJpbmcgKilodG1sRm9yCi17
Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSgwLCAibm90IGltcGxlbWVudGVkIGJ5IGtodG1sIik7
Ci19Ci0KLS0gKE5TU3RyaW5nICopZXZlbnQKLXsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKDAs
ICJub3QgaW1wbGVtZW50ZWQgYnkga2h0bWwiKTsKLSAgICByZXR1cm4gbmlsOwotfQotCi0tICh2
b2lkKXNldEV2ZW50OihOU1N0cmluZyAqKWV2ZW50Ci17Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FH
RSgwLCAibm90IGltcGxlbWVudGVkIGJ5IGtodG1sIik7Ci19Ci0KLS0gKE5TU3RyaW5nICopY2hh
cnNldAotewotICAgIHJldHVybiBbc2VsZiBfc2NyaXB0RWxlbWVudF0tPmdldEF0dHJpYnV0ZShj
aGFyc2V0QXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0Q2hhcnNldDooTlNTdHJpbmcgKiljaGFyc2V0
Ci17Ci0gICAgW3NlbGYgX3NjcmlwdEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoY2hhcnNldEF0dHIs
IGNoYXJzZXQpOwotfQotCi0tIChCT09MKWRlZmVyCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9zY3Jp
cHRFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGRlZmVyQXR0cikuaXNOdWxsKCk7Ci19Ci0KLS0gKHZv
aWQpc2V0RGVmZXI6KEJPT0wpZGVmZXIKLXsKLSAgICBbc2VsZiBfc2NyaXB0RWxlbWVudF0tPnNl
dEF0dHJpYnV0ZShkZWZlckF0dHIsIGRlZmVyID8gIiIgOiAwKTsKLX0KLQotLSAoTlNTdHJpbmcg
KilzcmMKLXsKLSAgICByZXR1cm4gW3NlbGYgX3NjcmlwdEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUo
c3JjQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0U3JjOihOU1N0cmluZyAqKXNyYwotewotICAgIFtz
ZWxmIF9zY3JpcHRFbGVtZW50XS0+c2V0QXR0cmlidXRlKHNyY0F0dHIsIHNyYyk7Ci19Ci0KLS0g
KE5TU3RyaW5nICopdHlwZQotewotICAgIHJldHVybiBbc2VsZiBfc2NyaXB0RWxlbWVudF0tPmdl
dEF0dHJpYnV0ZSh0eXBlQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0VHlwZTooTlNTdHJpbmcgKil0
eXBlCi17Ci0gICAgW3NlbGYgX3NjcmlwdEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUodHlwZUF0dHIs
IHR5cGUpOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MVGFibGVDYXB0aW9u
RWxlbWVudAotCi0tIChOU1N0cmluZyAqKWFsaWduCi17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJs
ZUNhcHRpb25FbGVtZW50XS0+Z2V0QXR0cmlidXRlKGFsaWduQXR0cik7Ci19Ci0KLS0gKHZvaWQp
c2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ24KLXsKLSAgICBbc2VsZiBfdGFibGVDYXB0aW9uRWxl
bWVudF0tPnNldEF0dHJpYnV0ZShhbGlnbkF0dHIsIGFsaWduKTsKLX0KLQotQGVuZAotCi1AaW1w
bGVtZW50YXRpb24gRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkK
LQotKyAoRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQgKilfdGFibGVDYXB0aW9uRWxlbWVudFdp
dGg6KEhUTUxUYWJsZUNhcHRpb25FbGVtZW50ICopaW1wbAotewotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudCo+KFtET01Ob2RlIF9ub2RlV2l0aDppbXBs
XSk7Ci19Ci0KLS0gKEhUTUxUYWJsZUNhcHRpb25FbGVtZW50ICopX3RhYmxlQ2FwdGlvbkVsZW1l
bnQKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQqPihE
T01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9u
IERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Ci0KLS0gKE5TU3RyaW5nICopYWxpZ24KLXsKLSAg
ICByZXR1cm4gW3NlbGYgX3RhYmxlU2VjdGlvbkVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoYWxpZ25B
dHRyKTsKLX0KLQotLSAodm9pZClzZXRBbGlnbjooTlNTdHJpbmcgKilhbGlnbgotewotICAgIFtz
ZWxmIF90YWJsZVNlY3Rpb25FbGVtZW50XS0+c2V0QXR0cmlidXRlKGFsaWduQXR0ciwgYWxpZ24p
OwotfQotCi0tIChOU1N0cmluZyAqKWNoCi17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZVNlY3Rp
b25FbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNoYXJvZmZBdHRyKTsKLX0KLQotLSAodm9pZClzZXRD
aDooTlNTdHJpbmcgKiljaAotewotICAgIFtzZWxmIF90YWJsZVNlY3Rpb25FbGVtZW50XS0+c2V0
QXR0cmlidXRlKGNoYXJvZmZBdHRyLCBjaCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopY2hPZmYKLXsK
LSAgICByZXR1cm4gW3NlbGYgX3RhYmxlU2VjdGlvbkVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY2hh
cm9mZkF0dHIpOwotfQotCi0tICh2b2lkKXNldENoT2ZmOihOU1N0cmluZyAqKWNoT2ZmCi17Ci0g
ICAgW3NlbGYgX3RhYmxlU2VjdGlvbkVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoY2hhcm9mZkF0dHIs
IGNoT2ZmKTsKLX0KLQotLSAoTlNTdHJpbmcgKil2QWxpZ24KLXsKLSAgICByZXR1cm4gW3NlbGYg
X3RhYmxlU2VjdGlvbkVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUodmFsaWduQXR0cik7Ci19Ci0KLS0g
KHZvaWQpc2V0VkFsaWduOihOU1N0cmluZyAqKXZBbGlnbgotewotICAgIFtzZWxmIF90YWJsZVNl
Y3Rpb25FbGVtZW50XS0+c2V0QXR0cmlidXRlKHZhbGlnbkF0dHIsIHZBbGlnbik7Ci19Ci0KLS0g
KERPTUhUTUxDb2xsZWN0aW9uICopcm93cwotewotICAgIEhUTUxDb2xsZWN0aW9uICpjb2xsZWN0
aW9uID0gbmV3IEhUTUxDb2xsZWN0aW9uKFtzZWxmIF90YWJsZVNlY3Rpb25FbGVtZW50XSwgSFRN
TENvbGxlY3Rpb246OlRhYmxlUm93cyk7Ci0gICAgcmV0dXJuIFtET01IVE1MQ29sbGVjdGlvbiBf
Y29sbGVjdGlvbldpdGg6Y29sbGVjdGlvbl07Ci19Ci0KLS0gKERPTUhUTUxFbGVtZW50ICopaW5z
ZXJ0Um93OihpbnQpaW5kZXgKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBIVE1M
RWxlbWVudCAqaW1wbCA9IFtzZWxmIF90YWJsZVNlY3Rpb25FbGVtZW50XS0+aW5zZXJ0Um93KGlu
ZGV4LCBlYyk7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gW0RPTUhUTUxF
bGVtZW50IF9lbGVtZW50V2l0aDppbXBsXTsKLX0KLQotLSAodm9pZClkZWxldGVSb3c6KGludClp
bmRleAotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFtzZWxmIF90YWJsZVNlY3Rp
b25FbGVtZW50XS0+ZGVsZXRlUm93KGluZGV4LCBlYyk7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVj
KTsKLX0KLQotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1l
bnQgKFdlYkNvcmVJbnRlcm5hbCkKLQotKyAoRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgKilf
dGFibGVTZWN0aW9uRWxlbWVudFdpdGg6KEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50ICopaW1wbAot
ewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudCo+KFtE
T01Ob2RlIF9ub2RlV2l0aDppbXBsXSk7Ci19Ci0KLS0gKEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50
ICopX3RhYmxlU2VjdGlvbkVsZW1lbnQKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7Ci19Ci0KLUBl
bmQKLQotQGltcGxlbWVudGF0aW9uIERPTUhUTUxUYWJsZUVsZW1lbnQKLQotLSAoRE9NSFRNTFRh
YmxlQ2FwdGlvbkVsZW1lbnQgKiljYXB0aW9uCi17Ci0gICAgcmV0dXJuIFtET01IVE1MVGFibGVD
YXB0aW9uRWxlbWVudCBfdGFibGVDYXB0aW9uRWxlbWVudFdpdGg6W3NlbGYgX3RhYmxlRWxlbWVu
dF0tPmNhcHRpb24oKV07Ci19Ci0KLS0gKHZvaWQpc2V0Q2FwdGlvbjooRE9NSFRNTFRhYmxlQ2Fw
dGlvbkVsZW1lbnQgKiljYXB0aW9uCi17Ci0gICAgW3NlbGYgX3RhYmxlRWxlbWVudF0tPnNldENh
cHRpb24oW2NhcHRpb24gX3RhYmxlQ2FwdGlvbkVsZW1lbnRdKTsKLX0KLQotLSAoRE9NSFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQgKil0SGVhZAotewotICAgIHJldHVybiBbRE9NSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQgX3RhYmxlU2VjdGlvbkVsZW1lbnRXaXRoOltzZWxmIF90YWJsZUVsZW1lbnRd
LT50SGVhZCgpXTsKLX0KLQotLSAodm9pZClzZXRUSGVhZDooRE9NSFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQgKil0SGVhZAotewotICAgIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5zZXRUSGVhZChbdEhl
YWQgX3RhYmxlU2VjdGlvbkVsZW1lbnRdKTsKLX0KLQotLSAoRE9NSFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQgKil0Rm9vdAotewotICAgIHJldHVybiBbRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQg
X3RhYmxlU2VjdGlvbkVsZW1lbnRXaXRoOltzZWxmIF90YWJsZUVsZW1lbnRdLT50Rm9vdCgpXTsK
LX0KLQotLSAodm9pZClzZXRURm9vdDooRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgKil0Rm9v
dAotewotICAgIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5zZXRURm9vdChbdEZvb3QgX3RhYmxlU2Vj
dGlvbkVsZW1lbnRdKTsKLX0KLQotLSAoRE9NSFRNTENvbGxlY3Rpb24gKilyb3dzCi17Ci0gICAg
SFRNTENvbGxlY3Rpb24gKmNvbGxlY3Rpb24gPSBuZXcgSFRNTENvbGxlY3Rpb24oW3NlbGYgX3Rh
YmxlRWxlbWVudF0sIEhUTUxDb2xsZWN0aW9uOjpUYWJsZVJvd3MpOwotICAgIHJldHVybiBbRE9N
SFRNTENvbGxlY3Rpb24gX2NvbGxlY3Rpb25XaXRoOmNvbGxlY3Rpb25dOwotfQotCi0tIChET01I
VE1MQ29sbGVjdGlvbiAqKXRCb2RpZXMKLXsKLSAgICBIVE1MQ29sbGVjdGlvbiAqY29sbGVjdGlv
biA9IG5ldyBIVE1MQ29sbGVjdGlvbihbc2VsZiBfdGFibGVFbGVtZW50XSwgSFRNTENvbGxlY3Rp
b246OlRhYmxlVEJvZGllcyk7Ci0gICAgcmV0dXJuIFtET01IVE1MQ29sbGVjdGlvbiBfY29sbGVj
dGlvbldpdGg6Y29sbGVjdGlvbl07Ci19Ci0KLS0gKE5TU3RyaW5nICopYWxpZ24KLXsKLSAgICBy
ZXR1cm4gW3NlbGYgX3RhYmxlRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhbGlnbkF0dHIpOwotfQot
Ci0tICh2b2lkKXNldEFsaWduOihOU1N0cmluZyAqKWFsaWduCi17Ci0gICAgW3NlbGYgX3RhYmxl
RWxlbWVudF0tPnNldEF0dHJpYnV0ZShhbGlnbkF0dHIsIGFsaWduKTsKLX0KLQotLSAoTlNTdHJp
bmcgKiliZ0NvbG9yCi17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5nZXRBdHRy
aWJ1dGUoYmdjb2xvckF0dHIpOwotfQotCi0tICh2b2lkKXNldEJnQ29sb3I6KE5TU3RyaW5nICop
YmdDb2xvcgotewotICAgIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoYmdjb2xv
ckF0dHIsIGJnQ29sb3IpOwotfQotCi0tIChOU1N0cmluZyAqKWJvcmRlcgotewotICAgIHJldHVy
biBbc2VsZiBfdGFibGVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGJvcmRlckF0dHIpOwotfQotCi0t
ICh2b2lkKXNldEJvcmRlcjooTlNTdHJpbmcgKilib3JkZXIKLXsKLSAgICBbc2VsZiBfdGFibGVF
bGVtZW50XS0+c2V0QXR0cmlidXRlKGJvcmRlckF0dHIsIGJvcmRlcik7Ci19Ci0KLS0gKE5TU3Ry
aW5nICopY2VsbFBhZGRpbmcKLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlRWxlbWVudF0tPmdl
dEF0dHJpYnV0ZShjZWxscGFkZGluZ0F0dHIpOwotfQotCi0tICh2b2lkKXNldENlbGxQYWRkaW5n
OihOU1N0cmluZyAqKWNlbGxQYWRkaW5nCi17Ci0gICAgW3NlbGYgX3RhYmxlRWxlbWVudF0tPnNl
dEF0dHJpYnV0ZShjZWxscGFkZGluZ0F0dHIsIGNlbGxQYWRkaW5nKTsKLX0KLQotLSAoTlNTdHJp
bmcgKiljZWxsU3BhY2luZwotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVFbGVtZW50XS0+Z2V0
QXR0cmlidXRlKGNlbGxzcGFjaW5nQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0Q2VsbFNwYWNpbmc6
KE5TU3RyaW5nICopY2VsbFNwYWNpbmcKLXsKLSAgICBbc2VsZiBfdGFibGVFbGVtZW50XS0+c2V0
QXR0cmlidXRlKGNlbGxzcGFjaW5nQXR0ciwgY2VsbFNwYWNpbmcpOwotfQotCi0tIChOU1N0cmlu
ZyAqKWZyYW1lQm9yZGVycwotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVFbGVtZW50XS0+Z2V0
QXR0cmlidXRlKGZyYW1lQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0RnJhbWVCb3JkZXJzOihOU1N0
cmluZyAqKWZyYW1lQm9yZGVycwotewotICAgIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5zZXRBdHRy
aWJ1dGUoZnJhbWVBdHRyLCBmcmFtZUJvcmRlcnMpOwotfQotCi0tIChOU1N0cmluZyAqKXJ1bGVz
Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUocnVsZXNB
dHRyKTsKLX0KLQotLSAodm9pZClzZXRSdWxlczooTlNTdHJpbmcgKilydWxlcwotewotICAgIFtz
ZWxmIF90YWJsZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUocnVsZXNBdHRyLCBydWxlcyk7Ci19Ci0K
LS0gKE5TU3RyaW5nICopc3VtbWFyeQotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVFbGVtZW50
XS0+Z2V0QXR0cmlidXRlKHN1bW1hcnlBdHRyKTsKLX0KLQotLSAodm9pZClzZXRTdW1tYXJ5OihO
U1N0cmluZyAqKXN1bW1hcnkKLXsKLSAgICBbc2VsZiBfdGFibGVFbGVtZW50XS0+c2V0QXR0cmli
dXRlKHN1bW1hcnlBdHRyLCBzdW1tYXJ5KTsKLX0KLQotLSAoTlNTdHJpbmcgKil3aWR0aAotewot
ICAgIHJldHVybiBbc2VsZiBfdGFibGVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKHdpZHRoQXR0cik7
Ci19Ci0KLS0gKHZvaWQpc2V0V2lkdGg6KE5TU3RyaW5nICopd2lkdGgKLXsKLSAgICBbc2VsZiBf
dGFibGVFbGVtZW50XS0+c2V0QXR0cmlidXRlKHdpZHRoQXR0ciwgd2lkdGgpOwotfQotCi0tIChE
T01IVE1MRWxlbWVudCAqKWNyZWF0ZVRIZWFkCi17Ci0gICAgSFRNTFRhYmxlU2VjdGlvbkVsZW1l
bnQgKmltcGwgPSBzdGF0aWNfY2FzdDxIVE1MVGFibGVTZWN0aW9uRWxlbWVudCo+KFtzZWxmIF90
YWJsZUVsZW1lbnRdLT5jcmVhdGVUSGVhZCgpKTsKLSAgICByZXR1cm4gW0RPTUhUTUxUYWJsZVNl
Y3Rpb25FbGVtZW50IF90YWJsZVNlY3Rpb25FbGVtZW50V2l0aDppbXBsXTsKLX0KLQotLSAodm9p
ZClkZWxldGVUSGVhZAotewotICAgIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5kZWxldGVUSGVhZCgp
OwotfQotCi0tIChET01IVE1MRWxlbWVudCAqKWNyZWF0ZVRGb290Ci17Ci0gICAgSFRNTFRhYmxl
U2VjdGlvbkVsZW1lbnQgKmltcGwgPSBzdGF0aWNfY2FzdDxIVE1MVGFibGVTZWN0aW9uRWxlbWVu
dCo+KFtzZWxmIF90YWJsZUVsZW1lbnRdLT5jcmVhdGVURm9vdCgpKTsKLSAgICByZXR1cm4gW0RP
TUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IF90YWJsZVNlY3Rpb25FbGVtZW50V2l0aDppbXBsXTsK
LX0KLQotLSAodm9pZClkZWxldGVURm9vdAotewotICAgIFtzZWxmIF90YWJsZUVsZW1lbnRdLT5k
ZWxldGVURm9vdCgpOwotfQotCi0tIChET01IVE1MRWxlbWVudCAqKWNyZWF0ZUNhcHRpb24KLXsK
LSAgICBIVE1MVGFibGVDYXB0aW9uRWxlbWVudCAqaW1wbCA9IHN0YXRpY19jYXN0PEhUTUxUYWJs
ZUNhcHRpb25FbGVtZW50Kj4oW3NlbGYgX3RhYmxlRWxlbWVudF0tPmNyZWF0ZUNhcHRpb24oKSk7
Ci0gICAgcmV0dXJuIFtET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudCBfdGFibGVDYXB0aW9uRWxl
bWVudFdpdGg6aW1wbF07Ci19Ci0KLS0gKHZvaWQpZGVsZXRlQ2FwdGlvbgotewotICAgIFtzZWxm
IF90YWJsZUVsZW1lbnRdLT5kZWxldGVDYXB0aW9uKCk7Ci19Ci0KLS0gKERPTUhUTUxFbGVtZW50
ICopaW5zZXJ0Um93OihpbnQpaW5kZXgKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAg
ICBIVE1MVGFibGVFbGVtZW50ICppbXBsID0gc3RhdGljX2Nhc3Q8SFRNTFRhYmxlRWxlbWVudCo+
KFtzZWxmIF90YWJsZUVsZW1lbnRdLT5pbnNlcnRSb3coaW5kZXgsIGVjKSk7Ci0gICAgcmFpc2VP
bkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gW0RPTUhUTUxUYWJsZUVsZW1lbnQgX3RhYmxlRWxl
bWVudFdpdGg6aW1wbF07Ci19Ci0KLS0gKHZvaWQpZGVsZXRlUm93OihpbnQpaW5kZXgKLXsKLSAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfdGFibGVFbGVtZW50XS0+ZGVsZXRl
Um93KGluZGV4LCBlYyk7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLX0KLQotQGVuZAotCi1A
aW1wbGVtZW50YXRpb24gRE9NSFRNTFRhYmxlRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotCi0r
IChET01IVE1MVGFibGVFbGVtZW50ICopX3RhYmxlRWxlbWVudFdpdGg6KEhUTUxUYWJsZUVsZW1l
bnQgKilpbXBsCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PERPTUhUTUxUYWJsZUVsZW1lbnQq
PihbRE9NTm9kZSBfbm9kZVdpdGg6aW1wbF0pOwotfQotCi0tIChIVE1MVGFibGVFbGVtZW50ICop
X3RhYmxlRWxlbWVudAotewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MVGFibGVFbGVtZW50
Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9pbnRlcm5hbCkpOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRh
dGlvbiBET01IVE1MVGFibGVDb2xFbGVtZW50Ci0KLS0gKEhUTUxUYWJsZUNvbEVsZW1lbnQgKilf
dGFibGVDb2xFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxUYWJsZUNvbEVs
ZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7Ci19Ci0KLS0gKE5TU3RyaW5nICop
YWxpZ24KLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlQ29sRWxlbWVudF0tPmdldEF0dHJpYnV0
ZShhbGlnbkF0dHIpOwotfQotCi0tICh2b2lkKXNldEFsaWduOihOU1N0cmluZyAqKWFsaWduCi17
Ci0gICAgW3NlbGYgX3RhYmxlQ29sRWxlbWVudF0tPnNldEF0dHJpYnV0ZShhbGlnbkF0dHIsIGFs
aWduKTsKLX0KLQotLSAoTlNTdHJpbmcgKiljaAotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVD
b2xFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNoYXJvZmZBdHRyKTsKLX0KLQotLSAodm9pZClzZXRD
aDooTlNTdHJpbmcgKiljaAotewotICAgIFtzZWxmIF90YWJsZUNvbEVsZW1lbnRdLT5zZXRBdHRy
aWJ1dGUoY2hhcm9mZkF0dHIsIGNoKTsKLX0KLQotLSAoTlNTdHJpbmcgKiljaE9mZgotewotICAg
IHJldHVybiBbc2VsZiBfdGFibGVDb2xFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNoYXJvZmZBdHRy
KTsKLX0KLQotLSAodm9pZClzZXRDaE9mZjooTlNTdHJpbmcgKiljaE9mZgotewotICAgIFtzZWxm
IF90YWJsZUNvbEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoY2hhcm9mZkF0dHIsIGNoT2ZmKTsKLX0K
LQotLSAoaW50KXNwYW4KLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlQ29sRWxlbWVudF0tPmdl
dEF0dHJpYnV0ZShzcGFuQXR0cikudG9JbnQoKTsKLX0KLQotLSAodm9pZClzZXRTcGFuOihpbnQp
c3BhbgotewotICAgIFtzZWxmIF90YWJsZUNvbEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoc3BhbkF0
dHIsIFN0cmluZzo6bnVtYmVyKHNwYW4pKTsKLX0KLQotLSAoTlNTdHJpbmcgKil2QWxpZ24KLXsK
LSAgICByZXR1cm4gW3NlbGYgX3RhYmxlQ29sRWxlbWVudF0tPmdldEF0dHJpYnV0ZSh2YWxpZ25B
dHRyKTsKLX0KLQotLSAodm9pZClzZXRWQWxpZ246KE5TU3RyaW5nICopdkFsaWduCi17Ci0gICAg
W3NlbGYgX3RhYmxlQ29sRWxlbWVudF0tPnNldEF0dHJpYnV0ZSh2YWxpZ25BdHRyLCB2QWxpZ24p
OwotfQotCi0tIChOU1N0cmluZyAqKXdpZHRoCi17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZUNv
bEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUod2lkdGhBdHRyKTsKLX0KLQotLSAodm9pZClzZXRXaWR0
aDooTlNTdHJpbmcgKil3aWR0aAotewotICAgIFtzZWxmIF90YWJsZUNvbEVsZW1lbnRdLT5zZXRB
dHRyaWJ1dGUod2lkdGhBdHRyLCB3aWR0aCk7Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9u
IERPTUhUTUxUYWJsZVJvd0VsZW1lbnQKLQotLSAoSFRNTFRhYmxlUm93RWxlbWVudCAqKV90YWJs
ZVJvd0VsZW1lbnQKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFRhYmxlUm93RWxlbWVu
dCo+KERPTV9jYXN0PE5vZGUqPihfaW50ZXJuYWwpKTsKLX0KLQotLSAoaW50KXJvd0luZGV4Ci17
Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZVJvd0VsZW1lbnRdLT5yb3dJbmRleCgpOwotfQotCi0t
IChpbnQpc2VjdGlvblJvd0luZGV4Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZVJvd0VsZW1l
bnRdLT5zZWN0aW9uUm93SW5kZXgoKTsKLX0KLQotLSAoRE9NSFRNTENvbGxlY3Rpb24gKiljZWxs
cwotewotICAgIEhUTUxDb2xsZWN0aW9uICpjb2xsZWN0aW9uID0gbmV3IEhUTUxDb2xsZWN0aW9u
KFtzZWxmIF90YWJsZVJvd0VsZW1lbnRdLCBIVE1MQ29sbGVjdGlvbjo6VFJDZWxscyk7Ci0gICAg
cmV0dXJuIFtET01IVE1MQ29sbGVjdGlvbiBfY29sbGVjdGlvbldpdGg6Y29sbGVjdGlvbl07Ci19
Ci0KLS0gKE5TU3RyaW5nICopYWxpZ24KLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlUm93RWxl
bWVudF0tPmdldEF0dHJpYnV0ZShhbGlnbkF0dHIpOwotfQotCi0tICh2b2lkKXNldEFsaWduOihO
U1N0cmluZyAqKWFsaWduCi17Ci0gICAgW3NlbGYgX3RhYmxlUm93RWxlbWVudF0tPnNldEF0dHJp
YnV0ZShhbGlnbkF0dHIsIGFsaWduKTsKLX0KLQotLSAoTlNTdHJpbmcgKiliZ0NvbG9yCi17Ci0g
ICAgcmV0dXJuIFtzZWxmIF90YWJsZVJvd0VsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoYmdjb2xvckF0
dHIpOwotfQotCi0tICh2b2lkKXNldEJnQ29sb3I6KE5TU3RyaW5nICopYmdDb2xvcgotewotICAg
IFtzZWxmIF90YWJsZVJvd0VsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoYmdjb2xvckF0dHIsIGJnQ29s
b3IpOwotfQotCi0tIChOU1N0cmluZyAqKWNoCi17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZVJv
d0VsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY2hhcm9mZkF0dHIpOwotfQotCi0tICh2b2lkKXNldENo
OihOU1N0cmluZyAqKWNoCi17Ci0gICAgW3NlbGYgX3RhYmxlUm93RWxlbWVudF0tPnNldEF0dHJp
YnV0ZShjaGFyb2ZmQXR0ciwgY2gpOwotfQotCi0tIChOU1N0cmluZyAqKWNoT2ZmCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF90YWJsZVJvd0VsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY2hhcm9mZkF0dHIp
OwotfQotCi0tICh2b2lkKXNldENoT2ZmOihOU1N0cmluZyAqKWNoT2ZmCi17Ci0gICAgW3NlbGYg
X3RhYmxlUm93RWxlbWVudF0tPnNldEF0dHJpYnV0ZShjaGFyb2ZmQXR0ciwgY2hPZmYpOwotfQot
Ci0tIChOU1N0cmluZyAqKXZBbGlnbgotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVSb3dFbGVt
ZW50XS0+Z2V0QXR0cmlidXRlKHZhbGlnbkF0dHIpOwotfQotCi0tICh2b2lkKXNldFZBbGlnbjoo
TlNTdHJpbmcgKil2QWxpZ24KLXsKLSAgICBbc2VsZiBfdGFibGVSb3dFbGVtZW50XS0+c2V0QXR0
cmlidXRlKHZhbGlnbkF0dHIsIHZBbGlnbik7Ci19Ci0KLS0gKERPTUhUTUxFbGVtZW50ICopaW5z
ZXJ0Q2VsbDooaW50KWluZGV4Ci17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgSFRN
TFRhYmxlQ2VsbEVsZW1lbnQgKmltcGwgPSBzdGF0aWNfY2FzdDxIVE1MVGFibGVDZWxsRWxlbWVu
dCo+KFtzZWxmIF90YWJsZVJvd0VsZW1lbnRdLT5pbnNlcnRDZWxsKGluZGV4LCBlYykpOwotICAg
IHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0dXJuIFtET01IVE1MVGFibGVDZWxsRWxlbWVu
dCBfdGFibGVDZWxsRWxlbWVudFdpdGg6aW1wbF07Ci19Ci0KLS0gKHZvaWQpZGVsZXRlQ2VsbDoo
aW50KWluZGV4Ci17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3NlbGYgX3RhYmxl
Um93RWxlbWVudF0tPmRlbGV0ZUNlbGwoaW5kZXgsIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3Io
ZWMpOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MVGFibGVDZWxsRWxlbWVu
dAotCi0tIChpbnQpY2VsbEluZGV4Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZUNlbGxFbGVt
ZW50XS0+Y2VsbEluZGV4KCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopYWJicgotewotICAgIHJldHVy
biBbc2VsZiBfdGFibGVDZWxsRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhYmJyQXR0cik7Ci19Ci0K
LS0gKHZvaWQpc2V0QWJicjooTlNTdHJpbmcgKilhYmJyCi17Ci0gICAgW3NlbGYgX3RhYmxlQ2Vs
bEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoYWJickF0dHIsIGFiYnIpOwotfQotCi0tIChOU1N0cmlu
ZyAqKWFsaWduCi17Ci0gICAgcmV0dXJuIFtzZWxmIF90YWJsZUNlbGxFbGVtZW50XS0+Z2V0QXR0
cmlidXRlKGFsaWduQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxp
Z24KLXsKLSAgICBbc2VsZiBfdGFibGVDZWxsRWxlbWVudF0tPnNldEF0dHJpYnV0ZShhbGlnbkF0
dHIsIGFsaWduKTsKLX0KLQotLSAoTlNTdHJpbmcgKilheGlzCi17Ci0gICAgcmV0dXJuIFtzZWxm
IF90YWJsZUNlbGxFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGF4aXNBdHRyKTsKLX0KLQotLSAodm9p
ZClzZXRBeGlzOihOU1N0cmluZyAqKWF4aXMKLXsKLSAgICBbc2VsZiBfdGFibGVDZWxsRWxlbWVu
dF0tPnNldEF0dHJpYnV0ZShheGlzQXR0ciwgYXhpcyk7Ci19Ci0KLS0gKE5TU3RyaW5nICopYmdD
b2xvcgotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVDZWxsRWxlbWVudF0tPmdldEF0dHJpYnV0
ZShiZ2NvbG9yQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0QmdDb2xvcjooTlNTdHJpbmcgKiliZ0Nv
bG9yCi17Ci0gICAgW3NlbGYgX3RhYmxlQ2VsbEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoYmdjb2xv
ckF0dHIsIGJnQ29sb3IpOwotfQotCi0tIChOU1N0cmluZyAqKWNoCi17Ci0gICAgcmV0dXJuIFtz
ZWxmIF90YWJsZUNlbGxFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGNoYXJvZmZBdHRyKTsKLX0KLQot
LSAodm9pZClzZXRDaDooTlNTdHJpbmcgKiljaAotewotICAgIFtzZWxmIF90YWJsZUNlbGxFbGVt
ZW50XS0+c2V0QXR0cmlidXRlKGNoYXJvZmZBdHRyLCBjaCk7Ci19Ci0KLS0gKE5TU3RyaW5nICop
Y2hPZmYKLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlQ2VsbEVsZW1lbnRdLT5nZXRBdHRyaWJ1
dGUoY2hhcm9mZkF0dHIpOwotfQotCi0tICh2b2lkKXNldENoT2ZmOihOU1N0cmluZyAqKWNoT2Zm
Ci17Ci0gICAgW3NlbGYgX3RhYmxlQ2VsbEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoY2hhcm9mZkF0
dHIsIGNoT2ZmKTsKLX0KLQotLSAoaW50KWNvbFNwYW4KLXsKLSAgICByZXR1cm4gW3NlbGYgX3Rh
YmxlQ2VsbEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY29sc3BhbkF0dHIpLnRvSW50KCk7Ci19Ci0K
LS0gKHZvaWQpc2V0Q29sU3BhbjooaW50KWNvbFNwYW4KLXsKLSAgICBbc2VsZiBfdGFibGVDZWxs
RWxlbWVudF0tPnNldEF0dHJpYnV0ZShjb2xzcGFuQXR0ciwgU3RyaW5nOjpudW1iZXIoY29sU3Bh
bikpOwotfQotCi0tIChOU1N0cmluZyAqKWhlYWRlcnMKLXsKLSAgICByZXR1cm4gW3NlbGYgX3Rh
YmxlQ2VsbEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoaGVhZGVyc0F0dHIpOwotfQotCi0tICh2b2lk
KXNldEhlYWRlcnM6KE5TU3RyaW5nICopaGVhZGVycwotewotICAgIFtzZWxmIF90YWJsZUNlbGxF
bGVtZW50XS0+c2V0QXR0cmlidXRlKGhlYWRlcnNBdHRyLCBoZWFkZXJzKTsKLX0KLQotLSAoTlNT
dHJpbmcgKiloZWlnaHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlQ2VsbEVsZW1lbnRdLT5n
ZXRBdHRyaWJ1dGUoaGVpZ2h0QXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0SGVpZ2h0OihOU1N0cmlu
ZyAqKWhlaWdodAotewotICAgIFtzZWxmIF90YWJsZUNlbGxFbGVtZW50XS0+c2V0QXR0cmlidXRl
KGhlaWdodEF0dHIsIGhlaWdodCk7Ci19Ci0KLS0gKEJPT0wpbm9XcmFwCi17Ci0gICAgcmV0dXJu
IFtzZWxmIF90YWJsZUNlbGxFbGVtZW50XS0+Z2V0QXR0cmlidXRlKG5vd3JhcEF0dHIpLmlzTnVs
bCgpOwotfQotCi0tICh2b2lkKXNldE5vV3JhcDooQk9PTClub1dyYXAKLXsKLSAgICBbc2VsZiBf
dGFibGVDZWxsRWxlbWVudF0tPnNldEF0dHJpYnV0ZShub3dyYXBBdHRyLCBub1dyYXAgPyAiIiA6
IDApOwotfQotCi0tIChpbnQpcm93U3BhbgotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVDZWxs
RWxlbWVudF0tPmdldEF0dHJpYnV0ZShyb3dzcGFuQXR0cikudG9JbnQoKTsKLX0KLQotLSAodm9p
ZClzZXRSb3dTcGFuOihpbnQpcm93U3BhbgotewotICAgIFtzZWxmIF90YWJsZUNlbGxFbGVtZW50
XS0+c2V0QXR0cmlidXRlKHJvd3NwYW5BdHRyLCBTdHJpbmc6Om51bWJlcihyb3dTcGFuKSk7Ci19
Ci0KLS0gKE5TU3RyaW5nICopc2NvcGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX3RhYmxlQ2VsbEVs
ZW1lbnRdLT5nZXRBdHRyaWJ1dGUoc2NvcGVBdHRyKTsKLX0KLQotLSAodm9pZClzZXRTY29wZToo
TlNTdHJpbmcgKilzY29wZQotewotICAgIFtzZWxmIF90YWJsZUNlbGxFbGVtZW50XS0+c2V0QXR0
cmlidXRlKHNjb3BlQXR0ciwgc2NvcGUpOwotfQotCi0tIChOU1N0cmluZyAqKXZBbGlnbgotewot
ICAgIHJldHVybiBbc2VsZiBfdGFibGVDZWxsRWxlbWVudF0tPmdldEF0dHJpYnV0ZSh2YWxpZ25B
dHRyKTsKLX0KLQotLSAodm9pZClzZXRWQWxpZ246KE5TU3RyaW5nICopdkFsaWduCi17Ci0gICAg
W3NlbGYgX3RhYmxlQ2VsbEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUodmFsaWduQXR0ciwgdkFsaWdu
KTsKLX0KLQotLSAoTlNTdHJpbmcgKil3aWR0aAotewotICAgIHJldHVybiBbc2VsZiBfdGFibGVD
ZWxsRWxlbWVudF0tPmdldEF0dHJpYnV0ZSh3aWR0aEF0dHIpOwotfQotCi0tICh2b2lkKXNldFdp
ZHRoOihOU1N0cmluZyAqKXdpZHRoCi17Ci0gICAgW3NlbGYgX3RhYmxlQ2VsbEVsZW1lbnRdLT5z
ZXRBdHRyaWJ1dGUod2lkdGhBdHRyLCB3aWR0aCk7Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0
aW9uIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50IChXZWJDb3JlSW50ZXJuYWwpCi0KLSsgKERPTUhU
TUxUYWJsZUNlbGxFbGVtZW50ICopX3RhYmxlQ2VsbEVsZW1lbnRXaXRoOihIVE1MVGFibGVDZWxs
RWxlbWVudCAqKWltcGwKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NSFRNTFRhYmxlQ2Vs
bEVsZW1lbnQqPihbRE9NTm9kZSBfbm9kZVdpdGg6aW1wbF0pOwotfQotCi0tIChIVE1MVGFibGVD
ZWxsRWxlbWVudCAqKV90YWJsZUNlbGxFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxUYWJsZUNlbGxFbGVtZW50Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9pbnRlcm5hbCkpOwotfQot
Ci1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MRnJhbWVTZXRFbGVtZW50Ci0KLS0gKEhU
TUxGcmFtZVNldEVsZW1lbnQgKilfZnJhbWVTZXRFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEhUTUxGcmFtZVNldEVsZW1lbnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7
Ci19Ci0KLS0gKE5TU3RyaW5nICopcm93cwotewotICAgIHJldHVybiBbc2VsZiBfZnJhbWVTZXRF
bGVtZW50XS0+Z2V0QXR0cmlidXRlKHJvd3NBdHRyKTsKLX0KLQotLSAodm9pZClzZXRSb3dzOihO
U1N0cmluZyAqKXJvd3MKLXsKLSAgICBbc2VsZiBfZnJhbWVTZXRFbGVtZW50XS0+c2V0QXR0cmli
dXRlKHJvd3NBdHRyLCByb3dzKTsKLX0KLQotLSAoTlNTdHJpbmcgKiljb2xzCi17Ci0gICAgcmV0
dXJuIFtzZWxmIF9mcmFtZVNldEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoY29sc0F0dHIpOwotfQot
Ci0tICh2b2lkKXNldENvbHM6KE5TU3RyaW5nICopY29scwotewotICAgIFtzZWxmIF9mcmFtZVNl
dEVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoY29sc0F0dHIsIGNvbHMpOwotfQotCi1AZW5kCi0KLUBp
bXBsZW1lbnRhdGlvbiBET01IVE1MRnJhbWVFbGVtZW50Ci0KLS0gKEhUTUxGcmFtZUVsZW1lbnQg
KilfZnJhbWVFbGVtZW50Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1l
bnQqPihET01fY2FzdDxOb2RlKj4oX2ludGVybmFsKSk7Ci19Ci0KLS0gKE5TU3RyaW5nICopZnJh
bWVCb3JkZXIKLXsKLSAgICByZXR1cm4gW3NlbGYgX2ZyYW1lRWxlbWVudF0tPmdldEF0dHJpYnV0
ZShmcmFtZWJvcmRlckF0dHIpOwotfQotCi0tICh2b2lkKXNldEZyYW1lQm9yZGVyOihOU1N0cmlu
ZyAqKWZyYW1lQm9yZGVyCi17Ci0gICAgW3NlbGYgX2ZyYW1lRWxlbWVudF0tPnNldEF0dHJpYnV0
ZShmcmFtZWJvcmRlckF0dHIsIGZyYW1lQm9yZGVyKTsKLX0KLQotLSAoTlNTdHJpbmcgKilsb25n
RGVzYwotewotICAgIHJldHVybiBbc2VsZiBfZnJhbWVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGxv
bmdkZXNjQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0TG9uZ0Rlc2M6KE5TU3RyaW5nICopbG9uZ0Rl
c2MKLXsKLSAgICBbc2VsZiBfZnJhbWVFbGVtZW50XS0+c2V0QXR0cmlidXRlKGxvbmdkZXNjQXR0
ciwgbG9uZ0Rlc2MpOwotfQotCi0tIChOU1N0cmluZyAqKW1hcmdpbkhlaWdodAotewotICAgIHJl
dHVybiBbc2VsZiBfZnJhbWVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKG1hcmdpbmhlaWdodEF0dHIp
OwotfQotCi0tICh2b2lkKXNldE1hcmdpbkhlaWdodDooTlNTdHJpbmcgKiltYXJnaW5IZWlnaHQK
LXsKLSAgICBbc2VsZiBfZnJhbWVFbGVtZW50XS0+c2V0QXR0cmlidXRlKG1hcmdpbmhlaWdodEF0
dHIsIG1hcmdpbkhlaWdodCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbWFyZ2luV2lkdGgKLXsKLSAg
ICByZXR1cm4gW3NlbGYgX2ZyYW1lRWxlbWVudF0tPmdldEF0dHJpYnV0ZShtYXJnaW53aWR0aEF0
dHIpOwotfQotCi0tICh2b2lkKXNldE1hcmdpbldpZHRoOihOU1N0cmluZyAqKW1hcmdpbldpZHRo
Ci17Ci0gICAgW3NlbGYgX2ZyYW1lRWxlbWVudF0tPnNldEF0dHJpYnV0ZShtYXJnaW53aWR0aEF0
dHIsIG1hcmdpbldpZHRoKTsKLX0KLQotLSAoTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJu
IFtzZWxmIF9mcmFtZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUobmFtZUF0dHIpOwotfQotCi0tICh2
b2lkKXNldE5hbWU6KE5TU3RyaW5nICopbmFtZQotewotICAgIFtzZWxmIF9mcmFtZUVsZW1lbnRd
LT5zZXRBdHRyaWJ1dGUobmFtZUF0dHIsIG5hbWUpOwotfQotCi0tIChCT09MKW5vUmVzaXplCi17
Ci0gICAgcmV0dXJuIFtzZWxmIF9mcmFtZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUobm9yZXNpemVB
dHRyKS5pc051bGwoKTsKLX0KLQotLSAodm9pZClzZXROb1Jlc2l6ZTooQk9PTClub1Jlc2l6ZQot
ewotICAgIFtzZWxmIF9mcmFtZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUobm9yZXNpemVBdHRyLCBu
b1Jlc2l6ZSA/ICIiIDogMCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopc2Nyb2xsaW5nCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF9mcmFtZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoc2Nyb2xsaW5nQXR0cik7
Ci19Ci0KLS0gKHZvaWQpc2V0U2Nyb2xsaW5nOihOU1N0cmluZyAqKXNjcm9sbGluZwotewotICAg
IFtzZWxmIF9mcmFtZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoc2Nyb2xsaW5nQXR0ciwgc2Nyb2xs
aW5nKTsKLX0KLQotLSAoTlNTdHJpbmcgKilzcmMKLXsKLSAgICByZXR1cm4gW3NlbGYgX2ZyYW1l
RWxlbWVudF0tPmdldEF0dHJpYnV0ZShzcmNBdHRyKTsKLX0KLQotLSAodm9pZClzZXRTcmM6KE5T
U3RyaW5nICopc3JjCi17Ci0gICAgW3NlbGYgX2ZyYW1lRWxlbWVudF0tPnNldEF0dHJpYnV0ZShz
cmNBdHRyLCBzcmMpOwotfQotCi0tIChET01Eb2N1bWVudCAqKWNvbnRlbnREb2N1bWVudAotewot
ICAgIHJldHVybiBbRE9NRG9jdW1lbnQgX2RvY3VtZW50V2l0aDpbc2VsZiBfZnJhbWVFbGVtZW50
XS0+Y29udGVudERvY3VtZW50KCldOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBET01I
VE1MSUZyYW1lRWxlbWVudAotCi0tIChIVE1MSUZyYW1lRWxlbWVudCAqKV9JRnJhbWVFbGVtZW50
Ci17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxJRnJhbWVFbGVtZW50Kj4oRE9NX2Nhc3Q8
Tm9kZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChOU1N0cmluZyAqKWFsaWduCi17Ci0gICAgcmV0
dXJuIFtzZWxmIF9JRnJhbWVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGFsaWduQXR0cik7Ci19Ci0K
LS0gKHZvaWQpc2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ24KLXsKLSAgICBbc2VsZiBfSUZyYW1l
RWxlbWVudF0tPnNldEF0dHJpYnV0ZShhbGlnbkF0dHIsIGFsaWduKTsKLX0KLQotLSAoTlNTdHJp
bmcgKilmcmFtZUJvcmRlcgotewotICAgIHJldHVybiBbc2VsZiBfSUZyYW1lRWxlbWVudF0tPmdl
dEF0dHJpYnV0ZShmcmFtZWJvcmRlckF0dHIpOwotfQotCi0tICh2b2lkKXNldEZyYW1lQm9yZGVy
OihOU1N0cmluZyAqKWZyYW1lQm9yZGVyCi17Ci0gICAgW3NlbGYgX0lGcmFtZUVsZW1lbnRdLT5z
ZXRBdHRyaWJ1dGUoZnJhbWVib3JkZXJBdHRyLCBmcmFtZUJvcmRlcik7Ci19Ci0KLS0gKE5TU3Ry
aW5nICopaGVpZ2h0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9JRnJhbWVFbGVtZW50XS0+Z2V0QXR0
cmlidXRlKGhlaWdodEF0dHIpOwotfQotCi0tICh2b2lkKXNldEhlaWdodDooTlNTdHJpbmcgKilo
ZWlnaHQKLXsKLSAgICBbc2VsZiBfSUZyYW1lRWxlbWVudF0tPnNldEF0dHJpYnV0ZShoZWlnaHRB
dHRyLCBoZWlnaHQpOwotfQotCi0tIChOU1N0cmluZyAqKWxvbmdEZXNjCi17Ci0gICAgcmV0dXJu
IFtzZWxmIF9JRnJhbWVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKGxvbmdkZXNjQXR0cik7Ci19Ci0K
LS0gKHZvaWQpc2V0TG9uZ0Rlc2M6KE5TU3RyaW5nICopbG9uZ0Rlc2MKLXsKLSAgICBbc2VsZiBf
SUZyYW1lRWxlbWVudF0tPnNldEF0dHJpYnV0ZShsb25nZGVzY0F0dHIsIGxvbmdEZXNjKTsKLX0K
LQotLSAoTlNTdHJpbmcgKiltYXJnaW5IZWlnaHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX0lGcmFt
ZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUobWFyZ2luaGVpZ2h0QXR0cik7Ci19Ci0KLS0gKHZvaWQp
c2V0TWFyZ2luSGVpZ2h0OihOU1N0cmluZyAqKW1hcmdpbkhlaWdodAotewotICAgIFtzZWxmIF9J
RnJhbWVFbGVtZW50XS0+c2V0QXR0cmlidXRlKG1hcmdpbmhlaWdodEF0dHIsIG1hcmdpbkhlaWdo
dCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbWFyZ2luV2lkdGgKLXsKLSAgICByZXR1cm4gW3NlbGYg
X0lGcmFtZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUobWFyZ2lud2lkdGhBdHRyKTsKLX0KLQotLSAo
dm9pZClzZXRNYXJnaW5XaWR0aDooTlNTdHJpbmcgKiltYXJnaW5XaWR0aAotewotICAgIFtzZWxm
IF9JRnJhbWVFbGVtZW50XS0+c2V0QXR0cmlidXRlKG1hcmdpbndpZHRoQXR0ciwgbWFyZ2luV2lk
dGgpOwotfQotCi0tIChOU1N0cmluZyAqKW5hbWUKLXsKLSAgICByZXR1cm4gW3NlbGYgX0lGcmFt
ZUVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUobmFtZUF0dHIpOwotfQotCi0tICh2b2lkKXNldE5hbWU6
KE5TU3RyaW5nICopbmFtZQotewotICAgIFtzZWxmIF9JRnJhbWVFbGVtZW50XS0+c2V0QXR0cmli
dXRlKG5hbWVBdHRyLCBuYW1lKTsKLX0KLQotLSAoQk9PTClub1Jlc2l6ZQotewotICAgIHJldHVy
biBbc2VsZiBfSUZyYW1lRWxlbWVudF0tPmdldEF0dHJpYnV0ZShub3Jlc2l6ZUF0dHIpLmlzTnVs
bCgpOwotfQotCi0tICh2b2lkKXNldE5vUmVzaXplOihCT09MKW5vUmVzaXplCi17Ci0gICAgW3Nl
bGYgX0lGcmFtZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUobm9yZXNpemVBdHRyLCBub1Jlc2l6ZSA/
ICIiIDogMCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopc2Nyb2xsaW5nCi17Ci0gICAgcmV0dXJuIFtz
ZWxmIF9JRnJhbWVFbGVtZW50XS0+Z2V0QXR0cmlidXRlKHNjcm9sbGluZ0F0dHIpOwotfQotCi0t
ICh2b2lkKXNldFNjcm9sbGluZzooTlNTdHJpbmcgKilzY3JvbGxpbmcKLXsKLSAgICBbc2VsZiBf
SUZyYW1lRWxlbWVudF0tPnNldEF0dHJpYnV0ZShzY3JvbGxpbmdBdHRyLCBzY3JvbGxpbmcpOwot
fQotCi0tIChOU1N0cmluZyAqKXNyYwotewotICAgIHJldHVybiBbc2VsZiBfSUZyYW1lRWxlbWVu
dF0tPmdldEF0dHJpYnV0ZShzcmNBdHRyKTsKLX0KLQotLSAodm9pZClzZXRTcmM6KE5TU3RyaW5n
ICopc3JjCi17Ci0gICAgW3NlbGYgX0lGcmFtZUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUoc3JjQXR0
ciwgc3JjKTsKLX0KLQotLSAoTlNTdHJpbmcgKil3aWR0aAotewotICAgIHJldHVybiBbc2VsZiBf
SUZyYW1lRWxlbWVudF0tPmdldEF0dHJpYnV0ZSh3aWR0aEF0dHIpOwotfQotCi0tICh2b2lkKXNl
dFdpZHRoOihOU1N0cmluZyAqKXdpZHRoCi17Ci0gICAgW3NlbGYgX0lGcmFtZUVsZW1lbnRdLT5z
ZXRBdHRyaWJ1dGUod2lkdGhBdHRyLCB3aWR0aCk7Ci19Ci0KLS0gKERPTURvY3VtZW50ICopY29u
dGVudERvY3VtZW50Ci17Ci0gICAgcmV0dXJuIFtET01Eb2N1bWVudCBfZG9jdW1lbnRXaXRoOltz
ZWxmIF9JRnJhbWVFbGVtZW50XS0+Y29udGVudERvY3VtZW50KCldOwotfQotCi1AZW5kCi0KLSNw
cmFnbWEgbWFyayBET00gRVhURU5TSU9OUworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy8vIERPTUhUTUxFbWJlZEVsZW1lbnQKIAogQGltcGxlbWVudGF0aW9uIERPTUhUTUxF
bWJlZEVsZW1lbnQKIApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxBcHBsZXRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxBcHBs
ZXRFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRN
TEFwcGxldEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNCBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MRWxlbWVudC5oPgorCitAaW50
ZXJmYWNlIERPTUhUTUxBcHBsZXRFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKKy0gKE5TU3RyaW5n
ICopYWxpZ247CistICh2b2lkKXNldEFsaWduOihOU1N0cmluZyAqKWFsaWduOworLSAoTlNTdHJp
bmcgKilhbHQ7CistICh2b2lkKXNldEFsdDooTlNTdHJpbmcgKilhbHQ7CistIChOU1N0cmluZyAq
KWFyY2hpdmU7CistICh2b2lkKXNldEFyY2hpdmU6KE5TU3RyaW5nICopYXJjaGl2ZTsKKy0gKE5T
U3RyaW5nICopY29kZTsKKy0gKHZvaWQpc2V0Q29kZTooTlNTdHJpbmcgKiljb2RlOworLSAoTlNT
dHJpbmcgKiljb2RlQmFzZTsKKy0gKHZvaWQpc2V0Q29kZUJhc2U6KE5TU3RyaW5nICopY29kZUJh
c2U7CistIChOU1N0cmluZyAqKWhlaWdodDsKKy0gKHZvaWQpc2V0SGVpZ2h0OihOU1N0cmluZyAq
KWhlaWdodDsKKy0gKGludCloc3BhY2U7CistICh2b2lkKXNldEhzcGFjZTooaW50KWhzcGFjZTsK
Ky0gKE5TU3RyaW5nICopbmFtZTsKKy0gKHZvaWQpc2V0TmFtZTooTlNTdHJpbmcgKiluYW1lOwor
LSAoTlNTdHJpbmcgKilvYmplY3Q7CistICh2b2lkKXNldE9iamVjdDooTlNTdHJpbmcgKilvYmpl
Y3Q7CistIChpbnQpdnNwYWNlOworLSAodm9pZClzZXRWc3BhY2U6KGludCl2c3BhY2U7CistIChO
U1N0cmluZyAqKXdpZHRoOworLSAodm9pZClzZXRXaWR0aDooTlNTdHJpbmcgKil3aWR0aDsKK0Bl
bmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEFwcGxldEVsZW1lbnQu
bW0JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEFwcGxldEVs
ZW1lbnQubW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA0IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkRPTUhUTUxBcHBsZXRFbGVtZW50
LmgiCisKKyNpbXBvcnQgIkRPTUludGVybmFsLmgiCisjaW1wb3J0ICJET01IVE1MSW50ZXJuYWwu
aCIKKyNpbXBvcnQgIkhUTUxBcHBsZXRFbGVtZW50LmgiCisjaW1wb3J0ICJQbGF0Zm9ybVN0cmlu
Zy5oIgorCitAaW1wbGVtZW50YXRpb24gRE9NSFRNTEFwcGxldEVsZW1lbnQKKworLSAoV2ViQ29y
ZTo6SFRNTEFwcGxldEVsZW1lbnQgKilfYXBwbGV0RWxlbWVudAoreworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudCAqPihET01fY2FzdDxXZWJDb3JlOjpO
b2RlICo+KF9pbnRlcm5hbCkpOworfQorCistIChOU1N0cmluZyAqKWFsaWduCit7CisgICAgcmV0
dXJuIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+YWxpZ24oKTsKK30KKworLSAodm9pZClzZXRBbGln
bjooTlNTdHJpbmcgKilhbGlnbgoreworICAgIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+c2V0QWxp
Z24oYWxpZ24pOworfQorCistIChOU1N0cmluZyAqKWFsdAoreworICAgIHJldHVybiBbc2VsZiBf
YXBwbGV0RWxlbWVudF0tPmFsdCgpOworfQorCistICh2b2lkKXNldEFsdDooTlNTdHJpbmcgKilh
bHQKK3sKKyAgICBbc2VsZiBfYXBwbGV0RWxlbWVudF0tPnNldEFsdChhbHQpOworfQorCistIChO
U1N0cmluZyAqKWFyY2hpdmUKK3sKKyAgICByZXR1cm4gW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5h
cmNoaXZlKCk7Cit9CisKKy0gKHZvaWQpc2V0QXJjaGl2ZTooTlNTdHJpbmcgKilhcmNoaXZlCit7
CisgICAgW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5zZXRBcmNoaXZlKGFyY2hpdmUpOworfQorCist
IChOU1N0cmluZyAqKWNvZGUKK3sKKyAgICByZXR1cm4gW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5j
b2RlKCk7Cit9CisKKy0gKHZvaWQpc2V0Q29kZTooTlNTdHJpbmcgKiljb2RlCit7CisgICAgW3Nl
bGYgX2FwcGxldEVsZW1lbnRdLT5zZXRDb2RlKGNvZGUpOworfQorCistIChOU1N0cmluZyAqKWNv
ZGVCYXNlCit7CisgICAgcmV0dXJuIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+Y29kZUJhc2UoKTsK
K30KKworLSAodm9pZClzZXRDb2RlQmFzZTooTlNTdHJpbmcgKiljb2RlQmFzZQoreworICAgIFtz
ZWxmIF9hcHBsZXRFbGVtZW50XS0+c2V0Q29kZUJhc2UoY29kZUJhc2UpOworfQorCistIChOU1N0
cmluZyAqKWhlaWdodAoreworICAgIHJldHVybiBbc2VsZiBfYXBwbGV0RWxlbWVudF0tPmhlaWdo
dCgpOworfQorCistICh2b2lkKXNldEhlaWdodDooTlNTdHJpbmcgKiloZWlnaHQKK3sKKyAgICBb
c2VsZiBfYXBwbGV0RWxlbWVudF0tPnNldEhlaWdodChoZWlnaHQpOworfQorCisvL0ZJWE1FOiBE
T00gc3BlYyBzYXlzIGhzcGFjZSBzaG91bGQgYmUgYSBET01TdHJpbmcsIG5vdCBhbiBpbnQKKy0g
KGludCloc3BhY2UKK3sKKyAgICByZXR1cm4gW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5oc3BhY2Uo
KS50b0ludCgpOworfQorCistICh2b2lkKXNldEhzcGFjZTooaW50KWhzcGFjZQoreworICAgIFtz
ZWxmIF9hcHBsZXRFbGVtZW50XS0+c2V0SHNwYWNlKFdlYkNvcmU6OlN0cmluZzo6bnVtYmVyKGhz
cGFjZSkpOworfQorCistIChOU1N0cmluZyAqKW5hbWUKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Fw
cGxldEVsZW1lbnRdLT5uYW1lKCk7Cit9CisKKy0gKHZvaWQpc2V0TmFtZTooTlNTdHJpbmcgKilu
YW1lCit7CisgICAgW3NlbGYgX2FwcGxldEVsZW1lbnRdLT5zZXROYW1lKG5hbWUpOworfQorCist
IChOU1N0cmluZyAqKW9iamVjdAoreworICAgIHJldHVybiBbc2VsZiBfYXBwbGV0RWxlbWVudF0t
Pm9iamVjdCgpOworfQorCistICh2b2lkKXNldE9iamVjdDooTlNTdHJpbmcgKilvYmplY3QKK3sK
KyAgICBbc2VsZiBfYXBwbGV0RWxlbWVudF0tPnNldE9iamVjdChvYmplY3QpOworfQorCisvL0ZJ
WE1FOiBET00gc3BlYyBzYXlzIHZzcGFjZSBzaG91bGQgYmUgYSBET01TdHJpbmcsIG5vdCBhbiBp
bnQKKy0gKGludCl2c3BhY2UKK3sKKyAgICByZXR1cm4gW3NlbGYgX2FwcGxldEVsZW1lbnRdLT52
c3BhY2UoKS50b0ludCgpOworfQorCistICh2b2lkKXNldFZzcGFjZTooaW50KXZzcGFjZQorewor
ICAgIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+c2V0VnNwYWNlKFdlYkNvcmU6OlN0cmluZzo6bnVt
YmVyKHZzcGFjZSkpOworfQorCistIChOU1N0cmluZyAqKXdpZHRoCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9hcHBsZXRFbGVtZW50XS0+d2lkdGgoKTsKK30KKworLSAodm9pZClzZXRXaWR0aDooTlNT
dHJpbmcgKil3aWR0aAoreworICAgIFtzZWxmIF9hcHBsZXRFbGVtZW50XS0+c2V0V2lkdGgod2lk
dGgpOworfQorCitAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEludGVy
bmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxJbnRlcm5h
bC5oCShyZXZpc2lvbiAxNjE2NSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MSW50
ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOCArMzAsMTQgQEAKICNpbXBvcnQgIkRPTUhU
TUxEb2N1bWVudC5oIgogI2ltcG9ydCAiRE9NSFRNTEVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUhU
TUxGb3JtRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCisj
aW1wb3J0ICJET01IVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW1wb3J0ICJET01IVE1MSW5wdXRFbGVt
ZW50LmgiCisjaW1wb3J0ICJET01IVE1MT2JqZWN0RWxlbWVudC5oIgorI2ltcG9ydCAiRE9NSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmgiCisjaW1wb3J0ICJET01IVE1MVGFibGVDYXB0aW9uRWxlbWVu
dC5oIgorI2ltcG9ydCAiRE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaCIKKyNpbXBvcnQgIkRPTUhU
TUxUYWJsZUVsZW1lbnQuaCIKKyNpbXBvcnQgIkRPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVE1MQ29sbGVjdGlvbjsKQEAgLTk0
LDcgKzEwMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEBlbmQKIAogQGludGVyZmFjZSBET01I
VE1MT2JqZWN0RWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotLSAoV2ViQ29yZTo6SFRNTE9iamVj
dEVsZW1lbnQgKilfb2JqZWN0RWxlbWVudDsKKy0gKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50
ICopX0hUTUxPYmplY3RFbGVtZW50OwogQGVuZAogCiBAaW50ZXJmYWNlIERPTUhUTUxJbnB1dEVs
ZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01I
VE1MT3B0aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01IVE1MT3B0aW9uRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUhUTUxPcHRpb25FbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTEVsZW1lbnQu
aD4KKworQGNsYXNzIERPTUhUTUxGb3JtRWxlbWVudDsKKworQGludGVyZmFjZSBET01IVE1MT3B0
aW9uRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CistIChET01IVE1MRm9ybUVsZW1lbnQgKilmb3Jt
OworLSAoQk9PTClkZWZhdWx0U2VsZWN0ZWQ7CistICh2b2lkKXNldERlZmF1bHRTZWxlY3RlZDoo
Qk9PTClkZWZhdWx0U2VsZWN0ZWQ7CistIChOU1N0cmluZyAqKXRleHQ7CistIChpbnQpaW5kZXg7
CistIChCT09MKWRpc2FibGVkOworLSAodm9pZClzZXREaXNhYmxlZDooQk9PTClkaXNhYmxlZDsK
Ky0gKE5TU3RyaW5nICopbGFiZWw7CistICh2b2lkKXNldExhYmVsOihOU1N0cmluZyAqKWxhYmVs
OworLSAoQk9PTClzZWxlY3RlZDsKKy0gKHZvaWQpc2V0U2VsZWN0ZWQ6KEJPT0wpc2VsZWN0ZWQ7
CistIChOU1N0cmluZyAqKXZhbHVlOworLSAodm9pZClzZXRWYWx1ZTooTlNTdHJpbmcgKil2YWx1
ZTsKK0BlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MT3B0aW9uRWxlbWVu
dC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTE9wdGlvbkVs
ZW1lbnQubW0JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTE9w
dGlvbkVsZW1lbnQubW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA0IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwu
Y29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkRPTUhUTUxPcHRpb25F
bGVtZW50LmgiCisKKyNpbXBvcnQgIkRPTUludGVybmFsLmgiCisjaW1wb3J0ICJET01IVE1MSW50
ZXJuYWwuaCIKKyNpbXBvcnQgIkhUTUxPcHRpb25FbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1M
Rm9ybUVsZW1lbnQuaCIKKyNpbXBvcnQgIlBsYXRmb3JtU3RyaW5nLmgiCisKKworLy8gRklYTUU6
IERPTUhUTUxPcHRpb25FbGVtZW50IGNhbm5vdCBiZSBhdXRvLWdlbmVyYXRlZCB5ZXQgYmVjYXVz
ZSBvZiBzb21lIAorLy8gZGlmZmVyZW5lY2VzIGJldHdlZW4gdGhlIG9sZCBiaW5kaW5ncyBhbmQg
dGhlIGlkbC4KK0BpbXBsZW1lbnRhdGlvbiBET01IVE1MT3B0aW9uRWxlbWVudAorCistIChXZWJD
b3JlOjpIVE1MT3B0aW9uRWxlbWVudCAqKV9vcHRpb25FbGVtZW50Cit7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50ICo+KERPTV9jYXN0PFdlYkNvcmU6
Ok5vZGUgKj4oX2ludGVybmFsKSk7Cit9CisKKy0gKERPTUhUTUxGb3JtRWxlbWVudCAqKWZvcm0K
K3sKKyAgICByZXR1cm4gW0RPTUhUTUxGb3JtRWxlbWVudCBfZm9ybUVsZW1lbnRXaXRoOltzZWxm
IF9vcHRpb25FbGVtZW50XS0+Zm9ybSgpXTsKK30KKworLSAoQk9PTClkZWZhdWx0U2VsZWN0ZWQK
K3sKKyAgICByZXR1cm4gW3NlbGYgX29wdGlvbkVsZW1lbnRdLT5kZWZhdWx0U2VsZWN0ZWQoKTsK
K30KKworLSAodm9pZClzZXREZWZhdWx0U2VsZWN0ZWQ6KEJPT0wpZGVmYXVsdFNlbGVjdGVkCit7
CisgICAgW3NlbGYgX29wdGlvbkVsZW1lbnRdLT5zZXREZWZhdWx0U2VsZWN0ZWQoZGVmYXVsdFNl
bGVjdGVkKTsKK30KKworLSAoTlNTdHJpbmcgKil0ZXh0Cit7CisgICAgcmV0dXJuIFtzZWxmIF9v
cHRpb25FbGVtZW50XS0+dGV4dCgpOworfQorCistIChpbnQpaW5kZXgKK3sKKyAgICByZXR1cm4g
W3NlbGYgX29wdGlvbkVsZW1lbnRdLT5pbmRleCgpOworfQorCistIChCT09MKWRpc2FibGVkCit7
CisgICAgcmV0dXJuIFtzZWxmIF9vcHRpb25FbGVtZW50XS0+ZGlzYWJsZWQoKTsKK30KKworLSAo
dm9pZClzZXREaXNhYmxlZDooQk9PTClkaXNhYmxlZAoreworICAgIFtzZWxmIF9vcHRpb25FbGVt
ZW50XS0+c2V0RGlzYWJsZWQoZGlzYWJsZWQpOworfQorCistIChOU1N0cmluZyAqKWxhYmVsCit7
CisgICAgcmV0dXJuIFtzZWxmIF9vcHRpb25FbGVtZW50XS0+bGFiZWwoKTsKK30KKworLSAodm9p
ZClzZXRMYWJlbDooTlNTdHJpbmcgKilsYWJlbAoreworICAgIFtzZWxmIF9vcHRpb25FbGVtZW50
XS0+c2V0TGFiZWwobGFiZWwpOworfQorCistIChCT09MKXNlbGVjdGVkCit7CisgICAgcmV0dXJu
IFtzZWxmIF9vcHRpb25FbGVtZW50XS0+c2VsZWN0ZWQoKTsKK30KKworLSAodm9pZClzZXRTZWxl
Y3RlZDooQk9PTClzZWxlY3RlZAoreworICAgIFtzZWxmIF9vcHRpb25FbGVtZW50XS0+c2V0U2Vs
ZWN0ZWQoc2VsZWN0ZWQpOworfQorCistIChOU1N0cmluZyAqKXZhbHVlCit7CisgICAgcmV0dXJu
IFtzZWxmIF9vcHRpb25FbGVtZW50XS0+dmFsdWUoKTsKK30KKworLSAodm9pZClzZXRWYWx1ZToo
TlNTdHJpbmcgKil2YWx1ZQoreworICAgIFtzZWxmIF9vcHRpb25FbGVtZW50XS0+c2V0VmFsdWUo
dmFsdWUpOworfQorCitAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Qcml2YXRlLmgJKHJl
dmlzaW9uIDE2MTY1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4LDExIEBACiAjaW1wb3J0IDxXZWJDb3JlL0RPTUVsZW1l
bnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NRXZlbnRzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RP
TUhUTUwuaD4KLSNpbXBvcnQgPFdlYkNvcmUvRE9NTm9kZS5oPgotI2ltcG9ydCA8V2ViQ29yZS9E
T01SYW5nZS5oPgotCiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxEb2N1bWVudC5oPgotI2ltcG9y
dCA8V2ViQ29yZS9ET01IVE1MU2VsZWN0RWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01I
VE1MSW5wdXRFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxTZWxlY3RFbGVtZW50
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTU5vZGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NUmFu
Z2UuaD4KIAogQGludGVyZmFjZSBET01SYW5nZSAoV2ViUHJpdmF0ZSkKIC8vIHVzZXMgc2FtZSBh
bGdvcml0aG0gYXMgaW5uZXJUZXh0CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvck9iakMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZpc2lvbiAxNjE2NSkKKysrIFdlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtMjY0LDYg
KzI2NCwxMCBAQCBzdWIgR2V0T2JqQ1R5cGVNYWtlcgogICAgICAgICAkdHlwZU1ha2VyID0gIm9w
dGlvbnNDb2xsZWN0aW9uIjsKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiSFRNTERvY3VtZW50Iikg
ewogICAgICAgICAkdHlwZU1ha2VyID0gIkhUTUxEb2N1bWVudCI7CisgICAgfSBlbHNpZiAoJHR5
cGUgZXEgIkhUTUxUYWJsZUNhcHRpb25FbGVtZW50IikgeworICAgICAgICAkdHlwZU1ha2VyID0g
InRhYmxlQ2FwdGlvbkVsZW1lbnQiOworICAgIH0gZWxzaWYgKCR0eXBlIGVxICJIVE1MVGFibGVT
ZWN0aW9uRWxlbWVudCIpIHsKKyAgICAgICAgJHR5cGVNYWtlciA9ICJ0YWJsZVNlY3Rpb25FbGVt
ZW50IjsKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiQ1NTU3R5bGVEZWNsYXJhdGlvbiIpIHsKICAg
ICAgICAgJHR5cGVNYWtlciA9ICJzdHlsZURlY2xhcmF0aW9uIjsKICAgICB9IGVsc2lmICgkdHlw
ZSBlcSAiQ1NTU3R5bGVTaGVldCIpIHsKQEAgLTU4NCw3ICs1ODgsNyBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgIEBpbXBsQ29udGVudCA9ICgpOwogCiAgICAgIyBTVEFSVCBpbXBs
ZW1lbnRhdGlvbgotICAgIHB1c2goQGltcGxDb250ZW50LCAiXG5cQGltcGxlbWVudGF0aW9uICRj
bGFzc05hbWVcblxuIik7CisgICAgcHVzaChAaW1wbENvbnRlbnQsICJcQGltcGxlbWVudGF0aW9u
ICRjbGFzc05hbWVcblxuIik7CiAKICAgICBpZiAoJGhhc0Z1bmN0aW9uc09yQXR0cmlidXRlcykg
ewogICAgICAgICBpZiAoJHBhcmVudEltcGxDbGFzc05hbWUgZXEgIk9iamVjdCIpIHsKQEAgLTcw
OCwyMSArNzEyLDM1IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAg
ICAgbXkgJHNldHRlck5hbWUgPSAic2V0IiAuIHVjZmlyc3QoJGludGVyZmFjZU5hbWUpOwogICAg
ICAgICAgICAgICAgIG15ICRhcmdOYW1lID0gIm5ldyIgLiB1Y2ZpcnN0KCRpbnRlcmZhY2VOYW1l
KTsKIAorICAgICAgICAgICAgICAgICMgRklYTUU6IHNob3VsZCBtb3ZlIHRoaXMgb3V0IGludG8g
aXQncyBvd24gZnVjdGlvbiB0byBzaGFyZSB3aXRoCisgICAgICAgICAgICAgICAgIyB0aGUgc2lt
aWxhciBmdW5jdGlvbiBwYXJhbWV0ZXIgY29kZSBiZWxvdy4KKyAgICAgICAgICAgICAgICBteSAk
YXJnID0gIiI7CisgICAgICAgICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc1ByaW1pdGl2
ZVR5cGUoJGlkbFR5cGUpIG9yICRpZGxUeXBlIGVxICJET01TdHJpbmciKSB7CisgICAgICAgICAg
ICAgICAgICAgICRhcmcgPSAkYXJnTmFtZTsKKyAgICAgICAgICAgICAgICB9IGVsc2lmICgkaWRs
VHlwZSBlcSAiSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQiKSB7CisgICAgICAgICAgICAgICAgICAg
ICRhcmcgPSAiWyIgLiAkYXJnTmFtZSAuICIgX3RhYmxlQ2FwdGlvbkVsZW1lbnRdIjsKKyAgICAg
ICAgICAgICAgICB9IGVsc2lmICgkaWRsVHlwZSBlcSAiSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQi
KSB7CisgICAgICAgICAgICAgICAgICAgICRhcmcgPSAiWyIgLiAkYXJnTmFtZSAuICIgX3RhYmxl
U2VjdGlvbkVsZW1lbnRdIjsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICAkYXJnID0gIlsiIC4gJGFyZ05hbWUgLiAiIF8iIC4gbGNmaXJzdCgkaWRsVHlwZSkg
LiAiXSI7CisgICAgICAgICAgICAgICAgfQorCisKICAgICAgICAgICAgICAgICBteSAkc2V0dGVy
U2lnID0gIi0gKHZvaWQpJHNldHRlck5hbWU6KCRhdHRyaWJ1dGVUeXBlKSRhcmdOYW1lXG4iOwog
CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRzZXR0ZXJTaWcpOwogICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAKICAgICAgICAgICAgICAgICB1
bmxlc3MgKCRjb2RlR2VuZXJhdG9yLT5Jc1ByaW1pdGl2ZVR5cGUoJGlkbFR5cGUpIG9yICRpZGxU
eXBlIGVxICJET01TdHJpbmciKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIEFTU0VSVCgkYXJnTmFtZSlcblxuIik7CisgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVCgkYXJnTmFtZSk7XG5cbiIpOwogICAgICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGlmICgkaGFzU2V0dGVyRXhjZXB0aW9uKSB7CiAg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRleGNlcHRpb25Jbml0
XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSU1QTC0+
JGF0dHJpYnV0ZU5hbWUoJGFyZ05hbWUsIGVjKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBJTVBMLT4kYXR0cmlidXRlTmFtZSgkYXJnLCBlYyk7XG4i
KTsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2VwdGlv
blJhaXNlT25FcnJvclxuIik7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSU1QTC0+JGF0dHJpYnV0ZU5hbWUoJGFy
Z05hbWUpO1xuIik7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IElNUEwtPiRhdHRyaWJ1dGVOYW1lKCRhcmcpO1xuIik7CiAgICAgICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwpAQCAtNzU1LDcgKzc3
Myw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgICAgICAgICBteSAk
cGFyYW1OYW1lID0gJHBhcmFtLT5uYW1lOwogCi0gICAgICAgICAgICAgICAgIyBGSVhNRTogc2hv
dWxkIG1vdmUgdGhpcyBvdXQgaW50byBpdCdzIG93biBmdWN0aW9uIHRvIHRha2UgY2FyZSBvZiBw
b3NzaWJsZSBzcGVjaWFsIGNhc2VzLgorICAgICAgICAgICAgICAgICMgRklYTUU6IHNob3VsZCBt
b3ZlIHRoaXMgb3V0IGludG8gaXQncyBvd24gZnVjdGlvbiB0byBzaGFyZSB3aXRoCisgICAgICAg
ICAgICAgICAgIyB0aGUgc2ltaWxhciBzZXR0ZXIgcGFyYW1ldGVyIGNvZGUgYWJvdmUuCiAgICAg
ICAgICAgICAgICAgbXkgJGlkbFR5cGUgPSAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoJHBh
cmFtLT50eXBlKTsKICAgICAgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzUHJpbWl0
aXZlVHlwZSgkaWRsVHlwZSkgb3IgJGlkbFR5cGUgZXEgIkRPTVN0cmluZyIpIHsKICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAcGFyYW1ldGVyTmFtZXMsICRwYXJhbU5hbWUpOwpAQCAtODk5LDEw
ICs5MTgsMTYgQEAgc3ViIFdyaXRlRGF0YQogICAgICAgICAjIFdyaXRlIGNvbnRlbnQgdG8gZmls
ZS4KICAgICAgICAgcHJpbnQgJElNUEwgQGltcGxDb250ZW50SGVhZGVyOwogICAgICAgICAKKyAg
ICAgICAgbXkgJGluY2x1ZGVDb3VudCA9IDA7CiAgICAgICAgIGZvcmVhY2ggbXkgJGltcGxJbmNs
dWRlIChzb3J0IGtleXMoJWltcGxJbmNsdWRlcykpIHsKICAgICAgICAgICAgIHByaW50ICRJTVBM
ICIjaW1wb3J0IFwiJGltcGxJbmNsdWRlXCJcbiI7CisgICAgICAgICAgICAkaW5jbHVkZUNvdW50
Kys7CiAgICAgICAgIH0KICAgICAgICAgCisgICAgICAgIHVubGVzcyAoJGluY2x1ZGVDb3VudCA9
PSAwKSB7CisgICAgICAgICAgICBwcmludCAkSU1QTCAiXG4iOworICAgICAgICB9CisKICAgICAg
ICAgcHJpbnQgJElNUEwgQGltcGxDb250ZW50OwogICAgICAgICBjbG9zZSgkSU1QTCk7CiAgICAg
ICAgIHVuZGVmKCRJTVBMKTsKSW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMTYxNjcpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDYtMDgtMzEgIFNhbSBXZWluaWcgIDxz
YW0ud2VpbmlnQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAtIHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNjY5CisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgcmVtYWlu
aW5nIE9iamVjdGl2ZS1DIEhUTUwgRE9NIGJpbmRpbmdzCisKKyAgICAgICAgKiBNaWdyYXRlSGVh
ZGVycy5tYWtlOgorCiAyMDA2LTA4LTMxICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IFdlYktpdC9NaWdyYXRlSGVh
ZGVycy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9NaWdyYXRlSGVhZGVycy5tYWtlCShyZXZp
c2lvbiAxNjE2NSkKKysrIFdlYktpdC9NaWdyYXRlSGVhZGVycy5tYWtlCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw4ICs0NSwxMiBAQCBhbGwgOiBcCiAgICAgRE9NRXZlbnRzLmggXAogICAgIERPTUV4
dGVuc2lvbnMuaCBcCiAgICAgRE9NSFRNTC5oIFwKKyAgICBET01IVE1MQW5jaG9yRWxlbWVudC5o
IFwKKyAgICBET01IVE1MQXBwbGV0RWxlbWVudC5oIFwKKyAgICBET01IVE1MQXJlYUVsZW1lbnQu
aCBcCiAgICAgRE9NSFRNTEJSRWxlbWVudC5oIFwKICAgICBET01IVE1MQmFzZUVsZW1lbnQuaCBc
CisgICAgRE9NSFRNTEJhc2VGb250RWxlbWVudC5oIFwKICAgICBET01IVE1MQm9keUVsZW1lbnQu
aCBcCiAgICAgRE9NSFRNTEJ1dHRvbkVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTENvbGxlY3Rpb24u
aCBcCkBAIC01NiwyNiArNjAsNDQgQEAgYWxsIDogXAogICAgIERPTUhUTUxEb2N1bWVudC5oIFwK
ICAgICBET01IVE1MRWxlbWVudC5oIFwKICAgICBET01IVE1MRmllbGRTZXRFbGVtZW50LmggXAor
ICAgIERPTUhUTUxGb250RWxlbWVudC5oIFwKICAgICBET01IVE1MRm9ybUVsZW1lbnQuaCBcCisg
ICAgRE9NSFRNTEZyYW1lRWxlbWVudC5oIFwKKyAgICBET01IVE1MRnJhbWVTZXRFbGVtZW50Lmgg
XAorICAgIERPTUhUTUxIUkVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEhlYWRFbGVtZW50LmggXAog
ICAgIERPTUhUTUxIZWFkaW5nRWxlbWVudC5oIFwKICAgICBET01IVE1MSHRtbEVsZW1lbnQuaCBc
CisgICAgRE9NSFRNTElGcmFtZUVsZW1lbnQuaCBcCisgICAgRE9NSFRNTEltYWdlRWxlbWVudC5o
IFwKICAgICBET01IVE1MSW5wdXRFbGVtZW50LmggXAogICAgIERPTUhUTUxJc0luZGV4RWxlbWVu
dC5oIFwKICAgICBET01IVE1MTElFbGVtZW50LmggXAogICAgIERPTUhUTUxMYWJlbEVsZW1lbnQu
aCBcCiAgICAgRE9NSFRNTExlZ2VuZEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTExpbmtFbGVtZW50
LmggXAorICAgIERPTUhUTUxNYXBFbGVtZW50LmggXAogICAgIERPTUhUTUxNZW51RWxlbWVudC5o
IFwKICAgICBET01IVE1MTWV0YUVsZW1lbnQuaCBcCisgICAgRE9NSFRNTE1vZEVsZW1lbnQuaCBc
CiAgICAgRE9NSFRNTE9MaXN0RWxlbWVudC5oIFwKKyAgICBET01IVE1MT2JqZWN0RWxlbWVudC5o
IFwKICAgICBET01IVE1MT3B0R3JvdXBFbGVtZW50LmggXAorICAgIERPTUhUTUxPcHRpb25FbGVt
ZW50LmggXAogICAgIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIFwKICAgICBET01IVE1MUGFy
YWdyYXBoRWxlbWVudC5oIFwKKyAgICBET01IVE1MUGFyYW1FbGVtZW50LmggXAogICAgIERPTUhU
TUxQcmVFbGVtZW50LmggXAogICAgIERPTUhUTUxRdW90ZUVsZW1lbnQuaCBcCisgICAgRE9NSFRN
TFNjcmlwdEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTFNlbGVjdEVsZW1lbnQuaCBcCiAgICAgRE9N
SFRNTFN0eWxlRWxlbWVudC5oIFwKKyAgICBET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oIFwK
KyAgICBET01IVE1MVGFibGVDZWxsRWxlbWVudC5oIFwKKyAgICBET01IVE1MVGFibGVDb2xFbGVt
ZW50LmggXAorICAgIERPTUhUTUxUYWJsZUVsZW1lbnQuaCBcCisgICAgRE9NSFRNTFRhYmxlUm93
RWxlbWVudC5oIFwKKyAgICBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oIFwKICAgICBET01I
VE1MVGV4dEFyZWFFbGVtZW50LmggXAogICAgIERPTUhUTUxUaXRsZUVsZW1lbnQuaCBcCiAgICAg
RE9NSFRNTFVMaXN0RWxlbWVudC5oIFwK
</data>
<flag name="review"
          id="3287"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>