diff --git a/.gitignore b/.gitignore index ff13a17a67da8c8c12fe3e225749e5cce6d35c9a..942a7ede996250bb60e81c58d898daba45a71683 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,6 @@ meta/report/**/*.dvi meta/report/xout/ meta/report/*.pdf !meta/report/template/images/statements/originalstatements.pdf + +meta/presentation/*.pdf +meta/diagrams/*.bkp diff --git a/Makefile b/Makefile index 645938c1ee889a0892e1bbbe2ef4afb102aa645b..90233ba20decf7db84b75f3c6d2ec18a0d03dfe6 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,25 @@ SRCD := hw/spinal/kyber REPORT := ISC_EMB_memoire_diplome_Stefanovic_Upegui_2024.pdf +PRESENTATION := ISC_EMB_presentation_diplome_Stefanovic_Upegui_2024.pdf LATEX_MAIN_NAME := toplevel - LATEX_MAIN_FILE := ${LATEX_MAIN_NAME}.tex LATEX_MAIN_OUTPUT := ${LATEX_MAIN_NAME}.pdf LATEX_TMP_DIR := /tmp/latex-$(shell date +%Y%m%d-%H%M%S-%N) -#LATEX_CMD_PDF := pdflatex -interaction=nonstopmode -synctex=1 --output-directory=${LATEX_TMP_DIR} --aux-directory=${LATEX_TMP_DIR} ${LATEX_MAIN_FILE} LATEX_CMD_PDF := pdflatex -interaction=nonstopmode -synctex=1 --output-directory=${LATEX_TMP_DIR} ${LATEX_MAIN_FILE} LATEX_CMD_BIB := biber --input-directory ${LATEX_TMP_DIR} --output-directory ${LATEX_TMP_DIR} ${LATEX_MAIN_NAME} - LATEX_SRC := $(shell find meta/report -type f -name '*.tex') +PRES_MAIN_NAME := main +PRES_MAIN_FILE := ${PRES_MAIN_NAME}.tex +PRES_MAIN_OUTPUT := ${PRES_MAIN_NAME}.pdf +PRES_TMP_DIR := /tmp/pres-$(shell date +%Y%m%d-%H%M%S-%N) +#PRES_CMD_PDF := pdflatex -interaction=nonstopmode -synctex=1 --output-directory=${PRES_TMP_DIR} ${PRES_MAIN_FILE} +PRES_CMD_PDF := pdflatex -interaction=nonstopmode -synctex=1 --output-directory=${PRES_TMP_DIR} --shell-escape ${PRES_MAIN_FILE} +PRES_CMD_BIB := biber --input-directory ${PRES_TMP_DIR} --output-directory ${PRES_TMP_DIR} ${PRES_MAIN_NAME} +PRESENTATION_SRC := $(shell find meta/presentation -type f -name '*.tex' -o -name '*.cls') + ntt: clean $(wildcard ${SRCD}/ntt/*) sbt "runMain kyber.ntt.NttGEN" @@ -41,7 +48,6 @@ pdf: ${LATEX_SRC} view: pdf - #firefox meta/report/${LATEX_MAIN_OUTPUT} firefox meta/report/${REPORT} @@ -51,8 +57,25 @@ repdf: clean pdf review: clean view +presentation: ${PRESENTATION_SRC} + mkdir -p ${PRES_TMP_DIR} + cd meta/presentation && \ + ${PRES_CMD_PDF} ; \ + ${PRES_CMD_PDF} ; \ + ${PRES_CMD_PDF} ; \ + ${PRES_CMD_BIB} ; \ + ${PRES_CMD_PDF} ; \ + ${PRES_CMD_PDF} ; \ + cp ${PRES_TMP_DIR}/${PRES_MAIN_OUTPUT} ${PRESENTATION} + rm -rf ${PRES_TMP_DIR} + + +presentnow: clean presentation + firefox meta/presentation/${PRESENTATION} + + clean: - rm -rf gen out simWorkspace target meta/report/xout meta/report/*.pdf + rm -rf gen out simWorkspace target sw/a.out meta/report/xout meta/report/*.pdf find meta/report -type f \ \(\ -name '*.aux' -o \ @@ -71,8 +94,9 @@ clean: -not -name 'originalstatements.pdf' \ \)\ -print -delete + rm -rf meta/presentation/*.pdf meta/diagrams/.*.bkp -.PHONY: clean ntt pdf repdf review view +.PHONY: clean ntt pdf presentation presentnow repdf review view -.NOTPARALLEL: repdf review +.NOTPARALLEL: presentnow repdf review diff --git a/hw/spinal/kyber/ntt/AddressTable.scala b/hw/spinal/kyber/ntt/AddressTable.scala index 32caa7e0f26fb527bcfe100344ab5e9c1e5cdd5c..dd85417c204aa5e32d00e08c62c9d379dd578965 100644 --- a/hw/spinal/kyber/ntt/AddressTable.scala +++ b/hw/spinal/kyber/ntt/AddressTable.scala @@ -15,11 +15,10 @@ case class AddressTable(nports: Int = 1) extends Component { SoftChecks.require_NPORTS(nports) val io = new Bundle { - val i_iteration = Vec.fill(nports)(in UInt (log2Up(SoftConstants.TABLE_LENGTH) bits)) // 10 bits - val o_j = Vec.fill(nports)(out UInt (log2Up(SoftConstants.WORD_COUNT) bits)) // 8 bits - val o_l = Vec.fill(nports)(out UInt (log2Up(SoftConstants.WORD_COUNT) bits)) // 8 bits - //val o_k = Vec.fill(nports)(out UInt (log2Up(SoftConstants.ZETAS_TABLE_LENGTH) bits)) // 7 bits - val o_zeta = Vec.fill(nports)(out SInt (SoftConstants.WORD_WIDTH bits)) //16 bits + val i_iteration = in(Vec.fill(nports)(UInt(log2Up(SoftConstants.TABLE_LENGTH) bits))) // 10 bits + val o_j = out(Vec.fill(nports)(UInt(log2Up(SoftConstants.WORD_COUNT) bits))) // 8 bits + val o_l = out(Vec.fill(nports)(UInt(log2Up(SoftConstants.WORD_COUNT) bits))) // 8 bits + val o_zeta = out(Vec.fill(nports)(SInt(SoftConstants.WORD_WIDTH bits))) //16 bits } val sig_loop_n = Vec.fill(nports)(UInt(log2Up(SoftConstants.TABLE_LENGTH) - 7 bits)) @@ -48,7 +47,6 @@ case class AddressTable(nports: Int = 1) extends Component { // outputs io.o_j(n) <> sig_j(n) io.o_l(n) <> sig_l(n) - //io.o_k(n) <> sig_k(n) io.o_zeta(n) <> sig_z(n) } } @@ -65,7 +63,6 @@ object AddressTableSIM extends App { for (n <- 0 until dut.nports) { assert(dut.io.o_j(n).toInt == SoftFunctions.expr_J(i)) assert(dut.io.o_l(n).toInt == SoftFunctions.expr_L(i)) - //assert(dut.io.o_k(n).toInt == SoftFunctions.expr_K(i)) assert(dut.io.o_zeta(n).toInt == SoftFunctions.expr_Z(i)) } } diff --git a/hw/spinal/kyber/ntt/IndexDispatcher.scala b/hw/spinal/kyber/ntt/IndexDispatcher.scala index 57c46fcf9892a2248754ea25ca457f06531bdb1c..68eb2b5d2957a1c947a83e1d36ca97c4d66a8a33 100644 --- a/hw/spinal/kyber/ntt/IndexDispatcher.scala +++ b/hw/spinal/kyber/ntt/IndexDispatcher.scala @@ -21,7 +21,7 @@ case class IndexDispatcher(nports: Int = 1) extends Component { val io = new Bundle { val i_step = in UInt (log2Up(SoftConstants.TABLE_LENGTH / nports) bits) - val o_tabidx = Vec.fill(nports)(out UInt (log2Up(SoftConstants.TABLE_LENGTH) bits)) + val o_tabidx = out(Vec.fill(nports)(UInt(log2Up(SoftConstants.TABLE_LENGTH) bits))) } for (n <- 0 until nports) { diff --git a/hw/spinal/kyber/ntt/MemoryBuffer.scala b/hw/spinal/kyber/ntt/MemoryBuffer.scala index 0af888af0fb4481da2c361aa6866f8db882779c0..44f2a76693abdc19d62f1c3f39f3446779fefc5a 100644 --- a/hw/spinal/kyber/ntt/MemoryBuffer.scala +++ b/hw/spinal/kyber/ntt/MemoryBuffer.scala @@ -19,10 +19,10 @@ case class MemoryBuffer( val i_single_addr = in UInt (log2Up(word_count) bits) val i_single_load = in Bool() val o_single_data = out Bits (word_width bits) - val i_parallel_data = Vec.fill(nports)(Vec.fill(2)(in Bits (word_width bits))) - val i_parallel_addr = Vec.fill(nports)(Vec.fill(2)(in UInt (log2Up(word_count) bits))) + val i_parallel_data = in(Vec.fill(nports)(Vec.fill(2)(Bits(word_width bits)))) + val i_parallel_addr = in(Vec.fill(nports)(Vec.fill(2)(UInt(log2Up(word_count) bits)))) val i_parallel_update = in Bool() - val o_parallel_data = Vec.fill(nports)(Vec.fill(2)(out Bits (word_width bits))) + val o_parallel_data = out(Vec.fill(nports)(Vec.fill(2)(Bits(word_width bits)))) } // REGISTERS diff --git a/hw/spinal/kyber/ntt/Ntt.scala b/hw/spinal/kyber/ntt/Ntt.scala index 85abb9a4dd0858bcec26c609042d8d05405708e9..39b3326131d6121ed4cf105c3dda88328324c140 100644 --- a/hw/spinal/kyber/ntt/Ntt.scala +++ b/hw/spinal/kyber/ntt/Ntt.scala @@ -135,6 +135,7 @@ object NttGEN extends App { object NttSIM extends App { for (nports <- (0 to 7).map(1 << _)) { + //Config.sim.withVcdWave.compile(Ntt(nports = nports)).doSim { dut => Config.sim.compile(Ntt(nports = nports)).doSim { dut => val t = Ticker(dut) dut.io.i_data #= 0 diff --git a/hw/spinal/kyber/ntt/NttMemoryMap.scala b/hw/spinal/kyber/ntt/NttMemoryMap.scala index b81b4ef3b065c3a69f8ecb20b67a5f5e8eb404f3..7be5452db2442fa7a570d255b55b3249d4e115a2 100644 --- a/hw/spinal/kyber/ntt/NttMemoryMap.scala +++ b/hw/spinal/kyber/ntt/NttMemoryMap.scala @@ -12,13 +12,13 @@ import spinal.lib.bus.amba4.axi._ * * @param nports the number of "butterflies" or parallel multiplications */ -case class NttAxi(nports: Int = 1) extends Component { +case class NttAxi(nports: Int = 1, adrwid: Int = 32, datwid: Int = 32) extends Component { SoftChecks.require_NPORTS(nports) val io = new Bundle { val axi = slave(Axi4(Axi4Config( - addressWidth = 32, - dataWidth = 32, + addressWidth = adrwid, + dataWidth = datwid, idWidth = 0, useId = false, useRegion = false, @@ -37,39 +37,56 @@ case class NttAxi(nports: Int = 1) extends Component { val ntt = Ntt(nports = nports) - // SPEC (AXI4) : on reset, drive VALID to '0' - val reg_rvalid = Reg(Bool()) init false - reg_rvalid := ntt.io.o_valid - val reg_bvalid = Reg(Bool()) init false - reg_bvalid := True - - val sig_is_write = Bool() // TODO: define - - // NTT INPUTS - ntt.io.i_data := io.axi.w.data(ntt.io.i_data.getBitsWidth - 1 downto 0) - ntt.io.i_addr := sig_is_write.mux( - io.axi.aw.addr.asBits.asUInt(ntt.io.i_addr.getBitsWidth - 1 downto 0), - io.axi.ar.addr.asBits.asUInt(ntt.io.i_addr.getBitsWidth - 1 downto 0), - ) - ntt.io.i_load - ntt.io.i_go - ntt.io.i_stop - - // CONSUMABLE - io.axi.ar.addr - io.axi.ar.valid - io.axi.r.ready - io.axi.aw.addr - io.axi.aw.valid - io.axi.w.data - io.axi.w.valid + val read = new Area { + val reg_rd_dat = Reg(Bits(datwid bits)) init 0 + val reg_rd_valid = Reg(Bool()) init false // requested data is registered and ready for reading + ntt.io.i_addr := io.axi.ar.addr(ntt.io.i_addr.high downto 0) // ignore MSB + io.axi.ar.ready := !reg_rd_valid + io.axi.r.data := reg_rd_dat + io.axi.r.valid := reg_rd_valid + when(io.axi.ar.valid) { + reg_rd_valid := True + when(!io.axi.ar.addr.asBits(ntt.io.i_addr.getWidth)) { + reg_rd_dat := ((ntt.io.o_data.high downto 0) -> ntt.io.o_data, default -> false) + } elsewhen (io.axi.ar.addr(io.axi.ar.addr.high - 1 downto 0) === 0) { + reg_rd_dat := (1 -> ntt.io.o_valid, 0 -> ntt.io.o_ready, default -> false) + } otherwise { + reg_rd_valid := False + } + } + when(io.axi.r.ready && reg_rd_valid) { + reg_rd_valid := False + } + } - // SETTABLE - io.axi.ar.ready := True - io.axi.r.data := ((ntt.io.o_data.getBitsWidth - 1 downto 0) -> ntt.io.o_data, default -> false) - io.axi.r.valid := ntt.io.o_valid - io.axi.aw.ready := True - io.axi.w.ready := ntt.io.o_ready + //TODO: WIP + val writ = new Area { + val reg_ntt_load = Reg(Bool()) init false + reg_ntt_load := False + val reg_ntt_idat = Reg(Bits(ntt.io.i_data.getWidth bits)) init 0 + reg_ntt_idat := (default -> false) + val reg_ntt_go = Reg(Bool()) init false + reg_ntt_go := False + val reg_ntt_stop = Reg(Bool()) init false + reg_ntt_stop := False + val reg_aw_ready = Reg(Bool()) init false + reg_aw_ready := True + val reg_aw_adr = Reg(UInt(ntt.io.i_addr.getWidth bits)) + ntt.io.i_load := reg_ntt_load + ntt.io.i_data := reg_ntt_idat + ntt.io.i_go := reg_ntt_go + ntt.io.i_stop := reg_ntt_stop + io.axi.aw.ready := reg_aw_ready + io.axi.w.ready := ntt.io.o_ready + when(io.axi.aw.valid) { + when(!io.axi.aw.addr.asBits(ntt.io.i_addr.getWidth)) { + reg_aw_adr := io.axi.aw.addr(ntt.io.i_addr.high downto 0) + reg_aw_ready := False + } + } + io.axi.b.valid := True + //io.axi.b.resp := (default -> false) // valid should be set but this is available only when useResp is set in config + } } diff --git a/meta/circ/MemoryBuffer_4x8x4.circ b/meta/circ/MemoryBuffer_4x8x4.circ index 00c93abc7cdbcfd67c63e12fcf69d435bb4e39f9..196c0d72776e1cb07f557bc35fdcde08d3eecbbf 100644 --- a/meta/circ/MemoryBuffer_4x8x4.circ +++ b/meta/circ/MemoryBuffer_4x8x4.circ @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<project source="3.8.0" version="1.0"> - This file is intended to be loaded by Logisim-evolution v3.8.0(https://github.com/logisim-evolution/). +<project source="3.9.0" version="1.0"> + This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/). <lib desc="#Wiring" name="0"> <tool name="Pin"> @@ -554,19 +554,19 @@ </comp> <comp lib="0" loc="(1510,1590)" name="Tunnel"> <a name="facing" val="east"/> - <a name="label" val="AXIA"/> + <a name="label" val="SADR"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="3"/> </comp> <comp lib="0" loc="(1510,3090)" name="Tunnel"> <a name="facing" val="east"/> - <a name="label" val="AXID"/> + <a name="label" val="SDAT"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="4"/> </comp> <comp lib="0" loc="(1530,3150)" name="Tunnel"> <a name="facing" val="east"/> - <a name="label" val="AXIA"/> + <a name="label" val="SADR"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="3"/> </comp> @@ -961,7 +961,7 @@ </comp> <comp lib="0" loc="(300,1020)" name="Pin"> <a name="appearance" val="NewPins"/> - <a name="label" val="I_AXI_LOAD"/> + <a name="label" val="I_SINGLE_LOAD"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> </comp> <comp lib="0" loc="(300,1180)" name="Pin"> @@ -995,14 +995,14 @@ </comp> <comp lib="0" loc="(300,940)" name="Pin"> <a name="appearance" val="NewPins"/> - <a name="label" val="I_AXI_DATA"/> + <a name="label" val="I_SINGLE_DATA"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="radix" val="16"/> <a name="width" val="4"/> </comp> <comp lib="0" loc="(300,980)" name="Pin"> <a name="appearance" val="NewPins"/> - <a name="label" val="I_AXI_ADDR"/> + <a name="label" val="I_SINGLE_ADDR"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="radix" val="8"/> <a name="width" val="3"/> @@ -1069,12 +1069,12 @@ <a name="labelfont" val="DejaVu Sans Mono bold 16"/> </comp> <comp lib="0" loc="(320,940)" name="Tunnel"> - <a name="label" val="AXID"/> + <a name="label" val="SDAT"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="4"/> </comp> <comp lib="0" loc="(320,980)" name="Tunnel"> - <a name="label" val="AXIA"/> + <a name="label" val="SADR"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="3"/> </comp> @@ -1464,7 +1464,7 @@ </comp> <comp lib="0" loc="(3650,2570)" name="Tunnel"> <a name="facing" val="east"/> - <a name="label" val="AXIA"/> + <a name="label" val="SADR"/> <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="3"/> </comp> @@ -1884,7 +1884,7 @@ <a name="labelfont" val="DejaVu Sans Mono bold 16"/> <a name="width" val="4"/> </comp> - <comp lib="8" loc="(1986,102)" name="Text"> + <comp lib="8" loc="(1985,100)" name="Text"> <a name="font" val="DejaVu Sans Mono bold 64"/> <a name="text" val="MemoryBuffer with parameters : N = 4 , R = 8 , W = 4"/> </comp> diff --git a/meta/diagrams/archflow.drawio b/meta/diagrams/archflow.drawio new file mode 100644 index 0000000000000000000000000000000000000000..12905f3fcdd9995013595f7143feda6d90e3bb3d --- /dev/null +++ b/meta/diagrams/archflow.drawio @@ -0,0 +1,88 @@ +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.8 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.8"> + <diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1"> + <mxGraphModel dx="1488" dy="1046" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="900" math="0" shadow="0"> + <root> + <mxCell id="WIyWlLk6GJQsqaUBKTNV-0" /> + <mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" /> + <mxCell id="CreHkGv_l4cko5DSV3HE-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-1" target="CreHkGv_l4cko5DSV3HE-7" edge="1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-1" value="Stage Counter" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Courier New;labelBackgroundColor=none;fontSize=36;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="160" y="320" width="320" height="160" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-7" target="CreHkGv_l4cko5DSV3HE-8" edge="1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-7" value="<font style="font-size: 32px;">IndexDispatcher</font><div style="font-size: 32px;"><font style="font-size: 32px;">and</font></div><div style="font-size: 32px;"><font style="font-size: 32px;">AddressTable</font></div>" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Courier New;labelBackgroundColor=none;fontSize=20;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="160" y="560" width="320" height="160" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.001;entryY=0.876;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-8" target="CreHkGv_l4cko5DSV3HE-11" edge="1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="1000" y="630" as="targetPoint" /> + <Array as="points"> + <mxPoint x="960" y="620" /> + <mxPoint x="1000" y="620" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.132;exitDx=0;exitDy=0;entryX=0;entryY=0.623;entryDx=0;entryDy=0;exitPerimeter=0;entryPerimeter=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-8" target="CreHkGv_l4cko5DSV3HE-11" edge="1"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="1040" y="580" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-8" value="Parallel Access Memory" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Courier New;labelBackgroundColor=none;fontSize=36;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="640" y="560" width="320" height="160" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.375;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-11" target="CreHkGv_l4cko5DSV3HE-8" edge="1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="620" y="620" as="targetPoint" /> + <Array as="points"> + <mxPoint x="1440" y="600" /> + <mxPoint x="1440" y="400" /> + <mxPoint x="560" y="400" /> + <mxPoint x="560" y="620" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-11" edge="1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="640" y="580" as="targetPoint" /> + <Array as="points"> + <mxPoint x="1400" y="560" /> + <mxPoint x="1400" y="440" /> + <mxPoint x="600" y="440" /> + <mxPoint x="600" y="580" /> + <mxPoint x="640" y="580" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-11" value="Butterfly<div style="font-size: 36px;">array</div>" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Courier New;labelBackgroundColor=none;fontSize=36;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="1040" y="480" width="320" height="160" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-18" target="CreHkGv_l4cko5DSV3HE-1" edge="1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-18" target="CreHkGv_l4cko5DSV3HE-22" edge="1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-18" value="<font style="font-size: 36px;">FSM</font>" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Courier New;labelBackgroundColor=none;fontSize=36;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="640" y="120" width="320" height="160" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CreHkGv_l4cko5DSV3HE-19" target="CreHkGv_l4cko5DSV3HE-18" edge="1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-19" value="<font style="font-size: 20px;">CONTROL</font><div style="font-size: 20px;"><font style="font-size: 20px;">INPUTS</font></div>" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;fontSize=16;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="80" y="120" width="160" height="80" as="geometry" /> + </mxCell> + <mxCell id="CreHkGv_l4cko5DSV3HE-22" value="<font style="font-size: 20px;">STATUS</font><div style="font-size: 20px;"><font style="font-size: 20px;">OUTPUTS</font></div>" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;fontSize=16;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> + <mxGeometry x="1280" y="120" width="160" height="80" as="geometry" /> + </mxCell> + <mxCell id="q4HsAQn1FssbSAMFfruA-0" value="" style="rounded=0;whiteSpace=wrap;html=1;opacity=40;strokeWidth=0;fillColor=#FFDD00;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1"> + <mxGeometry x="1020" y="460" width="360" height="200" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/meta/diagrams/dio_method.svg b/meta/diagrams/dio_method.svg new file mode 100644 index 0000000000000000000000000000000000000000..74275db0c3201be6fcc020412759f3d97128f49f --- /dev/null +++ b/meta/diagrams/dio_method.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Do not edit this file with editors other than draw.io --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1459px" height="522px" viewBox="-0.5 -0.5 1459 522" content="<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.8 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.8"> <diagram name="Page-1" id="vTxVs78Xg11w-nj1qb18"> <mxGraphModel dx="1190" dy="837" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="900" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="VjOqcH7dubU-BIThroVH-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;fontSize=24;" parent="1" source="VjOqcH7dubU-BIThroVH-1" target="VjOqcH7dubU-BIThroVH-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="VjOqcH7dubU-BIThroVH-1" value="Identifier les grands&lt;div&gt;composants&lt;/div&gt;&lt;div&gt;à implémenter&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;strokeWidth=4;fontSize=24;" parent="1" vertex="1"> <mxGeometry x="160" y="360" width="320" height="160" as="geometry" /> </mxCell> <mxCell id="VjOqcH7dubU-BIThroVH-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;fontSize=24;" parent="1" source="VjOqcH7dubU-BIThroVH-2" target="VjOqcH7dubU-BIThroVH-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="VjOqcH7dubU-BIThroVH-2" value="Choisir le&lt;div&gt;composant prioritaire&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;strokeWidth=4;fontSize=24;" parent="1" vertex="1"> <mxGeometry x="640" y="360" width="320" height="160" as="geometry" /> </mxCell> <mxCell id="VjOqcH7dubU-BIThroVH-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;fontSize=24;" parent="1" source="VjOqcH7dubU-BIThroVH-3" target="VjOqcH7dubU-BIThroVH-1" edge="1"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1520" y="440" /> <mxPoint x="1520" y="280" /> <mxPoint x="80" y="280" /> <mxPoint x="80" y="440" /> </Array> </mxGeometry> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="VjOqcH7dubU-BIThroVH-3" target="5SgrSzUetFcjJ_riC5Sn-4" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="VjOqcH7dubU-BIThroVH-3" value="Implémenter et tester&lt;div&gt;le module&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;strokeWidth=4;fontSize=24;" parent="1" vertex="1"> <mxGeometry x="1120" y="360" width="320" height="160" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="5SgrSzUetFcjJ_riC5Sn-1" target="VjOqcH7dubU-BIThroVH-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-1" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;Start&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;" style="triangle;whiteSpace=wrap;html=1;strokeWidth=3;" parent="1" vertex="1"> <mxGeometry x="80" y="600" width="160" height="160" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-3" value="Composants non-implémentés" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" parent="1" vertex="1"> <mxGeometry x="1090" y="240" width="320" height="40" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="5SgrSzUetFcjJ_riC5Sn-4" target="5SgrSzUetFcjJ_riC5Sn-6" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-4" value="Optimisation globale" style="rounded=1;whiteSpace=wrap;html=1;fontSize=24;strokeWidth=3;" parent="1" vertex="1"> <mxGeometry x="880" y="640" width="240" height="80" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-6" value="&lt;font style=&quot;font-size: 24px;&quot;&gt;ASIC&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> <mxGeometry x="1360" y="640" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="5SgrSzUetFcjJ_riC5Sn-9" value="Tous composants implémentés" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" parent="1" vertex="1"> <mxGeometry x="970" y="540" width="320" height="40" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="VjOqcH7dubU-BIThroVH-4"><g><path d="M 409 200 L 557.03 200" fill="none" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 564.53 200 L 554.53 205 L 557.03 200 L 554.53 195 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="VjOqcH7dubU-BIThroVH-1"><g><ellipse cx="249" cy="200" rx="160" ry="80" fill="rgb(24, 20, 29)" stroke="rgb(240, 240, 240)" stroke-width="4" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 200px; margin-left: 90px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Identifier les grands<div>composants</div><div>à implémenter</div></div></div></div></foreignObject><text x="249" y="207" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="24px" text-anchor="middle">Identifier les grands...</text></switch></g></g></g><g data-cell-id="VjOqcH7dubU-BIThroVH-5"><g><path d="M 889 200 L 1037.03 200" fill="none" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1044.53 200 L 1034.53 205 L 1037.03 200 L 1034.53 195 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="VjOqcH7dubU-BIThroVH-2"><g><ellipse cx="729" cy="200" rx="160" ry="80" fill="rgb(24, 20, 29)" stroke="rgb(240, 240, 240)" stroke-width="4" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 200px; margin-left: 570px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Choisir le<div>composant prioritaire</div></div></div></div></foreignObject><text x="729" y="207" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="24px" text-anchor="middle">Choisir le...</text></switch></g></g></g><g data-cell-id="VjOqcH7dubU-BIThroVH-6"><g><path d="M 1369 200 L 1449 200 L 1449 40 L 9 40 L 9 200 L 77.03 200" fill="none" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 84.53 200 L 74.53 205 L 77.03 200 L 74.53 195 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-7"><g><path d="M 1209 280 L 1209 340 L 929 340 L 929 389.9" fill="none" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 929 396.65 L 924.5 387.65 L 929 389.9 L 933.5 387.65 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="VjOqcH7dubU-BIThroVH-3"><g><ellipse cx="1209" cy="200" rx="160" ry="80" fill="rgb(24, 20, 29)" stroke="rgb(240, 240, 240)" stroke-width="4" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 200px; margin-left: 1050px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Implémenter et tester<div>le module</div></div></div></div></foreignObject><text x="1209" y="207" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="24px" text-anchor="middle">Implémenter et tester...</text></switch></g></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-2"><g><path d="M 169 440 L 249 440 L 249 290.1" fill="none" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 249 283.35 L 253.5 292.35 L 249 290.1 L 244.5 292.35 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-1"><g><path d="M 9 360 L 169 440 L 9 520 Z" fill="rgb(24, 20, 29)" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 440px; margin-left: 10px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 20px;">Start </font></div></div></div></foreignObject><text x="89" y="444" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Start </text></switch></g></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-3"><g><rect x="1019" y="0" width="320" height="40" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 20px; margin-left: 1020px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Composants non-implémentés</div></div></div></foreignObject><text x="1179" y="25" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="18px" text-anchor="middle">Composants non-implémentés</text></switch></g></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-8"><g><path d="M 1049 440 L 1278.9 440" fill="none" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1285.65 440 L 1276.65 444.5 L 1278.9 440 L 1276.65 435.5 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-4"><g><rect x="809" y="400" width="240" height="80" rx="12" ry="12" fill="rgb(24, 20, 29)" stroke="rgb(240, 240, 240)" stroke-width="3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 440px; margin-left: 810px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Optimisation globale</div></div></div></foreignObject><text x="929" y="447" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="24px" text-anchor="middle">Optimisation globale</text></switch></g></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-6"><g><path d="M 1309 400 L 1429 400 L 1449 440 L 1429 480 L 1309 480 L 1289 440 Z" fill="rgb(24, 20, 29)" stroke="rgb(240, 240, 240)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 440px; margin-left: 1290px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 24px;">ASIC</font></div></div></div></foreignObject><text x="1369" y="444" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">ASIC</text></switch></g></g></g><g data-cell-id="5SgrSzUetFcjJ_riC5Sn-9"><g><rect x="899" y="300" width="320" height="40" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 320px; margin-left: 900px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Tous composants implémentés</div></div></div></foreignObject><text x="1059" y="325" fill="rgb(240, 240, 240)" font-family=""Helvetica"" font-size="18px" text-anchor="middle">Tous composants implémentés</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file diff --git a/meta/diagrams/memoryglobal.drawio b/meta/diagrams/memoryglobal.drawio new file mode 100644 index 0000000000000000000000000000000000000000..12ef9643db09d23585ab05eabf75365129c6bcb7 --- /dev/null +++ b/meta/diagrams/memoryglobal.drawio @@ -0,0 +1,43 @@ +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.5 Chrome/126.0.6478.234 Electron/31.4.0 Safari/537.36" version="24.7.5"> + <diagram name="Page-1" id="s4wdFtfWgTk77KlVJhEe"> + <mxGraphModel dx="1488" dy="1946" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="900" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="UK2KOiuzVW1_33XJxgRp-1" value="" style="shape=image;aspect=fixed;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAABLAAAAPuCAYAAAAYAuTGAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHhe7J0HmBTF2rZLFFERUVBREBEjomI6igFEPII5izlnxJxQzIo5J8weFcxHxcAxEkTMGFExggFzRDwixv+76/t7v2HZ3ZnZnZntmb3f69qLZae6uvqung5PvWG2v//HgiYBCUhAAhKQgAQkIAEJSEACEpCABCQggZQSmE0BK6Uz47AkIAEJSEACEpCABCQgAQlIQAISkIAEIgEFLE8ECUhAAhKQgAQkIAEJSEACEpCABCQggVQTUMBK9fQ4OAlIQAISkIAEJCABCUhAAhKQgAQkIAEFLM8BCUhAAhKQgAQkIAEJSEACEpCABCQggVQTUMBK9fQ4OAlIQAISkIAEJCABCUhAAhKQgAQkIAEFLM8BCUhAAhKQgAQkIAEJSEACEpCABCQggVQTUMBK9fQ4OAlIQAISkIAEJCABCUhAAhKQgAQkIAEFLM8BCUhAAhKQgAQkIAEJSEACEpCABCQggVQTUMBK9fQ4OAlIQALpIzDffPOFDTfcsGADa9myZRg6dGjB+rMjCUhAAhKQgAQkIAEJSKDyCChgVd6cekQSkIAEikqga9eu4e233y7YPvr16xfuuuuu0KxZs4L1aUcSkIAEJCABCUhAAhKQQGURUMCqrPn0aCQgAQkUnQACFqLTgAEDwmmnnRa22mqrMGrUqPDXX3+Fk08+Of6sueaaYeeddw4XXHBB/PzHH38Ml1xySVhwwQXDqaeeGrdr165dOOCAA8KQIUPCYYcdFhZaaKFZxt6jR4+w1lprhVatWgU8v2abbbbQvHnz2HebNm2KfqzuQAISkIAEJCABCUhAAhJIBwEFrHTMg6OQgAQkUDYEELA6deoUrrnmmrDJJpuEI444Iqy66qrhgQceiL8/+uij4Ywzzgg33HBDuOyyy8Irr7wSJk+eHNvsscceYdtttw3//ve/w1FHHRUFqfvuuy888cQToXPnzrMwePfdd8MxxxwTunTpUvXZf//73yhqTZ06NTz33HNhscUWKxt2DlQCEpCABCQgAQlIQAISqB8BBaz6cXMrCUhAAk2WQE0C1sSJE0PHjh2jQIWAdeaZZ4Y777wz7LjjjuGrr76KYlOmgIXHVa9evcKuu+4axavXX389LLroojUyffDBB8OYMWNm+eybb74Jt99+e/j4449jTq5NN920yc6JBy4BCUhAAhKQgAQkIIFKJ6CAVekz7PFJQAISKDABBKyLLrooHHjggbHnc889N6y44oqhW7du4fvvvw+rrLJKWGmllcLyyy8fPbJOOOGEcOGFF4Y999wzbL/99tFra+21147bjhgxIjz77LNhu+22i+GFNdnKK68cPa3mmWeeWo9kiy22iF5ap5xySgw31CQgAQlIQAISkIAEJCCByiKggFVZ8+nRSEACEig6gUIncUfUwltrjjnmqHHszz//fHj44YfD4MGD6zy2999/PwpkZ511Vth8883z5kBerzQaIZTdu3dP49AckwQkIAEJSEACEpCABEpGQAGrZKjdkQQkIIHKILDEEkuEYcOGFexgrr322jB06NA6+8Pbi3a5GGLPlVdeGdZYY41cmle1yWcfeXXcgMaER7788ssxb5gmAQlIQAISkIAEJCCBpkxAAaspz77HLgEJSKAeBF566aV6bFX7Jm3btg1LLrlknX3uvffe4cYbbwzNmjXLuu9p06aFQYMGRdGnd+/eWdvT4PDDD48hkIQ54gl2xx13hBYtWoS55547hjySawtbbrnlAonlsZYtW4YFFlggTJkyJf5/l112qdrX6NGjwxdffBErJ9KOvgmDxDPsrrvuivm64Pjll19WbTd27Niw3nrrhXfeeScmvsfWXXddBaycZtBGEpCABCQgAQlIQAKVTkABq9Jn2OOTgAQkUAEEqFhIHq1cBCwO99dffw2bbbZZFKaWXXbZrAQQls4555wYqocARsJ5hLUBAwZEUenJJ5+Mub4QoRCYbrrppnDooYdGz7HEO4qE9IlttNFGsTri1ltvHYYMGRLmmmuuKHyNHDky7L777lFYe/rpp6Nw9+KLL4bx48fHPGD33ntvuOSSS8Inn3wS/vGPf4QePXooYGWdPRtIQAISkIAEJCABCTQFAgpYTWGWPUYJSEACZU4gXwGLw0WIwkMKL6ps9ssvv4TXXnstfP311+GPP/4IJIVPPMOoqkiVxD59+oTp06fHrg466KBwzTXXRNFp3Lhx4eyzzw777rvvTAIWYheeVySVR8Raf/31Y5J5trnqqquigEWbZZZZZhYB6/TTT48eYIhbhhBmmz0/l4AEJCABCUhAAhJoCgQUsJrCLHuMEpCA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gAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCQgAQmkmoACVqqnx8FJQAISkIAEJCABCUhAAhKQgAQkIAEJKGB5DkhAAhKQgAQkIAEJSEACEpCABCSQGgJffvllWGSRRVIzHgeSDgIKWOmYB0chAQlIQAISkIAEJCABCUhAAhJosgTef//90Llz5/D777+H3r17hw033DBsvPHGYZ111gnNmjVrslw88P8joIDl2SABCUhAAhKQgAQkIAEJSEACEpBAoxK47LLLwj777BM++uijcMEFF4RTTjkljB07Npx++unhueeeC+3bt2/U8bnzxieggNX4c+AIJCABCUhAAhKQgAQkIAEJSEACTZLAf//73/DTTz+FH374IUyfPj1MmTIl3HrrreH6668PEyZMCHPMMUd48MEHw2yzzRY233zz0KNHjybJyYMOQQHLs0ACEpCABCQgAQlIQAISkIAEJCCBRiFw6aWXhiOPPDLuG5EK+/vvv8P48ePDYostFp5++umw/fbbx78fddRRYfjw4eGVV14J888/f6OM1502HgEFrMZj754lIAEJSEACEpCABCQgAQlIQAJNmkAiYBEu2KVLlzBx4sRw8cUXRy+sl156KbRo0WImrys8tYYNGxbeeOONMGDAgLDKKqs0aX5N6eAVsJrSbHusEpCABCQgAQlIQAISkIAEJCCBFBFIBKxJkyZV5bk68MADAzmxWrduXedIt95669CyZctw5plnhk6dOoXZZ589RUfmUApNQAGr0ETtTwISKCsCM2bMCLvuumv497//XVbjdrASkIAEJCABCUhAAhKoBAKJgLX++utXHc4777wTRo4cGbp27Zr1ED/55JPw8ssvh8mTJ8cQQ61yCShgVe7cemQSkEAdBF544YVw2223Rdfjr776KroqY3fddVdYb731wqKLLio/CUhAAhKQgAQkIAEJSKDIBBIB67TTTgtHHHFE+PLLL2Plwe+++y489thjOe/9jDPOiJULtcoloIBVuXPrkUlAArUQWHPNNQPVTgYOHBg222yzcOKJJ4ZrrrkmtkbQIvZ+zjnnlJ8EJCABCUhAAhKQgAQkUGQCiYBFyGD//v3Djz/+GHbZZZeYuJ1QwlxNAStXUuXbTgGrfOfOkUtAAnkQICnkmDFjonvxHnvsEbbbbrswevToWJYXT6wOHTrM0tvxxx8fmjdvnsdebCoBCUhAAhKQgAQkIAEJ5EMgEbAQoBKj0uC9994bllhiiZy7UsDKGVXZ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ydreBukhoICVnrlojJEoYDUGdfdZdgQSAYuKmxgVCPv37192x4FX4ffffx+riWrlTUABq7znr6mMXgGrqcy0xykBCUigPAjcddddMw106NChYcSIEeUxeEdZRYACc2+//XbBifDcYtGugmMtaIcKWAXFaWeVSiARsN58882yPcSpU6eGf/7znwpYZTuDMw9cAatCJrLCD0MBq8In2MOTgAQkUGYEuC9Rbd5cgGU2cdWG26JFi7D00ksX/CAUsAqOtOAdKmAVHKkdViKBSkjijudVhw4dFLAq5ARVwKqQiazww1DAqvAJ9vAkIAEJlBkB7ksfffRR6NSpU5mN3OGWgoACVikoN2wfTULAIhH7euut1zBSGVuj9j7//PNhzjnnLFifdpRuAgpY6Z6fpjg6BaymOOvld8wKWOU3Z45YAhKQQCUTUMCq5Nlt+LEpYDWcYbF7SKWAdemll4YJEyaEJZZYosbjf//990O/fv3CFltskROfYcOGxb569OiRU/tsjc4555xw9NFHK2BlA1VBnycC1gMPPBC23HLLcO+994bNNtsskFOqXEwPrHKZqdzGqYCVGydbNS4BBazG5e/eJSABCUhgZgKJgEVVcVJrnHvuueH4448XkwQiAQWs9J8I9RKweBHG5p133ioR588//ww//fRTfKEn8dkff/wRf1q1ahWmTZsW27dp0yb+Szv+TiJsDE8mTpYZM2bE7a+77rqwyiqrhPXXX79WggsttFD417/+FTbffPOslHnRGzNmTBzHr7/+WrXvli1bhoUXXji6kVKFol27doGKFBwf4+NfjmX++eePf//999/D4osvHi666CIFrKzUK6tBImCdf/754dhjj43VB/lZZJFFyuZAFbDKZqpyGqgCVk6YbNTIBBSwGnkC3L0EJCABCcxEIBGwOnbsGJo1axbf6Xi30yQAAQWs9J8H9RKwNt5449C6detwwQUXREEHe+utt0L37t3DCSecEIUiBKOtttoqrLrqquG4444La665Zlh33XXDbrvtFhZbbLHwySefBCq6nXbaaeHmm2+OPyuttFLo2bNneOaZZ7IKWIhjeMAgdJ100kmB5NorrrjiLMTfe++9cP3114dNNtkk3HrrreHll18Ou+++exg8eHDYdNNNY9nUyy+/PCywwAJh6623DqNHj44XMsIOaTt27Niwxx57hAEDBoQT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MF4oiaXOJmD9+eef8WaSXNzo56mnngrdunWLrq2lMgWshpG+++67w6GHHhpWXXXV8J///Ce6HFNOGbvwwgvD0UcfHec4zaaAlebZcWwKWJ4DEpCABCSQRgKJgMUC9sknnxwFkjXXXDPcd999YbHFFkvVkJuigHX11VeHgw46KL6r9evXL4YN4oWVq51xxhnhlFNOybW5Ala9STXehgpYjcfePReYQCJg9e/fP2y77bZhrrnmCptvvnksw3rzzTfHGOovv/wyekutvPLKsQLJmWeeGZ588smw5JJLRo+q2oztsJ9//jkKG19//XUMOcMDiwsswlixjGTtlJHNNAWs+tF+6aWXwlZbbRXWX3/9eD5MnDgxvPfee7GyCVVNqlv1qi/122txtlLAKg5Xey0sAT2wCsvT3iQgAQlIoGEEuC/x/LfAAguEeeedN3rrnH/++VEoadGiRcM6r+fWc889d5g0aVKNYkpT88D65ptvYtVF3rEOOOCAcNlll+XlJKCAVc+TsIw2U8Aqo8lyqHUTSAQsvKnIZ7XddttFseLtt9+uSgKI2NS5c+ew+uqrB24WVLvo2rVr6NixY9hvv/1m2cFHH30UV2R+//33+NnAgQNLOg14h+HhhWCmgFV/9HhV3X777WGjjTaKnlft27ePnVGeFzELD6z5558//o1z5JZbbonMa3poqP8oCrulAlZhedpbcQgoYBWHq71KQAISkED9CHBfYrG7poTg9euxYVs999xzYfz48fGZs7o1RQ8svOF4T2Px/scffwxDhgyJldepNJjLwrICVsPOx3LYWgGrHGbJMeZEAAHrtNNOC0cddVQ499xzo2p/zz33xG0PP/zwqOBj5LvCY4q/7b///uGNN96IgsZXX31V634aK4k74W177bWXAlZOZ8DMjQj35IfVNUrxTpgwYZZeyH1Aziu8sJIQQrZBHCIvlgJWPcC7iQQyCChgeTpIQAISkECaCKQtiTseYGeffbYC1qWXRscCnscPPPDA8PLLL0fxaocddogL0LmaAlaupMq3nQJW+c6dI69GoL5J3IcNGxZmzJgR9t13XwWsCjmrEDLHjBkTY+fXW2+9sNJKK9V5ZMTaX3HFFbENHlhrrbWWAlaFnAseRuMSSKOAddVVV8XwkVIY96VcqieVYiyF2schhxxSqK5m6WedddYJJPDVJCCBpk3giCOO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hx5q/46nBx+8bdq0MWeddVbNAc4880zz8ccfm3POOcccfvjhNX9fe+21TePGjc0tt9xiDjroIOsl8s9//tPUq1cvsPz0a6211gq8v3YMXwEBrPA1di14AdYGG2xg/3zyySfbEMLVVlutYEd+/vlne0+vtNJKZv/99zft27cv2mkBrKISJXoDAaxED486l0YFBLDSNWq//fabfeGx0hOXCWDFpbzaDVsBAaywFdbxpYAUyKeAA1iHHXaYOfLII83w4cNN/fr1zaabbmr69+9v+vTpY7baaivTqFEjM2jQoJpDkHPn6KOPtuFJ7OcMgPXHH3/YD2kAF882jvenP/0p8ADQJz8f24Eb0I5lKyCAVbaEvg/gANbmm29es89XX31l5+c77bRT0eN888035rXXXrNeWdzjdZkAVlE5E72BAFaih0edS6MCAljpGLVnn33WjBgxwqy++upm/PjxZsaMGbbjTGS7dOliJ7VRmQBWVEqrnagVEMCKWnG1JwWkAAo4gHXSSSeZnXfe2TzyyCM2jw5eU7vttpvZZ599zA033GAefvhh+5uz7t27W0i1yy671IJLACw8r7beemvTu3dv643Fvs5TpFTVmzRpYtv1QrJSj6Htw1dAACt8jV0LDmAxDydJ+/fff29zXf3yyy9m5MiRvjtCtcJevXoJYPlWLH0bCmClb8zU44QrIICV8AH6T/d23XVXQw4LqpowSfUmZH3nnXfsZDdKE8CKUm21FaUCAlhRqq22pIAUcAoAsO6//34za9Yss8UWW5hPPvnE/PTTT9Zzavvtt7cJoqdNm2Zz6qywwgo1wn3wwQd2jkDOnT322KPm73hfzZ0713ptEbIEBHv33XcDC04/BLACyxfZjgJYkUltHMCiQMLpp59uG27evLm59dZbze677+67IwJYvqVK7YYCWKkdOnU8qQoIYCVzZMaOHWseeOABwypqy5YtbR4MlxSSRKyrrrrqch2/9tpry8pv4VcJASy/Smm7tCkggJW2EVN/pUA2FPCbxH3JkiXmiy++qDlpABXmgBX/zfxg3XXXrdmmElUIBbDScZ0JYEU3Tg5g9ejRo6bR5557zjz++OPGG1ZYrEcCWMUUSv/vAljpH0OdQcIUEMBK1oAsXLjQdOrUyeasoLKJ1wgdbNasmenZs2dNSexly5bZlZ633nrL/Otf/zKrrLJK6Cck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gSAKyAMriGrB9vnHP/5hunXrZu6++26zySabmLXXXtvCKjyvCCd8+eWXTceOHQ2FbT755BNz2223GSpdz5w5s+QGBbBKlixROwhgJWo41JksKCCAlYVRjPYcBLCi1Tvs1gpNeAu160IISdyO3XXXXfbfrDgCti666CKz4YYbht3tUI4vgBWKrDqoFJACUkAKRKCAAFYEIv9fEw5gfffdd2b11Vc3c+fOtQt3hBAyH/rzn/9sqzF7DXjVt29f07RpU+u57neRTwArunENoyUBrDBU1TGrWgEBrKoe/kAnL4AVSLbE7hQUYI0YMcJWDARkPfTQQ2bllVc2f/rTnxJ7nn46JoDlRyVtIwWkgBSQAklUQAArulFxAOuPP/4wK6ywgm345JNPtgBrtdVWK9gRPLJ++ukn66312GOP2VQMxUwAq5hCyf5dACvZ46PepVABAaz0DNqCBQusCzLQwCXHZuWHym/Ag6hMACsqpaNpp1SA9cUXX5ghQ4aYtm3bml122cVsu+22drUxCyaAlYVR1DlIASkgBapTAQGs6MbdASyg1frrr29TKowbN8707t3btGvXzldH3nnnHZszC+hVlwlg+ZIzsRsJYCV2aNSxtCoggJX8kfvXv/5lhg0bZnr16mW+/fZbc8YZZ5g77rjDdvzoo482I0eOjPQkBLAilTv0xkoFWLkdat++vXniiSdC72cUDQhgRaGy2pACUkAKSIEwFBDACkPV/Md0AIv5uCuGQ9L2Vq1amYsvvth3R6666io7vxfA8i1Z6jYUwErdkKnDSVdAACu5I4R31ZVXXmm+/vprW71khx12MAsXLrTV3xzA+vDDD81WW20V6UkIYEUqd+iNCWD9T2IBrNAvNzUgBaSAFJACISkggBWSsHkO6wAWlQi33npru8VRRx1lbrnllpLygApgRTdmcbUkgBWX8mo3swoIYCVvaIFUVDEZOnSoeeCBB2yIFjZ+/Hiz//77Ww+s1157zf6NWPrZs2fbeHo8tVZZZZXQT0gAK3SJI21AAEsAK9ILTo1JASkgBaRAKAoIYIUia96DOoDFIjJpPAghpALz2LFjzTbbbGPq169fkxurrl4JYEU3ZnG1JIAVl/JqN7MKCGAla2iJc3/11VfNddddZ92QvTZx4kTz+eef29K8zgOL5JG77767efvttwWwkjWUqemNAJYAVmouVnVU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CCCAAAIIIIAAAggggECoBAiwQtVcVBYBBBBAAAEEEEAAAQQQQAABBBCIngABVvTanDNGAAEEEEAAAQQQQAABBBBAAAEEQiVAgBWq5qKyCCCAAAIIIIAAAggggAACCCCAQPQECLCi1+acMQIIIIAAAggggAACCCCAAAIIIBAqAQKsUDUXlUUAAQQQQAABBBBAAAEEEEAAAQSiJ0CAFb0254wRQAABBBBAAAEEEEAAAQQQQACBUAkQYIWquagsAggggAACCCCAAAIIIIAAAgggED0BAqzotTlnjAACCCCAAAIIIIAAAggggAACCIRKgAArVM1FZRFAAAEEEEAAAQQQQAABBBBAAIHoCRBgRa/NOWMEEEAAAQQQQAABBBBAAAEEEEAgVAIEWKFqLiqLAAIIIIAAAggggAACCCCAAAIIRE+AACt6bc4ZI4AAAggggAACCCCAAAIIIIAAAqESIMAKVXNRWQQQQAABBBBAAAEEEEAAAQQQQCB6AgRY0WtzzhgBBBBAAAEEEEAAAQQQQAABBBAIlQABVqiai8oigAACCCCAAAIIIIAAAggggAAC0RMgwIpem3PGCCCAAAIIIIAAAggggAACCCCAQKgECLBC1VxUFgEEEEAAAQQQQAABBBBAAAEEEIieAAFW9NqcM0YAAQQQQAABBBBAAAEEEEAAAQRCJUCAFarmorIIIIAAAggggAACCCCAAAIIIIBA9AQIsKLX5pwxAggggAACCCCAAAIIIIAAAgggECoBAqxQNReVRQABBBBAAAEEEEAAAQQQQAABBKInQIAVvTbnjBFAAAEEEEAAAQQQQAABBBBAAIFQCRBghaq5qCwCCCCAAAIIIIAAAggggAACCCAQPQECrOi1OWeMAAIIIIAAAggggAACCCCAAAIIhEqAACtUzUVlEUAAAQQQQAABBBBAAAEEEEAAgegJEGBFr805YwQQQAABBBBAAAEEEEAAAQQQQCBUAgRYoWouKosAAggggAACCCCAAAIIIIAAAghET4AAK3ptzhkjgAACCCCAAAIIIIAAAggggAACoRIgwApVc1FZBBBAAAEEEEAAAQQQQAABBBBAIHoCBFjRa3POGAEEEEAAAQQQQAABBBBAAAEEEAiVAAFWqJqLyiKAAAIIIIAAAggggAACCCCAAALREyDAil6bc8YIIIAAAggggAACCCCAAAIIIIBAqAQIsELVXFQWAQQQQAABBBBAAAEEEEAAAQQQiJ4AAVb02pwzRgABBBBAAAEEEEAAAQQQQAABBEIlQIAVquaisggggAACCCCAAAIIIIAAAggggED0BAiwotfmnDECCCCAAAIIIIAAAggggAACCCAQKgECrFA1F5VFAAEEEEAAAQQQQAABBBBAAAEEoidAgBW9NueMEUAAAQQQQAABBBBAAAEEEEAAgVAJEGCFqrmoLAIIIIAAAggggAACCCCAAAIIIBA9AQKs6LU5Z4wAAggggAACCCCAAAIIIIAAAgiESoAAK1TNRWURQAABBBBAAAEEEEAAAQQQQACB6AkQYEWvzTljBBBAAAEEEEAAAQQQQAABBBBAIFQCBFihai4qiwACCCCAAAIIIIAAAggggAACCERPgAArem3OGSOAAAIIIIAAAggggAACCCCAAAKhEiDAClVzUVkEEEAAAQQQQAABBBBAAAEEEEAgegIEWNFrc84YAQQQQAABBBBAAAEEEEAAAQQQCJUAAVaomovKIoAAAggggAACCCCAAAIIIIAAAtETIMCKXptzxggggAACCCCAAAIIIIAAAggggECoBAiwQtVcVBYBBBBAAAEEEEAAAQQQQAABBBCIngABVvTanDNGAAEEEEAAAQQQQAABBBBAAAEEQiVAgBWq5qKyCCCAAAIIIIAAAggggAACCCCAQPQECLCi1+acMQIIIIAAAggggAACCCCAAAIIIBAqAQKsUDUXlUUAAQQQQAABBBBAAAEEEEAAAQSiJ0CAFb0254wRQAABBBBAAAEEEEAAAQQQQACBUAkQYIWquagsAggggAACCCCAAAIIIIAAAgggED0BAqzotTlnjAACCCCAAAIIIIAAAggggAACCIRKgAArVM1FZRFAAAEEEEAAAQQQQAABBBBAAIHoCRBgRa/NOWMEEEAAAQQQQAABBBBAAAEEEEAgVAIEWKFqLiqLAAIIIIAAAggggAACCCCAAAIIRE+AACt6bc4ZI4AAAggggAACCCCAAAIIIIAAAqESIMAKVXNRWQQQQAABBBBAAAEEEEAAAQQQQCB6AgRY0WtzzhgBBBBAAAEEEEAAAQQQQAABBBAIlQABVqiai8oigAACCCCAAAIIIIAAAggggAAC0RMgwIpem3PGCCCAAAIIIIAAAggggAACCCCAQKgECLBC1VxUFgEEEEAAAQQQQAABBBBAAAEEEIieAAFW9NqcM0YAAQQQQAABBBBAAAEEEEAAAQRCJUCAFarmorIIIIAAAggggAACCCCAAAIIIIBA9AQIsKLX5pwxAggggAACCCCAAAIIIIAAAgggECoBAqxQNReVRQABBBBAAAEEEEAAAQQQQAABBKInQIAVvTbnjBFAAAEEEEAAAQQQQAABBBBAAIFQCRBghaq5qCwCCCCAAAIIIIAAAggggAACCCAQPQECrOi1OWeMAAIIIIAAAggggAACCCCAAAIIhEqAACtUzUVlEUAAAQQQQAABBBBAAAEEEEAAgegJEGBFr805YwQQQAABBBBAAAEEEEAAAQQQQCBUAgRYoWouKosAAggggAACCCCAAAIIIIAAAghET4AAK3ptzhkjgAACCCCAAAIIIIAAAggggAACoRIgwApVc1FZBBBAAAEEEEAAAQQQQAABBBBAIHoCBFjRa3POGAEEEEAAAQQQQAABBBBAAAEEEAiVAAFWqJqLyiKAAAIIIIAAAggggAACCCCAAALREyDAil6bc8YIIIAAAggggAACCCCAAAIIIIBAqAQIsELVXFQWAQQQQAABBBBAAAEEEEAAAQQQiJ4AAVb02pwzRgABBBBAAAEEEEAAAQQQQAABBEIlQIAVquaisggggAACCCCAAAIIIIAAAggggED0BAiwotfmnDECCCCAAAIIIIAAAggggAACCCAQKgECrFA1F5VFAAEEEEAAAQQQQAABBBBAAAEEoidAgBW9NueMEUAAAQQQQAABBBBAAAEEEEAAgVAJEGCFqrmoLAIIIIAAAggggAACCCCAAAIIIBA9AQKs6LU5Z4wAAggggAACCCCAAAIIIIAAAgiESoAAK1TNRWURQAABBBBAAAEEEEAAAQQQQACB6AkQYEWvzTljBBBAAAEEEEAAAQQQQAABBBBAIFQCBFihai4qiwACCCCAAAIIIIAAAggggAACCERPgAArem3OGSOAAAIIIIAAAggggAACCCCAAAKhEiDAClVzUVkEEEAAAQQQQAABBBBAAAEEEEAgegIEWNFrc84YAQQQQAABBBBAAAEEEEAAAQQQCJUAAVaomovKIoAAAggggAACCCCAAAIIIIAAAtETIMCKXptzxggggAACCCCAAAIIIIAAAggggECoBAiwQtVcVBYBBBBAAAEEEEAAAQQQQAABBBCIngABVvTanDNGAAEEEEAAAQQQQAABBBBAAAEEQiVAgBWq5qKyCCCAAAIIIIAAAggggAACCCCAQPQECLCi1+acMQIIIIAAAggggAACCCCAAAIIIBAqAQKsUDUXlUUAAQQQQAABBBBAAAEEEEAAAQSiJ0CAFb0254wRQAABBBBAAAEEEEAAAQQQQACBUAkQYIWquagsAggggAACCCCAAAIIIIAAAgggED0BAqzotTlnjAACCCCAAAIIIIAAAggggAACCIRKgAArVM1FZRFAIBWB5cuXW82aNVPZBa9FAAEEEEAAAQQQQAABBBDIggABVhbQOSQCCPgr8MMPP9j5559vf/zxh82cOdPfg3M0BBBAAAEEEEAAAQQQQACBlAUIsFImZAcIIBBUgVdeecWmTp1qGzdutPvvv9/atWtn27Ztsy5dulinTp2sYsWKQa069UIAAQQQQAABBBBAAAEEEIgTIMDi7YAAAjkpoKGC/fv3t0qVKlmLFi1szZo1dumll9rYsWNtl112sT333NNKliyZk+fOSSGAAAIIIIAAAggggAACuSZAgJVrLcr5IBBhgfHjx9uiRYts7dq1NmjQIKtcubJNnjzZWrVq5VT23ntva9iwYUzo9ddft7Jly9qvv/4aYTVOHQEEEEAAAQQQQAABBBAIvgABVvDbiBoigEACAjvvvLMNHjzYBgwYYKVKlYq9YsqUKdagQQP7/vvvrVu3bjZjxgzbaaed3O/VE6t06dIEWAn4sgkCCCCAAAIIIIAAAgggkE0BAqxs6nNsBBBISUC9qxRQKYjq0aOHValSZYf7O/zww+2dd95xPbRUDjvsMAKslFqAFyOAAAIIIIAAAggggAAC/ggQYPnjzFEQQCDNAuXLl3dzWj344IMJ71m9rXbffffY9hs2bLBy5crRAythQTZEAAEEEEAAAQQQQAABBLIjQICVHXeOigACKQoowEpm7qo///zTzYGllQm3bNniem4NHz7cypQpk9R+Uqw2L0cAAQQQQAABBBBAAAEEECiGAAFWMdB4CQIIZF8g2QBr27ZtLsCaP3++6f81fFDzZjEHVvbbkhoggAACCCCAAAIIIIAAAkUJEGAVJcTvEUAgkALJBlg6CQ0f1DxYXnn33XdZhTCQrUulEEAAAQQQQAABBBBAAIG8AgRYvCMQQCCUAskEWH/99Zd9/vnn1rlzZxs1alTsfBs3bswQwlC2PpVGAAEEEEAAAQQQQACBqAkQYEWtxTlfBHJEIJkA648//rCtW7fa8ccf71Yh3GOPPUyhllYvZAhhjrwhOA0EEEAAAQQQQAABBBDIaQECrJxuXk4OgeILXHvttS7cyXTZtGmTnXbaada+ffukDpVMgOXtuEaNGnbFFVfEjnPDDTe4ECuZyeCTqiQbI4AAAjsQqF27dtKffcmCLlu2zO677z6rVq1asi9lewQQQAABBJIW+Oyzz+zmm2+2gw46KOnXFvUCPZTWtbNHjx5Fbcrvc1SAACtHG5bTQiBVAQVY9957b6q7KfL1K1eutPfff986dOhQ5LbxGxQnwNLE7f/85z9d76sSJUq4IYWayJ0AKyl6NkYAgTQI/P3339apUyd78cUX07C3wnfx0ksv2THHHEOAlVFldo4AAggg4AkowNL9fevWrdOOsnnzZrvjjjtsyJAhad83OwyHAAFWONqJWiLgu4ACrHvuucceeeQR++STT2zAgAG2//7720033WR33nmn9e7d29Vp3333tYEDB9pVV13lfqe/e+WXX34x9XJq1aqVnXHGGbGff/rpp24uKoVWxx57rN1+++1un8mUZAIsPa1Rb7L69evb7Nmz7eWXX7aWLVta5cqVGUKYDDrbIoBA2gT69+9vzZs3t3nz5tmGDRtsxIgRLsyaMWOGHX300e536jmlz8iLL744dtxx48bZnDlzrG7dum4RipNPPtmeeOIJ0/5Klizptvvmm2/srrvusquvvto++ugjAqy0tRo7QgABBBAoSsALsBYtWmTfffednXjiiaYRF4sXL7Zdd93Vhg4d6r5HHHjgge77RXzRz+vVq2ddu3aN/Xj16tV29913W7NmzezMM890oyni57Qtqj78PrcECLByqz05GwTSJqAASxcLDe3r16+fu/D8+OOPsQCrXbt2ttdee9mWLVts7dq1LrhSMFWnTp1YHRQStWnTxp5++mlbsGBB7OfDhw+3888/31q0aGEff/yxC7KGDRuWVN2PPPJI+/bbb+3PP/90KwsqQOvbt68L3S666CLTMV555RVXJ4VX6nHVoEEDGzt2bOw4hx56qKkXhIYw6vh+DJlM9CQPPvjgRDdlOwQQKERgxYoV7jMiiEWfgVoJtXr16nbZZZdZuXLl3GfaP/7xD9tvv/3cDbr+Xz1HtYJqfNHP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fOXmYEEWIMAKcutEp24EWNFpa8408wIEWJk35ggIIIAAAgjECyjAWrlypbVu3TrtMJs3b7a7777bBg8enJZ9E2ClhdHXnRBg+crNwYIs4AVYZ511lt1www2211572erVq93Tgxo1agS56tQthwQIsHKoMTmVrAsQYGW9CagAAggggEDEBLwAa9WqVfbDDz9Y/fr17aeffrLly5dbuXLlrG/fvnbbbbdZtWrVrEuXLnl09HNtf/rpp8d+rjmJJ0yYYMccc4y1adPGrrjiChs1alRaVAmw0sLo604IsHzl5mBBFvACrAceeMAuvfTSIFe1yLrttNNOVr58+SK3Y4PgCRBgBa9NqFF4BQiwwtt21BwBBBBAIJwCXoA1YMAAGzNmjD300EOmMOv444+3fv36uQCqbt267s8pp5wSO8mqVau6399zzz22YsWK7U7+sMMOs8WLF9v9999vOoZ6YhW3eN+VCLCKK5i91xFgZc+eIwdMwAuwjj322FiPqy+++MIUKIStVK9e3b766quwVZv6/k+AAIu3AQLpEyDASp8le0IAAQQQQCARgfgA67fffrOLL77YZs+ebWXLljWNdHnzzTftX//6l1144YU2bdq02C4VKim4atq06XYB1pAhQ9zomF69erkATItupVLU+0vHIsBKRTE7ryXAyo47Rw2gQK7MgXXjjTfa2LFjCbAC+B5LpEoEWIkosQ0CiQkQYCXmxFYIIIAAAgikSyA+wBo3bpzdeeedbijhoYce6sKnJ5980l5//XXbd999bfLkybHDXn755fbtt9+a5rmaMWNG7OcvvfSSPfXUU6bvaocffrhdf/311qlTJ1Ong+KUa6+91rRPAqzi6GX/NQRY2W8DahAQAQKsgDRExKtBgBXxNwCnn1YBAqy0crIzBBBAAAEEihTwAqw99tjDjjrqKPvkk0+sZMmStmHDBitdurQ1b97cZs6caZUqVbI6derk2d9bb73ltuvYsWPs55qTWPNgqei1l112mQu0ilsIsIorF4zXEWAFox2oRQAECLAC0AgZqoK6L7/99ts2dOhQ998gFwKsILcOdQubAAFW2FqM+iKAAAIIhF0gmVUINSm7VyZNmhT7fw0ZfOedd9zf//3vf5umR1FR7yzNq9WjR49iMxFgFZsuEC8kwApEM1CJIAh4AZZWHFywYIFVqFAhCNVKug4MIcxLdtddd9mzzz7rwiu18QEHHODG3J944omBbGMCrKTf8rwAgUIFCLB4cyCAAAIIIOCvgAKsVq1aZWRBqb/++ssUQBFg+dumQToaAVaQWoO6ZFXAC7Datm1r48ePt08//dRNNrjnnntaxYoVs1q3ZA5OgPV/WprcUWPsmzVrZrfccot7YqO2PeOMM1yX5bPPPtt23XXXZGh92ZYAyxdmDhIRAQKsiDQ0p4kAAggggECCAvTAShAqoJsRYAW0YaiW/wJegKWx2aVKlfK/AkkeUWPJX3jhBfeEI75EPcCaOHGide7c2V588UVr2bKlW91ERn///bdr15133jmPV7ly5WzdunVJ6mducwKszNmy5+gJEGBFr805YwQQQAABBHYkQIAV7vcHAVa424/ap1HAC7C0skW7du3cnr/77jtbsmRJGo+Snl1t3brVDYdTWBM/dlx7j2qAddNNN9nnn3/uQqsuXbrEgiot1dukSRP7+eef3e80jr5EiRKuIU466SQrU6aM/frrr+lpmDTshQArDYjsAoH/J0CAxVsBAQQQQAABBOIFCLDC/X4gwAp3+1H7NAqEaRL3H3/80fbee+/IB1gKnrTcbsOGDW3kyJF27rnn7vAdcdBBB9ncuXNdzzX1yOrbt69bDYUAK43/kNgVAgESIMAKUGNQFQQQQAABBAIgQIAVgEZIoQoEWCng8dLcEiDACld7du3a1bZs2eJ6y2mIoOYqK6rsu+++rheWV8aOHWu77LILAVZRcPwegZAKEGCFtOGoNgIIIIAAAhkSCFKAtWnTJnv11VfdAlOUxAQIsBJzYqsICOQPsFauXGnVqlVzZ/7HH3+4njpBKfTAMreySTI9p9Tj6sADD7SBAwe63le6YAwePNgNNUxmP5l+DzCEMNPC7D9KAgRYUWptzhUBBBBAAIGiBYIUYGm6mjPPPNOtjK5pbI499tiEHsoXfZa5uwUBVu62LWeWpED+AOuKK65wAYeCklmzZrnV64JSCLCSD7AUQqq31YIFC+z777+3OnXqWK1atRhCGJQ3NfVAIAMCBFgZQGWXCCCAAAIIhFggaAHWs88+a5dddpl9/PHHNmjQIOvUqZP16tUrxMKZrToBVmZ92XuIBLwAS8FVixYtAlNz9RDKH54RYCUfYKlBDzvsMLvttttibas5s+iBFZi3OhVBIO0CBFhpJ2WHCCCAAAII7FDgs88+s+7du5um7kh3+fPPP61169bWo0ePYu+6qABLc+X6VTZu3Ghz5sxx30923XVX00iMt956y1asWOGCrGbNmtEjK19jEGD59e7kOIEX8AKsU0891Y466ihX348++si0il02S6VKlWzNmjV5qkCAVbwAq0qVKta5c+eY5b333sscWNl8c3NsBDIsQICVYWB2jwACCCCAQD4BBViaikVBU7rL5s2bbfjw4abVx4tbigqwirvfVF73008/uVEhS5Yssbp167rV01etWuVCLK0wf9FFF6Wy+5x6LQFWTjUnJ5OKQBAncZ80aZJdcsklBFgFNGwyc2Bp+KC65ap77uzZs92w0L/++suFV6xCmMq/Gl6LQLAFCLCC3T7UDgEEEEAg9wS8AGvdunW2du1aO/LII10go15FZcuWNY12UQiluYY7dOiQB0A/r1evnut55BXt74033rAGDRpYo0aN3OtHjRpVbLgdBVjF3mkxX6g5sDSEUAGVbGR0+OGH59nbnXfeaUuXLnUmehCv0SNRLgRYUW79kJ77TjvtVKyaK81etGhRoa8lwMpLow93XUT8KOPHj7f27dsndahkAixvx02aNLGZM2fGjlOmTBkCrKTU2RiBcAkEPcAq7vUs2VbQDbG3KEmyr2V7BBBAAAEEkhHwAqwBAwbYuHHj7L777nO9iRo3bux6TimsqVmzpp1wwgmmkS9eOfjgg+3KK6+0+++/3wU5+YvCG+1vxIgRrofX3XffnUy1YtsGMcDq06dPkeeioYXq1abvTW3atCly+1zdgAArV1s2h89L8xgtXrw4qTP87bff3M17/qF48TshwMpLqg93DbHLdNEFSsHiWWedldShihNg7bXXXtawYcPYcfQ0R087WIUwKXo2RiA0AkEPsDp27GgvvvhiRj1feuklO+aYYwiwMqrMzhFAAAEEPIH4AEs/05yzWhCrRIkSbsU9zfn0r3/9y42M0GgTr+ihjr4XNG3adLsASz2u1FNJIY56YD388MNJgysk0nebggKspHeW5hdohfRES//+/V1PtHbt2iX6kpzajgArp5ozGifjBVgKpUqVKmVbt2619evXW7ly5Wzvvfe2r7/+2tSzZv/993fpvIrCK81/9Omnn9ruu+9eIFT+AOuXX35xQ8z0Yas/X3zxhenJgJ8lm0MIvQBLoZ+s5anhdt9++60deOCBMVv9rHLlyu7v+q/+7hUN01N7qF00MaFXNM5bkxZqyVh1KZ4+fXrSY7uTCbA0hFD1OvHEE90F9LnnnrOWLVvG6kuA5ee7mmMh4J9AkAMs3YTrZlwrDm3bts1dp/S5qM9HXc90rdKKqfqsq1ixYgxN1ztdn7SNrk3aTsM09ttvP/N6dOnv+lzTBLq6jhBg+fee40gIIIBA1AXy98BSWKXrmYYS9u7d24VIM2bMcN8D9B3AK+qZpWuXvmu8++67sZ9rGKKue61atbJly5a5OaEU3hx//PEJU1evXt0NV8wfYCW8gwxt6A0hTKQHlleFadOm2ZdffmmXX355hmoV7N0SYAW7fahdAQJegKUPQH0YKoi466677PTTT7fBgwfbkCFD3GoN55xzjkv2FTyNHj3adVEdOXKkFfQBMWHCBNclVV8mlOjrA0FdXfWlQcGHArFslGwHWOqaq6F96rWkLqv6YqX/aoUMTXB/8cUX22uvvWannHKKCxPVM+7QQw+NUT3yyCMuNNSH8/PPPx/7+fLly+2QQw5xXYSvuuoqd0FRL4FkihdgqU6XXnqpW+1EFzbNcaUuyo8//rirm3o3aMWSkiVL2rHHHut+ry93mhx/t912c1/4nnrqKTdJorbJdpGt6pnMk5hs15njIxBUgSAHWHrC/Pbbb5tuqvUZqj8LFixwn18HHHCATZkyxc1zoTkvjjvuuBixeqy2bdvWtErSo48+6oZhjB071r3We4Dw3nvvuRWNrrvuOvd5R4AV1Hco9UIAAQRyT8ALsHRN0rxVCxcudA9cFETpO5VWV3/99dfdQ5b69evnAXjllVfcg3N9j/PK6tWrbd68eW5fuq5rfuCnn346KTgCrKS4Ar0xAVagm4fKFSTgBVgKVRRgKYVX6HTaaafZNddc4yb5q1OnjkvwFWpom02bNtkHH3zgJgUsqmiYmddbSGn/hg0binpJWn5//fXX29ChQ/PsKygBVr9+/ZyvAkB9ofrkk09M9ZXVli1bbNiwYW5M++TJk6158+axc9DFShMR6jX6chVfFBx5AZaGDypETLYorNQyuvFtri99eqqjEEhzeCnA0jAdFfWoi1/SVyFlNoven/m7QBNgZbNFOHauCRQWYOkzQ59p2S4KqnVTrT/63FLPV31W6rPtwgsvdJ+5egCQ/ymrdx3s1q2bPfbYY27l3PgAS+elfekBBAFWtluZ4yOAAALREkhmFULNT+uV+HlqBw4cGJu39oknnoiNgtEqhGPGjHH3/8mU/AGWX/P8JlrHZB5c0wMrGa1EW4DtEMiggG7c9eXjvPPOMyXyCiR+//13N15aYZZ+p5Reyb0CIa0+pyBIT6nVQ0uvK6jow/Ghhx5yY7L/P/bOBOymcv3/9zFGhkLHlAohMmUsc+YKmYqQsYwljiSUilRmigxJp0RlaJCMkVnGQpQpQ/zMc0cy9T/f+3/Wbu138L5r7bX2Xmvv731dLu+73/UM6/M8e+29vuseWrZsqYfgCQDELzcNIZBISogxvSxgHTp0SPkhBh2hL2BtCFi4ERw4cKAmXjS7/OLpCkIQkWzxRgIWPLCslsOFlwLcZ/F0xyxgIRQH8/rwww+laNGi+rORXwuiJzy9EDcO76wSJUqo5xi8ssJtjz32mHoPUsAKN3mOF0sEkhKw4l6XwskGAjYEa3ypxvUfYhM8qYzcg/hcwEMZfC7hy7rZzAJW3rx5NSyaAlY4V49jkQAJkAAJJEYAAhZC/BJL2xIKOaQngXgVioCFe5pjx46FMg3H2uIhExwArOQdpoBFAcuxDciOwkMAX9zhOoqcTPD26du3rw6MELDq1atL165dNcYaCe7g4YPwsjlz5mhIIEIxkAcpIYtUEneIZHh6jvl7TcAaMWKEejEhj9Urr7yiN1ddunRR/ggPxIcHQvUQwgmPLFQbwc+GQZx79dVX450XBCfD9ReCGI6BF5cVM0IIkUMLa445IQTHsI8//ljFSoQFGiGE2DtIHPnLL7+ouIXcXBDAIpEDC3OpXLkyBSwri85jScAigaQErEh+BcI1yvgSjYcDCKdGGDS+yMKDFKLWa6+9ptc1c5VWXHPxEAGhFChCgUpEY8eO1ZBBIwwanltr1qxRWhDwGUJocePwcBIgARIggagiYPbA8tKJMQeW9dVgCKF1ZmwRYQJ2qhDC3RSCx41uVihgBS+s3SqEuGE0zKj6CO6oOrJ+/Xr9k7kaJKqNIDYeXlhWzEoSd6NfxN0jP5phiMVHImQKWFbI81gS8A8BLwtYoJicKoQ7d+5UYQufYxCsjOIkcVcBSeDxQASh0nPnztUHIzBWIfTPfuVMSYAESIAE3CEAAQv3H+aiUu6MZK1XeJThgT8eyCfX6IEVycePyV0lHkcCJgK4IUFYhRWDQIEwQiS/TcziCli4mCB3EwxhiPgdT8WdNi97YJkrXzl93kZ/qLqFkD6zh0FyxrIjYOGGDi66CB9E0n8kpMcaU8BKDnEeQwL+I+B1AQueoC1atHAVLIpr4PMNAheNBEiABEiABGKRAFLEnDt3znOnDuEKIZfI4ZtcC0XAQo5NRKIk9p0A+Z+RfgWRN141emB5dWU4r7ATiCtgQeRARb3MmTMHlTB3emJeFbCcPk+n+7MiYCGEEF4ISEa/du1aQRl6/I6LOEMInV4Z9kcC3iHgdQHLO6Q4ExIgARIgARIggXATMIcQXrlyRXPzwisLxa5QDAu5ffG/YXh96dKlmgc4boGX5Mwd9z7II4y0OjCzw4bRHsn0UeUY+YRhX3zxhSbRL1myZNAQOA7/4OCBtCww5OOExziEMORLNqoj429IGYM+4ESA15GOBvlAMSecO/6GeWFspAJKzChgJWeleUxMEDAELFTDQBVDNwzhH3GrXlDAskfaioBljJArVy4tP28YLpAIt6EHlr01YCsS8DoBClheXyHOjwRIgARIgATcJ4BiUXiA7TWD2LNnzx7NWwnBB55RKIKFHJgoNoV7FeRJxoN35M1EvmEUbkEFYjv3qyge07NnT7nvvvu0PSKUkEszriH6CF5YiJJB9Xl4bcEJwGy4d37jjTf0Pgr5p5G0H95h8ChDcS9UgjeLbxgP1SWXL1+u5/T888/L1q1bZcOGDZr0f+XKlVp5GRxQACyuYGaMTQHLa7uY84kYAUPAQvXCBx54QOeBN6C5pGsok4OyjAsnQubMRgHLHlWrAhYuiEia/uyzzwpyyqAqJdR9Clj2+LMVCfiBAAUsP6wS50gCJEACJEAC7hJADiyE65lz9bo7YvJ6h4fV+fPntSoihJt69epp9A9eNwQseFqNHj1aqlatqsITCmBB4DLn9U3eaCKoeojq8bgvRTE0OG7gAX/cipEQk+AdhRzGiEhCZBIEKbOh+jzuY3Ec7m9xDm3atNFDUOgrbqV1eGqh8juK1EBIw//IuQzvLawP8iIjhye8wr788st4FZgpYCV3lXlczBBwO4k7Eu9CSaaA5cyWsipgNWvWTH788Ud9woHqirhg4oLNEEJn1oO9kIAXCVDA8uKqcE4kQAIkQAIkEF4CfqhCCAEL1d5xfwKvJwhVefPm1UJXqAh/9uxZqV69uobphRJCaOR4htfT3r17VSjDmIYhpA9OHKgYD1EJ0StIgH/06NGgRUO1d9xfoRjX9OnTtQ/kGkO0Eby1du/eHcgnjYYQ3JD7E55XyGeNisn4H44FhoCF/MTPPfec9jd16tQENwk9sML73uFoHiZAAcve4uCiBZXdiH2214v1Vt9++63UrFlTLl++LO3bt5dWrVppJ7i4opT8bbfdFq9TuLcOHz488DpisJnE3Tp7tiABvxCggOWXleI8SYAESIAEooUAxI8nn3zSlRzCyGuL8DPce1gxs4CFcLjEKvpa6dOJYxGdg5C6uN5KN+o71CTuuPcxKhXHHQfi2JEjR2Ts2LHxpnDp0iX9Gwxi1K233pokgn379ukxcDxwyvuNAlaS2HlArBCggGVvpeHVdOLECalVq5a9Dmy2wocPStAvW7ZMFi5cGBCwEEsNLze42ca1nDlzqmuu2XART+gibXNayW5WpEgRDWmM+4EFl1q42LJAbLJR8kASSJQABSxuDhIgARIgARIILwEIWBCI4E3jtCFn1Ntvvy0vvviipa7NAhaiMOLmJLbUmQsHW/neH4qAhRBCeFMlZkginy9fPk0mH9cQdmhUckyfPr3gX1KG8WC438qYMWNShyfr7xSwkoWJB8UCAbOAhdhgqMpQ+dOkSaPVF2rXrh3Sk4RoDSE0BCy4mMLwYQXvKMRuI79U7ty5VeXH7zly5NBjcJGeMmWKdOjQQT755BPlarQ3V9RAmw8++ECFHsRfGwbxCrHZEHrgfooPJSQGbNSo0Q23KuK8ncppFup7ggJWqATZngSSJkABK2lGPIIESIAESIAEnCRgCFgQm+BhhO/wSPSNMDjcG8A7C8nJ77jjDqlTp07Q0HgdIW3lypWLNyV4B+G7f+fOnTW8zorFFbCQFN2497DSj9PHmqsQJrfvUASs5I7h5eMoYHl5dTi3sBKI64EFkQX/UK4U5UwRlhaKRbuANWzYMBWjXn75ZcHP+Ne7d28t8dqrVy8tqQohyjBwxdMPJCUsXbq0fPTRR/onuJgaNmTIEEHlRlTa2LJlS+B1CFsQGPH0BVVF8EEIV2KIZ0jQiL4TMgpYoexgtiUB/xGggOW/NeOMSYAESIAE/E3AELBQMQ8PohFtcPDgQSlfvrwWUOrevbuGoKHCnfnhM4SrFi1aqLiFynxmgwCFdCHIzzRmzBjNB4Uqeck1CljJJeX94yhgeX+NOMMwETAELFSnQ6gZDHG+cS+gyZkOwtcQ2ma2aBewunbtqh8mSLgHIQk8kYwQFSYgNjVv3jyegAWhCU9fIGChqgZKraKNYfg7Egzu2rVLduzYEcQTbqhmAQuuqZMnT9bxkPgP1TLiloWlgJWc3ctjSCB6CFDAip615JmQAAmQAAn4g4BZwEKYGSrZIXICkS24R/jhhx802Xe3bt0EnlDm7/3wisJ9lNk7CtETiL5ABTs88IYHlpWcUUb/PXv2lJEjR2ohJ8MDC/PC/UGkLVwhhJE+TyfGp4DlBEX2ERUEnMqB1a5dO0HCulgTsPCBgA8lfMAgrM8sYCXmgYVE6/hgg4A1adIk3UfmZPDw2sJTmM8++0yrBxqGJIIIO0TlCjyJgQeWUakCH0jIjYU5vPQcRuKEAAAgAElEQVTSSzofHAujgBUVb1WeBAkkmwAFrGSj4oEkQAIkQAIk4AgBs4D16aefagElhMrh+z7EI0RPrFu3TjJlyhR0v4Tk7Ejdsn379qDIC+S3xff7pUuXaiqQAQMG6D1HhQoVbM03IQHLioBka9BEGjGE0DpNCljWmbFFlBKggGVvYY0cWPCWQlVAlE194IEHZNu2bYKqf3iygXxPeOpirj6BJygQnpBfLEuWLOpaDGvdunVgIgjdnDdvXrzE6yjLinFgcD2GWAWXZJghYBkfRBgHObmeffZZDWVkDix768xWJOBHAhSw/LhqnDMJkAAJkICfCRgCFpJ+4+ExvrMjFQsiWxAx0axZM5k5c6bmxjWnF8E5Ix0J7ikQuRHX4LmFewvcP+A4u+YXAev06dOaWgXMzMYcWJGSG+3uOLYjAZcIUMCyB9ZKFUI8eYEhVHDDhg0JDmgcgz+iIp9hEKAMLyzz66husWDBgkAVwrgCltEe+bhQnRBhhl4wJnH3wipwDtFOgAJWtK8wz48ESIAESMBrBKxUIUzsez++t8PjCgYvrgIFCujPiM5A1AVy39q1GwlYieXRtTtWctslJMksX75cbr/9dsmfP3+gG9z34OF83rx5kyxeldyx/XYcPbD8tmKcr2sEzALWI488otXzDEMCQoQGJsdiLYRw8+bNygZ5riJheLrTpUuXJAWsSMztRmNSwPLainA+0UiAAlY0rirPiQRIgARIwMsEIGDBywoRFk4bojOQ79ZNAStuGhinz8HcH6o0QqgbO3ZsvGGQWxipVhBWCXvzzTcF913PP/+8JsSPVaOAFasrz/OORyAhD6zDhw+rG2uuXLmSTSzWBKxkgwnTgYl5YIVp+GQPQwEr2ah4IAnYJkAByzY6NiQBEiABEiCBqCSQlAdWOAPUksqBdezYMU2FgpQqDRo0UGEw1o0CVqzvAJ5/gIAhYCHhNyrcJWWIR54xY4bGYpuNAlZS5Nz9OwUsd/mydxLwEwEKWH5aLc6VBEiABEiABNwn4BcBK1++fJInTx4NGcyZM2fAE8t9Qt4egQKWt9eHswsjgZ07dwpcXs0GVXzXrl3xZvH777/LtGnTtJyrOXYbB1LACuOiJTAUBazI8ufoJOAlAhSwvLQanAsJkAAJkAAJRJ6AlwUshBQiQf2ePXtkzJgxmu+rVatWkYfmoRlQwPLQYnAq/iEAYQsJ9ShgeW/NKGB5b004IxKIFAEKWJEiz3FJgARIgARIwJsEvCpgQazq37+/wKnipptu0qJXFLDi7yEKWN58X3FWHidAAcu7C0QBy7trw5mRQLgJUMAKN3GORwIkQAIkQALeJuA1Aatr166CcMFy5cpJ8+bNA/CQh5kCFgUsb7+bODvfEKCA5d2looDl3bXhzEgg3AQoYIWbOMcjARIgARIgAW8T8JKAdeHCBbl48aJkz549HjQKWAnvI3pgefv9xdl5lAAFLI8uzH+nRQHLu2vDmZFAuAlQwAo3cY5HAiRAAiRAAt4m4CUB60akKGBRwPL2O4mz8xUBrwtY//73v2XmzJm+YurUZJcvX67x4+EsgWtn7kWKFJHKlSvLxIkTg5pv2rRJypQp4/n52zlntiGBcBOggBVu4hyPBEiABEgg1gmgKFbTpk3l1ltvdRzF9evXpU2bNtKpUyfbfVPAso3OEw3pgeWJZeAk/EbA6wLWm2++6Tekjs+XApbjSNkhCfiOAAUs3y0ZJ0wCJEACJOBzAhCwDhw4IHXr1nX8TBBuN27cOOndu7ftvilg2UbniYYUsDyxDJyE3wh4WcDyG8tYnS89sGJ15Xne4SRAASuctDkWCZAACZAACYgYAhYeJp85c0buvvtuzfOE+6e0adNKkyZNZPr06ZInTx6NRjAbXi9WrJj+M2z//v2yZs0aufPOO6VixYrSuXNnmTBhgm3UFLBso/NEQwpYnlgGTsJvBChg+W3FvDdfCljeWxPOKPoIUMCKvjXlGZEACZAACXibgCFg9enTR72lUEnv4MGDct9990nPnj3ltddek6tXr6p41bJly8DJVKpUSWrXrq3i1i+//BJ4/eOPP5ZSpUpJ7ty5JXPmzDJq1ChNtQEhyo5RwLJDzTttKGB5Zy04Ex8RoIDlo8Xy6FQpYHl0YTitqCJAASuqlpMnQwIkQAIk4AMCZgErW7ZsUqNGDVm5cqV6YdWsWVN27dolQ4cO1TBAiFOGIWk5vK2qVq2q/xv2ww8/yIwZM+THH3+U+fPnqwdW3ByyVrHAmwtjYF5VqlQJ5J7FHLyShoRJ3BNeVQpYVnc7jyeB/xKggMVtECoBClihEmR7EkiaAAWspBnxCBIgARIgARJwkoBZwPr0009l5MiRcujQIbn//vulb9++moB969atkiFDBkHxJcMeeeQRyZ49u4pKu3fvDrx+4cIFSZUqlXpwwTMLHlwQxeCxFapRwAqVYPjbU8AKP3OOGAUEKGBFwSJG+BQoYEV4ATh8TBCggBUTy8yTJAESIAES8BABQ8A6f/681KpVS0WqlClTqoh10003Sbt27QQV03PkyBEv0fvkyZPl5ptvlieeeCJwRr/++qssWrRIHnzwQcmfP7+0aNFCPbKcMApYTlAMbx8UsMLLm6NFCQEKWFGykBE8DQpYEYTPoWOGAAWsmFlqnigJkAAJkIBHCFipQlioUKHArHfu3Bn4+dlnn1XRCjZnzhwxjkMYInJqwYvLCaOA5QTF8PZBASu8vDlalBCggBUlCxnB06CAFUH4HDpmCFDAipml5omSAAmQAAl4hAAErLZt28ptt93m+IyuXbsmDRs2pIDlOFn/dEgByz9rxZl6iAAFLA8thk+nQgHLpwvHafuKAAUsXy0XJ0sCJEACJEACYSVAD6yw4nZkMApYjmBkJ7FGgAKWP1e8ffv2MmXKFE9MngKWJ5aBk4hyAhSwonyBeXokQAIkQAIkEAIBClghwItQUwpYEQLPYf1NgAKWf9Zv/fr1snr1almxYoWcOnVKXnjhBSlcuLDkzp1bE0lGyihgRYo8x40lAhSwYmm1ea4kQAIkQAIkYI0ABSxrvLxwNAUsL6wC5+A7AhSw/LFkWbJkUbFqwYIFWtGkWrVqcvXqVcmcObMmgMyWLVvEToQCVsTQc+AYIkABK4YWm6dKAiRAAiRAAhYJUMCyCMwDh1PA8sAicAr+I0ABy7trhsSRn376qfzyyy/SqlUrSZs2rVStWlUuXLggpUuX1qSSZkuVKpW8/PLLYT8hClhhR84BY5AABawYXHSeMgmQAAmQAAkkkwAFrGSC8tBhFLA8tBicin8IUMDy3lqdOXNGGjduLKdPn5bvvvtO4H0FW7hwodSuXVv++usvyZMnjx5j2LvvvqthhP/5z3/CfkIUsMKOnAPGIAEKWDG46DxlEiABEiABEkgmAQpYyQTlocMoYHloMTgV/xCggOWdtYJnVffu3eXcuXPStWtXqVmzZtDksFYIFfzjjz/UEwsfVDNnzlRBq0uXLpI6dWoKWN5ZTs6EBBwlQAHLUZzsjARIgARIgASiigAFLP8tJwUs/60ZZ+wBAhSwIr8I27Ztk/fee0++//57/b9EiRJJTgohhOYqhGXKlJE0adJQwEqSHA8gAX8SoIDlz3XjrEmABEiABPxLAOk86tWrJxkzZnT8JK5fvy7dunWTTp06OdK3UwJWnTp15MiRI5IiRQpL87p8+bLs2LEjwTb/+Mc/NGcvUqLQ/iZAAYu7gQRsEKCAZQOaw02QlH358uUCESq5hrDC8uXLBw5HeGG6dOkoYCUXII8jAZ8RoIDlswXjdEmABEiABHxPAALWgQMHpG7duo6fy8WLF2X8+PHSq1cvR/p2SsDCfAYOHKhFo6xYgQIFBA/lE6qMTgErYZIUsKzsMB5LAv8jQAEr8lsBHxBWcldduXJFPxw2btwoly5d0n94WsIQwsivJWdAAm4RoIDlFln2SwIkQAIkQAIJEzAELHzvPn/+vNx5552ayuP48eMa+QBha86cOZI7d24tsGQ2vI4K4hB2zIaK4rfddpse37lzZ5kwYYIj+J0WsI4dOyY//fSTlCpVSsDhlltu0VQmO3fuFHhb4dyRtxf3I4888ogek5jYRwGLApYjm5ydkAAIUMCK/D6wKmAh5xW8r/BB9eeff0qmTJn0Q5QCVuTXkjMgAbcIUMByiyz7JQESIAESIIEbC1h9+vSRYcOGyezZs+XgwYNy7733yjPPPCPvvPOOilnVqlWTDh06BDp5+OGHVfiBiLV169bA61999ZUcOnRImjZtKtmzZ5cRI0ZoeGLHjh1DXgKnBSykNenZs6cKd/nz59d/EN8gWvXo0UNZjBo1SgYMGKAMzp49K8OHD5fRo0fHOxcKWBSwQt7g7IAEDAIUsCK/F6wKWJhx+vTp5Y477ghMfteuXQwhjPxScgYk4BoBCliuoWXHJEACJEACJJAgAcOrCALWXXfdJeXKlZNVq1apWAPRCmLU0KFD5dVXX5WJEycG+oBgs3//fi26hP8N+/jjj2XZsmWyb98+WbJkiXpgmds5sQx40A3DHIyfrfRrhBA2b95c5s6dK7jHWLdunZ4zRDvYk08+qTmt+vbtK0uXLpV+/fpJwYIFBZXJEzPmwIpPhiGEVnYmjyWB/xGggBX5rWBFwEL44Nq1a6V///76AWgY8l/RAyvya8kZkIBbBChguUWW/ZIACZAACZBAwgTMAta0adNk7NixGiZXqVIl/S4OIQchdQgxXLFiRaCTWrVqSaFChVQAiitglSxZUp566ikt3jRo0CDtq3Llyo4tQapUqRwRsCBKwUMM5zxmzBgNeZw1a1aQgPXoo4+qkPXJJ59oSOFHH32kolZCljJlShXVaH8ToIDF3UACNgjEgoAF9108LQmHtW7dWooWLWppKCsCFiqWoCoIxli9erVkzpxZ8Bo+OClgWcLOg0nAVwS8LmC98MILYeGJL8a33nprWMbiICRAAiRAArFNwBCwkA8K1QgXL16s38MhYuHhMTySIPAgHPCxxx4LgoVQuhw5cgg8mcw2btw4KV68uDzwwAPyxBNPyMyZM12BHKoHFryuqlevLpMmTdLzQ/QHPLrgkYU8YKiguGnTJrn//vvl22+/lT179uh5weuMljwCFLCSx4lHkUAQgVgQsP71r3/JyJEjXV/5X3/9VbZs2SKNGjWyNJYVAcvoGE8x0qZNGxgHHyT4YLGSDN7SJG9wMNyF8eQorgs0PtRQWdGO+7JTc2M/JBAtBLwuYDVp0kTzYbhpn3/+uT4BRhJdGgmQAAmQAAm4TcBKFUIkcjfs8OHDgZ+ffvppmTdvnv4OoQeJ3WGoQgjvpU6dOrlyGqEKWFarEOJ+YMeOHa6cS7R2SgErWleW5+UqAQpYzuHF0xiINo0bN7bUqRUB6+rVqwLX4Pvuu0+rlsALq1ixYoJkkUjkTgHLEnoeTAK+IeBlAQvJW7t06UIByze7iRMlARIgARJIDgEIWMhTBU8qp+3atWuCUEOvCVgNGzYUPCg3QhGTe97btm2jgJVcWP87jgKWRWA8nARAIFYELFTFwAUZSRMRn50zZ06555579PzhHrthwwZp1qyZIL4dF+zt27fr3w3DDRoqjpw4cSJo4yAfFZIdonwsYuEhXsFLwIoZAhbEKcwDT2ZQqhZVP1BhELHzR44cUVdj5MBCqCA8EDA25omEkijHi3mjMkrWrFnDGmNODywrq81jScAeAS8LWAgXWL58uSa4xRNf/IzQCeT3QJLbsmXLaoJbXB9feeWVAIAhQ4bIa6+9plWOEJ6BUAp4zKIkN65zMPwdOUTq16+vodP0wLK3f9iKBEiABEggtgjY9cCKLUqRPVsKWJHlz9F9SiDWBKzevXvL888/L88++6xAOPrtt980kWKWLFnk0qVLWmWjSpUq8uOPPwZcfI2lNSpumJca5WMhOLVp00ZvwHCDBrHJiq1fv17ef/99ja1HHD2SICKnFV7D+qDaIMS106dPy0MPPaQ3iBC2IKgZhnnDUOLWTQELollco4BlZbV5LAnYI2BHwILoHQ5DyMC5c+dUwMI1ColfcW3E9eLNN9+U7t27q8coSoXDY9RsRsgBrsPIV4iHC2YBC8fiqe748eOlZs2aFLDCsaAcgwRIgARIwPcEKGB5fwkpYHl/jThDDxKIRQFr2LBhKgohPh0iEG62DAELN18Qh3Cz+M477wStWGICFrwHkOsJN10QsBDKZ8VQ0QMJHJFHasGCBVqCFqGAefPmlS+++EKQWwteCfBqaNWqlXZ99913600h2sIzwaj40bRpUytDWzr2s88+SzCfFQUsSxh5MAnYImBHwMKXV3iYwkPTTUMJbXipQsCCiI5cWAMHDgzkHoSX6IABAwTXEOT7SEzAwoMDeJmaBSwkhUWCeFy3kWOQHlhuriT7JgESIAESiBYCFLC8v5IUsLy/RpyhBwnEmoCFm6FvvvlG4Ik1Y8YMyZYtmxw6dEgFLCRThPfTokWLVEQyJyKEVxVuzBAqM3/+/MBKXrhwQUMN4R3QoEEDgYBklJhN7nIbIYQnT56UggULynPPPaeCFKoLIowGHmO4GYRXFgyv5cqVS8NzcC6oeoLf3a5CmNgHIQWs5K40jyMB+wTsClgo6+1kee6EzgDiPpK49+jRQ69JDz74oIrtEKyQnw/5PVq0aKHXSIRzG/biiy9qie527drp9Q6esajkahawOnToINOnT9drNB4qUMCyv4fYkgRIgARIIHYIUMDy/lpTwPL+GnGGHiQQKwKWnSqEQ4cODayYUSIeFfU++eQTFb1g5tLxyFW1efNmV5O4GxPKly+fJpU0DIIXBC43k7hTwPLgG5hTihkCXhawsAjJqUIIkf7jjz+Wy5cvq+AO79WEDOGH8MRCXr+WLVtq+W4YqxDGzHbniZIACZAACYRIgAJWiADD0JwCVhggc4joIxArAhaSBbttSBAPry0ki7diVqoQGv3iZhb5YFDBBJVC4OlAAcsKdR5LAv4i4HUBq1GjRurV6qZ9+eWXWrQCRSxoJEACJEACJEACiROggOX93UEBy/trxBl6kEAsCFirVq3SpOxuGz4okEML3lFWzIqAhTCbZcuWqfcVEiTDIwECFn5nCKEV6jyWBPxFwOsCFgpQhMNQMAPJ4GkkQAIkQAIkQAIUsPy8Byhg+Xn1OPeIEYgFASticJM5sBUBy+gSZekRymgYKiEieTxDCJMJnYeRgM8IeF3A8hlOTpcESIAESIAEkiTw888/a8RD+vTpkzzW6gFIS4KcvMgT6YbRA8sNqs72SQHLWZ7sLUYIUMCK/ELbEbAyZ84sRYsWDUwe3ljp0qWjgBX55eQMSMAVAhSwXMHKTkmABEiABEggUQIQsA4cOKBFnpw2FI+aOHFiovkgQx2PAlaoBN1vTwHLfcYcIQoJUMCK/KJaFbCaNWsmqKaI0MgKFSrI4sWLWYUw8svIGZCAqwQoYLmKl52TAAmQAAmQQDwChoCFSri///67ft/+888/5dSpU5q6A1V+ly5dKjlz5hREQ5gNr999991yxx13BF4+evRooMp59erVNQXIhAkTXCFPAcsVrI52SgHLUZz+7qx///5aytttK1KkiJb39rNRwPp79X755Rdp3rx52Jdz27ZtUqxYMR138ODB8sgjj+jPqMKF/FYpUqQImhOeBD322GMqYOHpTYYMGdS1mTmwwr50HJAEwkaAAlbYUHMgEiABEiABElAChoDVp08fee2112T+/Ply8OBBKVCggIb+4T4Qx9SoUUO6desWoPb444/LXXfdpeLWxo0bA6+fOXNG26O/BQsWyLBhw1QUQ8Vdp40CltNEne+PApbzTH3b45NPPilTp051ff5lypQJuii5PqALA1DA+hsqEr2fOHFCatWq5QLpxLvE05fy5ctL/fr19cOsVatWejDCAlFuvmrVqvEao+Jgjhw5gl7HaxDh3LLEPggh5OIJFNygzbZp0ybBewQx/jQSIIHQCFDACo0fW5MACZAACZCAVQJmAQsPm++55x5ZvXq1HD9+XCpWrCgQpIYPH65CFP43DN+Z9+/fr9/h8b/Z8F0fD6Fff/119cCK+/3Z6hxvdDy/gztJ0/m+KGA5z9SzPR4+fFhOnjwpJUqUiDdHeKR07NhRPv74Y9fnTwHrTBDjP/74Q4oXLy5NmzaVN998M+hv8+bNk7Zt2+oF32znzp2TrFmzypw5c+Thhx92fc1uNECkBCzM6ezZs/qk5p133hEIsLBr166p+JMqVap408aH5qJFi4Jex4elG0kmzR/GCX0QUsCK6Lbl4DFCgAJWjCw0T5MESIAESMAzBMwC1nvvvScfffSR7N27VypVqiSI+MF3dnhU4Ts7RCnDEB6I+8QZM2bEE7AQboiH1PjeP2jQICldurSmBHHDbrnlFje6ZZ8OEaCA5RBIL3eDm+ctW7ZI3rx5NXQKF4C4BjdN5AeCwLV582bBTf37778vqNr2+eefy/bt29XTBV4ueB0Xl2rVqsnIkSMDXe3evVsVc4Ry4WJltg4dOsiXX36pFyscY3YL9TK7xOZGD6y/yRgCVteuXcVw/T127Jh89913Urt2bd17vXr10r0HjyOYITDt2LFD6tSpox9CRjjgq6++Gugc4YAPPPBAvP2yZMkSWbZsmcbVjxo1Sj8I8+XLp2GDr7zySqJbqkqVKrJixYqwbjl6YIUVNwcjgSACFLC4IUiABEiABEggvAQMAWvfvn36gH7u3Ln6HR2/o3gSQgHfeustwWd0+/btgyYHDyuEGiJ3rWG4h3j77bflxRdflKtXr2rqklmzZoX3pDiaZwhQwPLMUjg7EXhS4aYeFwsjFxBEAyjdCVmaNGk0PhmCAjy0cLHZunWremXhYoOfccFB4us8efJovDIquk2bNi3QHdw5ccHCsXANNdtDDz0kEB1wAevXrx8FLBOcaPHAeuGFFzSUEB8qcAdGXiqsNeLT4SmG/WUIWDh9CDvIVXX77bergPXtt9/qXo27dxJK1Dhp0iS57bbbpHHjxiqGYa/v2rVL1q1bJ0jujg86cEV4oNkoYDl7nWFvJOB1AhSwvL5CnB8JkAAJkEC0EbBShRD3k4YhwsQwfLfH/QNszZo1cu+99+rP+I6PlDfIpUWLTQIUsKJ03Q0Bq0WLFtKuXTs9S3irnD59OsEzxs0+PLPgWQQBq2/fvoIQJ1SMgNsnRAJDwMLPEKNwLISKTJkyaZ+zZ8/WWGaIYXG9XCBmDB06VAWyRx99lAKWaRWiRcCCWHXrrbdK69at1VPPLGDF9cDC6UPAwj9UGYGAhf2TkCUmYEEYw4cbPATx/7PPPivlypXT35s0aaLuxRBfJ0+erOPAKGBF6QWPp0UCiRCggMWtQQIkQAIkQALhJQABq0ePHvqQ2mmDBxZCBylgOU3WP/1RwPLPWlmaqSFgIc4YrphJGbxeEG8MMQp5mCA2jR49WpNjIz8TQgUhaiFhHkSoUqVKya+//qqxzOY4YYSQPffcc5qgz2yoQAGhBu6izIEVnTmwIByNHz9eq40gjA9hpE899ZS6+7Zp00YuXbqk+8Yw7CuEHyKHF8RSeGDB4MFnGPYMErUjPBAhqGaDWIW9jXh5iFcYG2YIWEbeKYyD9wNi5uvVq8cQwqQuBvw7CUQRAQpYUbSYPBUSIAESIAESIIGYJ0ABK0q3gFUBCzf7EBngbWXFEGpouHtCuIJAAIMYZuTBQthg2rRpA91SwIpOASs5VQiNYxAquHDhwgS3mrkfhKwaBg+vDRs26K/m15G3zVyFMK6AheMhjuH1n376iQKWlTc4jyUBnxOggOXzBeT0SYAESIAESIAESMBEgAJWlG4HqwIWMCAMy5wwzy00SNLNJO5/0/V7COEPP/wg33zzjZQsWdKtLXPDfs+fPy/Xr1/XsEVYQgJWRCb2v0GZxD2S9Dl2rBOggBXrO4DnTwIkQAIkQAIkEE0EKGBF02qazsWOgHX06FG5cOGC60TgjYW8R342ViH8e/WQJw3VJSNpOXLkkIwZM1LAiuQicGwS8CABClgeXBROiQRIgARIgARIgARsEqCAZROc15vZEbC8fk5emh8FLC+tRvBc6IHl3bXhzEgg3AQoYIWbOMcjARIgARIgARIgAfcIUMByj21Ee6aA5S5+Clju8g2ldwpYodBjWxKILgIUsKJrPXk2JEACJEACJEACsU2AAlaUrj8FLHcXlgKWu3xD6Z0CVij02JYEoosABazoWk+eDQmQAAmQAAmQQGwToIAVpetvR8BCEndUa3PbcufOzSTuJsh+T+Lu9n6x2j8FLKvEeDwJRC8BCljRu7Y8MxIgARIgARIggdgjQAErStfcroA1depU14mUKVOGAhYFLNf2GQUs19CyYxLwHQEKWL5bMk6YBEiABEiABEiABBIlQAErSjeHWcCCYFSxYkV58cUXZdy4cXLTTTfFO+vff/9d+vXrJ/3795cDBw4IqrqhUuD+/fvlrrvu0ipzqFIIK1eunGzfvl1uvfVWyZUrV1Bf69evlzvvvFOyZ88e7/VbbrlFChYsKBSwzgSxoQeWs29CCljO8mRvJOBnAhSw/Lx6nDsJkAAJkAAJkAAJBBOggBWlOyKuB9axY8fkzJkzKkYlJGAtWrRIzp49K8ePH5eUKVPKypUrZfr06SpkLV++XNKmTSuFChWSMWPGyNNPP60iVNmyZWXSpEkBghCvEIZYuHBh+fLLL4PItm3bVk6dOiVff/01Baz/roPZKGA5+yakgOUsT/ZGAn4mQAHLz6vHuZMACZAACZAACZAABayY2AOGgHXzzTdLhgwZ9JwhlJw/fz7B80+TJo3Mnz9fduzYISVKlJCmTZvKpk2bpEmTJnLixAn59ddfJV26dLJ48WK57bbbpHXr1upp9dlnn8k//vEP7bNz587qqfXLL7/o8WZ76aWXZMuWLRSwSnMZJ58AACAASURBVJZUIdEJAQsebbTECfz111+ewIP3R0JzKVKkiFSuXFkmTpwYNE+87yAQe2X+noDISZCATQIUsGyCYzMSIAESIAESIAES8CABemB5cFGcmJIhYPXs2VNDA2HXrl2TK1euJNg9RJWffvpJvaQgYA0ZMkTgtQUBq2/fvnozbQhY+Bkhh0uWLNG+s2TJon3ixrtFixb6+9q1aylgLVsWxAChmSUdErCuX78uqIRIS5zA7bff7gk8FLA8sQycRIwSoIAVowvP0yYBEiABEiABEohKAhSwonJZRawmcYdn1rvvvqseIQj/e+KJJ9QjCzmxevfurR5XCCns2LGjHDp0SPLmzavhhggrhJeXYcOHD5f69evr62ZDHzD0iz42btzoa/IQj/Lnzy+rVq2S0qVLB51Lu3btZN++fbLMRQHL1/BibPIUsGJswXm6niJAActTy8HJkAAJkAAJkAAJkEBIBChghYTPu42tClg4E+SvslqFEDmyTp48qSAggEGcgo0YMUL69OmjP0McS58+fQAWk7iHHkLo3Z3HmcUlQAGLe4IEIkeAAlbk2HNkEiABEiABEiABEnCaAAUsp4l6pD+7ApYRDujmaaxevZoeWCbAdpK4u7k+7NtZAhSwnOXJ3kjACgEKWFZo8VgSIAESIAESIAES8DYBCljeXh/bs7MjYNkeLAYbMoQwBhfd5ilTwLIJjs1IwAECFLAcgMguSIAESIAESIAESMAjBChgeWQhnJ4GBSyniQb3RwHLXb7R1DsFrGhaTZ6L3whQwPLbinG+JEACJEACJEACJJA4AQpYUbo7KGC5u7AUsNzlG029U8CKptXkufiNAAUsv60Y50sCJEACJEACJEACFLBibg9QwHJ3ySlgucs3mnqngBVNq8lz8RsBClh+WzHOlwRIgARIgARIgAQoYMXcHrAjYKEKYYoUKVxntX37diZxN1FmEnfXt1xggEWLFknt2rXDN+B/R6KAFVbcHIwEgghQwOKGIAESIAESIAESIIHoIcAQwuhZy6AzsStgTZ061XUiZcqUoYBFAcv1fWYe4NChQ1KyZEkpUqSIrFixIqxjU8AKK24ORgIUsLgHSIAESIAESIAESCBKCVDAitKFjStgjR07VuBhdfjwYf1Xq1atoDM/d+6cjBkzRh566CFZsGCBVKhQQWrUqCHz5s2Thx9+WOC5sm7dOm3z8ssvy+TJk6Vw4cJSsWLFQD+nTp2Sd999V1q0aCH58+cP6n/69Oly5MgR6dWrl1DAOhPEhh5Y7r0JBw8eLGvXrpWyZctKmzZtpHXr1nL16lUVswYOHCjZsmVzb/D/9UwBy3XEHIAEEiVADyxuDhIgARIgARIgARKIHgIUsKJnLYPOxBCwevfuLQMGDEjyLL/44gu56aab5NixY1KiRAkZMWKE4LU0adLI999/L6VLl5Z06dLJ4sWLpXz58vrv3nvvlbgeWz///LMcOHBA6tatGzTmoEGDZOTIkbJnzx6pU6cOPbBMdChgJbk9LR0AgerSpUuCG9dKlSoJ3gPlypXTvd2uXTtZuHBhvP4yZMhgaQwrB1PAskKLx5KAswQoYDnLk72RAAmQAAmQAAmQQCQJUMCKJH0XxzYErFtvvVWyZs2qI8HL6sSJEwmOCqFq/vz5smPHDhWwmjZtKuvXr5cHH3xQfv/9dzl+/HhAwMqYMaM0bNhQSpUqJTNnzgzKm5WYgNWjRw/1zpo7d67069ePAhYFLFd2P4TX1atXq2cgRFSIrBCsIJrC0qdPL7lz5w6MvXfvXt3X//nPf1yZDzqlgOUaWnZMAkkSoICVJCIeQAIkQAIkQAIkQAK+IUAByzdLZW2iVnNgnTx5UkMHz549K5kyZZIlS5bI8uXLZejQodKsWTMVv7Jnz64eWPAYypIli4pR3bp1C4Rh/fnnnxpqiAp9nTp1Cprwq6++KlOmTJGDBw8yhPAMQwit7eYbH33t2jX55ZdfpEqVKvoPnoNmW7NmjRQrVkywxxFGu3TpUg2jhRUqVEhSp05NAcvJBWFfJOAhAhSwPLQYnAoJkAAJkAAJkAAJhEiAAlaIAL3a3KqABVEKIhMEKYgB8FyBdwoEAYhS8Mratm2bik8Qs+DZBa8V5BCCAADD7/B+gcWt9AbPLoR1wWuLObAoYDn1vvn3v/8t06ZNk+rVq0uDBg10397IkNtt5cqVsnnzZvnrr780xJACllOrwX5IwHsEKGB5b004IxIgARIgARIgARKwS4ACll1yHm9nVcDC6cA7xWoVwubNm8v58+eVxjPPPKMJ32GzZs1SjysYPGLSpk0bIEYBiwKWE28f5K1q0qSJfPjhh8nuDmKVOd8VPA4RVsgQwmQj5IEk4CsCFLB8tVycLAmQAAmQAAmQAAnckAAFrCjdIHYFrA0bNrhOBALCxo0bXR/HzQEQJolKi6tWrdIE92ZDovB9+/bJsmXLgl5HcntUvzvDEEJHlubmm2+2JDwhuTsKFSD0FeGwhw4dksaNG2uhAgpYjiwJOyEBzxGggOW5JeGESIAESIAESIAESMA2AQpYttF5u6EdAcvbZ+St2VHAivx6WBWwkCvrjjvu0KqaP/74o9SvX1/FK4YQRn4tOQMScIsABSy3yLJfEiABEiABEiABEgg/AQpY4WcelhEpYLmLmQKWu3yT07tVAQt9pkyZMiicFbnfGEKYHNo8hgT8SYAClj/XjbMmARIgARIgARIggYQIUMCK0n1BAcvdhaWA5S7f5PRuRcCC9xXyXSGJe9++fQPdP/XUUypoMYQwOcR5DAn4jwAFLP+tGWdMAiRAAiRAAiRAAokRoIAVpXvDjoCFZOyoFOi2pUqVSrJkyeL2MK72HwsC1u+//y4XL150laPReebMmYM8o5IzqBUB68qVKxoqiH23bt06KVCggFy+fFkTujOEMDm0eQwJ+JOA1wWs48ePhwVs1qxZ1QOVRgIkQAIkQAIkQAJ+JkABy8+rd4O52xGwUIWwbt26rhMZNWoUk7ibKCOMrXjx4tK0aVN58803g/jPmzdP2rZtK+G6yTEP/q9//Stegno3NseJEyfkrrvukoYNG1rq3oqAZXSM5O21atUKjPPJJ59oYnd6YFlCz4NJwDcEvC5glStXTp577jlXeaJoSo8ePeTOO+90dRx2TgIkQAIkQAIkQAJuE6CA5TbhCPVvFrAGDRqkN+jwNjHswoULkjFjxsDv169fV6Hko48+cn3GZcqUoYDlEwFr5MiRru8HVGfctGmTVgS0YlYErL/++kv+8Y9/aPXBOnXqyOnTpyVTpkzy2WefUcCyAp3HkoDPCHhZwEJl1GbNmsns2bNdpfr555/rwwgKWK5iZuckQAIkQAIkQAJhIEABKwyQIzFEXAEL4YEIBzt16pQULVpUzp07JwjbMuzMmTMyffp0yZkzp4wePVpatmwpnTp1khEjRkivXr3knXfekZkzZ+rhK1askKefflqqVq0qrVq1CvRx8OBB/X3YsGFSvnz5oNOuUqWK5h966623hALWmSA2XvbAwvojZxQq97333nuSN29eadSokXz99deCNYXhpmjq1KlSrVo1FUBR6c8weFc1adJE94zZZsyYIWPHjpXu3btrNUD8P3HiREtvFSsClhFCiP2Nc1mzZo16YuXKlYshhJao82AS8BcBLwtYnTt3Vu+rV155RY4eParXSeOzFp+vjz32mDzzzDN6rXr55ZcD4PEZi2swrrm4DjZv3lxeffVVvUYjRB+GB1eLFy/W/vbu3UsBy1/blrMlARIgARIgARJIhAAFrCjdGoaABfHgiSeeSPIscVNfsWJFOXTokJQoUUJeeuklWbRokeTPn1+GDh0qLVq0kHTp0ukX4lKlSknt2rVVzIBwYbaff/5Z4FETNxQR/W3ZskW/dFPA8o+ANXz4cA3t6927t3rN3XbbbTJt2jS9mSpZsqTmlELeNAii+Pmnn36SwoULB+0JhKbG3Sc4AB5RY8aMUfEK3lcQTa0Yjv/xxx8lW7Zs8vDDD8vkyZNVkFq9erXm01q4cKH89ttvGpaZL18+zf9SpEgRvbEzDN4PeH3w4MEaxog52TVUM3zooYfiNUef8ACLa5hL5cqV4wl38EbDeyShNnbnxnYkEKsEnBSwtm7dKrt373YM5YABA2T79u167cEDIzwMwHUWn8X333+/dO3aVYWpQoUKabVUs+H6sWPHDkEhin379snJkye1LXL6GQahCw+ncD2hB5Zjy8aOSIAESIAESIAEIkiAAlYE4bs5tCFgQXDAF3gYvsgi+XhCliZNGpk/f75+IYaAhXxMELXuvfdeQXghRApDwMINf82aNVXEmjVrVlBiWApYIu3atdMbimXLlgWhhrAH0QfrYDYve2CZBSyIM+PHj5cXX3xRz7Ffv34BAQsC56effipz5syRevXqBZ1fcgQseHV9+eWXlt8Sr7/+ut74LViwQMUphMpCQINoC09D5FvDv549e2rf8FaA8GoY9rtTQhFuPvfv3x/vHChgWV5WNiABxwg4KWAhLyCuJ04arj8QsOAlevjwYcEYyFcFYf6ee+5RAWvz5s3qsWo2s4D1/vvvax7FuAIWHkJB4IJXNQUsJ1eNfZEACZAACZAACUSKAAWsSJF3eVyrSdzx9BYiwNmzZ2XXrl0ahoC8GQgrxNNgPHUuVqyYemAdO3ZMv3B/9913mjcLX7RhEGbgrYX/J0yYEHSGELvw5RyCFwQNfNH2s8VCFULcSBkCVsGCBaVNmzYqDKGKHzz7sD/gdQUBDh53EEAheELENAyVDBHmgr4gchmGGzLcUEG4Qj/oz2oeGCOEEHsXAhVCGqtXr64iVp48eWTgwIE6LnK/IVw2RYoUekMIDy0IcFOmTHEshBDj4DwoYPn5Xc25RyMBpwWsxN7ndtghH9/bb7+tefmQb3Dbtm3qzYrrFyql4qEHvEgRig2RyrBvv/1Ww/XhdQrhH+0h5psFLBQAwe/4rMLnLwUsOyvENiRAAiRAAiRAAl4jQAHLayvi0HysCliXL1/WUK64wlNS0zF7r8QNvzL+Fvd1hhD6xwPLThL3xPZEYq+HI4m7sY8hci1fvjywrRFqiJCbUKsQUsBK6krBv5NAZAh4WcACkeSK9zf6rDXIJnYMk7hHZu9xVBIgARIgARIgAecJUMBynqknerQqYGHSiYV63eiEkHgbHjiwGjVqqJcWDHl8Vq5cqT8jCa2RWBa/U8CKbgEL4SqGIRQGhhsreN/BCw9mvI6fEW6JXFbwxrJiVpK4G/1CsDI8BvHakSNHNDSWApYV8jyWBPxDIBoELBRfQYg2wgzxWYrP1IQMYYaobIhjHn/88UD6AApY/tmvnCkJkAAJkAAJkMCNCVDAitIdYkfAQhjWF1984ToRiFxI5u5ni4UQQoTgIcwuHAYhFGEwVsyKgAUBDeGxyOMFYRV7vX///po0mR5YVqjzWBLwFwGvC1gIxw+HIXQ6d+7c4RiKY5AACZAACZAACZCAawQoYLmGNrId2xGwIjtjf40eCwKW11fEqoCFConIw7VmzRq5ePGiVkyEoEUBy+srzfmRgH0CXhew7J8ZW5IACZAACZAACZBA7BGggBWla04By92FpYDlLt/k9G5FwDL6Q2gNwggNg5CF8vQMIUwOcR5DAv4jQAHLf2vGGZMACZAACZAACZBAYgQoYEXp3qCA5e7CUsByl29yercqYPXt21eraH700UdSoUIFQZWuqlWrSpo0aShgJQc4jyEBHxKggOXDReOUSYAESIAESIAESCARAhSwIrw1IDTZsVy5ckn16tUTbWpHwEKODCTUdtuyZMkiDz/8sNvDuNo/Bay/8Z4+fVrFoHBbhw4dAqXlK1asKHnz5tUpIN9V3MqXeB0JjocMGSLff/+9HDx4UIoWLSpZs2ZlCGG4F47jkUAYCVDACiNsDkUCJEACJEACJEACLhOggOUy4KS6R/jSgQMHkjos6O9Hjx6Vt956S6ZNm+aogIUqhCNHjrQ0FzsHI+/Qxo0b7TT1TBsKWH8vBSoI7tmzR72ZwmlIwI73DgS0DRs2SKtWrXR45LiCwcsqrsHb6pZbbgm8fOLECYYQhnPROBYJhJkABawwA+dwJEACJEACJEACJOAiAQpYLsJNTtdWw6CMPlG5aP/+/YkOYfbAGjRokJw/f14yZ86sx8PLKlOmTOp9YhhKbz/99NPywQcfJGfaIR1TpkwZClgmgn/88YcUL15cmjZtKm+++WYQW3g2tW3bVo4fPx4SczcbQ8CCEFSrVi03h0mw75deeklfL1SokECAhf32229aSt7wyDI3zJ8/v3Tv3j2oL+TF6tatW0hz/9e//iUoVZ/QexLeYPAKi2tFihSRypUrCyowmm3Tpk2C90hCbUKaJBuTgM8JbNu2TVDF1opRwLJCi8eSAAmQAAmQAAmQgLcJUMCK8PpAwFqxYoWUK1dOSpUqpZ4kc+fOlTlz5sikSZM0Pw9uZKdOnSoFChSQ5557TlatWiVr166VmTNnJugxheMhYLVu3Vr69+8vr7/+up4lhKsjR45IunTp5LbbbpPbb789cPYQSBYtWiRnz56V3r17S48ePVRMeeqpp+S9994T5A9C+NVNN90kEFxwg924cWPp169foI/du3dLyZIl5Y477pCff/45iGyjRo103hA6KGCdCWITLQIWPOuQIH379u1StmxZOXfunGTPnl1Fml69emnlP/wMu3btmu7DS5cuSb58+aR06dKyYMEC/Zs5oTp+hsfUlStXgphNmTJFEEKIvY09DvEKXmBLlixRj6rErEqVKvp+c9q8JGDhvYd/eH/SSCBaCCBkHp9HqCRqxShgWaHFY0mABEiABEiABEjA2wQoYEV4fQwBCzfgCImCdwhu9pEjCgLSa6+9JocPH1bPKNy0Q8C6cOGC7NixQ5o3b55gmBT+vnfvXlm3bp3cd999Ko4lZQjFeuaZZ1TkKlGihP68cuVKqVatmtSrV08GDhyoggOSYOMJeLNmzVQEg7BmNogxtWvX1rZm69KliybPhvDWvn17emCZ4ESLgIX9Wr58eRWu3n33XRk8eLAKnC1btpQ///xTRVFDwMLpwzMJexh7AgIW9hNeGz9+fNDe6dy5s0yYMCHeFs6YMaO8+OKLAQELHoWFCxeWzZs3az8JtfGTgNWpU6ek3rYJ/h3eljNmzFAvNBoJ+JUAvE/xICdU+/DDD/Uz1XiQY/QHwRyie0Kejrh+QOg2X6/Q7kZCdajzZHsSIAESIAESIAESIIGkCVDASpqRq0fEFbDwlBlCz8mTJ1WEeuONNwICFgQkPE2eP3++5v159NFH9feEDDexRp6mggUL6iEQttBvQpYiRQoZNWqU7Nq1SwUseG/hiz+EKuTcwpd8Q8DCz/j7/fffr3NNnTq1donXv/nmGw1VjPvFH2IGQhnhIQMRjjmw/l6FaBGw4BkB0eSXX35RzyuzgBXXAwtnbyRah3ALAWv27NkJ7s3kCli33nqrvP322xrK16RJE71phcfGPffcE+jXDwIWPNgQTmrX4K0Gz7ZDhw7Z7YLtSCDiBCA4vfzyy/pAxLhW4PMJXp5WDWIwBHSzUcCySpHHkwAJkAAJkAAJkEDkCVDAivAaGAIWPJ0efPBB6dq1q4boIdQOAhQEAXhgIYQPAgE8oHBTDs8WVA2Mm8/HOB2rVQghbOELPUII0RYeYPD4gicVQgIR/lezZk0dH6GCyNmEcEfcaGfLlk2HHTNmjCAnUaVKlVRkMxtyDKGvrVu3MoTwTHSGEKIAAG46EXIK76fkCFjwssCeR/gsQgxh5r0DIQYCbN26dTWk1jAcU79+fQ0/xE0tPBgNb0BDwEI+KoTSYV9iHNwE+0HACvWStHPnTnniiSdURDTb5MmTJXfu3KF2z/YkEBYChoCFMGKEvuN37G2jSEOok6CAFSpBticBEiABEiABEiCB8BOggBV+5kEj2kniDk8nJHG/UfVCqwIWhDIICWaRIDlovvvuO7l8+bIeiqTUefLk0Z8RighhAQbhK2XKlIHumAMrOgWs5CRxX7hwoe4DiEnwrEjIjGPwtzp16gQOQXJzw4PQ/Dpeg6BlJHE3BCxzaBAEMAhen332madyYCHRfGIidHLef4kdAyEZAjdy6BmGnGEQw2EQwRGCCZELeetoJOA1AoaA9dVXX9nyukrqfOAFjPcJQwiTIsW/kwAJkAAJkAAJkIB3CFDAivBa2BGwkHAdOaUSC7nCKVkVsNDG7MWSXCx4Io6E3LCcOXMKwrhgp06dkmPHjunPCOFCiKJhFLBiV8BC7jYYBCzkq0rIjGPwN4iihh08eFB+//13/dX8uuE92KpVK/1bQgIWXkd1QuxViL9Om90k7nGLHTg5r3bt2qkXZUIGL0qEGiIUGB6fqO5mfo86OQ/2RQJ2CBgCFjyAjRBCvNfNRR7s9Bu3DQUsJyiyDxIgARIgARIgARIIDwEKWOHhnOgoHTt2tDWDe++9V3NJJWZ2BKz3339fE7+7bbghwZNvP5uRXwyhlcjfZDYIB/BAW7ZsWdDr8JiDt8uZKAshxHkhXDCShsIAyMkGS0zAcnN+dgQsN+eDvnv27KnvMyS3T8pwHYI32COPPKLhwTQSiDQBcwghRG08sEHex59++klwjTV79To9VyZxd5oo+yMBEiABEiABEiABZwhQwHKGo+d6sSNgee4kPDwhCljeXRwKWP9/bRCKCbE4MU+3uCsIzxYkzUZuILMXnHdXmjOLZgJmAeumm24KVNWEp2CqVKlcPXUKWK7iZeckQAIkQAIkQAIkYJsABSzb6LzdkAKWu+tDActdvqH07kUBK5Tzsds2S5Ys6lGFSqFWDNVH9+zZI6j+yKTvVsjxWCcJGAIWwtKNEEKEEBs5F50cK6G+VqxYEa+a7o08Ld2eD/snARIgARIgARIgARL4byqa/+Z/+Isgoo8ABSx315QClrt8Q+ndawJWKOcSalvkCrPrTYXqojNnztTqqDQSCDeBuCGEKDhwyy23aPEBGHK4pU6dOqzTooAVVtwcjARIgARIgARIgATiEaCAFaWbwo6ANWHCBMdKlN8IK5JoDxw40NfkKWB5d/koYP29NpUrV5YZM2ZogQWrdvbsWWnevLk0bNhQvbFoJBBOAmYBC4UGIF4tX75cqlevrtM4evSo5MiRI5xTEgpYYcXNwUiABEiABEiABEiAAlas7AE7ApadKoR2eLIKYXRVIbSzB9xsEykBa9SoUW6eluW+06RJI1u2bBHMa+LEiZbbGw3q1q0rL7zwQkA4sN0RG5KABQKGgIV9bNjVq1fl+vXrFnpx/tA777xT9u/f73zH7JEESIAESIAESIAESCBJAvTAShKRPw8wC1j169eX8uXLB07kxRdf1CfJ//znPwOvIa/IM888I5MmTXL9hClgUcByc5NFQsDau3evHDp0yM3Tstw3El+jomCPHj1CErBQNbNq1arSvXt3eeqppyzPgw1IwA4BQ8BCNVdUOkWVTLzHcuXKpZVGGzdubKfbkNvgfWX+PA25Q3ZAAiRAAiRAAiRAAiSQbAIUsJKNyl8HJuSBdeTIETl27JjmEMmcObMgx41hP//8s2zevFlws4qQo1KlSsno0aMF3hdfffWVTJs2TTp27CgVKlTQMA6IUHXq1JE33ngj0Mfhw4dVBMPNBvoyW6FChaRgwYLy9ddfa9uNGzf6C2ic2TKE0LvLFwkBy7s0RDp16hSSgGWcW7du3eSdd94RVIGjkYCbBC5evChDhgzRUHNUx8T1FhU133rrLRkwYIB88803WqCARgIkQAIkQAIkQAIkEFsEKGBF6XobAhaEKlRxSsqQEPeDDz6QnTt3SokSJaRVq1ayadMmQVhh+vTpZfbs2ZIuXTpZvHixFC5cWMUsvD516tSgrlElqmbNmvL9998Hvf7SSy9pOBMFrJIqEpoN+V3gKdO0aVN58803g/42b948adCggeTJkyepJeTf/0cAN7/Hjx8X1qf4/0CcErDOnTun1wajIhw3XPgIjB8/Xh8m+NHgOWXVECp4/vx5/YeQPS/tOVTmXLVqldVT4vEkQAIkQAIkQAIkQAIOEKCA5QBEL3ZhCFhI4mwkvUWYIG7uEzL87aGHHlLvKdykIlwIIhYElKVLl6oYYAhY+Bk3VBCw3n77bf0fhtwkw4YNU8EFIpfZKGCJsi1Z0pqAhQpy4Qjr9OIeDnVO8CCkOSdg4aZ91qxZRBpmAmPGjNEHCJEKmQv1dCE+ValSRe677z5LXa1fv17Wrl0r/fv3l1SpUsm1a9c0cTs+Z+Dhi7DWcNuKFSvk9OnTzIEVbvAcjwRIgARIgARIgAT+R4ACVpRuBatJ3E+ePCkLFiwQVB577rnnZMSIERpCuG/fPg0ZQlhWixYt1AMLnlmVKlUShB3CK8AIRezSpYugkiGOx82G2fAahC/MC0mlGUL4N50beWBF6fbkaYWRgFMeWF27dpV33303jDPnUCAAAcjvAtbIkSOlZ8+elhbUXIVwz549UqBAARXx5s+frw9O8JAl3MYqhOEmzvFIgARIgARIgARIIJgABawo3RFWBSwITrjRnTx5siUir7zyiuYogTVp0kQeeOAB/RmJd+fOnas/I0+WuZIUc2AlP4TQ0mLw4IgRQJ64lStXRmz8xAbu3bu35gwKpQohBGvDOxNemLTwEoh1AQsPVOCBFW6DYJsvX76gYSlghXsVOB4JkAAJkAAJkAAJUMCKiT1gVcACFOS7MidldwtUo0aN6IFlgksPLLd2Wvj6xY0tEpznzJkzfIMmMVKOHDlk3LhxWpQBob12DEUf7r33Xtm9e3eycunZGYNtbkwg1gWs0qVLBwoHwEMYeRZhbopav/32myBcECH4ZqOAxXcrCZAACZAACZAACUSWAD2wIsvftdHtCFjIOXLw4EHX5mR0jKTyNWrUcH0cNwcIVxVCs9/v+wAAIABJREFUN8+BfTtHwKs3trj5X7NmjaRNm9byySJEGJVG4V1mNX+R5cHYIFECsS5gwcMXRRmQDwtif/PmzWXJkiVy6NAhQdi6GwbmFLDcIMs+SYAESIAESIAESCA0AhSwQuPn2dZ2BCzPnowHJ0YBy4OLEsEp3UjAWr16dcRmhkIMyGNnxZCrDjnqEHaIYg2pU6e20pzHOkwg1gWsb7/9Vm666SaHqf7dXcWKFeP1TQHLNdzsmARIgARIgARIgARCIkABKyR83m1MAcvdtaGA5S5fv/V+IwELN8ORsEyZMslbb71l2UulbNmy8vTTT0vHjh0jMW2OGYdArAtYWbNm1UT2sAsXLsiff/7p6B6BYBvXKGA5ipidkQAJkAAJkAAJkIBjBChgOYbSWx1RwHJ3PShgucvXb70nJWAldJPs9jmiiEL+/PmlcOHCSQ519epVzZU1adIkrXgH0YDmDQKxLmAhhDB9+vTSt29fLRSSN29eQVXDwYMHh7RAqLqL4gQUsELCyMYkQAIkQAIkQAIkEFYCFLDCijt8g9kRsJ555hmZNWuW65MsXry4LFq0yPVx3ByAApabdP3XtxcFLBRLmDlzZpLJrhs0aCBbtmwR5MCD1xYrDXpr/1HA+v8CFpK3X79+XffoxYsX9bVQjAJWKPTYlgRIgARIgARIgAQiQ4ACVmS4uz6qHQELVQinTp3q+tzKlCnDKoQmyqxC6PqWk3PnzsmECRNk/vz5smzZMscHtCNgFSlSRJAo3S17//33pX379vG6RwLsDRs2qBiAkCwIAS+//LJb02C/IRKIVQFryJAhMnDgwCB6ly9fFngLWrX+/fvL66+/HtSMApZVijyeBEiABEiABEiABCJPgAJW5NfAlRmYBSyUAq9WrZqkSZNGwyVwU1CpUiWpWbNmYOxLly5J7969ZdSoUXqDgBLl+HflyhVN4ozXjBsHJNTFjUSKFCmCvDvQN/KTYBz8zWzoBzfMqIZGAetMEBsKWK68BbRT7GuEHr333nvqXfjGG2/oPkb1MoQPZcuWzZHB7QpYeG8iWbqThvOrVauWinUQ7vBeLVGihFZwg8GD5dixY04Oyb5cJBCrApZTSP/5z39qPjcKWE4RZT8kQAIkQAIkQAIkEDkCFLAix97VkeN6YMHTI2fOnOpxAXFp4cKFQd4ZqJR24MABOX36tOzfv19vfHHTX7RoUfXW2Lx5szz44IPSvXt3GTZsmIpQqN709ttvB87j7Nmz8uGHH8r27ds1l47Zevbsqd5duHEuX748PbBMcChgufNW6Natm+B9gITkgwYN0j39+OOPC/bimTNn5IknnnAsXM5LAtauXbv0fTtmzBgVjPF+RzVCCNI0/xGggBXamlHACo0fW5MACZAACZAACZCAlwhQwPLSajg4F0PAws2P4Q0FDyl4QSVk8JqCx8aOHTvUW6Np06aydetWad26tUCYWrdund7sL168WPLly6dPtG+55RYVCMxWoEABee2116RFixZBr3fo0EEFLCSW7tevHwUsClgO7va/u/rtt9/k66+/lhEjRghyukGsglhbp04dPQjvBbN34LVr1zSEDomiQzEnBaxNmzapQByqRSJxfKhzZvv4BChghbYrKGCFxo+tSYAESIAESIAESMBLBChgeWk1HJyLIWDBy6Rdu3baM8SrxPKHIEFuypQp5ejRoypgDRgwQD22smTJIuPGjdPQQ0PAws/wyPr111/VswUhSTCEa6EPhC/FzTOEilHw3NqzZ4/UrVuXAhYFLAd3+//vqn79+pqMHCF58BZEqCsMBQPgLQivK4QNDh06NOCNhN/hpeRFAQtirx07cuSIvs/eeustO83ZxmMEKGCFtiAUsELjx9YkQAIkQAIkQAIk4CUCFLC8tBoOzsVqEnd4WU2fPl1y586tghXCrubMmaNeU7Vr11ZBCzfE+IcQpWLFisnBgwfVUyRz5sw6cwgHs2fPlsKFC2v4ktkgXsG764MPPmAOrP8KKWZjCKH9jQ+hBqIV8rrBywri1I2sQoUKsnLlSmnevLmKstjjyPHmRQHLrgcV3pcI1S1btqx9sGzpGQIUsEJbCgpYofFjaxIgARIgARIgARLwEgEKWF5aDQfnYlXAws1y27ZtNYeVFatSpYp6tsAgcj322GP6M4SqkSNH6s/IoWV4w+B3JnGngGVljyV2bLly5dRjcN68eZInT56AkHqjvm+++WYNgTUM+drgWRhNApYTbNmHdwhQwAptLShghcaPrUmABEiABEiABEjASwQoYHlpNRyci1UBC0M/+eSTWq3QbRs/fjxDCE2Q6YFlb8dBjLIiPCGEFrnemjVrpvnbkP8KhQogrlrpJ6HZupEDy64Hlj2abOVVAhSwQlsZClih8WNrEiABEiABEiABEvASAQpYXloNB+diR8CCkHLlyhUHZ5FwV8iTBfHBz/Z///d/kj9/flm1apWULl066FSQc2zfvn3x8oChymPJkiUDHmtGIwpY9naCVQELexti1caNG2XKlCka5orfoy2E0B5NtvIqAQpYoa0MBazQ+LE1CZAACZAACZAACXiJAAUsL62Gg3OxI2A5OHzUd0UBK/JLbFXAwozvvPNODZU17PXXX6cHVuSXkjO4AQEKWKFtDwpYofFjaxIgARIgARIgARLwEgEKWF5aDQfnQgHLQZgJdEUBy12+yendqoBlVNLMkSNHoHskPGcOrOTQ5jGRIkABKzTyFLBC48fWJEACJEACJEACJOAlAhSwvLQaDs6FApaDMClguQvTZu9WBCyED0IIuOOOO+T777/X//Ea+mAIoc0FYLOwEKCAFRpmClih8WNrEiABEiABEiABEvASAQpYXloNB+diR8BCEveffvrJwVkk3BVyYCEPkZ8tFjywkJj8u+++c32ZLl++LIMHD5aGDRtaGsuKgGV0jHxl77//fmCcsmXLamJ3JnG3hJ4Hh5EABazQYHtdwEJBibx584Z2kkm0PnfunF7LEUJNIwESIAESIAESIAE/E6CA5efVu8Hc7QpYU6dOdZ1ImTJlKGCZKHs1iTsErJEjR7q+H/bv3y8//PCDNGrUyNJYdgQsiKdI3G7YxYsXJX369BSwLJHnweEkQAErNNpeF7CaNGkis2fPDu0kk2j9+eefa7ERCliuYmbnJEACJEACJEACYSBAASsMkCMxRFwBa+zYsYLqePA0eeutt6R79+5y1113Bd3I43Ucs23bNilUqJD+27p1qxQvXlw9s3799Vc9vkGDBrJixQrJmTOnFChQINDH77//LkuXLpVy5cqJOc8QDpgzZ45kz55dypcvLxSwzgRtCS8LWCNGjJANGzbIsWPHpEqVKpIpUyZZuHCh1K1bV9cUliFDBqlevbp8/fXX8uCDD+rvhl26dEkWLVokWbJkkUqVKgVev379usydO1eKFi2qx3/66ae6J62YFQEL4YIIFcR4q1evlnnz5kmtWrUkV65cDCG0Ap3Hhp0ABazQkHtZwMLnKK5H+EzE5wA+W43PWny+5suXT/9+++23S6lSpQIgtmzZIqhqi+tXqlSp5O6779aHQrhGp0iRInDc2bNn5dq1a7J8+XIKWKFtI7YmARIgARIgARLwCAEKWB5ZCKenEVfAQggBklVfvXpV4IWCf/jiaxjEh/Pnz8uZM2ckW7Zs8tVXX8knn3wimTNnluPHj8uFCxf0S/SHH34ojz/+uH7hLlGihEyZMiXQB0SCnTt3Sq9evVTkMFu3bt0ECbMxDgUs/whYw4cP19C+li1bqlj522+/CTwGcLOFtcZT/T179kiePHk0x9SOHTukcOHCgaXHfsONVvPmzVUIMwxhfNWqVVPPgxdeeEEaN24s8BKwYoaAhT2LUECIrfCmwtyw11Fh8N///rfOzxCwIK6uXLlSELaIY3EchK0TJ07o73YN3mqYP7zJ4hq4IIF8XCtSpIhUrlxZJk6cGPSnTZs26XskoTZ258d2/iVAASu0tfOygFW1alUVl/AwCSH8CCc8fPiw4PMS1zdcf3GNeOCBBwTnYRiuV3gN4lb//v31wcKSJUtUxML1zDBcl6dNmyYnT56kgBXaNmJrEiABEiABEiABjxCggOWRhXB6GtOnT5c2bdoEdQuvF/xLyJAHaP78+SpAQJhq2rSp4CkvPG0MsQI3+4sXL1bvKggS8NDCl2OzdenSRT2zBgwYEPT6Sy+9pP1RwCqpIqHZvOyBZQhYvXv3loceekgmTJgge/fu1X3Up08f9ayCl9WMGTNU5EIoILyczAZPK+wrCFWGjRo1Sjp37iwZM2ZUURXhg19++aXltwFEqk6dOsmCBQtUOIOHIQQreBM+8sgjgnEGDhwY2I/wToB4axjGdsoQnkMByyma7McgQAErtL3gtICFa4qTBqEaAtZ9990nX3zxhUAMx3WpQ4cOUr9+fX1IBMH94YcfDhoWAjiuq0899ZTm9YOntFnAwjURn7kQ7fGZwxBCJ1eNfZEACZAACZAACUSKAAWsSJF3eVx8KUboQHINT2jxBBdfdCFg4Us6PFrwZRpPg9GfIWDh57Rp06rHyfPPP68eWzB8yYZXF0QvhI2ZjQKWqCdSyZL+FbCw5vAY2LdvnyAktV+/fgEBC+IWBCjchOGmyjDsK4TrtW7dOmg/YH/17NlTEKIIjz14dX322WfJ3a56HLwD4Rl4+vTpIAHr1KlTejOHOSI5PMzwroI3A5IZQzjDeaAaITwW4KHohJm9Go3+6IHlBNnY7YMCVmhr76SAdaOHQHZmidBrhBFCwEII9bPPPqsPBozcgx07dhT8GzNmjMTNT2kWsLJmzarXQLOABQEM11R8XqMtBSw7K8Q2JEACJEACJEACXiNAActrKxKh+SB/1TvvvKPi07fffqthC3h6C++WYcOGyaOPPirffPONhg8ePXpUwwkhFKB6EoQtGASwzZs3q4cWwiHMhj5g8IqBmMEqhH/T8bIHFgQmeAXAswhrun79el1D3GDhZgsiUY8ePWTWrFny2GOPqbdA+/btAydnrDvyn5lFLNxUwburRo0auofGjRsnEDmtmBFCCH6YR+7cuaVFixaBLpCPDWGK8LrCjSf+z58/v6xdu1b3LjymELIDASvUKoQ3mjcFLCurymPjEqCAFdqecFLACm0m8VtDYPrxxx9VwMJnLIQmI8S+YMGC+jNC+SFWmT2w8IAIn8/wgsaDBRwHT9dWrVoFeZgidyHCp3HdpoDl9OqxPxIgARIgARIggUgQoIAVCeoeHRMChdUqhMWKFVMPGBjCtgzhavz48ZqDCIaQLkPkwu/MgeWfEEI7VQghJBmGfC4wCFYIEzTyYBmv42/wTEPeJ+TBsmJWkrgb/UIMwD/DMC8nqhDeaN4UsKysKo+NS4ACVmh7wssCFs4sOVUIkW+wXr16gqqp+CzFZ2pChmTuEPRRaRUPHuCJCmMVwtD2EFuTAAmQAAmQAAl4hwAFLO+sRcRnAvEJYYBuG3Io0QPrb8pe9sAyC01u7Qt4PyGPC5LFWzE7AhY8GQYNGiQQWJGvrVmzZurBQA8sK+R5bDgJUMAKjbbXBSwkWq9QoUJoJ5lE60OHDgnyYsLrlEYCJEACJEACJEACfiZAAcvPq8e5R4zA//3f/2k42qpVqzQ0w2zt2rXT/ErLli0Let1vObAiBjeZA1sRsJAUGR6Bo0ePlnXr1mk1Rfy+Zs0ahhAmkzcPiwwBClihcfe6gBXa2bE1CZAACZAACZAACcQWAQpYsbXePFuHCFDAcghkCN1YEbCMYVBu/t577w2MCjELITn0wAphIdjUVQIUsELDSwErNH5sTQIkQAIkQAIkQAJeIkABy0urwbn4hgAFrMgvlVUBC95WyMNVq1YtmTlzpjRo0EBzwyBfDAWsyK8nZ5AwAQpYoe0MClih8WNrEiABEiABEiABEvASAQpYXloNzsU3BChgRX6prApYyHf11VdfaSL51atXS9OmTSVXrlwMIYz8UnIGNyBAASu07UEBKzR+bE0CJEACJEACJEACXiJAActLq8G5+IYABay/l+qHH37QCpQoBR9OGzVqlPTs2VOrbpUrV05LyMOQ3wqG5MhxLV++fNK5c+fAy3379qUHVjgXjWNZJkAByzKyoAYUsELjx9YkQAIkQAIkQAIk4CUCFLC8tBqci28IUMD6e6l+/PFHOXHihIbmhdvSpEkjSI6/ZMmSgICFxPrXr1+XKlWqxJtOypQpBW3Mlj59ejl16pRrU4cA8ddff8XrHxURK1euLBMnTgz626ZNm6RMmTIJtnFtkuzYswQoYIW2NBSwQuPH1iRAAiRAAiRAAiTgJQIUsLy0GpyLbwhQwIovYCE8DzZmzBh5/vnn5cqVK4Iwv8KFC0v16tXl8uXLcvfdd+sxEJh69Oghb7/9tgwYMEC9pbZs2aJ/Gzt2bKDzP//8U3r16iU5cuSQl156KWh/wPuqTp06snfvXsF6IEF7nz59briHIGqtWLEirPuMAlZYcUfdYBSwQltSClih8WNrEiABEiABEiABEvASAQpYXloNzsU3BChgxRewRo4cqYLU8OHD1ato8ODB0q9fP2nZsqU8/vjjkjVrVvU4Mgw35rt375aaNWtK6dKlZciQIfonQ+QybwZ4K+3YsSPw0qRJk7RfiFoIJXzyySelefPmKorNnz8/0X4oYPnmLcaJ/o8ABazQtgIFrND4sTUJkAAJkAAJkAAJeIkABSwvrQbn4hsCFLDiC1jIQXXx4kVZu3atFC1aNEjAKlu2rIbFxRWwcHN+xx13qIDVtm1bwe/16tUL2gfjxo0TCFgPPvhgkICF8TJkyKDeXBCwfv75Z9m4caP0799f3njjDYHI9fTTTwf1RQHLN28xTpQCliN7gAKWIxjZCQmQAAmQAAmQAAl4ggAFLE8sAyfhNwIUsOILWPDAQqgfckpBdDJ7YCEMEOJWXAGrRo0asmfPHhWwunXrpp0i3NAweFN9++236sFVvnz5wOtz587VXFaoKAjBCgLW1KlT9e+ff/65NGnSRGbNmiXvvvuu/t3okwKW395pnC89sELbAxSwQuPH1iRAAiRAAiRAAiTgJQIUsLy0GpyLbwhQwIovYCH0L2/evHLo0CG5/fbb5fjx44KbR1QFzJYtm3pKISeWYVu3bpVixYrJzp07JV26dHLu3Dn9U/HixYOOwS9p06aVQoUKBe2Pn376SfuHkPXJJ59Ily5dggQsI3E6xoHAhVDDV199lTmwfPMu40RBgAJWaPuAAlZo/NiaBEiABEiABEiABLxEgAKWl1aDc/ENAQpY8QWs5FQhbN++vTbETfn777+f4Hobx+CPU6ZMCRwDDy+IVnFfP3nypCxYsCBQhdDwwIpb+Q/J4S9cuCB9+/YN6z5jEvew4o66wShghbakFLBC48fWJEACJEACJEACJOAlAhSwvLQanItvCFDA+nupNm/eLAjNS506dUTWD0IVxCnkxIIlJmBFZHL/E+viimmYC/J6IaQSCe/NtmnTJs0XllCbSJ0Dx40cAQpYobGngBUaP7YmARIgARIgARIgAS8RoIDlpdXgXHxDgAKWd5eKApZ314Yzs06AApZ1ZuYWFLBC48fWJEACJEACJEACJOAlAhSwvLQanItvCFDA8u5SUcDy7tpwZtYJhEPAOnjwoKxatUoeeeQRreyZMmVK6xNNpAXmj/Dfnj17OtanlY4oYFmhxWNJgARIgARIgARIwNsEKGB5e304O48SoIDl0YX577QoYHl3bTgz6wTCIWAdOHBAhg0bJqVKlZIffvhB/vjjDxk9erSKWaEaBaxQCbI9CZAACZAACZAACZCAQYACFvcCCdggQAHLBrQwNaGAFSbQHCYsBMIlYCH3Wv369fWcUDG0Zs2acv78efn444+16ELRokVtnS8FLFvY2IgESIAESIAESIAESCABAhSwuC1IwAYBClg2oIWpCQWsMIHmMGEhAAGoePHiglA4t+zSpUsqVq1bt06HWL16tdSoUUMLCSxZskT/Hzp0qIYWouKnFaOAZYUWjyUBEiABEiABEiABErgRAQpY3B8kYIMABSwb0MLUhAJWmEBzmLAQMLyi3BwMIYPnzp2T77//XodZvny5VK9ePd6QDz30kMyfP9/SVChgWcLFg0mABEiABEiABEiABG5AgAIWtwcJ2CBAAcsGtDA1oYAVJtAcJmoIIAcWQggbNmyo4YOwVKlSUcCqXDlq1pgnQgIkQAIkQAIkQALRQIACVjSsIs8h7ATcELDy588vDRo0CPu5RNuAW7ZskUmTJmnYkxcMHigJzaVIkSJS+b83yBMnTgyaJoSEMmXKeGb+XmDIObhLwBCwLl68KAULFpR3331X6tWrJ02bNpWrV6/Khx9+qCGMzz77rLzwwguWJtOtWzdWIbREjAeTAAmQAAmQAAmQAAkkRoACFvcGCdgg4IaAtWfPHhszYZPECFDA4t4ggeQRMASsRx99VB544AEpVKiQJnR//PHHtQOIWPBs/OCDDyznwEL7kSNHSs+ePZM3GYePgvDWsWNHef3114N6Ri4vhEQmdJ2A6LxixQoVmGkkQAIkQAIkQAIkQALeIUAByztrwZn4iICTApaPTptTtUGAHlg2oLFJWAkYAla5cuU0UTu8rOAheOHCBRk0aJBMnjxZsmTJIi+++KLs3bs3rHMLdTAKWKESZHsSIAESIAESIAES8A4BCljeWYuwzQQ3IrfcckvYxjMPhCf5CE1BiIqfjQKWn1cvvHOngBVe3tE22tGjR10/pUOHDsnWrVulffv2cu3aNf2XJk2aeOPaSeLu+uSTGIACVqRXgOOTAAmQAAmQAAmQgHMEKGA5x9I3PdWtW1fmzp0bkfnu2rVLRo0aJe+9915ExndqUApYTpGM/n4oYEX/Grt5htg/4TKE0+3fv1/gkVWhQgVJnTq1Dr1q1Sp96LBs2TLBtc9PRgHLT6vFuZIACZAACZAACZDAjQlQwIqSHdK5c2cZP368JHWz88UXX8iRI0f05uTy5cuaLHrDhg1KAUnE8bT/rrvu0mMKFCgQoIPXc+TIIbt375aMGTPqDU62bNm0jWGXLl3Sp/j33HOPZMqUKYjs+vXrBeEpO3fulOHDh1PAipJ9x9NImgAFrKQZ8YjECWD/zJ49Wxo3buwaJiOE0Bjj+++/18+SNWvWyKeffqo/r169WsML/WYUsPy2YpwvCZAACZAACZAACdzgu/F/n7h6o1QXVykkAkgAni9fPkmRIkWi/fzxxx9SvXp1mTNnjpQuXVpatmwpL7/8snz99dfSqVMnFacQIoIn7UOGDNGbJsPgNYUkvH369JGcOXNK5syZpVKlSkEi18CBA/V3hCjWqVMn0Bai1oABA1QwQz8UsM6EtNZs7C8CFLD8tV5em204BSw8ZEDCcyQ4x+cEruVI6p7UgxGvMTPPhwKWl1eHcyMBEiABEiABEiABawTogWWNl+eOtnpj0bp1axWQIGA99thjWpkJ+U/gkXXixAnJmjWremVlyJAhSMCaMmWKfPnll1KrVi3Nj4IbHFSpQol0w+AFhvxW/fv3ly1btgRev/nmm6VZs2YqlCEUhQIWBSzPvZFcnBAFLBfhxkDX4RKwnnjiCbn99ttl8ODBUrFiRX2ggQcVfjcKWH5fQc6fBEiABEiABEiABP4mQAHL57vBELAgQiVlcLbr3r27TJw4UQWsHj16CESnw4cPBwQsvA4PrKFDhwYJWBC+XnnlFfn5558F3l7wvsKxZgENfT333HOyceNGefLJJwPT+eSTTwQhKdOnT6eAVbKknDlDASupvRpNf6eAFU2rGf5zCYeAhYcS8JBNly6dniAErKVLl0ratGnDf8IOj0gBy2Gg7I4ESIAESIAESIAEIkiAAlYE4TsxtCEgJTcS9NVXX1WxCjmpatasKdu2bZOGDRvKuHHjBH8bPXq05lr57rvvpE2bNoEpIpykcuXK6q119uxZDS+57777pEWLFoFjkDdr5MiR8tRTT0mhQoWCTq937976ZH/fvn30wKKA5cTW900fFLB8s1SenGg4BKy4J04B6x+yYsUK/cyjkQAJkAAJkAAJkAAJeIcABSzvrIWtmVgVsDBIckqhI9k7QgwNu3r1arz5HTt2TIoUKSLnzp2T9OnTy/nz5wPHpEqVKvAzXsffYUziTg8sWxvdgUbwMoE4+9VXXznQW/K7oICVfFY8Mj4BClih7Qp6YIXGj61JgARIgARIgARIwEsEKGB5aTVszMWOgIUqg48++qiN0UJvgvA5hKW89957oXcWwR5QSh4VGJHTC6GUZmvXrp16mqHkvNlQ6askQwjDvmrz5s3TcFiIqgiBbdSokRYzuPvuuwX52dw2ClhuE47u/ilghba+FLBC48fWJEACJEACJEACJOAlAhSwvLQaNuZiR8CyMQybxCFAAcv7W2L//v1StmxZSZ06tfz2229y/fp1Fa5wQ4s8bkuWLJFs2bK5fiIUsFxHHNUDUMAKbXkpYIXGj61JgARIgARIgARIwEsEKGB5aTVszIUClg1oDjShgOUARJe6QBEB5FuDtW3bVsNXq1SpIleuXJE777xTCxDgfYPfIW7BI/Czzz5zaTaiYyWUow7ht8ixg6IKZtu0aZNWAk1uXjvXJs6OPUGAAlZoy0ABKzR+bE0CJEACJEACJEACXiJAActLq2FjLhSwbEBzoAkFLAcgOtzF6tWrpU+fPipKffrpp5I9e3YdYeHChVKjRg2tspYrVy4pUaKEpEiRQv+2fPlyrbz2n//8x+HZ/N0dBSzX0MZExxSwQltmClih8WNrEiABEiABEiABEvASAQpYXloNG3OhgGUDmgNNKGA5ANGhLlBEoE6dOipCffTRR1od02wXLlyQlClTqmhVu3ZtFa2qVaumv0P0guBFAcuhxWA3jhOggBUaUgpYofFjaxIgARIgARIgARLwEgEKWF5aDRsNUdy/AAAgAElEQVRzsSNgFSpUSEOqImEQE5B3aOzYsZEY3rExKWA5htJ2R0jMDk8rJGLv2LGjVKhQIcm+sPf79esXOK5Dhw4aQkgBK0l0MXsAQjrjFmoIJwwKWKHRpoAVGj+2JgESIAESIAESIAEvEaCA5aXVsDEXOwJW3bp1Zf78+TZGC73Jzp07ZcSIEaxCGDrKmO8hQ4YMcvDgQcmSJUuyWRjvF3MD5MiigJVshDFzIMT2iv+vvbMAt6Jq9/h7L4iENF4aJERQiQ9pQUpAQklpUEA6JEQJJaRDUpCSli7pEkFK/EBAQrpRGiQElLjf/713tvv0nn32nj2z9389D4+cfWbWWvNbcwbnd973Xa+/rjXUfvzxx4BdNwVW7NBTYMWOH88mARIgARIgARIgATsRoMCy02p4MRfjhfzRo0eaJhVTGzZsmOTMmVNOnz4tf/75p3Tp0kUGDx6sp1WrVk127dollSpV0tSqd99919UdPi9cuLAsXLhQMmXKJOvXr5fcuXPrOUa7efOmjB8/Xho0aCAvvPCC6/OLFy/K1KlT5bPPPhMIrOHDh1NgxbRQ/H6MBBB5ZUY8oWh7/PjxBUXeT506pQXUM2TIwBTCGEmH1gFLly6VOXPmSK5cuaRmzZqCKL2iRYsKhGmnTp10F0srGwVW7GhTYMWOH88mARIgARIgARIgATsRoMCy02p4MRdDYF25ckV3O0M6VFQNwqpKlSqyevVqTYn59NNPpWHDhgLBhPSrq1evav2gUaNGyZgxYwQpWkYbOXKkNG/eXOVTsmTJdJe0ggULhhmvVatW0r59ezl58qS88847rnNRPPvzzz+X/v37U2DlyycQfWyxJ2BWYKFWVrly5bSo++PHjwVfQ+bGixfPlAgzO3MWcTdLzPrjcT/cv39fSpcurc+obdu2Sfr06eXSpUtSp04d+eGHH1R0Xr9+XVKmTKkTTJw4sSUTpcCKHWYKrNjx49kkQAIkQAIkQAIkYCcCFFh2Wg0v5hJZSlR03SAKCpIJAgsC6ptvvpHz58+7BFbmzJmlbt26cuLEiTACa8GCBfLLL7/oOYjeunz5srz55pu6u5vRILDq1asnHTp0kP3794eZBmQZBdZZyUeB5cVdHvkpZgUWemEKoc/wB01HK1eu1AhRRJgiZbB48eKyadMmKVOmjF5jVM/Yp0+fWsKAAit2mCmwYsePZ5MACZAACZAACZCAnQhQYNlpNbyYi5kaWHjhQv2r2bNnuyKwSpYsqbuxGRFYiKxCGuCQIUPCCCxILXyGgsaoO4ToBKTVIAXLaN27d9d+kKpVo0YN1+eI/ELqDf5gvkwhZASWF7d6hFPMCCzck4iggYBdsWKFJE+eXG7cuCEQttyF0Ber4aw+8CyEpEfxf0SeHjx4MMwF/Prrr5IlSxa5du2apkljd0tE6j18+FDTChGlRYHljDWnwHLGOnGWJEACJEACJEACJOAJAQosTyjZ+BgzAguXgUgDpMtgN7asWbNqJBVqvaDGFdJnUKwYXyPKCtFCRsMLG172b9++rak2+Dpt2rRaB8to+B7Oz58/v+40aLRbt27JTz/9pKIgXbp0FFgOSSGcNWuWppta0Tp37qxyyUwzI7CQton7D4IVGxgkSJBAHjx4oLXaKLDMUHf+sVu3btWUZkShvv322xp1FVnDcxJ1BXEc6qbt2LFDn52QXhRYzrkP7C6wELVsRUNZgOeff96KoTgGCZAACZAACZAACfiNAAWW39Ba07FZgYVZVaxYMcZdCFHEfcCAAa6LiExkQAqgLhYirFB7C8WPjYZC8EbD50ZtLhZxd04NLEilnj17+v1GRkTfmTNnpHr16qbGMiOwjI6ZQmgKcdAdbDyXzIhZphA6+zawu8CCRJ0+fbpfIa9atUoQbY1fQrGRAAmQAAmQAAmQgJMJUGA5efX+M3dvBBZ203JP/bMSAQq6o27W5MmTrRzW52P99ttvki1bNi32jAgN99akSRONYNu8eXOYz8+edVYNLAisESNG+Jxd+A7BBamp7mmnngxqRmBhl864ceNqlBciEfbu3asbESD6hkXcPaEdHMcgAgUpg542pBkiEhW7EiZNmlRPM36+mULoKcXAHmd3gYWUVPcNU/xBa8mSJfrvFAWWP+iyTxIgARIgARIgASsJUGBZSdsPY3kjsPwwjZDrMlQEFuqVoQYQIuiwAQBkD8TP3bt3Nfpu2rRpuptlnz59NN3q0KFDurOf0ZA+2q1bN603tHHjRtfn33//vRbJHj16tBb9h7zCS5aZZggs1CVauHChNGjQQIUuxAL+CymGWkbYaRM7DkJiYZdNjP37779Ljhw5VOQyhdAMdWcfa1ZgQUSjqPvOnTs1whSyAZtXMIXQOfeBnQUWoqI2bNigz6JMmTJpev28efM0TR/iFKnOiJ6qXLmyNG7c2AUdm69gM5bBgwdrej6iqpEWi1RXPM/QGjVqJPhlFVL6sXMmBZZz7lnOlARIgARIgARIIGoCFFgOvzsosAKzgKEmsLp27aoiC8IJAgsv8x9++KGkSJFCa0nhT7JkyTSyCTXU3BvEUZEiRfTlyr3h3jUEFtIH161bZ2ox8ZKHF7hmzZppYXa88N27d0+++uor2bdvn5QvX17atWsnkyZN0uPQEIUFCWc0zBsNL4r+aphnZNE6L7/8spQoUUImTpwYZmiINzC2KsLHX9dtx37NCiysAe4ZIwUaX0OY4r9WrQ93IYzdneStwMKaY4MTfzbcS6irhlp8HTt2VOmE1H08z8aNG6f11hDli01Twqey4vlx+PBh+eCDD2TGjBmCr8MLLDynIcgg7Cmw/LmS7JsESIAESIAESMAqAhRYVpH20zgUWH4CG0O3oSiw8DJ06dIlLf6P1qNHD5fAQgQAJBVeyAYOHOiiB6GEqILevXtHIOousBCBZbaIO/pEmiaiF9auXaviDPXYINW+/fZbTRUbOXKkbNmyRSOvkiRJojvL4aWwX79+8tFHH+nLIiLH+vbt69cbCTt0hm8UWH5FHmnnZgQW6rJBLCBKD5IUkS0QnhCO2J2QAsv69fNmRG8E1qBBg7wZyvQ5SKU/deqU3mcQ8MuWLROkbiOiNWHChLprcMuWLWX58uWCTTXcm7vAOnbsmEaZugss7LyK3TWxWzBSYCmwTC8PTyABEiABEiABErAhAQosGy6KmSl5I7CuX79uZgifH4vfbCO1wcktlATWe++9J999951GSE2YMEEjAyCLfv75Z93NEjWs6tSpIwsWLNB0K0QMGC116tT617x588r69etdn0MC9OrVS78GS6THIC3GTDNSCG/cuKG7CyIFx30MpDwiOgG1i7BDJkQE/o6dMo8cOSJvvPGGRjb4O4UwqmuiwIp+tWPznELKVGTNjMDCroOQsnhW/fDDD5qKtWnTJo3qYwqhmZ/UwB7rjcCyasZVq1aV+vXry9ChQ2XKlCkuYYXnI9IGIdtxTK1atfS5azRExM6cOVN30UycOLG0adNGj8Xzz0ghbNu2rSxatEilGCOwrFpRjkMCJEACJEACJOBvAhRY/ibs5/69EVhIT2rVqpWfZxZ591euXJGLFy+G+Z/xgEwkloOGisDypog7ak4Zbfbs2fpXRKugRsvx48f1a+Nz/N3fRdyxcQDSdJAOBMkFyYa/4zNEasWPH19TD61uFFjRE0ekH6L8zDakYqFGW2TNjMBCNB+i89KlS6cbTyAVFvcxJBaEKCOwzK5MYI63s8DCPQX5H1MRd/ybCeGPCFekQE+dOjVSmE2bNhU87yCxEKGKyC40FnEPzL3HUUmABEiABEiABHxPgALL90wt7dEQWEZdFqNWS1STwIs6ol1i+h9mf10EIheQUsZdCP1F2Hf9IpUF0QH+bng5gwxAjS0zzdNdCPGS+OTJE33xQ7QCiswb6WGoN4X6VxRYZshbc6yRImV2NNwX2DzAiERxP9+MwIIEQ/QV+kOaKp6xeL4ieg+phBRYZlcmMMfbWWCBCDazQASWPxs2rqhduzZ3IfQnZPZNAiRAAiRAAiRgCQEKLEsw+28QQ2AhWgAv6nhBj66hngZSC1Dz586dO1osFrtqoSHlCmlgXbp00XSu/v37u7qaP3++/qYYO87lyZNHxo4dK+XKlXOlgeFAFMvG+fhe+ELeKKiN9AYKrHxy8+ZN/90QPuwZtVkQaWZFw/0SVdpXVOObEViQZIhaGD9+vOzatUvTIZEWidoyTCG0YoXNj2EILKwXBCOEUrZs2WT79u26ayUK/6N9+eWXmtaXPHlyXU8U8D9w4IAWxA7fzAisrVu3Su7cubXmG+qo4XmZPXt2TT1lCqH59QzUGXYXWO4p1/5khBqDMf2Cy5/js28SIAESIAESIAES8AUBCixfUAxgH4bAwos56vtE9z+oiCDArm8rV67Ugq6QUUj3wss9agih6PWLL76oL4Oo+eIepYVi2IhCwMsjXgiwMxde5CCzjIYXvDRp0gh+21uoUCHX59gB7tChQ1poG/+zzggsZwisAN7WHg3tqcCC+EDETKpUqXSnrk6dOun9i6LukLL4mWEElkfILT3IEFiI1kRaINYI6XyvvvqqynAUusazDIWra9asqc80FFdH2itSqVBDKHzD56htBSkFCTZs2DCB1EIkHp5r8+bNU1HWvn17FVaYAzYAQPoWUk7xSwLIf4hd1BeyoqH+EZ7FmK9V7fXXX9dUyWAQHnYXWFatKcchARIgARIgARIggWAgQIHl8FUMv7V2TJeD4rCIXMDLHgpsQyidO3fOJbAQCYMCsatWrQojsFavXu2KQEBkQrJkybSWECIS3BukQniBhc9Q/wgiiwLLORFYMd1Lgf6+pwLLfZ6R/bxgty8KrECvZsTxDYEF8YgIU/yBjPjwww+lZ8+eEQQWJA/SXiGwonsu4lzU1sKubhUqVNCdNbEZQenSpaVw4cIapYedNBGRimb2GesPkhRY3lOlwPKeHc8kARIgARIgARIgAbsRoMCy24qYnI+ZIu6o2YJtuVFA24jAQtQWdtcyIrBQ4B0vcEOGDAkjsJo0aaIvjIhUgPC6cOGCph6iP6Nt3LhRox6Qouhe/Hv//v0a0YC+kcLICCxGYJm8zSM93FOBBfEBSYVoK6SXIYoQkThIKURED1MIfbEavu8DAmvatGkqm+rWravRUWnTppU//vhDU5Uh4hHZiV0lK1Wq5NooALXUEDGKSLvwzUghxD3RunVr3R0T56Ih/RqiHRIMEXqIxML3UQgb98xXX32l8qxEiRKWphD6nmzMPTICK2ZGPIIESIAESIAESIAESMB6AhRY1jP36YhmBBYGRu0fvIzhRS2m5l6kOKoohKiOiepz1sAKvgisgwcPuuoRxXRP+fL7J0+e1JpIaJCi2G4+qoadDpEOhULGqO+Ggu6QGIi8ocDy5ar4ri9vi7ijKD/uDcjJ8M3TGlhIH7x+/bqKTwgu7FaJnSuRhg1pb2UNLN8R9bwnCizPWfFIEiABEiABEiABEiAB6whQYFnH2i8jmRVYmETFihVlzZo10c7nxIkTWl/GaKhBE75BAMyYMUNf6hCxgNpZRhs1apTr7/gc30ejwAo+gYWoJuzqV6pUKb/c41F1insMdduw6QDqGqGeGxrqt0GglixZMsKpTCG0dIliNZi3AgtrHNUOgZ4KLPeJeyLvY3WhNjyZAsuGi8IpkQAJkAAJkAAJkAAJCAWWw28CbwQWUmIC2ZAOhHpYTm4o4ozoH9T0Qjqme0O65enTp2Xz5s1hPkcUUL58wSmwIJJQ5B8tc+bMmmYKiYCoFUTEoGA6vnYvCo1jMmXKpJsIGBFRxvkGOJyD49AHatkYDfIUY+L7EGfdunXTQt4QFCi2jXEjEw/YeACCyw4NggbpaKhL596Qpot026gkjB3mbsUcYvOcglCNrHkqsJA+iAgs1PrDPYO6fxCmkKSIyGIElhV3gG/GYA0s33BkLyRAAiRAAiRAAiRgBwIUWHZYhVjMwRuBFYvheOr/E6DA+udWQAQWZNInn3wizZo1U3GUIUMGrVNUr149TdlDlBSkE4QNGuQMovIgmyAqIAGNCCrUNjIavr98+XIZMGCA7jZntGPHjml9IuykiRpJGKdIkSJaEwm71kXVKLBC+0fYU4GFexWSCnXWqlSpoptaPHnyRM6fP6+RphRYzrmPKLCcs1acKQmQAAmQAAmQAAnERIACKyZCNv8+BVZgFogCK6LAwq5tEFOIsEMBbUgnyKUGDRroTm99+/Z1CSycjXsXkVIZM2ZUgWVEbC1atCjMoh4/flz69esnM2fODPM5im4j8gq7yjVq1Ehu3LihRb+xm9zhw4cFEW+I8HJvFFiB+Xmxy6ieCiz3+TKF0C6r5908KLC848azSIAESIAESIAESMCOBCiw7LgqJuZEgWUClg8PpcCKKLCwS+Xvv/8urVq1ko8//jiMwMIulI8ePYpWYCFSCy1+/Piuzh88eCATJkyQyGqwhRdYkGW5cuWSJUuWaDohxBZEFr42GgWWD38IHNiVpwILKYTPPfecTJ8+XYYOHSpff/21tGnTRv/evHlzlaPBnOLJGlgOvLk5ZRIgARIgARIgARIIAQIUWA5fZG8E1ooVKwJ61YiKQfqXkxsFVkSBtXfvXhVXeNlHKiF2bsPOgOPHj9eNA/766y/d9c9oiJrC93r16qVphEaK4KxZs8Icgy+wo9yQIUNcn3///fcydepU/XrKlCmC6C/IBTRDYEEwQKghzbBs2bIamVWnTh3WwHLyD14s5+6pwMIw2IkQm1106NBBNmzYIJCpuA9xLzGFMJYLYeHpjMCyEDaHIgESIAESIAESIAE/E6DA8jNgf3fvjcAqXry4jBgxwt9Ti7R/FORev369TJo0KSDj+2pQCqx/SBo1sMqVKxcjXggENKQOXr58OdLjjWPwTdTWMhrk06ZNm/TLK1euuIq0X7t2TdauXeuqoeUusHAsahfheESGIc2QRdxjXKagPSAqgbV//365d++eFCtWzHXtqL+G5ys2HsAmBGiQordv39babYzAcsZtQoHljHXiLEmABEiABEiABEjAEwIUWJ5QsvExhsDCSxUKDkMMRNcQkYLUKiN6xepLQ+TC8OHDoy20bfWcvBmPAusfaoi8Gjt2rO7KGIh2//59yZkzZ5QCy31Ot27d0p3l7NC4C6H1qwDZCXmP9EBEB77yyis6iQsXLmiEYNasWSNMClFXTZs2jfB5//79rb8Ai0ZkCqFFoDkMCZAACZAACZAACZCAKQIUWKZw2e9gQ2AhIgCRJtjZLbr21ltvCVK0UDT74cOHWsslRYoUmh4zZ84clUtI60K61uLFi11djRw5Ugtz16pVSxDB1b17d6lfv76mixkNRbsHDhwoSO8qVKiQ63NE6OBrvCBSYOWTmzdv2u9GCqIZhY/AsuulUWAFbmXwrHzvvfc0wm/p0qWSIEGCKCdToECBMDtgBm7W1o1MgWUda45EAiRAAiRAAiRAAiTgOQEKLM9Z2fJIQ2A1adJEo6+iE1goon3gwAFZuXKlCizUBmrYsKFcvHhRU2fwMpc+fXqpXLmyXL9+PYLAQtQR0mYyZMggv/76q0CGVa9e3cUFW88jRSe8wMK4KPCNiAUKLAosf/8gUWD5m3Dw9I+UZtwvR44c0YvChgHhGwWWs9ebKYTOXj/OngRIgARIgARIgATcCVBgOfx+MAQWdl+LqUE+tW3bVgtZQ2BlzpxZNm7cKHiJMwRW7ty5VTYhGss9AmvBggWSJk0aTb1BDSEU3S5atKikTp06zLBIYwwvsHAAZBkF1lnJl48CK6b7NLbfp8CKLcHQO3/dunUq5LGTJX4ZkD17dhcECixn3w8UWM5eP86eBEiABEiABEiABCiwgugeMFPEHQILu8EZKYSQSqdOndId4wyBhZe1yFIIW7duLd26dZM9e/ao8Fq4cKHWkMGuc0YbM2aMdO7cWdMFd+zY4fr80KFDeiyk2eeff84aWEwh9OtPIAWWX/EGZeeGwDp+/Ljs3LlTli9frs84NAosZy85BZaz14+zJwESIAESIAESIAEKrCC6B8wILFz2rl27NLpq9OjR0VLADnGoXWW0ChUqRDgeNbS2b98uf//9t8SJE0fefPNN1zF4ITQaPsf30ZhCyAgsf//4UWD5m3Bg+0edPvdnk6ezwU6U8+fPl+TJk0c4xRBYxs6CqFNXr149efvtt2XatGmsgeUpZBseR4Flw0XhlEiABEiABEiABEjASwJMIfQSnF1OMyuwMG9EYa1ZsybaS7hz547uzGW0yFIUUdvq5MmTWjwe9bdeeukl1/GokWU0fG7sjkiBRYHl758dCix/Ew5s/4gc/eyzz0xPYu7cuVKlShVJlSpVjAILB0Bm4RmIZ1ypUqVMj+fkE1jE3cmrx7mTAAmQAAmQAAmQQPASoMBy+Np6I7BatmwZ0KvGLoaNGjUK6BxiOzgK2mfLlk22bdumqZHuDTV0Tp8+LZs3bw7zOXZ8ZA2s2JKP+XwKrJgZOfkIo54ergG1+bCRxPr161XMI/0PKctoqNeHnVInTZokNWrUkEuXLmn6NHZYDd/CR2A5mY8v5k6B5QuK7IMESIAESIAESIAESMDXBCiwfE3U4v68EVgWTzEoh6PAsu+yUmDZd218MTN3gYXITkhk7KS6bNkyQboYNot48cUX5cSJE5IwYULBM3L37t0qmrFLKnZbpcCKfiUosHxxp7IPEiABEiABEiABEiABXxOgwPI1UYv7o8CyGPj/D+etwMLujWzWEDDqGVkzmvlRXn75ZSlRooRMnDgxzMnYKAGFw+0+f/NX7JszDIHVoUMHuXv3ru4aiP+iXhXSmtHSp0+vUmvDhg1Su3ZtmT17tlSuXFkF1rVr16KcCJn/HxoKLN/cq+yFBEiABEiABEiABEjAtwQosHzL0/LeKLAsR64DeiOwAjNTjmpXAhRY3q0MBFa/fv20yDpSkbETao8ePWTq1KlSpkwZQYp07ty5NZWwefPm0qdPH6lbt65+HVUElnczCd6zKLCCd215ZSRAAiRAAiRAAiTgZAIUWD5cPaSszJgxw4c9ir6k4UU3quaNwPKmALIvLwqpPNWqVfNll5b3RYFlOfKgG5ACy7slhcCClFqxYoXWv0L9KqQSli1bVn7++WcxNpBIlCiRpEyZUkqWLCmrV6+WFClSyPLly2XgwIHeDRxCZ1FghdBi81JJgARIgARIgARIwEEEKLB8uFgoJIzC3Y0bN/ZJr6jbghczFCL2pcBC2tLkyZN9MkeznaC4OWoUBWp8s/ON6ngKLF+RDN1+KLC8W3v3GlhmekAa4VtvvRXpLoRm+gmFYymwQmGVeY0kQAIkQAIkQAIk4DwCFFg+XDMILPz2/8MPP/RZrwMGDJCePXvGKLAePHigdWAQcRBdO3LkiNbcGTlypM/maKajo0ePyvDhwymwzEDjsUFJgALLu2WFwELhdrPt8uXLsnXrVgosD8BRYHkAiYeQAAmQAAmQAAmQAAlYToACy4fIDYEFOZQlSxZBkeGDBw/K4MGDpUKFClqX5Z133pFRo0bpdu5oT548ke7du+vW7tgGHvLriy++kMSJE8vcuXOlffv2ug18VM1IIUQtmI4dO0r+/PmjPPbx48dSvnx5mTdvnu7IlTVrVlmzZo1UrVpVtmzZolvRd+nSRcaPH6/zWbx4sasvXFOnTp20YHLevHk1FQfXgjGNNn36dJkzZ45eB4412vXr16VUqVLKIXv27BRYPrzn2JVzCVBgOXftgn3mFFjBvsK8PhIgARIgARIgARJwJgEKLB+um7vAQuQU0uSQUoid586cOSO9e/dWUZQxY0aXwMLwrVu31oiC27dva3TUsGHDJFu2bDJu3DgtUrxr164oZ4l+0TAGdtAyhFZkJ+D7qVOnlpUrV6rAQiRDw4YNdbeuYsWK6fbyyZIlU0GVKlWqCAILcqpo0aIqvrBlPcSXu6iCIDt27Jjs27dPa3cZDcdjV7Xvv/9er5MRWD686diVYwlQYDl26YJ+4hRYQb/EvEASIAESIAESIAEScCQBCiwfLpu7wMqcObNGVqHmirvAKlSokEZAGRFYGL5Vq1aydu1aOXv2rEZExYsXT3LmzClp06aVFi1aCIoRR9VGjx6t3/IkbRHRXvHjx5euXbuqwEJx4ylTpsi5c+dcAitPnjzSv39/LUbvHoE1YsQIPR5pinv37pUXX3xRihQpEiZlEaLto48+kpkzZ2oEmtEqVaqkx44dO5YCy4f3G7tyNgEKLGevXzDPngIrmFeX10YCJEACJEACJEACziVAgeXDtXMXWChWHidOHE0RdBdY4VMIDYHVtm1bjbZCml3lypV1Vnfu3NGoLURkRdXM7kKI9D4IJiMCa+nSpTJmzBiXwEKkVGQphIi0Qrrgnj17VHgh1bBBgwbal9Eg4hBBli9fPpVcRkPkF1gYu4MxAsuHNx27ciwBCizHLl3QT5wCK+iXmBdIAiRAAiRAAiRAAo4kQIHlw2UzU8QdYgrRTNhlsHnz5pIjR45IZ+JpEXdIIk/aiRMnNMIK9aqiawcOHAhzDOpyhW8QbBBuKCCPqLFBgwa5DoHgMho+x/fRWMTdk1XiMf4igB0wa9So4a/uTfVLgWUKFw+2kAAFloWwORQJkAAJkAAJkAAJkIDHBCiwPEYV84EQWDt37pSmTZvGfLAHR6xbt06SJ08uNWvWjPJosxFY6Kh06dJhIqc8mIrPDjl16pRgO3vUB3Ny++2337ROGWp6IZrNvaHQPSLwUP+MLfAEIIqPHz8uderUkTRp0siiRYskSZIkKlUhkAPVKLACRZ7jxkSAAismQvw+CZAACZAACZAACZBAIAhQYPmQurFNuw+71KLp6dOn96nAwgt8IBvqY4WXPoGcjzdjU2B5Q836c3r16iUrVqyQnj176s8SNhf4+++/BTXqsElCypQpracM26UAACAASURBVJ/U/49IgRUw9Bw4BgIUWLxFSIAESIAESIAESIAE7EiAAsuOq2JiTt5EYJnonodGQYACy763BnbzPHjwoG5sgE0LhgwZ4pLAb775pnz11Vf6+ZEjR3SzBERhYRdOqxsFltXEOZ6nBCiwPCXF40iABEiABEiABEiABKwkQIFlJW0/jEWB5QeoHnRJgeUBpAAcgg0Ppk6dqhsfYEfNTJkyCVJxK1SooLMxfl7cp5YwYUK5d++e5bOlwLIcOQf0kAAFloegeBgJkAAJkAAJkAAJkIClBCiwLMXt+8EosHzP1JMeKbA8oWTNMUgJRJogNjxARNU333wTZmBsSJAuXTp5+PCh1K1bVzZt2qRSCztjYlfQZ555hgLLmqXiKA4hQIHlkIXiNEmABEiABEiABEggxAhQYDl8wb0RWFWrVg3oVSONq3379gGdQ2wHp8CKLUHfnI8NATp37ix9+/bVIu0pUqSItOMnT55oqmCJEiVk69atcv36dY3GQlF3CizfrAV7sZ4ApGzt2rW9Gvjtt9+WDz74INJzKbC8QsqTSIAESIAESIAESIAE/EyAAsvPgP3dvTcCq1SpUjJ9+nR/Ty3S/rEL4dy5c7kLYUDoB9egSMGrVq2aDBw40OMLYwqhx6h4oAMI/PnnnzJ69GjdnMBsw3kjR46kwHr61Cw6Hk8CJEACJEACJEACJBAgAhRYAQLvq2GNF/LWrVvL+PHjY+x2586dsmHDBvnkk0/02GeffVYePHigf0ckyuPHjyVu3Lj6X3xttEePHunnSNfCmPgaKVjhj8Hn8eLF02gXoz39zwsCIgVQOPvo0aMyfPhwCqwYV4oHxEQgUaJEplL/cO/iHty9e7c8//zzcubMGSlTpgwjsGICze/blgAEFqIQmzdv7np2Y7J4phvP4b/++kuf1Xhu4+94juNPx44dZdSoUZFeGyOwbLvknBgJkAAJkAAJkAAJhDQBCiyHL78hsLDzGmQSXtCjaniBR/reokWL5LXXXpO33npLf3s/dOhQlUp79uyR+vXrqwjDzm2LFy92dYXf1Hfq1Ek6dOggWbNmlStXrkjZsmX1j9E2btwo27Ztk8uXL+tOb0a7ePGivmCtXr2aAsvh95udpm9WYOE+LFKkiEDioi7Wc889p/cvUwjttKqcixkChsBCaixEFurA4fmO53natGll6dKl+rz+/PPPJVeuXBr9eujQIa0TN3PmTJVYkTUKLDOrwGNJgARIgARIgARIgASsIkCBZRVpP40TWUpUdENBYM2ZM0cFVrt27fQPXuyLFSsmV69eleTJk0u+fPm0lpC7wILUmjRpklSsWFFSp04ty5cv1wLY4V+AUCAbUVjly5cPM41PP/1U+vfvT4Hlp/sgFLs1K7DAiCmEoXinBO81RyawkFoLOVWyZEmNUMQvNbp06SI1atQQHI/nPJ7/kFv4pURkDf8e4FmOCF2nt//5n/+RFi1a6L8/7m3t2rX67xkihNlIgARIgARIgARIgAScQYACyxnrFOUsjRfyVatWxXglKGSN38AjbQQvMI0aNRKIpQsXLrgEFuQVfnuPCCp3gYUXHURRnT17ViVU3rx5pWDBghrFYjT0PWPGDB0DIsy9UWDFuDw8wCQBMwLLSIF99dVXpWXLlpIqVSq977t3764v6XjRt7pBNCByZuLEiWGGRiRkgQIF+GJt9YI4cLzIBBae60WLFpWuXbvKtGnTNPL1yJEjMm7cOBVYkydPln79+qnAypEjR6RXjed34cKFw6SCOxCPTpkCy6krx3mTAAmQAAmQAAmQQEQCFFgOvyvMFnFv1qyZtGnTRkaMGKHpgkj5QxQWIqkWLlwobdu21TTBefPmSe/evV10JkyYINWrV5fjx49r+iC+Rv2gbt26uY6BGMPLUpYsWcK8lB88eFB3ikuaNKn+Fpw1sJxx050/f17X2oqWLVs2SZYsmamhzAgs7DoIUZUzZ06tAYfdB3/55RcpV64cUwhNUefBdiJgCCykgxs7Ck6ZMkX/XrduXY04bNKkiQwePFggb8eMGSNID8SzvU+fPvon2JvdBRaEtRUtd+7cWheNjQRIgARIgARIgAScTIACy8mr95+5mxVYf/zxh77QLFmyJNorRz0r9/QS1AwK365duybYiv3u3buapvLvf//bdQj+Z9lo+NyozcUi7s654SAn//Wvf/l9wkhpypw5s95LZpoZgYUXfWwskDJlSq0NhGhENBRyT5AgASOwzIDnsbYhYAgspMiZbfjFxZdffmn2NMcdb3eB9cYbb+gvjvzZfv75Zx0jU6ZM/hyGfZMACZAACZAACZCA3wlQYPkdsX8HMCuwMBvIpQ8//NC/E4uidxR4hzRAGouT22+//SaIGkIEG9Ix3RsE4enTp2Xz5s1OvkSNmkOknr8b0lIRhYAaPWaaGYEFYQWBBXmFQu7YjQ1phCh8DbnKFEIz5HmsXQhAYGEHWqSimm0o5o7NOYK92V1g1axZM0y6vj/WA7+wwr9T+EUBGwmQAAmQAAmQAAk4mQAFlpNX7z9z90Zg3blzJ6BXHdNuiQGdnIeDh4rAQrpnvXr15Mcff1QhlzFjRnnxxRdV0CVJkkRpvfTSSxp9h7o5P/30k37faJcuXdI6O9gl071BKCFlcNasWRp5hTHmz5/vIf3/O8yMwMIOnMeOHRNEO2AXQkQkYEODdOnSMYXQFHUebCcCKECOCFhvGtLJgqFIe0zXbmeBhSLySMevVKmS3Lp1SzdUQV0+1CvDJin4O9KcUYQff4yGlP+pU6dKtWrV9Dncvn17jazesmWLPs+Mhjp7OAY19SiwYrpT+H0SIAESIAESIAEnEKDAcsIqRTNHbwSWwy/ZFtMPJYGFFyAUhEZdNBSHRrRU1apVpVChQrpb5YMHD3TnSaTioa5Urly5XGuEyCZEckEUuddUQ+QHogDx4obdwBB95Z526skiDxo0SJDqivMGDhyoddwwDwgqiDOIWrzgY7MBvMgh0gpzxg6ZcePGlfv376tAixMnjr4oWt2wsyeum0XcrSbP8UKJQEwCq1evXgHDgU1PEJH8wgsv6PMLvyDYvn275MmTR0qXLq1SChuq4Dn7/PPPh5knnmmHDx/WemcnTpyQmzdvyu7du10CC8X8T506pf3iGUeBFbBl5sAkQAIkQAIkQAI+JECB5UOYgeiKAisQ1EVCUWDVrl1bdy9DsX9IoR49ergEFiIJEGWFQv74nntDEf/3339fX66MBoGFFytEUSENChsEIHrATEPEwrBhw+S9995TCYYXOggzpAjmz59fI6wwDqIZsPMgpBWiExInTiyoBYfIBfSBnyGzBeTNzDO6YzH38Glc3IXQV3TZDwlEvQvhd999J++++25AEUGyIzoUAgu/CIB4h/BH9BWK7kO4t2rVSlCDErLdvbkLrG+++UYjXcMLLETQFitWTJ+TFFgBXWoOTgIkQAIkQAIk4CMCFFg+AhmobiiwAkM+1ATW48ePVV4hWgFCqHnz5rJs2TIVWIhkwi5o06ZNk1KlSmmqntEQQYCGejtILzTaDz/8oMfjxQ2RWd7UgTFSCLGZAFJoEKHQs2dPfRFEsfbPPvtMIxiQJoXaa0gfzJo1q+zYsUNf6HAsdiOE1ApEDayo7lwKrMD8THPU4CQQVQSWHa62ZMmSmkKIXwDgubpo0SJNxUY0FYQTZPvixYt1B193gTV9+nT9BcCAAQNk7969KrzwvHMXWGvWrBFEeCGaC7uvUmDZYcU5BxIgARIgARIggdgSoMCKLcEAn++NwCpbtqwWsw5EQ/Fs7GwXiJQtX15vqAgsb4q479u3z4U6X758rr8fP37cJYrcP/d3EXf0f+PGDY32Qq0tvPgh3RFRWIhuQC0gCixf/nSwLxKwDwE7CyzswIpnECRVdA1SHr8YMDajgJSKrCGF2zgGtQjxnENjEXf73I+cCQmQAAmQAAmQQOwIUGDFjl/Az/ZGYCG1asGCBQGZO2p1YAdC7kIYEPymBvV2F8Lvv//eNQ7quBgNhdMhjdDcP0dBeEgvpBGaaWaKuBv9Gj8v7uMkTJiQAssMeB5LAg4iYGeBBYyeRJ9CsCMyE5GwqGeFaNLIGiJbcQx2XEUaNSK40CiwHHTDcqokQAIkQAIkQALREqDAcvgNYryQV65cWZYvX67/4xpdQxoCCl1nyJBBD0M01sqVK/Xv+B9eFH3Fb3cRLeNeywifI/0Ku80hPQt1jdAHzjEazsEf1NwIX1No/fr1Wjz76NGjgrocFFj2v/G+/vprvaesaIjIQ+0qM81TgYWdvU6ePKkRWM2aNZOtW7dqOiQK0UOkMYXQDHUeSwLOImB3gYXnkBUN/+aCBRsJkAAJkAAJkAAJOJkABZaTV+8/czcEFnYyQiRJ+J2K3C8PaQiIvlq6dKnWw2jXrp3++fHHH6VWrVpy7tw5rWGE3dGGDBkSJq0BhaY7deqkdYMwBmQWhIP7/xBDaqEILXZ+w9bfRkNdDpwPeYVisxRYDr/pbDJ9TwUW5CvubRQ9Rq2Y0aNHaxRD+vTpJXPmzBRYNllPToME/EHA7gLLH9fMPkmABEiABEiABEggWAlQYDl8ZSNLiYrukrC19hdffKECq1q1ajJ06FA5f/68Rk2hHgdqYyFS6u7du2EE1syZM2Xjxo1SoEABrbGBlC8Unq1Tp06Y4VA0G5Fbbdq0cX1uRL7MnTtXtm3bRoHl8HvOLtP3VGC5z5cphHZZPc6DBKwhQIFlDWeOQgIkQAIkQAIkQAJWEKDAsoKyH8cwXsixFXdMDbUxkGoIkQSBhWgqCC2kWBkCC58jAgtiy72wLLYbx85tqGOEaJbixYtrH+GFwK+//qqFst0LeSPiCnJs6tSpFFgxLRK/7zEBTwXWkSNHdBeu+vXrq6z97rvvJEmSJIKoxUyZMjECy2PiPJAEnEeAAst5a8YZkwAJkAAJkAAJkEBUBCiwHH5vmC3iDmmFCKnLly9rCiB2NkJaIVL7kE6ISCuk/+3atUsjtIyGwtwQVjjv9u3bsmnTJk3JghAzGupc7d+/X9MRs2TJEoYs5BdkGYp4M4XQ4TdduOlfv35dvv32W8svqnXr1vLVV1/puNiOPlu2bFHOATWwcH+OHTtW5syZI5hzqlSp9GeBNbAsXzoOSAKWEaDAsgw1ByIBEiABEiABEiABvxOgwPI7Yv8OYFZgYTZI/VuzZk20E8P3mzdv7jrmwoULEY5HVBV2Q7pz545u140C7kYzisTja3xubOfNIu7+vR8C0fvevXtlw4YNKjitbI0bN9aowPjx48uff/4pDRs21OGxExfqsEFqhW9MIbRyhTgWCQSeAAVW4NeAMyABEiABEiABEiABXxGgwPIVyQD1443AQp2rqLbh9vdlQHaheDZ3IfQ3aev6R7ooZKZ74X4rRseGAatWrZIVK1boVvSI8EP7/fffdTfO1KlTR5gGogb79OkT5nMUdMf5dml79uzRWnOQcGwkQAKxI0CBFTt+PJsESIAESIAESIAE7ESAAstOq+HFXLwRWF4Mw1PCEfjtt980ZQ1F6cNHHqGQ/enTp2Xz5s0hwc0QWLVr19ZNAJBO2KJFC8HufxBGyZMnly5dumiUVIkSJZQJNgJ49tlnBbXbXnjhBWUI8YS2Y8cOF7f79+9L0aJFZfr06ZIvXz7X50hlxQYCTZs21ZprVapU0e9DYr366qtRcoe4RYSWnRsFlp1Xh3NzGgEKLKetGOdLAiRAAiRAAiRAAlEToMBy+N1BgRWYBaTA+oe7IbBGjBgh//rXv+TWrVu6EcCAAQOkR48e0qBBA4kbN66mpBoCC2fj3sXmAdhEAAIra9as+hk2EDDagwcPpHDhwtKxY0eBGDTapEmTNGUQxdmxqQDEVbp06VRijRkzRg/buXNnhJuDAiswPy8clQQCRYACK1DkOS4JkAAJkAAJkAAJ+J4ABZbvmVraIwWWpbhdg1FgRRRY7733nty7d08L/ENIuQusSpUqSebMmSMILNy/2AkQx0N2oYWPaDt79qzWbTt8+HAEgfXKK69otBsEVsaMGWXgwIGyZMkSTQkcNGiQCjL3dFkKrMD8vHBUEggUAQqsQJHnuCRAAiRAAiRAAiTgewIUWL5nammPFFiW4qbAigS3ewQWdrH89NNPZeLEiWEEVvgUQnSDe3f79u1Sv359lVZGxBTkoNEQVYWWLFmyMAILu2ei5hZSCHv37q0Ca9asWXqsIbAQCbZ69WpBtBZ20USjwArMzwtHJYFAEaDAChR5jksCJEACJEACJEACvidAgeV7ppb26I3AKlOmjEamBKLdvXtXkiZNKn379g3E8D4bkxFY/6A0U8TdSA9EkfWPPvoo0vVwTyH8+OOPXccsXLhQo63Q3D+/du2a7qppFHE3BJZRBB3F3keOHKn33dq1a1kDy2c/BeyIBOxPgALL/mvEGZIACZAACZAACZCApwQosDwlZdPj3AUWXtiNr6OaLo6pXLmyRqYEoh09elSGDx/OXQgDAd9PY0JgoQB72bJl/TRC9N1CYCFtETWx0MILLPezEfH1+uuvB2Seng7KIu6ekuJxJBAzAQqsmBnxCBIgARIgARIgARJwCgEKLKesVBTzNIQVdnN7+PChJEqUKNorQroV0qiwQx7O7dWrlxbIRmvcuLGmWtWtW1fWr1+vRbeNBkGAyK3JkydL9uzZZfHixVKwYEFB3SOjbdy4USNh0B/qERkNO8b169dPvvzyS6HAcvgNF8n0r169KgsWLAjohSGdMEeOHDqH6ARWQCfp4eAUWB6C4mEk4AEBCiwPIPEQEiABEiABEiABEnAIAQoshyxUVNM0BNaPP/4oKVOmjPZqILggpb799lutOYRaRYhawS5wSCmEiMibN68MHjxYpkyZopLKaEjBqlatmkybNk1SpEghL7/8shQqVEhrExkNxbYhqNDKly/v+hy1iBB11b9/fwosh99vTpg+BZYTVolzJAFrCFBgWcOZo5AACZAACZAACZCAFQQosKyg7McxYkoZDD80iml/8sknKrAQQTV37lyBeDIEFnaEq127ttYachdYkAInTpzQyCpEVEF6IerFXVRhrAkTJsj58+e1gLd7gyyjwPLjjcCuXQQosHgzkAAJGAQosHgvkAAJkAAJkAAJkEDwEKDACp61jPFKHj9+LBUqVFBpZURgIeIKEVWGwCpQoICMHz9ehgwZEkZgNWjQQAYOHChIbzp37pw8++yzmor4yiuvuMY9cuSI7iS3cuXKMOciAqtdu3bSokULSZ06NWtgxbhSPCA2BCiwYkOP55JAcBGgwAqu9eTVkAAJkAAJkAAJhDYBCqwQW/9Ro0Zp7StETkEm/fHHH5IuXTo5efKkpgUeP35c0qdPr+mEmTNndtHBrnupUqWS+/fvC+pt4evkyZOHqXWFqKzr169LlixZJHHixK5z7927p/3H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;" vertex="1" parent="1"> + <mxGeometry x="263" width="1073.48" height="899.93" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#7D1276;strokeWidth=4;" vertex="1" parent="1"> + <mxGeometry x="410" width="490" height="460" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#7D1276;strokeWidth=4;" vertex="1" parent="1"> + <mxGeometry x="990" y="70" width="346.48" height="390" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#7D1276;strokeWidth=4;" vertex="1" parent="1"> + <mxGeometry x="1176.48" y="530" width="160" height="150" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-5" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#7D1276;strokeWidth=4;" vertex="1" parent="1"> + <mxGeometry x="330" y="530" width="520" height="369.93" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-6" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#7D1276;strokeWidth=4;" vertex="1" parent="1"> + <mxGeometry x="263" y="90" width="77" height="180" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-7" value="Addressage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=0;perimeterSpacing=0;fontColor=#7D1873;fontSize=32;" vertex="1" parent="1"> + <mxGeometry x="550" y="20" width="240" height="80" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-8" value="Acheminement des données" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=0;perimeterSpacing=0;fontColor=#7D1873;fontSize=32;" vertex="1" parent="1"> + <mxGeometry x="860" y="760" width="240" height="80" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-9" value="Sorties parallèles" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=0;perimeterSpacing=0;fontColor=#7D1873;fontSize=32;" vertex="1" parent="1"> + <mxGeometry x="950" y="10" width="320" height="80" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-10" value="Sortie de transfert" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=0;perimeterSpacing=0;fontColor=#7D1873;fontSize=32;" vertex="1" parent="1"> + <mxGeometry x="980" y="530" width="240" height="80" as="geometry" /> + </mxCell> + <mxCell id="UK2KOiuzVW1_33XJxgRp-11" value="Entrées" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=0;perimeterSpacing=0;fontColor=#7D1873;fontSize=32;" vertex="1" parent="1"> + <mxGeometry x="200" y="250" width="240" height="80" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/meta/presentation/extra/front_page.pdf b/meta/presentation/extra/front_page.pdf new file mode 100644 index 0000000000000000000000000000000000000000..19de9cd6d62c7d99b9cecd11e7492e5a7b3f9372 Binary files /dev/null and b/meta/presentation/extra/front_page.pdf differ diff --git a/meta/presentation/img/Butterfly.png b/meta/presentation/img/Butterfly.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a354998f6f1c3188d015c68ae1074700204a65 Binary files /dev/null and b/meta/presentation/img/Butterfly.png differ diff --git a/meta/presentation/img/Butterfly_with_square.png b/meta/presentation/img/Butterfly_with_square.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd4613b1407f1ca734239e3c26d20ae8236f333 Binary files /dev/null and b/meta/presentation/img/Butterfly_with_square.png differ diff --git a/meta/presentation/img/Fqmul.png b/meta/presentation/img/Fqmul.png new file mode 100644 index 0000000000000000000000000000000000000000..382e49ca9f621782698ff11cc16e30c3ab788622 Binary files /dev/null and b/meta/presentation/img/Fqmul.png differ diff --git a/meta/presentation/img/MemoryBuffer.png b/meta/presentation/img/MemoryBuffer.png new file mode 100644 index 0000000000000000000000000000000000000000..a336503feee79ec042093e0d7ded102fd2c3f418 Binary files /dev/null and b/meta/presentation/img/MemoryBuffer.png differ diff --git a/meta/presentation/img/MemoryBuffer_with_frames.png b/meta/presentation/img/MemoryBuffer_with_frames.png new file mode 100644 index 0000000000000000000000000000000000000000..14ca27663ba57483c027d6cf274f2a239b396eb7 Binary files /dev/null and b/meta/presentation/img/MemoryBuffer_with_frames.png differ diff --git a/meta/presentation/img/butterfly_humour.png b/meta/presentation/img/butterfly_humour.png new file mode 100644 index 0000000000000000000000000000000000000000..7d75d2a060d2229c39697f2684746d11f60354d5 Binary files /dev/null and b/meta/presentation/img/butterfly_humour.png differ diff --git a/meta/presentation/img/cc.png b/meta/presentation/img/cc.png new file mode 100644 index 0000000000000000000000000000000000000000..3a57b8a40d076fb1bae3ebf66d1327cef6cc7f65 Binary files /dev/null and b/meta/presentation/img/cc.png differ diff --git a/meta/presentation/img/delay.png b/meta/presentation/img/delay.png new file mode 100644 index 0000000000000000000000000000000000000000..7f720e8086df43e14333718c5191bc1dd0939ff0 Binary files /dev/null and b/meta/presentation/img/delay.png differ diff --git a/meta/presentation/img/designflow.png b/meta/presentation/img/designflow.png new file mode 100644 index 0000000000000000000000000000000000000000..843e1a9b19a6ae8c6870138d75235044b213a1f3 Binary files /dev/null and b/meta/presentation/img/designflow.png differ diff --git a/meta/presentation/img/dio_archflow.png b/meta/presentation/img/dio_archflow.png new file mode 100644 index 0000000000000000000000000000000000000000..68a17909cee215716415b8ddb548801c7081f49e Binary files /dev/null and b/meta/presentation/img/dio_archflow.png differ diff --git a/meta/presentation/img/dio_archflow_focus_b.png b/meta/presentation/img/dio_archflow_focus_b.png new file mode 100644 index 0000000000000000000000000000000000000000..7991f77bb602429a5b140fcc573432421f43c7b7 Binary files /dev/null and b/meta/presentation/img/dio_archflow_focus_b.png differ diff --git a/meta/presentation/img/dio_archflow_focus_m.png b/meta/presentation/img/dio_archflow_focus_m.png new file mode 100644 index 0000000000000000000000000000000000000000..f726b06edd11f72a2898b4c8ced05b11fda61f67 Binary files /dev/null and b/meta/presentation/img/dio_archflow_focus_m.png differ diff --git a/meta/presentation/img/dio_method.png b/meta/presentation/img/dio_method.png new file mode 100644 index 0000000000000000000000000000000000000000..97a9de94b9086716e80fd6186830ed6bb71af95a Binary files /dev/null and b/meta/presentation/img/dio_method.png differ diff --git a/meta/presentation/img/hepia.jpg b/meta/presentation/img/hepia.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d885c710084a2a1e79d08fe32170a848c446e3a1 Binary files /dev/null and b/meta/presentation/img/hepia.jpg differ diff --git a/meta/presentation/img/kem.png b/meta/presentation/img/kem.png new file mode 100644 index 0000000000000000000000000000000000000000..011c77d777ec5a664e9500cfd48d14b025447c46 Binary files /dev/null and b/meta/presentation/img/kem.png differ diff --git a/meta/presentation/img/mem1in.png b/meta/presentation/img/mem1in.png new file mode 100644 index 0000000000000000000000000000000000000000..743bac133aae3967b3d22bf15d6d2dc4383e3655 Binary files /dev/null and b/meta/presentation/img/mem1in.png differ diff --git a/meta/presentation/img/mem1inbetter.png b/meta/presentation/img/mem1inbetter.png new file mode 100644 index 0000000000000000000000000000000000000000..bd98b09b9463f3fe20ecacd555a39c163fdcb0b5 Binary files /dev/null and b/meta/presentation/img/mem1inbetter.png differ diff --git a/meta/presentation/img/mem2we.png b/meta/presentation/img/mem2we.png new file mode 100644 index 0000000000000000000000000000000000000000..957e958f1313d07145f5c73e38cb0b2fd4774f62 Binary files /dev/null and b/meta/presentation/img/mem2we.png differ diff --git a/meta/presentation/img/mem3addr.png b/meta/presentation/img/mem3addr.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a3c7944d9030a28e03b8a830f690c1de788247 Binary files /dev/null and b/meta/presentation/img/mem3addr.png differ diff --git a/meta/presentation/img/mem4data.png b/meta/presentation/img/mem4data.png new file mode 100644 index 0000000000000000000000000000000000000000..4c99afb79b16197b15896433155c2fc255ec8c8b Binary files /dev/null and b/meta/presentation/img/mem4data.png differ diff --git a/meta/presentation/img/ntt_stages.png b/meta/presentation/img/ntt_stages.png new file mode 100644 index 0000000000000000000000000000000000000000..5957302d6206a504e7a1879b405f88987c535f57 Binary files /dev/null and b/meta/presentation/img/ntt_stages.png differ diff --git a/meta/presentation/img/ntt_structure.png b/meta/presentation/img/ntt_structure.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f82b31b67aa699a3bb2a6b64ec63aaf6a80b3a Binary files /dev/null and b/meta/presentation/img/ntt_structure.png differ diff --git a/meta/presentation/img/resources.png b/meta/presentation/img/resources.png new file mode 100644 index 0000000000000000000000000000000000000000..d93d2415e425dac0c1d75450b068f894b76e41b6 Binary files /dev/null and b/meta/presentation/img/resources.png differ diff --git a/meta/presentation/main.tex b/meta/presentation/main.tex new file mode 100644 index 0000000000000000000000000000000000000000..ce3b13416bad7603720dd6da77cd6dceaefb8842 --- /dev/null +++ b/meta/presentation/main.tex @@ -0,0 +1,134 @@ +\documentclass{presentation_style} + +\hypersetup{ + pdfinfo={ + Title={Accélération Matérielle de CRYSTALS-Kyber sur FPGA}, + Author={Boris Stefanovic}, + Subject={HEPIA - ISC - EMB - Bachelor}, + Keywords={co-design, cryptography, FPGA, hardware, HDL, Kyber, post-quantum cryptography, PQC, VHDL} + } +} + +\usepackage{subcaption} +\usepackage{graphicx} +\usepackage{tikz} +\usepackage[absolute,overlay]{textpos} +\usepackage{multicol} +\graphicspath{{img/}} +\usepackage[utf8]{inputenc} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{lipsum} +\usepackage{hyperref} +\usepackage{ragged2e} +\usepackage[linesnumbered, noend, vlined, ruled]{algorithm2e} +\usepackage{algpseudocode} +\usepackage{etoolbox} +\usepackage{blkarray} +\usepackage[french]{babel} +\usepackage{svg} + +\makeatletter +\patchcmd\algocf@Vline{\vrule}{\vrule \kern-0.4pt}{}{} +\patchcmd\algocf@Vsline{\vrule}{\vrule \kern-0.4pt}{}{} +\makeatother + +\usepackage{anyfontsize} + +\usepackage[backend=biber,sorting=none,style=authoryear-comp]{biblatex} +\addbibresource{refs.bib} +%\AtBeginBibliography{\tiny} +%\renewcommand{\footnotesize}{\tiny} + +\usepackage{listings} +\lstset { + language=[LaTeX]TeX, + breaklines=true, + basicstyle=\texttt\scriptsize, + keywordstyle=\color{blue}, + identifierstyle=\color{magenta}, + commentstyle=\color{red}, + rulecolor=\color{black}, + numbers=left, + numberstyle=\tiny\color{black}, +% framexleftmargin=15pt, + frame = single, +} + +\author{Boris Stefanovic} +\title[Accélération de CRYSTALS-Kyber sur FPGA]{Accélération de CRYSTALS-Kyber sur FPGA} + +\institute[IC]{{Haute Ecole du Paysage, d'Ingénierie et d'Architecture}{\newline Informatique et Systèmes de Communication}{\newline orientation Systèmes Embarqués}} +\subject{Thèse de Bachelor} +\date{Septembre 2024} + +\newcommand{\startsection}[1]{ + \section{#1} + \breakingframe{ + \begin{textblock*}{3cm}[0.5,0.5](0.5\textwidth, 0.5\textheight) + \textbf{\Huge{#1}} + \end{textblock*} + } +} + +\newcommand{\secframe}[2]{ + \subsection{#1} + \begin{frame}{#1} + #2 + \end{frame} +} + +\newcommand{\qframe}[2]{ + \begin{frame}{#1} + #2 + \end{frame} +} + +\newcommand{\presfigure}[3]{ + \begin{figure}[H] + \centering + \includegraphics[height=#1\textheight]{img/#2} + %\caption[#3]{#3} + %\label{fig:#2} + \end{figure} +} + +\begin{document} +{ % all template changes are local to this group. + \setbeamertemplate{navigation symbols}{} + \begin{frame} + <article:0>[plain] + \begin{tikzpicture}[remember picture,overlay] + \node[at=(current page.center)] { + \includegraphics[keepaspectratio,width=\paperwidth,height=\paperheight]{extra/front_page} + }; + \end{tikzpicture} + \end{frame} + \setcounter{framenumber}{0} +} + +{ + \usebackgroundtemplate{} % add an empty background for this slide + \coverpage{ + \titlepage{~} + {\newline Superviseur: Andrés UPEGUI} + } +} + + \setbeamertemplate{logo}{} % override the logo from the other slides and delete it completely + + \input{sections/0_plan} + + \input{sections/1_introduction} + \input{sections/2_conception} + \input{sections/3_architecture} + \input{sections/4_resultats} + \input{sections/5_conclusion} + + \input{sections/references} + \input{sections/demonstration} + \input{sections/questions} + + \normalsize +\end{document} diff --git a/meta/presentation/presentation_style.cls b/meta/presentation/presentation_style.cls new file mode 100644 index 0000000000000000000000000000000000000000..2fe021a71ce122191da96a05bbcb9683d90998d8 --- /dev/null +++ b/meta/presentation/presentation_style.cls @@ -0,0 +1,201 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{DCL} +\LoadClass[aspectratio = 169, 11pt, xcolor={usenames,dvipsnames}]{beamer} + +\definecolor{mypink}{rgb}{0.97, 0.56, 0.65} +\definecolor{myviolet}{rgb}{0.6, 0.4, 0.8} +\definecolor{myblue}{rgb}{0.61, 0.77, 0.89} + +\definecolor{green1}{rgb}{0.00, 0.45, 0.47} +\definecolor{green2}{rgb}{0.73, 0.88, 0.82} + +\definecolor{violet1}{rgb}{0.59, 0.08, 0.39} +\definecolor{violet2}{rgb}{0.85, 0.78, 0.85} + + +\definecolor{beamerfooter1}{rgb}{0.97, 0.64, 0.60} +\definecolor{beamerfooter2}{rgb}{0.96, 0.46, 0.40} +\definecolor{beamerfooter3}{rgb}{0.93, 0.19, 0.10} + +\setbeamercolor*{header color}{fg=white,bg=black} +\setbeamercolor*{footer color1}{fg=black}%,bg=beamerfooter1} % pink +\setbeamercolor*{footer color2}{fg=white}%,bg=beamerfooter2} % dark pink +\setbeamercolor*{footer color3}{fg=white}%,bg=beamerfooter3} % dark red + +\setbeamertemplate{blocks}[rounded][shadow=true] + +\setbeamercolor{block body}{fg = black, bg = beamerfooter1} +\setbeamercolor{block title}{fg=white, bg=beamerfooter2} + +\setbeamercolor{block body example}{fg = black, bg = green2} +\setbeamercolor{block title example}{fg = white, bg = green1} + +\setbeamercolor{block body alerted}{fg = black, bg = violet2} +\setbeamercolor{block title alerted}{fg=white, bg=violet1} + +\pgfdeclarehorizontalshading[beamerfooter1,beamerfooter2,beamerfooter3] +{beamer@frametitleshade}{\paperheight}{ + color(0pt)=(beamerfooter3); + color(0.3333\paperwidth)=(beamerfooter2); + color(1.056\paperwidth)=(beamerfooter1) +} + +\setbeamertemplate{frametitle}{\vspace{20pt}\color{beamerfooter3}\textbf\insertframetitle} + +% ---- Bibliography Specifiers ---- +\setbeamertemplate{bibliography item}[text] % Regular numbering (Formal) + +% ---- Itemize Specifier ---- +\setbeamertemplate{itemize items}[square] +\setbeamertemplate{enumerate items}[square] + +% ---- Frame Title Specifier ---- +\addtobeamertemplate{frametitle}{}{\vspace{0pt}} % increase vspace between the title and text + + +\newcommand{\rom}[1]{\uppercase\expandafter{\romannumeral #1\relax}} % Add Romans numbering + +\usecolortheme[named=beamerfooter3]{structure} +\setbeamertemplate{headline}{} +\setlength{\footnotesep}{0.05cm} + +% Table of contents size subsections and subsubsections +\setbeamerfont{subsection in toc}{size=\scriptsize} +\setbeamerfont{subsubsection in toc}{size=\scriptsize} + +% Table of contents (Enumeration shapes) +\setbeamertemplate{section in toc}[square] +\setbeamertemplate{subsection in toc}[square] +\setbeamertemplate{subsubsection in toc}[square] + +\setbeamercovered{transparent} % Transparent Text When Use "Pauses"! +\setbeamertemplate{navigation symbols}%{default} + +%\logo{\centering\includegraphics[height=.75cm]{img/hepia}\hspace{20pt}}%\hspace{350pt}\vspace{200pt}} +\logo{\centering\includegraphics[height=.85cm]{img/hepia}\hspace{20pt}}%\hspace{350pt}\vspace{200pt}} + +\addtobeamertemplate{footnote}{}{\vspace{1.5ex}} + +% -------- Special frames --------- +\newcommand{\coverpage}[1]{ + \section*{Titre} % add entry in pdf meta outline + \setcounter{section}{0} % reset section counter to prevent previous line from messing up table of contents + { + \setbeamertemplate{headline}{ + \leavevmode + \hbox{ + \begin{beamercolorbox}[wd=1.009\textwidth, ht=2.5ex, dp=1.125ex]{} + \end{beamercolorbox} + } + } + \setbeamertemplate{footline} + { + \leavevmode% + \setbox\beamer@tempbox=\hbox{% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex, center]{footer color3}% + \usebeamerfont{author in head/foot}\hspace{2ex}\insertshortauthor + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{footer color2}% + % \usebeamerfont{title in head/foot}\insertshorttitle + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{footer color1}% + \usebeamerfont{title in head/foot}\insertshorttitle{}\hspace*{6em}~~~~~~~~\hspace*{2ex} + \end{beamercolorbox}% + }% + \beamer@tempdim=\ht\beamer@tempbox% + \advance\beamer@tempdim by 4pt% + \begin{pgfpicture}{0pt}{0pt}{\paperwidth}{20pt} + \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}} + \pgfusepath{clip} + \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}} + \end{pgfpicture} + \vskip-\beamer@tempdim% + \box\beamer@tempbox% + }% + \setbeamercolor{background canvas}{} + \begin{frame}[t, noframenumbering, allowframebreaks]{} + #1 + \end{frame} + } +} + +% Define and customize the headline style of slides +\setbeamertemplate{headline}{% + \leavevmode% + \hbox{% + \begin{beamercolorbox}[wd=1.000\textwidth, ht=2.5ex, dp=1.125ex]{header color}% + \ifx + \insertsubsection\empty % no subsection + {{~~}\insertsection}% + \else % subsection exists + \ifx + \insertsubsubsection\empty % subsection but no subsubsection + {~\insertsection \textcolor{white}{$~~\bullet$} ~\S~\insertsubsection}% + \else % subsection and subsubsection exist + {~\insertsection \textcolor{white}{$~~\bullet$} ~\S~\insertsubsection \textcolor{white}{$~~\bullet$} ~\S~\insertsubsubsection}% + \fi + \fi + \end{beamercolorbox}% + } +} + +\newcommand{\breakingframe}[1]{ + { + + \setbeamertemplate{footline} + { + \leavevmode% + \setbox\beamer@tempbox=\hbox{% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex, center]{footer color3}% + \usebeamerfont{author in head/foot}\hspace{2ex}\insertshortauthor + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{footer color2}% + \usebeamerfont{title in head/foot}\insertshorttitle + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{footer color1}% + \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{6em}~~~~~~~~\hspace*{2ex} + \end{beamercolorbox}% + }% + \beamer@tempdim=\ht\beamer@tempbox% + \advance\beamer@tempdim by 4pt% + \begin{pgfpicture}{0pt}{0pt}{\paperwidth}{20pt} + \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}} + \pgfusepath{clip} + \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}} + \end{pgfpicture} + \vskip-\beamer@tempdim% + \box\beamer@tempbox% + }% + + \setbeamercolor{background canvas}{bg=beamerfooter1} + \begin{frame}[t, noframenumbering, allowframebreaks]{} + #1 + \end{frame} + } +} + +\setbeamertemplate{footline} +{ + \leavevmode% + \setbox\beamer@tempbox=\hbox{% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex]{footer color3}% + \usebeamerfont{author in head/foot}\hspace{2ex}\insertshortauthor + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{footer color2}% + \usebeamerfont{title in head/foot}\insertshorttitle + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{footer color1}% + \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em} + \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} + \end{beamercolorbox}% +}% +\beamer@tempdim=\ht\beamer@tempbox% +\advance\beamer@tempdim by 4pt% + \begin{pgfpicture}{0pt}{0pt}{\paperwidth}{20pt} + \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}} + \pgfusepath{clip} + \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}} + \end{pgfpicture} + \vskip-\beamer@tempdim% + \box\beamer@tempbox% +}% diff --git a/meta/presentation/refs.bib b/meta/presentation/refs.bib new file mode 100644 index 0000000000000000000000000000000000000000..ba0de4741bc36ea0922e1b3d9879940766784200 --- /dev/null +++ b/meta/presentation/refs.bib @@ -0,0 +1,24 @@ +@standard{fips203, + type = {computer security - cryptography}, + title = {Module-{{Lattice-Based Key-Encapsulation Mechanism Standard}}}, + author = {{National Institute of Standards and Technology}}, + date = {2024-08-13}, + number = {203}, + publisher = {Federal Information Processing Standards}, + location = {Gaithersburg, Maryland, USA}, + doi = {10.6028/NIST.FIPS.203}, + url = {https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf}, + urldate = {2024-08-27}, + langid = {english}, + pagetotal = {56}, + pubstate = {effective}, + version = {1} +} + +@misc{template, + title = {Latex {{Beamer Template}}}, + shorttitle = {Latex {{Beamer Template}}}, + author = {Shaqfa, Mahmoud S. and Gay-Balmaz, Marc}, + langid = {english}, + organization = {Ecole Polytechnique Fédérale de Lausanne} +} diff --git a/meta/presentation/sections/0_plan.tex b/meta/presentation/sections/0_plan.tex new file mode 100644 index 0000000000000000000000000000000000000000..0c87823de9ef63dd96c2d99153abf06aa804270d --- /dev/null +++ b/meta/presentation/sections/0_plan.tex @@ -0,0 +1,98 @@ +% Compare with and without minipage environments. +% Without requires framebreak between columns. + +%\begin{frame}{Plan} +% \begin{multicols}{3} +% \tableofcontents[sections={1}] +% \framebreak +% \tableofcontents[sections={2-3}] +% \framebreak +% \tableofcontents[sections={4-5}] +% \end{multicols} +%\end{frame} + +%\begin{frame}{Plan} +% \begin{multicols}{3} +% \begin{minipage}[c][0.7\textheight]{.27\textwidth} +% \vfill +% \tableofcontents[sections={1}] +% \vfill +% \end{minipage} +% \hfill +% \begin{minipage}[c][0.7\textheight]{.27\textwidth} +% \vfill +% \tableofcontents[sections={2-3}] +% \vfill +% \end{minipage} +% \hfill +% \begin{minipage}[c][0.7\textheight]{.27\textwidth} +% \vfill +% \tableofcontents[sections={4-5}] +% \vfill +% \end{minipage} +% \end{multicols} +%\end{frame} + +%\begin{frame}{Cadre et durée} +% \begin{itemize} +% \item Travail de bachelor +% \item Ne suit pas un travail de semestre +% \begin{itemize} +% \item Durée réduite +% \item Avril 2024 +% \end{itemize} +% \end{itemize} +%\end{frame} + +\begin{frame}{Plan} + \begin{minipage}[c][0.7\textheight]{.27\textwidth} + \vfill + \begin{block}{\textbf{1.} Introduction} + \begin{itemize} + \item Motivation + \item Définition de Kyber + \item Description du projet + \end{itemize} + \end{block} + \vfill + \end{minipage} + \hfill + \begin{minipage}[c][0.7\textheight]{.27\textwidth} + \vfill + \begin{block}{\textbf{2.} Conception} + \begin{itemize} + \item Méthode globale + \item Number Theoretic Transform + \item Structure du calcul + \end{itemize} + \end{block} + \vfill + \begin{block}{\textbf{3.} Architecture} + \begin{itemize} + \item Diagramme global + \item Unité de calcul : \texttt{Butterfly} + \item Mémoire + \end{itemize} + \end{block} + \vfill + \end{minipage} + \hfill + \begin{minipage}[c][0.7\textheight]{.27\textwidth} + \vfill + \begin{block}{\textbf{4.} Résultats} + \begin{itemize} + \item Cycles d'horloge + \item Ressources utilisées + \item Avantages et inconvénients + \end{itemize} + \end{block} + \vfill + \begin{block}{\textbf{5.} Conclusion} + \begin{itemize} + \item En résumé + \item Travaux futurs + \end{itemize} + \end{block} + \vfill + \end{minipage} +\end{frame} diff --git a/meta/presentation/sections/1_introduction.tex b/meta/presentation/sections/1_introduction.tex new file mode 100644 index 0000000000000000000000000000000000000000..c48ddc827e018ed6acb794aadf2857ad5068f605 --- /dev/null +++ b/meta/presentation/sections/1_introduction.tex @@ -0,0 +1,74 @@ +\startsection{Introduction} + +\secframe{Motivation}{ + \begin{exampleblock}{Nature du besoin} + \begin{itemize} + \item Avancement du développement des ordinateurs quantiques + \item \textbf{Algorithmes actuels inefficaces} contre ordinateur quantique + \item Besoin d'algorithmes de \textbf{cryptographie post-quantique} + \item Volonté d'implémentation \textbf{efficace} + \item Août 2024 : \textbf{standard} de cryptographie post-quantique (FIPS 203) + \end{itemize} + \end{exampleblock} +} + +%\secframe{Chronologie}{ +% \begin{alertblock}{Quelques dates importantes} +% \begin{itemize} +% \item 2016 : début du processus de sélection +% \item 2022 : sélection des finalistes +% \item 2024 : publication du standard \textbf{FIPS 203} (ML-KEM) +% \item recommandation d'adoption \textbf{immédiate} +% \end{itemize} +% \end{alertblock} +%} + +\secframe{Kyber / ML-KEM}{ + \presfigure{0.75}{kem}{Mécanisme d'encapsulation de clés} +} + +\secframe{Charges et contraintes}{ + \begin{minipage}[c][0.7\textheight]{.45\textwidth} + \begin{exampleblock}{Charges} + \begin{itemize} + \item Implémentation matérielle d'une partie de Kyber + \item Long terme : ASIC + \item Modulaire et incrémental + \item Co-design software / hardware + \item Toujours fonctionnel et comparable + \end{itemize} + \end{exampleblock} + \end{minipage} + \hfill + \begin{minipage}[c][0.7\textheight]{.45\textwidth} + \begin{exampleblock}{Contraintes} + \begin{itemize} + \item Libre choix des outils + \item Matériel à disposition : Kria KV260 + \end{itemize} + \end{exampleblock} + \end{minipage} +} + +\secframe{Implémentations existantes de Kyber}{ + \begin{block}{Travaux précédents} + \begin{itemize} + \item Implémentations \textbf{HDL} existantes mais \textbf{confidentielles} + \item Code de référence \textbf{logiciel}, en C + \item Implémentation \textbf{HLS}, en collaboration avec HEPIA + \end{itemize} + \end{block} +} + +\secframe{Choix des outils : SpinalHDL}{ + \begin{multicols}{2} + \begin{itemize} + \item HDL de haut-niveau + \item Integré à Scala + \item Génération dynamique + \item Design \textit{hybride} avec VHDL possible + \end{itemize} + \framebreak + \presfigure{0.85}{designflow}{Design-flow de SpinalHDL} + \end{multicols} +} diff --git a/meta/presentation/sections/2_conception.tex b/meta/presentation/sections/2_conception.tex new file mode 100644 index 0000000000000000000000000000000000000000..e3d5c380d2e4b563e0a6252495ebbfc03613c029 --- /dev/null +++ b/meta/presentation/sections/2_conception.tex @@ -0,0 +1,39 @@ +\startsection{Conception} + +\secframe{Méthode globale}{ + \presfigure{0.65}{dio_method}{Workflow de développement du projet} +} + +\secframe{Number Theoretic Transform}{ + \begin{itemize} + \item Transformation mathématique + \item Sur des polynômes + \item Domaine de la NTT + %\item Opération comparable à la transformée de Fourier discrète + \item Calcul comparable à celui de la Fast Fourier Transform + \end{itemize} +} + +\secframe{Raisons du choix de la NTT}{ + \begin{itemize} + \item Essentielle à Kyber + \pause + \begin{itemize} + \item Facilitation des opérations de Kyber + \pause + \item Clés représentées dans le domaine de la NTT + \end{itemize} + \pause + \item Volumineuse dans l’implémentation HLS + \begin{itemize} + \item Complexe OU optimisable + \end{itemize} + \pause + \item Une bonne base + \end{itemize} +} + +\secframe{Structure du calcul}{ +%\presfigure{0.8}{ntt_structure}{Structure en papillons du calcul de la NTT} + \presfigure{0.8}{ntt_stages}{Structure en papillons du calcul de la NTT} +} diff --git a/meta/presentation/sections/3_architecture.tex b/meta/presentation/sections/3_architecture.tex new file mode 100644 index 0000000000000000000000000000000000000000..1f5099be90fa604d43c9e77bc899a425f9c2193a --- /dev/null +++ b/meta/presentation/sections/3_architecture.tex @@ -0,0 +1,81 @@ +\startsection{Architecture} + +\secframe{Diagramme de flux}{ + \presfigure{0.78}{dio_archflow}{\textit{Flow-diagram} de l'architecture de la NTT} +} + +\qframe{Diagramme de flux : opérateurs}{ + \presfigure{0.78}{dio_archflow_focus_b}{\textit{Flow-diagram} de l'architecture de la NTT : attention sur les opérateurs} +} + +\secframe{Unité de calcul : \texttt{Butterfly}}{ + \begin{minipage}[c][0.8\textheight]{.45\textwidth} + \begin{exampleblock}{Composant \texttt{Butterfly}} + \presfigure{0.42}{Butterfly}{Composant Butterfly} + \end{exampleblock} + \end{minipage} + \hfill + \begin{minipage}[c][0.8\textheight]{.45\textwidth} + %\begin{alertblock}{Composant \texttt{Fqmul}} + % \presfigure{0.42}{Fqmul}{Composant Fqmul} + %\end{alertblock} + \end{minipage} +} + +\qframe{Unité de calcul : \texttt{Butterfly}}{ + \begin{minipage}[c][0.8\textheight]{.45\textwidth} + \begin{exampleblock}{Composant \texttt{Butterfly}} + \presfigure{0.42}{Butterfly_with_square}{Composant Butterfly} + \end{exampleblock} + \end{minipage} + \hfill + \begin{minipage}[c][0.8\textheight]{.45\textwidth} + %\begin{alertblock}{Composant \texttt{Fqmul}} + % \presfigure{0.42}{Fqmul}{Composant Fqmul} + %\end{alertblock} + \end{minipage} +} + +\qframe{Unité de calcul : \texttt{Butterfly}}{ + \begin{minipage}[c][0.8\textheight]{.45\textwidth} + \begin{exampleblock}{Composant \texttt{Butterfly}} + \presfigure{0.42}{Butterfly_with_square}{Composant Butterfly} + \end{exampleblock} + \end{minipage} + \hfill + \begin{minipage}[c][0.8\textheight]{.45\textwidth} + \begin{alertblock}{Composant \texttt{Fqmul}} + \presfigure{0.42}{Fqmul}{Composant Fqmul} + \end{alertblock} + \end{minipage} +} + +\qframe{Diagramme de flux : mémoire}{ + \presfigure{0.78}{dio_archflow_focus_m}{\textit{Flow-diagram} de l'architecture de la NTT : attention sur la mémoire} +} + +\secframe{Mémoire}{ + \presfigure{0.86}{MemoryBuffer_with_frames}{Une architecture de mémoire dédiée à la NTT} +} + +\begin{frame} + \frametitle{Mémoire : entrées} + %\presfigure{0.8}{mem1in}{Mémoire : entrées} + \presfigure{0.8}{mem1inbetter}{Mémoire : entrées} +\end{frame} + +\begin{frame} + \frametitle{Mémoire : adressage et \texttt{enable}} + \begin{minipage}[c][0.9\textheight]{0.1\textwidth} + \presfigure{0.2}{mem2we}{Mémoire : \texttt{WRITE\_ENABLE}} + \end{minipage} + \hfill + \begin{minipage}[c][0.9\textheight]{0.7\textwidth} + \presfigure{0.9}{mem3addr}{Mémoire : adressage} + \end{minipage} +\end{frame} + +\begin{frame} + \frametitle{Mémoire : acheminement des données} + \presfigure{0.86}{mem4data}{Mémoire : acheminement des données} +\end{frame} diff --git a/meta/presentation/sections/4_resultats.tex b/meta/presentation/sections/4_resultats.tex new file mode 100644 index 0000000000000000000000000000000000000000..661b6fb68f318811a5158457af7b81741b49f425 --- /dev/null +++ b/meta/presentation/sections/4_resultats.tex @@ -0,0 +1,50 @@ +\startsection{Resultats} + +\secframe{Décompte des cycles d'horloge}{ + \presfigure{0.5}{cc}{Décompte des cycles d'horloge avec P, le nombre de mots de 16 bits transférables en 1 cc et N, le degré de parallélisation} + { + \tiny + \hspace{0.23\textwidth} P : facteur de parallélisation de transfert\\ + \hspace{0.23\textwidth} N : facteur de parallélisation de calcul + } + \begin{center} + { + \large + \textbf{Aussi bas que 264 cc !} + } + \end{center} +} + +\secframe{Ressources utilisées}{ + \presfigure{0.78}{resources}{Nombre de LUT utilisées en fonction du degré de parallélisation de calcul N} + \begin{center} + Total LUT dans Kria KV260 = \textbf{117'120} + \end{center} +} + +\secframe{Fréquence d'horloge}{ + \presfigure{0.8}{delay}{Période d'horloge en fonction du degré de parallélisation de calcul N} +} + +\secframe{Avantages}{ + \begin{itemize} + \item Grand degré de parallélisation + \item Calcul de la NTT en \textbf{7 cycles d'horloge} + \item Simple à comprendre, intégrer, modifier + \end{itemize} +} + +\secframe{Inconvénients}{ + \begin{itemize} + \item Longs chemins combinatoires + \begin{itemize} + \item Basse fréquence d'horloge + \end{itemize} + \item Volumineux + \begin{itemize} + \item Multiplicateurs dans les composants \texttt{Butterfly} + \item Grosse logique d'adressage + \item Attendu dans une certaine mesure + \end{itemize} + \end{itemize} +} diff --git a/meta/presentation/sections/5_conclusion.tex b/meta/presentation/sections/5_conclusion.tex new file mode 100644 index 0000000000000000000000000000000000000000..9fcbd2ec05a977f18129904e5a37ed80925245ea --- /dev/null +++ b/meta/presentation/sections/5_conclusion.tex @@ -0,0 +1,32 @@ +\startsection{Conclusion} + +\secframe{En résumé}{ + \begin{itemize} + \item Implémentation fonctionnelle + \item Maximisation de la parallélisation + \item Encore optimisable + \item Autres voies à explorer : fréquence d'horloge ? + \end{itemize} +} + +\secframe{Travaux futurs}{ + \begin{itemize} + \pause\item Optimisation de la NTT + \begin{itemize} + \item ressources utilisées + \item fréquence d'horloge + \item meilleure gestion des multiplicateurs ? + \item stratégie double / triple buffer ? + \end{itemize} + % + \pause\item Complétion du jeu de composants + \begin{itemize} + \item Toujours en co-design et incrémentalement + \end{itemize} + % + \pause\item Le projet se prête parfaitement aux travaux de diplôme + \begin{itemize} + \item SpinalHDL non-imposé pour les autres composants + \end{itemize} + \end{itemize} +} diff --git a/meta/presentation/sections/demonstration.tex b/meta/presentation/sections/demonstration.tex new file mode 100644 index 0000000000000000000000000000000000000000..2454cb132310003a4932944500c6c2d2353581bc --- /dev/null +++ b/meta/presentation/sections/demonstration.tex @@ -0,0 +1,6 @@ +\section{Démonstration} +\breakingframe{ + \begin{textblock*}{3cm}[0.5,0.5](0.5\textwidth, 0.5\textheight) + \textbf{\Huge{Démonstration}} + \end{textblock*} +} diff --git a/meta/presentation/sections/questions.tex b/meta/presentation/sections/questions.tex new file mode 100644 index 0000000000000000000000000000000000000000..6063a77153ee0375532d39fc4a67b05d74801e7d --- /dev/null +++ b/meta/presentation/sections/questions.tex @@ -0,0 +1,6 @@ +\section{Questions} +\breakingframe{ + \begin{textblock*}{3cm}[0.5,0.5](0.5\textwidth, 0.5\textheight) + \textbf{\Huge{Questions~?}} + \end{textblock*} +} diff --git a/meta/presentation/sections/references.tex b/meta/presentation/sections/references.tex new file mode 100644 index 0000000000000000000000000000000000000000..9fca6f0342ad7f4d86eef05af0d19eaf7cee91bb --- /dev/null +++ b/meta/presentation/sections/references.tex @@ -0,0 +1,8 @@ +\section*{Références} +\begin{frame}{Références} + \vspace{4pt} + { + \nocite{*} + \printbibliography + } +\end{frame} diff --git a/meta/report/chapters/4_resultats.tex b/meta/report/chapters/4_resultats.tex index 8bbdd3a1bb238b393245c36144317e224a72bc39..c69b603ef7ccefdd5d55f7119ec2c5c0f4f2beb4 100644 --- a/meta/report/chapters/4_resultats.tex +++ b/meta/report/chapters/4_resultats.tex @@ -40,11 +40,11 @@ Sachant que pour le moment, la taille des mots utilisés est de 16 bits, la vale \hline Passer en mode \texttt{IDLE} & 1 \\ \hline - Remplir la mémoire & 256 \\ + Remplir la mémoire & $256 / P$ \\ \hline Calculer la NTT & $896 / N$ \\ \hline - Lire tous les contenus de la mémoire & 256 \\ + Lire tous les contenus de la mémoire & $256 / P$ \\ \hline \hline Total & $1 + \frac{512}{P} + \frac{896}{N}$ \\