<?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>10711</bug_id>
          
          <creation_ts>2006-09-03 11:33:44 -0700</creation_ts>
          <short_desc>Auto-generate the Objective-C DOM Stylesheet bindings</short_desc>
          <delta_ts>2006-09-03 19:24:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>54705</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-03 11:33:44 -0700</bug_when>
    <thetext>3 more classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54711</commentid>
    <comment_count>1</comment_count>
      <attachid>10380</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-03 11:55:26 -0700</bug_when>
    <thetext>Created attachment 10380
patch

 Auto-generates DOMMediaList, DOMStyleSheet, and DOMStyleSheetList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54713</commentid>
    <comment_count>2</comment_count>
      <attachid>10380</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-09-03 12:00:34 -0700</bug_when>
    <thetext>Comment on attachment 10380
patch

looks good, r=me, but might needs some tweaks after xenon lands his improvements to ObjC naming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54740</commentid>
    <comment_count>3</comment_count>
      <attachid>10383</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-03 18:46:08 -0700</bug_when>
    <thetext>Created attachment 10383
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54742</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-03 19:24:03 -0700</bug_when>
    <thetext>Landed in r16210.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10380</attachid>
            <date>2006-09-03 11:55:26 -0700</date>
            <delta_ts>2006-09-03 18:46:08 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoStyleSheets.diff</filename>
            <type>text/plain</type>
            <size>27774</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjE5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDYtMDktMDMgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzExCisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgT2JqZWN0aXZlLUMgRE9NIFN0eWxl
c2hlZXQgYmluZGluZ3MKKworICAgICAgICAgIEF1dG8tZ2VuZXJhdGVzIERPTU1lZGlhTGlzdCwg
RE9NU3R5bGVTaGVldCwgYW5kIERPTVN0eWxlU2hlZXRMaXN0LgorCisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01DU1MubW06CisgICAgICAgICgrW0RPTVN0
eWxlU2hlZXQgX3N0eWxlU2hlZXRXaXRoOl0pOgorICAgICAgICAoK1tET01DU1NTdHlsZVNoZWV0
IF9DU1NTdHlsZVNoZWV0V2l0aDpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTU0lu
dGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NT2JqZWN0Lm1tOgorICAgICAgICAoLVtET01PYmplY3Qgc2hl
ZXRdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL0RPTVN0eWxlc2hlZXRzLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9E
T01VdGlsaXR5Lm1tOgorICAgICAgICAoS0pTOjpTY3JpcHRJbnRlcnByZXRlcjo6Y3JlYXRlT2Jq
Y0luc3RhbmNlRm9yVmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG06CisgICAgICAgICogY3NzL01lZGlhTGlzdC5pZGw6CisgICAgICAgICogY3Nz
L1N0eWxlU2hlZXQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldExpc3QuaWRs
OiBBZGRlZC4KKwogMjAwNi0wOS0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQG55cG9wLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljLgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2
aXNpb24gMTYxOTkpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDI2ICs0NiwyNSBAQCBhbGwgOiBcCiAgICAgQ2hhcnNldERhdGEuY3BwIFwKICAg
ICBDb2xvckRhdGEuYyBcCiAgICAgRG9jVHlwZVN0cmluZ3MuY3BwIFwKKyAgICBET01BdHRyLmgg
XAorICAgIERPTUNEQVRBU2VjdGlvbi5oIFwKICAgICBET01DU1NDaGFyc2V0UnVsZS5oIFwKICAg
ICBET01DU1NGb250RmFjZVJ1bGUuaCBcCiAgICAgRE9NQ1NTSW1wb3J0UnVsZS5oIFwKICAgICBE
T01DU1NNZWRpYVJ1bGUuaCBcCiAgICAgRE9NQ1NTUGFnZVJ1bGUuaCBcCisgICAgRE9NQ1NTUHJp
bWl0aXZlVmFsdWUuaCBcCiAgICAgRE9NQ1NTUnVsZS5oIFwKICAgICBET01DU1NSdWxlTGlzdC5o
IFwKICAgICBET01DU1NTdHlsZURlY2xhcmF0aW9uLmggXAogICAgIERPTUNTU1N0eWxlUnVsZS5o
IFwKKyAgICBET01DU1NTdHlsZVNoZWV0LmggXAogICAgIERPTUNTU1Vua25vd25SdWxlLmggXAog
ICAgIERPTUNTU1ZhbHVlLmggXAotICAgIERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggXAogICAgIERP
TUNTU1ZhbHVlTGlzdC5oIFwKLSAgICBET01DU1NTdHlsZVNoZWV0LmggXAotICAgIERPTUNvdW50
ZXIuaCBcCi0gICAgRE9NUmVjdC5oIFwKLSAgICBET01BdHRyLmggXAotICAgIERPTUNEQVRBU2Vj
dGlvbi5oIFwKICAgICBET01DaGFyYWN0ZXJEYXRhLmggXAogICAgIERPTUNvbW1lbnQuaCBcCisg
ICAgRE9NQ291bnRlci5oIFwKICAgICBET01ET01JbXBsZW1lbnRhdGlvbi5oIFwKICAgICBET01E
b2N1bWVudC5oIFwKICAgICBET01Eb2N1bWVudEZyYWdtZW50LmggXApAQCAtNzMsMTEgKzcyLDYg
QEAgYWxsIDogXAogICAgIERPTUVsZW1lbnQuaCBcCiAgICAgRE9NRW50aXR5LmggXAogICAgIERP
TUVudGl0eVJlZmVyZW5jZS5oIFwKLSAgICBET01OYW1lZE5vZGVNYXAuaCBcCi0gICAgRE9NTm9k
ZUxpc3QuaCBcCi0gICAgRE9NTm90YXRpb24uaCBcCi0gICAgRE9NUHJvY2Vzc2luZ0luc3RydWN0
aW9uLmggXAotICAgIERPTVRleHQuaCBcCiAgICAgRE9NSFRNTEFuY2hvckVsZW1lbnQuaCBcCiAg
ICAgRE9NSFRNTEFyZWFFbGVtZW50LmggXAogICAgIERPTUhUTUxCUkVsZW1lbnQuaCBcCkBAIC0x
MzEsNiArMTI1LDE1IEBAIGFsbCA6IFwKICAgICBET01IVE1MVGV4dEFyZWFFbGVtZW50LmggXAog
ICAgIERPTUhUTUxUaXRsZUVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTFVMaXN0RWxlbWVudC5oIFwK
KyAgICBET01NZWRpYUxpc3QuaCBcCisgICAgRE9NTmFtZWROb2RlTWFwLmggXAorICAgIERPTU5v
ZGVMaXN0LmggXAorICAgIERPTU5vdGF0aW9uLmggXAorICAgIERPTVByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5oIFwKKyAgICBET01SZWN0LmggXAorICAgIERPTVN0eWxlU2hlZXQuaCBcCisgICAgRE9N
U3R5bGVTaGVldExpc3QuaCBcCisgICAgRE9NVGV4dC5oIFwKICAgICBIVE1MRW50aXR5TmFtZXMu
YyBcCiAgICAgSlNBdHRyLmggXAogICAgIEpTQ1NTUHJpbWl0aXZlVmFsdWUuaCBcCkluZGV4OiBX
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYxOTkp
CisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMzk3LDYgKzM5NywxNSBAQAogCQk4NTAzMkRFODBBQThDOUJFMDA3RDNCN0QgLyog
RE9NQ1NTU3R5bGVSdWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5tbSAq
LzsgfTsKIAkJODUwMzJERTkwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRENTBB
QThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUuaCAqLzsgfTsKIAkJODUwMzJERUEw
QUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDYwQUE4QzlCRTAwN0QzQjdEIC8q
IERPTUNTU1Vua25vd25SdWxlLm1tICovOyB9OworCQk4NTA2NTZGRTBBQUI0NzYzMDAyRDE1QzAg
LyogRE9NTWVkaWFMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTA2NTZGODBBQUI0NzYzMDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0LmggKi87IH07
CisJCTg1MDY1NkZGMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTA2NTZGOTBBQUI0NzYzMDAy
RDE1QzAgLyogRE9NTWVkaWFMaXN0Lm1tICovOyB9OworCQk4NTA2NTcwMDBBQUI0NzYzMDAyRDE1
QzAgLyogRE9NU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODUwNjU2RkEwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXQuaCAq
LzsgfTsKKwkJODUwNjU3MDEwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXQubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTA2NTZGQjBBQUI0
NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5tbSAqLzsgfTsKKwkJODUwNjU3MDIwQUFCNDc2
MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTA2NTZGQzBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5
bGVTaGVldExpc3QuaCAqLzsgfTsKKwkJODUwNjU3MDMwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0
eWxlU2hlZXRMaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUwNjU2RkQwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0Lm1tICov
OyB9OworCQk4NTA2NTc5RjBBQUI0QThFMDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0LmggaW4gQ29w
eUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDY1NkY4MEFBQjQ3
NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCAqLzsgfTsKKwkJODUwNjU3QTAwQUFCNEE4RTAw
MkQxNUMwIC8qIERPTVN0eWxlU2hlZXQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODUwNjU2RkEwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hl
ZXQuaCAqLzsgfTsKKwkJODUwNjU3QTEwQUFCNEE4RTAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRM
aXN0LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
MDY1NkZDMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0TGlzdC5oICovOyB9OwogCQk4
NTA4OUNDODBBOThDMjI2MDBBMjc1QUEgLyogQ29tbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDg5Q0M3MEE5OEMyMjYwMEEyNzVBQSAv
KiBDb21tZW50LmlkbCAqLzsgfTsKIAkJODUwODlDQ0EwQTk4QzJBQjAwQTI3NUFBIC8qIENEQVRB
U2VjdGlvbi5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1MDg5Q0M5MEE5OEMyQUIwMEEyNzVBQSAvKiBDREFUQVNlY3Rpb24uaWRsICovOyB9Owog
CQk4NTA4OUNDQzBBOThDMzNBMDBBMjc1QUEgLyogRW50aXR5UmVmZXJlbmNlLmlkbCBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwODlDQ0IwQTk4QzMz
QTAwQTI3NUFBIC8qIEVudGl0eVJlZmVyZW5jZS5pZGwgKi87IH07CkBAIC0xOTQ5LDYgKzE5NTgs
OSBAQAogCQkJZHN0UGF0aCA9IFZlcnNpb25zL0EvUHJpdmF0ZUhlYWRlcnM7CiAJCQlkc3RTdWJm
b2xkZXJTcGVjID0gMTsKIAkJCWZpbGVzID0gKAorCQkJCTg1MDY1NzlGMEFBQjRBOEUwMDJEMTVD
MCAvKiBET01NZWRpYUxpc3QuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODUwNjU3QTAwQUFCNEE4
RTAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODUwNjU3
QTEwQUFCNEE4RTAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggaW4gQ29weUZpbGVzICov
LAogCQkJCTFDMTFDQ0I1MEFBNjA5MzcwMERBREIyMCAvKiBET01Ob3RhdGlvbi5oIGluIENvcHlG
aWxlcyAqLywKIAkJCQkxQzExQ0NCNjBBQTYwOTM3MDBEQURCMjAgLyogRE9NQ29tbWVudC5oIGlu
IENvcHlGaWxlcyAqLywKIAkJCQkxQzExQ0NCNzBBQTYwOTM3MDBEQURCMjAgLyogRE9NTmFtZWRO
b2RlTWFwLmggaW4gQ29weUZpbGVzICovLApAQCAtMjUwMCw2ICsyNTEyLDE0IEBACiAJCTg1MDMy
REQ0MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQ1NTU3R5bGVSdWxlLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4NTAzMkRENTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5r
bm93blJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU1Vua25v
d25SdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MDMyREQ2MEFBOEM5QkUw
MDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBET01DU1NVbmtub3duUnVsZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODUwNjU2REMwQUFCNDREOTAwMkQxNUMwIC8qIFN0eWxlU2hlZXQuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHlsZVNoZWV0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODUwNjU2REYwQUFCNDU0RjAwMkQxNUMwIC8qIFN0eWxlU2hlZXRMaXN0Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3R5bGVTaGVldExpc3QuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NTA2NTZGODBBQUI0NzYzMDAyRDE1QzAgLyogRE9NTWVkaWFM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01NZWRpYUxpc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwNjU2RjkwQUFCNDc2MzAwMkQxNUMwIC8q
IERPTU1lZGlhTGlzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBET01NZWRpYUxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDY1NkZB
MEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01TdHlsZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1MDY1NkZCMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVN0eWxlU2hlZXQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDY1NkZDMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01T
dHlsZVNoZWV0TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU3R5
bGVTaGVldExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwNjU2RkQwQUFC
NDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVN0eWxlU2hlZXRMaXN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NTA4OUNDNzBBOThDMjI2MDBBMjc1QUEgLyogQ29tbWVudC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENvbW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NTA4OUNDOTBBOThDMkFCMDBBMjc1QUEgLyogQ0RBVEFTZWN0aW9uLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ0RBVEFTZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODUwODlDQ0IwQTk4QzMzQTAwQTI3NUFBIC8qIEVudGl0eVJlZmVyZW5j
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVudGl0eVJlZmVyZW5jZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NzI4LDYgKzQ3NDgsMTkgQEAKIAkJCXBhdGggPSBt
YWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk4NTA2NTcwNDBBQUI0NzZD
MDAyRDE1QzAgLyogU3R5bGVTaGVldHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTg1MDY1NkY4MEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3Qu
aCAqLywKKwkJCQk4NTA2NTZGOTBBQUI0NzYzMDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0Lm1tICov
LAorCQkJCTg1MDY1NkZBMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0LmggKi8sCisJ
CQkJODUwNjU2RkIwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXQubW0gKi8sCisJCQkJ
ODUwNjU2RkMwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggKi8sCisJCQkJ
ODUwNjU2RkQwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0Lm1tICovLAorCQkJ
KTsKKwkJCW5hbWUgPSBTdHlsZVNoZWV0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CiAJCTg1NEYxMkFDMEE4RUJDMTgwMDA5NDBCNSAvKiBDb3JlICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTQ4NDIsNiArNDg3NSw3IEBACiAJCTg1QjIz
MjI2MEE4QkYzQTEwMEZERjQ3QiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTg1MDY1NzA0MEFBQjQ3NkMwMDJEMTVDMCAv
KiBTdHlsZVNoZWV0cyAqLywKIAkJCQk4NTk2N0Q5RjBBQThCQjU5MDA1RkVERUUgLyogQ29yZSAq
LywKIAkJCQk4NTk2N0RDQTBBQThCRjBGMDA1RkVERUUgLyogQ1NTICovLAogCQkJCTg1QzU2RDAz
MEFBOEJBQTcwMEQ5NTc1NSAvKiBIVE1MICovLApAQCAtNjM1Miw4ICs2Mzg2LDEwIEBACiAJCQkJ
QTgwRTczNEEwQTE5OUM3NzAwN0ZCOEM1IC8qIFN0eWxlTGlzdC5oICovLAogCQkJCUE4RUE4MDA1
MEExOTUxNkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQlBOEVBODAwNDBBMTk1
MTZFMDBBOEVGNUYgLyogU3R5bGVTaGVldC5oICovLAorCQkJCTg1MDY1NkRDMEFBQjQ0RDkwMDJE
MTVDMCAvKiBTdHlsZVNoZWV0LmlkbCAqLywKIAkJCQlBOEVBODAwMzBBMTk1MTZFMDBBOEVGNUYg
LyogU3R5bGVTaGVldExpc3QuY3BwICovLAogCQkJCUE4RUE4MDAyMEExOTUxNkUwMEE4RUY1RiAv
KiBTdHlsZVNoZWV0TGlzdC5oICovLAorCQkJCTg1MDY1NkRGMEFBQjQ1NEYwMDJEMTVDMCAvKiBT
dHlsZVNoZWV0TGlzdC5pZGwgKi8sCiAJCQkJOTNDQTRDQTIwOURGOTNGQTAwREY4Njc3IC8qIHN2
Zy5jc3MgKi8sCiAJCQkJOTNDQTRDQTMwOURGOTNGQTAwREY4Njc3IC8qIHRva2VuaXplci5mbGV4
ICovLAogCQkJCUJDNUVDMTc2MEE1MDdFM0UwMDYwMDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8s
CkBAIC03NTQ2LDYgKzc1ODIsOSBAQAogCQkJCTg1OEMzOEE3MEFBOEYyMDQwMEIxODdBNCAvKiBE
T01SZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NThDMzkyODBBQThGRjlEMDBCMTg3QTQgLyog
RE9NQ1NTU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU4QzM5NUYwQUE5MDJBOTAw
QjE4N0E0IC8qIERPTVJHQkNvbG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTA2NTZGRTBBQUI0
NzYzMDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTA2NTcw
MDBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODUwNjU3MDIwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTg1NDgsNiArODU4Nyw5IEBACiAJCQkJODU4QzM4QTgwQUE4RjIwNDAwQjE4N0E0
IC8qIERPTVJlY3QubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NThDMzkyOTBBQThGRjlEMDBCMTg3
QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1OEMzOTYwMEFB
OTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1MDY1
NkZGMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QubW0gaW4gU291cmNlcyAqLywKKwkJ
CQk4NTA2NTcwMTBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTg1MDY1NzAzMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0TGlzdC5t
bSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCShyZXZpc2lvbiAx
NjE5OSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0JKHdvcmtpbmcgY29weSkK
QEAgLTYxLDcxICs2MSw2IEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0VmlldzsKIC8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01TdHlsZVNoZWV0CiAKLUBpbXBs
ZW1lbnRhdGlvbiBET01TdHlsZVNoZWV0Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChf
aW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8U3R5bGVTaGVldCo+KF9pbnRlcm5hbCktPmRl
cmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotLSAodm9pZClmaW5hbGl6
ZQotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8U3R5bGVTaGVldCo+
KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0K
LS0gKFN0eWxlU2hlZXQgKilfRE9NU3R5bGVTaGVldAotewotICAgIHJldHVybiBET01fY2FzdDxT
dHlsZVNoZWV0Kj4oX2ludGVybmFsKTsKLX0KLQotLSAoTlNTdHJpbmcgKil0eXBlCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+dHlwZSgpOwotfQotCi0tIChCT09MKWRpc2Fi
bGVkCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+ZGlzYWJsZWQoKTsKLX0K
LQotLSAodm9pZClzZXREaXNhYmxlZDooQk9PTClkaXNhYmxlZAotewotICAgIFtzZWxmIF9ET01T
dHlsZVNoZWV0XS0+c2V0RGlzYWJsZWQoZGlzYWJsZWQpOwotfQotCi0tIChET01Ob2RlICopb3du
ZXJOb2RlCi17Ci0gICAgcmV0dXJuIFtET01Ob2RlIF9ub2RlV2l0aDpbc2VsZiBfRE9NU3R5bGVT
aGVldF0tPm93bmVyTm9kZSgpXTsKLX0KLQotLSAoRE9NU3R5bGVTaGVldCAqKXBhcmVudFN0eWxl
U2hlZXQKLXsKLSAgICByZXR1cm4gW0RPTVN0eWxlU2hlZXQgX0RPTVN0eWxlU2hlZXRXaXRoOltz
ZWxmIF9ET01TdHlsZVNoZWV0XS0+cGFyZW50U3R5bGVTaGVldCgpXTsKLX0KLQotLSAoTlNTdHJp
bmcgKilocmVmCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+aHJlZigpOwot
fQotCi0tIChOU1N0cmluZyAqKXRpdGxlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9ET01TdHlsZVNo
ZWV0XS0+dGl0bGUoKTsKLX0KLQotLSAoRE9NTWVkaWFMaXN0ICopbWVkaWEKLXsKLSAgICByZXR1
cm4gbmlsOwotfQotCi1AZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBET01TdHlsZVNoZWV0IChXZWJD
b3JlSW50ZXJuYWwpCiAKIC0gKGlkKV9pbml0V2l0aFN0eWxlU2hlZXQ6KFN0eWxlU2hlZXQgKilp
bXBsCkBAIC0xMzcsNyArNzIsNyBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7CiAg
ICAgcmV0dXJuIHNlbGY7CiB9CiAKLSsgKERPTVN0eWxlU2hlZXQgKilfRE9NU3R5bGVTaGVldFdp
dGg6KFN0eWxlU2hlZXQgKilpbXBsCisrIChET01TdHlsZVNoZWV0ICopX3N0eWxlU2hlZXRXaXRo
OihTdHlsZVNoZWV0ICopaW1wbAogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIG5p
bDsKQEAgLTE1Nyw0NCArOTIsMTAgQEAgdHlwZWRlZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3Owog
CiBAZW5kCiAKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTVN0
eWxlU2hlZXRMaXN0CiAKLUBpbXBsZW1lbnRhdGlvbiBET01TdHlsZVNoZWV0TGlzdAotCi0tICh2
b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PFN0
eWxlU2hlZXRMaXN0Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRl
YWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewot
ICAgICAgICBET01fY2FzdDxTdHlsZVNoZWV0TGlzdCo+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0g
ICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0gKFN0eWxlU2hlZXRMaXN0ICopX3N0
eWxlU2hlZXRMaXN0Ci17Ci0gICAgcmV0dXJuIERPTV9jYXN0PFN0eWxlU2hlZXRMaXN0Kj4oX2lu
dGVybmFsKTsKLX0KLQotLSAodW5zaWduZWQpbGVuZ3RoCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9z
dHlsZVNoZWV0TGlzdF0tPmxlbmd0aCgpOwotfQotCi0tIChET01TdHlsZVNoZWV0ICopaXRlbToo
dW5zaWduZWQpaW5kZXgKLXsKLSAgICByZXR1cm4gW0RPTVN0eWxlU2hlZXQgX0RPTVN0eWxlU2hl
ZXRXaXRoOltzZWxmIF9zdHlsZVNoZWV0TGlzdF0tPml0ZW0oaW5kZXgpXTsKLX0KLQotQGVuZAot
CiBAaW1wbGVtZW50YXRpb24gRE9NU3R5bGVTaGVldExpc3QgKFdlYkNvcmVJbnRlcm5hbCkKIAog
LSAoaWQpX2luaXRXaXRoU3R5bGVTaGVldExpc3Q6KFN0eWxlU2hlZXRMaXN0ICopaW1wbApAQCAt
MjIxLDYgKzEyMiw3IEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0VmlldzsKIAogQGVuZAog
CisKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01DU1NTdHlsZVNo
ZWV0CiAKQEAgLTIyOCw3NSArMTMwLDE1IEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0Vmll
dzsKIAogKyAoRE9NQ1NTU3R5bGVTaGVldCAqKV9DU1NTdHlsZVNoZWV0V2l0aDooQ1NTU3R5bGVT
aGVldCAqKWltcGwKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NQ1NTU3R5bGVTaGVldCo+
KFtET01TdHlsZVNoZWV0IF9ET01TdHlsZVNoZWV0V2l0aDppbXBsXSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PERPTUNTU1N0eWxlU2hlZXQqPihbRE9NU3R5bGVTaGVldCBfc3R5bGVTaGVldFdp
dGg6aW1wbF0pOwogfQogCiBAZW5kCiAKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIC8vIERPTU1lZGlhTGlzdAogCi1AaW1wbGVtZW50YXRpb24gRE9NTWVkaWFMaXN0Ci0K
LS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nh
c3Q8TWVkaWFMaXN0Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRl
YWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewot
ICAgICAgICBET01fY2FzdDxNZWRpYUxpc3QqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0K
LSAgICBbc3VwZXIgZmluYWxpemVdOwotfQotCi0tIChNZWRpYUxpc3QgKilfbWVkaWFMaXN0Ci17
Ci0gICAgcmV0dXJuIERPTV9jYXN0PE1lZGlhTGlzdCo+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKE5T
U3RyaW5nICopbWVkaWFUZXh0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9tZWRpYUxpc3RdLT5tZWRp
YVRleHQoKTsKLX0KLQotLSAodm9pZClzZXRNZWRpYVRleHQ6KE5TU3RyaW5nICopbWVkaWFUZXh0
Ci17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3NlbGYgX21lZGlhTGlzdF0tPnNl
dE1lZGlhVGV4dChtZWRpYVRleHQsIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQot
Ci0tICh1bnNpZ25lZClsZW5ndGgKLXsKLSAgICByZXR1cm4gW3NlbGYgX21lZGlhTGlzdF0tPmxl
bmd0aCgpOwotfQotCi0tIChOU1N0cmluZyAqKWl0ZW06KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAg
cmV0dXJuIFtzZWxmIF9tZWRpYUxpc3RdLT5pdGVtKGluZGV4KTsKLX0KLQotLSAodm9pZClkZWxl
dGVNZWRpdW06KE5TU3RyaW5nICopb2xkTWVkaXVtCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7Ci0gICAgW3NlbGYgX21lZGlhTGlzdF0tPmRlbGV0ZU1lZGl1bShvbGRNZWRpdW0sIGVjKTsK
LSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tICh2b2lkKWFwcGVuZE1lZGl1bTooTlNT
dHJpbmcgKiluZXdNZWRpdW0KLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2Vs
ZiBfbWVkaWFMaXN0XS0+YXBwZW5kTWVkaXVtKG5ld01lZGl1bSwgZWMpOwotICAgIHJhaXNlT25E
T01FcnJvcihlYyk7Ci19Ci0KLUBlbmQKLQogQGltcGxlbWVudGF0aW9uIERPTU1lZGlhTGlzdCAo
V2ViQ29yZUludGVybmFsKQogCiAtIChpZClfaW5pdFdpdGhNZWRpYUxpc3Q6KE1lZGlhTGlzdCAq
KWltcGwKQEAgLTMyMyw2ICsxNjUsNyBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7
CiAKIEBlbmQKIAorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9N
Q1NTUnVsZUxpc3QKIApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFsLmgJ
KHJldmlzaW9uIDE2MTk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE5ICs0NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBDU1NTdHlsZVNoZWV0OwogICAgIGNsYXNzIENTU1ZhbHVlOwogICAgIGNsYXNz
IENvdW50ZXI7Ci0gICAgY2xhc3MgTWVkaWFMaXN0OwogICAgIGNsYXNzIFJlY3RJbXBsOwotICAg
IGNsYXNzIFN0eWxlU2hlZXQ7CiB9CiAKLUBpbnRlcmZhY2UgRE9NU3R5bGVTaGVldCAoV2ViQ29y
ZUludGVybmFsKQotKyAoRE9NU3R5bGVTaGVldCAqKV9ET01TdHlsZVNoZWV0V2l0aDooV2ViQ29y
ZTo6U3R5bGVTaGVldCAqKWltcGw7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NTWVkaWFMaXN0IChX
ZWJDb3JlSW50ZXJuYWwpCi0rIChET01NZWRpYUxpc3QgKilfbWVkaWFMaXN0V2l0aDooV2ViQ29y
ZTo6TWVkaWFMaXN0ICopaW1wbDsKLUBlbmQKLQogQGludGVyZmFjZSBET01DU1NSdWxlTGlzdCAo
V2ViQ29yZUludGVybmFsKQogKyAoRE9NQ1NTUnVsZUxpc3QgKilfcnVsZUxpc3RXaXRoOihXZWJD
b3JlOjpDU1NSdWxlTGlzdCAqKWltcGw7CiBAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
SW50ZXJuYWwuaAkocmV2aXNpb24gMTYxOTkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
SW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTEgKzM3LDE0IEBACiAjaW1wb3J0ICJE
T01Eb2N1bWVudFR5cGUuaCIKICNpbXBvcnQgIkRPTUVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUVu
dGl0eVJlZmVyZW5jZS5oIgorI2ltcG9ydCAiRE9NTWVkaWFMaXN0LmgiCiAjaW1wb3J0ICJET01O
YW1lZE5vZGVNYXAuaCIKICNpbXBvcnQgIkRPTU5vZGUuaCIKICNpbXBvcnQgIkRPTU5vZGVMaXN0
LmgiCiAjaW1wb3J0ICJET01PYmplY3QuaCIKICNpbXBvcnQgIkRPTVByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5oIgorI2ltcG9ydCAiRE9NU3R5bGVTaGVldC5oIgorI2ltcG9ydCAiRE9NU3R5bGVTaGVl
dExpc3QuaCIKICNpbXBvcnQgIkRPTVRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTQsNiArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnRUeXBl
OwogICAgIGNsYXNzIEVsZW1lbnQ7CiAgICAgY2xhc3MgRW50aXR5UmVmZXJlbmNlOworICAgIGNs
YXNzIE1lZGlhTGlzdDsKICAgICBjbGFzcyBOYW1lZE5vZGVNYXA7CiAgICAgY2xhc3MgTm9kZTsK
ICAgICBjbGFzcyBOb2RlRmlsdGVyOwpAQCAtNjEsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgTm9kZUxpc3Q7CiAgICAgY2xhc3MgUHJvY2Vzc2luZ0luc3RydWN0aW9u
OwogICAgIGNsYXNzIFJhbmdlOworICAgIGNsYXNzIFN0eWxlU2hlZXQ7CiAgICAgY2xhc3MgU3R5
bGVTaGVldExpc3Q7CiAgICAgY2xhc3MgVGV4dDsKICAgICBjbGFzcyBUcmVlV2Fsa2VyOwpAQCAt
MTQ5LDEwICsxNTQsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogKyAoRE9NVHJlZVdhbGtlciAq
KV90cmVlV2Fsa2VyV2l0aDooV2ViQ29yZTo6VHJlZVdhbGtlciAqKWltcGwgZmlsdGVyOihpZCA8
RE9NTm9kZUZpbHRlcj4pZmlsdGVyOwogQGVuZAogCitAaW50ZXJmYWNlIERPTVN0eWxlU2hlZXQg
KFdlYkNvcmVJbnRlcm5hbCkKKysgKERPTVN0eWxlU2hlZXQgKilfc3R5bGVTaGVldFdpdGg6KFdl
YkNvcmU6OlN0eWxlU2hlZXQgKilpbXBsOworQGVuZAorCiBAaW50ZXJmYWNlIERPTVN0eWxlU2hl
ZXRMaXN0IChXZWJDb3JlSW50ZXJuYWwpCiArIChET01TdHlsZVNoZWV0TGlzdCAqKV9zdHlsZVNo
ZWV0TGlzdFdpdGg6KFdlYkNvcmU6OlN0eWxlU2hlZXRMaXN0ICopaW1wbDsKIEBlbmQKIAorQGlu
dGVyZmFjZSBET01NZWRpYUxpc3QgKFdlYkNvcmVJbnRlcm5hbCkKKysgKERPTU1lZGlhTGlzdCAq
KV9tZWRpYUxpc3RXaXRoOihXZWJDb3JlOjpNZWRpYUxpc3QgKilpbXBsOworQGVuZAorCiBAaW50
ZXJmYWNlIERPTU5vZGVGaWx0ZXIgOiBET01PYmplY3QgPERPTU5vZGVGaWx0ZXI+CiArIChET01O
b2RlRmlsdGVyICopX25vZGVGaWx0ZXJXaXRoOihXZWJDb3JlOjpOb2RlRmlsdGVyICopaW1wbDsK
IEBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01PYmplY3QubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTU9iamVjdC5tbQkocmV2aXNpb24gMTYxOTkp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NT2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSwxMSArMjksMTAgQEAKICNpbXBvcnQgIkRPTU9iamVjdC5oIgogCiAjaW1wb3J0ICJET01J
bnRlcm5hbC5oIgotCi0jaW1wb3J0ICJET01DU1MuaCIgLy8gZm9yIERPTVN0eWxlU2hlZXQKLSNp
bXBvcnQgIkRPTUNTU0ludGVybmFsLmgiCi0jaW1wb3J0ICJET01IVE1MLmgiIC8vIGZvciBET01I
VE1MTGlua0VsZW1lbnQgYW5kIERPTUhUTUxTdHlsZUVsZW1lbnQKKyNpbXBvcnQgIkRPTUhUTUxM
aW5rRWxlbWVudC5oIgorI2ltcG9ydCAiRE9NSFRNTFN0eWxlRWxlbWVudC5oIgogI2ltcG9ydCAi
RE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCisjaW1wb3J0ICJET01TdHlsZVNoZWV0LmgiCiAj
aW1wb3J0ICJIVE1MTGlua0VsZW1lbnQuaCIKICNpbXBvcnQgIkhUTUxTdHlsZUVsZW1lbnQuaCIK
ICNpbXBvcnQgIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgpAQCAtODUsNyArODQsNyBAQAogICAg
IGVsc2UKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIHJldHVybiBbRE9NU3R5bGVTaGVldCBf
RE9NU3R5bGVTaGVldFdpdGg6c2hlZXRdOworICAgIHJldHVybiBbRE9NU3R5bGVTaGVldCBfc3R5
bGVTaGVldFdpdGg6c2hlZXRdOwogfQogCiBAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Q
cml2YXRlLmgJKHJldmlzaW9uIDE2MTk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogICovCiAKICNpbXBvcnQg
PFdlYkNvcmUvRE9NQ1NTLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1N0eWxlRGVjbGFyYXRp
b24uaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9E
T01FdmVudHMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTC5oPgpAQCAtMzIsNiArMzMsNyBA
QAogI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MSW5wdXRFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0RPTUhUTUxTZWxlY3RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTU5vZGUuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvRE9NUkdCQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NUmFu
Z2UuaD4KIAogQGludGVyZmFjZSBET01SYW5nZSAoV2ViUHJpdmF0ZSkKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01TdHlsZXNoZWV0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01TdHlsZXNoZWV0cy5oCShyZXZpc2lvbiAxNjE5OSkKKysrIFdlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01TdHlsZXNoZWV0cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwzMiAr
MjgsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9ET01PYmplY3QuaD4KIAotQGNsYXNzIERPTU1lZGlhTGlzdDsKLUBjbGFzcyBET01TdHlsZVNo
ZWV0OwotCi1leHRlcm4gTlNTdHJpbmcgKiBjb25zdCBET01FdmVudEV4Y2VwdGlvbjsKLQotQGlu
dGVyZmFjZSBET01TdHlsZVNoZWV0IDogRE9NT2JqZWN0Ci0tIChOU1N0cmluZyAqKXR5cGU7Ci0t
IChCT09MKWRpc2FibGVkOwotLSAodm9pZClzZXREaXNhYmxlZDooQk9PTClkaXNhYmxlZDsKLS0g
KERPTU5vZGUgKilvd25lck5vZGU7Ci0tIChET01TdHlsZVNoZWV0ICopcGFyZW50U3R5bGVTaGVl
dDsKLS0gKE5TU3RyaW5nICopaHJlZjsKLS0gKE5TU3RyaW5nICopdGl0bGU7Ci0tIChET01NZWRp
YUxpc3QgKiltZWRpYTsKLUBlbmQKLQotQGludGVyZmFjZSBET01TdHlsZVNoZWV0TGlzdCA6IERP
TU9iamVjdAotLSAodW5zaWduZWQpbGVuZ3RoOwotLSAoRE9NU3R5bGVTaGVldCAqKWl0ZW06KHVu
c2lnbmVkKWluZGV4OwotQGVuZAotCi1AaW50ZXJmYWNlIERPTU1lZGlhTGlzdCA6IERPTU9iamVj
dAotLSAoTlNTdHJpbmcgKiltZWRpYVRleHQ7Ci0tICh2b2lkKXNldE1lZGlhVGV4dDooTlNTdHJp
bmcgKiltZWRpYVRleHQ7Ci0tICh1bnNpZ25lZClsZW5ndGg7Ci0tIChOU1N0cmluZyAqKWl0ZW06
KHVuc2lnbmVkKWluZGV4OwotLSAodm9pZClkZWxldGVNZWRpdW06KE5TU3RyaW5nICopb2xkTWVk
aXVtOwotLSAodm9pZClhcHBlbmRNZWRpdW06KE5TU3RyaW5nICopbmV3TWVkaXVtOwotQGVuZAor
I2ltcG9ydCA8V2ViQ29yZS9ET01TdHlsZVNoZWV0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVN0
eWxlU2hlZXRMaXN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTU1lZGlhTGlzdC5oPgpJbmRleDog
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVV0aWxpdHkubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTVV0aWxpdHkubW0JKHJldmlzaW9uIDE2MTk5KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTVV0aWxpdHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0
LDcgQEAgdm9pZCAqU2NyaXB0SW50ZXJwcmV0ZXI6OmNyZWF0ZU9iamNJbnN0YQogICAgIGVsc2Ug
aWYgKHZhbHVlLT5pbmhlcml0cygmRE9NU3R5bGVTaGVldExpc3Q6OmluZm8pKQogICAgICAgICBu
ZXdPYmogPSBbb2JqY19nZXRDbGFzcygiRE9NU3R5bGVTaGVldExpc3QiKSBfc3R5bGVTaGVldExp
c3RXaXRoOnN0YXRpY19jYXN0PERPTVN0eWxlU2hlZXRMaXN0ICo+KHZhbHVlKS0+aW1wbCgpXTsK
ICAgICBlbHNlIGlmICh2YWx1ZS0+aW5oZXJpdHMoJkRPTVN0eWxlU2hlZXQ6OmluZm8pKQotICAg
ICAgICBuZXdPYmogPSBbb2JqY19nZXRDbGFzcygiRE9NU3R5bGVTaGVldCIpIF9ET01TdHlsZVNo
ZWV0V2l0aDpzdGF0aWNfY2FzdDxET01TdHlsZVNoZWV0ICo+KHZhbHVlKS0+aW1wbCgpXTsKKyAg
ICAgICAgbmV3T2JqID0gW29iamNfZ2V0Q2xhc3MoIkRPTVN0eWxlU2hlZXQiKSBfc3R5bGVTaGVl
dFdpdGg6c3RhdGljX2Nhc3Q8RE9NU3R5bGVTaGVldCAqPih2YWx1ZSktPmltcGwoKV07CiAgICAg
ZWxzZSBpZiAodmFsdWUtPmluaGVyaXRzKCZET01NZWRpYUxpc3Q6OmluZm8pKQogICAgICAgICBu
ZXdPYmogPSBbb2JqY19nZXRDbGFzcygiRE9NTWVkaWFMaXN0IikgX21lZGlhTGlzdFdpdGg6c3Rh
dGljX2Nhc3Q8RE9NTWVkaWFMaXN0ICo+KHZhbHVlKS0+aW1wbCgpXTsKICAgICBlbHNlIGlmICh2
YWx1ZS0+aW5oZXJpdHMoJldlYkNvcmU6OkpTQ1NTUnVsZUxpc3Q6OmluZm8pKQpJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkocmV2aXNpb24g
MTYxOTkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0J
KHdvcmtpbmcgY29weSkKQEAgLTM3MCwxNSArMzcwLDYgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlw
ZQogICAgICAgICAkaW1wbEluY2x1ZGVzeyIkdHlwZS5oIn0gPSAxOwogICAgICAgICByZXR1cm47
CiAgICAgfQotCi0gICAgIyBUZW1wIERPTVN0eWxlc2hlZXRzLmgKLSAgICBpZiAoJHR5cGUgZXEg
IlN0eWxlU2hlZXQiCi0gICAgICAgICAgICBvciAkdHlwZSBlcSAiU3R5bGVTaGVldExpc3QiCi0g
ICAgICAgICAgICBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IikgewotICAgICAgICAkaW1wbEluY2x1
ZGVzeyJET01TdHlsZXNoZWV0cy5oIn0gPSAxOwotICAgICAgICAkaW1wbEluY2x1ZGVzeyIkdHlw
ZS5oIn0gPSAxOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIAogICAgICMgVGVtcCBET01W
aWV3cy5oCiAgICAgaWYgKCR0eXBlIGVxICJET01XaW5kb3ciKSB7CkBAIC00NDAsMTEgKzQzMSw3
IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIEBoZWFkZXJDb250ZW50SGVhZGVyID0gc3BsaXQo
IlxyIiwgJGhlYWRlckxpY2VuY2VUZW1wbGF0ZSk7CiAKICAgICAjIC0gSU5DTFVERVMgLQotICAg
IGlmICgkcGFyZW50Q2xhc3NOYW1lIGVxICJET01TdHlsZVNoZWV0IikgewotICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJDb3JlL0RPTVN0eWxlc2hlZXRz
Lmg+IC8vIHBhcmVudCBjbGFzc1xuXG4iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJDb3JlLyRwYXJlbnRDbGFzc05hbWUu
aD4gLy8gcGFyZW50IGNsYXNzXG5cbiIpOwotICAgIH0KKyAgICBwdXNoKEBoZWFkZXJDb250ZW50
SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJDb3JlLyRwYXJlbnRDbGFzc05hbWUuaD5cblxuIik7CiAK
ICAgICAjIC0gQWRkIGNvbnN0YW50cy4KICAgICBpZiAoJG51bUNvbnN0YW50cyA+IDApIHsKSW5k
ZXg6IFdlYkNvcmUvY3NzL01lZGlhTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3Mv
TWVkaWFMaXN0LmlkbAkocmV2aXNpb24gMTYxOTkpCisrKyBXZWJDb3JlL2Nzcy9NZWRpYUxpc3Qu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBX
ZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yNywxNiArMjgsMTQgQEAgbW9kdWxlIHN0eWxlc2hlZXRzIHsKIAogICAgIC8vIElu
dHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgaW50ZXJmYWNlIE1lZGlhTGlzdCB7Ci0KICAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYVRleHQKICAgICAgICAgICAg
ICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICAgICAgRE9NU3RyaW5nIGl0ZW0oaW4gdW5z
aWduZWQgbG9uZyBpbmRleCk7CiAgICAgICAgIHZvaWQgZGVsZXRlTWVkaXVtKGluIERPTVN0cmlu
ZyBvbGRNZWRpdW0pCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAg
dm9pZCBhcHBlbmRNZWRpdW0oaW4gRE9NU3RyaW5nIG5ld01lZGl1bSkKICAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwotCiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvY3NzL1N0eWxl
U2hlZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCShyZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg
UGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLwor
Cittb2R1bGUgc3R5bGVzaGVldHMgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwg
MjoKKyAgICBpbnRlcmZhY2UgU3R5bGVTaGVldCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgICAgICAgIHR5cGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29s
ZWFuICAgICAgICAgIGRpc2FibGVkOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAg
ICAgICAgICAgICBvd25lck5vZGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNo
ZWV0ICAgICAgIHBhcmVudFN0eWxlU2hlZXQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgICAgICAgIGhyZWY7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgICAgICAgIHRpdGxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFMaXN0ICAg
ICAgICBtZWRpYTsKKyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlz
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCShyZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVy
LCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0Bn
bWFpbC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisg
Ki8KKworbW9kdWxlIHN0eWxlc2hlZXRzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExl
dmVsIDI6CisgICAgaW50ZXJmYWNlIFN0eWxlU2hlZXRMaXN0IHsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgICAgbGVuZ3RoOworICAgICAgICBTdHlsZVNoZWV0ICAg
ICAgICAgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICB9OworCit9CkluZGV4OiBX
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE2MTk5KQorKysgV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEy
IEBACisyMDA2LTA5LTAzICBTYW0gV2VpbmlnICA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBwYXRjaCBmb3Ig
aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDcxMQorICAg
ICAgICAgIEF1dG8tZ2VuZXJhdGUgdGhlIE9iamVjdGl2ZS1DIERPTSBTdHlsZXNoZWV0IGJpbmRp
bmdzCisKKyAgICAgICAgKiBNaWdyYXRlSGVhZGVycy5tYWtlOgorCiAyMDA2LTA5LTAyICBTYW0g
V2VpbmlnICA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEguCkluZGV4OiBXZWJLaXQvTWlncmF0ZUhlYWRlcnMubWFrZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvTWlncmF0ZUhlYWRlcnMubWFrZQkocmV2aXNpb24gMTYxOTkpCisrKyBXZWJLaXQvTWlncmF0
ZUhlYWRlcnMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTE3LDYgKzExNyw3IEBAIGFsbCA6IFwK
ICAgICBET01IVE1MVGl0bGVFbGVtZW50LmggXAogICAgIERPTUhUTUxVTGlzdEVsZW1lbnQuaCBc
CiAgICAgRE9NTGlzdC5oIFwKKyAgICBET01NZWRpYUxpc3QuaCBcCiAgICAgRE9NTmFtZWROb2Rl
TWFwLmggXAogICAgIERPTU5vZGUuaCBcCiAgICAgRE9NTm9kZUxpc3QuaCBcCkBAIC0xMjcsNiAr
MTI4LDggQEAgYWxsIDogXAogICAgIERPTVJHQkNvbG9yLmggXAogICAgIERPTVJhbmdlLmggXAog
ICAgIERPTVJlY3QuaCBcCisgICAgRE9NU3R5bGVTaGVldC5oIFwKKyAgICBET01TdHlsZVNoZWV0
TGlzdC5oIFwKICAgICBET01TdHlsZXNoZWV0cy5oIFwKICAgICBET01UZXh0LmggXAogICAgIERP
TVRyYXZlcnNhbC5oIFwK
</data>
<flag name="review"
          id="3307"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10383</attachid>
            <date>2006-09-03 18:46:08 -0700</date>
            <delta_ts>2006-09-03 18:52:01 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>autoStyleSheets2.diff</filename>
            <type>text/plain</type>
            <size>27652</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjIwOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMDYtMDktMDMgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzExCisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgT2JqZWN0aXZlLUMgRE9NIFN0eWxl
c2hlZXQgYmluZGluZ3MKKworICAgICAgICAgIEF1dG8tZ2VuZXJhdGVzIERPTU1lZGlhTGlzdCwg
RE9NU3R5bGVTaGVldCwgYW5kIERPTVN0eWxlU2hlZXRMaXN0LgorCisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01DU1MubW06CisgICAgICAgICgrW0RPTVN0
eWxlU2hlZXQgX3N0eWxlU2hlZXRXaXRoOl0pOgorICAgICAgICAoK1tET01DU1NTdHlsZVNoZWV0
IF9DU1NTdHlsZVNoZWV0V2l0aDpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTU0lu
dGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NT2JqZWN0Lm1tOgorICAgICAgICAoLVtET01PYmplY3Qgc2hl
ZXRdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL0RPTVN0eWxlc2hlZXRzLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9E
T01VdGlsaXR5Lm1tOgorICAgICAgICAoS0pTOjpTY3JpcHRJbnRlcnByZXRlcjo6Y3JlYXRlT2Jq
Y0luc3RhbmNlRm9yVmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG06CisgICAgICAgICogY3NzL1N0eWxlU2hlZXQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MvU3R5bGVTaGVldExpc3QuaWRsOiBBZGRlZC4KKwogMjAwNi0wOS0wMyAgUm9iIEJ1
aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4uCkluZGV4OiBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiAxNjIwOCkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsMjYgKzQ2LDI1IEBAIGFsbCA6IFwKICAgICBDaGFy
c2V0RGF0YS5jcHAgXAogICAgIENvbG9yRGF0YS5jIFwKICAgICBEb2NUeXBlU3RyaW5ncy5jcHAg
XAorICAgIERPTUF0dHIuaCBcCisgICAgRE9NQ0RBVEFTZWN0aW9uLmggXAogICAgIERPTUNTU0No
YXJzZXRSdWxlLmggXAogICAgIERPTUNTU0ZvbnRGYWNlUnVsZS5oIFwKICAgICBET01DU1NJbXBv
cnRSdWxlLmggXAogICAgIERPTUNTU01lZGlhUnVsZS5oIFwKICAgICBET01DU1NQYWdlUnVsZS5o
IFwKKyAgICBET01DU1NQcmltaXRpdmVWYWx1ZS5oIFwKICAgICBET01DU1NSdWxlLmggXAogICAg
IERPTUNTU1J1bGVMaXN0LmggXAogICAgIERPTUNTU1N0eWxlRGVjbGFyYXRpb24uaCBcCiAgICAg
RE9NQ1NTU3R5bGVSdWxlLmggXAorICAgIERPTUNTU1N0eWxlU2hlZXQuaCBcCiAgICAgRE9NQ1NT
VW5rbm93blJ1bGUuaCBcCiAgICAgRE9NQ1NTVmFsdWUuaCBcCi0gICAgRE9NQ1NTUHJpbWl0aXZl
VmFsdWUuaCBcCiAgICAgRE9NQ1NTVmFsdWVMaXN0LmggXAotICAgIERPTUNTU1N0eWxlU2hlZXQu
aCBcCi0gICAgRE9NQ291bnRlci5oIFwKLSAgICBET01SZWN0LmggXAotICAgIERPTUF0dHIuaCBc
Ci0gICAgRE9NQ0RBVEFTZWN0aW9uLmggXAogICAgIERPTUNoYXJhY3RlckRhdGEuaCBcCiAgICAg
RE9NQ29tbWVudC5oIFwKKyAgICBET01Db3VudGVyLmggXAogICAgIERPTURPTUltcGxlbWVudGF0
aW9uLmggXAogICAgIERPTURvY3VtZW50LmggXAogICAgIERPTURvY3VtZW50RnJhZ21lbnQuaCBc
CkBAIC03MywxMSArNzIsNiBAQCBhbGwgOiBcCiAgICAgRE9NRWxlbWVudC5oIFwKICAgICBET01F
bnRpdHkuaCBcCiAgICAgRE9NRW50aXR5UmVmZXJlbmNlLmggXAotICAgIERPTU5hbWVkTm9kZU1h
cC5oIFwKLSAgICBET01Ob2RlTGlzdC5oIFwKLSAgICBET01Ob3RhdGlvbi5oIFwKLSAgICBET01Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBcCi0gICAgRE9NVGV4dC5oIFwKICAgICBET01IVE1MQW5j
aG9yRWxlbWVudC5oIFwKICAgICBET01IVE1MQXJlYUVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEJS
RWxlbWVudC5oIFwKQEAgLTEzMSw2ICsxMjUsMTUgQEAgYWxsIDogXAogICAgIERPTUhUTUxUZXh0
QXJlYUVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTFRpdGxlRWxlbWVudC5oIFwKICAgICBET01IVE1M
VUxpc3RFbGVtZW50LmggXAorICAgIERPTU1lZGlhTGlzdC5oIFwKKyAgICBET01OYW1lZE5vZGVN
YXAuaCBcCisgICAgRE9NTm9kZUxpc3QuaCBcCisgICAgRE9NTm90YXRpb24uaCBcCisgICAgRE9N
UHJvY2Vzc2luZ0luc3RydWN0aW9uLmggXAorICAgIERPTVJlY3QuaCBcCisgICAgRE9NU3R5bGVT
aGVldC5oIFwKKyAgICBET01TdHlsZVNoZWV0TGlzdC5oIFwKKyAgICBET01UZXh0LmggXAogICAg
IEhUTUxFbnRpdHlOYW1lcy5jIFwKICAgICBKU0F0dHIuaCBcCiAgICAgSlNDU1NQcmltaXRpdmVW
YWx1ZS5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiAxNjIwOCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zOTYsNiArMzk2LDE1IEBACiAJCTg1MDMyREU4MEFB
OEM5QkUwMDdEM0I3RCAvKiBET01DU1NTdHlsZVJ1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRENDBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTU3R5bGVSdWxlLm1tICovOyB9OwogCQk4NTAzMkRFOTBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTVW5rbm93blJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1MDMyREQ1MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oICov
OyB9OwogCQk4NTAzMkRFQTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRENjBB
QThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5rbm93blJ1bGUubW0gKi87IH07CisJCTg1MDY1NkZF
MEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDY1NkY4MEFBQjQ3NjMwMDJEMTVDMCAvKiBET01N
ZWRpYUxpc3QuaCAqLzsgfTsKKwkJODUwNjU2RkYwQUFCNDc2MzAwMkQxNUMwIC8qIERPTU1lZGlh
TGlzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
MDY1NkY5MEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QubW0gKi87IH07CisJCTg1MDY1
NzAwMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTA2NTZGQTBBQUI0NzYzMDAyRDE1QzAgLyog
RE9NU3R5bGVTaGVldC5oICovOyB9OworCQk4NTA2NTcwMTBBQUI0NzYzMDAyRDE1QzAgLyogRE9N
U3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1MDY1NkZCMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0Lm1tICovOyB9Owor
CQk4NTA2NTcwMjBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldExpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDY1NkZDMEFBQjQ3NjMw
MDJEMTVDMCAvKiBET01TdHlsZVNoZWV0TGlzdC5oICovOyB9OworCQk4NTA2NTcwMzBBQUI0NzYz
MDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldExpc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTA2NTZGRDBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5
bGVTaGVldExpc3QubW0gKi87IH07CisJCTg1MDY1NzlGMEFBQjRBOEUwMDJEMTVDMCAvKiBET01N
ZWRpYUxpc3QuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODUwNjU2RjgwQUFCNDc2MzAwMkQxNUMwIC8qIERPTU1lZGlhTGlzdC5oICovOyB9OworCQk4
NTA2NTdBMDBBQUI0QThFMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5oIGluIENvcHlGaWxlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTA2NTZGQTBBQUI0NzYzMDAyRDE1
QzAgLyogRE9NU3R5bGVTaGVldC5oICovOyB9OworCQk4NTA2NTdBMTBBQUI0QThFMDAyRDE1QzAg
LyogRE9NU3R5bGVTaGVldExpc3QuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODUwNjU2RkMwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRM
aXN0LmggKi87IH07CiAJCTg1MDg5Q0Q3MEE5OEM0MjgwMEEyNzVBQSAvKiBET01DREFUQVNlY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDg5
Q0NGMEE5OEM0MjcwMEEyNzVBQSAvKiBET01DREFUQVNlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQk4NTA4OUNEODBBOThDNDI4MDBBMjc1QUEgLyogRE9N
Q0RBVEFTZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUwODlDRDAwQTk4QzQyNzAwQTI3NUFBIC8qIERPTUNEQVRBU2VjdGlvbi5tbSAqLzsg
fTsKIAkJODUwODlDRDkwQTk4QzQyODAwQTI3NUFBIC8qIERPTUNvbW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDg5Q0QxMEE5OEM0MjcwMEEy
NzVBQSAvKiBET01Db21tZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsg
fTsKQEAgLTE5NDEsNiArMTk1MCw5IEBACiAJCQlkc3RQYXRoID0gVmVyc2lvbnMvQS9Qcml2YXRl
SGVhZGVyczsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSAxOwogCQkJZmlsZXMgPSAoCisJCQkJODUw
NjU3OUYwQUFCNEE4RTAwMkQxNUMwIC8qIERPTU1lZGlhTGlzdC5oIGluIENvcHlGaWxlcyAqLywK
KwkJCQk4NTA2NTdBMDBBQUI0QThFMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5oIGluIENvcHlG
aWxlcyAqLywKKwkJCQk4NTA2NTdBMTBBQUI0QThFMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldExp
c3QuaCBpbiBDb3B5RmlsZXMgKi8sCiAJCQkJMUMxMUNDQjUwQUE2MDkzNzAwREFEQjIwIC8qIERP
TU5vdGF0aW9uLmggaW4gQ29weUZpbGVzICovLAogCQkJCTFDMTFDQ0I2MEFBNjA5MzcwMERBREIy
MCAvKiBET01Db21tZW50LmggaW4gQ29weUZpbGVzICovLAogCQkJCTFDMTFDQ0I3MEFBNjA5Mzcw
MERBREIyMCAvKiBET01OYW1lZE5vZGVNYXAuaCBpbiBDb3B5RmlsZXMgKi8sCkBAIC0yNDkyLDYg
KzI1MDQsMTQgQEAKIAkJODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVs
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NTdHls
ZVJ1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MDMyREQ1MEFBOEM5QkUw
MDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NQ1NTVW5rbm93blJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODUwMzJERDYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUNTU1Vua25vd25SdWxlLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTA2NTZEQzBBQUI0NEQ5MDAyRDE1QzAg
LyogU3R5bGVTaGVldC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0eWxlU2hlZXQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTA2NTZERjBBQUI0NTRGMDAyRDE1QzAg
LyogU3R5bGVTaGVldExpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHlsZVNoZWV0
TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MDY1NkY4MEFBQjQ3NjMw
MDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTU1lZGlhTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTA2NTZG
OTBBQUI0NzYzMDAyRDE1QzAgLyogRE9NTWVkaWFMaXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU1lZGlhTGlzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODUwNjU2RkEwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVN0eWxlU2hlZXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwNjU2RkIwQUFCNDc2MzAwMkQxNUMwIC8qIERPTVN0
eWxlU2hlZXQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9N
U3R5bGVTaGVldC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUwNjU2RkMwQUFC
NDc2MzAwMkQxNUMwIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01TdHlsZVNoZWV0TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NTA2NTZGRDBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldExpc3QubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU3R5bGVTaGVldExp
c3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MDg5Q0M3MEE5OEMyMjYwMEEy
NzVBQSAvKiBDb21tZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ29tbWVudC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MDg5Q0M5MEE5OEMyQUIwMEEyNzVBQSAv
KiBDREFUQVNlY3Rpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDREFUQVNlY3Rpb24u
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTA4OUNDQjBBOThDMzNBMDBBMjc1
QUEgLyogRW50aXR5UmVmZXJlbmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRW50aXR5
UmVmZXJlbmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ3MTksNiArNDcz
OSwxOSBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCTg1MDY1NzA0MEFBQjQ3NkMwMDJEMTVDMCAvKiBTdHlsZVNoZWV0cyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJODUwNjU2RjgwQUFCNDc2MzAwMkQx
NUMwIC8qIERPTU1lZGlhTGlzdC5oICovLAorCQkJCTg1MDY1NkY5MEFBQjQ3NjMwMDJEMTVDMCAv
KiBET01NZWRpYUxpc3QubW0gKi8sCisJCQkJODUwNjU2RkEwQUFCNDc2MzAwMkQxNUMwIC8qIERP
TVN0eWxlU2hlZXQuaCAqLywKKwkJCQk4NTA2NTZGQjBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5
bGVTaGVldC5tbSAqLywKKwkJCQk4NTA2NTZGQzBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVT
aGVldExpc3QuaCAqLywKKwkJCQk4NTA2NTZGRDBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVT
aGVldExpc3QubW0gKi8sCisJCQkpOworCQkJbmFtZSA9IFN0eWxlU2hlZXRzOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJODU0RjEyQUMwQThFQkMxODAwMDk0MEI1IC8qIENv
cmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNDgzMyw2
ICs0ODY2LDcgQEAKIAkJODVCMjMyMjYwQThCRjNBMTAwRkRGNDdCIC8qIERlcml2ZWQgU291cmNl
cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJODUwNjU3
MDQwQUFCNDc2QzAwMkQxNUMwIC8qIFN0eWxlU2hlZXRzICovLAogCQkJCTg1OTY3RDlGMEFBOEJC
NTkwMDVGRURFRSAvKiBDb3JlICovLAogCQkJCTg1OTY3RENBMEFBOEJGMEYwMDVGRURFRSAvKiBD
U1MgKi8sCiAJCQkJODVDNTZEMDMwQUE4QkFBNzAwRDk1NzU1IC8qIEhUTUwgKi8sCkBAIC02MzQy
LDggKzYzNzYsMTAgQEAKIAkJCQlBODBFNzM0QTBBMTk5Qzc3MDA3RkI4QzUgLyogU3R5bGVMaXN0
LmggKi8sCiAJCQkJQThFQTgwMDUwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXQuY3BwICov
LAogCQkJCUE4RUE4MDA0MEExOTUxNkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0LmggKi8sCisJCQkJ
ODUwNjU2REMwQUFCNDREOTAwMkQxNUMwIC8qIFN0eWxlU2hlZXQuaWRsICovLAogCQkJCUE4RUE4
MDAzMEExOTUxNkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0TGlzdC5jcHAgKi8sCiAJCQkJQThFQTgw
MDIwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXRMaXN0LmggKi8sCisJCQkJODUwNjU2REYw
QUFCNDU0RjAwMkQxNUMwIC8qIFN0eWxlU2hlZXRMaXN0LmlkbCAqLywKIAkJCQk5M0NBNENBMjA5
REY5M0ZBMDBERjg2NzcgLyogc3ZnLmNzcyAqLywKIAkJCQk5M0NBNENBMzA5REY5M0ZBMDBERjg2
NzcgLyogdG9rZW5pemVyLmZsZXggKi8sCiAJCQkJQkM1RUMxNzYwQTUwN0UzRTAwNjAwN0Y1IC8q
IHZpZXctc291cmNlLmNzcyAqLywKQEAgLTc1MzUsNiArNzU3MSw5IEBACiAJCQkJODU4QzM4QTcw
QUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OEMzOTI4
MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NThDMzk1RjBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg1MDY1NkZFMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTg1MDY1NzAwMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4NTA2NTcwMjBBQUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVT
aGVldExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNzU2OSw3ICs3NjA4LDYgQEAKIAkJMDg2N0Q2
OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJY
UHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjExMDA4
QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJDb3Jl
IiAqLzsKLQkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CiAJCQloYXNTY2Fu
bmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNoLApA
QCAtNzU4NCw3ICs3NjIyLDYgQEAKIAkJCXByb2R1Y3RSZWZHcm91cCA9IDAzNDc2OERGRkYzOEE1
MDQxMURCOUM4QiAvKiBQcm9kdWN0cyAqLzsKIAkJCXByb2plY3REaXJQYXRoID0gIiI7CiAJCQlw
cm9qZWN0Um9vdCA9ICIiOwotCQkJc2hvdWxkQ2hlY2tDb21wYXRpYmlsaXR5ID0gMTsKIAkJCXRh
cmdldHMgPSAoCiAJCQkJOTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUgKi8sCiAJ
CQkJREQwNDFGQkUwOUQ5RERCRTAwMTBBRjJBIC8qIERlcml2ZWQgU291cmNlcyAqLywKQEAgLTg1
MzMsNiArODU3MCw5IEBACiAJCQkJODU4QzM4QTgwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3Qu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk4NThDMzkyOTBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NT
U3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1OEMzOTYwMEFBOTAyQTkwMEIxODdB
NCAvKiBET01SR0JDb2xvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1MDY1NkZGMEFBQjQ3NjMw
MDJEMTVDMCAvKiBET01NZWRpYUxpc3QubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTA2NTcwMTBB
QUI0NzYzMDAyRDE1QzAgLyogRE9NU3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTg1
MDY1NzAzMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0TGlzdC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCShyZXZpc2lvbiAxNjIwOCkKKysrIFdl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTYxLDcxICs2
MSw2IEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0VmlldzsKIC8vLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01TdHlsZVNoZWV0CiAKLUBpbXBsZW1lbnRhdGlvbiBE
T01TdHlsZVNoZWV0Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChfaW50ZXJuYWwpIHsK
LSAgICAgICAgRE9NX2Nhc3Q8U3R5bGVTaGVldCo+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAg
fQotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotLSAodm9pZClmaW5hbGl6ZQotewotICAgIGlm
IChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8U3R5bGVTaGVldCo+KF9pbnRlcm5hbCkt
PmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0gKFN0eWxlU2hl
ZXQgKilfRE9NU3R5bGVTaGVldAotewotICAgIHJldHVybiBET01fY2FzdDxTdHlsZVNoZWV0Kj4o
X2ludGVybmFsKTsKLX0KLQotLSAoTlNTdHJpbmcgKil0eXBlCi17Ci0gICAgcmV0dXJuIFtzZWxm
IF9ET01TdHlsZVNoZWV0XS0+dHlwZSgpOwotfQotCi0tIChCT09MKWRpc2FibGVkCi17Ci0gICAg
cmV0dXJuIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+ZGlzYWJsZWQoKTsKLX0KLQotLSAodm9pZClz
ZXREaXNhYmxlZDooQk9PTClkaXNhYmxlZAotewotICAgIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+
c2V0RGlzYWJsZWQoZGlzYWJsZWQpOwotfQotCi0tIChET01Ob2RlICopb3duZXJOb2RlCi17Ci0g
ICAgcmV0dXJuIFtET01Ob2RlIF9ub2RlV2l0aDpbc2VsZiBfRE9NU3R5bGVTaGVldF0tPm93bmVy
Tm9kZSgpXTsKLX0KLQotLSAoRE9NU3R5bGVTaGVldCAqKXBhcmVudFN0eWxlU2hlZXQKLXsKLSAg
ICByZXR1cm4gW0RPTVN0eWxlU2hlZXQgX0RPTVN0eWxlU2hlZXRXaXRoOltzZWxmIF9ET01TdHls
ZVNoZWV0XS0+cGFyZW50U3R5bGVTaGVldCgpXTsKLX0KLQotLSAoTlNTdHJpbmcgKilocmVmCi17
Ci0gICAgcmV0dXJuIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+aHJlZigpOwotfQotCi0tIChOU1N0
cmluZyAqKXRpdGxlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9ET01TdHlsZVNoZWV0XS0+dGl0bGUo
KTsKLX0KLQotLSAoRE9NTWVkaWFMaXN0ICopbWVkaWEKLXsKLSAgICByZXR1cm4gbmlsOwotfQot
Ci1AZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBET01TdHlsZVNoZWV0IChXZWJDb3JlSW50ZXJuYWwp
CiAKIC0gKGlkKV9pbml0V2l0aFN0eWxlU2hlZXQ6KFN0eWxlU2hlZXQgKilpbXBsCkBAIC0xMzcs
NyArNzIsNyBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7CiAgICAgcmV0dXJuIHNl
bGY7CiB9CiAKLSsgKERPTVN0eWxlU2hlZXQgKilfRE9NU3R5bGVTaGVldFdpdGg6KFN0eWxlU2hl
ZXQgKilpbXBsCisrIChET01TdHlsZVNoZWV0ICopX3N0eWxlU2hlZXRXaXRoOihTdHlsZVNoZWV0
ICopaW1wbAogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTE1Nyw0
NCArOTIsMTAgQEAgdHlwZWRlZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3OwogCiBAZW5kCiAKKwog
Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTVN0eWxlU2hlZXRMaXN0
CiAKLUBpbXBsZW1lbnRhdGlvbiBET01TdHlsZVNoZWV0TGlzdAotCi0tICh2b2lkKWRlYWxsb2MK
LXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PFN0eWxlU2hlZXRMaXN0
Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQot
Ci0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01f
Y2FzdDxTdHlsZVNoZWV0TGlzdCo+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtz
dXBlciBmaW5hbGl6ZV07Ci19Ci0KLS0gKFN0eWxlU2hlZXRMaXN0ICopX3N0eWxlU2hlZXRMaXN0
Ci17Ci0gICAgcmV0dXJuIERPTV9jYXN0PFN0eWxlU2hlZXRMaXN0Kj4oX2ludGVybmFsKTsKLX0K
LQotLSAodW5zaWduZWQpbGVuZ3RoCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9zdHlsZVNoZWV0TGlz
dF0tPmxlbmd0aCgpOwotfQotCi0tIChET01TdHlsZVNoZWV0ICopaXRlbToodW5zaWduZWQpaW5k
ZXgKLXsKLSAgICByZXR1cm4gW0RPTVN0eWxlU2hlZXQgX0RPTVN0eWxlU2hlZXRXaXRoOltzZWxm
IF9zdHlsZVNoZWV0TGlzdF0tPml0ZW0oaW5kZXgpXTsKLX0KLQotQGVuZAotCiBAaW1wbGVtZW50
YXRpb24gRE9NU3R5bGVTaGVldExpc3QgKFdlYkNvcmVJbnRlcm5hbCkKIAogLSAoaWQpX2luaXRX
aXRoU3R5bGVTaGVldExpc3Q6KFN0eWxlU2hlZXRMaXN0ICopaW1wbApAQCAtMjIxLDYgKzEyMiw3
IEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0VmlldzsKIAogQGVuZAogCisKIC8vLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01DU1NTdHlsZVNoZWV0CiAKQEAgLTIy
OCw3NSArMTMwLDE1IEBAIHR5cGVkZWYgRE9NV2luZG93IEFic3RyYWN0VmlldzsKIAogKyAoRE9N
Q1NTU3R5bGVTaGVldCAqKV9DU1NTdHlsZVNoZWV0V2l0aDooQ1NTU3R5bGVTaGVldCAqKWltcGwK
IHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NQ1NTU3R5bGVTaGVldCo+KFtET01TdHlsZVNo
ZWV0IF9ET01TdHlsZVNoZWV0V2l0aDppbXBsXSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERP
TUNTU1N0eWxlU2hlZXQqPihbRE9NU3R5bGVTaGVldCBfc3R5bGVTaGVldFdpdGg6aW1wbF0pOwog
fQogCiBAZW5kCiAKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERP
TU1lZGlhTGlzdAogCi1AaW1wbGVtZW50YXRpb24gRE9NTWVkaWFMaXN0Ci0KLS0gKHZvaWQpZGVh
bGxvYwotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8TWVkaWFMaXN0
Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQot
Ci0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01f
Y2FzdDxNZWRpYUxpc3QqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAgICBbc3VwZXIg
ZmluYWxpemVdOwotfQotCi0tIChNZWRpYUxpc3QgKilfbWVkaWFMaXN0Ci17Ci0gICAgcmV0dXJu
IERPTV9jYXN0PE1lZGlhTGlzdCo+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbWVk
aWFUZXh0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9tZWRpYUxpc3RdLT5tZWRpYVRleHQoKTsKLX0K
LQotLSAodm9pZClzZXRNZWRpYVRleHQ6KE5TU3RyaW5nICopbWVkaWFUZXh0Ci17Ci0gICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3NlbGYgX21lZGlhTGlzdF0tPnNldE1lZGlhVGV4dCht
ZWRpYVRleHQsIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tICh1bnNpZ25l
ZClsZW5ndGgKLXsKLSAgICByZXR1cm4gW3NlbGYgX21lZGlhTGlzdF0tPmxlbmd0aCgpOwotfQot
Ci0tIChOU1N0cmluZyAqKWl0ZW06KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAgcmV0dXJuIFtzZWxm
IF9tZWRpYUxpc3RdLT5pdGVtKGluZGV4KTsKLX0KLQotLSAodm9pZClkZWxldGVNZWRpdW06KE5T
U3RyaW5nICopb2xkTWVkaXVtCi17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3Nl
bGYgX21lZGlhTGlzdF0tPmRlbGV0ZU1lZGl1bShvbGRNZWRpdW0sIGVjKTsKLSAgICByYWlzZU9u
RE9NRXJyb3IoZWMpOwotfQotCi0tICh2b2lkKWFwcGVuZE1lZGl1bTooTlNTdHJpbmcgKiluZXdN
ZWRpdW0KLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfbWVkaWFMaXN0
XS0+YXBwZW5kTWVkaXVtKG5ld01lZGl1bSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7
Ci19Ci0KLUBlbmQKLQogQGltcGxlbWVudGF0aW9uIERPTU1lZGlhTGlzdCAoV2ViQ29yZUludGVy
bmFsKQogCiAtIChpZClfaW5pdFdpdGhNZWRpYUxpc3Q6KE1lZGlhTGlzdCAqKWltcGwKQEAgLTMy
Myw2ICsxNjUsNyBAQCB0eXBlZGVmIERPTVdpbmRvdyBBYnN0cmFjdFZpZXc7CiAKIEBlbmQKIAor
CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9NQ1NTUnVsZUxpc3QK
IApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFsLmgJKHJldmlzaW9uIDE2
MjA4KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTU0ludGVybmFsLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0LDE5ICs0NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBD
U1NTdHlsZVNoZWV0OwogICAgIGNsYXNzIENTU1ZhbHVlOwogICAgIGNsYXNzIENvdW50ZXI7Ci0g
ICAgY2xhc3MgTWVkaWFMaXN0OwogICAgIGNsYXNzIFJlY3RJbXBsOwotICAgIGNsYXNzIFN0eWxl
U2hlZXQ7CiB9CiAKLUBpbnRlcmZhY2UgRE9NU3R5bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQot
KyAoRE9NU3R5bGVTaGVldCAqKV9ET01TdHlsZVNoZWV0V2l0aDooV2ViQ29yZTo6U3R5bGVTaGVl
dCAqKWltcGw7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NTWVkaWFMaXN0IChXZWJDb3JlSW50ZXJu
YWwpCi0rIChET01NZWRpYUxpc3QgKilfbWVkaWFMaXN0V2l0aDooV2ViQ29yZTo6TWVkaWFMaXN0
ICopaW1wbDsKLUBlbmQKLQogQGludGVyZmFjZSBET01DU1NSdWxlTGlzdCAoV2ViQ29yZUludGVy
bmFsKQogKyAoRE9NQ1NTUnVsZUxpc3QgKilfcnVsZUxpc3RXaXRoOihXZWJDb3JlOjpDU1NSdWxl
TGlzdCAqKWltcGw7CiBAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJu
YWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAko
cmV2aXNpb24gMTYyMDgpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAko
d29ya2luZyBjb3B5KQpAQCAtMzcsMTEgKzM3LDE0IEBACiAjaW1wb3J0ICJET01Eb2N1bWVudFR5
cGUuaCIKICNpbXBvcnQgIkRPTUVsZW1lbnQuaCIKICNpbXBvcnQgIkRPTUVudGl0eVJlZmVyZW5j
ZS5oIgorI2ltcG9ydCAiRE9NTWVkaWFMaXN0LmgiCiAjaW1wb3J0ICJET01OYW1lZE5vZGVNYXAu
aCIKICNpbXBvcnQgIkRPTU5vZGUuaCIKICNpbXBvcnQgIkRPTU5vZGVMaXN0LmgiCiAjaW1wb3J0
ICJET01PYmplY3QuaCIKICNpbXBvcnQgIkRPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgorI2lt
cG9ydCAiRE9NU3R5bGVTaGVldC5oIgorI2ltcG9ydCAiRE9NU3R5bGVTaGVldExpc3QuaCIKICNp
bXBvcnQgIkRPTVRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTQsNiArNTcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnRUeXBlOwogICAgIGNsYXNz
IEVsZW1lbnQ7CiAgICAgY2xhc3MgRW50aXR5UmVmZXJlbmNlOworICAgIGNsYXNzIE1lZGlhTGlz
dDsKICAgICBjbGFzcyBOYW1lZE5vZGVNYXA7CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBO
b2RlRmlsdGVyOwpAQCAtNjEsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgTm9kZUxpc3Q7CiAgICAgY2xhc3MgUHJvY2Vzc2luZ0luc3RydWN0aW9uOwogICAgIGNsYXNz
IFJhbmdlOworICAgIGNsYXNzIFN0eWxlU2hlZXQ7CiAgICAgY2xhc3MgU3R5bGVTaGVldExpc3Q7
CiAgICAgY2xhc3MgVGV4dDsKICAgICBjbGFzcyBUcmVlV2Fsa2VyOwpAQCAtMTQ5LDEwICsxNTQs
MTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogKyAoRE9NVHJlZVdhbGtlciAqKV90cmVlV2Fsa2Vy
V2l0aDooV2ViQ29yZTo6VHJlZVdhbGtlciAqKWltcGwgZmlsdGVyOihpZCA8RE9NTm9kZUZpbHRl
cj4pZmlsdGVyOwogQGVuZAogCitAaW50ZXJmYWNlIERPTVN0eWxlU2hlZXQgKFdlYkNvcmVJbnRl
cm5hbCkKKysgKERPTVN0eWxlU2hlZXQgKilfc3R5bGVTaGVldFdpdGg6KFdlYkNvcmU6OlN0eWxl
U2hlZXQgKilpbXBsOworQGVuZAorCiBAaW50ZXJmYWNlIERPTVN0eWxlU2hlZXRMaXN0IChXZWJD
b3JlSW50ZXJuYWwpCiArIChET01TdHlsZVNoZWV0TGlzdCAqKV9zdHlsZVNoZWV0TGlzdFdpdGg6
KFdlYkNvcmU6OlN0eWxlU2hlZXRMaXN0ICopaW1wbDsKIEBlbmQKIAorQGludGVyZmFjZSBET01N
ZWRpYUxpc3QgKFdlYkNvcmVJbnRlcm5hbCkKKysgKERPTU1lZGlhTGlzdCAqKV9tZWRpYUxpc3RX
aXRoOihXZWJDb3JlOjpNZWRpYUxpc3QgKilpbXBsOworQGVuZAorCiBAaW50ZXJmYWNlIERPTU5v
ZGVGaWx0ZXIgOiBET01PYmplY3QgPERPTU5vZGVGaWx0ZXI+CiArIChET01Ob2RlRmlsdGVyICop
X25vZGVGaWx0ZXJXaXRoOihXZWJDb3JlOjpOb2RlRmlsdGVyICopaW1wbDsKIEBlbmQKSW5kZXg6
IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01PYmplY3QubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTU9iamVjdC5tbQkocmV2aXNpb24gMTYyMDgpCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NT2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjks
MTAgQEAKICNpbXBvcnQgIkRPTU9iamVjdC5oIgogCiAjaW1wb3J0ICJET01JbnRlcm5hbC5oIgot
Ci0jaW1wb3J0ICJET01DU1MuaCIgLy8gZm9yIERPTVN0eWxlU2hlZXQKLSNpbXBvcnQgIkRPTUNT
U0ludGVybmFsLmgiCi0jaW1wb3J0ICJET01IVE1MLmgiIC8vIGZvciBET01IVE1MTGlua0VsZW1l
bnQgYW5kIERPTUhUTUxTdHlsZUVsZW1lbnQKKyNpbXBvcnQgIkRPTUhUTUxMaW5rRWxlbWVudC5o
IgorI2ltcG9ydCAiRE9NSFRNTFN0eWxlRWxlbWVudC5oIgogI2ltcG9ydCAiRE9NUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmgiCisjaW1wb3J0ICJET01TdHlsZVNoZWV0LmgiCiAjaW1wb3J0ICJIVE1M
TGlua0VsZW1lbnQuaCIKICNpbXBvcnQgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbXBvcnQgIlBy
b2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgpAQCAtODUsNyArODQsNyBAQAogICAgIGVsc2UKICAgICAg
ICAgcmV0dXJuIG5pbDsKIAotICAgIHJldHVybiBbRE9NU3R5bGVTaGVldCBfRE9NU3R5bGVTaGVl
dFdpdGg6c2hlZXRdOworICAgIHJldHVybiBbRE9NU3R5bGVTaGVldCBfc3R5bGVTaGVldFdpdGg6
c2hlZXRdOwogfQogCiBAZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Qcml2YXRlLmgJKHJl
dmlzaW9uIDE2MjA4KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogICovCiAKICNpbXBvcnQgPFdlYkNvcmUvRE9N
Q1NTLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUNTU1N0eWxlRGVjbGFyYXRpb24uaD4KICNpbXBv
cnQgPFdlYkNvcmUvRE9NRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01FdmVudHMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTC5oPgpAQCAtMzIsNiArMzMsNyBAQAogI2ltcG9ydCA8
V2ViQ29yZS9ET01IVE1MSW5wdXRFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxT
ZWxlY3RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTU5vZGUuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvRE9NUkdCQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NUmFuZ2UuaD4KIAogQGlu
dGVyZmFjZSBET01SYW5nZSAoV2ViUHJpdmF0ZSkKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01TdHlsZXNoZWV0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01TdHlsZXNoZWV0cy5oCShyZXZpc2lvbiAxNjIwOCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01TdHlsZXNoZWV0cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwzMiArMjgsNiBAQAogI2lt
cG9ydCA8V2ViQ29yZS9ET01Eb2N1bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01PYmplY3Qu
aD4KIAotQGNsYXNzIERPTU1lZGlhTGlzdDsKLUBjbGFzcyBET01TdHlsZVNoZWV0OwotCi1leHRl
cm4gTlNTdHJpbmcgKiBjb25zdCBET01FdmVudEV4Y2VwdGlvbjsKLQotQGludGVyZmFjZSBET01T
dHlsZVNoZWV0IDogRE9NT2JqZWN0Ci0tIChOU1N0cmluZyAqKXR5cGU7Ci0tIChCT09MKWRpc2Fi
bGVkOwotLSAodm9pZClzZXREaXNhYmxlZDooQk9PTClkaXNhYmxlZDsKLS0gKERPTU5vZGUgKilv
d25lck5vZGU7Ci0tIChET01TdHlsZVNoZWV0ICopcGFyZW50U3R5bGVTaGVldDsKLS0gKE5TU3Ry
aW5nICopaHJlZjsKLS0gKE5TU3RyaW5nICopdGl0bGU7Ci0tIChET01NZWRpYUxpc3QgKiltZWRp
YTsKLUBlbmQKLQotQGludGVyZmFjZSBET01TdHlsZVNoZWV0TGlzdCA6IERPTU9iamVjdAotLSAo
dW5zaWduZWQpbGVuZ3RoOwotLSAoRE9NU3R5bGVTaGVldCAqKWl0ZW06KHVuc2lnbmVkKWluZGV4
OwotQGVuZAotCi1AaW50ZXJmYWNlIERPTU1lZGlhTGlzdCA6IERPTU9iamVjdAotLSAoTlNTdHJp
bmcgKiltZWRpYVRleHQ7Ci0tICh2b2lkKXNldE1lZGlhVGV4dDooTlNTdHJpbmcgKiltZWRpYVRl
eHQ7Ci0tICh1bnNpZ25lZClsZW5ndGg7Ci0tIChOU1N0cmluZyAqKWl0ZW06KHVuc2lnbmVkKWlu
ZGV4OwotLSAodm9pZClkZWxldGVNZWRpdW06KE5TU3RyaW5nICopb2xkTWVkaXVtOwotLSAodm9p
ZClhcHBlbmRNZWRpdW06KE5TU3RyaW5nICopbmV3TWVkaXVtOwotQGVuZAorI2ltcG9ydCA8V2Vi
Q29yZS9ET01TdHlsZVNoZWV0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVN0eWxlU2hlZXRMaXN0
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTU1lZGlhTGlzdC5oPgpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTVV0aWxpdHkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTVV0aWxpdHkubW0JKHJldmlzaW9uIDE2MjA4KQorKysgV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTVV0aWxpdHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCAq
U2NyaXB0SW50ZXJwcmV0ZXI6OmNyZWF0ZU9iamNJbnN0YQogICAgIGVsc2UgaWYgKHZhbHVlLT5p
bmhlcml0cygmRE9NU3R5bGVTaGVldExpc3Q6OmluZm8pKQogICAgICAgICBuZXdPYmogPSBbb2Jq
Y19nZXRDbGFzcygiRE9NU3R5bGVTaGVldExpc3QiKSBfc3R5bGVTaGVldExpc3RXaXRoOnN0YXRp
Y19jYXN0PERPTVN0eWxlU2hlZXRMaXN0ICo+KHZhbHVlKS0+aW1wbCgpXTsKICAgICBlbHNlIGlm
ICh2YWx1ZS0+aW5oZXJpdHMoJkRPTVN0eWxlU2hlZXQ6OmluZm8pKQotICAgICAgICBuZXdPYmog
PSBbb2JqY19nZXRDbGFzcygiRE9NU3R5bGVTaGVldCIpIF9ET01TdHlsZVNoZWV0V2l0aDpzdGF0
aWNfY2FzdDxET01TdHlsZVNoZWV0ICo+KHZhbHVlKS0+aW1wbCgpXTsKKyAgICAgICAgbmV3T2Jq
ID0gW29iamNfZ2V0Q2xhc3MoIkRPTVN0eWxlU2hlZXQiKSBfc3R5bGVTaGVldFdpdGg6c3RhdGlj
X2Nhc3Q8RE9NU3R5bGVTaGVldCAqPih2YWx1ZSktPmltcGwoKV07CiAgICAgZWxzZSBpZiAodmFs
dWUtPmluaGVyaXRzKCZET01NZWRpYUxpc3Q6OmluZm8pKQogICAgICAgICBuZXdPYmogPSBbb2Jq
Y19nZXRDbGFzcygiRE9NTWVkaWFMaXN0IikgX21lZGlhTGlzdFdpdGg6c3RhdGljX2Nhc3Q8RE9N
TWVkaWFMaXN0ICo+KHZhbHVlKS0+aW1wbCgpXTsKICAgICBlbHNlIGlmICh2YWx1ZS0+aW5oZXJp
dHMoJldlYkNvcmU6OkpTQ1NTUnVsZUxpc3Q6OmluZm8pKQpJbmRleDogV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkocmV2aXNpb24gMTYyMDgpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHdvcmtpbmcgY29w
eSkKQEAgLTM0MSwxMyArMzQxLDYgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgIyBUZW1wIERPTVN0eWxlc2hlZXRzLmgKLSAgICBpZiAoJHR5
cGUgZXEgIlN0eWxlU2hlZXQiIG9yICR0eXBlIGVxICJTdHlsZVNoZWV0TGlzdCIgb3IgJHR5cGUg
ZXEgIk1lZGlhTGlzdCIpIHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siRE9NU3R5bGVzaGVldHMu
aCJ9ID0gMTsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siJHR5cGUuaCJ9ID0gMTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQogICAgICMgVGVtcCBET01WaWV3cy5oCiAgICAgaWYgKCR0eXBlIGVx
ICJET01XaW5kb3ciKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IkRPTVZpZXdzLmgifSA9IDE7
CkBAIC00MDQsMTEgKzM5Nyw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIEBoZWFkZXJDb250
ZW50SGVhZGVyID0gc3BsaXQoIlxyIiwgJGhlYWRlckxpY2VuY2VUZW1wbGF0ZSk7CiAKICAgICAj
IC0gSU5DTFVERVMgLQotICAgIGlmICgkcGFyZW50Q2xhc3NOYW1lIGVxICJET01TdHlsZVNoZWV0
IikgewotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJD
b3JlL0RPTVN0eWxlc2hlZXRzLmg+IC8vIHBhcmVudCBjbGFzc1xuXG4iKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJDb3Jl
LyRwYXJlbnRDbGFzc05hbWUuaD4gLy8gcGFyZW50IGNsYXNzXG5cbiIpOwotICAgIH0KKyAgICBw
dXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jaW1wb3J0IDxXZWJDb3JlLyRwYXJlbnRDbGFz
c05hbWUuaD5cblxuIik7CiAKICAgICAjIC0gQWRkIGNvbnN0YW50cy4KICAgICBpZiAoJG51bUNv
bnN0YW50cyA+IDApIHsKQEAgLTUyMSw3ICs1MTAsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChAaGVhZGVyRnVuY3Rpb25zID4gMCkgewotICAgICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxuIik7CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCAiXG4iKSBpZiAkYnVpbGRpbmdGb3JMZW9wYXJkT3JMYXRlciBhbmQgJG51bUF0dHJp
YnV0ZXMgPiAwOwogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgQGhlYWRlckZ1bmN0
aW9ucyk7CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Cisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxl
IHN0eWxlc2hlZXRzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CisgICAg
aW50ZXJmYWNlIFN0eWxlU2hlZXQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgICB0eXBlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAg
ICAgICBkaXNhYmxlZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGUgICAgICAgICAg
ICAgb3duZXJOb2RlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3R5bGVTaGVldCAgICAg
ICBwYXJlbnRTdHlsZVNoZWV0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
ICAgICAgICBocmVmOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAg
ICB0aXRsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlzdCAgICAgICAgbWVk
aWE7CisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgor
ICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29t
PgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21v
ZHVsZSBzdHlsZXNoZWV0cyB7CisKKyAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgor
ICAgIGludGVyZmFjZSBTdHlsZVNoZWV0TGlzdCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nICAgIGxlbmd0aDsKKyAgICAgICAgU3R5bGVTaGVldCAgICAgICAgIGl0
ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgfTsKKworfQpJbmRleDogV2ViS2l0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjIwOSkK
KysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAw
Ni0wOS0wMyAgU2FtIFdlaW5pZyAgPHNhbS53ZWluaWdAZ21haWwuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gcGF0Y2ggZm9yIGh0dHA6Ly9i
dWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MTEKKyAgICAgICAgICBB
dXRvLWdlbmVyYXRlIHRoZSBPYmplY3RpdmUtQyBET00gU3R5bGVzaGVldCBiaW5kaW5ncworCisg
ICAgICAgICogTWlncmF0ZUhlYWRlcnMubWFrZToKKwogMjAwNi0wOS0wMiAgU2FtIFdlaW5pZyAg
PHNhbS53ZWluaWdAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbSBILgpJbmRl
eDogV2ViS2l0L01pZ3JhdGVIZWFkZXJzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L01pZ3Jh
dGVIZWFkZXJzLm1ha2UJKHJldmlzaW9uIDE2MjA4KQorKysgV2ViS2l0L01pZ3JhdGVIZWFkZXJz
Lm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTExNyw2ICsxMTcsNyBAQCBhbGwgOiBcCiAgICAgRE9N
SFRNTFRpdGxlRWxlbWVudC5oIFwKICAgICBET01IVE1MVUxpc3RFbGVtZW50LmggXAogICAgIERP
TUxpc3QuaCBcCisgICAgRE9NTWVkaWFMaXN0LmggXAogICAgIERPTU5hbWVkTm9kZU1hcC5oIFwK
ICAgICBET01Ob2RlLmggXAogICAgIERPTU5vZGVMaXN0LmggXApAQCAtMTI3LDYgKzEyOCw4IEBA
IGFsbCA6IFwKICAgICBET01SR0JDb2xvci5oIFwKICAgICBET01SYW5nZS5oIFwKICAgICBET01S
ZWN0LmggXAorICAgIERPTVN0eWxlU2hlZXQuaCBcCisgICAgRE9NU3R5bGVTaGVldExpc3QuaCBc
CiAgICAgRE9NU3R5bGVzaGVldHMuaCBcCiAgICAgRE9NVGV4dC5oIFwKICAgICBET01UcmF2ZXJz
YWwuaCBcCg==
</data>
<flag name="review"
          id="3309"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>