From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 02 00:21:06 2025 Received: (at submit) by debbugs.gnu.org; 2 Sep 2025 04:21:06 +0000 Received: from localhost ([127.0.0.1]:59211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1utIW1-0001A3-7l for submit@debbugs.gnu.org; Tue, 02 Sep 2025 00:21:06 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38136) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1utCWD-0000ZP-FX for submit@debbugs.gnu.org; Mon, 01 Sep 2025 17:56:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1utCW7-000265-VR for bug-guile@gnu.org; Mon, 01 Sep 2025 17:56:47 -0400 Received: from mail-qk1-x72d.google.com ([2607:f8b0:4864:20::72d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1utCW5-0003gX-UG for bug-guile@gnu.org; Mon, 01 Sep 2025 17:56:47 -0400 Received: by mail-qk1-x72d.google.com with SMTP id af79cd13be357-7e87061a6d5so477597385a.2 for ; Mon, 01 Sep 2025 14:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756763804; x=1757368604; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ZOyYPoWwFAmYP3KaBnqcH2DiapMvDbHJ5B7fdx1QMCw=; b=GvAjbRzjh7d1GbQCUwORuNRP2pkkKS2QFwi5eGyTjOS6gLv3Yp33w1Ld24ppgOLBYM JvfmEGhbYExhNTQgTyZpgoBO6B2ZTHOZOsO/81r6xyRn30hdj+GngTMiI28qIfGZU/d5 1hNYs4liYc4xfvwheIQ8NmeKrrU265hR62R4a9TbTunclm8N/nrE5C1WW8+Pe99NTwvb j/ddC2QzhU3HkIU3RHSfxkS9Var8/LJCZqQrW9Kj7+rMN3Do+5RxLXMc/RcBWM7Dvbm/ l5+bt7xn9MbTpemwBMZVmW1HrFS0QzMuuupGAYQ6tsPl0aAhUIZhJlDQE0ct9inXIVRn L/WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756763804; x=1757368604; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ZOyYPoWwFAmYP3KaBnqcH2DiapMvDbHJ5B7fdx1QMCw=; b=bMS9/sc4/PmjcwC+0Mn5Rsod/oRODpW5XR3LtvYljCFZnR7sAC9lLpxS1WnI7GU4ep ZyUZwphEZUXbhPUs8pH2OAR5XF5/pWYFwfgCrdC0LNbmiNr9bCrGLcKH6AtJcmBAMBnQ Mpohi1hhwNIOedh4LL8i+BU/avoPRZduVMHz3HHWge2EpmW0wzdjvkub3DEJPLbLrgqd Nnz0WCcWpVG4IH5ag9jFaNhX59ldsBhhpvWpAPwMENR6GjEvoEwrnJbOfhVrZP3Zc1Ag I3G87G2S67BdOdxoqPMY7FYSrDNztXM19sUfB2G9rUWayugwI5kZXZg6iHl8xJne/eIs 4Eug== X-Gm-Message-State: AOJu0Yx3w8wVtnnyy6qHw0ZV9X92VJ+3iaMM/JyLu2CN5eiY4gEGiIfq 5f1Gcp9sXdZOaKjIEbczTSu4RdhOjKoYY0Pj9Q4o9Pssj2KayK6KnBsBP/va8anrJLp0q5UwxUn tWTKnkT5X+cSpiziZQ3UR5bSc63asZnJTVZTT X-Gm-Gg: ASbGncs08yXg2w7tqoPZhzV6Vqk8iWf4pAqJrh4avSrPsF2nVjC6PGt5DWJg5j1UcZ6 zgyQrysC0zUmdWqjW9c4TD4tw0fPUVZuOFl5xo9xTaSpnOxSKwg+eYeHlFJlnn8rMAibb0BB4C5 VL4DIUUmCFGZJCaOS5F7W3LYy1//vpS6Rbn0KGy6Lo5TZOnyMuOuP5NZLizZg5wKH3JGnpZ4rv7 hHT1K5vZsJ8E0ToPWXsYApZg16yc/kSWd/KiTJ3c+N5QSAsaCpvbUiQqalT X-Google-Smtp-Source: AGHT+IFNESa7HHnVYbgU5vVvQYNZKdeq6lJ1kOh0WSe4CqdjzqyBCUmOeA5dw5XjYwhsoB7SFt9Nij/A1RGZpJWtup0= X-Received: by 2002:a05:620a:29d0:b0:7f9:44b0:8072 with SMTP id af79cd13be357-7ff26eaae2amr990234885a.4.1756763804111; Mon, 01 Sep 2025 14:56:44 -0700 (PDT) MIME-Version: 1.0 From: afjytggm afjytggm Date: Mon, 1 Sep 2025 17:56:32 -0400 X-Gm-Features: Ac12FXyLuPqMWWQxQeDZme9xwfYD0C9mH7h06hljsUWc2vdW2x6RTtR7k5mFWVo Message-ID: Subject: wrong irritant for 'wrong number of arguments' exception inside modules To: bug-guile@gnu.org Content-Type: multipart/mixed; boundary="0000000000008010ac063dc472e5" Received-SPF: pass client-ip=2607:f8b0:4864:20::72d; envelope-from=afjytggm@gmail.com; helo=mail-qk1-x72d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 02 Sep 2025 00:21:04 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --0000000000008010ac063dc472e5 Content-Type: multipart/alternative; boundary="0000000000008010ab063dc472e3" --0000000000008010ab063dc472e3 Content-Type: text/plain; charset="UTF-8" Hey, so first off, I guess just for what my expected behavior is here, here's an example of calling a function with the wrong number of arguments under an exception handler. And you can see that the irritant that it gives back points to the function where you called the wrong number of arguments, right? (use-modules (rnrs conditions)) (define (func s) 1) (define (main) (func)) (define (start-main) (with-exception-handler (lambda (c . more) (display "Caught an exception!\n") (when (message-condition? c) (display c)) (newline)) (lambda () (main)))) (start-main) (ins)moke@palsy:~/projects/2025/6-guile/c-except/just-except$ guile -q except.scm Caught an exception! #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong number of arguments to ~A"> #<&irritants irritants: (#)> #<&exception-with-kind-and-args kind: wrong-number-of-args args: (#f "Wrong number of arguments to ~A" (#) #f)>)> ... then the backtrace but in particular: #<&irritants irritants: (#)> So here I do the same thing except I do it inside of a module. (define-module (except) #:export ( start-main )) (use-modules (rnrs conditions)) (define (func s) 1) (define (main) (func) (display "test\n")) (define (start-main) (with-exception-handler (lambda (c . more) (display "Caught an exception!\n") (when (message-condition? c) (display c)) (newline)) (lambda () (main)))) with a separate runner.scm: (set! %load-path (cons "." %load-path)) (use-modules (except)) (start-main) now: in 3.0.8: (ins)moke@palsy:~/projects/2025/6-guile/c-except$ guile -q runner.scm ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/moke/projects/2025/6-guile/c-except/runner.scm ;;; WARNING: compilation of /home/moke/projects/2025/6-guile/c-except/runner.scm failed: ;;; no code for module (except) ;;; note: source file ./except.scm ;;; newer than compiled /home/moke/.cache/guile/ccache/3.0-LE-8-4.6/home/moke/projects/2025/6-guile/c-except/except.scm.go ;;; compiling ./except.scm ;;; except.scm:12:2: warning: wrong number of arguments to `func' ;;; compiled /home/moke/.cache/guile/ccache/3.0-LE-8-4.6/home/moke/projects/2025/6-guile/c-except/except.scm.go Caught an exception! #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong number of arguments to ~A"> #<&irritants irritants: ((Segmentation fault the segfault goes away in the github 3.0.10.215-020d8, but the irritant is still not the correct thing. Caught an exception! #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong number of arguments to ~A"> #<&irritants irritants: (#)> #<&exception-with-kind-and-args kind: wrong-number-of-args args: (#f "Wrong number of arguments to ~A" (#) #f)>)> it now points to the top of the lambda of the exception handler: =============================================== (display "Caught an exception!\n") (when (message-condition? c) (display c)) (newline)) (lambda () ;; <==== points right here (main)))) =============================================== you can set it to the return of whatever is above the line like this: (define-module (except) #:export ( start-main )) (use-modules (rnrs conditions)) (define (func s) 1) (define (main) (open "test" (logior O_CREAT O_WRONLY)) ;; new stuff added here <==== (func) (display "test\n")) (define (start-main) (with-exception-handler (lambda (c . more) (display "Caught an exception!\n") (when (message-condition? c) (display c)) (newline)) (lambda () (main)))) here i just added an open above the bad func call, we can now see its return value is the irritant: Caught an exception! #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong number of arguments to ~A"> #<&irritants irritants: (#)> #<&exception-with-kind-and-args kind: wrong-number-of-args args: (#f "Wrong number of arguments to ~A" (#) #f)>)> same behavior in both versions, debian and github head Here's some system details: (ins)moke@palsy:~/projects/2025/guile/build-aux$ ./config.guess x86_64-pc-linux-gnu I'm using debian bookworm. Here's the guile in it: (ins)moke@palsy:~/projects/2025/6-guile/c-except$ dpkg -l | grep guile ii guile-3.0 3.0.8-2 amd64 GNU extension language and Scheme interpreter ii guile-3.0-dev 3.0.8-2 amd64 Development files for Guile 3.0 ii guile-3.0-doc 3.0.8-2 all Documentation for Guile 3.0 ii guile-3.0-libs:amd64 3.0.8-2 amd64 Core Guile libraries Hope that's enough info. I've attached a copy of the segfaulting version for 3.0.8 in the tar. --0000000000008010ab063dc472e3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
=C2=A0Hey, so first off, I guess just for what my expected= behavior is here, here's an example of calling a function with the wro= ng number of arguments under an exception handler. And you can see that the= irritant that it gives back points to the function where you called the wr= ong number of arguments, right?

(use-modules (rnrs conditions))
<= br>(define (func s)
=C2=A0 1)

(define (main)
=C2=A0 (func))
(define (start-main)
=C2=A0 (with-exception-handler
=C2=A0 =C2= =A0 (lambda (c . more)
=C2=A0 =C2=A0 =C2=A0 (display "Caught an exc= eption!\n")
=C2=A0 =C2=A0 =C2=A0 (when (message-condition? c)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 (display c))
=C2=A0 =C2=A0 =C2=A0 (newline))=
=C2=A0 =C2=A0 (lambda ()
=C2=A0 =C2=A0 =C2=A0 (main))))

(star= t-main)

(ins)moke@palsy:~/projects/2025/6-guile/c-except/just-except= $ guile -q except.scm
Caught an exception!
#<&compound-excepti= on components: (#<&assertion-failure> #<&origin origin: #f= > #<&message message: "Wrong number of arguments to ~A"= > #<&irritants irritants: (#<procedure func (s)>)> #<= &exception-with-kind-and-args kind: wrong-number-of-args args: (#f &quo= t;Wrong number of arguments to ~A" (#<procedure func (s)>) #f)&g= t;)>
... then the backtrace

but in particular:
#<&i= rritants irritants: (#<procedure func (s)>)>

=C2=A0So here= I do the same thing except I do it inside of a module.


(define-= module (except)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#= :export (
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0start-main
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0))
(use-modul= es (rnrs conditions))

(define (func s)
=C2=A0 1)

(define (= main)
=C2=A0 =C2=A0 (func)
=C2=A0 =C2=A0 (display "test\n")= )

(define (start-main)
=C2=A0 (with-exception-handler
=C2=A0 = =C2=A0 (lambda (c . more)
=C2=A0 =C2=A0 =C2=A0 (display "Caught an = exception!\n")
=C2=A0 =C2=A0 =C2=A0 (when (message-condition? c)=C2=A0 =C2=A0 =C2=A0 =C2=A0 (display c))

=C2=A0 =C2=A0 =C2=A0 (newl= ine))
=C2=A0 =C2=A0 (lambda ()
=C2=A0 =C2=A0 =C2=A0 (main))))

= with a separate runner.scm:
(set! %load-path (cons "." %load-p= ath))
(use-modules (except))
(start-main)

now:
in 3.0.8:(ins)moke@palsy:~/projects/2025/6-guile/c-except$ guile -q runner.scm
;= ;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=3D0
;;; =C2= =A0 =C2=A0 =C2=A0 or pass the --no-auto-compile argument to disable.
;;;= compiling /home/moke/projects/2025/6-guile/c-except/runner.scm
;;; WARN= ING: compilation of /home/moke/projects/2025/6-guile/c-except/runner.scm fa= iled:
;;; no code for module (except)
;;; note: source file ./except.= scm
;;; =C2=A0 =C2=A0 =C2=A0 newer than compiled /home/moke/.cache/guile= /ccache/3.0-LE-8-4.6/home/moke/projects/2025/6-guile/c-except/except.scm.go=
;;; compiling ./except.scm
;;; except.scm:12:2: warning: wrong numbe= r of arguments to `func'
;;; compiled /home/moke/.cache/guile/ccache= /3.0-LE-8-4.6/home/moke/projects/2025/6-guile/c-except/except.scm.go
Cau= ght an exception!
#<&compound-exception components: (#<&as= sertion-failure> #<&origin origin: #f> #<&message messa= ge: "Wrong number of arguments to ~A"> #<&irritants irr= itants: ((Segmentation fault

the segfault goes away in the github 3.= 0.10.215-020d8, but the irritant is
still not the correct thing.
Caug= ht an exception!
#<&compound-exception components: (#<&ass= ertion-failure> #<&origin origin: #f> #<&message messag= e: "Wrong number of arguments to ~A"> #<&irritants irri= tants: (#<procedure 7f7b182ae3e0 at except.scm:22:4 ()>)> #<&am= p;exception-with-kind-and-args kind: wrong-number-of-args args: (#f "W= rong number of arguments to ~A" (#<procedure 7f7b182ae3e0 at except= .scm:22:4 ()>) #f)>)>

it now points to the top of the lambd= a of the exception handler:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
=C2=A0 =C2=A0 =C2=A0 (display "Caught an e= xception!\n")
=C2=A0 =C2=A0 =C2=A0 (when (message-condition? c)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 (display c))

=C2=A0 =C2=A0 =C2=A0 (newli= ne))
=C2=A0 =C2=A0 (lambda () =C2=A0;; =C2=A0 <=3D=3D=3D=3D points ri= ght here
=C2=A0 =C2=A0 =C2=A0 (main))))
=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D



you can set it to th= e return of whatever is above the line like this:
(define-module (except= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#:export (
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0start-main
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0))
(use-modules (rnrs co= nditions))

(define (func s)
=C2=A0 1)

(define (main)
= =C2=A0 (open "test" (logior O_CREAT O_WRONLY)) =C2=A0 =C2=A0 =C2= =A0 ;; new stuff added here <=3D=3D=3D=3D
=C2=A0 (func)
=C2=A0 (di= splay "test\n"))

(define (start-main)
=C2=A0 (with-exce= ption-handler
=C2=A0 =C2=A0 (lambda (c . more)
=C2=A0 =C2=A0 =C2=A0 (= display "Caught an exception!\n")
=C2=A0 =C2=A0 =C2=A0 (when (= message-condition? c)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (display c))

= =C2=A0 =C2=A0 =C2=A0 (newline))
=C2=A0 =C2=A0 (lambda ()
=C2=A0 =C2= =A0 =C2=A0 (main))))

here i just added an open above the bad func ca= ll, we can now see its return value
is the irritant:
Caught an except= ion!
#<&compound-exception components: (#<&assertion-failu= re> #<&origin origin: #f> #<&message message: "Wro= ng number of arguments to ~A"> #<&irritants irritants: (#<= ;output: test 9>)> #<&exception-with-kind-and-args kind: wrong= -number-of-args args: (#f "Wrong number of arguments to ~A" (#<= ;output: test 9>) #f)>)>

same behavior in both versions, de= bian and github head

Here's some system details:

(ins)mok= e@palsy:~/projects/2025/guile/build-aux$ ./config.guess
x86_64-pc-linux-= gnu
I'm using debian bookworm. Here's the guile in it:
(ins)m= oke@palsy:~/projects/2025/6-guile/c-except$ dpkg -l | grep guile
ii =C2= =A0guile-3.0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 3.0.8-2 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 amd64= =C2=A0 =C2=A0 =C2=A0 =C2=A0GNU extension language and Scheme interpreterii =C2=A0guile-3.0-dev =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 3.0.8-2 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 amd64= =C2=A0 =C2=A0 =C2=A0 =C2=A0Development files for Guile 3.0
ii =C2=A0gui= le-3.0-doc =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 3.0.8-2 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 all =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0Documentation for Guile 3.0
ii =C2=A0guile-3.0-libs:= amd64 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A03.0.8= -2 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 amd64 =C2=A0 =C2=A0 =C2=A0 =C2=A0Core Guile lib= raries


Hope that's enough info. I've attached a copy of = the segfaulting version for 3.0.8 in the tar.
--0000000000008010ab063dc472e3-- --0000000000008010ac063dc472e5 Content-Type: application/gzip; name="exceptmodules.tar.gz" Content-Disposition: attachment; filename="exceptmodules.tar.gz" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mf1np6lj0 H4sIAAAAAAAAA+3UUWvbMBAAYD/nV1w9BvKDg13sDNqHUUrfxgplMAaDoVqXWMyWjCQv3b+fZCd2 0tKODbowuO9FsSRLJzl3plcKzdJWbfRqMm9VFKHN35XZYTvI8yLKy6wsi2xVnpeR7yiLVQTZ64U0 663jBiBq9Xd8ad7vxv9TzKI7g7eN5iLtuKuBVVpZiJfxQWeSLFhvMW216Bu0wPChws6F7nB7Lm25 VMni1Gchf278kifN/9w/7fLfV4KsGPL/PKP8/xeYwLVU+9SeMnsBx95c4EOnjQP2eGQ2l4Ln5zyp JEYZC77kCOmkLzx+fLELCdi6VxXYEEvuuy8vgQsB/F7/QHA1wjDsNFhEEHK9RoPKgTRGOq7cRXgB mO5QQezQuhhYozdSG7j9dn13c/XJt5/vbj9++BKC2u85VjIYNx9+CGm7hv8cF/mq4qMQD8ufn7uV rk7HK/SnSWuuRINmuA7W8PZecF9fYQmtNri/43mDa95vagdcwbTEWdhwP3Fb+7OwFq3lG0ynS3sP 1fy9ptWqEOeuT+G28eEmyXEk08JD/El44dR/R0IIIYQQQgghhBBCCCGEEEIIIYT8hV9LIQG5ACgA AA== --0000000000008010ac063dc472e5--