1 # License, not of this script, but of the application it contains:
4 # Copyright (C) 2007 David Cuadrado
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License, or (at your option) any later version.
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # Lesser General Public License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
20 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 # License of this script, not of the application it contains:
25 # Copyright Erik Veenstra <tar2rubyscript@erikveen.dds.nl>
27 # This program is free software; you can redistribute it and/or
28 # modify it under the terms of the GNU General Public License,
29 # version 2, as published by the Free Software Foundation.
31 # This program is distributed in the hope that it will be
32 # useful, but WITHOUT ANY WARRANTY; without even the implied
33 # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
34 # PURPOSE. See the GNU General Public License for more details.
36 # You should have received a copy of the GNU General Public
37 # License along with this program; if not, write to the Free
38 # Software Foundation, Inc., 59 Temple Place, Suite 330,
39 # Boston, MA 02111-1307 USA.
41 # Parts of this code are based on code from Thomas Hurst
44 # Tar2RubyScript constants
46 unless defined?(BLOCKSIZE)
47 ShowContent = ARGV.include?("--tar2rubyscript-list")
48 JustExtract = ARGV.include?("--tar2rubyscript-justextract")
49 ToTar = ARGV.include?("--tar2rubyscript-totar")
50 Preserve = ARGV.include?("--tar2rubyscript-preserve")
55 ARGV.delete_if{|arg| arg =~ /^--tar2rubyscript-/}
57 ARGV << "--tar2rubyscript-preserve" if Preserve
61 unless defined?(BLOCKSIZE)
78 SOLARIS_TMAGIC = "ustar\00000"
80 MAGICS = [TMAGIC, GNU_TMAGIC, SOLARIS_TMAGIC]
93 GNUTYPE_LONGLINK = 'K' # Identifies the *next* file on the tape as having a long linkname.
94 GNUTYPE_LONGNAME = 'L' # Identifies the *next* file on the tape as having a long name.
95 GNUTYPE_MULTIVOL = 'M' # This is the continuation of a file that began on another volume.
96 GNUTYPE_NAMES = 'N' # For storing filenames that do not fit into the main header.
97 GNUTYPE_SPARSE = 'S' # This is for sparse files.
98 GNUTYPE_VOLHDR = 'V' # This file is a tape/volume header. Ignore it on extraction.
102 def self.rm_rf(entry)
104 File.chmod(0755, entry)
108 if File.ftype(entry) == "directory"
114 Dir.rm_rf(e) if not [".", ".."].include?(e)
122 $stderr.puts e.message
128 $stderr.puts e.message
135 def initialize(filehandle)
154 while entry = next_entry
160 buf = @fp.read(BLOCKSIZE)
162 if buf.length < BLOCKSIZE or buf == "\000" * BLOCKSIZE
165 entry = Entry.new(buf, @fp)
173 attr_reader(:header, :data)
175 def initialize(header, fp)
176 @header = Header.new(header)
180 padding = (BLOCKSIZE - (header.size % BLOCKSIZE)) % BLOCKSIZE
181 @data = fp.read(header.size) if header.size > 0
182 dummy = fp.read(padding) if padding > 0
185 readdata.call(@header)
188 gnuname = @data[0..-2]
190 header = fp.read(BLOCKSIZE)
191 @header = Header.new(header)
192 @header.name = gnuname
194 readdata.call(@header)
199 if not @header.name.empty?
202 File.symlink(@header.linkname, @header.name)
203 rescue SystemCallError => e
204 $stderr.puts "Couldn't create symlink #{@header.name}: " + e.message
208 File.link(@header.linkname, @header.name)
209 rescue SystemCallError => e
210 $stderr.puts "Couldn't create link #{@header.name}: " + e.message
214 Dir.mkdir(@header.name, @header.mode)
215 rescue SystemCallError => e
216 $stderr.puts "Couldn't create dir #{@header.name}: " + e.message
220 File.open(@header.name, "wb") do |fp|
222 fp.chmod(@header.mode)
225 $stderr.puts "Couldn't create file #{@header.name}: " + e.message
228 $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
231 #File.chown(@header.uid, @header.gid, @header.name)
232 #File.utime(Time.now, @header.mtime, @header.name)
237 if not @header.name.empty?
239 $stderr.puts "s %s -> %s" % [@header.name, @header.linkname]
241 $stderr.puts "l %s -> %s" % [@header.name, @header.linkname]
243 $stderr.puts "d %s" % [@header.name]
245 $stderr.puts "f %s (%s)" % [@header.name, @header.size]
247 $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
254 attr_reader(:name, :uid, :gid, :size, :mtime, :uname, :gname, :mode, :linkflag, :linkname)
257 def initialize(header)
258 fields = header.unpack('A100 A8 A8 A8 A12 A12 A8 A1 A100 A8 A32 A32 A8 A8')
259 types = ['str', 'oct', 'oct', 'oct', 'oct', 'time', 'oct', 'str', 'str', 'str', 'str', 'str', 'oct', 'oct']
263 while field = fields.shift
267 when 'str' then converted.push(field)
268 when 'oct' then converted.push(field.oct)
269 when 'time' then converted.push(Time::at(field.oct))
273 @name, @mode, @uid, @gid, @size, @mtime, @chksum, @linkflag, @linkname, @magic, @uname, @gname, @devmajor, @devminor = converted
275 @name.gsub!(/^\.\//, "")
276 @linkname.gsub!(/^\.\//, "")
279 rescue ArgumentError => e
280 raise "Couldn't determine a real value for a field (#{field})"
283 raise "Magic header value #{@magic.inspect} is invalid." if not MAGICS.include?(@magic)
285 @linkflag = LF_FILE if @linkflag == LF_OLDFILE or @linkflag == LF_CONTIG
286 @linkflag = LF_DIR if @linkflag == LF_FILE and @name[-1] == '/'
287 @size = 0 if @size < 0
299 @linkflag == LF_SYMLINK
307 @linkflag == GNUTYPE_LONGNAME
312 @@count = 0 unless defined?(@@count)
317 @archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
319 temp = "/tmp" if temp.nil?
320 temp = File.expand_path(temp)
321 @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
326 File.open(@tempfile, "wb") {|f| f.write @archive}
327 File.open(@tempfile, "rb") {|f| Reader.new(f).list}
329 File.delete(@tempfile)
343 @@count = 0 unless defined?(@@count)
348 @archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
351 temp = "/tmp" if temp.nil?
352 temp = File.expand_path(temp)
353 @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
354 @tempdir = "#{temp}/tar2rubyscript.d.#{Process.pid}.#{@@count}"
372 Dir.rm_rf(@tempdir) if File.exists?(@tempdir)
377 # Create the temp environment.
379 File.open(@tempfile, "wb") {|f| f.write @archive}
380 File.open(@tempfile, "rb") {|f| Reader.new(f).extract}
382 # Eventually look for a subdirectory.
384 entries = Dir.entries(".")
388 if entries.length == 1
389 entry = entries.shift.dup
390 if File.directory?(entry)
391 @newdir = "#{@tempdir}/#{entry}"
396 # Remember all File objects.
399 ObjectSpace::each_object(File) do |obj|
406 # Close all File objects, opened in init.rb .
408 ObjectSpace::each_object(File) do |obj|
409 obj.close if (not obj.closed? and not @ioobjects.include?(obj))
412 # Remove the temp environment.
430 entry = entry.gsub!(/[\/\\]*$/, "") unless entry.nil?
432 return unless File.exists?(entry)
434 if File.directory?(entry)
443 touch(e) unless [".", ".."].include?(e)
449 rescue Errno::EACCES => error
453 File.utime(Time.now, File.mtime(entry), entry)
457 def oldlocation(file="")
465 res = File.expand_path(file, @olddir) if not file.nil?
471 def newlocation(file="")
479 res = File.expand_path(file, @newdir) if not file.nil?
485 def templocation(file="")
493 res = File.expand_path(file, @tempdir) if not file.nil?
499 def self.oldlocation(file="")
501 @@tempspace.oldlocation { yield }
503 @@tempspace.oldlocation(file)
507 def self.newlocation(file="")
509 @@tempspace.newlocation { yield }
511 @@tempspace.newlocation(file)
515 def self.templocation(file="")
517 @@tempspace.templocation { yield }
519 @@tempspace.templocation(file)
525 @@count = 0 unless defined?(@@count)
528 @archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
530 temp = "/tmp" if temp.nil?
531 @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
536 File.open(@tempfile, "wb") {|f| f.write @archive}
537 File.open(@tempfile, "rb") {|f| Reader.new(f).extract}
539 File.delete(@tempfile)
554 @archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
555 @tarfile = File.expand_path(__FILE__).gsub(/\.rbw?$/, "") + ".tar"
559 File.open(@tarfile, "wb") {|f| f.write @archive}
571 def oldlocation(file="")
573 TempSpace.oldlocation { yield }
575 TempSpace.oldlocation(file)
579 def newlocation(file="")
581 TempSpace.newlocation { yield }
583 TempSpace.newlocation(file)
587 def templocation(file="")
589 TempSpace.templocation { yield }
591 TempSpace.templocation(file)
596 Content.new.list.cleanup
598 Extract.new.extract.cleanup
600 MakeTar.new.extract.cleanup
602 TempSpace.new.extract.cleanup
604 $:.unshift(templocation)
605 $:.unshift(newlocation)
611 if Dir.pwd[1..2] == ":/" # Hack ???
612 s << ";#{templocation.gsub(/\//, "\\")}"
613 s << ";#{newlocation.gsub(/\//, "\\")}"
614 s << ";#{oldlocation.gsub(/\//, "\\")}"
616 s << ":#{templocation}"
617 s << ":#{newlocation}"
618 s << ":#{oldlocation}"
623 TAR2RUBYSCRIPT = true unless defined?(TAR2RUBYSCRIPT)
627 $0.replace(File.expand_path("./init.rb"))
629 if File.file?("./init.rb")
630 load File.expand_path("./init.rb")
632 $stderr.puts "%s doesn't contain an init.rb ." % __FILE__
635 if File.file?("./init.rb")
636 load File.expand_path("./init.rb")
643 # cW9uZmlndXJlLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
644 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
645 # AAAAAAAAAAAAADAwMDA3NTUAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAwMDAw
646 # ADEwNjczMjM2MTIyADAxMjQxMQAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
647 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
648 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdl
649 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAA
650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
654 # AAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcGxhaW5fYmFja2VuZC5yYgAA
655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
656 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAw
657 # MDE3NTAAMDAwMDAwMDA0NjMAMTA2NzMyMjA3MDQAMDE1NTEyACAwAAAAAAAA
658 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
659 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
660 # AAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr
661 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
662 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdi
666 # YWNrZW5kJwoKbW9kdWxlIFFvbmYKCmNsYXNzIFBsYWluQmFja2VuZCA8IEJh
667 # Y2tlbmQKICBkZWYgcGFyc2Uob3B0aW9ucykKICAgIG9wdGlvbnMuZWFjaCB7
668 # IHxvcHRpb258CiAgICAgIGlmIG9wdGlvbls6dmFsdWVdLnRvX3MuZW1wdHk/
669 # IGFuZCBvcHRpb25bOm9wdGlvbmFsXSA9PSBmYWxzZQogICAgICAgIHB1dHMg
670 # Ij0+IFRoZSBvcHRpb24gJyN7b3B0aW9uWzpuYW1lXX0nIGlzIHJlcXVpcmVk
671 # LiIKICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgZW5kCiAgICB9CiAgICAK
672 # ICAgIHRydWUKICBlbmQKZW5kCgplbmQKCgoAAAAAAAAAAAAAAAAAAAAAAAAA
673 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
674 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
675 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
676 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
677 # AAAAAAAAcW9uZmlndXJlL3FvbmYucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
678 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
679 # AAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAw
680 # MDIzMzMwADEwNjczMjM2MTIyADAxMzcwMgAgMAAAAAAAAAAAAAAAAAAAAAAA
681 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
682 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg
683 # AGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAA
684 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
685 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
686 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
687 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
688 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcmVxdWlyZSAndGVzdCcKcmVxdWly
689 # ZSAncGtnY29uZmlnJwpyZXF1aXJlICdiYWNrZW5kZmFjdG9yeScKcmVxdWly
690 # ZSAnY29uZmlnJwpyZXF1aXJlICdxbWFrZScKcmVxdWlyZSAnbWFrZWZpbGUn
691 # Cgptb2R1bGUgUW9uZgogIGNsYXNzIFNldHVwCiAgICBhdHRyX3JlYWRlciA6
692 # b3B0aW9ucywgOnBhY2thZ2VzLCA6dGVzdHMsIDpwa2dfY29uZmlncwogICAg
693 # ZGVmIGluaXRpYWxpemUKICAgICAgQG9wdGlvbnMgPSBbXQogICAgICBAcGFj
694 # a2FnZXMgPSBbXQogICAgICBAdGVzdHMgPSBbXQogICAgICBAcGtnX2NvbmZp
695 # Z3MgPSBbXQogICAgICAKICAgICAgYWRkX29wdGlvbig6bmFtZSA9PiAicHJl
696 # Zml4IiwgOnR5cGUgPT4gInBhdGgiLCA6ZGVmYXVsdCA9PiAiL3Vzci9sb2Nh
697 # bC8iLCA6b3B0aW9uYWwgPT4gdHJ1ZSwgOmRlc2NyaXB0aW9uID0+ICJTZXRz
698 # IHRoZSBpbnN0YWxsIHByZWZpeCIpCiAgICBlbmQKICAgIAogICAgZGVmIGFk
699 # ZF9vcHRpb24ob3B0aW9uKQogICAgICBpZiBub3Qgb3B0aW9uWzp0eXBlXS5u
700 # aWw/CiAgICAgICAgb3B0aW9uWzp0eXBlXS5kb3duY2FzZSEKICAgICAgZW5k
701 # CiAgICAgIAogICAgICBAb3B0aW9ucyA8PCBvcHRpb24KICAgIGVuZAogICAg
702 # CiAgICBkZWYgZmluZF9wYWNrYWdlKG9wdGlvbnMpCiAgICAgIEBwYWNrYWdl
703 # cyA8PCBvcHRpb25zCiAgICBlbmQKICAgIAogICAgZGVmIGFkZF90ZXN0KG9w
704 # dGlvbikKICAgICAgcmFpc2UgIlBsZWFzZSBzZXQgYSB2YWxpZCBuYW1lIHRv
705 # IHRoZSB0ZXN0IiBpZiBvcHRpb25bOm5hbWVdLnRvX3MuZW1wdHk/CiAgICAg
706 # IHJhaXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgaWQgdG8gdGhlIHRlc3QiIGlm
707 # IG9wdGlvbls6aWRdLnRvX3MuZW1wdHk/CiAgICAgIAogICAgICBAdGVzdHMg
708 # PDwgb3B0aW9uCiAgICBlbmQKICAgIAogICAgZGVmIGdlbmVyYXRlX3BrZ2Nv
709 # bmZpZyhvcHRpb25zKQogICAgICByYWlzZSAiUGxlYXNlIHNldCBhIHZhbGlk
710 # IG5hbWUiIGlmIG9wdGlvbnNbOnBhY2thZ2VfbmFtZV0udG9fcy5lbXB0eT8K
711 # ICAgICAgQHBrZ19jb25maWdzIDw8IG9wdGlvbnMKICAgIGVuZAogIGVuZAog
712 # IAogIGNsYXNzIENvbmZpZ3VyZQogICAgZGVmIGluaXRpYWxpemUKICAgICAg
713 # QGFyZ3VtZW50cyA9IHt9CiAgICAgIEBjb25maWcgPSBDb25maWcubmV3CiAg
714 # ICAgIEBxbWFrZSA9IFFNYWtlLm5ldwogICAgICAKICAgICAgY2ZnID0gU2V0
715 # dXAubmV3CiAgICAgIGNvbmZpZ3VyZShjZmcpCiAgICAgIAogICAgICBAb3B0
716 # aW9ucyA9IGNmZy5vcHRpb25zCiAgICAgIEBwYWNrYWdlcyA9IGNmZy5wYWNr
717 # YWdlcwogICAgICBAdGVzdHMgPSBjZmcudGVzdHMKICAgICAgQHBrZ19jb25m
718 # aWdzID0gY2ZnLnBrZ19jb25maWdzCiAgICAgIEBzdGF0dXNGaWxlID0gRGly
719 # LmdldHdkKyIvdXBkYXRlLW1ha2VmaWxlIgogICAgZW5kCiAgICAKICAgIGRl
720 # ZiBmaW5kX3BhY2thZ2VzICMgVE9ETzogc29wb3J0YXIgaW5mb3JtYWNpb24g
721 # cGFyYSBlbCBzaXN0ZW1hIG9wZXJhdGl2byBzb2JyZSBjb21vIGluc3RhbGFy
722 # IGVsIHBhcXVldGUKICAgICAgQHBhY2thZ2VzLmVhY2ggeyB8cGFja2FnZXwK
723 # ICAgICAgICBwcmludCAiPT4gU2VhcmNoaW5nIGZvciBwYWNrYWdlOiAje3Bh
724 # Y2thZ2VbOm5hbWVdfS4uLiAgIgogICAgICAgIHBrZ2NvbmZpZyA9IFBrZ0Nv
725 # bmZpZy5uZXcocGFja2FnZVs6bmFtZV0pCiAgICAgICAgYmVnaW4KICAgICAg
726 # ICAgIHNldHVwX3BrZ2NvbmZpZyhwa2djb25maWcsIEBhcmd1bWVudHMpCiAg
727 # ICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAgICAgaWYg
728 # bm90IGUubWVzc2FnZSA9fiAvc2V0dXBfcGtnY29uZmlnLwogICAgICAgICAg
729 # ICBwdXRzICJFcnJvcjogI3tlLm1lc3NhZ2V9IgogICAgICAgICAgICBwdXRz
730 # IGUuYmFja3RyYWNlCiAgICAgICAgICAgIGV4aXQgLTEKICAgICAgICAgIGVu
731 # ZAogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIGlmIG5vdCBwa2djb25m
732 # aWcuZmluZChwYWNrYWdlWzpuYW1lXSkKICAgICAgICAgIHB1dHMgIltOT10i
733 # CiAgICAgICAgICAKICAgICAgICAgIG9wdGlvbmFsID0gcGFja2FnZVs6b3B0
734 # aW9uYWxdLm5pbD8gPyBmYWxzZSA6IHBhY2thZ2VbOm9wdGlvbmFsXQogICAg
735 # ICAgICAgCiAgICAgICAgICBpZiBub3Qgb3B0aW9uYWwKICAgICAgICAgICAg
736 # cHV0cyAiPT4gVGhlIHBhY2thZ2UgJyN7cGFja2FnZVs6bmFtZV19JyBpcyBy
737 # ZXF1aXJlZC4iCiAgICAgICAgICAgIGV4aXQgLTEKICAgICAgICAgIGVuZAog
738 # ICAgICAgIGVsc2UKICAgICAgICAgIHB1dHMgIltZRVNdIgogICAgICAgICAg
739 # Z2xvYmFsID0gcGFja2FnZVs6Z2xvYmFsXS5uaWw/ID8gZmFsc2UgOiBwYWNr
740 # YWdlWzpnbG9iYWxdCiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cgPSBA
741 # Y29uZmlnCiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAg
742 # ICAgICAgICAgcW9uZnBrZyA9IFBhY2thZ2UubmV3KHBhY2thZ2VbOm5hbWVd
743 # KQogICAgICAgICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIAojICAgICAg
744 # ICAgICBwa2djb25maWcucmVxdWlyZXMuZWFjaCB7IHxyZXF8CiMgICAgICAg
745 # ICAgICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdlKHJlcSkKIyAgICAgICAg
746 # ICAgfQogICAgICAgICAgCiAgICAgICAgICBxb25mcGtnLmFkZF9saWIocGtn
747 # Y29uZmlnLmxpYnMpCiAgICAgICAgICAKICAgICAgICAgIHBrZ2NvbmZpZy5p
748 # bmNsdWRlX3BhdGguZWFjaCB7IHxpbmNwYXRofAogICAgICAgICAgICBxb25m
749 # cGtnLmFkZF9pbmNsdWRlX3BhdGgoaW5jcGF0aCkKICAgICAgICAgIH0KICAg
750 # ICAgICAgIAogICAgICAgICAgcGtnY29uZmlnLmRlZmluZXMuZWFjaCB7IHxk
751 # ZWZpbmV8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2RlZmluZShkZWZpbmUp
752 # CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9i
753 # YWwKICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdlKHFvbmZw
754 # a2cpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgfQogICAgZW5k
755 # CiAgICAKICAgIGRlZiBydW5fdGVzdHMKICAgICAgQHRlc3RzLmVhY2ggeyB8
756 # dGVzdG9wdHwKICAgICAgICBwcmludCAiPT4gVGVzdGluZyAje3Rlc3RvcHRb
757 # Om5hbWVdfS4uLiAgIgogICAgICAgIAogICAgICAgIHRzdCA9IFRlc3QubmV3
758 # KHRlc3RvcHQpCiAgICAgICAgCiAgICAgICAgYmVnaW4KICAgICAgICAgIHNl
759 # dHVwX3Rlc3QodGVzdG9wdFs6aWRdLCB0c3QsIEBhcmd1bWVudHMpCiAgICAg
760 # ICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAgICAgaWYgbm90
761 # IGUubWVzc2FnZSA9fiAvc2V0dXBfdGVzdC8KICAgICAgICAgICAgcHV0cyAi
762 # RXJyb3I6ICN7ZX0iCiAgICAgICAgICAgIHB1dHMgZS5iYWNrdHJhY2UKICAg
763 # ICAgICAgICAgZXhpdCAtMQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAg
764 # ICAgICAgCiAgICAgICAgb3B0aW9uYWwgPSB0ZXN0b3B0WzpvcHRpb25hbF0u
765 # bmlsPyA/IGZhbHNlIDogdGVzdG9wdFs6b3B0aW9uYWxdCiAgICAgICAgaWYg
766 # dHN0LnJ1bihAcW1ha2UpCiAgICAgICAgICBnbG9iYWwgPSB0ZXN0b3B0Wzpn
767 # bG9iYWxdLm5pbD8gPyBmYWxzZSA6IHRlc3RvcHRbOmdsb2JhbF0KICAgICAg
768 # ICAgIAogICAgICAgICAgcW9uZnBrZyA9IEBjb25maWcKICAgICAgICAgIAog
769 # ICAgICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBxb25mcGtnID0g
770 # UGFja2FnZS5uZXcodHN0LmlkKQogICAgICAgICAgZW5kCiAgICAgICAgICAK
771 # ICAgICAgICAgIHRzdC5pbmNsdWRlX3BhdGguZWFjaCB7IHxpbmNwYXRofAog
772 # ICAgICAgICAgICBxb25mcGtnLmFkZF9pbmNsdWRlX3BhdGgoaW5jcGF0aCkK
773 # ICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgdHN0LmRlZmluZXMu
774 # ZWFjaCB7IHxkZWZpbmV8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2RlZmlu
775 # ZShkZWZpbmUpCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHFv
776 # bmZwa2cuYWRkX2xpYih0c3QubGlicy50b19zKQogICAgICAgICAgCiAgICAg
777 # ICAgICBpZiBub3QgZ2xvYmFsCiAgICAgICAgICAgIEBjb25maWcuYWRkX3Fv
778 # bmZfcGFja2FnZShxb25mcGtnKQogICAgICAgICAgZW5kCiAgICAgICAgICBw
779 # dXRzICJbT0tdIgogICAgICAgIGVsc2UKICAgICAgICAgIHB1dHMgIltGQUlM
780 # RURdIgogICAgICAgICAgCiAgICAgICAgICBpZiBub3Qgb3B0aW9uYWwKICAg
781 # ICAgICAgICAgcHV0cyAiPT4gI3t0ZXN0b3B0WzpuYW1lXX0gaXMgcmVxdWly
782 # ZWQiCiAgICAgICAgICAgIGV4aXQgLTEKICAgICAgICAgIGVuZAogICAgICAg
783 # IGVuZAogICAgICB9CiAgICBlbmQKICAgIAogICAgZGVmIGdlbmVyYXRlX21h
784 # a2VmaWxlcwogICAgICBwdXRzICI9PiBDcmVhdGluZyBtYWtlZmlsZXMuLi4i
785 # CiAgICAgIEBxbWFrZS5ydW4oIiIsIHRydWUpCiAgICAgIAogICAgICBwdXRz
786 # ICI9PiBVcGRhdGluZyBtYWtlZmlsZXMuLi4iCiAgICAgIAogICAgICBAbWFr
787 # ZWZpbGVzID0gTWFrZWZpbGU6OmZpbmRfbWFrZWZpbGVzKERpci5nZXR3ZCkK
788 # ICAgICAgQG1ha2VmaWxlcy5lYWNoIHsgfG1ha2VmaWxlfAogICAgICAgICAg
789 # TWFrZWZpbGU6Om92ZXJyaWRlKG1ha2VmaWxlLCBGaWxlLmV4cGFuZF9wYXRo
790 # KEBhcmd1bWVudHNbInByZWZpeCJdLnRvX3MpLCBAc3RhdHVzRmlsZSkKICAg
791 # ICAgfQogICAgICAKICAgICAgRmlsZS5vcGVuKEBzdGF0dXNGaWxlLCAidyIg
792 # KSB7IHxmaWxlfAogICAgICAgIGZpbGUgPDwgJUAKI3tGaWxlLnJlYWQobmV3
793 # bG9jYXRpb24oIm1ha2VmaWxlLnJiIikpfQpRb25mOjpNYWtlZmlsZTo6b3Zl
794 # cnJpZGUoIEFSR1ZbMF0udG9fcywgIiN7QGFyZ3VtZW50c1sicHJlZml4Il19
795 # IiwgIiN7QHN0YXR1c0ZpbGV9IiApCkAKICAgICAgfQogICAgZW5kCiAgICAK
796 # ICAgIGRlZiBnZXRfYXJncyhhcmd2KQogICAgICBvcHRjID0gMAogICAgICBs
797 # YXN0X29wdCA9ICIiCiAgICAgIAogICAgICBAb3B0aW9ucy5lYWNoIHsgfG9w
798 # dGlvbnwKICAgICAgICBnaXZlbl9vcHRpb24gPSBuaWwKICAgICAgICAKICAg
799 # ICAgICBhcmd2LmVhY2ggeyB8YXJnfAogICAgICAgICAgYXJnLnN0cmlwIQog
800 # ICAgICAgICAgZ2l2ZW4gPSBmYWxzZQogICAgICAgICAgCiAgICAgICAgICBj
801 # YXNlIG9wdGlvbls6dHlwZV0udG9fcwogICAgICAgICAgICB3aGVuICJzdHJp
802 # bmciCiAgICAgICAgICAgICAgaWYgYXJnID1+IC8tLSN7b3B0aW9uWzpuYW1l
803 # XX09KFtcV1x3XSopLwogICAgICAgICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAg
804 # ICAgICAgICAgICAgICBnaXZlbl9vcHRpb24gPSAkMQogICAgICAgICAgICAg
805 # IGVuZAogICAgICAgICAgICB3aGVuICJwYXRoIgogICAgICAgICAgICAgIGlm
806 # IGFyZyA9fiAvLS0je29wdGlvbls6bmFtZV19PShbXFdcd10qKS8KICAgICAg
807 # ICAgICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5f
808 # b3B0aW9uID0gRmlsZS5leHBhbmRfcGF0aCgkMSkKICAgICAgICAgICAgICBl
809 # bmQKICAgICAgICAgICAgd2hlbiAiYm9vbCIKICAgICAgICAgICAgICBpZiBh
810 # cmcgPX4gLy0tdXNlLSN7b3B0aW9uWzpuYW1lXX09KFx3KykvCiAgICAgICAg
811 # ICAgICAgICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICAgIGdpdmVuX29w
812 # dGlvbiA9ICQxCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVsc2UK
813 # ICAgICAgICAgICAgICBpZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVdfS8K
814 # ICAgICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICJ5ZXMiCiAgICAgICAg
815 # ICAgICAgICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICBlbmQKICAgICAg
816 # ICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICBpZiBnaXZlbgogICAgICAg
817 # ICAgICBhcmd2LmRlbGV0ZShhcmcpCiAgICAgICAgICBlbmQKICAgICAgICB9
818 # CiAgICAgICAgCiAgICAgICAgb3B0aW9uWzp2YWx1ZV0gPSBnaXZlbl9vcHRp
819 # b24KICAgICAgfQogICAgICAKICAgICAgYmFja2VuZF9rZXkgPSAidGsiCiAg
820 # ICAgIGFyZ3YuZWFjaCB7IHx1bmtub3dufAogICAgICAgIHVua25vd24uc3Ry
821 # aXAhCiAgICAgICAgaWYgdW5rbm93biA9fiAvLS13aXRoLWNvbmZpZy1iYWNr
822 # ZW5kPShcdyspLwogICAgICAgICAgYmFja2VuZF9rZXkgPSAkMQogICAgICAg
823 # IGVsc2lmIHVua25vd24gPX4gLy0taGVscC8KICAgICAgICAgIHVzYWdlCiAg
824 # ICAgICAgICBleGl0IDAKICAgICAgICBlbmQKICAgICAgfQogICAgICAKICAg
825 # ICAgYmFja2VuZCA9IEJhY2tlbmRGYWN0b3J5LmNyZWF0ZShiYWNrZW5kX2tl
826 # eSkKICAgICAgaWYgYmFja2VuZC5uaWw/CiAgICAgICAgcHV0cyAiPT4gSW52
827 # YWxpZCBiYWNrZW5kIgogICAgICAgIHVzYWdlKCkKICAgICAgICBleGl0IC0x
828 # CiAgICAgIGVsc2lmIG5vdCBiYWNrZW5kLnBhcnNlKEBvcHRpb25zKQogICAg
829 # ICAgIHVzYWdlKCkKICAgICAgICBleGl0IC0xCiAgICAgIGVuZAogICAgICAK
830 # ICAgICAgQG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAgICAgdmFsdWUg
831 # PSBvcHRpb25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19z
832 # IDogb3B0aW9uWzp2YWx1ZV0KICAgICAgICBAYXJndW1lbnRzW29wdGlvbls6
833 # bmFtZV1dID0gdmFsdWUKICAgICAgfQogICAgICAKICAgIGVuZAogICAgCiAg
834 # ICBkZWYgc2F2ZShwYXRoKQogICAgICBiZWdpbgogICAgICAgIHNldHVwX2Nv
835 # bmZpZyhAY29uZmlnLCBAYXJndW1lbnRzKQogICAgICByZXNjdWUgTm9NZXRo
836 # b2RFcnJvciA9PiBlCiAgICAgICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0
837 # dXBfY29uZmlnLwogICAgICAgICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAg
838 # ICAgICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICBleGl0IC0xCiAgICAg
839 # ICAgZW5kCiAgICAgIGVuZAogICAgICAKICAgICAgQGNvbmZpZy5hZGRfZGVm
840 # aW5lKCVAX19QUkVGSVhfXz0nXFxcXCInI3tGaWxlLmV4cGFuZF9wYXRoIEBh
841 # cmd1bWVudHNbInByZWZpeCJdfSdcXFxcIidAKQogICAgICAKICAgICAgc2F2
842 # ZV9wa2djb25maWcKICAgICAgQGNvbmZpZy5zYXZlKHBhdGgpCiAgICBlbmQK
843 # ICAgIAogICAgZGVmIHNhdmVfcGtnY29uZmlnCiAgICAgIGlmIG5vdCBAcGtn
844 # X2NvbmZpZ3MuZW1wdHk/CiAgICAgICAgQHBrZ19jb25maWdzLmVhY2ggeyB8
845 # cGtnX2NvbmZpZ3wKICAgICAgICAgIEZpbGUub3BlbiggcGtnX2NvbmZpZ1s6
846 # cGFja2FnZV9uYW1lXSsiLnBjIiwgInciKSBkbyB8ZmlsZXwKICAgICAgICAg
847 # ICAgZmlsZSA8PCAicHJlZml4PSIgPDwgQGFyZ3VtZW50c1sicHJlZml4Il0g
848 # PDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJleGVjX3ByZWZpeD0ke3By
849 # ZWZpeH0iIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAibGliZGlyPSN7
850 # cGtnX2NvbmZpZ1s6bGliZGlyXS5uaWw/ID8gIiR7cHJlZml4fS9saWIiIDog
851 # cGtnX2NvbmZpZ1s6bGliZGlyXSB9IiA8PCAiXG4iCiAgICAgICAgICAgIGZp
852 # bGUgPDwgImluY2x1ZGVkaXI9I3twa2dfY29uZmlnWzppbmNsdWRlZGlyXS5u
853 # aWw/ID8gIiR7cHJlZml4fS9pbmNsdWRlIiA6IHBrZ19jb25maWdbOmluY2x1
854 # ZGVkaXJdIH0iIDw8ICJcblxuXG4iCiAgICAgICAgICAgIAogICAgICAgICAg
855 # ICBmaWxlIDw8ICJOYW1lOiAiIDw8IHBrZ19jb25maWdbOnBhY2thZ2VfbmFt
856 # ZV0gPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJEZXNjcmlwdGlvbjog
857 # IiA8PCBwa2dfY29uZmlnWzpkZXNjcmlwdGlvbl0gPDwgIlxuIgogICAgICAg
858 # ICAgICBmaWxlIDw8ICJSZXF1aXJlczogIiA8PCBwa2dfY29uZmlnWzpyZXF1
859 # aXJlc10uam9pbigiICIpIDw8ICJcbiIgaWYgcGtnX2NvbmZpZ1s6cmVxdWly
860 # ZXNdLmNsYXNzID09IEFycmF5CiAgICAgICAgICAgIGZpbGUgPDwgIlZlcnNp
861 # b246ICIgPDwgcGtnX2NvbmZpZ1s6dmVyc2lvbl0gPDwgIlxuIgogICAgICAg
862 # ICAgICAKICAgICAgICAgICAgZmlsZSA8PCAiTGliczogIiA8PCBwa2dfY29u
863 # ZmlnWzpsaWJzXSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgIkNmbGFn
864 # czogIiA8PCBwa2dfY29uZmlnWzpjZmxhZ3NdIDw8ICJcbiIKICAgICAgICAg
865 # IGVuZAogICAgICAgIH0KICAgICAgZW5kCiAgICBlbmQKICAgIAogICAgZGVm
866 # IHVzYWdlCiAgICAgIHB1dHMgIk9wdGlvbnM6IgogICAgICBAb3B0aW9ucy5l
867 # YWNoIHsgfG9wdGlvbnwKICAgICAgICBjYXNlIG9wdGlvbls6dHlwZV0KICAg
868 # ICAgICAgIHdoZW4gInN0cmluZyIKICAgICAgICAgICAgcHJpbnQgIlxuICAt
869 # LSN7b3B0aW9uWzpuYW1lXX09W3ZhbHVlXSIKICAgICAgICAgICAgcHJpbnQg
870 # Ilx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3JpcHRpb25dfSAiCiAgICAgICAg
871 # ICAgIAogICAgICAgICAgICBpZiBub3Qgb3B0aW9uWzpkZWZhdWx0XS5uaWw/
872 # CiAgICAgICAgICAgICAgcHJpbnQgIltkZWZhdWx0PSN7b3B0aW9uWzpkZWZh
873 # dWx0XX1dIgogICAgICAgICAgICBlbmQKICAgICAgICAgIHdoZW4gInBhdGgi
874 # CiAgICAgICAgICAgIHByaW50ICJcbiAgLS0je29wdGlvbls6bmFtZV19PVsv
875 # YS9wYXRoXSIKICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlv
876 # bls6ZGVzY3JpcHRpb25dfSAiCiAgICAgICAgICAgIAogICAgICAgICAgICBp
877 # ZiBub3Qgb3B0aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAgICAgICAgcHJp
878 # bnQgIltkZWZhdWx0PSN7b3B0aW9uWzpkZWZhdWx0XX1dIgogICAgICAgICAg
879 # ICBlbmQKICAgICAgICAgIHdoZW4gImJvb2wiCiAgICAgICAgICAgIHByaW50
880 # ICJcbiAgLS11c2UtI3tvcHRpb25bOm5hbWVdfT1beWVzfG5vXSIKICAgICAg
881 # ICAgICAgaWYgbm90IG9wdGlvbls6ZGVmYXVsdF0ubmlsPwogICAgICAgICAg
882 # ICAgIGRlZmF1bHQgPSBvcHRpb25bOmRlZmF1bHRdCiAgICAgICAgICAgICAg
883 # aWYgZGVmYXVsdCA9PSB0cnVlIG9yIGRlZmF1bHQgPT0gInllcyIgb3IgZGVm
884 # YXVsdCA9PSAidHJ1ZSIKICAgICAgICAgICAgICAgIGRlZmF1bHQgPSAieWVz
885 # IgogICAgICAgICAgICAgIGVsc2lmIGRlZmF1bHQgPT0gZmFsc2Ugb3IgZGVm
886 # YXVsdCA9PSAibm8iIG9yIGRlZmF1bHQgPT0gImZhbHNlIgogICAgICAgICAg
887 # ICAgICAgZGVmYXVsdCA9ICJubyIKICAgICAgICAgICAgICBlbHNlCiAgICAg
888 # ICAgICAgICAgICBkZWZhdWx0ID0gIm5vIgogICAgICAgICAgICAgIGVuZAog
889 # ICAgICAgICAgICAgIAogICAgICAgICAgICAgIHByaW50ICJcdFx0Li4uLi4u
890 # I3tvcHRpb25bOmRlc2NyaXB0aW9uXX0gW2RlZmF1bHQ9I3tkZWZhdWx0fV0i
891 # CiAgICAgICAgICAgIGVuZAogICAgICAgICAgZWxzZQogICAgICAgICAgICBw
892 # cmludCAiXG4gIC0tI3tvcHRpb25bOm5hbWVdfSIKICAgICAgICAgICAgcHJp
893 # bnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3JpcHRpb25dfSIKICAgICAg
894 # ICBlbmQKICAgICAgfQogICAgICAKICAgICAgcHJpbnQgIlxuICAtLXdpdGgt
895 # Y29uZmlnLWJhY2tlbmQ9W3BsYWlufHRrXSIKICAgICAgcHJpbnQgIlx0XHQu
896 # Li4uLi5TZXRzIHRoZSBiYWNrZW5kIHRvIGNvbmZpZ3VyZSB0aGUgYXBwbGlj
897 # YXRpb24gW2RlZmF1bHQ9dGtdIgogICAgICBwcmludCAiXG4gIC0taGVscCIK
898 # ICAgICAgcHJpbnQgIlx0XHQuLi4uLi5TaG93cyB0aGlzIG1lc3NhZ2UiCiAg
899 # ICAgIAogICAgICBwdXRzICIiCiAgICBlbmQKICBlbmQKZW5kCgpiZWdpbgog
900 # IGxvYWQgInNldHVwLnJiIgpyZXNjdWUgTG9hZEVycm9yCiAgRmlsZS5vcGVu
901 # KG9sZGxvY2F0aW9uKCJzZXR1cC5yYiIpLCAidyIpIGRvIHxmaWxlfAogICAg
902 # ZmlsZSA8PCBGaWxlLnJlYWQoInNldHVwX3JiLnRwbCIpIDw8ICJcbiIKICBl
903 # bmQKICBwdXRzICI9PiBBIHRlbXBsYXRlIGZpbGUgd2FzIGdlbmVyYXRlZCBp
904 # biBzZXR1cC5yYiwgcGxlYXNlIGVkaXQgaXQgYW5kIHJlcnVuIHRoZSBjb25m
905 # aWd1cmUgc2NyaXB0LiIKICBleGl0IC0xCmVuZAoKaWYgX19GSUxFX18gPT0g
906 # JDAKICBxb25mID0gUW9uZjo6Q29uZmlndXJlLm5ldwogIHFvbmYuZ2V0X2Fy
907 # Z3MoQVJHVikKICBxb25mLmZpbmRfcGFja2FnZXMKICBxb25mLnJ1bl90ZXN0
908 # cwogIAogIHFvbmYuc2F2ZSgiY29uZmlnLnByaSIpCiAgCiAgcW9uZi5nZW5l
909 # cmF0ZV9tYWtlZmlsZXMKZW5kCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
910 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
911 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
912 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
913 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
914 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
915 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
916 # AAAAcW9uZmlndXJlL2RldGVjdG9zLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAA
917 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
918 # AAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAx
919 # NzI0ADEwNjczMjIwNzA0ADAxNDU1MwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAA
920 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
921 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGty
922 # YXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAA
923 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
924 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
925 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
926 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
927 # AAAAAAAAAAAAAAAAAAAAAAAAAAAKcmVxdWlyZSAncmJjb25maWcnCgptb2R1
928 # bGUgUW9uZgoKY2xhc3MgRGV0ZWN0T1MKCU9TID0gewoJCTAgPT4gIlVua25v
929 # d24iLAoJCTEgPT4gIldpbmRvd3MiLAoJCTIgPT4gIlVuaXgiLAoJCTMgPT4g
930 # IkxpbnV4IiwKCQkzMSA9PiAiRGViaWFuIiwKCQkzMTEgPT4gIlVidW50dSIs
931 # CgkJMzIgPT4gIkdlbnRvbyIsCgkJNCA9PiAiTWFjIE9TIFgiCgl9CgkKCWRl
932 # ZiBzZWxmLm9zPwoJCUBvcyA9IDAKCQkKCQlpZiA6OkNvbmZpZzo6Q09ORklH
933 # WyJidWlsZF9vcyJdID09ICJtc3dpbjMyIgoJCQlyZXR1cm4gMQoJCWVsc2UK
934 # CQkJQG9zID0gMgoJCQkKCQkJbGludXggPSBEZXRlY3RPUy5maW5kX2xpbnV4
935 # CgkJCUBvcyA9IGxpbnV4IGlmIGxpbnV4ID4gMAoJCWVuZAoJCQoJCQoJCXJl
936 # dHVybiBAb3MKCWVuZAoJCglkZWYgc2VsZi5maW5kX2xpbnV4CgkJY3dkID0g
937 # RGlyLmdldHdkCgkJRGlyLmNoZGlyKCIvZXRjLyIpCgkJCgkJRGlyWyIqey0s
938 # X317dmVyc2lvbixyZWxlYXNlfSJdLmVhY2ggeyB8cGF0aHwKCQkJaWYgcGF0
939 # aC5kb3duY2FzZSA9fiAvXihcdyopKC18XykodmVyc2lvbnxyZWxlYXNlKS8K
940 # CQkJCURldGVjdE9TOjpPUy5lYWNoIHsgfGlkLCBvc3wKCQkJCQlpZiBvcy5k
941 # b3duY2FzZSA9PSAkMQoJCQkJCQlEaXIuY2hkaXIoY3dkKQoJCQkJCQkKCQkJ
942 # CQkJaWYgJDEgPT0gImRlYmlhbiIKCQkJCQkJCWlmIGBhcHQtY2FjaGUgLXZg
943 # LmluY2x1ZGU/KCJ1YnVudHUiKQoJCQkJCQkJCXJldHVybiAzMTEKCQkJCQkJ
944 # CWVuZAoJCQkJCQllbmQKCQkJCQkJCgkJCQkJCXJldHVybiBpZAoJCQkJCWVu
945 # ZAoJCQkJfQoJCQllbmQKCQl9CgkJCgkJRGlyLmNoZGlyKGN3ZCkKCQkKCQlp
946 # ZiBgdW5hbWVgLmRvd25jYXNlID09ICJsaW51eCIKCQkJcmV0dXJuIDIKCQll
947 # bmQKCQkKCQlyZXR1cm4gMAoJZW5kCmVuZAoKZW5kCgppZiBfX0ZJTEVfXyA9
948 # PSAkMAoJcHV0cyBRb25mOjpEZXRlY3RPUzo6T1NbUW9uZjo6RGV0ZWN0T1Mu
949 # b3M/XQplbmQKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
950 # AAAAAAAAAAAAcW9uZmlndXJlL2NvbmZpZy5yYgAAAAAAAAAAAAAAAAAAAAAA
951 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
952 # AAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAw
953 # MDAwMDAzNjY0ADEwNjczMjM0NjY0ADAxNDIyNQAgMAAAAAAAAAAAAAAAAAAA
954 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
955 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
956 # ciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAA
957 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
958 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
959 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
960 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
961 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKbW9kdWxlIFFvbmYKCmNsYXNz
962 # IFBhY2thZ2UKICBhdHRyX3JlYWRlciA6aW5jbHVkZV9wYXRoLCA6bGlicywg
963 # Om1vZHVsZXMsIDpkZWZpbmVzLCA6bmFtZQogIGRlZiBpbml0aWFsaXplKG5h
964 # bWUpCiAgICBAaW5jbHVkZV9wYXRoID0gW10KICAgIEBsaWJzID0gW10KICAg
965 # IEBtb2R1bGVzID0gW10KICAgIEBkZWZpbmVzID0gW10KICAgIEBuYW1lID0g
966 # bmFtZQogIGVuZAogIAogIGRlZiBhZGRfaW5jbHVkZV9wYXRoKHBhdGgpCiAg
967 # ICBAaW5jbHVkZV9wYXRoIDw8IHBhdGgKICBlbmQKICAKICBkZWYgYWRkX2xp
968 # YihsaWIpCiAgICBAbGlicyA8PCBsaWIudG9fcwogIGVuZAogIAogIGRlZiBh
969 # ZGRfcXRtb2R1bGUobW9kKQogICAgQG1vZHVsZXMgPDwgbW9kCiAgZW5kCiAg
970 # CiAgZGVmIGFkZF9kZWZpbmUoZGVmaW5lKQogICAgQGRlZmluZXMgPDwgZGVm
971 # aW5lCiAgZW5kCiAgCiAgZGVmIHdyaXRlKGYpCiAgICBpZiBub3QgQGluY2x1
972 # ZGVfcGF0aC5lbXB0eT8KICAgICAgICBmIDw8ICJJTkNMVURFUEFUSCArPSAi
973 # IDw8IEBpbmNsdWRlX3BhdGgudW5pcS5qb2luKCIgIikgPDwgIlxuIgogICAg
974 # ZW5kCiAgICAKICAgIGlmIG5vdCBAbGlicy5lbXB0eT8KICAgICAgICBmIDw8
975 # ICJMSUJTICs9ICIgPDwgQGxpYnMudW5pcS5qb2luKCIgIikgPDwgIlxuIgog
976 # ICAgZW5kCiAgICAKICAgIGlmIG5vdCBAbW9kdWxlcy5lbXB0eT8KICAgICAg
977 # ICBmIDw8ICJRVCArPSAiIDw8IEBtb2R1bGVzLnVuaXEuam9pbigiICIpIDw8
978 # ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQGRlZmluZXMuZW1wdHk/
979 # CiAgICAgICAgZiA8PCAiREVGSU5FUyArPSAiIDw8IEBkZWZpbmVzLnVuaXEu
980 # am9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogIGVuZAplbmQKCmNsYXNzIENv
981 # bmZpZyA8IFBhY2thZ2UKICBkZWYgaW5pdGlhbGl6ZQogICAgc3VwZXIobmls
982 # KQogICAgQHFvbmZfcGFja2FnZXMgPSBbXQogIGVuZAogIAogIGRlZiBhZGRf
983 # cW9uZl9wYWNrYWdlKHBrZykKICAgIEBxb25mX3BhY2thZ2VzIDw8IHBrZwog
984 # IGVuZAogIAogIGRlZiBzYXZlKHBhdGgpCiAgICBpZiBwYXRoWzBdLmNociA9
985 # PSBGaWxlOjpTRVBBUkFUT1IKICAgICAgICBwYXRoID0gcGF0aAogICAgZWxz
986 # ZQogICAgICAgIHBhdGggPSAiI3tEaXIuZ2V0d2R9LyN7cGF0aH0iCiAgICBl
987 # bmQKICAgIAogICAgRmlsZS5vcGVuKHBhdGgsICJ3IikgeyB8ZnwKICAgICAg
988 # ICBmIDw8ICIjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGF0ICN7VGltZS5u
989 # b3d9ISBQTEVBU0UgRE8gTk9UIEVESVQgTUFOVUFMTFkhIjw8ICJcbiIKICAg
990 # ICAgICAKICAgICAgICB3cml0ZShmKQogICAgICAgIAogICAgICAgIAogICAg
991 # ICAgIGYgPDwgIlFPTkZfUEFDS0FHRVMgKz0gIiA8PCBAcW9uZl9wYWNrYWdl
992 # cy5tYXAgeyB8ZXwgZS5uYW1lfS5qb2luKCIgIikgIDw8ICJcbiIKICAgICAg
993 # ICAKICAgICAgICBmIDw8ICJcbmRlZmluZVRlc3QobGlua193aXRoKSB7IiA8
994 # PCAiXG4iCiAgICAgICAgZiA8PCAiICByZXQgPSBmYWxzZVxuIgogICAgICAg
995 # IEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8cW9uZnwKICAgICAgICAgIGYgPDwg
996 # JUAgIGNvbnRhaW5zKCQkbGlzdCgkJHNwbGl0KDEpKSAsIiN7cW9uZi5uYW1l
997 # fSIpIHtcbkAKICAgICAgICAgIGYgPDwgIiAgICByZXQgPSB0cnVlXG4iCiAg
998 # ICAgICAgICBmIDw8ICIgICAgbWVzc2FnZSg9PiBMaW5raW5nIHFvbmYgbW9k
999 # dWxlOiAje3FvbmYubmFtZX0pXG4iCiAgICAgICAgICBxb25mLndyaXRlKGYp
1000 # CiAgICAgICAgICBmIDw8ICIgIH1cbiIKICAgICAgICB9CiAgICAgICAgZiA8
1001 # PCAiICBleHBvcnQoSU5DTFVERVBBVEgpXG4iCiAgICAgICAgZiA8PCAiICBl
1002 # eHBvcnQoTElCUylcbiIKICAgICAgICBmIDw8ICIgIGV4cG9ydChRVClcbiIK
1003 # ICAgICAgICBmIDw8ICIgIGV4cG9ydChERUZJTkVTKVxuIgogICAgICAgIGYg
1004 # PDwgIiAgcmV0dXJuKCQkcmV0KVxuIgogICAgICAgIGYgPDwgIn1cbiIKICAg
1005 # IH0KICBlbmQKZW5kCgplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1006 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007 # AAAAAHFvbmZpZ3VyZS9wa2djb25maWcucmIAAAAAAAAAAAAAAAAAAAAAAAAA
1008 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1009 # AAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAw
1010 # NjQxMAAxMDY3MzIyMTAwNAAwMTQ2NzcAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
1011 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1012 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABr
1013 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAA
1014 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1017 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1018 # AAAAAAAAAAAAAAAAAAAAAAAAAAAACgpyZXF1aXJlICdkZXRlY3RvcycKCm1v
1019 # ZHVsZSBRb25mCgpjbGFzcyBQa2dDb25maWdQYXJzZXIKICBkZWYgaW5pdGlh
1020 # bGl6ZQogICAgQHZhcmlhYmxlcyA9IHt9CiAgICBAc3BlY3MgPSB7fQogIGVu
1021 # ZAogIAogIGRlZiBwYXJzZShwYXRoKQogICAgRmlsZS5vcGVuKHBhdGgpIHsg
1022 # fGZpbGV8CiAgICAgIGZpbGUuZWFjaCB7IHxsaW5lfAogICAgICAgIGlmIGxp
1023 # bmUgPX4gLyhcdyspPSguKikkLwogICAgICAgICAgQHZhcmlhYmxlc1skMV0g
1024 # PSAkMgogICAgICAgIGVsc2lmIGxpbmUgPX4gLyhcdyspOlxzKC4qKSQvCiAg
1025 # ICAgICAgICBAc3BlY3NbJDFdID0gJDIKICAgICAgICBlbmQKICAgICAgfQog
1026 # ICAgfQogIGVuZAogIAogIGRlZiB2YWx1ZSh2YXJpYWJsZSkKICAgIHZhbCA9
1027 # IEB2YXJpYWJsZXNbdmFyaWFibGVdCiAgICB3aGlsZSB2YWwgPX4gLyhcJFx7
1028 # KFx3KylcfSkvCiAgICAgIHZhbC5nc3ViISgkMSwgdmFsdWUoJDIpKQogICAg
1029 # ZW5kCiAgICAKICAgIHZhbAogIGVuZAogIAogIGRlZiBzcGVjKHZhcmlhYmxl
1030 # KQogICAgdmFsID0gQHNwZWNzW3ZhcmlhYmxlXQogICAgd2hpbGUgdmFsID1+
1031 # IC8oXCRceyhcdyspXH0pLwogICAgICB2YWwuZ3N1YiEoJDEsIHZhbHVlKCQy
1032 # KSkKICAgIGVuZAogICAgCiAgICB2YWwKICBlbmQKICAKICBkZWYgbGlicwog
1033 # ICAgc3BlYygiTGlicyIpCiAgZW5kCiAgCiAgZGVmIGNmbGFncwogICAgc3Bl
1034 # YygiQ2ZsYWdzIikKICBlbmQKICAKICBkZWYgcmVxdWlyZXMKICAgIHNwZWMo
1035 # IlJlcXVpcmVzIikudG9fcwogIGVuZAplbmQKCmNsYXNzIFBrZ0NvbmZpZwog
1036 # IGF0dHJfcmVhZGVyIDppZCwgOmxpYnMsIDpjZmxhZ3MsIDpyZXF1aXJlcwog
1037 # IAogIGRlZiBpbml0aWFsaXplKGlkKQogICAgQGlkID0gaWQKICAgIEBzZWFy
1038 # Y2hfcGF0aCA9IFtdCiAgICBAcmVxdWlyZXMgPSBbXQogIGVuZAogIAogIGRl
1039 # ZiBmaW5kKHBrZykKICAgIHBrZ3BhdGggPSBmaW5kX3BhdGhfZm9yX3BhY2th
1040 # Z2UocGtnKQogICAgCiAgICBpZiBub3QgcGtncGF0aC5uaWw/CiAgICAgIEBj
1041 # ZmxhZ3MgPSAiIgogICAgICBAbGlicyA9ICIiCiAgICAgIHBhcnNlKHBrZ3Bh
1042 # dGgsIHBrZykKICAgICAgCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQKICAg
1043 # IAogICAgZmFsc2UKICBlbmQKICAKICBkZWYgYWRkX3NlYXJjaF9wYXRoKHBh
1044 # dGgpCiAgICBpZiBwYXRoLmtpbmRfb2Y/KEFycmF5KQogICAgICBAc2VhcmNo
1045 # X3BhdGguY29uY2F0KHBhdGgpCiAgICBlbHNlCiAgICAgIEBzZWFyY2hfcGF0
1046 # aCA8PCBwYXRoLnRvX3MKICAgIGVuZAogIGVuZAogIAogIGRlZiBpbmNsdWRl
1047 # X3BhdGgKICAgIGluY3BhdGggPSBbXQogICAgY2ZsYWdzID0gQGNmbGFncy5k
1048 # dXAKICAgIHdoaWxlIGNmbGFncyA9fiAvKC1JXHMqKChcV1x3KykrKSkvCiAg
1049 # ICAgIGluY3BhdGggPDwgJDIKICAgICAgY2ZsYWdzLnN1YiEoJDEsICIiKQog
1050 # ICAgZW5kCiAgICAKICAgIGluY3BhdGgudW5pcQogIGVuZAogIAogIGRlZiBk
1051 # ZWZpbmVzCiAgICBkZWZpbmVzID0gW10KICAgIGNmbGFncyA9IEBjZmxhZ3Mu
1052 # ZHVwCiAgICB3aGlsZSBjZmxhZ3MgPX4gLygtRFxzKigoXFdcdyspKykpLwog
1053 # ICAgICBkZWZpbmVzIDw8ICQyCiAgICAgIGRlZmluZXMuc3ViISgkMSwgIiIp
1054 # CiAgICBlbmQKICAgIAogICAgZGVmaW5lcy51bmlxCiAgZW5kCiAgCiAgZGVm
1055 # IGZpbmRfd2luMzJfcGF0aHMKICAgIHBhdGhzID0gZmluZF9lbnZfcGF0aHMK
1056 # ICAgIAogICAgCiAgICBwYXRocwogIGVuZAogIAogIGRlZiBmaW5kX3VuaXhf
1057 # cGF0aHMKICAgIHBhdGhzID0gZmluZF9lbnZfcGF0aHMKICAgIGlmIEZpbGUu
1058 # ZXhpc3RzPygiL2V0Yy9sZC5zby5jb25mIikKICAgICAgRmlsZS5vcGVuKCIv
1059 # ZXRjL2xkLnNvLmNvbmYiKSBkbyB8ZmlsZXwKICAgICAgICBmaWxlLmVhY2gg
1060 # eyB8bGluZXwKICAgICAgICAgIGRpciA9IGxpbmUuc3RyaXArIi9wa2djb25m
1061 # aWciCiAgICAgICAgICBpZiBGaWxlLmV4aXN0cz8oZGlyKQogICAgICAgICAg
1062 # ICBwYXRocyA8PCBkaXIKICAgICAgICAgIGVuZAogICAgICAgIH0KICAgICAg
1063 # ZW5kCiAgICBlbmQKICAgIAogICAgcGF0aHMKICBlbmQKICAKICBkZWYgZmlu
1064 # ZF9lbnZfcGF0aHMKICAgIHNlcHBhdGggPSAoRGV0ZWN0T1Mub3M/ID09IDEp
1065 # ID8gIjsiIDogIjoiCiAgICAKICAgIHBhdGhzID0gWyAiLiIgXQogICAgKEVO
1066 # VlsiUEtHX0NPTkZJR19QQVRIIl0udG9fcytzZXBwYXRoK0VOVlsiTERfTElC
1067 # UkFSWV9QQVRIIl0udG9fcykuc3BsaXQoc2VwcGF0aCkuZWFjaCB7IHxwYXRo
1068 # fAogICAgICBpZiBGaWxlLmV4aXN0cz8ocGF0aCkKICAgICAgICBwYXRocyA8
1069 # PCBwYXRoCiAgICAgIGVuZAogICAgfQogICAgCiAgICBwYXRocwogIGVuZAog
1070 # IAogIHByaXZhdGUKICBkZWYgcGFyc2UocGtncGF0aCwgcGtnKQogICAgcmV0
1071 # dXJuIGlmIHBrZ3BhdGgubmlsPwogICAgCiAgICBwYXJzZXIgPSBQa2dDb25m
1072 # aWdQYXJzZXIubmV3CiAgICBwYXJzZXIucGFyc2UocGtncGF0aCkKICAgIAog
1073 # ICAgcGFyc2VyLnJlcXVpcmVzLnNwbGl0KC8sfFxzLykuZWFjaCB7IHxyZXF8
1074 # CiAgICAgIHJlcS5zdHJpcCEKICAgICAgCiAgICAgIHBhcnNlKGZpbmRfcGF0
1075 # aF9mb3JfcGFja2FnZShyZXEpLCByZXEpCiAgICB9CiAgICAKICAgIGNmbGFn
1076 # cyA9IHBhcnNlci5jZmxhZ3MKICAgIGxpYnMgPSBwYXJzZXIubGlicwogICAg
1077 # CiAgICBpZiBpZCAhPSBwa2cgYW5kIG5vdCAoY2ZsYWdzLmVtcHR5PyBvciBs
1078 # aWJzLmVtcHR5PykKICAgICAgQHJlcXVpcmVzIDw8IHBrZwogICAgZW5kCiAg
1079 # ICAKICAgIEBjZmxhZ3MgKz0gIiAiK2NmbGFncwogICAgQGxpYnMgKz0gIiAi
1080 # K2xpYnMKICAgIAogICAgbmlsCiAgZW5kCiAgCiAgZGVmIGZpbmRfcGF0aF9m
1081 # b3JfcGFja2FnZShwa2cpCiAgICBpZiBub3QgcGtnID1+IC9cLnBjJC8KICAg
1082 # ICAgcGtnICs9ICIucGMiCiAgICBlbmQKICAgIAogICAgcGF0aHMgPSBAc2Vh
1083 # cmNoX3BhdGgKICAgIAogICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEgIyBXaW5k
1084 # b3dzCiAgICAgIHBhdGhzLmNvbmNhdCBmaW5kX3dpbjMyX3BhdGhzCiAgICBl
1085 # bHNlCiAgICAgIHBhdGhzLmNvbmNhdCBmaW5kX3VuaXhfcGF0aHMKICAgIGVu
1086 # ZAogICAgCiAgICBwa2dwYXRoID0gbmlsCiAgICBwYXRocy5lYWNoIHsgfHBh
1087 # dGh8CiAgICAgIHRtcHBhdGggPSBwYXRoKyIvIitwa2cKICAgICAgaWYgRmls
1088 # ZS5leGlzdHM/KHRtcHBhdGgpCiAgICAgICAgcGtncGF0aCA9IHRtcHBhdGgK
1089 # ICAgICAgZW5kCiAgICB9CiAgICAKICAgIHBrZ3BhdGgKICBlbmQKZW5kCgpl
1090 # bmQKCgppZiAkMCA9PSBfX0ZJTEVfXwogIHBrZ2NvbmZpZyA9IFFvbmY6OlBr
1091 # Z0NvbmZpZy5uZXcKICBwa2djb25maWcuZmluZCgidGVzdF9xb25mIikKICAK
1092 # ICBwdXRzIHBrZ2NvbmZpZy5saWJzCmVuZAoKAAAAAAAAAAAAAAAAAAAAAAAA
1093 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1094 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1095 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1096 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1097 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1098 # AAAAAABxb25maWd1cmUvYmFja2VuZC5yYgAAAAAAAAAAAAAAAAAAAAAAAAAA
1099 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1100 # AAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAw
1101 # MDAxMjMAMTA2NzMyMjA3MDQAMDE0MzIwACAwAAAAAAAAAAAAAAAAAAAAAAAA
1102 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1103 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAA
1104 # a3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAA
1105 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1106 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1107 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1108 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1109 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAptb2R1bGUgUW9uZgoKY2xhc3MgQmFj
1110 # a2VuZAogIGRlZiBpbml0aWFsaXplCiAgZW5kCiAgCiAgZGVmIHBhcnNlCiAg
1111 # ZW5kCmVuZAoKZW5kCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1112 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1113 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1114 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1115 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1116 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1117 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1118 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1119 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1120 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmln
1121 # dXJlL3Rlc3QucmJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1122 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1123 # AAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA1MjQ1ADEwNjcz
1124 # MjMxMjUyADAxNDEyMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1125 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1126 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAA
1127 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAA
1128 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1129 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1130 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1131 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1132 # AAAAAAAAAAAAAAByZXF1aXJlICd0bXBkaXInCnJlcXVpcmUgJ2ZpbGV1dGls
1133 # cycKCm1vZHVsZSBRb25mCiAgY2xhc3MgVGVzdAogICAgYXR0cl9yZWFkZXIg
1134 # OmluY2x1ZGVfcGF0aCwgOmxpYnMsIDpkZWZpbmVzLCA6aWQKICAgIAogICAg
1135 # ZGVmIGluaXRpYWxpemUob3B0aW9ucykKICAgICAgQG9wdGlvbnMgPSBvcHRp
1136 # b25zCiAgICAgIAogICAgICBAaW5jbHVkZV9wYXRoID0gW10KICAgICAgQGxp
1137 # YnMgPSBbXQogICAgICBAZGVmaW5lcyA9IFtdCiAgICAgIEBpZCA9IAogICAg
1138 # ICAKICAgICAgQGluY2x1ZGVfcGF0aCA9IG9wdGlvbnNbOmluY2x1ZGVwYXRo
1139 # XSBpZiBub3Qgb3B0aW9uc1s6aW5jbHVkZXBhdGhdLm5pbD8KICAgICAgQGxp
1140 # YnMgPDwgb3B0aW9uc1s6bGlic10gaWYgbm90IG9wdGlvbnNbOmxpYnNdLm5p
1141 # bD8KICAgICAgQGRlZmluZXMgPSBvcHRpb25zWzpkZWZpbmVzXSBpZiBub3Qg
1142 # b3B0aW9uc1s6ZGVmaW5lc10ubmlsPwogICAgZW5kCiAgICAKICAgIGRlZiBy
1143 # dW4ocW1ha2UpCiAgICAgICMgR2VuZXJhdGUKICAgICAgcmV0ID0gZmFsc2UK
1144 # ICAgICAgY3dkID0gRGlyLmdldHdkCiAgICAgIAogICAgICBxb25mdGVzdF9k
1145 # aXIgPSAiI3tEaXI6OnRtcGRpcn0vcW9uZl90ZXN0cy4je1Byb2Nlc3MucGlk
1146 # fSIKICAgICAgYmFzZXBhdGggPSBxb25mdGVzdF9kaXIrIi90ZXN0XyN7UHJv
1147 # Y2Vzcy5waWR9IgogICAgICAKICAgICAgZmlsZXBhdGggPSBiYXNlcGF0aCsi
1148 # LmNwcCIKICAgICAgcHJvcGF0aCA9IGJhc2VwYXRoKyIucHJvIgogICAgICB0
1149 # YXJnZXQgPSAidGVzdF8je1Byb2Nlc3MucGlkfV9hcHAiCiAgICAgIAogICAg
1150 # ICBiZWdpbgogICAgICAgIERpci5ta2Rpcihxb25mdGVzdF9kaXIpIGlmIG5v
1151 # dCBGaWxlLmV4aXN0cz8ocW9uZnRlc3RfZGlyKQogICAgICAgIEZpbGUub3Bl
1152 # bihmaWxlcGF0aCwgInciKSB7IHxmfAogICAgICAgICAgCiAgICAgICAgICB3
1153 # cml0ZV90ZXN0KGYpCiAgICAgICAgICAKICAgICAgICAgIEZpbGUub3Blbihw
1154 # cm9wYXRoLCAidyIpIHsgfHBmfAogICAgICAgICAgICBwZiA8PCAiU09VUkNF
1155 # UyArPSAiIDw8IGZpbGVwYXRoIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwg
1156 # IlRFTVBMQVRFID0gYXBwIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJU
1157 # QVJHRVQgPSAiIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIklOQ0xVREVQ
1158 # QVRIICs9ICIgPDwgQGluY2x1ZGVfcGF0aC5qb2luKCIgIikgPDwgIlxuIgog
1159 # ICAgICAgICAgICBwZiA8PCAiTElCUyArPSAiIDw8IEBsaWJzLmpvaW4oIiAi
1160 # KSA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJERUZJTkVTICs9ICIgPDwg
1161 # QGRlZmluZXMuam9pbigiICIpIDw8ICJcbiIKICAgICAgICAgIH0KICAgICAg
1162 # ICB9CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgRGlyLmNoZGlyKHFvbmZ0
1163 # ZXN0X2RpcikKICAgICAgICAKICAgICAgICBxbWFrZS5ydW4ocHJvcGF0aCkK
1164 # ICAgICAgICByZXQgPSBxbWFrZS5jb21waWxlCiAgICAgICAgcW1ha2UuY2xl
1165 # YW5fdXAKICAgICAgICAKICAgICAgICBEaXIuY2hkaXIoY3dkKQogICAgICAg
1166 # IAogICAgICAgIEZpbGUudW5saW5rKHRhcmdldCkgaWYgRmlsZS5leGlzdHM/
1167 # KHRhcmdldCkgIyBGSVhNRTogd2luZG93cwogICAgICAgIEZpbGUudW5saW5r
1168 # KHByb3BhdGgpIGlmIEZpbGUuZXhpc3RzPyhwcm9wYXRoKQogICAgICAgIEZp
1169 # bGUudW5saW5rKGZpbGVwYXRoKSBpZiBGaWxlLmV4aXN0cz8oZmlsZXBhdGgp
1170 # CiAgICAgICAgRmlsZVV0aWxzLnJtX3JmKHFvbmZ0ZXN0X2RpcikKICAgICAg
1171 # ICAKICAgICAgcmVzY3VlID0+IGUKICAgICAgICBwdXRzIGUKICAgICAgICBw
1172 # dXRzIGUuYmFja3RyYWNlCiAgICAgICAgCiAgICAgICAgRGlyLmNoZGlyKGN3
1173 # ZCkKICAgICAgICBGaWxlLnVubGluayh0YXJnZXQpIGlmIEZpbGUuZXhpc3Rz
1174 # Pyh0YXJnZXQpICMgRklYTUU6IHdpbmRvd3MKICAgICAgICBGaWxlLnVubGlu
1175 # ayhwcm9wYXRoKSBpZiBGaWxlLmV4aXN0cz8ocHJvcGF0aCkKICAgICAgICBG
1176 # aWxlLnVubGluayhmaWxlcGF0aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVwYXRo
1177 # KQogICAgICAgIEZpbGVVdGlscy5ybV9yZihxb25mdGVzdF9kaXIpCiAgICAg
1178 # ICAgCiAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgIGVuc3VyZQogICAgICBl
1179 # bmQKICAgICAgCiAgICAgIHJldAogICAgZW5kCiAgICAKICAgIGRlZiBhZGRf
1180 # aW5jbHVkZV9wYXRoKGluY3BhdGgpCiAgICAgIEBpbmNsdWRlX3BhdGggPDwg
1181 # aW5jcGF0aAogICAgZW5kCiAgICAKICAgIGRlZiBhZGRfbGliKGxpYikKICAg
1182 # ICAgQGxpYnMgPDwgbGliCiAgICBlbmQKICAgIAogICAgZGVmIGFkZF9kZWZp
1183 # bmUoZGVmaW5lKQogICAgICBAZGVmaW5lcyA8PCBkZWZpbmUKICAgIGVuZAog
1184 # ICAgCiAgICBwcml2YXRlCiAgICBkZWYgd3JpdGVfdGVzdChmKQogICAgICBo
1185 # ZWFkZXJzID0gIiIKICAgICAgaWYgbm90IEBvcHRpb25zWzpoZWFkZXJzXS5u
1186 # aWw/CiAgICAgICAgQG9wdGlvbnNbOmhlYWRlcnNdLmVhY2ggeyB8aGVhZGVy
1187 # fAogICAgICAgICAgaGVhZGVycyArPSAiI2luY2x1ZGUgPCN7aGVhZGVyfT5c
1188 # biIKICAgICAgICB9CiAgICAgIGVuZAogICAgICBjb2RlID0gJUAKaW50IG1h
1189 # aW4oKQp7CiAgcmV0dXJuIDA7Cn0KQAogICAgICBpZiBub3QgQG9wdGlvbnNb
1190 # OmN1c3RvbV0ubmlsPwogICAgICAgIGNvZGUgPSBAb3B0aW9uc1s6Y3VzdG9t
1191 # XQogICAgICBlbmQKICAgICAgCiAgICAgIGYgPDwgaGVhZGVycyA8PCAiXG4i
1192 # IDw8IGNvZGUgPDwgIlxuIgogICAgZW5kCiAgZW5kCmVuZAoKAAAAAAAAAAAA
1193 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1194 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1195 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1196 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1197 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1198 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1199 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1200 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvdGVzdC5yYgAAAAAA
1201 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1202 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAx
1203 # NzUwADAwMDE3NTAAMDAwMDAwMDUyNjEAMTA2NzMyMzEyNTcAMDEzNzI1ACAw
1204 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1205 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1206 # AAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1207 # AAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1208 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1209 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1210 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1211 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJlcXVp
1212 # cmUgJ3RtcGRpcicKcmVxdWlyZSAnZmlsZXV0aWxzJwoKbW9kdWxlIFFvbmYK
1213 # ICBjbGFzcyBUZXN0CiAgICBhdHRyX3JlYWRlciA6aW5jbHVkZV9wYXRoLCA6
1214 # bGlicywgOmRlZmluZXMsIDppZAogICAgCiAgICBkZWYgaW5pdGlhbGl6ZShv
1215 # cHRpb25zKQogICAgICBAb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgCiAgICAg
1216 # IEBpbmNsdWRlX3BhdGggPSBbXQogICAgICBAbGlicyA9IFtdCiAgICAgIEBk
1217 # ZWZpbmVzID0gW10KICAgICAgQGlkID0gb3B0aW9uc1s6aWRdCiAgICAgIAog
1218 # ICAgICBAaW5jbHVkZV9wYXRoID0gb3B0aW9uc1s6aW5jbHVkZXBhdGhdIGlm
1219 # IG5vdCBvcHRpb25zWzppbmNsdWRlcGF0aF0ubmlsPwogICAgICBAbGlicyA8
1220 # PCBvcHRpb25zWzpsaWJzXSBpZiBub3Qgb3B0aW9uc1s6bGlic10ubmlsPwog
1221 # ICAgICBAZGVmaW5lcyA9IG9wdGlvbnNbOmRlZmluZXNdIGlmIG5vdCBvcHRp
1222 # b25zWzpkZWZpbmVzXS5uaWw/CiAgICBlbmQKICAgIAogICAgZGVmIHJ1bihx
1223 # bWFrZSkKICAgICAgIyBHZW5lcmF0ZQogICAgICByZXQgPSBmYWxzZQogICAg
1224 # ICBjd2QgPSBEaXIuZ2V0d2QKICAgICAgCiAgICAgIHFvbmZ0ZXN0X2RpciA9
1225 # ICIje0Rpcjo6dG1wZGlyfS9xb25mX3Rlc3RzLiN7UHJvY2Vzcy5waWR9Igog
1226 # ICAgICBiYXNlcGF0aCA9IHFvbmZ0ZXN0X2RpcisiL3Rlc3RfI3tQcm9jZXNz
1227 # LnBpZH0iCiAgICAgIAogICAgICBmaWxlcGF0aCA9IGJhc2VwYXRoKyIuY3Bw
1228 # IgogICAgICBwcm9wYXRoID0gYmFzZXBhdGgrIi5wcm8iCiAgICAgIHRhcmdl
1229 # dCA9ICJ0ZXN0XyN7UHJvY2Vzcy5waWR9X2FwcCIKICAgICAgCiAgICAgIGJl
1230 # Z2luCiAgICAgICAgRGlyLm1rZGlyKHFvbmZ0ZXN0X2RpcikgaWYgbm90IEZp
1231 # bGUuZXhpc3RzPyhxb25mdGVzdF9kaXIpCiAgICAgICAgRmlsZS5vcGVuKGZp
1232 # bGVwYXRoLCAidyIpIHsgfGZ8CiAgICAgICAgICAKICAgICAgICAgIHdyaXRl
1233 # X3Rlc3QoZikKICAgICAgICAgIAogICAgICAgICAgRmlsZS5vcGVuKHByb3Bh
1234 # dGgsICJ3IikgeyB8cGZ8CiAgICAgICAgICAgIHBmIDw8ICJTT1VSQ0VTICs9
1235 # ICIgPDwgZmlsZXBhdGggPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiVEVN
1236 # UExBVEUgPSBhcHAiIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIlRBUkdF
1237 # VCA9ICIgPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiSU5DTFVERVBBVEgg
1238 # Kz0gIiA8PCBAaW5jbHVkZV9wYXRoLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAg
1239 # ICAgICAgIHBmIDw8ICJMSUJTICs9ICIgPDwgQGxpYnMuam9pbigiICIpIDw8
1240 # ICJcbiIKICAgICAgICAgICAgcGYgPDwgIkRFRklORVMgKz0gIiA8PCBAZGVm
1241 # aW5lcy5qb2luKCIgIikgPDwgIlxuIgogICAgICAgICAgfQogICAgICAgIH0K
1242 # ICAgICAgICAKICAgICAgICAKICAgICAgICBEaXIuY2hkaXIocW9uZnRlc3Rf
1243 # ZGlyKQogICAgICAgIAogICAgICAgIHFtYWtlLnJ1bihwcm9wYXRoKQogICAg
1244 # ICAgIHJldCA9IHFtYWtlLmNvbXBpbGUKICAgICAgICBxbWFrZS5jbGVhbl91
1245 # cAogICAgICAgIAogICAgICAgIERpci5jaGRpcihjd2QpCiAgICAgICAgCiAg
1246 # ICAgICAgRmlsZS51bmxpbmsodGFyZ2V0KSBpZiBGaWxlLmV4aXN0cz8odGFy
1247 # Z2V0KSAjIEZJWE1FOiB3aW5kb3dzCiAgICAgICAgRmlsZS51bmxpbmsocHJv
1248 # cGF0aCkgaWYgRmlsZS5leGlzdHM/KHByb3BhdGgpCiAgICAgICAgRmlsZS51
1249 # bmxpbmsoZmlsZXBhdGgpIGlmIEZpbGUuZXhpc3RzPyhmaWxlcGF0aCkKICAg
1250 # ICAgICBGaWxlVXRpbHMucm1fcmYocW9uZnRlc3RfZGlyKQogICAgICAgIAog
1251 # ICAgICByZXNjdWUgPT4gZQogICAgICAgIHB1dHMgZQogICAgICAgIHB1dHMg
1252 # ZS5iYWNrdHJhY2UKICAgICAgICAKICAgICAgICBEaXIuY2hkaXIoY3dkKQog
1253 # ICAgICAgIEZpbGUudW5saW5rKHRhcmdldCkgaWYgRmlsZS5leGlzdHM/KHRh
1254 # cmdldCkgIyBGSVhNRTogd2luZG93cwogICAgICAgIEZpbGUudW5saW5rKHBy
1255 # b3BhdGgpIGlmIEZpbGUuZXhpc3RzPyhwcm9wYXRoKQogICAgICAgIEZpbGUu
1256 # dW5saW5rKGZpbGVwYXRoKSBpZiBGaWxlLmV4aXN0cz8oZmlsZXBhdGgpCiAg
1257 # ICAgICAgRmlsZVV0aWxzLnJtX3JmKHFvbmZ0ZXN0X2RpcikKICAgICAgICAK
1258 # ICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgZW5zdXJlCiAgICAgIGVuZAog
1259 # ICAgICAKICAgICAgcmV0CiAgICBlbmQKICAgIAogICAgZGVmIGFkZF9pbmNs
1260 # dWRlX3BhdGgoaW5jcGF0aCkKICAgICAgQGluY2x1ZGVfcGF0aCA8PCBpbmNw
1261 # YXRoCiAgICBlbmQKICAgIAogICAgZGVmIGFkZF9saWIobGliKQogICAgICBA
1262 # bGlicyA8PCBsaWIKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2RlZmluZShk
1263 # ZWZpbmUpCiAgICAgIEBkZWZpbmVzIDw8IGRlZmluZQogICAgZW5kCiAgICAK
1264 # ICAgIHByaXZhdGUKICAgIGRlZiB3cml0ZV90ZXN0KGYpCiAgICAgIGhlYWRl
1265 # cnMgPSAiIgogICAgICBpZiBub3QgQG9wdGlvbnNbOmhlYWRlcnNdLm5pbD8K
1266 # ICAgICAgICBAb3B0aW9uc1s6aGVhZGVyc10uZWFjaCB7IHxoZWFkZXJ8CiAg
1267 # ICAgICAgICBoZWFkZXJzICs9ICIjaW5jbHVkZSA8I3toZWFkZXJ9PlxuIgog
1268 # ICAgICAgIH0KICAgICAgZW5kCiAgICAgIGNvZGUgPSAlQAppbnQgbWFpbigp
1269 # CnsKICByZXR1cm4gMDsKfQpACiAgICAgIGlmIG5vdCBAb3B0aW9uc1s6Y3Vz
1270 # dG9tXS5uaWw/CiAgICAgICAgY29kZSA9IEBvcHRpb25zWzpjdXN0b21dCiAg
1271 # ICAgIGVuZAogICAgICAKICAgICAgZiA8PCBoZWFkZXJzIDw8ICJcbiIgPDwg
1272 # Y29kZSA8PCAiXG4iCiAgICBlbmQKICBlbmQKZW5kCgoAAAAAAAAAAAAAAAAA
1273 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1274 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1275 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1276 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1277 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1278 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1279 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1280 # AAAAAAAAAHFvbmZpZ3VyZS9iYWNrZW5kZmFjdG9yeS5yYgAAAAAAAAAAAAAA
1281 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1282 # AAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAw
1283 # MDAwMDYzNgAxMDY3MzIyMDcwNAAwMTU3MjEAIDAAAAAAAAAAAAAAAAAAAAAA
1284 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1285 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIg
1286 # IABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAA
1287 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1288 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1289 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1290 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1291 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ3BsYWluX2JhY2tl
1292 # bmQnCgptb2R1bGUgUW9uZgoKY2xhc3MgQmFja2VuZEZhY3RvcnkKICBkZWYg
1293 # c2VsZi5jcmVhdGUobmFtZSA9ICJ0ayIpCiAgICBjYXNlIG5hbWUKICAgICAg
1294 # d2hlbiAicGxhaW4iCiAgICAgICAgUGxhaW5CYWNrZW5kLm5ldwogICAgICB3
1295 # aGVuICJ0ayIKICAgICAgICBoYXZlX3RrID0gZmFsc2UKCiAgICAgICAgYmVn
1296 # aW4KICAgICAgICAgIGhhdmVfdGsgPSByZXF1aXJlICd0aycKICAgICAgICBy
1297 # ZXNjdWUgTG9hZEVycm9yCiAgICAgICAgICByZXR1cm4gY3JlYXRlKCJwbGFp
1298 # biIpCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgcmVxdWlyZSAndGtf
1299 # YmFja2VuZCcKICAgICAgICBUa0JhY2tlbmQubmV3CiAgICAgIGVsc2UKICAg
1300 # ICAgICBuaWwKICAgIGVuZAogIGVuZAplbmQKCmVuZAoKAAAAAAAAAAAAAAAA
1301 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1302 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25m
1303 # aWd1cmUvY29uZmlnLnJifgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1304 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1305 # AAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDM2NjQAMTA2
1306 # NzMyMzQ2NjEAMDE0NDIwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1307 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1308 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAA
1309 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAA
1310 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1311 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1312 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1313 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1314 # AAAAAAAAAAAAAAAAAAptb2R1bGUgUW9uZgoKY2xhc3MgUGFja2FnZQogIGF0
1315 # dHJfcmVhZGVyIDppbmNsdWRlX3BhdGgsIDpsaWJzLCA6bW9kdWxlcywgOmRl
1316 # ZmluZXMsIDpuYW1lCiAgZGVmIGluaXRpYWxpemUobmFtZSkKICAgIEBpbmNs
1317 # dWRlX3BhdGggPSBbXQogICAgQGxpYnMgPSBbXQogICAgQG1vZHVsZXMgPSBb
1318 # XQogICAgQGRlZmluZXMgPSBbXQogICAgQG5hbWUgPSBuYW1lCiAgZW5kCiAg
1319 # CiAgZGVmIGFkZF9pbmNsdWRlX3BhdGgocGF0aCkKICAgIEBpbmNsdWRlX3Bh
1320 # dGggPDwgcGF0aAogIGVuZAogIAogIGRlZiBhZGRfbGliKGxpYikKICAgIEBs
1321 # aWJzIDw8IGxpYi50b19zCiAgZW5kCiAgCiAgZGVmIGFkZF9xdG1vZHVsZSht
1322 # b2QpCiAgICBAbW9kdWxlcyA8PCBtb2QKICBlbmQKICAKICBkZWYgYWRkX2Rl
1323 # ZmluZShkZWZpbmUpCiAgICBAZGVmaW5lcyA8PCBkZWZpbmUKICBlbmQKICAK
1324 # ICBkZWYgd3JpdGUoZikKICAgIGlmIG5vdCBAaW5jbHVkZV9wYXRoLmVtcHR5
1325 # PwogICAgICAgIGYgPDwgIklOQ0xVREVQQVRIICs9ICIgPDwgQGluY2x1ZGVf
1326 # cGF0aC51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAgIAogICAg
1327 # aWYgbm90IEBsaWJzLmVtcHR5PwogICAgICAgIGYgPDwgIkxJQlMgKz0gIiA8
1328 # PCBAbGlicy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAgIAog
1329 # ICAgaWYgbm90IEBtb2R1bGVzLmVtcHR5PwogICAgICAgIGYgPDwgIlFUICs9
1330 # ICIgPDwgQG1vZHVsZXMudW5pcS5qb2luKCIgIikgPDwgIlxuIgogICAgZW5k
1331 # CiAgICAKICAgIGlmIG5vdCBAZGVmaW5lcy5lbXB0eT8KICAgICAgICBmIDw8
1332 # ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMudW5pcS5qb2luKCIgIikgPDwg
1333 # IlxuIgogICAgZW5kCiAgZW5kCmVuZAoKY2xhc3MgQ29uZmlnIDwgUGFja2Fn
1334 # ZQogIGRlZiBpbml0aWFsaXplCiAgICBzdXBlcihuaWwpCiAgICBAcW9uZl9w
1335 # YWNrYWdlcyA9IFtdCiAgZW5kCiAgCiAgZGVmIGFkZF9xb25mX3BhY2thZ2Uo
1336 # cGtnKQogICAgQHFvbmZfcGFja2FnZXMgPDwgcGtnCiAgZW5kCiAgCiAgZGVm
1337 # IHNhdmUocGF0aCkKICAgIGlmIHBhdGhbMF0uY2hyID09IEZpbGU6OlNFUEFS
1338 # QVRPUgogICAgICAgIHBhdGggPSBwYXRoCiAgICBlbHNlCiAgICAgICAgcGF0
1339 # aCA9ICIje0Rpci5nZXR3ZH0vI3twYXRofSIKICAgIGVuZAogICAgCiAgICBG
1340 # aWxlLm9wZW4ocGF0aCwgInciKSB7IHxmfAogICAgICAgIGYgPDwgIiMgR2Vu
1341 # ZXJhdGVkIGF1dG9tYXRpY2FsbHkgYXQgI3tUaW1lLm5vd30hIFBMRUFTRSBE
1342 # TyBOT1QgRURJVCBNQU5VQUxMWSEiPDwgIlxuIgogICAgICAgIAogICAgICAg
1343 # IHdyaXRlKGYpCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgZiA8PCAiUU9O
1344 # Rl9QQUNLQUdFUyArPSAiIDw8IEBxb25mX3BhY2thZ2VzLm1hcCB7IHxlfCBl
1345 # Lm5hbWV9LmpvaW4oIiAiKSAgPDwgIlxuIgogICAgICAgIAogICAgICAgIGYg
1346 # PDwgIlxuZGVmaW5lVGVzdChsaW5rX3dpdGgpIHsiIDw8ICJcbiIKICAgICAg
1347 # ICBmIDw8ICIgIHJldCA9IGZhbHNlXG4iCiAgICAgICAgQHFvbmZfcGFja2Fn
1348 # ZXMuZWFjaCB7IHxxb25mfAogICAgICAgICAgZiA8PCAlQCAgY29udGFpbnMo
1349 # JCRsaXN0KCQkc3BsaXQoMSkpICwiI3txb25mLm5hbWV9Iikge1xuQAogICAg
1350 # ICAgICAgZiA8PCAiICAgIHJldCA9IHRydWVcbiIKICAgICAgICAgIGYgPDwg
1351 # IiAgICBtZXNzYWdlKD0+IExpbmtpbmcgcW9uZiBtb2R1bGU6ICN7cW9uZi5u
1352 # YW1lfSlcbiIKICAgICAgICAgIHFvbmYud3JpdGUoZikKICAgICAgICAgIGYg
1353 # PDwgIiAgfVxuIgogICAgICAgIH0KICAgICAgICBmIDw8ICIgIGV4cG9ydChJ
1354 # TkNMVURFUEFUSClcbiIKICAgICAgICBmIDw8ICIgIGV4cG9ydChMSUJTKVxu
1355 # IgogICAgICAgIGYgPDwgIiAgZXhwb3J0KFFUKVxuIgogICAgICAgIGYgPDwg
1356 # IiAgZXhwb3J0KERFRklORVMpXG4iCiAgICAgICAgZiA8PCAiICByZXR1cm4o
1357 # JCRyZXQpXG4iCiAgICAgICAgZiA8PCAifVxuIgogICAgfQogIGVuZAplbmQK
1358 # CmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1359 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJl
1360 # L3NldHVwX3JiLnRwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1361 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1362 # ADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MTQwADEwNjczMjM0
1363 # MjczADAxNDc2MwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1364 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1365 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAA
1366 # AAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1367 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1368 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1369 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1370 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1371 # AAAAAAAAAAAKCgojIHNldHVwIGlzIGEgb2JqZWN0IHRoYXQgaGVscHMgdG8g
1372 # Y29uZmlndXJlIHRoZSBwcm9qZWN0CiMgSXQgY29udGFpbnMgc29tZSBtZXRo
1373 # b2RzIGxpa2U6CiMgICBhZGRfb3B0aW9uCiMgICBmaW5kX3BhY2thZ2UKIyAg
1374 # IGFkZF90ZXN0CiMgICBnZW5lcmF0ZV9wa2djb25maWcKZGVmIGNvbmZpZ3Vy
1375 # ZShzZXR1cCkKIyMjIyAKIyMjIyBhZGRfb3B0aW9uIGFkZHMgYW4gb3B0aW9u
1376 # IHRvIHRoZSBzY3JpcHQsIGl0IGhhcyB0aGUgZm9sbG93aW5nIG9wdGlvbnM6
1377 # CiMjIyMgOm5hbWUgICAgICAgICBUaGUgbmFtZSBvZiB0aGUgb3B0aW9uLgoj
1378 # IyMjIDp0eXBlICAgICAgICAgVGhlIHR5cGUgb2YgdGhlIG9wdGlvbiAoInBh
1379 # dGgiLCAic3RyaW5nIiwgImJvb2wiIG9yICJ2b2lkIikuCiMjIyMgOm9wdGlv
1380 # bmFsICAgICBTYXlzIGlmIHRoZSBvcHRpb24gaXMgcmVxdWlyZWQgb3Igbm90
1381 # LgojIyMjIDpkZXNjcmlwdGlvbiAgRGVzY3JpcHRpb24gb2YgdGhlIG9wdGlv
1382 # bgojIyMjIDpkZWZhdWx0ICAgICAgVGhlIGRlZmF1bHQgdmFsdWUKIyMjIyAK
1383 # IyAgIHNldHVwLmFkZF9vcHRpb24oOm5hbWUgPT4gIm9wdGlvbi1uYW1lIiwg
1384 # OnR5cGUgPT4gInBhdGgiLCA6b3B0aW9uYWwgPT4gZmFsc2UsIDpkZXNjcmlw
1385 # dGlvbiA9PiAiU2V0cyBhbiBvcHRpb24iKQogIAojIyMjIAojIyMjIGZpbmRf
1386 # cGFja2FnZSBzZWFyY2ggZm9yIGEgcGtnY29uZmlnIHNwZWMgaW4geW91ciBj
1387 # b21wdXRlciwgaXQgc2VhcmNoIGluIHRoZSBQS0dfQ09ORklHX1BBVEggZW52
1388 # aXJvbm1lbnQgdmFyaWFibGUgb3IgTERfTElCUkFSWV9QQVRICiMjIyMgVGhl
1389 # IG9wdGlvbnMgYXJlOgojIyMjIDpuYW1lICAgICAgIFBhY2thZ2UgbmFtZQoj
1390 # IyMjIDpvcHRpb25hbCAgIFRydWUgaWYgdGhlIHBhY2thZ2UgaXMgb3B0aW9u
1391 # YWwKIyMjIyA6Z2xvYmFsICAgICBMaW5rIGdsb2JhbGx5CiMjIyMgCiMgICBz
1392 # ZXR1cC5maW5kX3BhY2thZ2UoOm5hbWUgPT4gImRidXMtMSIsIDpvcHRpb25h
1393 # bCA9PiBmYWxzZSwgOmdsb2JhbCA9PiB0cnVlKQoKIyMjIyAKIyMjIyBhZGRf
1394 # dGVzdCBhZGRzIGFuZCBydW4gYSB0ZXN0IGZvciBzb21lIGZlYXR1cmUgb3Ig
1395 # cGFja2FnZSwgdGhlIG9wdGlvbnMgYXJlOgojIyMjICAgOmlkICAgICAgICAg
1396 # ICBUaGUgaWQgb2YgdGhlIHRlc3QKIyMjIyAgIDpuYW1lICAgICAgICAgVGhl
1397 # IHRlc3QgbmFtZQojIyMjICAgOmRlZmluZXMgICAgICBEZWZpbmVzIHRvIHRl
1398 # c3QKIyMjIyAgIDppbmNsdWRlcGF0aCAgQSBsaXN0IHdpdGggdGhlIGluY2x1
1399 # ZGUgcGF0aAojIyMjICAgOmxpYnMgICAgICAgICBUaGUgbGlicyByZXF1aXJl
1400 # ZCBmb3IgdGhlIHRlc3QKIyMjIyAgIDpvcHRpb25hbCAgICAgVHJ1ZSBpZiB0
1401 # aGUgdGVzdCBpcyBvcHRpb25hbAojIyMjICAgOmN1c3RvbSAgICAgICBBIGNv
1402 # ZGUgdG8gdGVzdAojIyMjICAgOmdsb2JhbCAgICAgICBMaW5rIGdsb2JhbGx5
1403 # CiMjIyMgCiMgc2V0dXAuYWRkX3Rlc3QoOmlkID0+ICJmZWF0dXJlIiwgOm5h
1404 # bWUgPT4gIkZlYXR1cmUgc3VwcG9ydCIsIDpkZWZpbmVzID0+IFsiSEFWRV9G
1405 # RUFUVVJFIl0sIDpvcHRpb25hbCA9PiB0cnVlLCA6aGVhZGVycyA9PiBbImZl
1406 # YXR1cmUuaCJdLCA6bGlicyA9PiAiLWxmZWF0dXJlIiwgOmdsb2JhbCA9PiB0
1407 # cnVlICApCgojIyMjIAojIyMjIGdlbmVyYXRlX3BrZ2NvbmZpZyBHZW5lcmF0
1408 # ZXMgYSBzaW1wbGUgcGtnY29uZmlnIGZpbGUKIyMjIyBUaGUgb3B0aW9ucyBh
1409 # cmU6CiMjIyMgICA6cGFja2FnZV9uYW1lICBUaGUgcGFja2FnZSBuYW1lIAoj
1410 # IyMjICAgOm5hbWUgICAgICAgICAgVGhlIGFwcGxpY2F0aW9uIG5hbWUKIyMj
1411 # IyAgIDpkZXNjcmlwdGlvbiAgIFRoZSBhcHBsaWNhdGlvbiBkZXNjcmlwdGlv
1412 # bgojIyMjICAgOnZlcnNpb24gICAgICAgVGhlIHZlcnNpb24gb2YgdGhlIGFw
1413 # cGxpY2F0aW9uCiMjIyMgICA6bGliZGlyICAgICAgICBUaGUgZGlyZWN0b3J5
1414 # IHdoZXJlIGxpYnJhcmllcyBhcmUsIGJ5IGRlZmF1bHQgaXMgJChwcmVmaXgp
1415 # L2xpYgojIyMjICAgOmluY2x1ZGVkaXIgICAgVGhlIGRpcmVjdG9yeSB3aGVy
1416 # ZSBoZWFkZXJzIGFyZSwgYnkgZGVmYXVsdCBpcyAkKHByZWZpeCkvaW5jbHVk
1417 # ZQojIyMjICAgOmxpYnMgICAgICAgICAgTGlicmFyaWVzIHRoYXQgbGlua3Mg
1418 # dGhlIHBhY2thZ2UKIyMjIyAgIDpjZmxhZ3MgICAgICAgIENmbGFncyBmb3Ig
1419 # dGhlIHBhY2thZ2UKIyMjIyAgIDpyZXF1aXJlcyAgICAgIEEgbGlzdCBvZiBw
1420 # YWNrYWdlIG5hbWVzIHJlcXVpcmVkIGZvciB0aGlzIHBhY2thZ2UuCiMjIyMg
1421 # CiMgc2V0dXAuZ2VuZXJhdGVfcGtnY29uZmlnKDpwYWNrYWdlX25hbWUgPT4g
1422 # ImRsaWItZWRpdG9yIiwgOm5hbWUgPT4gIkRMaWIgUXQgbGlicmFyeSIsIDpk
1423 # ZXNjcmlwdGlvbiA9PiAiQSBleHRlbnNpb24gZm9yIFF0NCIsIDp2ZXJzaW9u
1424 # ID0+ICIwLjFiZXRhIiwgOmxpYmRpciA9PiBuaWwsIDppbmNsdWRlZGlyID0+
1425 # IG5pbCwgOmxpYnMgPT4gIi1MJHtsaWJkaXJ9IC1sZGNvcmUgLWxkZ3VpIC1s
1426 # ZGVkaXRvciIsIDpjZmxhZ3MgPT4gIi1JJHtpbmNsdWRlZGlyfSIsIDpyZXF1
1427 # aXJlcyA9PiBbInNvbWVwYWNrYWdlIiwgIm90aGVycGFja2FnZSIgXSApCmVu
1428 # ZAoKIyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYmVmb3JlIHRvIHNlYXJjaCBh
1429 # IHBhY2thZ2UKZGVmIHNldHVwX3BrZ2NvbmZpZyhwa2djb25maWcsIGFyZ3Mp
1430 # CiMgICBjYXNlIHBrZ2NvbmZpZy5pZAojICAgICB3aGVuICJkYnVzLTEiCiMg
1431 # ICAgICAgcGtnY29uZmlnLmFkZF9zZWFyY2hfcGF0aCgiL2EvcGF0aC90by90
1432 # aGUvcGMiKQojICAgZW5kCmVuZAoKZGVmIHNldHVwX3Rlc3QoaWQsIHRzdCwg
1433 # YXJncykKIyAgIGNhc2UgaWQKIyAgICAgd2hlbiAiZmVhdHVyZSIKIyAgICAg
1434 # ICB0c3QuYWRkX2RlZmluZSgiTVlERUZJTkUiKQojICAgICAgIHRzdC5hZGRf
1435 # bGliKCItbG15bGliIikKIyAgICAgICB0c3QuYWRkX2luY2x1ZGVfcGF0aCgi
1436 # L3NvbWUvaW5jbHVkZS9wYXRoL3JlcXVpcmVkL3RvL2NvbXBpbGUvdGhlL3Rl
1437 # c3QiKQojICAgZW5kCmVuZAoKZGVmIHNldHVwX2NvbmZpZyhjZmcsIGFyZ3Mp
1438 # CiMgICBjZmcuYWRkX2luY2x1ZGVfcGF0aCBGaWxlLmV4cGFuZF9wYXRoKCJz
1439 # cmMiKQojICAgY2ZnLmFkZF9kZWZpbmUoIl9fU1REQ19DT05TVEFOVF9NQUNS
1440 # T1MiKQojICAgY2ZnLmFkZF9xdG1vZHVsZSgieG1sIikKIyAgIGNmZy5hZGRf
1441 # cXRtb2R1bGUoIm5ldHdvcmsiKQplbmQKCgoAAAAAAAAAAAAAAAAAAAAAAAAA
1442 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1443 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1444 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1445 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1446 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1447 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1448 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1449 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1450 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3Vy
1451 # ZS9xbWFrZS5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1452 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1453 # AAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMzcyNgAxMDY3MzIy
1454 # MDcwNAAwMTQwNDMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1455 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1456 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAA
1457 # AAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAA
1458 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1459 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1460 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1461 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1462 # AAAAAAAAAAAACnJlcXVpcmUgJ29wZW4zJwoKbW9kdWxlIFFvbmYKCmNsYXNz
1463 # IFFNYWtlCglkZWYgaW5pdGlhbGl6ZQoJCWlmIG5vdCBmaW5kX3FtYWtlKCI0
1464 # LjAuMCIpCgkJCXJhaXNlICJDYW4ndCBmaW5kIHZhbGlkIHFtYWtlIC0gcXQ0
1465 # IgoJCWVuZAoJCQoJCUBsb2dfZmlsZSA9ICJjb25maWcubG9nIgoJCQoJCUBt
1466 # YWtlID0gIm1ha2UiCgkJQG1ha2Vfb3B0aW9ucyA9ICIyPiAje0Bsb2dfZmls
1467 # ZX0iCgllbmQKCQoJZGVmIGZpbmRfcW1ha2UobWlucXR2ZXJzaW9uKQoJCXBh
1468 # dGhzID0gWyAicW1ha2UtcXQ0IiwgInFtYWtlNCIsICJxbWFrZSIgXQoJCQoJ
1469 # CW1pbnZlciA9IG1pbnF0dmVyc2lvbi5zcGxpdCgiLiIpCgkJcGF0aHMuZWFj
1470 # aCB7IHxwYXRofAoJCQliZWdpbgoJCQkJdmVyc2lvbiA9IFtdCgkJCQlvayA9
1471 # IHRydWUKCQkJCQoJCQkJSU8ucG9wZW4oIiN7cGF0aH0gLXF1ZXJ5IFFUX1ZF
1472 # UlNJT04iKSB7IHxwcmN8CgkJCQkJdmVyc2lvbiA9IHByYy5yZWFkbGluZXMu
1473 # am9pbigiIikuc3BsaXQoIi4iKQoJCQkJfQoKIyAJCQkJc3RkaW4sIHN0ZG91
1474 # dCwgc3RkZXJyID0gT3BlbjMucG9wZW4zKCIje3BhdGh9IC1xdWVyeSBRVF9W
1475 # RVJTSU9OIikKIyAJCQkJdmVyc2lvbiA9IHN0ZG91dC5yZWFkbGluZXMuam9p
1476 # bigiIikuc3BsaXQoIi4iKQoJCQkJCgkJCQluZXh0IGlmICQ/ICE9IDAKCQkJ
1477 # CQoJCQkJdmVyc2lvbi5zaXplLnRpbWVzIHsgfGl8CgkJCQkJaWYgdmVyc2lv
1478 # bi5zaXplIDwgaSBhbmQgbWludmVyLnNpemUgPj0gMgoJCQkJCQlicmVhawoJ
1479 # CQkJCWVuZAoJCQkJCQoJCQkJCWlmIHZlcnNpb25baV0gPCBtaW52ZXJbaV0K
1480 # CQkJCQkJb2sgPSBmYWxzZQoJCQkJCQlicmVhawoJCQkJCWVuZCAKCQkJCX0K
1481 # CQkJCQoJCQkJaWYgb2sKCQkJCQlAcGF0aCA9IHBhdGgKCQkJCQlyZXR1cm4g
1482 # b2sKCQkJCWVuZAoJCQlyZXNjdWUKCQkJZW5zdXJlCgkJCWVuZAoJCX0KCgkJ
1483 # cmV0dXJuIGZhbHNlCgllbmQKCQoJZGVmIHF1ZXJ5KHZhcikKCQlvdXRwdXQg
1484 # PSBgI3tAcGF0aH0gLXF1ZXJ5ICN7dmFyfWAKCQlvdXRwdXQKCWVuZAoJCglk
1485 # ZWYgcnVuKGFyZ3MgPSAiIiwgcmVjdXIgPSBmYWxzZSkKCSAgCWlmICRERUJV
1486 # RwoJCSAgcHV0cyAiQVJHUyA9ICN7YXJnc30iCgkJZW5kCgkJb3B0aW9ucyA9
1487 # ICIiCgkJaWYgcmVjdXIKCQkJb3B0aW9ucyArPSAiLXIiCgkJZW5kCgkJCgkJ
1488 # b3V0cHV0ID0gYCN7QHBhdGh9ICN7YXJnc30gI3tvcHRpb25zfSBgCgkJaWYg
1489 # b3V0cHV0LnN0cmlwLmVtcHR5PwoJCQlyZXR1cm4gdHJ1ZQoJCWVuZAoKCQly
1490 # ZXR1cm4gZmFsc2UKCWVuZAoJCglkZWYgY29tcGlsZQoJCWJlZ2luCgkJCUlP
1491 # LnBvcGVuKCIje0BtYWtlfSBjbGVhbiAje0BtYWtlX29wdGlvbnN9IikgeyB8
1492 # Y3wKCQkJCW91dHB1dCA9IGMucmVhZGxpbmVzCgkJCX0KCQkJCiMgCQkJc3Rk
1493 # aW4sIHN0ZG91dCwgc3RkZXJyID0gT3BlbjMucG9wZW4zKCIje0BtYWtlfSBj
1494 # bGVhbiIpOwojIAkJCXN0ZG91dC5yZWFkbGluZXMKCQkJCgkJCXRpbWVzID0g
1495 # MAoJCQllbmRjb2RlID0gMgoJCQkKCQkJCgkJCXdoaWxlIGVuZGNvZGUgPT0g
1496 # MiBhbmQgdGltZXMgPD0gMwoJCQkJSU8ucG9wZW4oIiN7QG1ha2V9ICN7QG1h
1497 # a2Vfb3B0aW9uc30iLCAiciIpIHsgfGN8CgkJCQkJb3V0cHV0ID0gYy5yZWFk
1498 # bGluZXMKCQkJCX0KCQkJCQojIAkJCQlzdGRpbiwgc3Rkb3V0LCBzdGRlcnIg
1499 # PSBPcGVuMy5wb3BlbjMoIiN7QG1ha2V9Iik7CiMgCQkJCXN0ZGVyci5yZWFk
1500 # bGluZXMKIyAJCQkJc3Rkb3V0LnJlYWRsaW5lcwoJCQkJCgkJCQllbmRjb2Rl
1501 # ID0gJD8gPj4gOAoJCQkJCgkJCQl0aW1lcyArPSAxCgkJCWVuZAoJCQkKCQly
1502 # ZXNjdWUKCQkJcmV0dXJuIGZhbHNlCgkJZW5kCgkJCgkJaWYgZW5kY29kZSAh
1503 # PSAwCgkJCXJldHVybiBmYWxzZQoJCWVuZAoJCQoJCXJldHVybiB0cnVlCgll
1504 # bmQKCQoJZGVmIGNsZWFuX3VwCiAgICAgIElPLnBvcGVuKCIje0BtYWtlfSBk
1505 # aXN0Y2xlYW4iKSB7IHxjfAogICAgICAgICAgb3V0cHV0ID0gYy5yZWFkbGlu
1506 # ZXMKICAgICAgfQoJZW5kCmVuZAoKZW5kICNtb2R1bGUKCgoAAAAAAAAAAAAA
1507 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcGtn
1508 # Y29uZmlnLnJifgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1509 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAw
1510 # MDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDY0MDMAMTA2NzMyMjA3MDQA
1511 # MDE1MTA1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1512 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1513 # AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAA
1514 # AAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1515 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1516 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1517 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1518 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1519 # AAAAAAoKcmVxdWlyZSAnZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoKY2xhc3Mg
1520 # UGtnQ29uZmlnUGFyc2VyCiAgZGVmIGluaXRpYWxpemUKICAgIEB2YXJpYWJs
1521 # ZXMgPSB7fQogICAgQHNwZWNzID0ge30KICBlbmQKICAKICBkZWYgcGFyc2Uo
1522 # cGF0aCkKICAgIEZpbGUub3BlbihwYXRoKSB7IHxmaWxlfAogICAgICBmaWxl
1523 # LmVhY2ggeyB8bGluZXwKICAgICAgICBpZiBsaW5lID1+IC8oXHcrKT0oLiop
1524 # JC8KICAgICAgICAgIEB2YXJpYWJsZXNbJDFdID0gJDIKICAgICAgICBlbHNp
1525 # ZiBsaW5lID1+IC8oXHcrKTpccyguKikkLwogICAgICAgICAgQHNwZWNzWyQx
1526 # XSA9ICQyCiAgICAgICAgZW5kCiAgICAgIH0KICAgIH0KICBlbmQKICAKICBk
1527 # ZWYgdmFsdWUodmFyaWFibGUpCiAgICB2YWwgPSBAdmFyaWFibGVzW3Zhcmlh
1528 # YmxlXQogICAgd2hpbGUgdmFsID1+IC8oXCRceyhcdyspXH0pLwogICAgICB2
1529 # YWwuZ3N1YiEoJDEsIHZhbHVlKCQyKSkKICAgIGVuZAogICAgCiAgICB2YWwK
1530 # ICBlbmQKICAKICBkZWYgc3BlYyh2YXJpYWJsZSkKICAgIHZhbCA9IEBzcGVj
1531 # c1t2YXJpYWJsZV0KICAgIHdoaWxlIHZhbCA9fiAvKFwkXHsoXHcrKVx9KS8K
1532 # ICAgICAgdmFsLmdzdWIhKCQxLCB2YWx1ZSgkMikpCiAgICBlbmQKICAgIAog
1533 # ICAgdmFsCiAgZW5kCiAgCiAgZGVmIGxpYnMKICAgIHNwZWMoIkxpYnMiKQog
1534 # IGVuZAogIAogIGRlZiBjZmxhZ3MKICAgIHNwZWMoIkNmbGFncyIpCiAgZW5k
1535 # CiAgCiAgZGVmIHJlcXVpcmVzCiAgICBzcGVjKCJSZXF1aXJlcyIpLnRvX3MK
1536 # ICBlbmQKZW5kCgpjbGFzcyBQa2dDb25maWcKICBhdHRyX3JlYWRlciA6aWQs
1537 # IDpsaWJzLCA6Y2ZsYWdzLCA6cmVxdWlyZXMKICAKICBkZWYgaW5pdGlhbGl6
1538 # ZShpZCkKICAgIEBpZCA9IGlkCiAgICBAc2VhcmNoX3BhdGggPSBbXQogICAg
1539 # QHJlcXVpcmVzID0gW10KICBlbmQKICAKICBkZWYgZmluZChwa2cpCiAgICBw
1540 # a2dwYXRoID0gZmluZF9wYXRoX2Zvcl9wYWNrYWdlKHBrZykKICAgIAogICAg
1541 # aWYgbm90IHBrZ3BhdGgubmlsPwogICAgICBAY2ZsYWdzID0gIiIKICAgICAg
1542 # QGxpYnMgPSAiIgogICAgICBwYXJzZShwa2dwYXRoLCBwa2cpCiAgICAgIAog
1543 # ICAgICByZXR1cm4gdHJ1ZQogICAgZW5kCiAgICAKICAgIGZhbHNlCiAgZW5k
1544 # CiAgCiAgZGVmIGFkZF9zZWFyY2hfcGF0aChwYXRoKQogICAgaWYgcGF0aC5r
1545 # aW5kX29mPyhBcnJheSkKICAgICAgQHNlYXJjaF9wYXRoLmNvbmNhdChwYXRo
1546 # KQogICAgZWxzZQogICAgICBAc2VhcmNoX3BhdGggPDwgcGF0aC50b19zCiAg
1547 # ICBlbmQKICBlbmQKICAKICBkZWYgaW5jbHVkZV9wYXRoCiAgICBpbmNwYXRo
1548 # ID0gW10KICAgIGNmbGFncyA9IEBjZmxhZ3MuZHVwCiAgICB3aGlsZSBjZmxh
1549 # Z3MgPX4gLygtSVxzKigoXFdcdyspKykpLwogICAgICBpbmNwYXRoIDw8ICQy
1550 # CiAgICAgIGNmbGFncy5zdWIhKCQxLCAiIikKICAgIGVuZAogICAgCiAgICBp
1551 # bmNwYXRoLnVuaXEKICBlbmQKICAKICBkZWYgZGVmaW5lcwogICAgZGVmaW5l
1552 # cyA9IFtdCiAgICBjZmxhZ3MgPSBAY2ZsYWdzLmR1cAogICAgd2hpbGUgY2Zs
1553 # YWdzID1+IC8oLURccyooKFxXXHcrKSspKS8KICAgICAgZGVmaW5lcyA8PCAk
1554 # MgogICAgICBkZWZpbmVzLnN1YiEoJDEsICIiKQogICAgZW5kCiAgICAKICAg
1555 # IGRlZmluZXMudW5pcQogIGVuZAogIAogIGRlZiBmaW5kX3dpbjMyX3BhdGhz
1556 # CiAgICBwYXRocyA9IGZpbmRfZW52X3BhdGhzCiAgICAKICAgIAogICAgcGF0
1557 # aHMKICBlbmQKICAKICBkZWYgZmluZF91bml4X3BhdGhzCiAgICBwYXRocyA9
1558 # IGZpbmRfZW52X3BhdGhzCiAgICBpZiBGaWxlLmV4aXN0cz8oIi9ldGMvbGQu
1559 # c28uY29uZiIpCiAgICAgIEZpbGUub3BlbigiL2V0Yy9sZC5zby5jb25mIikg
1560 # ZG8gfGZpbGV8CiAgICAgICAgZmlsZS5lYWNoIHsgfGxpbmV8CiAgICAgICAg
1561 # ICBkaXIgPSBsaW5lLnN0cmlwKyIvcGtnY29uZmlnIgogICAgICAgICAgaWYg
1562 # RmlsZS5leGlzdHM/KGRpcikKICAgICAgICAgICAgcGF0aHMgPDwgZGlyCiAg
1563 # ICAgICAgICBlbmQKICAgICAgICB9CiAgICAgIGVuZAogICAgZW5kCiAgICAK
1564 # ICAgIHBhdGhzCiAgZW5kCiAgCiAgZGVmIGZpbmRfZW52X3BhdGhzCiAgICBz
1565 # ZXBwYXRoID0gKERldGVjdE9TLm9zPyA9PSAxKSA/ICI7IiA6ICI6IgogICAg
1566 # CiAgICBwYXRocyA9IFsgIi4iIF0KICAgIChFTlZbIlBLR19DT05GSUdfUEFU
1567 # SCJdLnRvX3Mrc2VwcGF0aCtFTlZbIkxEX0xJQlJBUllfUEFUSCJdKS5zcGxp
1568 # dChzZXBwYXRoKS5lYWNoIHsgfHBhdGh8CiAgICAgIGlmIEZpbGUuZXhpc3Rz
1569 # PyhwYXRoKQogICAgICAgIHBhdGhzIDw8IHBhdGgKICAgICAgZW5kCiAgICB9
1570 # CiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAgcHJpdmF0ZQogIGRlZiBwYXJz
1571 # ZShwa2dwYXRoLCBwa2cpCiAgICByZXR1cm4gaWYgcGtncGF0aC5uaWw/CiAg
1572 # ICAKICAgIHBhcnNlciA9IFBrZ0NvbmZpZ1BhcnNlci5uZXcKICAgIHBhcnNl
1573 # ci5wYXJzZShwa2dwYXRoKQogICAgCiAgICBwYXJzZXIucmVxdWlyZXMuc3Bs
1574 # aXQoLyx8XHMvKS5lYWNoIHsgfHJlcXwKICAgICAgcmVxLnN0cmlwIQogICAg
1575 # ICAKICAgICAgcGFyc2UoZmluZF9wYXRoX2Zvcl9wYWNrYWdlKHJlcSksIHJl
1576 # cSkKICAgIH0KICAgIAogICAgY2ZsYWdzID0gcGFyc2VyLmNmbGFncwogICAg
1577 # bGlicyA9IHBhcnNlci5saWJzCiAgICAKICAgIGlmIGlkICE9IHBrZyBhbmQg
1578 # bm90IChjZmxhZ3MuZW1wdHk/IG9yIGxpYnMuZW1wdHk/KQogICAgICBAcmVx
1579 # dWlyZXMgPDwgcGtnCiAgICBlbmQKICAgIAogICAgQGNmbGFncyArPSAiICIr
1580 # Y2ZsYWdzCiAgICBAbGlicyArPSAiICIrbGlicwogICAgCiAgICBuaWwKICBl
1581 # bmQKICAKICBkZWYgZmluZF9wYXRoX2Zvcl9wYWNrYWdlKHBrZykKICAgIGlm
1582 # IG5vdCBwa2cgPX4gL1wucGMkLwogICAgICBwa2cgKz0gIi5wYyIKICAgIGVu
1583 # ZAogICAgCiAgICBwYXRocyA9IEBzZWFyY2hfcGF0aAogICAgCiAgICBpZiBE
1584 # ZXRlY3RPUy5vcz8gPT0gMSAjIFdpbmRvd3MKICAgICAgcGF0aHMuY29uY2F0
1585 # IGZpbmRfd2luMzJfcGF0aHMKICAgIGVsc2UKICAgICAgcGF0aHMuY29uY2F0
1586 # IGZpbmRfdW5peF9wYXRocwogICAgZW5kCiAgICAKICAgIHBrZ3BhdGggPSBu
1587 # aWwKICAgIHBhdGhzLmVhY2ggeyB8cGF0aHwKICAgICAgdG1wcGF0aCA9IHBh
1588 # dGgrIi8iK3BrZwogICAgICBpZiBGaWxlLmV4aXN0cz8odG1wcGF0aCkKICAg
1589 # ICAgICBwa2dwYXRoID0gdG1wcGF0aAogICAgICBlbmQKICAgIH0KICAgIAog
1590 # ICAgcGtncGF0aAogIGVuZAplbmQKCmVuZAoKCmlmICQwID09IF9fRklMRV9f
1591 # CiAgcGtnY29uZmlnID0gUW9uZjo6UGtnQ29uZmlnLm5ldwogIHBrZ2NvbmZp
1592 # Zy5maW5kKCJ0ZXN0X3FvbmYiKQogIAogIHB1dHMgcGtnY29uZmlnLmxpYnMK
1593 # ZW5kCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1594 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1595 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1596 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1597 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1598 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL3Rr
1599 # X2JhY2tlbmQucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1600 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw
1601 # MDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MjY3ADEwNjczMjIwNzA0
1602 # ADAxNTAzNQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1603 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1604 # AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAA
1605 # AAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1606 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1607 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1608 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1609 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1610 # AAAAAAAKCgoKcmVxdWlyZSAnYmFja2VuZCcKCm1vZHVsZSBRb25mCiAgY2xh
1611 # c3MgVGtCYWNrZW5kIDwgQmFja2VuZAogICAgZGVmIGluaXRpYWxpemUKICAg
1612 # IGVuZAogICAgCiAgICBkZWYgcGFyc2Uob3B0cykKICAgICAgcm9vdCA9IFRr
1613 # Um9vdC5uZXcoKSB7IHRpdGxlICJDb25maWd1cmUuLi4iIH0KICAgICAgb3B0
1614 # cy5lYWNoIHsgfG9wdGlvbnwKICAgICAgICBsYWJlbCA9IFRrTGFiZWwubmV3
1615 # KHJvb3QpIHsgdGV4dCBvcHRpb25bOm5hbWVdIH0KICAgICAgICAKICAgICAg
1616 # ICBjYXNlIG9wdGlvbls6dHlwZV0udG9fcy5kb3duY2FzZQogICAgICAgICAg
1617 # d2hlbiAic3RyaW5nIgogICAgICAgICAgICBlbnRyeSA9IFRrRW50cnkubmV3
1618 # KHJvb3QpCiAgICAgICAgICAgIGVudHJ5Lmluc2VydCgwLCAob3B0aW9uWzp2
1619 # YWx1ZV0ubmlsPyA/IG9wdGlvbls6ZGVmYXVsdF0udG9fcyA6IG9wdGlvbls6
1620 # dmFsdWVdLnRvX3MgICkpCiAgICAgICAgICAgIFRrR3JpZC5ncmlkKGxhYmVs
1621 # LCBlbnRyeSwgImNvbHVtbnNwYW4iID0+IDIpCiAgICAgICAgICAgIAogICAg
1622 # ICAgICAgICBvcHRpb25bOmlucHV0XSA9IGVudHJ5CiAgICAgICAgICB3aGVu
1623 # ICJwYXRoIgogICAgICAgICAgICBlbnRyeSA9IFRrRW50cnkubmV3KHJvb3Qp
1624 # CiAgICAgICAgICAgIGVudHJ5Lmluc2VydCgwLCAob3B0aW9uWzp2YWx1ZV0u
1625 # bmlsPyA/IG9wdGlvbls6ZGVmYXVsdF0udG9fcyA6IG9wdGlvbls6dmFsdWVd
1626 # LnRvX3MgICkpCiAgICAgICAgICAgIAogICAgICAgICAgICBnZXRGaWxlID0g
1627 # VGtCdXR0b24ubmV3KHJvb3QpIHsKICAgICAgICAgICAgICB0ZXh0ICJCcm93
1628 # c2UuLi4iCiAgICAgICAgICAgICAgY29tbWFuZCB7CiAgICAgICAgICAgICAg
1629 # ICB2YWwgPSBUay5jaG9vc2VEaXJlY3RvcnkKICAgICAgICAgICAgICAgIAog
1630 # ICAgICAgICAgICAgICAgZW50cnkudmFsdWUgPSB2YWwgaWYgbm90IHZhbC50
1631 # b19zLmVtcHR5PwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAg
1632 # ICAgICAgICBUa0dyaWQuZ3JpZChsYWJlbCwgZW50cnksIGdldEZpbGUsICJj
1633 # b2x1bW5zcGFuIiA9PiAyKQogICAgICAgICAgICAKICAgICAgICAgICAgb3B0
1634 # aW9uWzppbnB1dF0gPSBlbnRyeQogICAgICAgICAgZWxzZQogICAgICAgICAg
1635 # ICBnaXZlbiA9IChvcHRpb25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZh
1636 # dWx0XS50b19zIDogb3B0aW9uWzp2YWx1ZV0udG9fcyAgKQogICAgICAgICAg
1637 # ICAKICAgICAgICAgICAgaWYgZ2l2ZW4gPT0gImZhbHNlIiBvciBnaXZlbiA9
1638 # PSAibm8iIG9yIGdpdmVuLmVtcHR5PwogICAgICAgICAgICAgIHZhbHVlID0g
1639 # MAogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgdmFsdWUgPSAxCiAg
1640 # ICAgICAgICAgIGVuZAogICAgICAgICAgICAKICAgICAgICAgICAgbXljaGVj
1641 # ayA9IFRrVmFyaWFibGUubmV3KHZhbHVlKQogICAgICAgICAgICBjaGVjayA9
1642 # IFRrQ2hlY2tCdXR0b24ubmV3KHJvb3QpIHsKICAgICAgICAgICAgICB2YXJp
1643 # YWJsZSBteWNoZWNrCiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAg
1644 # ICAgICAgIFRrR3JpZC5ncmlkKGxhYmVsLCBjaGVjaywgImNvbHVtbnNwYW4i
1645 # ID0+IDIpCiAgICAgICAgICAgIAogICAgICAgICAgICBvcHRpb25bOmlucHV0
1646 # XSA9IG15Y2hlY2sKICAgICAgICBlbmQKICAgICAgfQogICAgICAKICAgICAg
1647 # b2sgPSBUa0J1dHRvbi5uZXcocm9vdCkgewogICAgICAgIHRleHQgIk9rIgog
1648 # ICAgICAgIGNvbW1hbmQgIHsKICAgICAgICAgIG9rID0gdHJ1ZQogICAgICAg
1649 # ICAgcmVxdWlyZWRfZmllbGRzID0gW10KICAgICAgICAgIAogICAgICAgICAg
1650 # b3B0cy5lYWNoIHsgfG9wdGlvbnwKICAgICAgICAgICAgdmFsdWUgPSBvcHRp
1651 # b25bOmRlZmF1bHRdCiAgICAgICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXS5k
1652 # b3duY2FzZQogICAgICAgICAgICAgIHdoZW4gInN0cmluZyIKICAgICAgICAg
1653 # ICAgICAgIHZhbHVlID0gb3B0aW9uWzppbnB1dF0udmFsdWUKICAgICAgICAg
1654 # ICAgICB3aGVuICJwYXRoIgogICAgICAgICAgICAgICAgdmFsdWUgPSBGaWxl
1655 # LmV4cGFuZF9wYXRoKG9wdGlvbls6aW5wdXRdLnZhbHVlKQogICAgICAgICAg
1656 # ICAgIGVsc2UKICAgICAgICAgICAgICAgIHZhbHVlID0gb3B0aW9uWzppbnB1
1657 # dF0udmFsdWUKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIAogICAgICAg
1658 # ICAgICBpZiBvcHRpb25bOm9wdGlvbmFsXSA9PSBmYWxzZSBhbmQgdmFsdWUu
1659 # dG9fcy5lbXB0eT8KICAgICAgICAgICAgICByZXF1aXJlZF9maWVsZHMgPDwg
1660 # b3B0aW9uWzpuYW1lXQogICAgICAgICAgICAgIG9rID0gZmFsc2UKICAgICAg
1661 # ICAgICAgZWxzZQogICAgICAgICAgICAgIG9wdGlvbls6dmFsdWVdID0gdmFs
1662 # dWUKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIAogICAgICAgICAgICBv
1663 # ayA9IG9rICYmIHRydWUKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAg
1664 # ICAgaWYgb2sKICAgICAgICAgICAgVGsuZXhpdAogICAgICAgICAgZWxzZQog
1665 # ICAgICAgICAgICBUa1dhcm5pbmcuc2hvdygiVGhlIGZpZWxkcyAnI3tyZXF1
1666 # aXJlZF9maWVsZHMuam9pbigiLCAiKX0nIGFyZSByZXF1aXJlZC4iKQogICAg
1667 # ICAgICAgZW5kCiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBjYW5j
1668 # ZWwgPSBUa0J1dHRvbi5uZXcocm9vdCkgewogICAgICAgIHRleHQgIkNhbmNl
1669 # bCIKICAgICAgICBjb21tYW5kICB7CiAgICAgICAgICBUay5leGl0CiAgICAg
1670 # ICAgICBleGl0IDAKICAgICAgICB9CiAgICAgIH0KICAgICAgICAKICAgICAg
1671 # VGtHcmlkLmdyaWQob2ssIGNhbmNlbCwgImNvbHVtbnNwYW4iID0+IDMpCiAg
1672 # ICAgIAogICAgICBUay5tYWlubG9vcAogICAgICAKICAgICAgdHJ1ZQogICAg
1673 # ZW5kCiAgZW5kCmVuZAoKCmlmIF9fRklMRV9fID09ICQwICMgVGVzdAogIG9w
1674 # dHMgPSBbXQogIG9wdHMgPDwgezpuYW1lID0+ICJuYW1lMSIsIDp0eXBlID0+
1675 # ICJTdHJpbmciLCA6ZGVmYXVsdCA9PiAidmFsdWUiLCA6b3B0aW9uYWwgPT4g
1676 # ZmFsc2UgfQogIG9wdHMgPDwgezpuYW1lID0+ICJuYW1lNCIsIDp0eXBlID0+
1677 # ICJQYXRoIiwgOmRlZmF1bHQgPT4gInZhbHVlIiB9CiAgb3B0cyA8PCB7Om5h
1678 # bWUgPT4gIm5hbWUyIiwgOnR5cGUgPT4gIkJvb2wiLCA6ZGVmYXVsdCA9PiB0
1679 # cnVlIH0KICBvcHRzIDw8IHs6bmFtZSA9PiAibmFtZTMiLCA6dHlwZSA9PiAi
1680 # Vm9pZCIsIDpkZWZhdWx0ID0+IGZhbHNlIH0KICAKICB0ayA9IFFvbmY6OlRr
1681 # QmFja2VuZC5uZXcKICB0ay5wYXJzZShvcHRzKQogIAogIHB1dHMgb3B0cy5m
1682 # aXJzdFs6dmFsdWVdCmVuZAoKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1683 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1684 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1685 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1686 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1687 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1688 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1689 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9z
1690 # ZXR1cF9yYi50cGx+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1691 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw
1692 # MDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNjA1NwAxMDY3MzIzNDI1
1693 # NQAwMTUxNzAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1694 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1695 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAA
1696 # AAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1697 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1698 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1699 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1700 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1701 # AAAAAAAACgoKIyBzZXR1cCBpcyBhIG9iamVjdCB0aGF0IGhlbHBzIHRvIGNv
1702 # bmZpZ3VyZSB0aGUgcHJvamVjdAojIEl0IGNvbnRhaW5zIHNvbWUgbWV0aG9k
1703 # cyBsaWtlOgojICAgYWRkX29wdGlvbgojICAgZmluZF9wYWNrYWdlCiMgICBh
1704 # ZGRfdGVzdAojICAgZ2VuZXJhdGVfcGtnY29uZmlnCmRlZiBjb25maWd1cmUo
1705 # c2V0dXApCiMjIyMgCiMjIyMgYWRkX29wdGlvbiBhZGRzIGFuIG9wdGlvbiB0
1706 # byB0aGUgc2NyaXB0LCBpdCBoYXMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgoj
1707 # IyMjIDpuYW1lICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIG9wdGlvbi4KIyMj
1708 # IyA6dHlwZSAgICAgICAgIFRoZSB0eXBlIG9mIHRoZSBvcHRpb24gKCJwYXRo
1709 # IiwgInN0cmluZyIsICJib29sIiBvciAidm9pZCIpLgojIyMjIDpvcHRpb25h
1710 # bCAgICAgU2F5cyBpZiB0aGUgb3B0aW9uIGlzIHJlcXVpcmVkIG9yIG5vdC4K
1711 # IyMjIyA6ZGVzY3JpcHRpb24gIERlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24K
1712 # IyMjIyA6ZGVmYXVsdCAgICAgIFRoZSBkZWZhdWx0IHZhbHVlCiMjIyMgCiMg
1713 # ICBzZXR1cC5hZGRfb3B0aW9uKDpuYW1lID0+ICJvcHRpb24tbmFtZSIsIDp0
1714 # eXBlID0+ICJwYXRoIiwgOm9wdGlvbmFsID0+IGZhbHNlLCA6ZGVzY3JpcHRp
1715 # b24gPT4gIlNldHMgYW4gb3B0aW9uIikKICAKIyMjIyAKIyMjIyBmaW5kX3Bh
1716 # Y2thZ2Ugc2VhcmNoIGZvciBhIHBrZ2NvbmZpZyBzcGVjIGluIHlvdXIgY29t
1717 # cHV0ZXIsIGl0IHNlYXJjaCBpbiB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmly
1718 # b25tZW50IHZhcmlhYmxlIG9yIExEX0xJQlJBUllfUEFUSAojIyMjIFRoZSBv
1719 # cHRpb25zIGFyZToKIyMjIyA6bmFtZSAgICAgICBQYWNrYWdlIG5hbWUKIyMj
1720 # IyA6Z2xvYmFsICAgICBMaW5rIGdsb2JhbGx5CiMjIyMgCiMgICBzZXR1cC5m
1721 # aW5kX3BhY2thZ2UoOm5hbWUgPT4gImRidXMtMSIsIDpvcHRpb25hbCA9PiBm
1722 # YWxzZSwgOmdsb2JhbCA9PiB0cnVlKQoKIyMjIyAKIyMjIyBhZGRfdGVzdCBh
1723 # ZGRzIGFuZCBydW4gYSB0ZXN0IGZvciBzb21lIGZlYXR1cmUgb3IgcGFja2Fn
1724 # ZSwgdGhlIG9wdGlvbnMgYXJlOgojIyMjICAgOmlkICAgICAgICAgICBUaGUg
1725 # aWQgb2YgdGhlIHRlc3QKIyMjIyAgIDpuYW1lICAgICAgICAgVGhlIHRlc3Qg
1726 # bmFtZQojIyMjICAgOmRlZmluZXMgICAgICBEZWZpbmVzIHRvIHRlc3QKIyMj
1727 # IyAgIDppbmNsdWRlcGF0aCAgQSBsaXN0IHdpdGggdGhlIGluY2x1ZGUgcGF0
1728 # aAojIyMjICAgOmxpYnMgICAgICAgICBUaGUgbGlicyByZXF1aXJlZCBmb3Ig
1729 # dGhlIHRlc3QKIyMjIyAgIDpvcHRpb25hbCAgICAgVHJ1ZSBpZiB0aGUgdGVz
1730 # dCBpcyBvcHRpb25hbAojIyMjICAgOmN1c3RvbSAgICAgICBBIGNvZGUgdG8g
1731 # dGVzdAojIyMjICAgOmdsb2JhbCAgICAgICBMaW5rIGdsb2JhbGx5CiMjIyMg
1732 # CiMgc2V0dXAuYWRkX3Rlc3QoOmlkID0+ICJmZWF0dXJlIiwgOm5hbWUgPT4g
1733 # IkZlYXR1cmUgc3VwcG9ydCIsIDpkZWZpbmVzID0+IFsiSEFWRV9GRUFUVVJF
1734 # Il0sIDpvcHRpb25hbCA9PiB0cnVlLCA6aGVhZGVycyA9PiBbImZlYXR1cmUu
1735 # aCJdLCA6bGlicyA9PiAiLWxmZWF0dXJlIiwgOmdsb2JhbCA9PiB0cnVlICAp
1736 # CgojIyMjIAojIyMjIGdlbmVyYXRlX3BrZ2NvbmZpZyBHZW5lcmF0ZXMgYSBz
1737 # aW1wbGUgcGtnY29uZmlnIGZpbGUKIyMjIyBUaGUgb3B0aW9ucyBhcmU6CiMj
1738 # IyMgICA6cGFja2FnZV9uYW1lICBUaGUgcGFja2FnZSBuYW1lIAojIyMjICAg
1739 # Om5hbWUgICAgICAgICAgVGhlIGFwcGxpY2F0aW9uIG5hbWUKIyMjIyAgIDpk
1740 # ZXNjcmlwdGlvbiAgIFRoZSBhcHBsaWNhdGlvbiBkZXNjcmlwdGlvbgojIyMj
1741 # ICAgOnZlcnNpb24gICAgICAgVGhlIHZlcnNpb24gb2YgdGhlIGFwcGxpY2F0
1742 # aW9uCiMjIyMgICA6bGliZGlyICAgICAgICBUaGUgZGlyZWN0b3J5IHdoZXJl
1743 # IGxpYnJhcmllcyBhcmUsIGJ5IGRlZmF1bHQgaXMgJChwcmVmaXgpL2xpYgoj
1744 # IyMjICAgOmluY2x1ZGVkaXIgICAgVGhlIGRpcmVjdG9yeSB3aGVyZSBoZWFk
1745 # ZXJzIGFyZSwgYnkgZGVmYXVsdCBpcyAkKHByZWZpeCkvaW5jbHVkZQojIyMj
1746 # ICAgOmxpYnMgICAgICAgICAgTGlicmFyaWVzIHRoYXQgbGlua3MgdGhlIHBh
1747 # Y2thZ2UKIyMjIyAgIDpjZmxhZ3MgICAgICAgIENmbGFncyBmb3IgdGhlIHBh
1748 # Y2thZ2UKIyMjIyAgIDpyZXF1aXJlcyAgICAgIEEgbGlzdCBvZiBwYWNrYWdl
1749 # IG5hbWVzIHJlcXVpcmVkIGZvciB0aGlzIHBhY2thZ2UuCiMjIyMgCiMgc2V0
1750 # dXAuZ2VuZXJhdGVfcGtnY29uZmlnKDpwYWNrYWdlX25hbWUgPT4gImRsaWIt
1751 # ZWRpdG9yIiwgOm5hbWUgPT4gIkRMaWIgUXQgbGlicmFyeSIsIDpkZXNjcmlw
1752 # dGlvbiA9PiAiQSBleHRlbnNpb24gZm9yIFF0NCIsIDp2ZXJzaW9uID0+ICIw
1753 # LjFiZXRhIiwgOmxpYmRpciA9PiBuaWwsIDppbmNsdWRlZGlyID0+IG5pbCwg
1754 # OmxpYnMgPT4gIi1MJHtsaWJkaXJ9IC1sZGNvcmUgLWxkZ3VpIC1sZGVkaXRv
1755 # ciIsIDpjZmxhZ3MgPT4gIi1JJHtpbmNsdWRlZGlyfSIsIDpyZXF1aXJlcyA9
1756 # PiBbInNvbWVwYWNrYWdlIiwgIm90aGVycGFja2FnZSIgXSApCmVuZAoKIyBU
1757 # aGlzIG1ldGhvZCBpcyBjYWxsZWQgYmVmb3JlIHRvIHNlYXJjaCBhIHBhY2th
1758 # Z2UKZGVmIHNldHVwX3BrZ2NvbmZpZyhwa2djb25maWcsIGFyZ3MpCiMgICBj
1759 # YXNlIHBrZ2NvbmZpZy5pZAojICAgICB3aGVuICJkYnVzLTEiCiMgICAgICAg
1760 # cGtnY29uZmlnLmFkZF9zZWFyY2hfcGF0aCgiL2EvcGF0aC90by90aGUvcGMi
1761 # KQojICAgZW5kCmVuZAoKZGVmIHNldHVwX3Rlc3QoaWQsIHRzdCwgYXJncykK
1762 # IyAgIGNhc2UgaWQKIyAgICAgd2hlbiAiZmVhdHVyZSIKIyAgICAgICB0c3Qu
1763 # YWRkX2RlZmluZSgiTVlERUZJTkUiKQojICAgICAgIHRzdC5hZGRfbGliKCIt
1764 # bG15bGliIikKIyAgICAgICB0c3QuYWRkX2luY2x1ZGVfcGF0aCgiL3NvbWUv
1765 # aW5jbHVkZS9wYXRoL3JlcXVpcmVkL3RvL2NvbXBpbGUvdGhlL3Rlc3QiKQoj
1766 # ICAgZW5kCmVuZAoKZGVmIHNldHVwX2NvbmZpZyhjZmcsIGFyZ3MpCiMgICBj
1767 # ZmcuYWRkX2luY2x1ZGVfcGF0aCBGaWxlLmV4cGFuZF9wYXRoKCJzcmMiKQoj
1768 # ICAgY2ZnLmFkZF9kZWZpbmUoIl9fU1REQ19DT05TVEFOVF9NQUNST1MiKQoj
1769 # ICAgY2ZnLmFkZF9xdG1vZHVsZSgieG1sIikKIyAgIGNmZy5hZGRfcXRtb2R1
1770 # bGUoIm5ldHdvcmsiKQplbmQKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1771 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1772 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1773 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1774 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1775 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1776 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1777 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1778 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1779 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1780 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUv
1781 # bWFrZWZpbGUucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1782 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1783 # MDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDI1NjAAMTA2NzMyMjA3
1784 # MDQAMDE0NTE1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1785 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1786 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAA
1787 # AAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1788 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1789 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1790 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1791 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1792 # AAAAAAAAAA0KcmVxdWlyZSAncmJjb25maWcnDQoNCm1vZHVsZSBRb25mDQog
1793 # IGNsYXNzIE1ha2VmaWxlDQogICAgZGVmIHNlbGYuZmluZF9tYWtlZmlsZXMo
1794 # cGF0aCkNCiAgICAgIG1ha2VmaWxlcyA9IFtdDQogICAgICBEaXIuZm9yZWFj
1795 # aChwYXRoKSB7IHxmfA0KICAgICAgICBmaWxlID0gIiN7cGF0aH0vI3tmfSIN
1796 # CiAgICAgICAgaWYgRmlsZS5zdGF0KGZpbGUpLmRpcmVjdG9yeT8NCiAgICAg
1797 # ICAgICBpZiBub3QgZiA9fiAvXlwuLw0KICAgICAgICAgICAgbWFrZWZpbGVz
1798 # LmNvbmNhdCBmaW5kX21ha2VmaWxlcyhmaWxlKQ0KICAgICAgICAgIGVuZA0K
1799 # ICAgICAgICBlbHNpZiBmLmRvd25jYXNlID1+IC9ebWFrZWZpbGUoLmRlYnVn
1800 # fC5yZWxlYXNlKXswLDF9Lw0KICAgICAgICAgIG1ha2VmaWxlcyA8PCBmaWxl
1801 # DQogICAgICAgIGVuZA0KICAgICAgfQ0KICAgICAgbWFrZWZpbGVzDQogICAg
1802 # ZW5kDQogICAgDQogICAgZGVmIHNlbGYub3ZlcnJpZGUobWFrZWZpbGUsIGRl
1803 # c3RkaXIsIHN0YXR1c0ZpbGUpDQogICAgICBuZXdtYWtlZmlsZSA9ICIiDQog
1804 # ICAgICANCiAgICAgIHJ1YnlfYmluID0gIiN7OjpDb25maWc6OkNPTkZJR1si
1805 # YmluZGlyIl19LyN7OjpDb25maWc6OkNPTkZJR1sicnVieV9pbnN0YWxsX25h
1806 # bWUiXX0iDQogICAgICANCiAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFUT1IN
1807 # CiAgICAgICAgcnVieV9iaW4uZ3N1YiEoIi8iLCBGaWxlOjpBTFRfU0VQQVJB
1808 # VE9SKQ0KICAgICAgICBkZXN0ZGlyLmdzdWIhKCIvIiwgRmlsZTo6QUxUX1NF
1809 # UEFSQVRPUikNCiAgICAgIGVuZA0KICAgICAgDQogICAgICBGaWxlLm9wZW4o
1810 # bWFrZWZpbGUsICJyIikgeyB8ZnwNCiAgICAgICAgbGluZXMgPSBmLnJlYWRs
1811 # aW5lcw0KICAgICAgDQogICAgICAgIGluZGV4ID0gMA0KICAgICAgICB3aGls
1812 # ZSBpbmRleCA8IGxpbmVzLnNpemUNCiAgICAgICAgICBsaW5lID0gbGluZXNb
1813 # aW5kZXhdDQogICAgICAgICAgDQogICAgICAgICAgaWYgbGluZSA9fiAvXlxz
1814 # K1wkXChRTUFLRVwpLw0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gbGlu
1815 # ZQ0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gIlx0I3tydWJ5X2Jpbn0g
1816 # I3tzdGF0dXNGaWxlfSAje21ha2VmaWxlfVxuIg0KICAgICAgICAgICAgaW5k
1817 # ZXggKz0gMQ0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIG5ld21ha2Vm
1818 # aWxlICs9ICIje2xpbmUuZ3N1YiggL1wkXChJTlNUQUxMX1JPT1RcKS8sIGRl
1819 # c3RkaXIgKX0iDQogICAgICAgICAgZW5kDQogICAgICANCiAgICAgICAgICBp
1820 # bmRleCArPSAxDQogICAgICAgIGVuZA0KICAgICAgfQ0KICAgICAgDQogICAg
1821 # ICBGaWxlLm9wZW4obWFrZWZpbGUsICJ3IikgeyB8ZnwNCiAgICAgICAgZiA8
1822 # PCBuZXdtYWtlZmlsZQ0KICAgICAgfQ0KICAgIGVuZA0KICBlbmQNCmVuZA0K
1823 # DQoNCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1824 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1825 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1826 # AAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9pbml0LnJiAAAAAAAAAAAAAAAAAAAA
1827 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1828 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1
1829 # MAAwMDAwMDAwMDMyMwAxMDY3MzIyMDcwNAAwMTM2NzYAIDAAAAAAAAAAAAAA
1830 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1831 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1832 # dXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdl
1833 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1834 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1835 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1836 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1837 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ3FvbmYn
1838 # CgpEaXIuY2hkaXIoRmlsZS5kaXJuYW1lKG9sZGxvY2F0aW9uKCJxb25mLnJi
1839 # IikpKQoKcW9uZiA9IFFvbmY6OkNvbmZpZ3VyZS5uZXcKcW9uZi5nZXRfYXJn
1840 # cyhBUkdWKQpxb25mLmZpbmRfcGFja2FnZXMKcW9uZi5ydW5fdGVzdHMKCnFv
1841 # bmYuc2F2ZShvbGRsb2NhdGlvbigiY29uZmlnLnByaSIpKQoKcW9uZi5nZW5l
1842 # cmF0ZV9tYWtlZmlsZXMKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1843 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1844 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1845 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1846 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1847 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1848 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1849 # AABxb25maWd1cmUvcW9uZi5yYn4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1850 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1851 # AAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMjMz
1852 # MjQAMTA2NzMyMzU3NDAAMDE0MTEwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1853 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1854 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jh
1855 # d2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAA
1856 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1857 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1858 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1859 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1860 # AAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICd0ZXN0JwpyZXF1aXJlICdw
1861 # a2djb25maWcnCnJlcXVpcmUgJ2JhY2tlbmRmYWN0b3J5JwpyZXF1aXJlICdj
1862 # b25maWcnCnJlcXVpcmUgJ3FtYWtlJwpyZXF1aXJlICdtYWtlZmlsZScKCm1v
1863 # ZHVsZSBRb25mCiAgY2xhc3MgU2V0dXAKICAgIGF0dHJfcmVhZGVyIDpvcHRp
1864 # b25zLCA6cGFja2FnZXMsIDp0ZXN0cywgOnBrZ19jb25maWdzCiAgICBkZWYg
1865 # aW5pdGlhbGl6ZQogICAgICBAb3B0aW9ucyA9IFtdCiAgICAgIEBwYWNrYWdl
1866 # cyA9IFtdCiAgICAgIEB0ZXN0cyA9IFtdCiAgICAgIEBwa2dfY29uZmlncyA9
1867 # IFtdCiAgICAgIAogICAgICBhZGRfb3B0aW9uKDpuYW1lID0+ICJwcmVmaXgi
1868 # LCA6dHlwZSA9PiAicGF0aCIsIDpkZWZhdWx0ID0+ICIvdXNyL2xvY2FsLyIs
1869 # IDpvcHRpb25hbCA9PiB0cnVlLCA6ZGVzY3JpcHRpb24gPT4gIlNldHMgdGhl
1870 # IGluc3RhbGwgcHJlZml4IikKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX29w
1871 # dGlvbihvcHRpb24pCiAgICAgIGlmIG5vdCBvcHRpb25bOnR5cGVdLm5pbD8K
1872 # ICAgICAgICBvcHRpb25bOnR5cGVdLmRvd25jYXNlIQogICAgICBlbmQKICAg
1873 # ICAgCiAgICAgIEBvcHRpb25zIDw8IG9wdGlvbgogICAgZW5kCiAgICAKICAg
1874 # IGRlZiBmaW5kX3BhY2thZ2Uob3B0aW9ucykKICAgICAgQHBhY2thZ2VzIDw8
1875 # IG9wdGlvbnMKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX3Rlc3Qob3B0aW9u
1876 # KQogICAgICByYWlzZSAiUGxlYXNlIHNldCBhIHZhbGlkIG5hbWUgdG8gdGhl
1877 # IHRlc3QiIGlmIG9wdGlvbls6bmFtZV0udG9fcy5lbXB0eT8KICAgICAgcmFp
1878 # c2UgIlBsZWFzZSBzZXQgYSB2YWxpZCBpZCB0byB0aGUgdGVzdCIgaWYgb3B0
1879 # aW9uWzppZF0udG9fcy5lbXB0eT8KICAgICAgCiAgICAgIEB0ZXN0cyA8PCBv
1880 # cHRpb24KICAgIGVuZAogICAgCiAgICBkZWYgZ2VuZXJhdGVfcGtnY29uZmln
1881 # KG9wdGlvbnMpCiAgICAgIHJhaXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgbmFt
1882 # ZSIgaWYgb3B0aW9uc1s6cGFja2FnZV9uYW1lXS50b19zLmVtcHR5PwogICAg
1883 # ICBAcGtnX2NvbmZpZ3MgPDwgb3B0aW9ucwogICAgZW5kCiAgZW5kCiAgCiAg
1884 # Y2xhc3MgQ29uZmlndXJlCiAgICBkZWYgaW5pdGlhbGl6ZQogICAgICBAYXJn
1885 # dW1lbnRzID0ge30KICAgICAgQGNvbmZpZyA9IENvbmZpZy5uZXcKICAgICAg
1886 # QHFtYWtlID0gUU1ha2UubmV3CiAgICAgIAogICAgICBjZmcgPSBTZXR1cC5u
1887 # ZXcKICAgICAgY29uZmlndXJlKGNmZykKICAgICAgCiAgICAgIEBvcHRpb25z
1888 # ID0gY2ZnLm9wdGlvbnMKICAgICAgQHBhY2thZ2VzID0gY2ZnLnBhY2thZ2Vz
1889 # CiAgICAgIEB0ZXN0cyA9IGNmZy50ZXN0cwogICAgICBAcGtnX2NvbmZpZ3Mg
1890 # PSBjZmcucGtnX2NvbmZpZ3MKICAgICAgQHN0YXR1c0ZpbGUgPSBEaXIuZ2V0
1891 # d2QrIi91cGRhdGUtbWFrZWZpbGUiCiAgICBlbmQKICAgIAogICAgZGVmIGZp
1892 # bmRfcGFja2FnZXMgIyBUT0RPOiBzb3BvcnRhciBpbmZvcm1hY2lvbiBwYXJh
1893 # IGVsIHNpc3RlbWEgb3BlcmF0aXZvIHNvYnJlIGNvbW8gaW5zdGFsYXIgZWwg
1894 # cGFxdWV0ZQogICAgICBAcGFja2FnZXMuZWFjaCB7IHxwYWNrYWdlfAogICAg
1895 # ICAgIHByaW50ICI9PiBTZWFyY2hpbmcgZm9yIHBhY2thZ2U6ICN7cGFja2Fn
1896 # ZVs6bmFtZV19Li4uICAiCiAgICAgICAgcGtnY29uZmlnID0gUGtnQ29uZmln
1897 # Lm5ldyhwYWNrYWdlWzpuYW1lXSkKICAgICAgICBiZWdpbgogICAgICAgICAg
1898 # c2V0dXBfcGtnY29uZmlnKHBrZ2NvbmZpZywgQGFyZ3VtZW50cykKICAgICAg
1899 # ICByZXNjdWUgTm9NZXRob2RFcnJvciA9PiBlCiAgICAgICAgICBpZiBub3Qg
1900 # ZS5tZXNzYWdlID1+IC9zZXR1cF9wa2djb25maWcvCiAgICAgICAgICAgIHB1
1901 # dHMgIkVycm9yOiAje2UubWVzc2FnZX0iCiAgICAgICAgICAgIHB1dHMgZS5i
1902 # YWNrdHJhY2UKICAgICAgICAgICAgZXhpdCAtMQogICAgICAgICAgZW5kCiAg
1903 # ICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgaWYgbm90IHBrZ2NvbmZpZy5m
1904 # aW5kKHBhY2thZ2VbOm5hbWVdKQogICAgICAgICAgcHV0cyAiW05PXSIKICAg
1905 # ICAgICAgIAogICAgICAgICAgb3B0aW9uYWwgPSBwYWNrYWdlWzpvcHRpb25h
1906 # bF0ubmlsPyA/IGZhbHNlIDogcGFja2FnZVs6b3B0aW9uYWxdCiAgICAgICAg
1907 # ICAKICAgICAgICAgIGlmIG9wdGlvbmFsCiAgICAgICAgICAgIHB1dHMgIj0+
1908 # IFRoZSBwYWNrYWdlICcje3BhY2thZ2VbOm5hbWVdfScgaXMgcmVxdWlyZWQu
1909 # IgogICAgICAgICAgICBleGl0IC0xCiAgICAgICAgICBlbmQKICAgICAgICBl
1910 # bHNlCiAgICAgICAgICBwdXRzICJbWUVTXSIKICAgICAgICAgIGdsb2JhbCA9
1911 # IHBhY2thZ2VbOmdsb2JhbF0ubmlsPyA/IGZhbHNlIDogcGFja2FnZVs6Z2xv
1912 # YmFsXQogICAgICAgICAgCiAgICAgICAgICBxb25mcGtnID0gQGNvbmZpZwog
1913 # ICAgICAgICAgCiAgICAgICAgICBpZiBub3QgZ2xvYmFsCiAgICAgICAgICAg
1914 # IHFvbmZwa2cgPSBQYWNrYWdlLm5ldyhwYWNrYWdlWzpuYW1lXSkKICAgICAg
1915 # ICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICAKIyAgICAgICAgICAgcGtn
1916 # Y29uZmlnLnJlcXVpcmVzLmVhY2ggeyB8cmVxfAojICAgICAgICAgICAgIEBj
1917 # b25maWcuYWRkX3FvbmZfcGFja2FnZShyZXEpCiMgICAgICAgICAgIH0KICAg
1918 # ICAgICAgIAogICAgICAgICAgcW9uZnBrZy5hZGRfbGliKHBrZ2NvbmZpZy5s
1919 # aWJzKQogICAgICAgICAgCiAgICAgICAgICBwa2djb25maWcuaW5jbHVkZV9w
1920 # YXRoLmVhY2ggeyB8aW5jcGF0aHwKICAgICAgICAgICAgcW9uZnBrZy5hZGRf
1921 # aW5jbHVkZV9wYXRoKGluY3BhdGgpCiAgICAgICAgICB9CiAgICAgICAgICAK
1922 # ICAgICAgICAgIHBrZ2NvbmZpZy5kZWZpbmVzLmVhY2ggeyB8ZGVmaW5lfAog
1923 # ICAgICAgICAgICBxb25mcGtnLmFkZF9kZWZpbmUoZGVmaW5lKQogICAgICAg
1924 # ICAgfQogICAgICAgICAgCiAgICAgICAgICBpZiBub3QgZ2xvYmFsCiAgICAg
1925 # ICAgICAgIEBjb25maWcuYWRkX3FvbmZfcGFja2FnZShxb25mcGtnKQogICAg
1926 # ICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAgIGVuZAogICAgCiAg
1927 # ICBkZWYgcnVuX3Rlc3RzCiAgICAgIEB0ZXN0cy5lYWNoIHsgfHRlc3RvcHR8
1928 # CiAgICAgICAgcHJpbnQgIj0+IFRlc3RpbmcgI3t0ZXN0b3B0WzpuYW1lXX0u
1929 # Li4gICIKICAgICAgICAKICAgICAgICB0c3QgPSBUZXN0Lm5ldyh0ZXN0b3B0
1930 # KQogICAgICAgIAogICAgICAgIGJlZ2luCiAgICAgICAgICBzZXR1cF90ZXN0
1931 # KHRlc3RvcHRbOmlkXSwgdHN0LCBAYXJndW1lbnRzKQogICAgICAgIHJlc2N1
1932 # ZSBOb01ldGhvZEVycm9yID0+IGUKICAgICAgICAgIGlmIG5vdCBlLm1lc3Nh
1933 # Z2UgPX4gL3NldHVwX3Rlc3QvCiAgICAgICAgICAgIHB1dHMgIkVycm9yOiAj
1934 # e2V9IgogICAgICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICAg
1935 # IGV4aXQgLTEKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICAgIAog
1936 # ICAgICAgIG9wdGlvbmFsID0gdGVzdG9wdFs6b3B0aW9uYWxdLm5pbD8gPyBm
1937 # YWxzZSA6IHRlc3RvcHRbOm9wdGlvbmFsXQogICAgICAgIGlmIHRzdC5ydW4o
1938 # QHFtYWtlKQogICAgICAgICAgZ2xvYmFsID0gdGVzdG9wdFs6Z2xvYmFsXS5u
1939 # aWw/ID8gZmFsc2UgOiB0ZXN0b3B0WzpnbG9iYWxdCiAgICAgICAgICAKICAg
1940 # ICAgICAgIHFvbmZwa2cgPSBAY29uZmlnCiAgICAgICAgICAKICAgICAgICAg
1941 # IGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAgcW9uZnBrZyA9IFBhY2thZ2Uu
1942 # bmV3KHRzdC5pZCkKICAgICAgICAgIGVuZAogICAgICAgICAgCiAgICAgICAg
1943 # ICB0c3QuaW5jbHVkZV9wYXRoLmVhY2ggeyB8aW5jcGF0aHwKICAgICAgICAg
1944 # ICAgcW9uZnBrZy5hZGRfaW5jbHVkZV9wYXRoKGluY3BhdGgpCiAgICAgICAg
1945 # ICB9CiAgICAgICAgICAKICAgICAgICAgIHRzdC5kZWZpbmVzLmVhY2ggeyB8
1946 # ZGVmaW5lfAogICAgICAgICAgICBxb25mcGtnLmFkZF9kZWZpbmUoZGVmaW5l
1947 # KQogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICBxb25mcGtnLmFk
1948 # ZF9saWIodHN0LmxpYnMudG9fcykKICAgICAgICAgIAogICAgICAgICAgaWYg
1949 # bm90IGdsb2JhbAogICAgICAgICAgICBAY29uZmlnLmFkZF9xb25mX3BhY2th
1950 # Z2UocW9uZnBrZykKICAgICAgICAgIGVuZAogICAgICAgICAgcHV0cyAiW09L
1951 # XSIKICAgICAgICBlbHNlCiAgICAgICAgICBwdXRzICJbRkFJTEVEXSIKICAg
1952 # ICAgICAgIAogICAgICAgICAgaWYgbm90IG9wdGlvbmFsCiAgICAgICAgICAg
1953 # IHB1dHMgIj0+ICN7dGVzdG9wdFs6bmFtZV19IGlzIHJlcXVpcmVkIgogICAg
1954 # ICAgICAgICBleGl0IC0xCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAg
1955 # ICAgfQogICAgZW5kCiAgICAKICAgIGRlZiBnZW5lcmF0ZV9tYWtlZmlsZXMK
1956 # ICAgICAgcHV0cyAiPT4gQ3JlYXRpbmcgbWFrZWZpbGVzLi4uIgogICAgICBA
1957 # cW1ha2UucnVuKCIiLCB0cnVlKQogICAgICAKICAgICAgcHV0cyAiPT4gVXBk
1958 # YXRpbmcgbWFrZWZpbGVzLi4uIgogICAgICAKICAgICAgQG1ha2VmaWxlcyA9
1959 # IE1ha2VmaWxlOjpmaW5kX21ha2VmaWxlcyhEaXIuZ2V0d2QpCiAgICAgIEBt
1960 # YWtlZmlsZXMuZWFjaCB7IHxtYWtlZmlsZXwKICAgICAgICAgIE1ha2VmaWxl
1961 # OjpvdmVycmlkZShtYWtlZmlsZSwgRmlsZS5leHBhbmRfcGF0aChAYXJndW1l
1962 # bnRzWyJwcmVmaXgiXS50b19zKSwgQHN0YXR1c0ZpbGUpCiAgICAgIH0KICAg
1963 # ICAgCiAgICAgIEZpbGUub3BlbihAc3RhdHVzRmlsZSwgInciICkgeyB8Zmls
1964 # ZXwKICAgICAgICBmaWxlIDw8ICVACiN7RmlsZS5yZWFkKG5ld2xvY2F0aW9u
1965 # KCJtYWtlZmlsZS5yYiIpKX0KUW9uZjo6TWFrZWZpbGU6Om92ZXJyaWRlKCBB
1966 # UkdWWzBdLnRvX3MsICIje0Bhcmd1bWVudHNbInByZWZpeCJdfSIsICIje0Bz
1967 # dGF0dXNGaWxlfSIgKQpACiAgICAgIH0KICAgIGVuZAogICAgCiAgICBkZWYg
1968 # Z2V0X2FyZ3MoYXJndikKICAgICAgb3B0YyA9IDAKICAgICAgbGFzdF9vcHQg
1969 # PSAiIgogICAgICAKICAgICAgQG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAg
1970 # ICAgICAgZ2l2ZW5fb3B0aW9uID0gbmlsCiAgICAgICAgCiAgICAgICAgYXJn
1971 # di5lYWNoIHsgfGFyZ3wKICAgICAgICAgIGFyZy5zdHJpcCEKICAgICAgICAg
1972 # IGdpdmVuID0gZmFsc2UKICAgICAgICAgIAogICAgICAgICAgY2FzZSBvcHRp
1973 # b25bOnR5cGVdLnRvX3MKICAgICAgICAgICAgd2hlbiAic3RyaW5nIgogICAg
1974 # ICAgICAgICAgIGlmIGFyZyA9fiAvLS0je29wdGlvbls6bmFtZV19PShbXFdc
1975 # d10qKS8KICAgICAgICAgICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAg
1976 # ICAgICAgZ2l2ZW5fb3B0aW9uID0gJDEKICAgICAgICAgICAgICBlbmQKICAg
1977 # ICAgICAgICAgd2hlbiAicGF0aCIKICAgICAgICAgICAgICBpZiBhcmcgPX4g
1978 # Ly0tI3tvcHRpb25bOm5hbWVdfT0oW1xXXHddKikvCiAgICAgICAgICAgICAg
1979 # ICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9
1980 # IEZpbGUuZXhwYW5kX3BhdGgoJDEpCiAgICAgICAgICAgICAgZW5kCiAgICAg
1981 # ICAgICAgIHdoZW4gImJvb2wiCiAgICAgICAgICAgICAgaWYgYXJnID1+IC8t
1982 # LXVzZS0je29wdGlvbls6bmFtZV19PShcdyspLwogICAgICAgICAgICAgICAg
1983 # Z2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBnaXZlbl9vcHRpb24gPSAk
1984 # MQogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbHNlCiAgICAgICAg
1985 # ICAgICAgaWYgYXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX0vCiAgICAgICAg
1986 # ICAgICAgICBnaXZlbl9vcHRpb24gPSAieWVzIgogICAgICAgICAgICAgICAg
1987 # Z2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQK
1988 # ICAgICAgICAgIAogICAgICAgICAgaWYgZ2l2ZW4KICAgICAgICAgICAgYXJn
1989 # di5kZWxldGUoYXJnKQogICAgICAgICAgZW5kCiAgICAgICAgfQogICAgICAg
1990 # IAogICAgICAgIG9wdGlvbls6dmFsdWVdID0gZ2l2ZW5fb3B0aW9uCiAgICAg
1991 # IH0KICAgICAgCiAgICAgIGJhY2tlbmRfa2V5ID0gInRrIgogICAgICBhcmd2
1992 # LmVhY2ggeyB8dW5rbm93bnwKICAgICAgICB1bmtub3duLnN0cmlwIQogICAg
1993 # ICAgIGlmIHVua25vd24gPX4gLy0td2l0aC1jb25maWctYmFja2VuZD0oXHcr
1994 # KS8KICAgICAgICAgIGJhY2tlbmRfa2V5ID0gJDEKICAgICAgICBlbHNpZiB1
1995 # bmtub3duID1+IC8tLWhlbHAvCiAgICAgICAgICB1c2FnZQogICAgICAgICAg
1996 # ZXhpdCAwCiAgICAgICAgZW5kCiAgICAgIH0KICAgICAgCiAgICAgIGJhY2tl
1997 # bmQgPSBCYWNrZW5kRmFjdG9yeS5jcmVhdGUoYmFja2VuZF9rZXkpCiAgICAg
1998 # IGlmIGJhY2tlbmQubmlsPwogICAgICAgIHB1dHMgIj0+IEludmFsaWQgYmFj
1999 # a2VuZCIKICAgICAgICB1c2FnZSgpCiAgICAgICAgZXhpdCAtMQogICAgICBl
2000 # bHNpZiBub3QgYmFja2VuZC5wYXJzZShAb3B0aW9ucykKICAgICAgICB1c2Fn
2001 # ZSgpCiAgICAgICAgZXhpdCAtMQogICAgICBlbmQKICAgICAgCiAgICAgIEBv
2002 # cHRpb25zLmVhY2ggeyB8b3B0aW9ufAogICAgICAgIHZhbHVlID0gb3B0aW9u
2003 # Wzp2YWx1ZV0ubmlsPyA/IG9wdGlvbls6ZGVmYXVsdF0udG9fcyA6IG9wdGlv
2004 # bls6dmFsdWVdCiAgICAgICAgQGFyZ3VtZW50c1tvcHRpb25bOm5hbWVdXSA9
2005 # IHZhbHVlCiAgICAgIH0KICAgICAgCiAgICBlbmQKICAgIAogICAgZGVmIHNh
2006 # dmUocGF0aCkKICAgICAgYmVnaW4KICAgICAgICBzZXR1cF9jb25maWcoQGNv
2007 # bmZpZywgQGFyZ3VtZW50cykKICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3Ig
2008 # PT4gZQogICAgICAgIGlmIG5vdCBlLm1lc3NhZ2UgPX4gL3NldHVwX2NvbmZp
2009 # Zy8KICAgICAgICAgIHB1dHMgIkVycm9yOiAje2V9IgogICAgICAgICAgcHV0
2010 # cyBlLmJhY2t0cmFjZQogICAgICAgICAgZXhpdCAtMQogICAgICAgIGVuZAog
2011 # ICAgICBlbmQKICAgICAgCiAgICAgIEBjb25maWcuYWRkX2RlZmluZSglQF9f
2012 # UFJFRklYX189J1xcXFwiJyN7RmlsZS5leHBhbmRfcGF0aCBAYXJndW1lbnRz
2013 # WyJwcmVmaXgiXX0nXFxcXCInQCkKICAgICAgCiAgICAgIHNhdmVfcGtnY29u
2014 # ZmlnCiAgICAgIEBjb25maWcuc2F2ZShwYXRoKQogICAgZW5kCiAgICAKICAg
2015 # IGRlZiBzYXZlX3BrZ2NvbmZpZwogICAgICBpZiBub3QgQHBrZ19jb25maWdz
2016 # LmVtcHR5PwogICAgICAgIEBwa2dfY29uZmlncy5lYWNoIHsgfHBrZ19jb25m
2017 # aWd8CiAgICAgICAgICBGaWxlLm9wZW4oIHBrZ19jb25maWdbOnBhY2thZ2Vf
2018 # bmFtZV0rIi5wYyIsICJ3IikgZG8gfGZpbGV8CiAgICAgICAgICAgIGZpbGUg
2019 # PDwgInByZWZpeD0iIDw8IEBhcmd1bWVudHNbInByZWZpeCJdIDw8ICJcbiIK
2020 # ICAgICAgICAgICAgZmlsZSA8PCAiZXhlY19wcmVmaXg9JHtwcmVmaXh9IiA8
2021 # PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgImxpYmRpcj0je3BrZ19jb25m
2022 # aWdbOmxpYmRpcl0ubmlsPyA/ICIke3ByZWZpeH0vbGliIiA6IHBrZ19jb25m
2023 # aWdbOmxpYmRpcl0gfSIgPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJp
2024 # bmNsdWRlZGlyPSN7cGtnX2NvbmZpZ1s6aW5jbHVkZWRpcl0ubmlsPyA/ICIk
2025 # e3ByZWZpeH0vaW5jbHVkZSIgOiBwa2dfY29uZmlnWzppbmNsdWRlZGlyXSB9
2026 # IiA8PCAiXG5cblxuIgogICAgICAgICAgICAKICAgICAgICAgICAgZmlsZSA8
2027 # PCAiTmFtZTogIiA8PCBwa2dfY29uZmlnWzpwYWNrYWdlX25hbWVdIDw8ICJc
2028 # biIKICAgICAgICAgICAgZmlsZSA8PCAiRGVzY3JpcHRpb246ICIgPDwgcGtn
2029 # X2NvbmZpZ1s6ZGVzY3JpcHRpb25dIDw8ICJcbiIKICAgICAgICAgICAgZmls
2030 # ZSA8PCAiUmVxdWlyZXM6ICIgPDwgcGtnX2NvbmZpZ1s6cmVxdWlyZXNdLmpv
2031 # aW4oIiAiKSA8PCAiXG4iIGlmIHBrZ19jb25maWdbOnJlcXVpcmVzXS5jbGFz
2032 # cyA9PSBBcnJheQogICAgICAgICAgICBmaWxlIDw8ICJWZXJzaW9uOiAiIDw8
2033 # IHBrZ19jb25maWdbOnZlcnNpb25dIDw8ICJcbiIKICAgICAgICAgICAgCiAg
2034 # ICAgICAgICAgIGZpbGUgPDwgIkxpYnM6ICIgPDwgcGtnX2NvbmZpZ1s6bGli
2035 # c10gPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJDZmxhZ3M6ICIgPDwg
2036 # cGtnX2NvbmZpZ1s6Y2ZsYWdzXSA8PCAiXG4iCiAgICAgICAgICBlbmQKICAg
2037 # ICAgICB9CiAgICAgIGVuZAogICAgZW5kCiAgICAKICAgIGRlZiB1c2FnZQog
2038 # ICAgICBwdXRzICJPcHRpb25zOiIKICAgICAgQG9wdGlvbnMuZWFjaCB7IHxv
2039 # cHRpb258CiAgICAgICAgY2FzZSBvcHRpb25bOnR5cGVdCiAgICAgICAgICB3
2040 # aGVuICJzdHJpbmciCiAgICAgICAgICAgIHByaW50ICJcbiAgLS0je29wdGlv
2041 # bls6bmFtZV19PVt2YWx1ZV0iCiAgICAgICAgICAgIHByaW50ICJcdFx0Li4u
2042 # Li4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0gIgogICAgICAgICAgICAKICAg
2043 # ICAgICAgICAgaWYgbm90IG9wdGlvbls6ZGVmYXVsdF0ubmlsPwogICAgICAg
2044 # ICAgICAgIHByaW50ICJbZGVmYXVsdD0je29wdGlvbls6ZGVmYXVsdF19XSIK
2045 # ICAgICAgICAgICAgZW5kCiAgICAgICAgICB3aGVuICJwYXRoIgogICAgICAg
2046 # ICAgICBwcmludCAiXG4gIC0tI3tvcHRpb25bOm5hbWVdfT1bL2EvcGF0aF0i
2047 # CiAgICAgICAgICAgIHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRlc2Ny
2048 # aXB0aW9uXX0gIgogICAgICAgICAgICAKICAgICAgICAgICAgaWYgbm90IG9w
2049 # dGlvbls6ZGVmYXVsdF0ubmlsPwogICAgICAgICAgICAgIHByaW50ICJbZGVm
2050 # YXVsdD0je29wdGlvbls6ZGVmYXVsdF19XSIKICAgICAgICAgICAgZW5kCiAg
2051 # ICAgICAgICB3aGVuICJib29sIgogICAgICAgICAgICBwcmludCAiXG4gIC0t
2052 # dXNlLSN7b3B0aW9uWzpuYW1lXX09W3llc3xub10iCiAgICAgICAgICAgIGlm
2053 # IG5vdCBvcHRpb25bOmRlZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBkZWZh
2054 # dWx0ID0gb3B0aW9uWzpkZWZhdWx0XQogICAgICAgICAgICAgIGlmIGRlZmF1
2055 # bHQgPT0gdHJ1ZSBvciBkZWZhdWx0ID09ICJ5ZXMiIG9yIGRlZmF1bHQgPT0g
2056 # InRydWUiCiAgICAgICAgICAgICAgICBkZWZhdWx0ID0gInllcyIKICAgICAg
2057 # ICAgICAgICBlbHNpZiBkZWZhdWx0ID09IGZhbHNlIG9yIGRlZmF1bHQgPT0g
2058 # Im5vIiBvciBkZWZhdWx0ID09ICJmYWxzZSIKICAgICAgICAgICAgICAgIGRl
2059 # ZmF1bHQgPSAibm8iCiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
2060 # ICAgZGVmYXVsdCA9ICJubyIKICAgICAgICAgICAgICBlbmQKICAgICAgICAg
2061 # ICAgICAKICAgICAgICAgICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0aW9u
2062 # WzpkZXNjcmlwdGlvbl19IFtkZWZhdWx0PSN7ZGVmYXVsdH1dIgogICAgICAg
2063 # ICAgICBlbmQKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgcHJpbnQgIlxu
2064 # ICAtLSN7b3B0aW9uWzpuYW1lXX0iCiAgICAgICAgICAgIHByaW50ICJcdFx0
2065 # Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0iCiAgICAgICAgZW5kCiAg
2066 # ICAgIH0KICAgICAgCiAgICAgIHByaW50ICJcbiAgLS13aXRoLWNvbmZpZy1i
2067 # YWNrZW5kPVtwbGFpbnx0a10iCiAgICAgIHByaW50ICJcdFx0Li4uLi4uU2V0
2068 # cyB0aGUgYmFja2VuZCB0byBjb25maWd1cmUgdGhlIGFwcGxpY2F0aW9uIFtk
2069 # ZWZhdWx0PXRrXSIKICAgICAgcHJpbnQgIlxuICAtLWhlbHAiCiAgICAgIHBy
2070 # aW50ICJcdFx0Li4uLi4uU2hvd3MgdGhpcyBtZXNzYWdlIgogICAgICAKICAg
2071 # ICAgcHV0cyAiIgogICAgZW5kCiAgZW5kCmVuZAoKYmVnaW4KICBsb2FkICJz
2072 # ZXR1cC5yYiIKcmVzY3VlIExvYWRFcnJvcgogIEZpbGUub3BlbihvbGRsb2Nh
2073 # dGlvbigic2V0dXAucmIiKSwgInciKSBkbyB8ZmlsZXwKICAgIGZpbGUgPDwg
2074 # RmlsZS5yZWFkKCJzZXR1cF9yYi50cGwiKSA8PCAiXG4iCiAgZW5kCiAgcHV0
2075 # cyAiPT4gQSB0ZW1wbGF0ZSBmaWxlIHdhcyBnZW5lcmF0ZWQgaW4gc2V0dXAu
2076 # cmIsIHBsZWFzZSBlZGl0IGl0IGFuZCByZXJ1biB0aGUgY29uZmlndXJlIHNj
2077 # cmlwdC4iCiAgZXhpdCAtMQplbmQKCmlmIF9fRklMRV9fID09ICQwCiAgcW9u
2078 # ZiA9IFFvbmY6OkNvbmZpZ3VyZS5uZXcKICBxb25mLmdldF9hcmdzKEFSR1Yp
2079 # CiAgcW9uZi5maW5kX3BhY2thZ2VzCiAgcW9uZi5ydW5fdGVzdHMKICAKICBx
2080 # b25mLnNhdmUoImNvbmZpZy5wcmkiKQogIAogIHFvbmYuZ2VuZXJhdGVfbWFr
2081 # ZWZpbGVzCmVuZAoKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2082 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2083 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2084 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2085 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2087 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2088 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2089 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2090 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2091 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2092 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2093 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2094 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2095 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2096 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2097 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2098 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2099 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2100 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2101 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2102 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2103 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2104 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2105 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2106 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2107 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2108 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2109 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2110 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2111 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2112 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2113 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2114 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2115 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2116 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2117 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2118 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2119 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2120 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2121 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2122 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2123 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2124 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2125 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2126 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2127 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2128 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2129 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2130 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2131 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2132 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2133 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2134 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2135 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2136 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2137 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2138 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2139 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2140 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2141 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2142 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2143 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2144 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2145 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2146 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2147 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2148 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2149 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2150 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2151 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2152 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2153 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2154 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2155 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2156 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2157 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2158 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2159 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2160 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2161 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2162 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2163 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2164 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2165 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2166 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2167 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2168 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2169 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2170 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2171 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2172 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2173 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2174 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2175 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2176 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2177 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2178 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2179 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2180 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2181 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2182 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2183 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2184 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2185 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2186 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2187 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2188 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2189 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2190 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2191 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2192 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2193 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2194 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2195 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2196 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2197 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2198 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2199 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2200 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2201 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2202 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2203 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2204 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2205 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2206 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2207 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2208 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2209 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2210 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2211 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2212 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2213 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2214 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2215 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2216 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2217 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2218 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2219 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2220 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2221 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2222 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2223 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2224 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2225 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2226 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2227 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2228 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2229 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2230 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2231 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2232 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2233 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2234 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2235 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==