mirror of
https://github.com/steve-m/hsdaoh-fpga.git
synced 2025-12-10 07:44:45 +01:00
initial commit
This commit is contained in:
commit
12fd93fa44
39 changed files with 8125 additions and 0 deletions
99
common/async_fifo/async_fifo.v
Normal file
99
common/async_fifo/async_fifo.v
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
// https://github.com/dpretet/async_fifo
|
||||||
|
// distributed under the mit license
|
||||||
|
// https://opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
`timescale 1 ns / 1 ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
module async_fifo
|
||||||
|
|
||||||
|
#(
|
||||||
|
parameter DSIZE = 8,
|
||||||
|
parameter ASIZE = 4,
|
||||||
|
parameter FALLTHROUGH = "TRUE" // First word fall-through without latency
|
||||||
|
)(
|
||||||
|
input wire wclk,
|
||||||
|
input wire wrst_n,
|
||||||
|
input wire winc,
|
||||||
|
input wire [DSIZE-1:0] wdata,
|
||||||
|
output wire wfull,
|
||||||
|
output wire awfull,
|
||||||
|
input wire rclk,
|
||||||
|
input wire rrst_n,
|
||||||
|
input wire rinc,
|
||||||
|
output wire [DSIZE-1:0] rdata,
|
||||||
|
output wire rempty,
|
||||||
|
output wire arempty
|
||||||
|
);
|
||||||
|
|
||||||
|
wire [ASIZE-1:0] waddr, raddr;
|
||||||
|
wire [ASIZE :0] wptr, rptr, wq2_rptr, rq2_wptr;
|
||||||
|
|
||||||
|
// The module synchronizing the read point
|
||||||
|
// from read to write domain
|
||||||
|
sync_r2w
|
||||||
|
#(ASIZE)
|
||||||
|
sync_r2w (
|
||||||
|
.wq2_rptr (wq2_rptr),
|
||||||
|
.rptr (rptr),
|
||||||
|
.wclk (wclk),
|
||||||
|
.wrst_n (wrst_n)
|
||||||
|
);
|
||||||
|
|
||||||
|
// The module synchronizing the write point
|
||||||
|
// from write to read domain
|
||||||
|
sync_w2r
|
||||||
|
#(ASIZE)
|
||||||
|
sync_w2r (
|
||||||
|
.rq2_wptr (rq2_wptr),
|
||||||
|
.wptr (wptr),
|
||||||
|
.rclk (rclk),
|
||||||
|
.rrst_n (rrst_n)
|
||||||
|
);
|
||||||
|
|
||||||
|
// The module handling the write requests
|
||||||
|
wptr_full
|
||||||
|
#(ASIZE)
|
||||||
|
wptr_full (
|
||||||
|
.awfull (awfull),
|
||||||
|
.wfull (wfull),
|
||||||
|
.waddr (waddr),
|
||||||
|
.wptr (wptr),
|
||||||
|
.wq2_rptr (wq2_rptr),
|
||||||
|
.winc (winc),
|
||||||
|
.wclk (wclk),
|
||||||
|
.wrst_n (wrst_n)
|
||||||
|
);
|
||||||
|
|
||||||
|
// The DC-RAM
|
||||||
|
fifomem
|
||||||
|
#(DSIZE, ASIZE, FALLTHROUGH)
|
||||||
|
fifomem (
|
||||||
|
.rclken (rinc),
|
||||||
|
.rclk (rclk),
|
||||||
|
.rdata (rdata),
|
||||||
|
.wdata (wdata),
|
||||||
|
.waddr (waddr),
|
||||||
|
.raddr (raddr),
|
||||||
|
.wclken (winc),
|
||||||
|
.wfull (wfull),
|
||||||
|
.wclk (wclk)
|
||||||
|
);
|
||||||
|
|
||||||
|
// The module handling read requests
|
||||||
|
rptr_empty
|
||||||
|
#(ASIZE)
|
||||||
|
rptr_empty (
|
||||||
|
.arempty (arempty),
|
||||||
|
.rempty (rempty),
|
||||||
|
.raddr (raddr),
|
||||||
|
.rptr (rptr),
|
||||||
|
.rq2_wptr (rq2_wptr),
|
||||||
|
.rinc (rinc),
|
||||||
|
.rclk (rclk),
|
||||||
|
.rrst_n (rrst_n)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`resetall
|
||||||
53
common/async_fifo/fifomem.v
Normal file
53
common/async_fifo/fifomem.v
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
// https://github.com/dpretet/async_fifo
|
||||||
|
// distributed under the mit license
|
||||||
|
// https://opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
`timescale 1 ns / 1 ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
module fifomem
|
||||||
|
|
||||||
|
#(
|
||||||
|
parameter DATASIZE = 8, // Memory data word width
|
||||||
|
parameter ADDRSIZE = 4, // Number of mem address bits
|
||||||
|
parameter FALLTHROUGH = "TRUE" // First word fall-through
|
||||||
|
) (
|
||||||
|
input wire wclk,
|
||||||
|
input wire wclken,
|
||||||
|
input wire [ADDRSIZE-1:0] waddr,
|
||||||
|
input wire [DATASIZE-1:0] wdata,
|
||||||
|
input wire wfull,
|
||||||
|
input wire rclk,
|
||||||
|
input wire rclken,
|
||||||
|
input wire [ADDRSIZE-1:0] raddr,
|
||||||
|
output wire [DATASIZE-1:0] rdata
|
||||||
|
);
|
||||||
|
|
||||||
|
localparam DEPTH = 1<<ADDRSIZE;
|
||||||
|
|
||||||
|
reg [DATASIZE-1:0] mem [0:DEPTH-1];
|
||||||
|
reg [DATASIZE-1:0] rdata_r;
|
||||||
|
|
||||||
|
always @(posedge wclk) begin
|
||||||
|
if (wclken && !wfull)
|
||||||
|
mem[waddr] <= wdata;
|
||||||
|
end
|
||||||
|
|
||||||
|
generate
|
||||||
|
if (FALLTHROUGH == "TRUE")
|
||||||
|
begin : fallthrough
|
||||||
|
assign rdata = mem[raddr];
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin : registered_read
|
||||||
|
always @(posedge rclk) begin
|
||||||
|
if (rclken)
|
||||||
|
rdata_r <= mem[raddr];
|
||||||
|
end
|
||||||
|
assign rdata = rdata_r;
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`resetall
|
||||||
66
common/async_fifo/rptr_empty.v
Normal file
66
common/async_fifo/rptr_empty.v
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
// https://github.com/dpretet/async_fifo
|
||||||
|
// distributed under the mit license
|
||||||
|
// https://opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
`timescale 1 ns / 1 ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
module rptr_empty
|
||||||
|
|
||||||
|
#(
|
||||||
|
parameter ADDRSIZE = 4
|
||||||
|
)(
|
||||||
|
input wire rclk,
|
||||||
|
input wire rrst_n,
|
||||||
|
input wire rinc,
|
||||||
|
input wire [ADDRSIZE :0] rq2_wptr,
|
||||||
|
output reg rempty,
|
||||||
|
output reg arempty,
|
||||||
|
output wire [ADDRSIZE-1:0] raddr,
|
||||||
|
output reg [ADDRSIZE :0] rptr
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [ADDRSIZE:0] rbin;
|
||||||
|
wire [ADDRSIZE:0] rgraynext, rbinnext, rgraynextm1;
|
||||||
|
wire arempty_val, rempty_val;
|
||||||
|
|
||||||
|
//-------------------
|
||||||
|
// GRAYSTYLE2 pointer
|
||||||
|
//-------------------
|
||||||
|
always @(posedge rclk or negedge rrst_n) begin
|
||||||
|
|
||||||
|
if (!rrst_n)
|
||||||
|
{rbin, rptr} <= 0;
|
||||||
|
else
|
||||||
|
{rbin, rptr} <= {rbinnext, rgraynext};
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
// Memory read-address pointer (okay to use binary to address memory)
|
||||||
|
assign raddr = rbin[ADDRSIZE-1:0];
|
||||||
|
assign rbinnext = rbin + (rinc & ~rempty);
|
||||||
|
assign rgraynext = (rbinnext >> 1) ^ rbinnext;
|
||||||
|
assign rgraynextm1 = ((rbinnext + 1'b1) >> 1) ^ (rbinnext + 1'b1);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// FIFO empty when the next rptr == synchronized wptr or on reset
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
assign rempty_val = (rgraynext == rq2_wptr);
|
||||||
|
assign arempty_val = (rgraynextm1 == rq2_wptr);
|
||||||
|
|
||||||
|
always @ (posedge rclk or negedge rrst_n) begin
|
||||||
|
|
||||||
|
if (!rrst_n) begin
|
||||||
|
arempty <= 1'b0;
|
||||||
|
rempty <= 1'b1;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
arempty <= arempty_val;
|
||||||
|
rempty <= rempty_val;
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`resetall
|
||||||
32
common/async_fifo/sync_r2w.v
Normal file
32
common/async_fifo/sync_r2w.v
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
// https://github.com/dpretet/async_fifo
|
||||||
|
// distributed under the mit license
|
||||||
|
// https://opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
`timescale 1 ns / 1 ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
module sync_r2w
|
||||||
|
|
||||||
|
#(
|
||||||
|
parameter ASIZE = 4
|
||||||
|
)(
|
||||||
|
input wire wclk,
|
||||||
|
input wire wrst_n,
|
||||||
|
input wire [ASIZE:0] rptr,
|
||||||
|
output reg [ASIZE:0] wq2_rptr
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [ASIZE:0] wq1_rptr;
|
||||||
|
|
||||||
|
always @(posedge wclk or negedge wrst_n) begin
|
||||||
|
|
||||||
|
if (!wrst_n)
|
||||||
|
{wq2_rptr,wq1_rptr} <= 0;
|
||||||
|
else
|
||||||
|
{wq2_rptr,wq1_rptr} <= {wq1_rptr,rptr};
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`resetall
|
||||||
32
common/async_fifo/sync_w2r.v
Normal file
32
common/async_fifo/sync_w2r.v
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
// https://github.com/dpretet/async_fifo
|
||||||
|
// distributed under the mit license
|
||||||
|
// https://opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
`timescale 1 ns / 1 ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
module sync_w2r
|
||||||
|
|
||||||
|
#(
|
||||||
|
parameter ASIZE = 4
|
||||||
|
)(
|
||||||
|
input wire rclk,
|
||||||
|
input wire rrst_n,
|
||||||
|
output reg [ASIZE:0] rq2_wptr,
|
||||||
|
input wire [ASIZE:0] wptr
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [ASIZE:0] rq1_wptr;
|
||||||
|
|
||||||
|
always @(posedge rclk or negedge rrst_n) begin
|
||||||
|
|
||||||
|
if (!rrst_n)
|
||||||
|
{rq2_wptr,rq1_wptr} <= 0;
|
||||||
|
else
|
||||||
|
{rq2_wptr,rq1_wptr} <= {rq1_wptr,wptr};
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`resetall
|
||||||
66
common/async_fifo/wptr_full.v
Normal file
66
common/async_fifo/wptr_full.v
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
// https://github.com/dpretet/async_fifo
|
||||||
|
// distributed under the mit license
|
||||||
|
// https://opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
`timescale 1 ns / 1 ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
module wptr_full
|
||||||
|
|
||||||
|
#(
|
||||||
|
parameter ADDRSIZE = 4
|
||||||
|
)(
|
||||||
|
input wire wclk,
|
||||||
|
input wire wrst_n,
|
||||||
|
input wire winc,
|
||||||
|
input wire [ADDRSIZE :0] wq2_rptr,
|
||||||
|
output reg wfull,
|
||||||
|
output reg awfull,
|
||||||
|
output wire [ADDRSIZE-1:0] waddr,
|
||||||
|
output reg [ADDRSIZE :0] wptr
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [ADDRSIZE:0] wbin;
|
||||||
|
wire [ADDRSIZE:0] wgraynext, wbinnext, wgraynextp1;
|
||||||
|
wire awfull_val, wfull_val;
|
||||||
|
|
||||||
|
// GRAYSTYLE2 pointer
|
||||||
|
always @(posedge wclk or negedge wrst_n) begin
|
||||||
|
|
||||||
|
if (!wrst_n)
|
||||||
|
{wbin, wptr} <= 0;
|
||||||
|
else
|
||||||
|
{wbin, wptr} <= {wbinnext, wgraynext};
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
// Memory write-address pointer (okay to use binary to address memory)
|
||||||
|
assign waddr = wbin[ADDRSIZE-1:0];
|
||||||
|
assign wbinnext = wbin + (winc & ~wfull);
|
||||||
|
assign wgraynext = (wbinnext >> 1) ^ wbinnext;
|
||||||
|
assign wgraynextp1 = ((wbinnext + 1'b1) >> 1) ^ (wbinnext + 1'b1);
|
||||||
|
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
// Simplified version of the three necessary full-tests:
|
||||||
|
// assign wfull_val=((wgnext[ADDRSIZE] !=wq2_rptr[ADDRSIZE] ) &&
|
||||||
|
// (wgnext[ADDRSIZE-1] !=wq2_rptr[ADDRSIZE-1]) &&
|
||||||
|
// (wgnext[ADDRSIZE-2:0]==wq2_rptr[ADDRSIZE-2:0]));
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
|
||||||
|
assign wfull_val = (wgraynext == {~wq2_rptr[ADDRSIZE:ADDRSIZE-1],wq2_rptr[ADDRSIZE-2:0]});
|
||||||
|
assign awfull_val = (wgraynextp1 == {~wq2_rptr[ADDRSIZE:ADDRSIZE-1],wq2_rptr[ADDRSIZE-2:0]});
|
||||||
|
|
||||||
|
always @(posedge wclk or negedge wrst_n) begin
|
||||||
|
|
||||||
|
if (!wrst_n) begin
|
||||||
|
awfull <= 1'b0;
|
||||||
|
wfull <= 1'b0;
|
||||||
|
end else begin
|
||||||
|
awfull <= awfull_val;
|
||||||
|
wfull <= wfull_val;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`resetall
|
||||||
80
common/hdmi/auxiliary_video_information_info_frame.v
Normal file
80
common/hdmi/auxiliary_video_information_info_frame.v
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
// Implementation of HDMI Auxiliary Video InfoFrame packet.
|
||||||
|
// By Sameer Puri https://github.com/sameer
|
||||||
|
// source: https://github.com/hdl-util/hdmi/
|
||||||
|
// Dual-licensed under Apache License 2.0 and MIT License.
|
||||||
|
|
||||||
|
// converted to Verilog and changed to YCbCr 4:2:2 for hsdaoh
|
||||||
|
|
||||||
|
// See Section 8.2.1
|
||||||
|
module auxiliary_video_information_info_frame (
|
||||||
|
header,
|
||||||
|
sub
|
||||||
|
);
|
||||||
|
parameter [1:0] VIDEO_FORMAT = 2'b01; // 00 = RGB, 01 = YCbCr 4:2:2, 10 = YCbCr 4:4:4
|
||||||
|
parameter [0:0] ACTIVE_FORMAT_INFO_PRESENT = 1'b0; // Not valid
|
||||||
|
parameter [1:0] BAR_INFO = 2'b00; // Not valid
|
||||||
|
parameter [1:0] SCAN_INFO = 2'b00; // No data
|
||||||
|
parameter [1:0] COLORIMETRY = 2'b00; // No data
|
||||||
|
parameter [1:0] PICTURE_ASPECT_RATIO = 2'b00; // No data, See CEA-CEB16 for more information about Active Format Description processing.
|
||||||
|
parameter [3:0] ACTIVE_FORMAT_ASPECT_RATIO = 4'b1000; // Not valid unless ACTIVE_FORMAT_INFO_PRESENT = 1'b1, then Same as picture aspect ratio
|
||||||
|
parameter [0:0] IT_CONTENT = 1'b0; // The IT content bit indicates when picture content is composed according to common IT practice (i.e. without regard to Nyquist criterion) and is unsuitable for analog reconstruction or filtering. When the IT content bit is set to 1, downstream processors should pass pixel data unfiltered and without analog reconstruction.
|
||||||
|
parameter [2:0] EXTENDED_COLORIMETRY = 3'b000; // Not valid unless COLORIMETRY = 2'b11. The extended colorimetry bits, EC2, EC1, and EC0, describe optional colorimetry encoding that may be applicable to some implementations and are always present, whether their information is valid or not (see CEA 861-D Section 7.5.5).
|
||||||
|
parameter [1:0] RGB_QUANTIZATION_RANGE = 2'b00; // Default. Displays conforming to CEA-861-D accept both a limited quantization range of 220 levels (16 to 235) anda full range of 256 levels (0 to 255) when receiving video with RGB color space (see CEA 861-D Sections 5.1, Section 5.2, Section 5.3 and Section 5.4). By default, RGB pixel data values should be assumed to have the limited range when receiving a CE video format, and the full range when receiving an IT format. The quantization bits allow the source to override this default and to explicitly indicate the current RGB quantization range.
|
||||||
|
parameter [1:0] NON_UNIFORM_PICTURE_SCALING = 2'b00; // None. The Nonuniform Picture Scaling bits shall be set if the source device scales the picture or has determined that scaling has been performed in a specific direction.
|
||||||
|
parameter [6:0] VIDEO_ID_CODE = 4; // Same as the one from the HDMI module
|
||||||
|
parameter [1:0] YCC_QUANTIZATION_RANGE = 2'b00; // 00 = Limited, 01 = Full
|
||||||
|
parameter [1:0] CONTENT_TYPE = 2'b00; // No data, becomes Graphics if IT_CONTENT = 1'b1.
|
||||||
|
parameter [3:0] PIXEL_REPETITION = 4'b0000; // None
|
||||||
|
|
||||||
|
output wire [23:0] header;
|
||||||
|
output wire [223:0] sub;
|
||||||
|
|
||||||
|
localparam [4:0] LENGTH = 5'd13;
|
||||||
|
localparam [7:0] VERSION = 8'd2;
|
||||||
|
localparam [6:0] TYPE = 7'd2;
|
||||||
|
|
||||||
|
assign header = {{3'b000, LENGTH}, VERSION, {1'b1, TYPE}};
|
||||||
|
|
||||||
|
// PB0-PB6 = sub0
|
||||||
|
// PB7-13 = sub1
|
||||||
|
// PB14-20 = sub2
|
||||||
|
// PB21-27 = sub3
|
||||||
|
wire [7:0] packet_bytes [27:0];
|
||||||
|
|
||||||
|
assign packet_bytes[0] = 8'd1 + ~(((((((((((((((header[23:16] + header[15:8]) + header[7:0]) + packet_bytes[13]) + packet_bytes[12]) + packet_bytes[11]) + packet_bytes[10]) + packet_bytes[9]) + packet_bytes[8]) + packet_bytes[7]) + packet_bytes[6]) + packet_bytes[5]) + packet_bytes[4]) + packet_bytes[3]) + packet_bytes[2]) + packet_bytes[1]);
|
||||||
|
assign packet_bytes[1] = {1'b0, VIDEO_FORMAT, ACTIVE_FORMAT_INFO_PRESENT, BAR_INFO, SCAN_INFO};
|
||||||
|
assign packet_bytes[2] = {COLORIMETRY, PICTURE_ASPECT_RATIO, ACTIVE_FORMAT_ASPECT_RATIO};
|
||||||
|
assign packet_bytes[3] = {IT_CONTENT, EXTENDED_COLORIMETRY, RGB_QUANTIZATION_RANGE, NON_UNIFORM_PICTURE_SCALING};
|
||||||
|
assign packet_bytes[4] = {1'b0, VIDEO_ID_CODE};
|
||||||
|
assign packet_bytes[5] = {YCC_QUANTIZATION_RANGE, CONTENT_TYPE, PIXEL_REPETITION};
|
||||||
|
|
||||||
|
genvar i;
|
||||||
|
generate
|
||||||
|
if (BAR_INFO != 2'b00) begin
|
||||||
|
assign packet_bytes[6] = 8'hff;
|
||||||
|
assign packet_bytes[7] = 8'hff;
|
||||||
|
assign packet_bytes[8] = 8'h00;
|
||||||
|
assign packet_bytes[9] = 8'h00;
|
||||||
|
assign packet_bytes[10] = 8'hff;
|
||||||
|
assign packet_bytes[11] = 8'hff;
|
||||||
|
assign packet_bytes[12] = 8'h00;
|
||||||
|
assign packet_bytes[13] = 8'h00;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
assign packet_bytes[6] = 8'h00;
|
||||||
|
assign packet_bytes[7] = 8'h00;
|
||||||
|
assign packet_bytes[8] = 8'h00;
|
||||||
|
assign packet_bytes[9] = 8'h00;
|
||||||
|
assign packet_bytes[10] = 8'h00;
|
||||||
|
assign packet_bytes[11] = 8'h00;
|
||||||
|
assign packet_bytes[12] = 8'h00;
|
||||||
|
assign packet_bytes[13] = 8'h00;
|
||||||
|
end
|
||||||
|
for (i = 14; i < 28; i = i + 1) begin : pb_reserved
|
||||||
|
assign packet_bytes[i] = 8'd0;
|
||||||
|
end
|
||||||
|
for (i = 0; i < 4; i = i + 1) begin : pb_to_sub
|
||||||
|
assign sub[i * 56+:56] = {packet_bytes[6 + (i * 7)], packet_bytes[5 + (i * 7)], packet_bytes[4 + (i * 7)], packet_bytes[3 + (i * 7)], packet_bytes[2 + (i * 7)], packet_bytes[1 + (i * 7)], packet_bytes[i * 7]};
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
endmodule
|
||||||
306
common/hdmi/hdmi.v
Normal file
306
common/hdmi/hdmi.v
Normal file
|
|
@ -0,0 +1,306 @@
|
||||||
|
// Implementation of HDMI Spec v1.4a
|
||||||
|
// By Sameer Puri https://github.com/sameer
|
||||||
|
// source: https://github.com/hdl-util/hdmi/
|
||||||
|
// Dual-licensed under Apache License 2.0 and MIT License.
|
||||||
|
|
||||||
|
// converted to Verilog and stripped down for hsdaoh,
|
||||||
|
// changed VIDEO_ID_CODE 16 to minimal timings the MS2130 accepts
|
||||||
|
|
||||||
|
module hdmi (
|
||||||
|
clk_pixel_x5,
|
||||||
|
clk_pixel,
|
||||||
|
reset,
|
||||||
|
rgb,
|
||||||
|
tmds,
|
||||||
|
tmds_clock,
|
||||||
|
cx,
|
||||||
|
cy,
|
||||||
|
frame_width,
|
||||||
|
frame_height,
|
||||||
|
screen_width,
|
||||||
|
screen_height
|
||||||
|
);
|
||||||
|
// Defaults to 640x480 which should be supported by almost if not all HDMI sinks.
|
||||||
|
// See README.md or CEA-861-D for enumeration of video id codes.
|
||||||
|
// Pixel repetition, interlaced scans and other special output modes are not implemented (yet).
|
||||||
|
parameter [6:0] VIDEO_ID_CODE = 1;
|
||||||
|
|
||||||
|
// The IT content bit indicates that image samples are generated in an ad-hoc
|
||||||
|
// manner (e.g. directly from values in a framebuffer, as by a PC video
|
||||||
|
// card) and therefore aren't suitable for filtering or analog
|
||||||
|
// reconstruction. This is probably what you want if you treat pixels
|
||||||
|
// as "squares". If you generate a properly bandlimited signal or obtain
|
||||||
|
// one from elsewhere (e.g. a camera), this can be turned off.
|
||||||
|
//
|
||||||
|
// This flag also tends to cause receivers to treat RGB values as full
|
||||||
|
// range (0-255).
|
||||||
|
parameter [0:0] IT_CONTENT = 1'b1;
|
||||||
|
|
||||||
|
// Defaults to minimum bit lengths required to represent positions.
|
||||||
|
// Modify these parameters if you have alternate desired bit lengths.
|
||||||
|
parameter [12:0] BIT_WIDTH = (VIDEO_ID_CODE < 4 ? 10 : (VIDEO_ID_CODE == 4 ? 11 : 12));
|
||||||
|
parameter [12:0] BIT_HEIGHT = (VIDEO_ID_CODE == 16 ? 11 : 10);
|
||||||
|
|
||||||
|
// A true HDMI signal sends auxiliary data (i.e. audio, preambles) which prevents it from being parsed by DVI signal sinks.
|
||||||
|
// HDMI signal sinks are fortunately backwards-compatible with DVI signals.
|
||||||
|
// Enable this flag if the output should be a DVI signal. You might want to do this to reduce resource usage or if you're only outputting video.
|
||||||
|
parameter [0:0] DVI_OUTPUT = 1'b0;
|
||||||
|
|
||||||
|
// **All parameters below matter ONLY IF you plan on sending auxiliary data (DVI_OUTPUT == 1'b0)**
|
||||||
|
|
||||||
|
// Starting screen coordinate when module comes out of reset.
|
||||||
|
//
|
||||||
|
// Setting these to something other than (0, 0) is useful when positioning
|
||||||
|
// an external video signal within a larger overall frame (e.g.
|
||||||
|
// letterboxing an input video signal). This allows you to synchronize the
|
||||||
|
// negative edge of reset directly to the start of the external signal
|
||||||
|
// instead of to some number of clock cycles before.
|
||||||
|
//
|
||||||
|
// You probably don't need to change these parameters if you are
|
||||||
|
// generating a signal from scratch instead of processing an
|
||||||
|
// external signal.
|
||||||
|
parameter [12:0] START_X = 0;
|
||||||
|
parameter [12:0] START_Y = 0;
|
||||||
|
|
||||||
|
input wire clk_pixel_x5;
|
||||||
|
input wire clk_pixel;
|
||||||
|
// synchronous reset back to 0,0
|
||||||
|
input wire reset;
|
||||||
|
input wire [23:0] rgb;
|
||||||
|
|
||||||
|
// These outputs go to your HDMI port
|
||||||
|
output wire [2:0] tmds;
|
||||||
|
output wire tmds_clock;
|
||||||
|
|
||||||
|
// All outputs below this line stay inside the FPGA
|
||||||
|
// They are used (by you) to pick the color each pixel should have
|
||||||
|
// i.e. always_ff @(posedge pixel_clk) rgb <= {8'd0, 8'(cx), 8'(cy)};
|
||||||
|
output reg [BIT_WIDTH - 1:0] cx = START_X;
|
||||||
|
output reg [BIT_HEIGHT - 1:0] cy = START_Y;
|
||||||
|
|
||||||
|
// The screen is at the upper left corner of the frame.
|
||||||
|
// 0,0 = 0,0 in video
|
||||||
|
// the frame includes extra space for sending auxiliary data
|
||||||
|
output wire [BIT_WIDTH - 1:0] frame_width;
|
||||||
|
output wire [BIT_HEIGHT - 1:0] frame_height;
|
||||||
|
output wire [BIT_WIDTH - 1:0] screen_width;
|
||||||
|
output wire [BIT_HEIGHT - 1:0] screen_height;
|
||||||
|
|
||||||
|
localparam signed [31:0] NUM_CHANNELS = 3;
|
||||||
|
reg hsync;
|
||||||
|
reg vsync;
|
||||||
|
|
||||||
|
wire [BIT_WIDTH - 1:0] hsync_pulse_start, hsync_pulse_size;
|
||||||
|
wire [BIT_HEIGHT - 1:0] vsync_pulse_start, vsync_pulse_size;
|
||||||
|
wire invert;
|
||||||
|
|
||||||
|
// See CEA-861-D for more specifics formats described below.
|
||||||
|
generate
|
||||||
|
case (VIDEO_ID_CODE)
|
||||||
|
16, 34: begin : genblk1
|
||||||
|
// Those are the patched, minimal timings for video mode 16 that
|
||||||
|
// work with the MS2130. The inactive video period has been reduced
|
||||||
|
// significantly. See below (mode 99) for the original timings for
|
||||||
|
// 1080p
|
||||||
|
assign frame_width = 1982;
|
||||||
|
assign frame_height = 1084;
|
||||||
|
assign screen_width = 1920;
|
||||||
|
assign screen_height = 1080;
|
||||||
|
assign hsync_pulse_start = 6;
|
||||||
|
assign hsync_pulse_size = 4;
|
||||||
|
assign vsync_pulse_start = 0;
|
||||||
|
assign vsync_pulse_size = 1;
|
||||||
|
assign invert = 0;
|
||||||
|
end
|
||||||
|
99: begin : genblk1
|
||||||
|
assign frame_width = 2200;
|
||||||
|
assign frame_height = 1125;
|
||||||
|
assign screen_width = 1920;
|
||||||
|
assign screen_height = 1080;
|
||||||
|
assign hsync_pulse_start = 88;
|
||||||
|
assign hsync_pulse_size = 44;
|
||||||
|
assign vsync_pulse_start = 4;
|
||||||
|
assign vsync_pulse_size = 5;
|
||||||
|
assign invert = 0;
|
||||||
|
end
|
||||||
|
endcase
|
||||||
|
endgenerate
|
||||||
|
always @(*) begin
|
||||||
|
hsync <= invert ^ ((cx >= (screen_width + hsync_pulse_start)) && (cx < ((screen_width + hsync_pulse_start) + hsync_pulse_size)));
|
||||||
|
// vsync pulses should begin and end at the start of hsync, so special
|
||||||
|
// handling is required for the lines on which vsync starts and ends
|
||||||
|
if (cy == ((screen_height + vsync_pulse_start) - 1))
|
||||||
|
vsync <= invert ^ (cx >= (screen_width + hsync_pulse_start));
|
||||||
|
else if (cy == (((screen_height + vsync_pulse_start) + vsync_pulse_size) - 1))
|
||||||
|
vsync <= invert ^ (cx < (screen_width + hsync_pulse_start));
|
||||||
|
else
|
||||||
|
vsync <= invert ^ ((cy >= (screen_height + vsync_pulse_start)) && (cy < ((screen_height + vsync_pulse_start) + vsync_pulse_size)));
|
||||||
|
end
|
||||||
|
|
||||||
|
// Wrap-around pixel position counters indicating the pixel to be generated by the user in THIS clock and sent out in the NEXT clock.
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset) begin
|
||||||
|
cx <= START_X;
|
||||||
|
cy <= START_Y;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
cx <= (cx == (frame_width - 1'b1) ? 0 : cx + 1'b1);
|
||||||
|
cy <= (cx == (frame_width - 1'b1) ? (cy == (frame_height - 1'b1) ? 0 : cy + 1'b1) : cy);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// See Section 5.2
|
||||||
|
reg video_data_period = 0;
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset)
|
||||||
|
video_data_period <= 0;
|
||||||
|
else
|
||||||
|
video_data_period <= (cx < screen_width) && (cy < screen_height);
|
||||||
|
end
|
||||||
|
|
||||||
|
reg [2:0] mode = 3'd1;
|
||||||
|
reg [23:0] video_data = 24'd0;
|
||||||
|
reg [5:0] control_data = 6'd0;
|
||||||
|
reg [11:0] data_island_data = 12'd0;
|
||||||
|
|
||||||
|
function automatic [4:0] sv2v_cast_5;
|
||||||
|
input reg [4:0] inp;
|
||||||
|
sv2v_cast_5 = inp;
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
generate
|
||||||
|
if (!DVI_OUTPUT) begin : true_hdmi_output
|
||||||
|
reg video_guard = 1;
|
||||||
|
reg video_preamble = 0;
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset) begin
|
||||||
|
video_guard <= 1;
|
||||||
|
video_preamble <= 0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
video_guard <= ((cx >= (frame_width - 2)) && (cx < frame_width)) && ((cy == (frame_height - 1)) || (cy < (screen_height - 1)));
|
||||||
|
video_preamble <= ((cx >= (frame_width - 10)) && (cx < (frame_width - 2))) && ((cy == (frame_height - 1)) || (cy < (screen_height - 1)));
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
reg [4:0] num_packets_alongside = 1; // patched for hsdaoh: set to minimum required number
|
||||||
|
|
||||||
|
wire data_island_period_instantaneous;
|
||||||
|
assign data_island_period_instantaneous = ((num_packets_alongside > 0) && (cx >= (screen_width + 14))) && (cx < ((screen_width + 14) + (num_packets_alongside * 32)));
|
||||||
|
wire packet_enable;
|
||||||
|
assign packet_enable = data_island_period_instantaneous && (sv2v_cast_5((cx + screen_width) + 18) == 5'd0);
|
||||||
|
|
||||||
|
reg data_island_guard = 0;
|
||||||
|
reg data_island_preamble = 0;
|
||||||
|
reg data_island_period = 0;
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset) begin
|
||||||
|
data_island_guard <= 0;
|
||||||
|
data_island_preamble <= 0;
|
||||||
|
data_island_period <= 0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
data_island_guard <= num_packets_alongside > 0 && (
|
||||||
|
(cx >= screen_width + 12 && cx < screen_width + 14) /* leading guard */ ||
|
||||||
|
(cx >= screen_width + 14 + num_packets_alongside * 32 && cx < screen_width + 14 + num_packets_alongside * 32 + 2) /* trailing guard */
|
||||||
|
);
|
||||||
|
data_island_preamble <= num_packets_alongside > 0 && cx >= screen_width + 4 && cx < screen_width + 12;
|
||||||
|
data_island_period <= data_island_period_instantaneous;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// See Section 5.2.3.4
|
||||||
|
wire [23:0] header;
|
||||||
|
wire [223:0] sub;
|
||||||
|
wire video_field_end;
|
||||||
|
assign video_field_end = (cx == (screen_width - 1'b1)) && (cy == (screen_height - 1'b1));
|
||||||
|
wire [4:0] packet_pixel_counter;
|
||||||
|
packet_picker #(
|
||||||
|
.VIDEO_ID_CODE(VIDEO_ID_CODE)
|
||||||
|
) packet_picker(
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.reset(reset),
|
||||||
|
.video_field_end(video_field_end),
|
||||||
|
.packet_enable(packet_enable),
|
||||||
|
.packet_pixel_counter(packet_pixel_counter),
|
||||||
|
.header(header),
|
||||||
|
.sub(sub)
|
||||||
|
);
|
||||||
|
wire [8:0] packet_data;
|
||||||
|
packet_assembler packet_assembler(
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.reset(reset),
|
||||||
|
.data_island_period(data_island_period),
|
||||||
|
.header(header),
|
||||||
|
.sub(sub),
|
||||||
|
.packet_data(packet_data),
|
||||||
|
.counter(packet_pixel_counter)
|
||||||
|
);
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
if (reset) begin
|
||||||
|
mode <= 3'd2;
|
||||||
|
video_data <= 24'd0;
|
||||||
|
control_data = 6'd0;
|
||||||
|
data_island_data <= 12'd0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
mode <= (data_island_guard ? 3'd4 : (data_island_period ? 3'd3 : (video_guard ? 3'd2 : (video_data_period ? 3'd1 : 3'd0))));
|
||||||
|
video_data <= rgb;
|
||||||
|
control_data <= {1'b0, data_island_preamble, 1'b0, video_preamble || data_island_preamble, vsync, hsync};
|
||||||
|
data_island_data[11:4] <= packet_data[8:1];
|
||||||
|
data_island_data[3] <= cx != 0;
|
||||||
|
data_island_data[2] <= packet_data[0];
|
||||||
|
data_island_data[1:0] <= {vsync, hsync};
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else begin : genblk2 // DVI_OUTPUT = 1
|
||||||
|
reg video_guard = 1;
|
||||||
|
reg video_preamble = 0;
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
if (reset) begin
|
||||||
|
video_guard <= 1;
|
||||||
|
mode <= 3'd0;
|
||||||
|
video_data <= 24'd0;
|
||||||
|
control_data <= 6'd0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
video_guard <= ((cx >= (frame_width - 2)) && (cx < frame_width)) && ((cy == (frame_height - 1)) || (cy < (screen_height - 1)));
|
||||||
|
video_preamble <= ((cx >= (frame_width - 10)) && (cx < (frame_width - 2))) && ((cy == (frame_height - 1)) || (cy < (screen_height - 1)));
|
||||||
|
mode <= (video_data_period ? 3'd1 : (video_guard ? 3'd2 : 3'd0));
|
||||||
|
video_data <= rgb;
|
||||||
|
control_data <= {4'b0000, vsync, hsync}; // ctrl3, ctrl2, ctrl1, ctrl0, vsync, hsync
|
||||||
|
end
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
|
||||||
|
// All logic below relates to the production and output of the 10-bit TMDS code.
|
||||||
|
wire [29:0] tmds_internal;
|
||||||
|
genvar i;
|
||||||
|
generate
|
||||||
|
// TMDS code production.
|
||||||
|
for (i = 0; i < NUM_CHANNELS; i = i + 1) begin : tmds_gen
|
||||||
|
tmds_channel #(.CN(i)) tmds_channel(
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.video_data(video_data[(i * 8) + 7:i * 8]),
|
||||||
|
.data_island_data(data_island_data[(i * 4) + 3:i * 4]),
|
||||||
|
.control_data(control_data[(i * 2) + 1:i * 2]),
|
||||||
|
.mode(mode),
|
||||||
|
.tmds(tmds_internal[i * 10+:10])
|
||||||
|
);
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
serializer #(
|
||||||
|
.NUM_CHANNELS(NUM_CHANNELS)
|
||||||
|
) serializer(
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.reset(reset),
|
||||||
|
.tmds_internal(tmds_internal),
|
||||||
|
.tmds(tmds),
|
||||||
|
.tmds_clock(tmds_clock)
|
||||||
|
);
|
||||||
|
endmodule
|
||||||
92
common/hdmi/packet_assembler.v
Normal file
92
common/hdmi/packet_assembler.v
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
// Implementation of HDMI packet ECC calculation.
|
||||||
|
// By Sameer Puri https://github.com/sameer
|
||||||
|
// source: https://github.com/hdl-util/hdmi/
|
||||||
|
// Dual-licensed under Apache License 2.0 and MIT License.
|
||||||
|
|
||||||
|
// converted to Verilog for hsdaoh
|
||||||
|
|
||||||
|
module packet_assembler (
|
||||||
|
clk_pixel,
|
||||||
|
reset,
|
||||||
|
data_island_period,
|
||||||
|
header, // See Table 5-8 Packet Types
|
||||||
|
sub,
|
||||||
|
packet_data, // See Figure 5-4 Data Island Packet and ECC Structure
|
||||||
|
counter
|
||||||
|
);
|
||||||
|
input wire clk_pixel;
|
||||||
|
input wire reset;
|
||||||
|
input wire data_island_period;
|
||||||
|
input wire [23:0] header;
|
||||||
|
input wire [223:0] sub;
|
||||||
|
output wire [8:0] packet_data;
|
||||||
|
output reg [4:0] counter = 5'd0;
|
||||||
|
|
||||||
|
// 32 pixel wrap-around counter. See Section 5.2.3.4 for further information.
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset)
|
||||||
|
counter <= 5'd0;
|
||||||
|
else if (data_island_period)
|
||||||
|
counter <= counter + 5'd1;
|
||||||
|
end
|
||||||
|
// BCH packets 0 to 3 are transferred two bits at a time, see Section 5.2.3.4 for further information.
|
||||||
|
wire [5:0] counter_t2 = {counter, 1'b0};
|
||||||
|
wire [5:0] counter_t2_p1 = {counter, 1'b1};
|
||||||
|
|
||||||
|
// Initialize parity bits to 0
|
||||||
|
reg [39:0] parity = 40'h0000000000;
|
||||||
|
|
||||||
|
wire [63:0] bch [3:0];
|
||||||
|
assign bch[0] = {parity[0+:8], sub[0+:56]};
|
||||||
|
assign bch[1] = {parity[8+:8], sub[56+:56]};
|
||||||
|
assign bch[2] = {parity[16+:8], sub[112+:56]};
|
||||||
|
assign bch[3] = {parity[24+:8], sub[168+:56]};
|
||||||
|
wire [31:0] bch4 = {parity[32+:8], header};
|
||||||
|
assign packet_data = {bch[3][counter_t2_p1], bch[2][counter_t2_p1], bch[1][counter_t2_p1], bch[0][counter_t2_p1], bch[3][counter_t2], bch[2][counter_t2], bch[1][counter_t2], bch[0][counter_t2], bch4[counter]};
|
||||||
|
|
||||||
|
// See Figure 5-5 Error Correction Code generator. Generalization of a CRC with binary BCH.
|
||||||
|
// See https://web.archive.org/web/20190520020602/http://hamsterworks.co.nz/mediawiki/index.php/Minimal_HDMI#Computing_the_ECC for an explanation of the implementation.
|
||||||
|
// See https://en.wikipedia.org/wiki/BCH_code#Systematic_encoding:_The_message_as_a_prefix for further information.
|
||||||
|
function automatic [7:0] next_ecc;
|
||||||
|
input [7:0] ecc, next_bch_bit;
|
||||||
|
begin
|
||||||
|
next_ecc = (ecc >> 1) ^ (ecc[0] ^ next_bch_bit ? 8'b10000011 : 8'd0);
|
||||||
|
end
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
wire [7:0] parity_next [4:0];
|
||||||
|
|
||||||
|
// The parity needs to be calculated 2 bits at a time for blocks 0 to 3.
|
||||||
|
// There's 56 bits being sent 2 bits at a time over TMDS channels 1 & 2, so the parity bits wouldn't be ready in time otherwise.
|
||||||
|
wire [31:0] parity_next_next;
|
||||||
|
|
||||||
|
genvar i;
|
||||||
|
generate
|
||||||
|
for (i = 0; i < 5; i = i + 1) begin : parity_calc
|
||||||
|
if (i == 4) begin : genblk1
|
||||||
|
assign parity_next[i] = next_ecc(parity[i * 8+:8], header[counter]);
|
||||||
|
end
|
||||||
|
else begin : genblk1
|
||||||
|
assign parity_next[i] = next_ecc(parity[i * 8+:8], sub[(i * 56) + counter_t2]);
|
||||||
|
assign parity_next_next[i * 8+:8] = next_ecc(parity_next[i], sub[(i * 56) + counter_t2_p1]);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset)
|
||||||
|
parity <= 40'h0000000000;
|
||||||
|
else if (data_island_period) begin
|
||||||
|
if (counter < 5'd28) begin // Compute ECC only on subpacket data, not on itself
|
||||||
|
parity[0+:32] <= parity_next_next;
|
||||||
|
if (counter < 5'd24) // Header only has 24 bits, whereas subpackets have 56 and 56 / 2 = 28.
|
||||||
|
parity[32+:8] <= parity_next[4];
|
||||||
|
end
|
||||||
|
else if (counter == 5'd31)
|
||||||
|
parity <= 40'h0000000000; // Reset ECC for next packet
|
||||||
|
end
|
||||||
|
else
|
||||||
|
parity <= 40'h0000000000;
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
81
common/hdmi/packet_picker.v
Normal file
81
common/hdmi/packet_picker.v
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
// Implementation of HDMI packet choice logic.
|
||||||
|
// By Sameer Puri https://github.com/sameer
|
||||||
|
// source: https://github.com/hdl-util/hdmi/
|
||||||
|
// Dual-licensed under Apache License 2.0 and MIT License.
|
||||||
|
|
||||||
|
// converted to Verilog and removed packets not required for hsdaoh
|
||||||
|
|
||||||
|
module packet_picker (
|
||||||
|
clk_pixel,
|
||||||
|
reset,
|
||||||
|
video_field_end,
|
||||||
|
packet_enable,
|
||||||
|
packet_pixel_counter,
|
||||||
|
header,
|
||||||
|
sub
|
||||||
|
);
|
||||||
|
parameter [6:0] VIDEO_ID_CODE = 4;
|
||||||
|
parameter [0:0] IT_CONTENT = 1'b0;
|
||||||
|
input wire clk_pixel;
|
||||||
|
input wire reset;
|
||||||
|
input wire video_field_end;
|
||||||
|
input wire packet_enable;
|
||||||
|
input wire [4:0] packet_pixel_counter;
|
||||||
|
output wire [23:0] header;
|
||||||
|
output wire [223:0] sub;
|
||||||
|
|
||||||
|
// Connect the current packet type's data to the output.
|
||||||
|
reg [7:0] packet_type = 8'd0;
|
||||||
|
wire [23:0] headers [255:0];
|
||||||
|
wire [223:0] subs [255:0];
|
||||||
|
assign header = headers[packet_type];
|
||||||
|
assign sub[0+:56] = subs[packet_type][0+:56];
|
||||||
|
assign sub[56+:56] = subs[packet_type][56+:56];
|
||||||
|
assign sub[112+:56] = subs[packet_type][112+:56];
|
||||||
|
assign sub[168+:56] = subs[packet_type][168+:56];
|
||||||
|
|
||||||
|
// NULL packet
|
||||||
|
// "An HDMI Sink shall ignore bytes HB1 and HB2 of the Null Packet Header and all bytes of the Null Packet Body."
|
||||||
|
assign headers[0] = 24'hxxxx00;
|
||||||
|
assign subs[0][0+:56] = 56'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
|
||||||
|
assign subs[0][56+:56] = 56'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
|
||||||
|
assign subs[0][112+:56] = 56'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
|
||||||
|
assign subs[0][168+:56] = 56'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
|
||||||
|
|
||||||
|
reg [7:0] frame_counter = 8'd0;
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset)
|
||||||
|
frame_counter <= 8'd0;
|
||||||
|
else if ((packet_pixel_counter == 5'd31) && (packet_type == 8'h02)) begin
|
||||||
|
frame_counter = frame_counter + 8'd4;
|
||||||
|
if (frame_counter >= 8'd192)
|
||||||
|
frame_counter = frame_counter - 8'd192;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
auxiliary_video_information_info_frame #(
|
||||||
|
.VIDEO_ID_CODE(VIDEO_ID_CODE),
|
||||||
|
.IT_CONTENT(IT_CONTENT)
|
||||||
|
) auxiliary_video_information_info_frame(
|
||||||
|
.header(headers[130]),
|
||||||
|
.sub(subs[130])
|
||||||
|
);
|
||||||
|
|
||||||
|
reg auxiliary_video_information_info_frame_sent = 1'b0;
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
if (reset || video_field_end) begin
|
||||||
|
auxiliary_video_information_info_frame_sent <= 1'b0;
|
||||||
|
packet_type <= 8'bxxxxxxxx;
|
||||||
|
end
|
||||||
|
else if (packet_enable) begin
|
||||||
|
if (!auxiliary_video_information_info_frame_sent) begin
|
||||||
|
packet_type <= 8'h82;
|
||||||
|
auxiliary_video_information_info_frame_sent <= 1'b1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
packet_type <= 8'd0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
75
common/hdmi/serializer.v
Normal file
75
common/hdmi/serializer.v
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
// TMDS serializer
|
||||||
|
// By Sameer Puri https://github.com/sameer
|
||||||
|
// source: https://github.com/hdl-util/hdmi/
|
||||||
|
// Dual-licensed under Apache License 2.0 and MIT License.
|
||||||
|
|
||||||
|
// converted to Verilog for hsdaoh
|
||||||
|
// currently only contains the GOWIN OSER10 primitives
|
||||||
|
// TODO: add back everything from https://github.com/hdl-util/hdmi/blob/master/src/serializer.sv
|
||||||
|
|
||||||
|
module serializer (
|
||||||
|
clk_pixel,
|
||||||
|
clk_pixel_x5,
|
||||||
|
reset,
|
||||||
|
tmds_internal,
|
||||||
|
tmds,
|
||||||
|
tmds_clock
|
||||||
|
);
|
||||||
|
parameter signed [31:0] NUM_CHANNELS = 3;
|
||||||
|
parameter real VIDEO_RATE = 0;
|
||||||
|
input wire clk_pixel;
|
||||||
|
input wire clk_pixel_x5;
|
||||||
|
input wire reset;
|
||||||
|
input wire [(NUM_CHANNELS * 10) - 1:0] tmds_internal;
|
||||||
|
output wire [2:0] tmds;
|
||||||
|
output wire tmds_clock;
|
||||||
|
OSER10 gwSer0(
|
||||||
|
.Q(tmds[0]),
|
||||||
|
.D0(tmds_internal[0]),
|
||||||
|
.D1(tmds_internal[1]),
|
||||||
|
.D2(tmds_internal[2]),
|
||||||
|
.D3(tmds_internal[3]),
|
||||||
|
.D4(tmds_internal[4]),
|
||||||
|
.D5(tmds_internal[5]),
|
||||||
|
.D6(tmds_internal[6]),
|
||||||
|
.D7(tmds_internal[7]),
|
||||||
|
.D8(tmds_internal[8]),
|
||||||
|
.D9(tmds_internal[9]),
|
||||||
|
.PCLK(clk_pixel),
|
||||||
|
.FCLK(clk_pixel_x5),
|
||||||
|
.RESET(reset)
|
||||||
|
);
|
||||||
|
OSER10 gwSer1(
|
||||||
|
.Q(tmds[1]),
|
||||||
|
.D0(tmds_internal[10]),
|
||||||
|
.D1(tmds_internal[11]),
|
||||||
|
.D2(tmds_internal[12]),
|
||||||
|
.D3(tmds_internal[13]),
|
||||||
|
.D4(tmds_internal[14]),
|
||||||
|
.D5(tmds_internal[15]),
|
||||||
|
.D6(tmds_internal[16]),
|
||||||
|
.D7(tmds_internal[17]),
|
||||||
|
.D8(tmds_internal[18]),
|
||||||
|
.D9(tmds_internal[19]),
|
||||||
|
.PCLK(clk_pixel),
|
||||||
|
.FCLK(clk_pixel_x5),
|
||||||
|
.RESET(reset)
|
||||||
|
);
|
||||||
|
OSER10 gwSer2(
|
||||||
|
.Q(tmds[2]),
|
||||||
|
.D0(tmds_internal[20]),
|
||||||
|
.D1(tmds_internal[21]),
|
||||||
|
.D2(tmds_internal[22]),
|
||||||
|
.D3(tmds_internal[23]),
|
||||||
|
.D4(tmds_internal[24]),
|
||||||
|
.D5(tmds_internal[25]),
|
||||||
|
.D6(tmds_internal[26]),
|
||||||
|
.D7(tmds_internal[27]),
|
||||||
|
.D8(tmds_internal[28]),
|
||||||
|
.D9(tmds_internal[29]),
|
||||||
|
.PCLK(clk_pixel),
|
||||||
|
.FCLK(clk_pixel_x5),
|
||||||
|
.RESET(reset)
|
||||||
|
);
|
||||||
|
assign tmds_clock = clk_pixel;
|
||||||
|
endmodule
|
||||||
161
common/hdmi/tmds_channel.v
Normal file
161
common/hdmi/tmds_channel.v
Normal file
|
|
@ -0,0 +1,161 @@
|
||||||
|
// Implementation of HDMI Spec v1.4a Section 5.4: Encoding, Section 5.2.2.1: Video Guard Band, Section 5.2.3.3: Data Island Guard Bands.
|
||||||
|
// By Sameer Puri https://github.com/sameer
|
||||||
|
// source: https://github.com/hdl-util/hdmi/
|
||||||
|
// Dual-licensed under Apache License 2.0 and MIT License.
|
||||||
|
|
||||||
|
// converted to Verilog for hsdaoh
|
||||||
|
|
||||||
|
module tmds_channel (
|
||||||
|
clk_pixel,
|
||||||
|
video_data,
|
||||||
|
data_island_data,
|
||||||
|
control_data,
|
||||||
|
mode,
|
||||||
|
tmds
|
||||||
|
);
|
||||||
|
// TMDS Channel number.
|
||||||
|
// There are only 3 possible channel numbers in HDMI 1.4a: 0, 1, 2.
|
||||||
|
parameter [1:0] CN = 0;
|
||||||
|
|
||||||
|
input wire clk_pixel;
|
||||||
|
input wire [7:0] video_data;
|
||||||
|
input wire [3:0] data_island_data;
|
||||||
|
input wire [1:0] control_data;
|
||||||
|
input wire [2:0] mode; // Mode select (0 = control, 1 = video, 2 = video guard, 3 = island, 4 = island guard)
|
||||||
|
output reg [9:0] tmds = 10'b1101010100;
|
||||||
|
|
||||||
|
// See Section 5.4.4.1
|
||||||
|
// Below is a direct implementation of Figure 5-7, using the same variable names.
|
||||||
|
reg signed [4:0] acc = 5'sd0;
|
||||||
|
|
||||||
|
reg [8:0] q_m;
|
||||||
|
reg [9:0] q_out;
|
||||||
|
wire [9:0] video_coding;
|
||||||
|
assign video_coding = q_out;
|
||||||
|
|
||||||
|
reg [3:0] N1D;
|
||||||
|
reg signed [4:0] N1q_m07;
|
||||||
|
reg signed [4:0] N0q_m07;
|
||||||
|
always @(*) begin
|
||||||
|
N1D = video_data[0] + video_data[1] + video_data[2] + video_data[3] + video_data[4] + video_data[5] + video_data[6] + video_data[7];
|
||||||
|
case (q_m[0] + q_m[1] + q_m[2] + q_m[3] + q_m[4] + q_m[5] + q_m[6] + q_m[7])
|
||||||
|
4'b0000: N1q_m07 = 5'sd0;
|
||||||
|
4'b0001: N1q_m07 = 5'sd1;
|
||||||
|
4'b0010: N1q_m07 = 5'sd2;
|
||||||
|
4'b0011: N1q_m07 = 5'sd3;
|
||||||
|
4'b0100: N1q_m07 = 5'sd4;
|
||||||
|
4'b0101: N1q_m07 = 5'sd5;
|
||||||
|
4'b0110: N1q_m07 = 5'sd6;
|
||||||
|
4'b0111: N1q_m07 = 5'sd7;
|
||||||
|
4'b1000: N1q_m07 = 5'sd8;
|
||||||
|
default: N1q_m07 = 5'sd0;
|
||||||
|
endcase
|
||||||
|
N0q_m07 = 5'sd8 - N1q_m07;
|
||||||
|
end
|
||||||
|
reg signed [4:0] acc_add;
|
||||||
|
integer i;
|
||||||
|
always @(*) begin
|
||||||
|
if ((N1D > 4'd4) || ((N1D == 4'd4) && (video_data[0] == 1'd0))) begin
|
||||||
|
q_m[0] = video_data[0];
|
||||||
|
for (i = 0; i < 7; i = i + 1)
|
||||||
|
q_m[i + 1] = q_m[i] ~^ video_data[i + 1];
|
||||||
|
q_m[8] = 1'b0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
q_m[0] = video_data[0];
|
||||||
|
for (i = 0; i < 7; i = i + 1)
|
||||||
|
q_m[i + 1] = q_m[i] ^ video_data[i + 1];
|
||||||
|
q_m[8] = 1'b1;
|
||||||
|
end
|
||||||
|
if ((acc == 5'sd0) || (N1q_m07 == N0q_m07)) begin
|
||||||
|
if (q_m[8]) begin
|
||||||
|
acc_add = N1q_m07 - N0q_m07;
|
||||||
|
q_out = {~q_m[8], q_m[8], q_m[7:0]};
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
acc_add = N0q_m07 - N1q_m07;
|
||||||
|
q_out = {~q_m[8], q_m[8], ~q_m[7:0]};
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else if (((acc > 5'sd0) && (N1q_m07 > N0q_m07)) || ((acc < 5'sd0) && (N1q_m07 < N0q_m07))) begin
|
||||||
|
q_out = {1'b1, q_m[8], ~q_m[7:0]};
|
||||||
|
acc_add = (N0q_m07 - N1q_m07) + (q_m[8] ? 5'sd2 : 5'sd0);
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
q_out = {1'b0, q_m[8], q_m[7:0]};
|
||||||
|
acc_add = (N1q_m07 - N0q_m07) - (~q_m[8] ? 5'sd2 : 5'sd0);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
always @(posedge clk_pixel) acc <= (mode != 3'd1 ? 5'sd0 : acc + acc_add);
|
||||||
|
|
||||||
|
// See Section 5.4.2
|
||||||
|
reg [9:0] control_coding;
|
||||||
|
always @(*)
|
||||||
|
begin
|
||||||
|
case (control_data)
|
||||||
|
2'b00: control_coding = 10'b1101010100;
|
||||||
|
2'b01: control_coding = 10'b0010101011;
|
||||||
|
2'b10: control_coding = 10'b0101010100;
|
||||||
|
2'b11: control_coding = 10'b1010101011;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
|
||||||
|
// See Section 5.4.3
|
||||||
|
reg [9:0] terc4_coding;
|
||||||
|
always @(*)
|
||||||
|
begin
|
||||||
|
case (data_island_data)
|
||||||
|
4'b0000: terc4_coding = 10'b1010011100;
|
||||||
|
4'b0001: terc4_coding = 10'b1001100011;
|
||||||
|
4'b0010: terc4_coding = 10'b1011100100;
|
||||||
|
4'b0011: terc4_coding = 10'b1011100010;
|
||||||
|
4'b0100: terc4_coding = 10'b0101110001;
|
||||||
|
4'b0101: terc4_coding = 10'b0100011110;
|
||||||
|
4'b0110: terc4_coding = 10'b0110001110;
|
||||||
|
4'b0111: terc4_coding = 10'b0100111100;
|
||||||
|
4'b1000: terc4_coding = 10'b1011001100;
|
||||||
|
4'b1001: terc4_coding = 10'b0100111001;
|
||||||
|
4'b1010: terc4_coding = 10'b0110011100;
|
||||||
|
4'b1011: terc4_coding = 10'b1011000110;
|
||||||
|
4'b1100: terc4_coding = 10'b1010001110;
|
||||||
|
4'b1101: terc4_coding = 10'b1001110001;
|
||||||
|
4'b1110: terc4_coding = 10'b0101100011;
|
||||||
|
4'b1111: terc4_coding = 10'b1011000011;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
|
||||||
|
// See Section 5.2.2.1
|
||||||
|
wire [9:0] video_guard_band;
|
||||||
|
generate
|
||||||
|
if ((CN == 0) || (CN == 2)) begin : genblk1
|
||||||
|
assign video_guard_band = 10'b1011001100;
|
||||||
|
end
|
||||||
|
else begin : genblk1
|
||||||
|
assign video_guard_band = 10'b0100110011;
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
|
||||||
|
// See Section 5.2.3.3
|
||||||
|
wire [9:0] data_guard_band;
|
||||||
|
generate
|
||||||
|
if ((CN == 1) || (CN == 2)) begin : genblk2
|
||||||
|
assign data_guard_band = 10'b0100110011;
|
||||||
|
end
|
||||||
|
else begin : genblk2
|
||||||
|
assign data_guard_band = (control_data == 2'b00 ? 10'b1010001110 : (control_data == 2'b01 ? 10'b1001110001 : (control_data == 2'b10 ? 10'b0101100011 : 10'b1011000011)));
|
||||||
|
end
|
||||||
|
endgenerate
|
||||||
|
|
||||||
|
// Apply selected mode.
|
||||||
|
always @(posedge clk_pixel)
|
||||||
|
begin
|
||||||
|
case (mode)
|
||||||
|
3'd0: tmds <= control_coding;
|
||||||
|
3'd1: tmds <= video_coding;
|
||||||
|
3'd2: tmds <= video_guard_band;
|
||||||
|
3'd3: tmds <= terc4_coding;
|
||||||
|
3'd4: tmds <= data_guard_band;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
133
common/hsdaoh/hsdaoh_core.v
Normal file
133
common/hsdaoh/hsdaoh_core.v
Normal file
|
|
@ -0,0 +1,133 @@
|
||||||
|
// hsdaoh - High Speed Data Acquisition over HDMI
|
||||||
|
// Implementation of data output
|
||||||
|
// Copyright (C) 2024 by Steve Markgraf <steve@steve-m.de>
|
||||||
|
// License: MIT
|
||||||
|
|
||||||
|
module hsdaoh_core
|
||||||
|
(
|
||||||
|
input wire rstn,
|
||||||
|
output wire tmds_clk_n,
|
||||||
|
output wire tmds_clk_p,
|
||||||
|
output wire [2:0] tmds_d_n,
|
||||||
|
output wire [2:0] tmds_d_p,
|
||||||
|
input wire clk_pixel_x5,
|
||||||
|
input wire clk_pixel,
|
||||||
|
input wire fifo_empty,
|
||||||
|
input wire fifo_aempty,
|
||||||
|
output reg fifo_read_en,
|
||||||
|
input wire [15:0] data_in
|
||||||
|
);
|
||||||
|
|
||||||
|
localparam [31:0] MAGIC = 32'hda7acab1;
|
||||||
|
|
||||||
|
reg [23:0] hdmi_data = 24'h000000;
|
||||||
|
reg [15:0] frame_cnt = 16'h0000;
|
||||||
|
reg [15:0] idle_counter = 16'h0000;
|
||||||
|
reg [15:0] line_word_cnt = 16'h00;
|
||||||
|
reg [3:0] status_nibble = 4'h0;
|
||||||
|
|
||||||
|
wire [11:0] cx;
|
||||||
|
wire [10:0] cy;
|
||||||
|
wire [11:0] frame_width;
|
||||||
|
wire [10:0] frame_height;
|
||||||
|
wire [11:0] screen_width;
|
||||||
|
wire [10:0] screen_height;
|
||||||
|
|
||||||
|
always @(posedge clk_pixel) begin
|
||||||
|
|
||||||
|
if ((cx == screen_width-1) && (cy < screen_height)) begin
|
||||||
|
// last word of line contains counter of words per line
|
||||||
|
hdmi_data <= {status_nibble[3:0], line_word_cnt[11:0], 8'h00};
|
||||||
|
|
||||||
|
end else if ((cx < screen_width) && (cy < screen_height)) begin
|
||||||
|
if (fifo_read_en && !fifo_empty) begin
|
||||||
|
// regular output of FIFO data
|
||||||
|
hdmi_data <= {data_in[15:0], 8'h00};
|
||||||
|
|
||||||
|
// increment line payload counter
|
||||||
|
line_word_cnt <= line_word_cnt + 1'b1;
|
||||||
|
end else begin
|
||||||
|
// output idle counter
|
||||||
|
hdmi_data <= {idle_counter[15:8], idle_counter[7:0], 8'h00};
|
||||||
|
|
||||||
|
// increment idle counter
|
||||||
|
idle_counter <= idle_counter + 1'b1;
|
||||||
|
end
|
||||||
|
|
||||||
|
end else
|
||||||
|
line_word_cnt <= 16'h0000;
|
||||||
|
|
||||||
|
// Enable reading before beginning of next line
|
||||||
|
if ((cx == frame_width-1) && (cy < screen_height-1) && !fifo_empty)
|
||||||
|
fifo_read_en = 1'b1;
|
||||||
|
|
||||||
|
// switch read off during blanking
|
||||||
|
if (cy > screen_height)
|
||||||
|
fifo_read_en = 1'b0;
|
||||||
|
|
||||||
|
// switch read off at end of line before sending the word counter
|
||||||
|
// -2 because the last word is reserved (line_word_cnt and metadata)
|
||||||
|
if ((cx == screen_width-2) && (cy < screen_height))
|
||||||
|
fifo_read_en = 1'b0;
|
||||||
|
|
||||||
|
// switch read off when FIFO has only one word remaining
|
||||||
|
if (fifo_aempty)
|
||||||
|
fifo_read_en = 1'b0;
|
||||||
|
|
||||||
|
// increment the frame counter at the end of the frame
|
||||||
|
if ((cx == frame_width-1) && (cy == frame_height-1)) begin
|
||||||
|
frame_cnt <= frame_cnt + 1'b1;
|
||||||
|
line_word_cnt <= 16'h0000;
|
||||||
|
|
||||||
|
// start FIFO readout
|
||||||
|
if (!fifo_empty)
|
||||||
|
fifo_read_en = 1'b1;
|
||||||
|
end
|
||||||
|
|
||||||
|
if (cx == 0) begin
|
||||||
|
case (cy)
|
||||||
|
0 : status_nibble <= MAGIC[3:0];
|
||||||
|
1 : status_nibble <= MAGIC[7:4];
|
||||||
|
2 : status_nibble <= MAGIC[11:8];
|
||||||
|
3 : status_nibble <= MAGIC[15:12];
|
||||||
|
4 : status_nibble <= MAGIC[19:16];
|
||||||
|
5 : status_nibble <= MAGIC[23:20];
|
||||||
|
6 : status_nibble <= MAGIC[27:24];
|
||||||
|
7 : status_nibble <= MAGIC[31:28];
|
||||||
|
8 : status_nibble <= frame_cnt[3:0];
|
||||||
|
9 : status_nibble <= frame_cnt[7:4];
|
||||||
|
10 : status_nibble <= frame_cnt[11:8];
|
||||||
|
11 : status_nibble <= frame_cnt[15:12];
|
||||||
|
default : status_nibble <= 4'h0;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
wire tmds_clock;
|
||||||
|
wire [2:0] tmds;
|
||||||
|
|
||||||
|
hdmi #(
|
||||||
|
.VIDEO_ID_CODE(16),
|
||||||
|
.DVI_OUTPUT(0)
|
||||||
|
) hdmi(
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.reset(!rstn),
|
||||||
|
.rgb(hdmi_data),
|
||||||
|
.tmds(tmds),
|
||||||
|
.tmds_clock(tmds_clock),
|
||||||
|
.cx(cx),
|
||||||
|
.cy(cy),
|
||||||
|
.frame_width(frame_width),
|
||||||
|
.frame_height(frame_height),
|
||||||
|
.screen_width(screen_width),
|
||||||
|
.screen_height(screen_height)
|
||||||
|
);
|
||||||
|
ELVDS_OBUF tmds_bufds[3:0](
|
||||||
|
.I({clk_pixel, tmds}),
|
||||||
|
.O({tmds_clk_p, tmds_d_p}),
|
||||||
|
.OB({tmds_clk_n, tmds_d_n})
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
25
hsdaoh_nano20k_test.gprj
Normal file
25
hsdaoh_nano20k_test.gprj
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE gowin-fpga-project>
|
||||||
|
<Project>
|
||||||
|
<Template>FPGA</Template>
|
||||||
|
<Version>5</Version>
|
||||||
|
<Device name="GW2AR-18C" pn="GW2AR-LV18QN88C8/I7">gw2ar18c-000</Device>
|
||||||
|
<FileList>
|
||||||
|
<File path="common/async_fifo/async_fifo.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/fifomem.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/rptr_empty.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/sync_r2w.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/sync_w2r.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/wptr_full.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/auxiliary_video_information_info_frame.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/hdmi.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_assembler.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_picker.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/serializer.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/tmds_channel.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hsdaoh/hsdaoh_core.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano20k_test/top.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano20k_test/hsdaoh_nano20k_test.cst" type="file.cst" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano20k_test/hsdaoh_nano20k_test.sdc" type="file.sdc" enable="1"/>
|
||||||
|
</FileList>
|
||||||
|
</Project>
|
||||||
47
hsdaoh_nano20k_test/hsdaoh_nano20k_test.cst
Normal file
47
hsdaoh_nano20k_test/hsdaoh_nano20k_test.cst
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
//IO_LOC "led[5]" 15;
|
||||||
|
//IO_PORT "led[5]" IO_TYPE=LVCMOS18 PULL_MODE=UP DRIVE=8;
|
||||||
|
//IO_LOC "led[4]" 13;
|
||||||
|
//IO_PORT "led[4]" IO_TYPE=LVCMOS18 PULL_MODE=UP DRIVE=8;
|
||||||
|
//IO_LOC "led[3]" 10;
|
||||||
|
//IO_PORT "led[3]" IO_TYPE=LVCMOS18 PULL_MODE=UP DRIVE=8;
|
||||||
|
//IO_LOC "led[2]" 16;
|
||||||
|
//IO_PORT "led[2]" IO_TYPE=LVCMOS18 PULL_MODE=UP DRIVE=8;
|
||||||
|
//IO_LOC "led[1]" 14;
|
||||||
|
//IO_PORT "led[1]" IO_TYPE=LVCMOS18 PULL_MODE=UP DRIVE=8;
|
||||||
|
//IO_LOC "led[0]" 11;
|
||||||
|
//IO_PORT "led[0]" IO_TYPE=LVCMOS18 PULL_MODE=UP DRIVE=8;
|
||||||
|
|
||||||
|
IO_LOC "sys_resetn" 88;
|
||||||
|
IO_PORT "sys_resetn" PULL_MODE=UP;
|
||||||
|
IO_LOC "sys_clk" 4;
|
||||||
|
|
||||||
|
//IO_PORT "sys_clk" IO_TYPE=LVCMOS33 PULL_MODE=UP;
|
||||||
|
IO_PORT "sys_clk" PULL_MODE=UP;
|
||||||
|
IO_LOC "tmds_d_p[0]" 35,36;
|
||||||
|
IO_PORT "tmds_d_p[0]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_d_p[1]" 37,38;
|
||||||
|
IO_PORT "tmds_d_p[1]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_d_p[2]" 39,40;
|
||||||
|
IO_PORT "tmds_d_p[2]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_clk_p" 33,34;
|
||||||
|
IO_PORT "tmds_clk_p" PULL_MODE=NONE DRIVE=8;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 20k example:
|
||||||
|
//IO_LOC "O_tmds_clk_p" 33,34;
|
||||||
|
//IO_PORT "O_tmds_clk_p" PULL_MODE=NONE DRIVE=8;
|
||||||
|
//IO_LOC "O_tmds_data_p[0]" 35,36;
|
||||||
|
//IO_PORT "O_tmds_data_p[0]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
//IO_LOC "O_tmds_data_p[1]" 37,38;
|
||||||
|
//IO_PORT "O_tmds_data_p[1]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
//IO_LOC "O_tmds_data_p[2]" 39,40;
|
||||||
|
//IO_PORT "O_tmds_data_p[2]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
//IO_LOC "I_clk" 4;
|
||||||
|
//IO_PORT "I_clk" PULL_MODE=UP;
|
||||||
2
hsdaoh_nano20k_test/hsdaoh_nano20k_test.sdc
Normal file
2
hsdaoh_nano20k_test/hsdaoh_nano20k_test.sdc
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
create_clock -name sys_clk -period 37.04 [get_ports {sys_clk}] -add
|
||||||
|
//create_clock -name adc_clkout -period 12.3 [get_ports {adc_clkout}] -add
|
||||||
157
hsdaoh_nano20k_test/top.v
Normal file
157
hsdaoh_nano20k_test/top.v
Normal file
|
|
@ -0,0 +1,157 @@
|
||||||
|
// hsdaoh - High Speed Data Acquisition over HDMI
|
||||||
|
// Test top design for Tang Nano 20K
|
||||||
|
// Copyright (C) 2024 by Steve Markgraf <steve@steve-m.de>
|
||||||
|
// License: MIT
|
||||||
|
|
||||||
|
module top (
|
||||||
|
sys_clk,
|
||||||
|
sys_resetn,
|
||||||
|
enable,
|
||||||
|
tmds_clk_n,
|
||||||
|
tmds_clk_p,
|
||||||
|
tmds_d_n,
|
||||||
|
tmds_d_p
|
||||||
|
);
|
||||||
|
input sys_clk;
|
||||||
|
input sys_resetn;
|
||||||
|
input wire enable;
|
||||||
|
output wire tmds_clk_n;
|
||||||
|
output wire tmds_clk_p;
|
||||||
|
output wire [2:0] tmds_d_n;
|
||||||
|
output wire [2:0] tmds_d_p;
|
||||||
|
|
||||||
|
wire [2:0] tmds;
|
||||||
|
wire clk_pixel;
|
||||||
|
wire clk_pixel_x5;
|
||||||
|
wire hdmi_pll_lock;
|
||||||
|
|
||||||
|
wire clk_data;
|
||||||
|
wire data_pll_lock;
|
||||||
|
|
||||||
|
// 477 MHz, maximum that works with the nano 20K
|
||||||
|
// 477/5 = 95.4 MHz
|
||||||
|
localparam HDMI_PLL_IDIV = 2;
|
||||||
|
localparam HDMI_PLL_FBDIV = 52;
|
||||||
|
localparam HDMI_PLL_ODIV = 2;
|
||||||
|
|
||||||
|
// PLL for HDMI clock
|
||||||
|
rPLL #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (HDMI_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (HDMI_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (HDMI_PLL_ODIV),
|
||||||
|
.DEVICE ("GW2AR-18C")
|
||||||
|
) hdmi_pll (
|
||||||
|
.CLKIN (sys_clk),
|
||||||
|
.CLKFB (1'b0),
|
||||||
|
.RESET (1'b0),
|
||||||
|
.RESET_P (1'b0),
|
||||||
|
.FBDSEL (6'b0),
|
||||||
|
.IDSEL (6'b0),
|
||||||
|
.ODSEL (6'b0),
|
||||||
|
.DUTYDA (4'b0),
|
||||||
|
.PSDA (4'b0),
|
||||||
|
.FDLY (4'b0),
|
||||||
|
.CLKOUT (clk_pixel_x5),
|
||||||
|
.LOCK (hdmi_pll_lock),
|
||||||
|
.CLKOUTP (),
|
||||||
|
.CLKOUTD (),
|
||||||
|
.CLKOUTD3 ()
|
||||||
|
);
|
||||||
|
|
||||||
|
CLKDIV #(
|
||||||
|
.DIV_MODE(5),
|
||||||
|
.GSREN("false")
|
||||||
|
) div_5 (
|
||||||
|
.CLKOUT(clk_pixel),
|
||||||
|
.HCLKIN(clk_pixel_x5),
|
||||||
|
.RESETN(hdmi_pll_lock),
|
||||||
|
.CALIB(1'b0)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 91.8 MHz clock for data
|
||||||
|
localparam DATA_PLL_IDIV = 4;
|
||||||
|
localparam DATA_PLL_FBDIV = 16;
|
||||||
|
localparam DATA_PLL_ODIV = 8;
|
||||||
|
|
||||||
|
// PLL for data clock
|
||||||
|
rPLL #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (DATA_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (DATA_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (DATA_PLL_ODIV),
|
||||||
|
.DEVICE ("GW2AR-18C")
|
||||||
|
) data_pll (
|
||||||
|
.CLKIN(sys_clk),
|
||||||
|
.CLKFB(1'b0),
|
||||||
|
.RESET(rst),
|
||||||
|
.RESET_P(1'b0),
|
||||||
|
.FBDSEL(6'b0),
|
||||||
|
.IDSEL(6'b0),
|
||||||
|
.ODSEL(6'b0),
|
||||||
|
.DUTYDA(4'b0),
|
||||||
|
.PSDA(4'b0),
|
||||||
|
.FDLY(4'b0),
|
||||||
|
.CLKOUT(clk_data),
|
||||||
|
.LOCK(data_pll_lock),
|
||||||
|
.CLKOUTP(),
|
||||||
|
.CLKOUTD(),
|
||||||
|
.CLKOUTD3()
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [15:0] counter = 16'h0000;
|
||||||
|
|
||||||
|
reg [15:0] fifo_in;
|
||||||
|
|
||||||
|
wire write_enable;
|
||||||
|
|
||||||
|
wire [15:0] fifo_out;
|
||||||
|
wire fifo_empty;
|
||||||
|
wire fifo_aempty;
|
||||||
|
wire Full_o;
|
||||||
|
|
||||||
|
wire FifoHalfFull;
|
||||||
|
wire FifoFull;
|
||||||
|
|
||||||
|
wire fifo_rd_en_i;
|
||||||
|
async_fifo #(
|
||||||
|
.DSIZE(16),
|
||||||
|
.ASIZE($clog2(8192)), // 3 + (1982 * 4) = 7931 => at least 8K entries to buffer 4 lines during VSYNC
|
||||||
|
.FALLTHROUGH("FALSE")
|
||||||
|
) fifo (
|
||||||
|
.wclk(clk_data),
|
||||||
|
.wrst_n(hdmi_pll_lock),
|
||||||
|
.winc(write_enable),
|
||||||
|
.wdata(fifo_in),
|
||||||
|
.wfull(FifoFull),
|
||||||
|
.awfull(FifoHalfFull), //fixme
|
||||||
|
.rclk(clk_pixel),
|
||||||
|
.rrst_n(hdmi_pll_lock),
|
||||||
|
.rinc(fifo_rd_en_i),
|
||||||
|
.rdata(fifo_out),
|
||||||
|
.rempty(fifo_empty),
|
||||||
|
.arempty(fifo_aempty)
|
||||||
|
);
|
||||||
|
|
||||||
|
hsdaoh_core hsdaoh (
|
||||||
|
.rstn(hdmi_pll_lock),
|
||||||
|
.tmds_clk_n(tmds_clk_n),
|
||||||
|
.tmds_clk_p(tmds_clk_p),
|
||||||
|
.tmds_d_n(tmds_d_n),
|
||||||
|
.tmds_d_p(tmds_d_p),
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.fifo_empty(fifo_empty),
|
||||||
|
.fifo_aempty(fifo_aempty),
|
||||||
|
.fifo_read_en(fifo_rd_en_i),
|
||||||
|
.data_in(fifo_out)
|
||||||
|
);
|
||||||
|
|
||||||
|
assign write_enable = 1'b1;
|
||||||
|
|
||||||
|
always @(posedge clk_data) begin
|
||||||
|
fifo_in <= counter[15:0];
|
||||||
|
counter <= counter + 1'b1;
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
26
hsdaoh_nano4k_test.gprj
Normal file
26
hsdaoh_nano4k_test.gprj
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE gowin-fpga-project>
|
||||||
|
<Project>
|
||||||
|
<Template>FPGA</Template>
|
||||||
|
<Version>5</Version>
|
||||||
|
<Device name="GW1NSR-4C" pn="GW1NSR-LV4CQN48PC6/I5">gw1nsr4c-000</Device>
|
||||||
|
<FileList>
|
||||||
|
<File path="common/async_fifo/async_fifo.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/fifomem.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/rptr_empty.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/sync_r2w.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/sync_w2r.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/wptr_full.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/hdmi/auxiliary_video_information_info_frame.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/hdmi.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_assembler.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_picker.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/serializer.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/tmds_channel.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hsdaoh/hsdaoh_core.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano4k_test/fifo_hs/fifo_hs.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano4k_test/top.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano4k_test/hsdaoh_nano4k_test.cst" type="file.cst" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano4k_test/hsdaoh_nano4k_test.sdc" type="file.sdc" enable="1"/>
|
||||||
|
</FileList>
|
||||||
|
</Project>
|
||||||
35
hsdaoh_nano4k_test/fifo_hs/fifo_hs.ipc
Normal file
35
hsdaoh_nano4k_test/fifo_hs/fifo_hs.ipc
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[General]
|
||||||
|
ipc_version=4
|
||||||
|
file=fifo_hs
|
||||||
|
module=FIFO_HS_Top
|
||||||
|
target_device=gw1nsr4c-000
|
||||||
|
type=fifo_hs
|
||||||
|
version=1.0
|
||||||
|
|
||||||
|
[Config]
|
||||||
|
AlmostEmptyFlag=true
|
||||||
|
AlmostEmptyFlagItem=Empty_Single Threshold Constant Parameter
|
||||||
|
AlmostFullFlag=false
|
||||||
|
AlmostFullFlagItem=Full_Single Threshold Constant Parameter
|
||||||
|
BSRAM=true
|
||||||
|
ControlledByRdEn=false
|
||||||
|
ECCSelected=false
|
||||||
|
EmptyClear=1
|
||||||
|
EmptySet=1
|
||||||
|
EnReset=false
|
||||||
|
FirstWordFallThrough=false
|
||||||
|
FullClear=1
|
||||||
|
FullSet=1
|
||||||
|
LANG=0
|
||||||
|
OutputRegistersSelected=false
|
||||||
|
REG=false
|
||||||
|
ReadDataNum=false
|
||||||
|
ReadDataWidth=16
|
||||||
|
ReadDepth=8192
|
||||||
|
ResetSynchronization=false
|
||||||
|
SSRAM=false
|
||||||
|
StandardFIFO=true
|
||||||
|
Synthesis_tool=GowinSynthesis
|
||||||
|
WriteDataNum=false
|
||||||
|
WriteDataWidth=16
|
||||||
|
WriteDepth=8192
|
||||||
841
hsdaoh_nano4k_test/fifo_hs/fifo_hs.v
Normal file
841
hsdaoh_nano4k_test/fifo_hs/fifo_hs.v
Normal file
|
|
@ -0,0 +1,841 @@
|
||||||
|
//
|
||||||
|
//Written by GowinSynthesis
|
||||||
|
//Product Version "V1.9.9 Beta-4 Education"
|
||||||
|
//Tue Apr 30 20:19:43 2024
|
||||||
|
|
||||||
|
//Source file index table:
|
||||||
|
//file0 "\/home/miracle/Downloads/Gowin_V1.9.9Beta-4_Education/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
|
||||||
|
//file1 "\/home/miracle/Downloads/Gowin_V1.9.9Beta-4_Education/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v"
|
||||||
|
`pragma protect begin_protected
|
||||||
|
`pragma protect version="2.3"
|
||||||
|
`pragma protect author="default"
|
||||||
|
`pragma protect author_info="default"
|
||||||
|
`pragma protect encrypt_agent="GOWIN"
|
||||||
|
`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
|
||||||
|
|
||||||
|
`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
|
||||||
|
`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
|
||||||
|
`pragma protect key_block
|
||||||
|
VEph5u3aRUgSaPwsLzLqIKmeDSZVNdeBR/6deETr/c33teBjsHK70yIaDOGd0AHGCZgPD6os2FLK
|
||||||
|
rL7IWcTZ27w+IRzk9HAAuMdlG8Y8t10QED2nb/m1RLah2mNEwxizcochksfW8MtO8A/3gFV/Lz77
|
||||||
|
7iZoHhQTTZLe2LAFWNcNvmuYeSXmy6vz0MWa19M5dQrN7L8+/nWccZOF0mJBvoXD2TwZCiVqSmMr
|
||||||
|
pzZKuA5AoR3xsYnT64pATxM8TW4VW9BrJNIgmTWnhZR7yoehioLR6OputkAuoQiwPnEmh76OAf5k
|
||||||
|
LOcomW6jfNIGrU4ZCqewiKx8ZMp9I9xQtqASDA==
|
||||||
|
|
||||||
|
`pragma protect encoding=(enctype="base64", line_length=76, bytes=46176)
|
||||||
|
`pragma protect data_keyowner="default-ip-vendor"
|
||||||
|
`pragma protect data_keyname="default-ip-key"
|
||||||
|
`pragma protect data_method="aes128-cfb"
|
||||||
|
`pragma protect data_block
|
||||||
|
UZHj3DAQHo4ptd+nyWIlJIbhKdgSkpqRJGK94CQIR8d1bSjDXeNwpuxcdDe7GxEYZ+896Zz6m69u
|
||||||
|
UFIgX8Ohg4gO/CkxcSG1rM403ujzNiDH0DaNtLU5OvWv4LNMhMLMuqqeyqL4MEjrY2c2hqBNTw/v
|
||||||
|
On63VBZl/XDj7fojEU+IAj+/rWFg0xKVB/Tf6AMC3Mn0MiWzVGGYA25FQX7h38GElRzpGhH6yVyU
|
||||||
|
2czXx7s9d6RxuB3jtawkhTc4clHi7muElCCUYbbocay/JYRHxDEmaIfzqA2SVf0LPh5kRWl/ubA3
|
||||||
|
nxqrlGUmceXgJ7ef0NW8Q7gR6vLIyQQ8LgjTSOfYjag8oOyOmqrUni+pUvn9ESux1S9e/ob6VPIw
|
||||||
|
AoH5G9mlDzD42e7GMLZUXLBrcc51kQg8gWHUNaa5loxQRnT08lKKc2OYQSF/BV/x1GXdZ9Pm0GAr
|
||||||
|
jeUyFDvqHhOZgjASPs13pA5AVbOT7jbDq1TQz/AkNRjeJ0WAaUsImcR0vrrWMtaCOx2Fgvj426Yg
|
||||||
|
xodqSNix90t/5ENb1EPwX5j2gyqB/991zLqINAGdRJsjJIs8yJgNwOmrnzbwSITnyeuKcsUtWxGd
|
||||||
|
VTFA2vI/zyhZDKp1mLz94fNNWOHuXU+kq6lSC0w6tSKr7FG8qK+arV95gI5IygJ5N/cDtvxBCGkF
|
||||||
|
RlHerrXNil1iB0s3A0lVZRztYV2wKwUUyWPb1r+llm3QMVvyfBaaU6I0er0zyGsgFn6aai+zYSxT
|
||||||
|
TN5rHvZ6Ou2SPpE9UpdouVZrrpobfLfLKqdEMvEpdOCdvdYR/uHrTSX+fT6dvbN2nNZD85cDvWpr
|
||||||
|
VZFwA/JIOq8PEq21H9l0kYOL+tJmbbJRqYK3b3akVXK3ulsdW7K3uVk5xp7Va11d6kZkDxiatfii
|
||||||
|
jHPcDp4rE0ikL5AFl6ymP3j6xmSRyC1p8gsLBOPr0t9bAP57IBQjoqz515M0LWyTChlS/AMAb6r6
|
||||||
|
Knuvgb5kOImh3Kr5IxNnm3sgGnK0UUAP1pCPYfdcHCZlUHR/SiVD0J+yV71BxNWnXDLc7TF+zxUQ
|
||||||
|
RE0ijRlsMW/kRiY+83yhXbfRKQcCbyV++WFnO2d2HKApAJw/whfsVyD21cKLo30Y4ekgnS6YCbMq
|
||||||
|
9ZjrG6poYCbPIJ3Bqd0CoFL2ek8qMk2pYw2WQy9iMjeGE4cZz+Ab1eAoZQ5g+9CXU5tOWaeDMu9Y
|
||||||
|
llbVD3o4zMLJRKu8yQmkAkhA1r4x+nud2jeZJbbsYXDq84DgBBlO5YErE9EZfdUUvDPE6RnP8Mam
|
||||||
|
t31Arz5/OJSARMEJ0ccJ3QrLPZ9pEraluGaxCYfq2dDsmT/ViALPif463TjnTmj4MdC4Y0EPcejG
|
||||||
|
Yt9FHWoXQTsM8xybgASelZ96vWKgyA7TjCZsy7e7JMx/MTh7FEOL0aimjVqWCnP6nzBLzXIpiMyg
|
||||||
|
StsIiuyrzUuh13H83WsmzlzJVmR8jyj6116+x2WcHi9l/yjoSQNPIlFgorr1q2tz2tmrrNl96uPO
|
||||||
|
Jw17MpECN1oIrAzNjlXngIjQKWFu1/xGSOJLc0KXNNDmS9GfbG8EYDa/RsLbRLQlpLip+ZfiWq59
|
||||||
|
Mfn+UXacmOuXYEh1yYrlpNK6c1SUFeH/UZpchNe/LysqXu4T+gP5clHtPkWV633KaMdfc88eP1K6
|
||||||
|
R1YCrjJzMyz+4XgkPLONsIvp09GGko60ty+G4Nkf4olyVvjl8vi/0AGg6xjw8E54A1xUKkFksVnG
|
||||||
|
ttVWthnu+j7SiafWf0ymcWylVv1XA38niKcOtypC2lHmxfwRHrGKvyRsQ9pXpaYRV3xLqGrsjQtN
|
||||||
|
rUoAlNA0+JyuGLEhvaH6iUlN5dGg0McMsOL6HGslXVRO8nK/9+LVJxBaT0JFpBnIK0Gi6PV67gRu
|
||||||
|
MD8m5esQntGtDyV8AfjUc5eeb0t9//tR+T3dGv/Jv9mWdqw+oWpeQTSb+rTL3imbXOndz9P4lUqd
|
||||||
|
+UqdC3H0PYhjb3bvhpFdeBoV7HGpRKA1Gj1wEhEWrsUE9jET1BdJKTfsN074MVRX0OlFGDU+pAhx
|
||||||
|
EsVTwdIDN+sky4YZ6pcaqCm9Qj3ZsuRkrBHeXqSm5mXlIB1HtCi/5N6V01QERI4R9dxxyBXc28jK
|
||||||
|
57pkJKBcPg4HIPW/19ZLyKljXT6xQjrIb5mgGDJXwFz7WHVDKLFyegBxm1Bl3JcLeVeduiHleWVV
|
||||||
|
me3AobBb2Hhrk0DME0W7xT8so8ST+T0XFmNK712xxewenvyKRkxy+59dsuNaia/cm252UqhHIzEh
|
||||||
|
BhO17s+7t6hxHVqnfPtTJtOl47hQO1vydWFRvptPV61rUHd6x1X9rWFUsdUKQ/XhGbONCKAR6qua
|
||||||
|
rXeYoNfWD4p0jrMj0Xbrm9xYWYc/sdSxciVFuUISlErgawhoCqf4LuGMWV8q4aI1Adj9A6Vb5+FN
|
||||||
|
/XI0SthhnGIJyqJSp9os+vKfvtcAbiIu7rkk7R386BDqW5ZmxdRhKa2CS6VAxo52Uo7uras5clKX
|
||||||
|
8lAg01XljGpwIxUINZ5qb0CyqcLX6vVD/o0M6KZZq7D7XY7ygCgu5S+EMjTN8YVSktCCfex+JNiZ
|
||||||
|
UfH2BMNy3Bw9OozOMErK5wDztEOWw5MBCG3gq7QcWVV/Fh0xYH58jSA5fTXDQ0kvU7WfVeOdB3N4
|
||||||
|
UdUxOFPSjIR7LSpgJP3W4y+S30akuQZQZQWUKQeTzSH4nbhgPE+4s5lZ84VwLj5Uwm/zbSMs+U1y
|
||||||
|
zxRbcoeHkGLmOr0Q3yngIAh9hf/tGg1uy4JFhVygCpcTF2UiUsi2vUzUa+zSXzdGEtm5Kqb91cwX
|
||||||
|
iqJNmEhXSjbIC6UFc9SWyE5DBkt2GeS36Dt7UtiAsR37GjGPivHc8D7ckQWAaLQ9IX6o5NKAhJ26
|
||||||
|
demMX1KUVGqat/hN8O8MmG1eOpBpy2OURvBddr99/bmW6TQ2iT0DMz9WKQmn5OFzUlPaNtSp2/pO
|
||||||
|
y+IFUQ2Gz1paM4ptqnVnWdfj/XxgDj28jlaK7Z7Dm6u/0fhCvxL1cxnOMbolzKUZiAqpRqDl3G82
|
||||||
|
RwdUPRWUvDHbEtzNLn3htkhO4u3/0itj3vwuVTFfrgCXESi+w0vWSU3yr/rghnC02UmORfHklem8
|
||||||
|
8rEJlsX/yDUUDALwtzcbLaZld2RPxP+w0HXevN8j21zonFfudvHkmZDDQj5ihlhSBSLt4lEwkfvL
|
||||||
|
QpQ4+6tWo1RBawLsrzJ5mVW3rY8nvnhe4mMybr/yjt/P1U503b2s8gt0mevBg6SNxJtzqXr6Uxbx
|
||||||
|
1HrbjeuoLIjZRtdcdfDn+bGZuxMfiiQI0u/sW5xqnwmiQLq7vW0UamKHL+ceYauHBLHCP9+FXrKC
|
||||||
|
vQHDHZ6jSc/d0E1OKgTLdUdXt3l/yyC0Sg/Gg4clvG/YhC7aoXhn31nDqzNC1dAaMaKMCDnF9oJs
|
||||||
|
yRFFPr9pw/PIV6T7LyC/DICssW0fwRMk4aaiHLCa5Wikvo1a7+WcxbFSZPOdss69WljlS5H8JEUv
|
||||||
|
WAtSuAvNMSr+U0fxrXqv3I/qYf3KySRvPF7IMH1r7+h1lKNn/Mkgq8gD//kM7bpos/qBGifSTKGS
|
||||||
|
8MdnF1kkyZpEuqzPCQD7KFjFgMvFmz8pKLy61K+VWIK4qBXFgzGSL72Bgke7kfeeIgagOLbk6+8G
|
||||||
|
OrVXFUgSydJ0/F23tPnulg3kPHaxn7C3ZF6UsYIwYqJB4nfx+1ZRxqwcjmqMtIHeB/Rqm0H+IIr2
|
||||||
|
kBOwpJS193y5yt6ak1Hi7MNBx9j64m5nOGy6G54vrt8pF3/HQrt4XagoPqg6lFwvg85olB69QO6z
|
||||||
|
kclDonVn/2FQjxBhQ6bjr8saql+j8eMbrRHHcNy8EzwLeKWhJg/u8HoWJnIUXnMXQSpCA0zb59p0
|
||||||
|
80LqoZWXL+rykjdErh+M4RGNs5c2fphqvaeHDAhP+jgwa8apNtgAgre+f47q/SN6NGaBHwDJ1EgS
|
||||||
|
LNZddz9cVwvnC5w0g+p+wfaYuHhIu8Zg58MI0qwz9PlNIm6ezGdh5+IIOd0LtN+zwImpPkiKKKT4
|
||||||
|
LkyDKrw2Sxccxu+Gv7i+WZpe22jF2AMBX7wVEt+1PBbAYTI/Di1WvPCT2vfPTeTMmCUVfmdUqhvu
|
||||||
|
WjQZlf4YS1cNYjwwItAM/xy+3CHJbKn9iHCxALsAebNH1VADoS93SStrbMWRDeGRTQeOFLeKx5ti
|
||||||
|
Gjill62qlSY3j2qCA2TQEZYcDCOvdQ17LHISlRVhkBrv+t6gt5WUluxLykmyfO0EZn1FAsKwGHTe
|
||||||
|
HGkIqgJTCl6X6R6qP00aaW1x9cgSLxHI+sDSM1SuY+GkoBpDXx1DNODB1yYOWbn+Wx7DMHpkUYCH
|
||||||
|
KW6GfImlCjehGPKpDuZTqFHYFUonROziedivQMxaCZjZjsNF0m8L9EtdpZ1pU0i9OKLKjt+5cs/x
|
||||||
|
aXLWftx3eyRGNM/t+5QoGm+49wdP37mbLzQ0GQkVkXh73jVugPuP6l0jiyKIK1wmxHEWA9wyU9qg
|
||||||
|
hEspDTnE+JrG/ArhuExtlSrmxBEID+FvWl1RiHAgqhAV94b2C/G28VeFWJrFeFQS6TWNNGLv9Ndw
|
||||||
|
pVNHcp3xeemQwoe59bxGYHexMbcCY/tKDZED+cDzQq5slXIQmx1h6KJ37ZN5WjqXV6r1VhlXpCh8
|
||||||
|
4+p1bfNTbhklAPN7RyTjXiIp3cJymygojB924+26EIG9pv3t9J8VUHR5j4PUhjVxSW9nDe5h2Qcd
|
||||||
|
T1ZlzUBThIk3A7wzsgVWH0T6meSvpIW4ZFGYlqnhICqlqBnYMwXupn0ajR1Xbv2IPIOFNHZ6QrMD
|
||||||
|
OTsEfbLdU98ulzg0/Soolf2+jYeHQtyVotzolYrTZdzGbjDd/6FA9x331izc4myY9AU2Jwi0WIu+
|
||||||
|
p8+zsyn+DBOL3q0FhzYVLmMbL14I/MIMzh6qqAtwEKdCL0y/lcdeyYcyZaPvryw5D8siwahzN+Bz
|
||||||
|
dWaA2WCv6qyWQ+FnwGOkFyokoIZcN1fgKH25RaKAFQhrB04Wx9X1Q9iOdz0ZiJVKm8Y20/qQtsqj
|
||||||
|
admhOk8667NqTBBn9cSm+PpgjEJqotIAf4FkLWiXbOL16IUY7jDQmda7diDwJgaAQYTojrzOVn7r
|
||||||
|
+tpfE6eQi87fwV2Vrr0kBqlgye4pEigBEdvzLF9cSy6EXJighmLnn8kNwJ5XR7Fjxnehj/dE1tND
|
||||||
|
jqQu3Ua5ZZLLFrY5cifyy9rci9ad7ceCCr6k9BRUznXI0qvkBGfjpVUgu39zzjZy0pDBQjrqYBvS
|
||||||
|
1WVHtsS97LZjc5YuxXXIDiO8XznF0rOb4LHYqkn93O80tLpqIxkOLW0o18YhipxAhSkD1P2iRSxI
|
||||||
|
348emvH9i+LbK8a0erfbYQBOcBUdkDXxAl5ALQFvCAg8sJP9maQc01qmgCrxe1lXKfL16tIVfm0S
|
||||||
|
GBtahaAkrxgxxEC+Ycwsj0f8kOW95nFNFP3Moztw2UPD9Wq3YdLajPCC+FaF3rqRtUAsA6s2dxO8
|
||||||
|
2nM/H1a+ERydRSy33qliWGrfRmfn2dN0sjdg6rHFRJI8yB0FDFSJFpHMAFYQyk8r+o0B6y/TKq+b
|
||||||
|
OS/z9/6ttQ8Gq0HrkWWc9QAvLUvOousJW89bRDdF6wqsaIWCYefYy2sKW75e4RvokqnjxX4XVAqZ
|
||||||
|
zNJtpZXpOtkPw2ExVzY1wmon+XRcIvcYI73CjGP3W4GFXBnG/m70xFEd6oMNZ3Ds5Qj+BY/Q4Nzt
|
||||||
|
2wfMlgr3f2pLXzQ/tMb8m8yqgkSzJL9+0NDWotzmy0Kpn4Eo5NEISo0ozsQV3oTkZ9ZLDbCfHrvF
|
||||||
|
cV//spePqP7oicS2M+Z1pcJMfJAq8J7Mmak7TTCbN3IfAfUkS0IVQqCshVRoi3o0kLfdK0EJniGW
|
||||||
|
IedUixThKDmHZrRW7peDeVisc6utL9OFn5qZdEbVS3azG4VjaijV3ZO6au/l7I6LF/y3MW1xOSvC
|
||||||
|
3lJUxSegqPLo535/E4E2HXmWyQg99cQRoHAkI9mdLROtLB+3UTTdlgKnRSNER9sTn9qatSN7WWti
|
||||||
|
Uybmd6Ve6/4ZXexANldiSUvT9tafhiQVX0hu0Xu63pfT8ZFDfcPMUgKZ7H11JhUW2y7JKEGySXao
|
||||||
|
ov/Wz/tscExjcyDxaqgiZzUt9enqaG6+OTm2AGYM1uPe58Jwb1iU/74Fm4/ZOXc+qO9JNyi3+OOE
|
||||||
|
a/hBDlrA191oNjDlQXPpyJA7Fx4HjC/4v7T+UT+rBFLCdGbCYGegiK5KtTzx/+DdEg8DSxehO3ap
|
||||||
|
PQ3eeXrRh1Qf/MGDN5PvLi9VCm/di3RkRCp5FPqYwt7eg4E5frQeLp577JLKZu47efJVmeV9xrvo
|
||||||
|
XAeH5KXy/Ff9Axd72vLf+b0bXYSFfMBJCwTfQjW5KyJC7Bud6sJqB+p3ABzL5e/uxwWfaQUH/zQT
|
||||||
|
+skIQJLaZl63pn1chYFwSDLZPcXe+yX1ODPEB1SZ1lLfMnh9ZttaCBZxWDf+nLEnCsb88/ub20q+
|
||||||
|
OvCKn6MTyYFV+cM4r03FN/pmZRUjlXzdA/vLTL9xleAml+Mb5sU3qLJifIoFtt7z5vuEzor2NFBy
|
||||||
|
1f/csLRzQaYxS8UuMdD0a/LZaSe6Jlbu6GHoaws2ROhwatKbaUuhsaDma7yJFwR0EBXJxFCRkuQM
|
||||||
|
prMED/xEjSZrmKrjKnoYK4a7BoqMSM6VwUYii1mMC4OFGmSnKzMinQZ/QJ1/L3l+ntO5h3V4+0CT
|
||||||
|
9sbWTQMkOx3NpqTYpuAmqhk7f6++rCS0vYC9WvOrdM3WBUmIDyWL6QmIYVFT2xjBB/k+pDtMcwix
|
||||||
|
QwGVh05ruiYnPRcR4mLkpkxFkdzGhh4zFhOYn+zbHUYLevtms7rF8aFC6cZXDhX3qa8cXFxwkQk7
|
||||||
|
3GkzXX+wm/lYfvVVvzCnWKwNJT11g6hnheMV9FzzqE1h0zvlkd9g9PlRcAVo7/3K7SEEHuXzWshk
|
||||||
|
1TTqkUFVyzpvP5pSPrl43Rj5+JwMtoRNnBD7tfGMU7Ila9yirz17X+Gr4g39cFw3cyGustjb5cBa
|
||||||
|
Uanbkoz4MjBmUHG14KbXny40nJzeyFNL5DSP18U0FjWHlesxqziD/QQD8H16R9zNoi3ohob6SWFO
|
||||||
|
fV0wg1BKK7biVeimW0IQmSDQuWi7f+BkYx0V5wkFnXvZXm0bv/vT8YSlgpYF3TvgRBSTqgMhax7x
|
||||||
|
vfR6jTIIj6c8+m7BqlOoXFxRrpEjzqLBVLB0IZe/TbQiDfEFktZx59SThjKJSOjK8ogOR1uikh1S
|
||||||
|
Ghhsb11AVUcXCJ+sJHsHsc/YxYkdAN5XRH/oMbM6Ii0Tb5OU6wNhckXXJp9qzCZ5C+ZSLnDjXIBJ
|
||||||
|
v9ZX9zNtChSICRuYWmfhZ3nhXER7hdm6BwPcxS+kpz3gdu12ogyyspfaWfsgfK52oDRMrTFdXhmL
|
||||||
|
9rGTss8MPuhDnubzkvtMOiNua+1jBOM1bA4UcYeHOTEeEU4V/fVQ2qXscrrWSeUDhI8BNZvFwBAS
|
||||||
|
28ZVaSMyxmX4pt113hFyy546YR/A55ur5kPvLirJMnWxamcXQpCdBMZ8f0B7yXtUNxTcpZM3nQ9u
|
||||||
|
4gH6y/LKFOxHINUqTH17u00Uz2/No34AUKIHWgeV7QrFK/oWQyM9SevVd0SnpTMM/6AQFa5+Jpw1
|
||||||
|
3ceqw0ASStab1i6rWmD2ebEbnehYBxNl/ts68vLV1lRpo5zZ37nO9leueXVwF4qEuiflK8WL6naD
|
||||||
|
CSooSQFLvbYufQMU8koL2iYHznwl4t2mLxhTejtwKBUn72UX0QxsqFSmX66ONsso376eGrKMa8Pb
|
||||||
|
McnRyBBPj9VY1hSDtMgH+EY15TU1dMouz1w+7OECghPs2PLQRKOsBwLNzYs6OV/gf0ekPx9yAPAU
|
||||||
|
CnGMkhfgBPSgQrtTnSMLPHgvNehiwAbedBN5AvJvZyO7emjzzslJJvhE8adL7y9pKMGRRvmR0CrN
|
||||||
|
8ByCdQZQ5+BTm0qqav5ED7ctHhamU+1MarzIE9LmEKAjw8PZu+qQJyl3EjseQnalzvDv1EY0ynXN
|
||||||
|
MM9u/nC8KDPazr/HHa87jp2QMFnYANCXrvXgzuLubr5oGV1I5484hlNLXgOau1Uneq9ghT1mPTL/
|
||||||
|
pqeH82ZDlaKxqm3jswXme09jsWR3zxMzAkETxM5g2dqdhXkLSJLHevENUd6oZOIXfIxJLmjkRddr
|
||||||
|
BpW3DLxOZmjxXEbUI2OZG9rzk0ECm5/zsbTnUpeMbu3X3yvlX1KyM4JPyeKLqTym5FtIl7x4wGal
|
||||||
|
cNfUKoYzp0OgjHmPgAAu7RYD0WOiBA2xRUSUgToyPF19QrAkPblV44u4t+g9coPtt0KQ0ezQC8EM
|
||||||
|
tm7mxIyy0JkUGALko32mlJw4jEMidqmnJW9zXVP5rINyCm7snMaizxzhu8kJI5KVjjLlxwMG3jq3
|
||||||
|
i7rMqqb3lTtzvfKKEWI1FdikI0VEj3XBwUA2Scw0iBkaI9E/vHQ86yQK7OwSFypKCR3ReYnf6sUc
|
||||||
|
Cxb2cTQOdS7+2bUPOKRHA240rKPOoRXLyRwNH6s1HRY20XRJfz8QTifypZkloNJQcFSNseBQ3nWx
|
||||||
|
gHsWihNwstHbUUXz25IAJ2I/LdXqwCnEQdaVG8jxW4N+0GcWzfJUQsWzFrkOujsE4u4eubB6SR+2
|
||||||
|
xgEyDBrwzyQZq0HwQvJFyZZ77Ss8EZkhNdrv9SlVIfVGjLfMMhC7FqJW2vpKK9D18erlfoJUg2Ot
|
||||||
|
baVA4i4ZWU8mD2Z3oWbVl3C2U+oK1QIX6mc+ZRNvaQCsFlxxaVxhCed01EsT6MIJcs53FEmeE0Jc
|
||||||
|
bD/kJo8mv1897zsZZ1xY50BPK0WZq7xMiquJNPxb8e8Wy7A86otVURj+5rWOSb6NcdtVXO6QB40g
|
||||||
|
EEvNC9l44Zgsi0rYr9WQWF1UJlRveLh2z8UW1/0YgCRjbzNS5H9npnaYo7rZ8qpCKs8t+eu2PmDh
|
||||||
|
sysjRObwouI3beXsVszkUkRPyMVxPusLklO4rXwA8JbMVlwBVnEzGkZ/5Z2Bc2vgCZpZhfn6umE8
|
||||||
|
9ucI3y+i1BYUEvAEr10VhRGcsLh+eWHE1C5c6jsAZdnsn2laMXeP5WbfZ8BEwI43BVL4frF+PguH
|
||||||
|
C8l6IN/3RaxfUeqjbKLBPwMCBt87A+FYd+zsurU4Tj5gQmAy5VzcCwF/ikkKlcj1MqxosDfBeNcf
|
||||||
|
uV9PZFISbxwgJQCTpPFX+J7snaV3rH80OJ86zRgXVh05x8u9WSGpe+CgeDaqEa7lYiE1U1se+F2Y
|
||||||
|
/uzzCas22hchsr/uyOYCxiw3KEX1yZ0rQ87cNF35+VZ50alCJQGhMNh78SuIQ1T+McAKkZZK0M4p
|
||||||
|
0Ic/yelNnRzyfzNflSbgev7fV01j0jRJo/4Oevasg3Qa9esFJK+d2iWaNtCHwlA1+OwWHUqbZLMf
|
||||||
|
cilarxu4+xWVGJQR3goohyYd1StrV/CIXM5WoBFme/gfFb2HLnN9C6v4RVUpSWyg+MQ3hd9JSSqC
|
||||||
|
q3I92FNyj66o0lrQ/Vy0XldFRWEviVYyU51LI4JTnqueWS7OjTmI0M/muTWVqv+hTWzixqzpZR2y
|
||||||
|
JNMyr5RDQVSuTs3CTL3WP1I1nXG2ufcwYa7X0OE+dj+/IUPjRChNXvD5q9M8v2EG7EMy+hR7Frd2
|
||||||
|
koT8kzCiD25mnUDxZas1HOrd0icE1UTJdYSMTFzh8oLIKO69Fjbf5e0gcqARyMYnMtgHU5c5n5nu
|
||||||
|
aH06F+ecbQyLW/F1go5C878oHOdN1yVAoYqTCq/u3frep+OtT1BTkaILmgU4sGM+qR15AGCT0F3M
|
||||||
|
VAslKxO0piPkL2YnUGs9GBeS+aAU3dnuVRpqlP6qwhdap5TzZjX96TLataTLe+qXkm9Eor13cHZF
|
||||||
|
hkmefjsd5D/5OI+ByRDvhelg169uLcIcSJfUTU4qq15jdRg9aCgRcniUXfBviACo8oRxLvBcgZPo
|
||||||
|
lo3wyFlbMgTjgABoCm6fKcu+loW6GJd04terwZl8cMm46gy6fiRnsUDDvD0zrnepnxom6TyZuslq
|
||||||
|
W7ajQYAtCaz8fPcMHBseJL2Zjj6wyVxsfDEZcItsHzlOByqoFO72u9CHadsGWbY7Lla5Dh37BaOD
|
||||||
|
qSzliEkQIScwzFNwk3YenDkj1fCmtv7GBK5TFrUcu+7ynDwpbkzOc/Qsb8V5M9MOfplaiIM+yIJT
|
||||||
|
gWNRC0x6HpWVHd7p+9oaphMnhmn6I445IhWdpMGwfmxe5rn+Rkc0Q4IgQDV4GJewTmWjpbEMZOui
|
||||||
|
5Z2uLaw7KItgHDzb2K7/GWMoYUcLmE2anCazzXsacQAob6o1Hc9WQ6wdy4dZKOd+TShzfCuG8F7J
|
||||||
|
3EK76r8bKXfV0AgiLFurfVEYFhmeJMC6uSDjl49p9SYFTWeR2FOhHsCZKB/MKaKfy6R2bQd1YnCh
|
||||||
|
BCkzWDYjXgs7flPoDL4fV2a8z49nq7YU09EXOJBwSEqSs+jfDO4O/PYVGNHEWUW/XoHbg4/5tmYk
|
||||||
|
M4tBdJxcnDCPco+t7YYz32izQt18XoSD3ZYqJH024dteiFjvJy6QcmhN5SB9UcDDij+8ogzMBbiP
|
||||||
|
DnEJifH1neI9AJVkp/1EmbC2OMT7UuhLO0f9kk/w4lv7/yqTtOk4pg3SrGKgvHKqQH9I8iGB/tWN
|
||||||
|
tBCuPofa2aGqPvk1SE3QFFhU9t/RYbDOFE7KBuwJx8wqFpBAEAG+Mh5f1L4uJpiJSa3oZkpMeD/j
|
||||||
|
tnHcEUQeFvcrcVvsVSuGEHuNvFSX5aHavK0gFyM2sqqrdgTYfO+ERiGO8Snlnd5A1s+92mJtNCaF
|
||||||
|
3imudwi0cCiXHwk8oeBuassLiygcgCUAW5JlyHhJZ5F1lHItK/Tdd1ZB/RU+zRaO8UOHZ6HLleXd
|
||||||
|
V3JrBomPpbB/Vce+v611GQVrP52ZbR0dlUl8aKnfemoDHDyX0cnAJNQC601uKHZE4cbtWgipXeRW
|
||||||
|
VoCHvI+VZ4/q0PA69Xoj5Xf/FO2kviss0R5A4PNQ1ESEP+U81MOPGP6n8aOxtD8cJqlvOL8yRuvF
|
||||||
|
tUn7RHmi0f2ARlhDg2wg2aOSvbYPV9yJ8+AyXB4m4BSUvm3kzsGDty2YXuCOwij0mQz51GyqyZX6
|
||||||
|
D8sXHy8+EgHB6TKoyNkQei6FGntHjZZgU6DarrASOSCt6XkE8Fd81RJeVvVJLJt7oBjDUW9D7v+Y
|
||||||
|
wixYW84ElQDwXu1ACBj4NzxZCeSqtPq7V5newmj3r57Aiei54Px1Ue1mqB9rQq/eHxPsXlX1UXQs
|
||||||
|
JKrQbnxzjZMxgM9K7OtptdqJmDcCzXoFq4WlIl8r+eo5u3NePr8cOwaWCkxxHyaHG0/KRoct8mw4
|
||||||
|
yBxdU+mJHpOici4M+lYq9ckDpl2ZZSLTh6bpmW93ChW9AWaFqzZmejXKtlU3e5R+QJxqyhv1M6ja
|
||||||
|
qhyf1AKrLhiOlJloVYuJRHgseXxH+ZhrVwRj6EnkBm1RIhE5xtqiU97coQV1RD5L3i1J7DHVkkrA
|
||||||
|
dNC3tTOYkGxEUPoLxOncXBUxfbCPRX5h4gilN9i78maeAF0HmV5DJoPpB6N60bnNKLQrtoU1k3ms
|
||||||
|
cBLyapH1V2Xw7QxV/81qNkfCikWkZw44Jv92CDvoENxgaSyWGlReKaR044egGFil7g/f8HB9VvS1
|
||||||
|
k/O2d8X1zGhqxUfugbc36ri36DTJtA8ctZuVo6uJjbPAVpPGzxLn22s0iM4nt3S8Z7JUmer2SIlG
|
||||||
|
MXpolbcfamhJ5ucN3YVjrK+Fju4mJtnbM/1LULRGw4GNFHts1IsGR/DP/rp/JAThgTN+qHoLciyU
|
||||||
|
eKNjibc/c7PbX5hEon+lzJpEEhbwYLd7CYiz6+aWxBjLKS7D0HXBP2PV4CFrIMU+jz+k29E9L3Ea
|
||||||
|
KRABbLKpVruKsJPEuo9sh7T9opc3gkXieM/4Z9EyChhcmFc/fwLYfYiZxnhi0wp6cOc/L4qXe26x
|
||||||
|
TzQ8dAiZxCx0QZIVQhB5GstTtx54041scuwe1FKJLNU7h/Nwr7NJyKT2FdQAvIDjqvdA+GGoDiR/
|
||||||
|
PpwQGtT03TjNuFvmDBhhEX5K9r4dlcKJy9+zT+wzYUL0L0gHn2K4kcpS2TxEKlEOzHM7jabkSO3v
|
||||||
|
c/1TGueESHT3MVsNsMBv/6aFVeDPn24eTne+3pH3qe3sGyxZHXvT9f3gwWhSWysHoi3B5RJRyhz+
|
||||||
|
u1Dq84PsL/evBHMWZHyHSIJp0LvQxvFKuZHPXgswapV/IsZqXhhFH0kSx6HlCDgTZKL9+pxHmCzj
|
||||||
|
0wKLXU40MN610X3NmmLOUsZV5IAA4tg9JnA7AF9WSfvcUSqKyFP6Mfn/48FYd3AiHtRY6kb6hmfM
|
||||||
|
IxLe5I/CJTORG7wdGR+wplg5Mb6VjZkNFRJdE8pW3yXHRnNoGNw5fWU8+i+BQ2KZBB6jI76Md5zY
|
||||||
|
CYBYkwGvz2UHwzfgFH+1tOW6pTUljILRJUJF2WMx2VBHt11fBhIfM5q7J/Oy6XjnwbfxEOfNOGcm
|
||||||
|
dV69Ten0OIjxdtSfxcvhPjcz5Mp/wvKC8dsJKvKiK1J9kLEGWyxQM+7/L+2SJLiZ04KdOuArKBMj
|
||||||
|
D5o7ub6zlrtqpt6w1UuNTUfFsDy8hMzDFAS24yyxkfwV3NlrBQzMMjSjuddKd7cxWL49dgbZsx+Q
|
||||||
|
zz9CDUdGWaTcj+BECaGaVL790qtxNOtGAUB1mNZTA0vhELF0lSUEXQWVy5OV5aC7hvyBWrRz9vxQ
|
||||||
|
HCjPPMr8/4eQZiWrVzZ73gfdMQhwhSGyeHpiHHeOPpeFDfibI3eu+Rybcy51iQfj61YCEtJBuv2r
|
||||||
|
i+U2/ZuVHCoj4qk0NsD35jFJZWTtokYthlPE1TpxNwn4KcrqNqzDuGYoAuoOKyk0YA4f+05ulHB2
|
||||||
|
ukQepAnIxiYilO6juaZAvGRAu8NmBWB7EuON6xQYm3l3Zsc4jU7BPPESPQ8o54rb64NMyeald1eL
|
||||||
|
MD3H7jCP88nzuFRWKOnubPIQ8mWR+iFgRcMaY2h3dcB8MSnxzafvY/OHeDSB2tISKJLwVK+nU7vp
|
||||||
|
Y93fS8gfF52vnE4p1/WooONRZJ/EKS+OwLVo+WvT2mlLARni1Xh4mFiHwsQtQZ8t9L/sG4WcTESZ
|
||||||
|
UWCUP7nAao+ld8mx5UqiE/8j1EuO7lZMNtc+m1u8gNfIXgs/c0sOGWD4pMZI+oVAMznuCvZ51Njb
|
||||||
|
Pr9DSOov0LL4VACBBMnZRRFVfXFrKCNkB0NewNGIGpkC1S4m1M0qqcHTgROfUvnJZzMUa8rN/013
|
||||||
|
pEHOmEuoyw/iWRydSzha2mda86H0zGDIJKanDPOFUg2yNhGVKp3a7fHY/IYDJ1jWkVYXIt+7P0vl
|
||||||
|
brvUWjDYpF+CX1jeCWlZ/0Ni4kx59/OFVMX8suSDvU2tDUnPiJuSVhNIlGljdJlH8sBS6PVaFhFJ
|
||||||
|
lOM1EqY918HfRmDaNqmJCEXc1qrNQm4QrZTwAmUj0HJnr+jECkJpy2KKyQYVfQG4KASO/3F3R9Id
|
||||||
|
3TO0vLWoHWuwXuHwwftwOgBQLMz3txUuCoLGBulvIBCk/Hnmqs8+BXwghCvKDEKTONC4f5Le9MyH
|
||||||
|
il1/l+8aUyn99MDlik20YLY6JlgPIpbmT1WZg3z/P6NqNX6disaBDOCwD+aBA9P7d0Lc/U6JETnS
|
||||||
|
+H3Un476pL107JlN1ra2aPAXeFLl/mKdc3PhN15+LrdxdYCD+RvnVrHC/mOfRyadyY6uBUYenCud
|
||||||
|
/E8g87tBhrwdfOzZGCZJdKDHybS2anpQIt31tpHeuotPHIaF8hGVkkpaqA3TPXm9RNbSKFsPX4fH
|
||||||
|
RGM+7lKvwv+vjb6q5VojNReCqKlLk8t+fqPsWn4C5i7vBPuP7vaH4rF8YUUStY/019PUyFHcdlzR
|
||||||
|
wDLJDzTz9vcUg/vQydTzA39qmS+3wd5hwgyZIOFNL5u7/JglrdB3onj284ihBXma1V4ezkHnCax4
|
||||||
|
8SrxEAg6OjQW54nKiYnmp1M55mFDkRvAI7cr/hLww7V0KFyVWemULzxwriD8VyGAHnnyT3QWkVb7
|
||||||
|
HQnR2PTOXR3YRJ4WI0wMbJq4WKAiGaqza1vIARlKilhKGhXPb2l4Gx5zrsgEEWTSZ4DZFGo2WrC8
|
||||||
|
VxSmHkqUXWaN13OJARoZaC1hTq0gpIFwIvZ9gWOkmlesyNjnxFjLuA7icwF0wDL4qsoZcxxLnqMD
|
||||||
|
vLETxNHL3v06GXlvXNvUZKTZIdJ3HG9bWKZ4gDmsoFyPIKSnba4z20fb5ZnFgGeDZjDszR/jGFXw
|
||||||
|
14WJwv+hxb3B3WTV9dyDkVAF+U9cKUQL+4J6rC+TzutbwUsyExItDorA689tf0TrWNHa+D638GsX
|
||||||
|
6oukFTBUtziMA50AHKtnh7vEAufnQ2bINGbnjx+Cg/MrT/xHMBYFoZxFlTG44R8voyUVjCo++d/P
|
||||||
|
geW6b18RyvGM+QpIAQRWx7MNuNbmRpSmIVU65TwCPemUbmws4ZXquZ5m5jKTaFyzM66LuhaUBTaB
|
||||||
|
RcmtPSYyuz5Gg4ghQTlgYyfDRxB2Qla4UU1D8Fu+geKM56HUKSigcaiZM82OIq5p8GRM9xcOIL7d
|
||||||
|
KE/cOni/XsDK2yGoj+n5O5K8KTS8P8Ks5z30yc/YLIZ2vQC53iSEr5nHVU5v5nWSFX9ebrFtyl6U
|
||||||
|
DfnmB1rFSG9YymqArwNz3XY4PU6UE/QDA43hOdhZapfDADkSDt+df0vutW+ovigPgrrHg8LRPaYx
|
||||||
|
YtGQD6M4geSdMMhz3Zyhjjg7jLQL3Z21WJIsXyJYfOeb73uT51LB4ESwywjM2Ro3gs01YpyX+0es
|
||||||
|
IEGusWs0Dng4xwNIZZxZ8/ZD5v7EMnW6lVEPluw2HiDlk9MsnjiVNe8Tx0mSMwbohm14gVOIbSfe
|
||||||
|
Xz117AiZZ7UlFjs1ayuHIfM2e19p3cCwDxyvcXknwo7Fb//ppwlk0obBLWJkF3fO+pLZW/O9NyUN
|
||||||
|
jIVaEhLfNg4L0RVL6qloFGyWOaqdFEPo9GV04XloWLpZE2nnwUe2qhQ/UdgH+sO4bCS2OCbNrb9Z
|
||||||
|
rSfTrqhmulqLGBg9GLjd5htdFGy4N0xSL1HEmO6YEuEExvfDMNXnVfJya/Hmy1R87tDEct3UtpR1
|
||||||
|
RcVAZkGQdZ/CoFvB9zGVNFkw2hH2UdU3EzHtTfH+q/uehewyVxXtSF9hjiXH/w2xvQBb6mVmCajc
|
||||||
|
wvXavnU5OukPznJXeS5ZdHmtVwFQ8HaLySQL3cc8yf9D7D0d7a1tx4NOV82O06d0Mjvyuq2ctBia
|
||||||
|
6bDS6BAFmV0/RMWiuQnn+TORhaYjwXDserxEvtR7fxjJhcggLqKPdlGG6uQ0++tvoZhZyQcjsJmz
|
||||||
|
IdpxNt6VfM45UEGOO+n2r8dvr5McnDhUWizVqWgbe3P2OXjRYmIBhPoJaKmNZDA9U2bx+f29u61B
|
||||||
|
YVhqB3VI8yuzoqwXYuLwMPB+0yo22Lv1O87qtdnqcHrwK5Y9T8Lw4H+0cKVZHC9iPIErQ3pYhGcV
|
||||||
|
8oandwPrm0Oj2SDrSdoW9y0af7Ot/C3bbTMLBamUQbR+Ic3xTgaFLxFIglsuypGEWvg1430qenGa
|
||||||
|
rNxF9SdFvZzo/JiSnfKLT8iZAtTpPoIQFLTNgVF5hlTUdv5v74QTx9HSyUH54tgdxsPBqTGBnicw
|
||||||
|
4P7zgJd8PQPWlg/uLXeENOEoJKdsV2qIgjtqUz6OVbjN66ev+aw7nzrxYVZ5TwnP5bDXzX+tyGvl
|
||||||
|
Qei9HYpl6/RpYxHp62CCM5YUMJywODC8XrG1xW4Z9cTJui4DBnT3LV1dEbpPDSHArhbaQXiwXBF1
|
||||||
|
6zuQlQ/tx8IZ9rR8axQrZZLVPE0DpUrsucYLbkUYMXrmClMSscH5zNx0ENUtxZ6jpyCo9Kq05U/x
|
||||||
|
eaQ6z9dj7NgGUAiyTYXqKtqjKcNM4V5yPVYBLb/lxnV8XE3fuWXn4UlPOq1IkZLnYRTwbP9vcEpd
|
||||||
|
mgWQlDb3L7B9W4qCYHAw8gt1n7pI3ZFqAhwPIp6Kk/0dMyejlXdVXJGgAkJYYLdxbPoIMAmXZFFq
|
||||||
|
E6Ev6kZkkNUKj0/Q4UQyHRDcssed2NhZdct8E4A98X4HJCIsedZ1V08wyPkPwW70CGjFnAfvV1iG
|
||||||
|
etiLkMXI7CQ+DiVWSIXzuIgNLUIObh6FQ+6OcSFC7s2MnyHFOlRVVS2NfCTSHkMAEXp0CuzFlM1H
|
||||||
|
/7h3M6kha52QafunzGnOdSVYXuCALjschpZpoXg1DhUr4XVCXXV296/LnwjFVq0SLx2ewHIW0VmW
|
||||||
|
FuI8oA5Et+W/+0dPKplnODXBANVBWBHK/Jur/a+O6N+IqjXzhKTWkAtEDGBST0trFOALRfn49iEw
|
||||||
|
2w0RQ8AfBwql8/iqWT7IT9VXU4HszAuP3ZKlbF+GDUSRKuuJ0I9N+8IRCHFLngEp2zRykcH7NJqJ
|
||||||
|
+PtT9oLTzU0HNxRaUK9QX5DWABvcJMS9kz1szbZR4I1jBQl8sKCVLaBsu3rzCwJ9cmlMusb/f50i
|
||||||
|
EsidLt/PeFN46uvtSS20ygoQJCf/py7I21w/BsCHSjlPpj5bBAXxaQCFf0NFvLWehbaTaJmNT+hH
|
||||||
|
J4EWDU/G1wCo9uj8E4mjkRqZKX6K+or9rXIDHnNR0+7gyDUhV8tflWRjQ+8+rjh6eCoyHaUNUUGq
|
||||||
|
4pV1SKUypbx+ayBs05xREHr1YTSuaOiU5LkxlmE1wstpuwOl3ml5AALnfd5RCpmfQ0DuZI8SFk4s
|
||||||
|
Swno2NkHqdyMSJUpTdkfRwh+XU62WmhNXvf2pmM95shjdIV3vuv94ZeFzyRlePYSt4i6/Ogc+QG8
|
||||||
|
6iMskpBQJQqqQPezRuQo1JLoLukwsL+2x6+pZOIuPoqSmTjkLowAOrahXzG6dSoJ83n0lVOblr5E
|
||||||
|
E8kH49RcvC2qmvH0+KdedR6vD2qKVXNSgaJC5BIaqF2LwFPofSyf6xxTmv3WngTgI0s7kuXzvnjR
|
||||||
|
SCdTZwxzCdLtSwCVBLzfoj/1K0zQOJb2av0tbkZhX8Ei1ZUoO6rwJ3k/Rx9OAvmZ+PuX9xvEZumG
|
||||||
|
81CBSjNoLvtxPuMEGgXDvdtc/tOAW1e9OEJwiRCvGPDUM8oBp16vK2eCnp5H0F/8dSsG9qxwd55P
|
||||||
|
NyDZ/EzjlUmGEimdfXWq3E0gpLH8z2IffcmuSHkiJnSBwlTKrYv2T8Nia93l/M7lFajjnovcFhNV
|
||||||
|
/pLDDLMmnMr2QzAVNMdrcoDyzXS4/ycYUSXZZWTFl36lqU+igUZGnFSQkr7TEjLwP7alPYivZznp
|
||||||
|
e16Td1GlLAriwqJ27cUJNYVwyD/C+8mJNV4lnZrtXWRqGOlqcZO3b+AB9jNKW/sR6gSu+dg0MRBJ
|
||||||
|
kV+5xRoey2pX+Ak5ugpu8lbB3L3g+JG3WqWDTPZAX1GeRYnNZE2e7wIbXvir2+q5kmxmituOGPzO
|
||||||
|
4et/iiSke43VJHFvjZodlJTJcYaF3as6/uyiTJli3nW//YJ86aAgBpc/cMeA8vkOU18A3vyTZ5dK
|
||||||
|
bCXv7UUStNGSNuEfL/Fnue1SFA6INE9conyCHyJTZ5hzYx6yu2nqzwxkuZk3t11GeSs6EClAd/HB
|
||||||
|
q/qzj+/jE9HhVh2r3wgwWo9Q3J0U2A7leZRQGKvj/xcqT2n3xRlvHfZ9jC7NU0Rybni0jeY8b+97
|
||||||
|
iKBdqfKxgOVybr9Yq2/fkD4yidy3jMASu8nfsLEM4aAAa9vLd7V4R4tIazn65hMNrYeQ3LxwPNeM
|
||||||
|
XTWY45IM+xyyhv9Kv0yojjhVwzB7/9wFS8uNKvl/udaUy3E1g0a/l308fBMliZavw1v8J47MhfuX
|
||||||
|
ipLAL+I0h0SCWrNOCjDyLHxXqn0ZZXc1SBqG3KiVwumuTFFLzrh+/kmG/LXbUEAwgQw2b0++BCrB
|
||||||
|
XNtyowNEX3rMsH15fRqKHstuYDP/0MlkhtS+i8l5Rb4A1JMZOQttkEE+Pfy9U/E4V8T4uzctDXg3
|
||||||
|
Cq3GSljVEdMNHMimkuNmMMHHyrvmSZEIFwNH2QwdkRcL76y9y00wp462UB8TthJ698uEWFifgfot
|
||||||
|
y/hUEXN7Qcmvzb4oA/ZIyvSR2TtSGesM5SKQjiD0rFLkpHClTVQnvT1/R01y8OoFvhmvMMS3vTM1
|
||||||
|
kahWapkkvuxWrfUbQ8pq0wrPvsTI6DOcIS+WuOGgMxyyuTGlLjOQpo6umWl12HJ3K7c/Rr7zYbPl
|
||||||
|
asi31nwX7aFs/faC8h+l3hys0jVxHg9cPHUWXu4WD8IxU+WGs2/VQhagVq85/PeddYd+yWKqxEGi
|
||||||
|
vVpTX0re9B8QrYxMI6sWp91UzmKMiKfSWPNc5ikbA6Nvd3leNS0KgbCRcWh28TIVXtEOJDCpYmb5
|
||||||
|
UgX7FL2yXxCqtrOUeMRvEtLVSGSYVm+JdsZQ64tpo3c0DVCLd8ONaX4lUhhj2dO++aR+joMQ3z7k
|
||||||
|
KZe9lZU1DeWRX0qx1jrFhJAif1uwVq4ONFsD7JJ8zWxBCFM2CCZbtQ3YX+Fisw2si/apjRnkaW9N
|
||||||
|
vD8c35oq1NF5cJlT0S4DrCAq7SEO7mrh5aQQOYpesmfc9cL6M5ih5KzS9hcFkeW1lOUKcIHcVmFJ
|
||||||
|
zotTPgWJ2Na9V94JtCAdyD4FFd0uyw8RLOnX+iZu4WxVzVb4ekQ7G8IgJESpX4hzOXvG1usYz59m
|
||||||
|
gmrUYWQg7D1WgEnACv2P8+jCz7On7A2c76LBcDlI5TMtNyya3ipHNRJI3pGiGQzvSncFbhkqH7Ir
|
||||||
|
Cm/5XgiQjTCMhJ8rixorNyK/DVckvnE2QzPgHzg4/nDhv71dG3JaTM8cy8P9OfygDGi2vsJybR9H
|
||||||
|
n3mtJOiwcPluzQB2WGtzxWntFdUWLbkuYial/vyeX/Mc+EtOpTZS40hl7FIX+DKqYe/QbhGAza+V
|
||||||
|
mI1nx1YjygHDy2TYroYYVVCZ/ASA2FyvJojcQHDozmOGCq3S0Qw9fSqkqlP4TN2TJjumvyOiawfb
|
||||||
|
6e3jpOu1jbAupzROVYLgJpVQ4YjZGKwaE+ZmHKjZ2EwRYBwl4hSMHfvW8yYabrMgDvqwQ1TqEPKK
|
||||||
|
OVppF6hMF15p2RpGWzymYKBDJtSvKJ3b4yUYdjhbEq/3ZthBGwNqvZNkI56L1KyH4QGIIoa/L7DR
|
||||||
|
Uw1H8aaGdnW5tLN4Ln2uhTS9MA++etMDsyOtS6Smb4UgzuQHchHDgfEcBfD94GN9SuzgI5MfTuXX
|
||||||
|
t0MWw7buykOnaoXpGJULdLsXqI+L31NXFG82Dm+7VMPpRWNynyOQs5rYIx/QO0+hhmR0rbVrm9bk
|
||||||
|
G8Dg5g5Xh7lthAmHOlI1RQAOOMEySOLhTzQz0pjnx0WBfNSekyeH+DtVj5NbL0eIpTeYiOb3rXJh
|
||||||
|
u7QTllrNcM3EebffNrxlxfPPUx6FSylVSxG1CaCaXnITTD5Qf9Wf5fCHkAO1uzOBWWXOxfHGN+F6
|
||||||
|
ibDybBwkrdNlKumG406wIlsZ9behs1vhQIifBImpnuqhFoXiijMDsldMk9WymNrMhUO1ptMiCvOF
|
||||||
|
0HpewwXLOflZn+MGEob/HN8E/ehnln+BYtVGOmebIMXJYM7qCeqJ65znNXoETXfsCq8tlkXkH0xf
|
||||||
|
mw2Orc41UQTah5wMk71S3Rr+/x4RoLwJ8MlyLx3SMKGovCg604llhkW6Ln+zpOgYbWJqwC80zRhJ
|
||||||
|
Am4M3OiB79+LY6szejOxcQXm46PvA1Y3RxpVx3Q6WnzDX3PGSBzy6jmJC2Qh5Zt67HH4pftcEToD
|
||||||
|
DQbQoFxBWXZf3j/Q/i4EHGdjN/yjQkTPd2v7YL7OIh0re9ghdxsJoypvKf3Wjq8TBuxb2U9x4/y5
|
||||||
|
cWN2gLZ5rUPCuSDsB1d6Icgtk5dFfue+7OfazLc0LHu97kzd/cv3PRSb5mgC4RFSFvR3PVNgD1YJ
|
||||||
|
W6UD1tH3OIYhpHEysAHWo/9mXebhXcFligW6gC9VsVHGp+6jBZ4/9HPEJJiBV385glLIM4DZyaz9
|
||||||
|
sHRv5jb/m5z0lvPUPPMTNJ0UJTLZNd6yXDWa7T35seEUeEMMMEA/MOArIDr8PFG8kf31Qsz5kfbi
|
||||||
|
p1gAT3M82Y4XWbWw+jD0slThoSSEawMY/gtQgUWqhkDMb0fLynKs24Lz3GhYA0/A/sulGvAxnROR
|
||||||
|
Znb2heVuqfpydmnWhR+AnMOzbfhjZRf/ncUBe+h5mdXCmC63TTShXMRb3FPebP9j/3tuQqU89PMp
|
||||||
|
O1NMsA8dcZLJ4EAaP22xZphgDVqhRmR5CNeF4yIV+OQfJWnAjwO+ruZWLhYRcpSRAO2w2uc65F+H
|
||||||
|
PBAPBc5bMTdkhI4DXL5hs8kDEn4+EPC1zr0E+W6HcguCLP3BV1EHhYJaH6k+4IecmdhNoVMflxe/
|
||||||
|
cJfiHgHMCSpg35Qi7G0mBLXRI3CAC6uzzovS7rlEkSUlB/quqYq+f2s+7gq6DopkeGVSP1OUarZ/
|
||||||
|
GYAG9CICAsmdvdi3I1G+H93nluY5JcKOy4Ges97AaTkX6/ROj+5LebMKFOfwXd168dtRdFxrrZRO
|
||||||
|
wtYsxBVwIHQbkzyJKXLUWiDDIuU/mJkpnF5gxY6wj9afgoVIgY62k2GGFIXInt7/Qh2x6DBZOK9V
|
||||||
|
7hN59O/LI5q5rP+BCwBUocUlaUivravb9MT7rw5+WuwU1z0zIpkhnLw8fpNQmdH7VKfGDqhmg0sU
|
||||||
|
tlE1S9K/dshfPpB1/aPx49a6jCU2Xt6pjiw9fD3BXt4LuQEkqdRddERVvuKTx9AuH57QSAHxqsqA
|
||||||
|
hw7c2AHh6dhUOfOGFe3YL5RUfPZtOwpOrUe9AfhbeRfFPwKglsqQmXIpZbq9XZfR35nG+6yTU5QL
|
||||||
|
O5L7fel+9zlH8+0vBzRAhP72Fwm1zN1ImUtXv/vtQVVs2v8JnAY+5dogx2pycqtX1RmIGpyIw2+p
|
||||||
|
xxGA7R6NZTI7Sd4dv+nCj6PeiB79kN7rwI77HuMudPrmIFiZMT6VXP8wIlPNkKdkwJzI+5rGKqfq
|
||||||
|
NstS14Q1t5XL6+taVl3HT74IjfzEeIbMInXNsPdgYJf5aKoFsocj0SNXK5nv7p5uzRDZ5pw6AzYj
|
||||||
|
rN5vBduiDOuWDcv5kOquxmpjkhgpX2tKdHBacg4QVQ/BslDkuDCBWqP+a4LFhKdQZrU4tn/3t63s
|
||||||
|
sTw23+n4vv9GUt0o2i0m3eljrfo4x06MKXZ6AYOTYbBwTYkZeQR3QMcG590tUbaZ1oJlb3QqEDwf
|
||||||
|
YMtyns6MnO86yb7CeFy/b+KyZt/mXej4H1q3QupfFQx7/DydwW54RFPJhTwAXc5dwHsj9VzzezFQ
|
||||||
|
piU7FacJbCRMKuo14mcAKBB+UOqBUTPqN3JDfz6KWP3BU7s451NxWUlT/Z+TqqmNGgjPZC1uzjgq
|
||||||
|
jbG8y1PNRIhlgDmqNyP7mwoPhPskSbNHABHoSKIQ408X0yfio36jcFgkbXSSZTaPYGcQivQw9ZAB
|
||||||
|
TFewB0vsquji+LU7lQQzYkkbC2ajB00saTXgxqbFwczMaT/Bwn1h26Xnsw3g+71cc4JZiGVw9SJW
|
||||||
|
I1YbguERZoQsOirIzt1kYd41GZS52bfdsLp/Ay1Of081NhGeMLrAvlt7Kp0/8tdtlvj0QnEsKWAv
|
||||||
|
lCVyJ31ciTr91GxtyMa7ud8VEZ98g1icKKfd6sm29ZVQZguPcsOrqrntokRpztbn1054iA8Pi8Xu
|
||||||
|
yoXSUiwUHEw7WxX/IpMlZ42gGCyU3fRdh4CrxwYpqNHzzDMyCpwwllQhcDL4dX5BmEz6PCaStInh
|
||||||
|
ZWQeObwS3fM7mJxBRia3zAIxQ0xNnUGYLs0FHFQxP+N4o81eHJFt1S39vkGzqnbXqMlY9vT6xAxY
|
||||||
|
yTL+b7kmGNZK6U9PiX/7+X/YptS3QwC5mLUWnMhHbj8VFcZkpouyPHctGB4Bu6qzLKPwyQ7luPjk
|
||||||
|
uVH/yGVcPksUUvV9d4jPhDXzvUMtmIKX/ulcE9sT9yQi6yTV0KY6sTcWoMt1n9+DJ9HHrHojMzMP
|
||||||
|
mBD7RZS6v1FV/KsMIjyS9osE40gci6k87ZnAnKIK1Yq7cOgkH7C+OwCRTUZ30L9ObFsr9f3FRgq0
|
||||||
|
DtyGndArQCwS5NtlHJQnhN98ePJFfxfTeq02qBYC822CHw8J83FS/EAuQkORCd5zfMXuUi2NjIbi
|
||||||
|
cePveLaj9B5/aV0x2gDxQYNgTiv2yxrWBxdgtUG93niZqr8eBJ8jAZDF5OWhOKfeALss4jd7XRED
|
||||||
|
G9rAQXwrZ63ZA1nb15bSNPpplP60b1SpCl9dAFDLLDYogZs4zd6GrWwxYsN6p0E8y5TRkNrIq6im
|
||||||
|
BAUlGJWHbru+N18bXfVjww1ZF7ySiuhtIN5ryYpN45FGD5iWN0XswC2nGi8kc5QWQhdN0hGoPeCj
|
||||||
|
kof1IOCvl65y6U5Ez7og1xHjnRLvPKWb/VB053OevozzD+2SonnX/FGUSVanTDGtsju/efn72BOk
|
||||||
|
n4QXygJJeEugWmOUnzT2biBSp9BFxzN6lHOJGh5UUicVVUfTJuFsXFvquHkgeOa50vqGGRhTHHPi
|
||||||
|
fIhSUhtplfTJcbUXty56jaApp7de2C9wJXAKkl44D1G+lQRn7yDSXctEGV2shDyjIFZ6VLakTu8l
|
||||||
|
SLAuXEuXzxeUuhXdwO11YF3UyidkaLjbiBaRTBkx+v8UKwimpiZ7tw74MEs57pFlk0ZaI3+1zZ3O
|
||||||
|
HfBbxI1rLrBoHR37M2UKsvzaA5UCnPtmPI6kAezfHWNCHxSJliNxg4XkYKo+qv3U4kCn1KoI+zqc
|
||||||
|
C3kGJRtYFOx+FSPZxU2DXa+rtQcW4QHSv9rE9ExFzFSUip4lCUJEOpH/vMEH3XBwUrldI60bRaZr
|
||||||
|
/awYMkMACqd62BOV//yr2T0lyIof7c25k4WzOJQ6xykxpR/t525Be8uBy8HF43QahToRZm6Asuqb
|
||||||
|
rBSTbRZrvJU29efE1P5szl+3Xp7/lWcW5pDZHJwSPRiPXQNyjeYVEEOwq+umpC4hcr2DFTSfy9a2
|
||||||
|
AUg6eeUoUSwyk9Bls8m8uIytnZT047I6aQVX8Ex3+AaGkiRf90XTe5U1Y2e9C5yXC41d+BNY86pT
|
||||||
|
0dYDsK4n2+DfVbXK3Q4ga0YjU96IcGxa1EetBikiHhGZqzFag5gs2eD2utcX6y+0vgRnMB5Buzru
|
||||||
|
bN8zg0rK17mviOtNajkCI58wArqCPzFlbHhKwSGQzGgm7oBQKwQzYEVn8mHjTD/adm2L3PjIsp4g
|
||||||
|
FlrAhkCGPEPKr0q++IulDBw1BCxymil+bmbNjBpHfaWUMO52Zs3pqmbLSg7myr+JWjYeyQKhYzGT
|
||||||
|
xMkVoOrGnkLGd1vIiaNq+KBVIOHxoa8ABsbIyWJFlUCuhmCdz7eAEePPyFgG5Fknx+XfPflm4XDT
|
||||||
|
BqlBTSLGCcwqlbru4cVw3FRqd2xOrw0KzE+siW7jQOA/IHqogdx7ij+0OiQloWml4W2j9wO6E0s8
|
||||||
|
ub+CLiKw4AzPNHSdBiBQrIrOlg4TtGjJGfHU78fBfwPTd+lTclCcaCZtjY+GF6ETEu7UNrHJh2yS
|
||||||
|
ZweYVQXJXSx2THPUI6kyeVBYrclacwCO/oZ9crBGi9Oymy3rNNyS7F90XGCslZAas4OxmpiuNFpF
|
||||||
|
fhVX8Ob3JQynDd7CxMKa0DMtfOKYWBu+vcJRmJdDctdJKEOJmR027W4OluZpFzNQBi8iWtvVtSoP
|
||||||
|
9a4jhGcn/tgphLjDjFBl3jkjjTPRKVZpzkj3ltVgHWXsg/uyMoFVngeLDwqQFjI4ed7rYfOhZQ+a
|
||||||
|
NeNFBQr0bM3q4OJRWfjKuDYPEmi+pnOvAVs5jF4n13eGx6OliduEbrz7Lbp7hJecami3VMLI/uSv
|
||||||
|
t2lNBEy0+kLKQEsvj67COjukD+Jxl5OOFlPSD1LYbRFFpWrlsyyYYbr2+Lfz9cFePZLuJMc/V/5K
|
||||||
|
vt0zbbvcwdhhKyZdOoK3rHui6QbRGfy+cCUKz2EJ/QJU2gF6ifZ6/fhAP44JoyMEg9bPh7Y0Y1bx
|
||||||
|
JNniKEuBkjXLb1GfPzSs3opciu5+otnbTVnyvgYO5y807eURiEd5JjsxX/f8HWkI1Nmd5eybtYf+
|
||||||
|
+UoeNPrPMIbvUUMMApu1UjOH50MrXAMzNfzjauKQV61rPi39XL+5UnsZQ1xO7mP0VtpSIr100wyv
|
||||||
|
/wkBNE1+njh7QrY+ZAEMoTgq1NvGydrcKjDZ5+Y3ZqhLJPiDl9y5ZTiVSEuhtYzvBACOMnyghdXB
|
||||||
|
G9bhIcVjk+VtGYhg4wAZ95p51FbLc3z2r3NxwLPuQXrIVcAIQVrPVB+wK8RzGbBzZo30+KWwzuQl
|
||||||
|
2nS3k3rCnyt6+gpdalkDfqu1c9QdABOw5h16/WHEcxIvrH+ndOijnJRsZS7jD9pIRpFu5wu8X0kx
|
||||||
|
oJM5agk4EUd6EnVteNeVNws9/hrDZHjCS0C1UybCNZqcKyu22rrLajt9akjUPs4YhTIdkU3ioBKB
|
||||||
|
t9UTvnwSYeOGQ9+Wk4ZLkdTFyGRkGNzN/fkXbeSZsSY5hrfe0Na6OWhkPwt2fs/X2Z17qwB6NYJz
|
||||||
|
7CyL468g2ijmyI9F0/gTt4g0VDy7odxy8NTl2lxVXog109KjRnLWmO/RDpZcO3Nrv0PfgDlH7R+g
|
||||||
|
+xGotI0ZGxXWNTLtgDepvQHELVGIFVF/iIU9L05+cD0PIlTbJGQZUx0iNubOKvUS9zfTHvLeGwnS
|
||||||
|
Byc971+SHruBXflKiSxJoXoSFn+ma7sSYLTIGjrcK7xVn6VnpLTdzYcXfwJEghRxkMNOieVfOuY8
|
||||||
|
iEaduFHU4Vy7YzEOTTtZTOSn0G+D+azfulT9Erw5BxnAckDY5n7MtDM74kgYbHLDJqMSxTtez2Ds
|
||||||
|
gwMys1iMauTNH3rJdDuTLSK6ZJyBVspANr8J+VchgHtkjcNbaYk9awNolbhlNxgrpKKFBAj+0sK4
|
||||||
|
w8xjh1SUfGmMm6aJZNENeiOFsUTx4Ebzv209LNUOt0X7H04+nxh/55P5dkqyWO52ebrq9hw86HTQ
|
||||||
|
EIh/ruWVqRumHzbauRNMaZ8ddPkM/Nc3Z5i8m+ypE9VIM+He3s9E1jBH8YzbSIIWybUyZoEob7XS
|
||||||
|
QAksGDsApBgPAAJ+TFxWneFALBS7bOwqaDC3RCoqfoR1gTcp2rM85Fbygug3zzkObA95hHI+AacE
|
||||||
|
mnhMvy95p40vUQxAJiiOOzn+NpjapkrSpOfdyyUDv55la3KnId6PoDBTdOKwu3bxbsnxixnfQPdN
|
||||||
|
3wtDqp+C7iGhoN9eNHsgRZEi0SvBvze6krU6RU9nVmt1WdjTvM692tBC/aWR7XlnoUibGHPgoJQ+
|
||||||
|
ct9ztd/M9oBgFwcLisQP+mk/O6JSyO4l2LenN94yo2aeaZUaZ3I0VnOxX1astCT93O625MDQerN0
|
||||||
|
v4uev6WtiBtU3BwS9YhVyW/O4kmNOstKar2De8xyE8VKEjk16sNkr0VY1zxv7CBr8C0V1jSFuLb9
|
||||||
|
JG5fS5qDdSgusTQGYbfW3e+9grjwlm0ZpL3Ji36C+oMxnTlTDqy6+3mMXRlCyLF9hKlPNbc4Yj74
|
||||||
|
7IYonLA3N9d5ReXt+FGuCOW88dLHa2tNo+ZGEejGNqzBoUCi15tJkW23aE2RiE3eNkFOpOgHg7Wu
|
||||||
|
zrrXyRCU0dzCX98P/JmrqYDfO6FuxlCG9fT5Xdcz7noCgnXitKxPW6uFU6NF9l/WwWxxZKtOmcvP
|
||||||
|
L9eW7v/CebF2ZR+V6bSS07GlTyowCNP6FA8HMdXs5kjzzag/1iyf96m0121L7QYW7W8HJUbytLO4
|
||||||
|
SEM9kFVCFZNUSxvwT+2LuUll+JRAoHN+vFVBl9RkwgHhqin+QAlMjJHxl334rGs3W2cfLM9EG0iX
|
||||||
|
Dm/+OLXi3YuEphE+711B3G7fQqqq6QwUD1ywS6SmTcNtj95yVYJLLwHRCsuEV4RVFiBMpG7+Raa3
|
||||||
|
rxGGzE50LVreWPJC7AMvQ3jgzBiuSUO35SseWnm7/T+tcQvaaOkI80oHiX+x4lVs+dnXa/rvXgJ4
|
||||||
|
VJZLOnY4HRq55RooFPixHS6pyBSmTdIFWive/SCle38BqyY2VqZIOdskg0M2pC1jyPbq5g7KXWPR
|
||||||
|
XOtLy1K88DJ5DA0f3jmF7qX4g0NQJxHbdPg4uQhMMbGlrh8mPDdNnYfVqZ54lkasyFhi/gvwhnqt
|
||||||
|
macdv3xfT3+ORfLD6isOhOkPC2QSjWhIO6RFh/ivOFVhin4xqfLTIkuEAWT+2CoepvqAHLRii2Zy
|
||||||
|
TQZ+NsxKGdInqdOejk7NnPx0lykCfURCePRCbj+WkpSB5uueI3anQm7fMVLvXWgfkajkl0qzW7e3
|
||||||
|
cEVih/Z3ltACqCvJdAjz5kfAk06Y0ml/WF8wDS0PQt0MmAuVqjTwA1EEo+CTLVGRIQOKDqniVgrm
|
||||||
|
d5JJq/Gyr8djO2V7CoFraPJTmWHHTIfu1G54xN3IKGTpQt0SMuwUt9g9ogFxwrvMiaQ8k62ThqWG
|
||||||
|
3qf7bx7fREGr+nNkJA0Oz8DX+hfJfmAIkD9I//ukokUfavyX6g3xXkjGScj8ijk2QX+ZbzTJg0EK
|
||||||
|
yvc5kSU5Zp+XslCgPm2BDt+ml5K1u4pKqc9stqJdQELFiU0HAwoNPt/7OmhWb90hAM1kM1MT6STA
|
||||||
|
ziphQoJTiUsJ0Ojvm0NuNBZFgFxmzZQoob2TftUh1zNrVVLZ7zByVTkRBzrw/vSkapHKu2tQdQHj
|
||||||
|
uReD8R5auwrbqs5nYuU0E4h0bG9nl1yA8EyvomAU2cQMvliyIre/CY6yzJk+CRqBIYt89xVz9gDU
|
||||||
|
znjZkFGz1NhMkfQz2tpdwZOXELmCSeU5bYT+ZfBR1TbTrSYf+6aVnRLbAF4SMdpGGhBNreEBneBZ
|
||||||
|
0zFKqhOs7kDqxiwyRMErLpqUNtOPa7QO+yQ4ZbQLJKs11CnZ6eITb16T1FIAFBJAQYw+WyvLyIs8
|
||||||
|
lNJQs5ZBG6DMOJig3YalTwzYzTmjwoHnAtc2ZhZWN8K0cWnDFsxkvHqadGZr18yX+0XOVuDCTYzy
|
||||||
|
O1bF7T1cvGpomOCqzaHH6KpHoGuw3gsNGDZ8zYQvCIgs0I9mLUWWeo+IKBIXwW/rqJHvaq6rezda
|
||||||
|
T1k4Dp28oBNKeJ0WVCCC/suoHXVvvd8yMWt2TiP4LvgJXIRG5tcqmhudyfwX0fOCHMABzucK8aMT
|
||||||
|
nr7de6mh5ZRDu6/CmvJRETUcx7CxzQ8p0pjaP6oI3ypzOSbDQzRidJ533hTWlM8M5kqZB/Ph2Sc+
|
||||||
|
dHAEIRUV/3M+YyFQ92x+d7c27/EfLFY61Y5SZX/aUoJNxmSPfj53uTVOcJ8xys20Htpo+EIXUJRz
|
||||||
|
BGM32z8ABlQFKjqIMDpqsff1uapat0BfKqLUG7osx21TSGCvJ94v3o4WnzNfh4hSeJsnf9S4JNf6
|
||||||
|
ffFtLt4aVSbaNEyj/kZhNLZWJCnIgU3rzwYayDH+D+u9P5U48+qMGDbHS8CX1Wwd/h2TERofbboB
|
||||||
|
E6zsHKWJ3pd1wyiV3t1VY5SeNTtCGUmLSrlI+4RWbskY0TCRcrI2ifrKySxzWBxux0kFyI+z64vc
|
||||||
|
zCpbjx0r0qyhH+uSllbyHCNSEuVwJWXDj4dPLNHIcQWTHxm9HDkmWVAtguXLH3cZ2BqIHb6U0du8
|
||||||
|
p5rLBNDWR26KMbsTJaKxR7mAPumNu9OViny7piudkvECiCWRakQHfnsgD3LpPu7kKWiBDE7rtQOe
|
||||||
|
0D3bKwJauCWQTT0Zk1nsj36AQf1QIpLpbG14zVEqUeXiweowm4+7Cpfhhn7LBhHtLML6ZTo11dHt
|
||||||
|
IgtlZlpqgT+SNYZExkx9kkk1tDemtIcJW6UjT0tFmgqlmdcLMzI1I/BgYep4DI+z3uMadTtXK2Ru
|
||||||
|
zTFWY0Rz9rX0Kni+jM0ZerutzJ1/FwuYa9e8uQncvKunYT0Q012V+bhLra95CPGb3vy3nxOJjogX
|
||||||
|
q0C5i1PWwjSr2gLvqMkK9Wr8Og7aLL9DXIC6gxLhbCTEk+u/US3in4MVCTIbUlC5oDBs+mZv8sH4
|
||||||
|
Lkfcj1QZw/u3KHroILWwtLmpTApuBRRSGdgGN4spoQoY7JU3yJiXERhFMknurycUxpw/L/HTyAum
|
||||||
|
fBL1JvjQyb/riB/5SjCs6Z+yFOgDRG0LbqMTjCNRz4vNZ2aam1P12txv4+uB5Jve4s2XJ4N0pxKO
|
||||||
|
zzRO50pw+LasBSnVlf1guDFP7C+oRLUUAMH184hK0WDPPn8jTcnBI3ww5Fn7vqiVFF9KFpGszWiE
|
||||||
|
TsZTuuHuOlqBwWHoE8ecFtSApPsqAHQ5VPXMkltB1o5tG6MZDZcgCzx+dbr+Jl9SSSv13ItuQydU
|
||||||
|
Dd6dcbtOrvxABGfw95d//5Cj3KgtAUQIq+967Soggdcn1mmzvTSwMK6x2mXQOLmUnkvyhsr5gFwc
|
||||||
|
XTFh8fYQ/UtOo4drJiESo4du2yJBgDGBWnT5NMOwQva6DgfG4XG9pFVBCsTPhEK/RhvMzHj9GZMg
|
||||||
|
YDlmw1K4xGL4dZbJuakVW8Lh8X4D2L44l0BhvZHSDJ82+FvjKpBTtwMZItBFTnqLtSi1AEAUDWxs
|
||||||
|
dgw/+Zu/RiC17OJLtxhWxNQUsp79m50zATX/+EeEqESH4Sg+r+1hM7+PcLn5Sbk+EMQrKenaMFVi
|
||||||
|
2oxrdEdQCCRplhPXVRwK85l0uobAGURDcsmb57K9VZ+l6bsxcbB98514JUwjkH2NlHMA65TnwQKY
|
||||||
|
Eal5EWKC6V4lLPImV4Iwq1hiigo3AP1Sxz9FPg80tZ+rjRAoX99pvTFcQvSgPAtgSPpa4MyTpgHb
|
||||||
|
18lS3ZsdF2H5gNa4gxmvvtthz1nHybEk0FZoPcpQcQ9Kz0d3fx5diKwEWEyEp3s7Es9VIqr5EG3l
|
||||||
|
VkhU7P3NgvHcF3Cq446khP9V0WtcC/BgkmRLNc4pDipLC5G/rlzPv5XQ6VlxnGIICf8tUl+9B53O
|
||||||
|
zD4Wr/yPJ1NkfqN5kB3DS3vNkeq+u7zu0VwFmMlVuyiwvN1X4lLnJIhFKP0pU6hY3UITWXxASl1s
|
||||||
|
dzeIMu33lE3Su/YzgX//yiwWLy0NV/IqF9T83CQtNizZ1QeUkipyx5h67cKSZ9pZcaabUslk99nL
|
||||||
|
kTLZ7ftvWX/2KEjyzZB/3TA/H+AJSH7f1fEk7qiIKbL7+mOgJSIXWUQGsLDm8gwcp/WFqRvwCFQo
|
||||||
|
FNiWzMzBF0jbmKyvn9bfEDJxzaIF0Ghzvkqbxrx3FSMKsfrXOGfWKhLhlYXdDP7NAR1btLiGrAll
|
||||||
|
RdABxoGdjbNtzfewHhKOJ/xdbbnS7BdIWd+efmvag3TXue5+itp2+/vet9XFhjm0dCMyJjQEMxnm
|
||||||
|
K3MLuPtpm1c4fDJyt5xdAGHWgLVWp9ES44Ax4p3RkyJKmuhQAo0aF6bgxKkz3LAWD4aH9ZwjqbPD
|
||||||
|
+JF3oVDkZBn/Na08ILVUwpuuKjJQCdQNpNgfmgYi9pjQyt+z1KS4Qt9KMUJUCDgSqDb157thr0mx
|
||||||
|
Wm7zkJ4O5lCQ/AQ1l+mEXaEKPvMz4+i59vRy57E37QFfnATIltj/6P1VgD4FtWnS0bpYJtonB1Be
|
||||||
|
RZXhkw3hXX/PcA2wYOPsK0LKIWit1BY8jvlI6BHSGvqRhIGDL+UKO3vVBBjnWgf1VEOzuJf+k7Qd
|
||||||
|
Ro8vjhTpWY/fK8qGU72ToUL8CFoszR5B35hf6W3geb7/PUcv5mbfg15LUPVO3nbMzkumGnJWuIEo
|
||||||
|
KWqM1CcuOExRNxnrmhr1q6i6Bs1S4JRti3CrxqFlEo0xMTe3bzHqNp/WpDTv38AsZ4siAEvU8AZM
|
||||||
|
D9wENS134LiCSw+ldvJO51T3cJTIXPt13Hk0KY09EhsuuQF4gVd3TBCld7uPvHKfyotun1nJ6pf4
|
||||||
|
lrg9xfLyID4u0fMZmIgu46cep7nqsuLaW3BGVnoucdG6HfiSLmaTkX9MkVEjpf6nf/7l3BxxsumB
|
||||||
|
I51/PNT5Oa5YyRb6RbyhA0rxpfc9p6daNp5PqKttbS7U7RiMeywTrtgRMQeIk7sAqBC3hl0rRGek
|
||||||
|
hkizDACt8Ifo8/T4llP2CkuqNQnW7TxU/apdIy0SWlu0cIR6L21KIpMM5E8n+M1RKb6vHOuz/1uZ
|
||||||
|
xpmXcfToi+es6U50r1W/RjIvjwh5NvVChmJHcCPzTc4gUFn2shIgzAttCSV1WWJBXW6G5TS4WZX3
|
||||||
|
xG+cr9DESt+MVdTIYCkziai63GtUGFNXgqSwHJ8JnneJOoJDrTaSCn9iPlvk3IBNZ5cZo8KfMqus
|
||||||
|
V+lm4IQAn5i56bpBWdYK19zae81G567/lela13TUtzlf18TvGrH2N332wR+ZeYA5mDkTJXY1Ph9o
|
||||||
|
H1r4jcVS+wRx+kcM/vPwfi4FLt66UZ6MW1XcNBPlefiDIjftXWJpcNU80C6+0EXwJcqan1LsEv2Y
|
||||||
|
NZQmnVAqydux8LchKL8LjWBj2/iXH9kokWbXQ78iJIGvw3OjXtXS7mvn6yPmEKfMRhH5j7A+Kas2
|
||||||
|
xOJ9T7QXwr4A778eZcqVXwQ55C1WKN4ZXU+WdkKh1LIKcYb1vINZHp5b5lYl4O1hXA4IzTzYxYnV
|
||||||
|
x0lqfWTha0xsOm+LqLPifHbkgEyuAA0lNXcGT+mQoSBxO7XyHIzWgUEctVm75T76Y3M06DCe9bAw
|
||||||
|
hRRBJhVC7mUSZv5iNTzp70C/QofUL9vUt2JIZsOTzrVtCBwu5xz/bcEvxEmmoUnyEmnllUB/ZELE
|
||||||
|
RZU8+N90FfxWeqnTcjTK0OZ1criIpM9RcyaY1eOg/dk7rB3zQf2dqABj3MZL1I6RymwYWnZVRSgj
|
||||||
|
516m60pfyqTHXdpmIf5bq0z3oNJeO3cxLVqOnyO7M1AAyNQwj/exfnu/S5sRUEpzKkSJZZXQIwpr
|
||||||
|
cUEgEDD6ast1A9IGyRMXrg5YN+3XrfZDc6jK8ooZwdDKMwexAemyfCjOGzxl66k0Pr7+p1J/YXg8
|
||||||
|
clZduCSMkXASjboZ0u8Eo7dCgeG2jZMzK1D6J3Lp8aawTnZvLxzVEnIlR9dvECu8W+8qiHvklCNP
|
||||||
|
O8mLP0aC2gNl3uOYdgRijy0WA8yrMGh/vLT1S8wkM5I3PEPK69rWMMjKS9C7a71/AtzGcCKH4msb
|
||||||
|
SEqdGfSue2MNYNbBlYQsoREi4kthLXgAPazCg8BCupAR9D1apAw/2FTSV4R7L9ZRdow0NGh35LoC
|
||||||
|
TvYMQvGx8LxFqA/L73bt+77hFaHM0uHA4/VpJwjIjcQQb/Aam7n3hdTI3fsRh/a3mrNTTWIUr1Zo
|
||||||
|
OWsPiF8reKPLteiNa8zAfO55yz3GQ8eSMJQTbrZPAt1HP0qCkvA3grWH1LlZ/PBzWdtDGXQ2en+d
|
||||||
|
BX4SeDxAqXl6VNYZkEn0XpbTSN4Rmv8Lmvj7Lm6mkc7R1tyJaM6tOCcUZ3ZJYhlRpjR4ovA5Hcfq
|
||||||
|
8MPTH7aGKlA44aatIhAK7h8jiNE4PbReTuycS4K0cgpUehBKx6YXibPMBmCgtLVWowke+MJ325Sc
|
||||||
|
C4ls4Yd+xaU9/aovkp0DUd3ppox5lYorVaQoUKuyw8MZosRixdJ45svSPqvisUZUE/JfLo4Yye7b
|
||||||
|
Z0y+jYDZmYmHJIWyQXSbonpbJcQULJSGzWPmchVU5dky5qd13XLl90h7ostQRVohUE7Mel2eLtzw
|
||||||
|
wxbGL830qOm/9qBbdV49KRVukiqjdpbq1sm1wKR/MXYs/GCawxKO4KPTvTp753sUVxfXE4BOsrTj
|
||||||
|
iaSbYosmhgBJRcqD4sjCjDSJ0TBaINGif1ROPvQVgwk/lhwI9dVktRdjyiYp5yH1Rl2+hNXLMoOe
|
||||||
|
iiSuOtwMc6/P7vRXGhLxK23mZnV/nIjJoQXjMdQhhbvRjDx/sIrPVmzQ7IwEHZphTes12y7t5/ku
|
||||||
|
XHfl4wNFt3qLSgeZLk067hRw/8laD+j7FN0eKyjaLb0GPx0EcgCU17qOCsY0gbzjWA5fNHhrhhC2
|
||||||
|
N+SAFvi+2bbujhy4wxa/AchAyQ//Ld7cSFUxHR1IObFMhDnpJxV/Z4FOyBPHwMoCgoTtvpKhAUGM
|
||||||
|
z8so041Hk2bCsGR62qCVyjDcaoVz87a8Sd4WIzqTrN3D5edpPvxeQLiUbWR7E9oDWJE6l6+PzRpw
|
||||||
|
l+ekmjQetosZrR7XSoGssgGYnz7xD0yHTmlYXEUqa48my8ou5kfmTRcOJNfKylcJl1uuBIUXXN0R
|
||||||
|
7Q6PC2tbHzfDofNNLrmeeHpg9wJe+ZhHq82NCDgz5sV13xyLNdcWA6n6mW8tDvWEuDAe+0QNcCWx
|
||||||
|
ZI7ZgvzWH1//w15uT/IPk543bqbgiPYALaGC5gehelPH2v7IoUYFJnRMtevN69k6Omk0Tl7aMqji
|
||||||
|
z5Z9JTBupnAhd72xkVaVFvPETab68nWp4gL7eIhiWKrQKbW+FVY4CrM2xuQupPhdRdEzPmr9lI1g
|
||||||
|
ihaacu9NDQJgvJ5pKMxV5nX/5Lk49EIgsG8NJSIghD6AbWINu1PL5EdbSaWthvgMjpUBt2SBRYBG
|
||||||
|
iyy3wer2DxjakiRWlvUJRUaOw5Um5876Eibm/0Jlerx7ETAUwbeV3Z7g/feGAZHDpyL2mLT+pIxc
|
||||||
|
0jI/BdkllhQYuECT8mbxsKYaRKUkJ/Zs7gtHBT49ufWJUyUshsOZwDUMnrugSecPhKnoj6LUhaIX
|
||||||
|
nIulv7Ys038Hqu9gXn2al8SuB3whNiwkzs++pKrYlvil3jxiPYbC8OFpPrqJtBKG1rQ2oBXTFlgn
|
||||||
|
uYBVvxRu1ICjrRXll9QO83nZss8lGx3q8eUZWawxYp0C8njiRH01BqJJC0TRRG+UTbM0ecaevmlG
|
||||||
|
ihU6GWvUSG90Z5uvJ63MROD6a9ON+Gq4XFC+96xEtjit6tYhOCWc8YUdG2E06d40thh5YOvsy5zp
|
||||||
|
XGzvhY3oMdX/rsxP2UtVOPxd6h0jM22IaiLpHOZ47iB/HlDCOv3XvXk8QB9iPouqio9D3nNcUDKo
|
||||||
|
y8GRo4pretCrKPRPP5gpHmc0dkNRZlG3Sh1A+ZlMaGVN4NN9nNaRjPJPD3Fz2/SccLw04+eQKu9G
|
||||||
|
ikFxBo6TQvf9Iap+p5YJwDnDMzMoYqiyJCeq1FZjTb2++8bmiZqrpWvxcFyyC0volgGDH07CJMJ6
|
||||||
|
4GbnvNUYdjg1ZnKKznQe2fVQkR7+8Nnm/W/exvI6CDVo0hRgDRmnXrTFHxHZ/M5gfp91HyR557w9
|
||||||
|
LbxkYFqNZy2It0R0c2kawpw5obQLtSD4OCtZGTpCAVQ5o/1DTfK0jlnQYsk+obgnoiuQvbZTxl7P
|
||||||
|
/JBQA8dtPtCknmHiKXPH+4LFohSe7ZdH1ckfq/6cPyLD5qWFeeuzGuAXieu8Rsc6TRc/6tkpHmxu
|
||||||
|
+5VjdO6Na9u5pJ+9AOv4U1kfCTSK+41r40YXOh/Sxw2FbOtY6hA3EfotdCc51HoiFNJDuX7BVpgI
|
||||||
|
4xCN58Gv47nh1Af/2dV20QBiZqlxZvAa1BgoIeqYGy9JhY41tImDCJCibHwavfz3PxtfEJDF9YkH
|
||||||
|
AWR3iv5kLtu32N/0hun39uvYaQfL7SVJDVhGQRTgy7g6fGHjJqjf7L2mdtfkZAUp2rtQUOMLDXtd
|
||||||
|
9dPSUfopKJU8ZSIBO6FbcV/3NutqrDZn/FLT7CVpQPdXWFCckBgRTz/fu64lHeEKaePIU+t6gfJC
|
||||||
|
noYyKshEtoBvIdKKlo7LCrZFmm8s9zvFraKrNrZvGhcJXHrgRPTnQj7tZdYG1t7jtD6qw21WGl4w
|
||||||
|
77WIG1rL1e/etTaDo8OQ5wwbNM6XTy1sYxL+xneuF8ioqq+Zm3wvWE0Ttgddh2vtqQ4nFR/w5qTk
|
||||||
|
h1oIXkVJhEFL1drgyKnDB2zZZDXxlXZP+Dv3J6ao7RQISr+w60R3CKeskrsPdRFB73XSfFLj9t0M
|
||||||
|
D8EA+XXLMFgmcqce76H8CBJQeF18diCfXFDZ3ovIhfwfpyEJU0qlnMoo/pD5eCA/8kQ+0BGPB8A5
|
||||||
|
hgyqx+oMHAWsg08ETVBoKczCvqpAnUiG87uOw7R3ThQXPJNpfXiYfB8P0wthT6IXVxAG+85Xbt49
|
||||||
|
tGM1a9Tp4hP+0uKAnLOkndxPhWoG7XKDetT9PHETo020+MqJBX27+yqqCReF9hOMv9Vrjf2V7La/
|
||||||
|
8SdIXP8bR3gYunMuhzAGTWlrwU6jMED3KjWSgLkEl/Qehovu0NTehFJ9ge7OKXSqoPn7ioK16BkT
|
||||||
|
D48hmNrQ83i0CkS22jrEw3iL1ywueWKwWr/uGRPx+6QAJUAe53De9xoVwojV4gwYfQNdKeHXFj7a
|
||||||
|
VfYVPhWF2BIYdF7xJA+d2cp6sm4OMkbM0MGRNrDa82UD5mYIJznuBHW4LtBvWtcmn3RsLH1bpW8M
|
||||||
|
Hx0pHcgl0wmvrKV04MxvyW0Z56TdbB7gRZuEELlaeeMURK0uCQgx4guCUw1iWM1NiIaZShiCC2dl
|
||||||
|
i/bcX0SER0jSwNWkny2l/qh4Ym1/T1Ow3lKTz2AFZq0JNUOiglyXyjpKVnNdye31l6donlDaEUad
|
||||||
|
745SJez+Au+1EbYrTndC6DFLvSQpXR+/Nv8ArXZhavp+bH8tBf4ecdPXEdBIADJcngOaoNQyAoBw
|
||||||
|
KcDWpuhu5zWJ2lFAIyCU0aHkBRHocnkpijtZCHowDZku+HxJquIwNRZPg79kSDqaDmXPuGAZ75pw
|
||||||
|
ay7gpWGqL+xG5qm8szMOwgsERUXCw3gJHxqi5/66EVeXHZ3bTrazFEsFQNuw9cL5/ce8Wtdo44C9
|
||||||
|
lSlkkDxXQpRGxCEthkVEdhAu6BmLLpO9v/rddtcJe0saYgplFUdbLBdpOgTs/Nrkgt4ud0gT46WU
|
||||||
|
9RPpBVemEpAqQ7fOMkZYDuBi4fV461tNVjqWPRfIItyFSmzm0EwMVXDeaOU0liop7h+GxppHhI3h
|
||||||
|
CvQ2m/zRkXrjCCQULbr5+86BfM3B5X9vOdAHuRjokLizgQZ2vuzfLMgsRF7N5hoi6vmKTd+DqVPv
|
||||||
|
fPO5rmQnTHRIaeTPmJtgRgcEpfN05L1bdjFNzgDHKjJfvaeoIMmkfw7F/9GkTNxy5yjMNPgHlzft
|
||||||
|
GmzeJqxNYgG9py98a/VR7KB9IATW9emVqLRPdtQWfuoIbZtC8z2SaDQW7X+kicu24qKXLc7v4tBP
|
||||||
|
uqtkvFbZ4ukzGzii66q3fQjeow9vxtsaLoyeDgBWGt5KUt3/+nzXriGcXrAElThBmF2fHB6cigHh
|
||||||
|
/esQNxPh9+qelWwrVd97AmC4SEW8FxTqI6cEJmTTaGLqwJi9068exHVnhRbeObj49yBHZfgO86ZA
|
||||||
|
o0JeZfBM2AjOQ5cGJnoYTjXZPx7DiimGdoMSmuNrvTObu90V33Ws9zBH4qmAdsuYIZKJUJaJWvUu
|
||||||
|
7YGDHFhTqYTFFppt9JW26f8G5X6B+cmlkRZxu0WIbBk9mJDhgqT2sys6xgcugOaDvFW2/satgDjC
|
||||||
|
uelZiEeDn3Y1F9bP0nbTplrGc3ICoDCwf4uH3uD+ByJ/hXXRPjbsnFjzJA8d6Ycs3jD9Fn0ummLH
|
||||||
|
2aQ796PIVqyObT7XhGEFBJjXgAVm3v9US06M6BpXTi3alkrmJEiFQnIyv9YMN42dZdxFZ1ECDM1T
|
||||||
|
vApFuta+QESNLK62VnbeUTTCSFUhZJ3oCPM9R9AK+/A/z4xpBXAcCr3TaXoA+ZdW+qdSeIMXGcRw
|
||||||
|
dd79gZmoDescTLKOwpkysi6wApPkRCmFDxOvi3aGhLfR26ecaMy0QaUzfiepYolP7HSwmFv8vFQD
|
||||||
|
MJhBk10mAsplO0sQN35a6qKm/yRldv/L+eH+loZa1WNbxx+g1o/42PMpG1W89LzPwgxekyxmYoDm
|
||||||
|
4odKbTKk6BXvAnFI+ZjCfuZya0b+dAh7gVnsNhmOzwBUK2dngAnyaVB2u7zZBS+Lwd96v2Jtb8Kd
|
||||||
|
yNEAJSBiRPZe+MW4UAtagGatFvK1v28TtoZa4QBtmUd1lEl+oGvDy1U7YZRj36hh78ar3+N39FoG
|
||||||
|
kD1EIaXaH+dEUL4uvQTPFl/pByTK7iQZRsH9bMA8D49a171dVhofoz1NsomoK8R2pNucpYz2IGAB
|
||||||
|
ljZROAYLtwHIBfwF65tWL3+mhwWwXz9/FyKhieAgqor+wtsSVm8E2IARTPFtmr+CWxIL/tv/W+fQ
|
||||||
|
DnOYBxkezIZGrlbFZvrC1S8LR4v6t3+kwBrgEOhD6B2hIQUtPNgec30QJPNwnYFnL1YNQwQVB1ZG
|
||||||
|
XMYJNFB2hg3muuzU5w6u6/iRUftXyS2Tig4QPmt7J8/+Icpc4/2N7dWh7jJIf3UjxPrOfyLiMZvv
|
||||||
|
CnAO57Ul+odBXsKzu+Fw4JWVyHGyI4Gfha36Mt83ChsDaBpsfM+dlbsqYWuuOzVYdcrC/qjyXwQs
|
||||||
|
xs5Ife509fbvVwQ+SWt7dNV//3bhgvgBUVSD/0VUH4e24CEQ9jY6fCk8o6Sv1lyPPNIkjaDMO0X+
|
||||||
|
UirFG/RRRkIowitsuItAcY2REyM0w+lOs6iT1f3v+hBfhHUxLGZB8aqO8MY0QuO6vQmXrT3EVs5A
|
||||||
|
N9ouvqPTpZ8G+z1WaqRNip+WBI4d6XjsQHLg9nQb3DHj0ZMdkjMd1D+lVlrMOKM5qejDyXyLmq/q
|
||||||
|
ymzdN6CrAO2E/Gh0N232B1o2hEZnzNuycDbYl32ZXJhiR0NgPEKl0wgVZO8yEjmFMCw8z8JuVikk
|
||||||
|
u755GNGtfqje0YOEx85z93IqkJpfyZT4umLR9BxliCOIpdeaPC32Hf7uF65MuKz1N9qtJHRg4mqe
|
||||||
|
5o+kS89IaR+TPvNsbc12aGc2H/+RrViSGjY/dFxiRfgO3EowcR4sfVGjhRgSE5p1fuRoV6f5Egc2
|
||||||
|
45r3yPXnoYTuI2mlUqt+BBNpf/rHsFf98qtEjLaLC7JS4ytFl5Za5s82v8DNMiVsVuHp7FIw2xM1
|
||||||
|
DWAlS8z2lIdC/hc1B/Yk4OLkkBEbOoXFS8c6PnMHKAM1t2MRoR44PNWCI041rUFUqpYEV9x67e8u
|
||||||
|
NKfVHJGgKxpDx8sDlu58xwAigWfVMckzbGg/lPx/k5wIe6arJhiML1c8ylxuiDPko6hz/ZNlGkZ6
|
||||||
|
sVeM+HxsVHNZKOVs42O53rZtUKZwriQDUV3hZ9Tj3pAXmpdAUt0J8r5hnuh4IkgjrhlOQBJO5EW3
|
||||||
|
Se53JKC67ShCbYfRcii0cjiVFHsHL+cikZDwEl43xG4N4leKLJXrmMcBZc9XgkTUAbbkMtzCvXoJ
|
||||||
|
Wd/3ygOKUppPvdcO3SJcdQFX/aMqTPniW7JVU/Z0XBQSQ3Q/N+SztEfHYoaC+OY3bn+lDhNG3TmY
|
||||||
|
pY+k4r0ZbLkkyuAFBtsdubdT5vI+QGhM5ZD19FgvFuVz8MJFpwTZWBBP1FAUUzHCgPKDZaUZ9/7S
|
||||||
|
Id67cqEH5nm3xqYLVfeLne+wOKf6a16vRaUrwHuNyN9bX0UURcegpE6fMJ9lnbSejM/mUsUfche9
|
||||||
|
3PYgJkASi3OkhSYa0M1IgL6VXgEOkoFCWfIiX4hgsUt6DLlMmd3OjxNmuodmgkzrnwrAdZ68sBKu
|
||||||
|
mRQaoqBAvNWRqCJulwcwUewWmSKLJ5cTMI6eFx+eRNPmqzUwkHw3FB8fG0AUC0H1/vpdDVyIp6Jg
|
||||||
|
g/nXcfrKnB5OwQATMGFPJjV7CdaTcRhwfnjPyOdyAaQrm4JSun4HqiFWS+IxljZLw5DWbDUGfrCQ
|
||||||
|
ZlVjc4NooE4KyMVnaOFg9MMmbvqa05PCDrZIx4yrjiGVCeFqx81u5cCRuDbUfNCzU4po9ZeCRByJ
|
||||||
|
QHIdeu0LkgInvFtRGoWO8j+M9fQtJR2NEvMg5K8/v+yH6cBaKvK5F25PFblkvYZDPaawtnFkLdPE
|
||||||
|
9xF0py396wytTtbkrg1ge1OaQ5jHS1mkAigDJmjJttUeGJjs4WqVZSRKKoNW0ytEE2neZQ5iJdBb
|
||||||
|
IlQmY8GXVfe/e4Vv/F0HIZOboGECEtN+cEynK4aHdk5YbfyKl47/nidha8Z6XaqQjC+hf9+JlnRm
|
||||||
|
FY0L+zmFiVGQ5UynDWqs+5SWCWMhpPgn3SWbqOAe9Ma5D0htmvpJhFBMhMJaiiko28DoKPAyzI06
|
||||||
|
JB9d0oXJrbDVSlLFnpyhVESo/xohoZCMMoimuqzF2lVIHny0U5SpkF9BoLXwEcL26OaKEDKQXOEI
|
||||||
|
RAw1GxIwYhjsbxKknlCGYPj2GjzS60PELvjzNSmP/+DuFpDpYJcEqBgelQJcXH6XvSACvRChYN04
|
||||||
|
N3MXsEYJl/oEZe/OmanbcnYvuDbCMvL6EF4rC0C2hua//8Vg+1nXNTY8QdsFS0iZd3wfcLGdMZAJ
|
||||||
|
6Ikq4MQVJaL1GWouzv+2hjK68NCxHwj/n8jPVWjhPt5IGVrki563afAOk2fi9o0gUH0OctZiri81
|
||||||
|
5CH1OuTaRSa0SbhIUbhT2DAtSZ1YidXgOJG4YoLG5SnI8mZ0fYMGpG4ZjzIOC5Gu8Y013ULh3ov3
|
||||||
|
P1iAy28+mm2TRxD7xMCO87oO/WJaOI4N6eW2MyyuobeDVPCcnaLn03x5QUOevWqmqpZcvWO5B2HZ
|
||||||
|
6yt7XxcPZpqDuX6HE/K39fC/Vqa2emUpk9CIYpyJ3PiVF4/Ktk0NAzBQUCrPFL4Pq85YhEPQK16G
|
||||||
|
3IQERbXbIgZ8amL93Mx30MIMCYidERJUT9Vh1jh9M7CQ3nyPVhh6YCGfMDw/GiIpBE0PU/Xbj2pp
|
||||||
|
m/TyarrceE3D2b/zYAUHAtb0/aQf1/AWiuj+0FQF8onVp6SurbYWZLYXSFWDzMpKCvwzwuY5Vqr/
|
||||||
|
fubc0c8OfJoQvpSXVfMRozew8SAvqZmEDScEZENcpBch9OAYoJ+fLlAWuAqoHLdpIS1hJo/nCFpz
|
||||||
|
BTrYg6kF5LR0CHqFZQ0Rjul/nGERdT3WmhBlF63a4LHv0Dz7bKHwmrMpdUxDFGC8/PD6o9G79ACT
|
||||||
|
ikr5GXAxw4zXFx5F3iC90WFJCY3KxpYwdsSrIEbnMNp9dqTC5EPpv42HAiwwbChSQfkXRyF/faq6
|
||||||
|
C7IUxYrUYn/Jjpq5KhvBcOn0QK1+9Ud4UuUPxuwBToQTmKshz3ntvHXFYB29N/xpJENf2/DpGQos
|
||||||
|
P85xjN/TmEaPvWdCZotaby3OwNsTT9b8JaOu/dctr8L2kUE4JhJkzmaTU0z/kvZ/uNhFwv6QNHd6
|
||||||
|
pXq47uY+68nUgptwaxXm9KGbuT80LwY8L8Nc1MUw24T4TXxeYxDGIGqGEJZwjnHAI/KXVNLqU/BX
|
||||||
|
hzkhU4qxgyKDWYrIoYr+1TtqSeCKNgvEhaEjffOvudUNPnlMrnH0NwHuYIZIZd5GeVHMWSHspZwy
|
||||||
|
D4vvOQ51QPKp3DxGdz3lgr767puydOwASJv3vY82qJevSmeTLB8bmKMLebqdtusi+rP+4uQm5OZ/
|
||||||
|
QInkPlfgNBUo65nWjjMMZ0h7+zFgJbEhDV3RCAew72ZQTjafui8LSa9EiJSSmGnEml+8i749P2dS
|
||||||
|
GAk8Ql9ML1Rsbb+mLrGcAJnogt+aHvYqr4AI+Glmr5vq5EgzCLgkSCyVdjKUNXhxjGQECABD6ywn
|
||||||
|
DyYCW327sC1q7vAQG9lhJrqoBbm9gZdsOVAQzLvcZmoOhMxfxWqBw1czCR8veJjCwh+wzbdfuCl7
|
||||||
|
wDYVQWGCpjIkNle8ljiGSikuzFLWqqtBUUMaUc7wzWkfB6yy2zNqH9tq6QT11FZAEJdeEm9ZVAv6
|
||||||
|
Y8yfn2w4lXy6fSVBHChFirrg4z4bDjZR1XmejsihpoEJPMq21j7aUfUGLULnx+nOyH/b1EBBvW4y
|
||||||
|
lUxwvSVZcJaIVi72zY0ANetm/M+yU3wZAeugKYZkOe25BwbS+XMIxi8LFTFxJcxPrFc4pZ0qyvr6
|
||||||
|
lmu90fkJlCVVToO5jafaQ9lEiROeH29zh/xfpShpfGUbgFRyrD1yu+pXdzuNvqBd37fkztr8tvf7
|
||||||
|
0y4rOJbhHBYVrTt5gqFM9Ly4NguAUw6lh5BwIpuKqyk/j3ogEm+iuEQpBW7uHCDWweM7nuGWr7kF
|
||||||
|
n+mCvTG4YQv5L2EkwZAMGLR51CPOVDg36uujsUETgNTM/xFj92m0KfIG9AHp/wE57FwnDn/ez/E4
|
||||||
|
/RJAlZO3UsRtMDt4Lsp92x2i1RLb4hQlSNNMx1nLtNSMxEPvONEtqE4ZPSw4rIaQBC8KV6kSNlPb
|
||||||
|
vi93n+IuIboPjIG7ddMwqIxBHx0E3F24HpASIC/n1KgDJn8AGtASKMC6oRCYexWOABvAnm40QlLw
|
||||||
|
s6IIu1bVlIXPNGA0msbIBz+NdjQo1L3uxbdPZMU+uwRw4fyN1WpnltI9GTaHpLUhJGL8Zl1TAHHa
|
||||||
|
XfYPCoreRoKtYKMvu8ra+CgwHjn0JHmWgme0phlK2b8q3f0DRZhOYepgNAnCJpRF3mqP473aSDHC
|
||||||
|
+ISXS7Q3C7psCr3/6/Xl6GwKR2KALw8lQqsyYxHdTHrfqVCF5fiGBRIJG1btJ5CchPL4RSweHgYa
|
||||||
|
7Ubv3LkuVQC8E5FXKByzBE9VjwIeHyDhM6HWpwCbvdo19yaMItNFUax7RHI55dLV/ZKDKa64JMdC
|
||||||
|
LbgIxBm/jXwbDr5jrrvs2VBatephc3vIfJLE20ygcVDG50/sXBbNJWVjV6HeamnO1nNoxQR9IqRr
|
||||||
|
R3F7HFaFrjeDgIR9JLVRpMFm23VnzfboXpa4YNtafOZ/msbktiEtytJs5J4PD00UMdHncna8hS5G
|
||||||
|
l/vlbVintmORWNslgpMM8GCEoYVNyfiZSf15Ma6yT8+GedkS39UNnX94ttNSonLsQ9tupRGhb0yR
|
||||||
|
JrDYgyvHF9Bi6YVLprw8lw7pfjEN+vPRj8aBVLLxf6xv8VgIM2O3vRMmlQJgXKxyEyPTEf2anXLx
|
||||||
|
qwberkDvXXyyD4GuAzB2+2PW2JQl+CaWViwlY1qdpMZH2i1xvsFyFi8qvTEUXjSNHqh9JPfxdRaY
|
||||||
|
Wi9zc0RFlEgkqVcQItFSxQIyVjKDzXJts8uCnX0OC2st3W6YexVwfqbawGOTCwbBz4Q7RRRPIUnJ
|
||||||
|
HPBaBVhzRAoDmYvtPmfAjxH7nEreHAI0VKz3iUC83qpfG6qLPqQp1PJhaZhqQe7YajMhLhz9Ou4L
|
||||||
|
JuZP/rblbXfUZ4Nsm1We8DmTtfsMWFYbkBJE+eLIWnco7I72EO5JcY/DdsKpDE8HCP/gSYPfuqMU
|
||||||
|
9n/xelfrCl2Fj+vyZwyQ+tbyNJ5vwbgxvxCgCBrKyHs4OtwrWi+yxJxWEHSVaRcdBFSCzePh8FgQ
|
||||||
|
Q7/FspYNrempu7fgLcPz4B0lsyhCo40vOTgkjU/gyBphYDOVBWw+FhPSoMW8UFRy76fecbVPqHT8
|
||||||
|
Q5zLUyeAADMFRsvAwfRTPLNm8EbTIKUrV8KfyOSSXfK1iBTT2PvYT30Ke8GSmvObX8OE9stQCi5O
|
||||||
|
zfuOgJ4xt0EajMDeTE69qq5SV2lFmu+2UI5/PPsPt3/a9ZHv88rdmBnlr9d8yKcEK3RnfVx3yw8L
|
||||||
|
RMTuojDEkJ+X8N63Vh67gCOPh/DOqSxw6IJLQW7gkBYbOdmzrrZMnDdQbK3cySbbP8vAu+BWr1oO
|
||||||
|
8kLStByR3GXljWtEvWTO3PiA+INxzf6gZURWBEtnqBxqp3NpNUPL2rmpQhgWI4Tw27nfR//fgbg1
|
||||||
|
rbJy8y9gjDGrzseZT7oB08WxEzkQDBJzs+kG8t+xJmP5ZI2yPjcOvzWLFyfvCys8LGeq/IaxJi6v
|
||||||
|
xUrurK5KmPLN78jPxgVA5qA73CJQ9k90sd2DVU0BxQWWlwzoMsoi70u5lj1PxjPRqmAoxm/pT39V
|
||||||
|
rSe0ikkuQt4GKusIuVgwMl8uRcitZKuDX9QHVdMx+pEsqLqfvHmebD/XmIlfxaMAYLK9R42p95YK
|
||||||
|
aNlEH7x3JqynSRQ3ZJ5TLPHI/zMVNRR5ZZwFrTO4Me25ZR7APrgPuwLKlHWjcosKhL7y4qmNCAzq
|
||||||
|
kk65fTyEpXEx3g9d4B1wp7T2rrX46yRA7TstEKhDJ+rjQkgpwJg60Nc7nxg5Uoh09Inn5CpyObKJ
|
||||||
|
tXsXJkzFx4Ed/qF7pa5lD8a4GsZhoiw3PPbiu81kyxtdLeVENylDe/lS86VW5Ux4LAXljDdWhm/K
|
||||||
|
XT+x1tZIBS0mjSEuQ5f0LiEpPu5oSxSXNiUlzbDWHgE1dHo6jRx2ZOsHMtpKs68aeyqDR0cId6TE
|
||||||
|
hlbXBtGYwiRcUjkVGjtYVWTEWlmKB/FWCG8H9Y8mH33omEAitTSmGavjNxvyPuvBj5oh59J/pxBC
|
||||||
|
oGqE7Cm/7iNR1OtItRDCtMhelt4jj4llV9FpQcspoyNhnmS8z+XG6sRJ+sffng8QeRny1NB3WcZx
|
||||||
|
acOQdlgKu0sLhXAeVpujWu1MBJ1UXJ806fMR4pQ5nVTEFSsYkn77ff8NjXyh0R/3/eVdKQKTVdmE
|
||||||
|
t4dulrv6a9xjUQlEJm37ptAvZhOl5u3+UGPSxcAH75zq7b6eiWGu3Mq+00tKoIKr7JF1jClRcIKl
|
||||||
|
7bjh6T+c6UX8E4UmWB2gyrL7W9EHgYl4t8HrKhJPdfnBHI28WtFQrmIY4FGXci9vaL5woJStje/d
|
||||||
|
EoRDrP2JSO6QNqG/CHhRGqH7IMSodNIijZbAjn2QSVHt8ByoYtiQfmV6t/2thv8ZEfk9d3P4jxj8
|
||||||
|
Q9ftXobWkxL9/dSG3gSySFNDekVX6kR0a1WV4DP7Jc5TTn+bk18H3ciUdDo1/3OAdLfyoNnwZmUJ
|
||||||
|
MKj8M84KQo16aBE/+TJS960yf1zGx/RV/GZg4mrjni1ALR3vHVXuKj50f46sbdjf66aTO+jxWAq9
|
||||||
|
Yqb2N6J3+UmUJF4qH3HG2gTrUYLVST4wftupxmhRGbPI4Nz+CqMPpdlCGnN2LFMVM1EjNzCzdJVS
|
||||||
|
TNFTsA4EZ2jyCVTejAFZb2YCDapUiHIFgqZm8juquFODB+8ul/LiZqEg+PGNykjRHAq5WnOt4uSv
|
||||||
|
RcY67BzIdvw/kdEjgbaA0o2iynzHwaFMqIiQTVFgeCFHZCJgWKrlYWmgcHNHNk/rfBeSUYR7T/W6
|
||||||
|
OqvtSAp7nU/wMRRm8Zglx6eihLiAj172Osii/6+t2G+4Qbveyn6ADbm+XbhYdeq6xqeXdKvtLvSV
|
||||||
|
Z/s/C4sCM5M4IeC+wxUSfyrMHLCzpLo9E1zJgy2kZkWft1EfVfkvHBmHFhbWuA1KdkOU+VlxCfmK
|
||||||
|
TqENgOizCuu50aQJsHt/galR2TYcHr5EzF4VSeyys0q1bqPhsEDeBg0aRX1tQSD2J5b7ShJGSkkb
|
||||||
|
ZMAMQWyW9OktUxqWhcY2RHaRoGCQAocWl9t6Nf7aYmJat5Sv6j/5Dq+CXQhkPhNtnSeevqYG0LX8
|
||||||
|
JGBR296oczvvlJizaRXqLGIccN7iEGB0VoXJdJJVD8u5+Js2qpxybjEYK9tuLq88yDEUYJAG/lTO
|
||||||
|
xClkiStN44oX/1oXh19aM76sPL7jRiiw5rQ6i8vnXvMwR7OzERzbIS5qqNEMXu106mAz5rnx3+/7
|
||||||
|
d53bxJMSttWdOFMb6PYJnJdacP07oOH1kvj9ORACNdCcWWXJckY41tTcQXqlkA7Ige2Tma/KhKZZ
|
||||||
|
5SCB9HtM4D0DjCeTNvFDIPTOksJQnCDeVu+nGyLiqYg8/sU8C4n4mk/S4SiqME/+Iv9kgL06/Uto
|
||||||
|
hodxIeA86mGmEdwvqDOxkXzEphbWKOIio17uNcNcPIy8jefW6FVMAXq09FvNY3tLq5p+4264lRRu
|
||||||
|
g/iViHMGypJP7I6POgtOLnvmsrFT1TpewI7RJdsuK9HEaeksHq0z/9yyimQzBmVzuzY4EZXK33kI
|
||||||
|
UQl5MVfrhXL2eZyRkF3e0zZWBwOkUxhXVns6aHJhZBh3D6WcSpFclU1TVSdKtkzu1eb58GNmzGP2
|
||||||
|
8xhrPZVAu/+rOZ9OAsz4fT30LwEBHzolpbnESFvtNLbaJ2lvZ6FKIIE/rvIoFC3G8gnrSJROemDC
|
||||||
|
pAp2AmoN5WmFOM9oQ2v2miecTrMER0/Zu+idnx6XSSclTmRPf9SGy3i75Y+s5LvnAGEu+UQ2nHDd
|
||||||
|
y3TU1WODry6shb7zm9HLC73ufdZa8ZKEjc/52cD3Kh7ahWZLq5iGkPuBSA5obF3XFB2I+otOPbrH
|
||||||
|
rrrbUfahSGQNlL1Txoelw4wydbdlS4ZIpXpCTuuzFz8bVGOLj6vgw94K8uxlgw6xkJBqttqEBZQ3
|
||||||
|
jC1K1YIUzBfQNwzHYtKDFI3yfzl+PgpDIVPDVa0wXGA9qvr9o1iAESAcepl0S4sctoybGITHAYte
|
||||||
|
tQQR7LRVtr+dRnPAdMXXCqyRisVNDv7Iy/IjVcsZVAXZuUFB950kktM1WDMdBMAGhyqiolwHF8Jo
|
||||||
|
RyjFhaj6Y9HLP5U5GvZoUB+RlG4mK2c9rXuQHQTcDmIVfQRDpKStKw12kv0DT2e4DcvTEh3Qv1oo
|
||||||
|
J51h8mSPY9rV4eqoqy+y7eRz9gq7krceI8EIWdXYZaH4PKjWcBvjBXaAyiH6OkwNU58Zcq/r8MhG
|
||||||
|
gxUaHCHWA7ETFyHxzX59w9bOGuVjjFMs8uLoOE5eOcfYnRsyPT54EEBFkojA6Exxu+LUaUuvueqz
|
||||||
|
ZUNqogLTzZbb+UzyCRZvv7IIwjZZ0BDcsWDmYUID2ld4PZhDqR1vDNfKXA5D1//vhlQhYfLx8z5u
|
||||||
|
DHvtWppiIyjoq53UZucD/g+wsNw7ywQuK2Fle+v3DD+I+DlpBw7Xk3SLagfBaMqeo7PlEyUZLU2O
|
||||||
|
dDbmP6JvIz1c51n9s+tvNZT4K2kAR690N/Y1725MLsufXOnrHno4SVSPlXrW0kOrUNGFhoCdrLQO
|
||||||
|
kbGeJEvul2L5sKfrRAwK3+YhOn/fbNah76NXid5KXd1AREvGi5Ji32i6JgIA6D/hMZNvIZ9fk/T+
|
||||||
|
MG5acIgXEkvtLEH660R2tyteso1ZHLdR17FcyOCaT58u0yZbbbrJgUkPR6fzUDBC1zR+Ru6KqWqV
|
||||||
|
pg19JXNmZjq4fPEbIC8bL9wimcDlJ3RewFoKhUibylo9uCI+mDGxASstgyQIl7Xo/wRGempTMmz3
|
||||||
|
gv0Wa6WNi9sXkzRZGX3vOtLw5rsRD38ra+r/Ox91P9VtOoBQgP3LWnOzQD5PSWQ5zOiAzTHfn33i
|
||||||
|
0fsJTt4HzxIMUzTcY9mZQtm8DwFytGUVV5B+UKvy6yQ7Pr+IIqUkiXqX81TG+AhOA4NwbNWUhUcM
|
||||||
|
OWFbMSJAXBoj2LmmfYVZpthnSyBkaDogronKR4+krrSK44dIOV1SJLWQWG2+y0L8f5ETKJDBGCDh
|
||||||
|
cQW4qISiJBbS297YjJKKiSLpvTOy8KKhc44ViHEeqzorgR3aVTLEO7Bl/oyvVNCm0SX0hnH37IqC
|
||||||
|
mmOurohRdVidS1fu3QxE2w+pNsWoyDk6HBfaGmEoi9nYOnSdT4F6nuU6PEkYysnz+IYgnawX9V45
|
||||||
|
sJaDBxFGfNayOHIhfkBPNbbHqzNfTKR7R6I0NqGCZm9QOCMdey6eEpXCKumEcIaulJ1Fppvtt7Wh
|
||||||
|
AkAfYAWXuNEOCGsfAFbDRBOG+z9LAYQqTQv0+ao/ePyNESq0iIPh/fg8QbV+i2tnPV3S8OQUWCuG
|
||||||
|
g2hTILqVkZFc9wT4cqcCchzN/dWJu1pKT9MPKZVb3mxfvsA0r2riHUG6AnbneIAsjoChgz7RuLaH
|
||||||
|
Lp47AG6cInYZ7wfZ/C/P8pX4jrgstKSHMNhVUhJ6OqAYqwgiT716MQmqHLkrlsXTbgxOLyUDRrZd
|
||||||
|
L2r3efqLj+av0FaldGCcz5zAo874VyqFuodufnF8xwic6RNBUs3lHAAcf/nRXbFOH+mQKjmjMhsr
|
||||||
|
x8x/1jXjnAPQx8K62Y+mMGO1HCi+gS414zobrbK7kZ4Syw/llb8UcgrMd/Nj51Z2ggYIoCH2odwI
|
||||||
|
MujrdZXlDoLyaDULS6QvSq/v3jGblLSSD9dJUa+ili/w7mKaOulaZqn8dOSlSZBfTaDS/ybXQMfB
|
||||||
|
7FMwb1fhpBQqpRY1Edmtw3vMLaefgHt4soexaa2GPICSjK/gh+hQqLkan2m2ZS5JkVSZ/L4aO/y6
|
||||||
|
6JKa64lOKpwfiwjZ1IcVj0i2td9cxhUvAnUXrItYsXWUtYgwQF2/h0WL8l9D+r+BMNgyQAGiMD7A
|
||||||
|
ANl8kLz9ZtUCGnnHYqoyZ2aF3/mSflxy7hAAB6n0Eg/zizAmyQ3Mzwqtnjuz8s7NkL/DghWAR3GA
|
||||||
|
poRXIgt+WA1VWTrn9pu9af+boxSWgRDwF3cYh2B56t7Ec3k80VcNiNh2snT9t59T7+dntJpPEiMJ
|
||||||
|
V5UExJgItpXRW0UtCqp4PotEEuLa2h5aA2BQdwCu09W0b1+T7naVcHIMC/V4onRhx8gcHAlOsb5l
|
||||||
|
R7CT+Ejs+eRNLeHkY7cUGmirfIzRW4grBEv//egZLaC9gwu51dBBAiwAXG8jhAkhd/3vUIQGuJgl
|
||||||
|
E+pgUGVtgXVhM7Zml7MZvgYohUuBcfEksNIrNKTgWOSyzSkvZSTAzTcKuRjLOavK/WGm//oguF3W
|
||||||
|
v9in+ZDokN+FOfbz/DqbupX3EeHA9HUsam5r2srECONoP1hoBctKRsZoIFjztJ7wcD8R/FOHKDZq
|
||||||
|
GzbNWdWJc79b6YiLA4KHf2gPyBuBId8q/Pf6uLRo+U9Xdh0vxJlW7YcvFfg5lowcND5P7lPcR/vi
|
||||||
|
q6GUqf8FJSRFoeMMKoUG+ltwMR0hVpC/rMxIOr1sBYc6vDb+XBrs7sxPkX4L2f7OsrCwX6CjaK2M
|
||||||
|
IVYimAkYp58yXKjaZ5clPz7BZNJgq1wjFs7cDY6B4j6PcD7xyiQXRwK1DbICw6uz3PfyDcHCGnZD
|
||||||
|
64ME+vP7iwxIFLuHo3hbSFk1ZPOLHWwHe11ppOiGkJ99EJ/AAnQcZM7S4NlDq3c4IgywdJpAR8n9
|
||||||
|
L0gAy+/vhHS9QiAiJ2mMN4xtGWZENcf0BpAIt8uDUjyQw9tynqg7Rh7kNUxqlAme17ADbnAOcaZ1
|
||||||
|
zRndoe/TXtFPLMIxbq2Zv0586893yzAP5O65nQqJZXlYcmdd2jV3Q0QRKEn/Nz2PkwZrzAo9KJ36
|
||||||
|
MxxnUPKny7CaJiwUtvr0ZabJNpL5M40kJIDYq+KVjh6D9E5AwVBTw8iu2eyP16y+kVSI2Qt+eVf1
|
||||||
|
FJL9e8wQZoZqa2OIqAKEJOeISMPvqryO81d1E5H4p2XditXa2+ynBQxhaw0FiawpDvXoQQoZRxKp
|
||||||
|
N1OhfOHzR0ewOyuzAaF8aRwhCOGcvUbRhy6MyEIKhXloFIHqqAkolSjvMl6V4EyMFP0laf15rMPb
|
||||||
|
KU0zibIpcsFNHG+rrhAJ5iqSVDJhBGE9ciMLc0jC7dh1P96gSzkH1r19kACUe7vGjW9iqbIFCglx
|
||||||
|
Xosgej36QLj9v+l+dRRvmC+TWu0wUoHjyukFqxEh4ESxfxeK/dQE46qnZnbd6epfq6z/nJ0L4wJg
|
||||||
|
zRvcjIyZbxhz+bryiInRp7Y//gFJ2n8VMD+ifFD3PZ1S1saNhwiNHFjBlBwgBT49ApavpkMB9LcY
|
||||||
|
iL4lktrBxq2loe8uyDdcYE57Rqk3KSUSptjvpzKcQZo3wuhBADAshrE5/DGdokQgrYeh9Bke6R7v
|
||||||
|
V85kMb3NtW9G/PKxH7Uhj5Eh9+x8FX+DdHPvpEMxuh3jEWmi4u7TP0AWAPtCRtezMyO307sQEd85
|
||||||
|
3ublTLYHx6z2qbSzpeKBCw8KObSRDHYD8zFkC/WjOSmYHQUpyewblIBdKgLFrMKuyUO4h068nn+D
|
||||||
|
6dI9UhIVXIhlx4yZ3SVSD4y8pn5z8im36tsC/m/POE5mNEh9/XFI9YYusrFKea/S5ZxtofnONzB4
|
||||||
|
rxizHw8+6T4wf5FC7AjqGNoHtM3X8srP9N/tUEGKwkmPVgfWUSgp5Z30asuj8hjIod7R8f55gHN2
|
||||||
|
bNdWwSNN/uY4xRelOtPP7VMpjTZuCAi/G0RtRkhsOsm849w/yjaeVf3pkoMFZdu79bzm+7DDWrQl
|
||||||
|
KSOPxgm8O46bYd3d91KCrCygQdqPYrGMpC7GMSPW869FQ7W93G14qJKjF65NE6QuDGWEiAPvO1Qi
|
||||||
|
t4kXsrD7b0gIQkFWzxf7FCF+mipehDk902ORhYqkxT0YTgpVtwwukxrWi9fB3DD0uT04U+vppq/d
|
||||||
|
qugD+o8Gq5Pm6U1yx6RyxEpf+Sm9gVQeFUoN9mBepB3FWBtz0+RfszIzVYXIbZ2ldSe6IU+NtuWS
|
||||||
|
exNUm4jyjddm7AaQRu8ya0eksooAHwCtZKMBPI4hRiUZCE2yjms/6RyifOd/woOwcoBn2GyzeZ8d
|
||||||
|
HxwGal/tNNfSOrZdLfDp236PUfMZOpgPpoMbI0wnM3/Eplk8wVjssgmAi3uoas8ue0Ei7NW4ipT/
|
||||||
|
7PEnfVyDcQesrjFtFRjbcj5y4zYym/mw/OCyxri5Rlqzi1lSsz9j6gytsG22gOtDXBBL3phD0Hap
|
||||||
|
Mamnm6L8nOULJI9yJjesSqBwuw9oOpmvSw36g/eo9vbtzRWezKJoXvb8ic0mAKgZGU3cqu8w++72
|
||||||
|
0rpd+Cw9BRvThNT5JzoevdaM6Mh0HjhMZ+MaMWWExsl5gcjYcPsjST+q3kclaLb7cj9lZcAEctnx
|
||||||
|
IhHcPsE7uEboE77h7iCnwJ/7BGZltcJSDaF8vrZbwgYu1p393qtvDCaxhsyLS9woUh8rW68LwP+Q
|
||||||
|
AQBIh3Mf+pUd1/UVxPuk93N+bTZnPNh45pA6KduU+L8tzS4gFrzjMT31XYQUF3JsFSAAveTYkmFg
|
||||||
|
wy07gARIJC8hbBkoPzwcLPzhlDqoV5isYSeQANoKQB/tiHVk0qSZ/RY0MwtJ50vSw3H0rdCypXTz
|
||||||
|
fE6NmiMGRLIJirBhEnuc8ziNpGBNm13+VAQWL4CdFqMwAFlK/+IdbCU13ICvfLtQz7/eaX8teyZe
|
||||||
|
txzhFCTb7SgbTQkTXyBLq+hii457tKaYpy8J4JC+FpkvT51IOa/y+nM3upTXlAa/DdKa6UFbA7Tb
|
||||||
|
u7oSmItnkECYrMg/b9NRYwKBGI9NnTPutAsMLTr01Lj2oR3czf8WDJrxZgzCqeJJztxxvaefcTcY
|
||||||
|
OGbXRLLik28MSkRVZ3NWIfBRsaNzpCQX/4GJpF3jCMXQ8k6r6QcVGCXDb0Dvu362rVJZzLgI1BDg
|
||||||
|
vvo+PojKjBo3fe6c6mEQs5r/gvj2juSct0KL/0+RbBBlFC+FCAieaDWIvo3CYeatFs89G4zcHACF
|
||||||
|
uq+xYTYUYx+ljXBVgzfcSw1tK+ixTjL0+m3vn9ecAenXlJqn9rVtuM3+9Mm/9cl3imrNtcOQeMAf
|
||||||
|
6arLK8gvDMNzssAHR28MFZHLtRJH3CXmZ6Ns/IYhYkIb2KV5ZQvcVY5vJ60Q+I0ctIqZJKfzrfps
|
||||||
|
mKb6VYOmP+UsVoQa4eRnDRAYHtWq04eT0noRO4HFk/9u49M2J+kcv0Lc9ncfrl8Q02oN4tKxuafx
|
||||||
|
5cDk4il4jI4Au1lBabBz01sLkx5XfeTvl6xld2cbd84kixDZmY+O24nNGLSVtyzm2pCQWF0UNnAD
|
||||||
|
9IYmg87IeTziOcQir4W/vq3nHFTAJVcucM3KYfzIExogweQfQCFPraWurjkpDqgRG4wXCmTQMnGv
|
||||||
|
D4UfsZGgZAXil2AX/eumRYvj5Yqi90tNC6ETVlfef9rfyx8JgO3tTqI85bjjHMqaY/kB5oydG4V3
|
||||||
|
+tbXL8Dhj/HlG0CcwdbMHYx8F+hRxYQyORJZj+SF9tBxVwxLXX3EBh8MbO2QeZZH+pnigy7Qlm4Y
|
||||||
|
i5X0w+tbFUXXuzZtCoZOmIposbnDMENqsnX6ZDK25qkL1bj4K5oW7DUc8ZhVV5WDmHrMc3DOHzeF
|
||||||
|
Dbf8a1kxJbXkey4wqS4p79y2HLnAnU9K89IAAvRTtbYV6R+oxE4z693b80lPiZpxUYJppz9emUR5
|
||||||
|
9ZKHIeLrydp1HcAjBKyDu9rAYeTi67AEdDk0oIBkLYVQinHExTFF8ncI3LJ7Y5Rpq75u0vXl46XZ
|
||||||
|
ZTxtJksunKYBYlq4qEmC4eFtcGTirMoc0mkT9bRzXidGWeGJoQIjudD38/W+xXKDoUqJksuoJzCq
|
||||||
|
4Q3p7TLF/MN0I4WRgRAajyQV/FN6KGSVzme9nTPoudeGJgxu1YHCH60jWYiVkBE+gLwZLvHAdUer
|
||||||
|
JSO8X1vBmRwPGnnlM4OcKrMQuRVIn79F0pqErYkf4rYpCbhmTKVI71TH9YEPnH+wbHGFj/PRjDcT
|
||||||
|
VFqVm84KNB9ZandmYPU/Xve0SNFlyZ0IadU/SNWwnzudfmWWLxWLi14Ipu0qBmjl356rn8ldcGEn
|
||||||
|
ugqphGp/KvXxxtVFH0eKg7EyDsXTWQroQyuEwnRK+TSvkGTLLkT9B3gExuu9aWMgixpDr4dmNhJk
|
||||||
|
vJUuQdrellz0f2mDb39ssgOrhzNyVpr6pd6YbF7tuuN5cuMI3gHqaNRUNNEqczF6wKbXFhPp+y+j
|
||||||
|
Jyn5gZ2xfMaW+BGxFY0flDEPMOPNGJmqjTPxe7wi+xjKNbGmtrTenVsxP0xeLfXrm9dx4/Raf7hl
|
||||||
|
cA6eeOIkqRTvhrDBhCRIlwXcrvCrfrHG/JRgvQKTgvpZrjkFHwK6pGW1/XuC/5u4LXedlPWKDG75
|
||||||
|
2zNLOpYMHf7TBFMi/naQFKBIhf1GRoP2sQ/byPtfXUyLn3Qu12R1/BMmixR6Z0ikRaJOmVvw5jBL
|
||||||
|
+NYnccJD7WKM/oy4Fa/6QNoj+0yVFoCfQXSbt6jS3jQgvdqSnAkNGpxX+ViekZAAYijaeoWFjald
|
||||||
|
tK4slSFJ9rfyxwihy5in2GXiwlO00ZPXDCsGwXpsVegEyw1CWQ6IWWiNJ/sHuWwCjI0YFJJMiS8R
|
||||||
|
5xH4oycEROoLxUZUJBY0uob6fqkeB5mvAAIdRT8RWePShjPH5pYJovsvKl8M1jZ71tiMDzF220a+
|
||||||
|
ZdX806CQk59iDKj35SW3HoKdKqtR8lL5fMbiK3PMLBrdXRmDETx2gmPwHfimG6/ONfz9l49Y3wv+
|
||||||
|
l2T2gFmyIoigG7pFZ7zYiPt5rqgXm61RUHj7uzY2IW7do3x9fPil3UyBY3drkJJANrpql2nHs5+P
|
||||||
|
HS+Kayeh/FUuscYPc4Pc2CCc2ZGx9zs1HYYOcoW/7T6OwU15WSidogV3FKrjdrFgbDZQbYQloRxs
|
||||||
|
s7dKJKWjD433VC1WBSTGTG1SK5+UvMOJPi5Izh+mKkRaPzOEgKP6ucCPTuhu57Jf/NqyXZFGyk55
|
||||||
|
kHdrc6wPZGEpDicGp/DRM5IgWlw4oyyshT5w8HNI8Q2wWMlxnrEn51Gc0bf/RqWgsXinBDDL3oMS
|
||||||
|
mVoylvu50qJLquJCGm74/8MHPo1FQjTtO7sd4e4K8VQV/4CunYnNQ81zUiqHolHHZxgfcqr6KzEh
|
||||||
|
q8RRFGcSXDQgIyX4GTi119xapzHHe4f06uoQYhgZMG66W7omj8JoNlcfxMJFeFgab6njZSmW8qkP
|
||||||
|
Aj4/OkcL7P3hzM3WajUmPamnIQkiuBONdTlZp/5YnrEaIwmseL02Jv9ILfgYwmbb3cb21wyEYXv9
|
||||||
|
GSI2s263uxakGjXxjCfk59DtqfO2UkRbjAKi/g9jhF10qL48+LJyb1NZvOU2w+fJSzSNaE3KsMlq
|
||||||
|
XTv8DuNQ1oTW5ci5h05NFHqlr1plZMDvRlyn96tUf7drT5nbrGec2yz2++PLB+82uSkUvzPF//1D
|
||||||
|
gvN8bvTUTGkBM8AK+xVxjewAKYLYR5uARWo9ProAFxK4qo93lcymbO2hox8Suukvq7AROFTLcUWm
|
||||||
|
/0RarwFQB8gi2YJV0hjDgvpDkjmxznfShark7QNosMgy5wbQP4ah6V9+oJkhGYgMPquTqdlYwc3l
|
||||||
|
kIKLC1ftDXh7JWZ0tJKUPcVD2UbzAp4f5x0m4IXxt6+2enZOG9OqlOJAOglwcWheicCokMQh0UB6
|
||||||
|
BN4J4if5KaL/Bie5mZkT5gTJyR7ZGBIDFn1SygKabdDci3FBzePUII1RmH5GzP3cmkc+pHO599r+
|
||||||
|
XQNKNYORBkxxxVGBYcw1+syPBEkS3pXyK2Nhh5hDVP+qF1J+//+6Fj6LLICCHSlhLyvHkDpdy8YC
|
||||||
|
ih6R9h76TsgZyeiPk4Ncmw7z9SXs7i68F8z0bkCZ1yu0q1G47Md4QXrLduTx4lpba8ofbMEdlpUt
|
||||||
|
NvEyy/+nRisvYWSDhCNEwNYxBRy6q7Q15lk4FNm+6TS9T9C8+kOPloi3My/JtCRYGMPfzCJ1CZeV
|
||||||
|
3kiQnwMwnqPQme2gtxy5A1gD5LrWNx6vfJLk+LBQ24I5S0xad1X9cViWjHb6NNpWwnDqOog+Chji
|
||||||
|
J8Tgu0XGsrJlDwZYTLaA/azTAVCYAkZXnbPUVLrqbzm7fCVQjktZJGMt9WUYjOFeIviJ4Y3Zlkpm
|
||||||
|
ZsDIBXcciw/PFkPTAW7RFNCi2VEsYqUkCdWN4ZHCTF6jAa88E6dULUFBBTyx8gJOkkHrvw4/UO3X
|
||||||
|
26wqfWpB9nrMZ6Tyi/R34rGpMiDOpkw8V4TFV752SyxKnSeBxukliYLgbeoYd2b+hbxaR7hvdSm8
|
||||||
|
AgiaA4vTDfW6L+j6yw9ju78bombKO9dwBMMpJWOsd9mW7Y4RY3gszXhNQCzpVpynjlr4Nx17vTGQ
|
||||||
|
Uov+tjxXFVmpDlpCspGPQef3bSgDk66VLwEhkMSV/djVD0DEbdhJslg4SzvS+iSPiVfza6l2K3JB
|
||||||
|
7TNh/ewEaA0KmCQeL4bZJ85AfBblP8RI4UbWVpp/FZkoH2Hhu5O0/hpns+Ge7hbd9jj0kRDq+Fuy
|
||||||
|
jejzC1qIT/MnpijNu5SdvcZHX6YLPSOdeKq12onyg2mdA67qooYOfMu76nwrqczZ3oH9dVU697+w
|
||||||
|
vLzj6kmpCxfHAt4Eqkd8ihk0PU7T4mMOf7uwVhjqC79zg3Auu0aa84IV0waZTqQljZVTgtqfxNtl
|
||||||
|
3MKXqoKF2oQAJJFvY8va3CwP1Q/7RT1MQiuJply8cO3+eNbi3qY87+ls/QwauqSOEAS5V0lfYN+K
|
||||||
|
hzeNjM26N9YDFfs9C1v2zuyq4O7c0tvfjVPYuJ/Msk8a0zSp/kyJPaJ00ChxaRU6vQaDRfuSFgVy
|
||||||
|
aIr0SLet/FNVi060ZmdHQp890XqlCb5oMqghy0IPt+wuqKU7jq+lD3SF3boCKW0smj4tg4LvKDcw
|
||||||
|
p7/BlZM9nwAWWXxGBLnodv7vL1GjbHw1bvTrcTaeDWhbuRPkbe8aRlaIn2Td7tAU6jdPZKhF2X3A
|
||||||
|
0GHCgkX3bvnWxiSZbjT8W3ZKIu5+nwHzkDE4PKJmPvTPjM3YkslFYrq0ctt5HnUwhIVD+CI1totY
|
||||||
|
jpXaj8xLQmJOWdhSbc6Jd30Y8W1EnK/uUh3+0/5Q4pG6FOywcUpaYMkD15QVSoDOx+EqJXycIrah
|
||||||
|
r33SXlmkKoIJUhdbUMEEptuLxmmUH8CaUmknNBPMp4jJ8TkoVhJA9e3xzJxX4GhyWPbW9nrcB1Vw
|
||||||
|
kn9W7/4PNBQK/iB9dXkatoAGX96cBwTu9IvEs4TBpzs55RXfRqAj/AknLDvpqmiboK8I1izcv4z3
|
||||||
|
ypaQ+/tp5ZXrJofUtmTLuwzKSW0xrypQfBpdR/LtUEF7zHlFlxvAP+hQzEDUf2kmZeagrkCBtiOc
|
||||||
|
HFD3vMuxe3nC2oc4iYInVTuk3lKvh300HiIFYezLcCuk/3pk5L9z2r8y77bEqPQKTYiyZD7exH14
|
||||||
|
HqlNLgyFgdYA0G9kEbP2jNHZJ47nDqx+pk/7wt0WtasG5+COcWgMsaVO6Qv9JdvdrUo3j3OpMBKU
|
||||||
|
MfUgUfoRJQepPxrZn9QtV89XC64VNX6bIj4BmQGsjU+A0LCyUP3wSalOdMfyIW1288h13gIdpEtL
|
||||||
|
zgcUOvL2vCTLh3/IHXZEo3eMTFT8uh25s0kKruYdj2rywALCFwE0IAqUP5JArbEsDBh4hpSBBUjz
|
||||||
|
4UyLvD5BvZYCVK2FdQ0TEp2fSX/uqAM5+nEwPUv8tNxl9hq3Q6VSvZYpMpQcfLSov1/ZIHakByyw
|
||||||
|
CH8Hyw1yidxSYnPhxs7h65ka/inX++5y9l/U9fKEYmuhZl+mLh8Op/57587+nijz0YRY7qfJ+NlD
|
||||||
|
hrfabGzoHj+Qsa3FAn1Wd91rCT/TniLxGuwLj4KjHqeHM/85x5DRYPKjgASf3tRHG7olA7JJ5deT
|
||||||
|
GHs4FyhMOvip3hkjuTk2lM5ElYkbtdDlcFdvUgFTXjM1jXEEd6/dB4LODjIkpeKj9swV6uwLIdIz
|
||||||
|
YoOUIssCWaI4iFXRiBeqRwsTOwEXNH55rvLV1EKyUEPs4FahemyoG+9xvmrP35MGRBLven1vOfo7
|
||||||
|
QQZ6K8s0OZlUVc3Pyp3afZIw1KluLZfFjYCtVIht29TtKkPVqyO0n6fGfHomaC6ldojy+Ping2hY
|
||||||
|
U3fWH4Et6oFulf1Y+LWaV94O1euaScFMvoEC78P1JFtWXJvNqEBRp6tdu8Lhp7wmLeJmUpxHQ19L
|
||||||
|
136nSq8Pb+g3ScbLcXfpwqQ3ALJH0WkXh9uBsWD8kychDVS0OqmdB+r275rSUplOWcegRW3UUZTV
|
||||||
|
JOzqvmjqO3jTJSiGcjfpday7JtpvBLfSngJPL3zP5KjesPFBpQD2ZP0Exyi8gRF+1pkaYM76Vcuk
|
||||||
|
YHGdgsCHgWfByvKRqT9tYicbzb8YjPgin4+2sPy+BQu10S5jhqmS05PYbIUrVxBNEqUQWA9qSMFz
|
||||||
|
w2ItUL67sCmxMQBuKZN/tIzKg5Ym5nU7PvW7Mzb2dXZH5jiD9tFtXUcEFQv5JoI1mh0PcmaN4EuD
|
||||||
|
W/mP7xlQ00m8oce2TfWSo3zDl/f1UGGhem3kO8ol9h4AqN0mrKOGLnL3I3FVoS5nq4ShkKMFCSmA
|
||||||
|
qPCZh5R01dxZJxWnNQ2vlyjKPpIl6KJdcpFA6KQlvtZGBydqQl19/NUWeYi6S4iaS/qkL4efdQBM
|
||||||
|
JAAVTMlDhVHTEfhCm+CLL6xYyWmmidyFm4+R+kAGjYgT8blhlHiMeyCGBLkc14j1nuJBDUt3fcZm
|
||||||
|
zby8JLu21w3AzhI3M5EUkZdqm5QvVDM58/cCS1J2DrXDqacDTpVWt9UK02v+GKd+4oSRUMHEBftO
|
||||||
|
dTTTfK/JAcJ1Hjhj855zvL8GBPmZXl7P5z7D2yO879b81O4IRbwC62I4P0fB0/v5lid1lKMNhSgY
|
||||||
|
3ya65kxfWMzzpuIcnPiRYaEtgRiN9cg3T+vmqxKqVqN9FS3IM4+/w0o01J6UUsbsx87KWQ1QAu0i
|
||||||
|
S39BZYk2SoU5yukJYAWqrx+OMuLt4CS8dwTwaH9oaAlt/fu/I0sqJLo8QiV6ti7xMsEM01n24aSr
|
||||||
|
eoB1NgNL8++DTUx60kyCj8UniOZnvScGTMKPS9TppnWPuHD3mUTygRpByzq+uWiU7KAtojqaz7Uv
|
||||||
|
ueMayrZlnQnXBm+QGseZmXzgDVSklWgtW7zB8VNK9c8lT7wrS9UIpvF203Do9WasGt98rSFoZaFx
|
||||||
|
MZueBPH6hRs+IFQHAuWsPQzoeKnKjVCXGmahflrHeSqdHZbh8LyCe9ppm2quh5vjqyXzp5QSQRRK
|
||||||
|
RToOH7/3Qq9VqRu/H1NJixivn6BT+JiDs2slDf3CuV9dirF5i+KRh4dsUsxiHZr5bj6a+Bk+DFKl
|
||||||
|
mGX3nbzFGV9tBCwG8vvRo9/4Qbzm6McybEHyMPVOMNHX1J2ANFuL054OpCNEjhpNgfu+ehIhWb6l
|
||||||
|
vA0B3Q+mWQvVk8N/ZgHO0nKhOF3xZrxXOXx5XqakneygA/Lfy/VNQnf0oo7sFUDWqZql1YcwqNRH
|
||||||
|
j33Zglx1EFQWLwf7/cX8ceyJKxKnq48Vpf5+ajnr9U0daXqjst75j8HVLVBe/JdZdjKkUxSpPfzA
|
||||||
|
lsGNMPQS0XXMW3Uvw82E+KmvY6FWbGlrAchP9RoSQ38Kt9r1cBvmNlqg/h5nBhUWERxCtupIX5aq
|
||||||
|
GkIvA6yHtmj7Nso53PmCHSeqjgL90BN2WEdpYVBcxQRBRVaHngpG7YTWL1gyKxXZv8IGzN7xxLrW
|
||||||
|
Mt7OkLO0fWrxppiIwxJ4EvieulM//GWXdfAx218pYHB5cT8m9gldzIOKPh+XwY5Qtey2bmj55/Pf
|
||||||
|
TvwIofkmPxIfdZwtGAb70STM2vJOMfueTpA92r4Trgd75jr6I7s3LyASmWY8lPMrB7s/Ljee8LAW
|
||||||
|
Hs0JXU0egdo3fIw4kvlMt9bviGifiXTDm0ts1XFwYUX5SdG5DXR8dSSx4NlGvQirTNpSwkc2oTmm
|
||||||
|
E99/zftl18le/E/M7ij1lQB+eg1CDDdHYn6FD3CAlNtQRg4zZ68ggTVVyqLaPdFt/v/KClRGoJAc
|
||||||
|
UhEAIM4VqJ+YVmfxiWp11zMFzv/KxIrh4mRGBWMGSS/GIVPpmk9suTBnIdu7VYZePhtyK9uBe7UO
|
||||||
|
gLzLKTkdJr2N8a2XMsEI3lRwqGfp1+9wc1ZhjbT1rB4ZEiHYBGYtscedNBBJZFDzQI5kSwmsNqNE
|
||||||
|
3OQFH5HRTkadwXtD2uCfPXTzU8F2E+QyF+bjgTa01+RdZiVM6u0OOgwNNedl8EMqX+Uq62zYqYAd
|
||||||
|
PQC+E8Rs8eIuBO8DAtPmhz0EMyKkyzdRQGWTkGcNL2vRQ633g/wjUloHVZkRragCwrzdu2LKmVaT
|
||||||
|
7xeEVcuj/+UZif7jDsTOCQFqx2aFmL52sXJITzYZf/OpdEv5vPxqhvHMFGftj2rES9AsgfOeTdiC
|
||||||
|
NOqKsgsbjPG+icC2cbsDxxkEs84SNrf/E81d/ELIohFXs4eNNCi84jQ9lm2VE0SD5dGC0EwxDC3Y
|
||||||
|
S8qwmONDBQ39A0JaJ0b00Vl6UadacPKDe4qzKv1k3MSMNP8LBvbEQMJD9oA+UGRSsp3nJHhukZwP
|
||||||
|
9Q9Aqvs0t+1leOzXnViFnl1WN5mUwam/mPEgA9gwESpJOOBacdaTNmXHik0qJV770d7ObWKX3pXk
|
||||||
|
He2vg/RFRuvZtJ2En5kcrhtUd98ClWMduBfAUC8+GPevlefsmx5cz8HLxTfJGUnBJXm9x06J2fZ+
|
||||||
|
vZyqYYH1qfDv6G/M/ziKwXtWJlLTp0F9RQ1QjONVtSZWevnjUHVVylP9ajpnNIsChYal7BK8059j
|
||||||
|
t7BQEwYetOtrNMu2NZ5nrMFNL2/ShTNDUey94WpleedaGRxWDMB8EFH+wIAQsEL1UCEkSUdnl5Xz
|
||||||
|
KbQbGPSI+1v7qm0q4qTW1j6vN3GPt8twmchAxw65TJACARtOMuviP2zBzhBqR6hIM5JXEnmyhnq7
|
||||||
|
ZgziwrNAH4VzrihrCdBFqi+5VfwZMN4e5TVq+4W/25PGw3TAEP3Fzc2+6YJFVcXPR0TCulIbFZ4b
|
||||||
|
8Gb7FZAvRy4+Ogma6qiApqMqD/Hi/Tn59ci96roExzuoeHM4z1offTe+qTcH27Lxcdvg8lJAunKl
|
||||||
|
HYuHlCfFs6diuPoRmV3JGsAMHtKff3y1r0l3uF4dLgkkID1VME/zjmoMB1pqI4lk7FAV6Ju8LQdd
|
||||||
|
i7uwzCFF/9oUcMKt0T+8kBPudWjCFg3Q3Q0+AJKR+nBzIrrjbxwUuXnVxROAXAFtNyX1LKH8bEeX
|
||||||
|
pLxjwgeO6leIYdvYTr3pH8yVfb9dNKvasv9qVhsq1wsiG7/I14VJJT5eE0BWXcer6UOJ24CodL7k
|
||||||
|
4u3pXliLKXjDI0t9v+5qdBzTyf6k2pjP2J32D4G7QAGapxvRkiMlKsrtmZvOCupvTmAoYes4j7x9
|
||||||
|
7ohamsRRJGKLS8e7jNT9hvJMZ+68vMcdy0XhVLdlKdwYLm9U8fcO3AbV7y2s8q3WnJknNlI43uqk
|
||||||
|
unhQYOerZW2zkP32i94B2auYFPQfR/8JgLmKrpTJmOQF8LVG7lbABC8+mqW+5qxJee/VZhGcIGQH
|
||||||
|
568td7m1gOciidR08xLqadBtOlKtUq9awMhkEOkbSqwebAAqRozrufssKPGAbGBuKq3SxWa44fTj
|
||||||
|
koA+SGNAkVFKCEk0mtVSvugjPHowGfiK/+YZpYNNuae5rb8bq+OCjKvFezQFJ8dh1qNtWgIDyYYI
|
||||||
|
+cfr9qtPMDrKnZ2DzfpYVS5TIxjaGz27yrg0DIjAvE1CDzZvbfOiY0H1UHpByLuqK8DioFgkGzLS
|
||||||
|
LWYnmwul3F6oqNwltjvQkNawX1tyJbtQO8Kjz5f18WMrpd6OQinht+WySTH5rs7Xdfprkv0OD+md
|
||||||
|
WX1QolQcHLBuLlTs1EyP6DJbIqtUHTwJ+R1KaP7521hT/Q2+q37TFHmpB2J16De4N9BEJhXmUMYI
|
||||||
|
WZx/aznFdG70NLWJVb5X+UtGU17f3gaqOanlbOQb7R9saq54nGMdnLTwv4fSaL7dWFBPvJn8EbE/
|
||||||
|
dI/XuJf1fFbNAhmm3QFONsRuvx5Sc5kTdaL8wVqBXepOfJd5Zuc2hkt12nCTNedAOnhySIKIjESX
|
||||||
|
8/91cmVQjgySRcjqk8iuF7oW2DWCzoG83MLAJlX93WhCWjHygz9+F/ooqeUp3fggzrFN1UaI9Iyi
|
||||||
|
ptP/oJ1/qSvmozg3AszxtM3e2pCLqd9Z2JcAv4IjCurygz7UBFVXJIt+t/udxwfizE9RbL+KhOWf
|
||||||
|
3TU+WvjgelPAtp1u9pjl8vik6vmJ4phfZ25ipKtJvRGe438DLtRU4+GVKxX8Irx/kZ5W4lOv/pxQ
|
||||||
|
Y+dy2CrpL+o4qQGJGWrU7wlJ6dUA9m5GSgH4Z9zdWMF9J/T+qzZQ/iFIp6M48XGFQ48i6vWn4Rf2
|
||||||
|
qWx9DvbOSv4HqWAuf3tfa1eZv4ZmtYZ1VL+x2GHBy0d5QdIcD7YSLABqe/I20GsKv2oSOdqpRScS
|
||||||
|
uf+oNnIk/dW0MmG9YygQkk0dfMX8X5wAP5gOgjq6LUwDPLaLfWlg7/pUNqM+h8EMerRrHsjlrdBh
|
||||||
|
aC4IhE71CWs7sD+8lA+NcSIxpS9qU+58kHKN6hSJd6ssYD1WGk+eU5pXteHA3OJvMGzxJbV6Gcgc
|
||||||
|
rBHAm2yg+JeXhACd2u9qSpjqT/XtHbStaj84EtEYGXzvJN5M5jBglJoQ1lewiBET8lKPoKdVQtiD
|
||||||
|
yqjAhyqhdfeQ1yVONwfFrFAHUfqbLnNQ0LuvG6XTCLErAXRDh1iA13/M++9Y3kyJv6EcQIK1y+ut
|
||||||
|
FSFfshgvDtjHddbP+3TXRSK22hJIxrUfEeoMq/D4RdJg80KIL1tLs9gIItNdFoeOuTokxMRFGaGS
|
||||||
|
LqYGdQ2sO4uNqDsAk23jQNdgWet2ys1vsW3M20qt03ZbxYBf8Ek4KrdYhWTi3ZdV/+cJUTh3S0Mc
|
||||||
|
nKTYMMPX9mg1AtKMneJ0P4zdM4bp1o5oCbMLFxze+I9Rsh6raZBNU3/fb27sbKGwUFQM0fjfuOAv
|
||||||
|
4mNzo5XCbsgAC/PSs/5UNJpAcA67RoxmM9e+laOD64IKyZvnM2ZN4QFzaHMOmFoxDeJRhNS9+lkc
|
||||||
|
wn9uypEHn/AK3pUbNphxtXfuccVPVMHU61Gb5dSEj/ogREbY99z/lONL38//DiWEkMm8OBFU/SmN
|
||||||
|
Rmc+OKQhvPENYA8UqbPtHby8YraieuG1e8UQuyP5bgxDWmBRomMeDZz9dZgKIlmDFJm/NZI9O5EL
|
||||||
|
U+d+7iuDhnrEoWleA8bEOpL4MvUivqSkvDH0H9p/rcqCvRJ4BDf0SOYE67sjSlHNTGlhXZSjxXMp
|
||||||
|
jigl31cPrIhNDqZJ1cRzPTp6CMqE26UpuYzmQ72alu4bLfM37R6v5kd6+YTOKYHfR7CvKT41ZmP6
|
||||||
|
Awg+THFxgqaGbR51lUL1XaYk0j+X72X6vaY5FljdDLA2s+x5yGBF6Gz6MGjYGwhm3BWUEgejwrXm
|
||||||
|
Jvx8P5TZKVzzspI7oD0W2uGzZL1pCp2R9ee8Ax389vU9/bjDzc0HLt3FjhqZ3aHS5JyrS0Y8RSdM
|
||||||
|
duPqREw07dO3lMqaWvjGX6Rksc3vl3nrbObFXfYRYBxnBgvQamhf2uUPNVdltQ0uZXr4VrdiXWRM
|
||||||
|
dzmXfZMPYpD4nYGJIdsXzXp3GhtWFI1andNYN9hqqkkOW27/ujN5/Th/NbKLHmeKQk17i8kGHNpU
|
||||||
|
Dw+0dAnHvuUYc0eX9bZITC8vTYpNmUwT4+ufCo49EGQYdgEsYus1Ox2Nwq11p6mrnXQLAS35XSDU
|
||||||
|
UO1mZM1uuF/IrxffJsT3H1/KD2vJswP8jNy4KRJfTtAPRPUHe9x8eUwJ5lrd/OLKCwNvIWUNbRps
|
||||||
|
Jlvfc0FXKT9+PKNFN7ZBKETDunSeS1Hmq3MyL13aP156wydy6uy5i90CDzRsu3vQp6AobjEiDm1Z
|
||||||
|
xB4Kifs1SYvg+ES6bbqOuQ5Jjlu+GM4pk5kc8NBIBkeKqopLK9CODmgLng12IJlMGjbkxGt2d69O
|
||||||
|
PPkPLUkuSlA5z/mpeppjlbmL/fksXXcxZN/iL3ywraVmK4eSo64GxyNebVsYgml2O5miOhFhiNxk
|
||||||
|
3NhcNXxSM/MGUUijOglcL8YFOWHIe4KW9r+E8Kjm5PCH2dbUOZw/0XuPw5xtLm+2IlKE0h0HSkDv
|
||||||
|
GqDByHHFe3kNvFiAGGguOt3gASCSmspLuHHKSW9aasY2bpDTAw9ZwN0AfFlw9I38Ob8XQQxNuCaT
|
||||||
|
3BcgIlynT3aEz5IwckW/FOlgmTuuvcDAtBhUIVqX4HFBSeP/JIKot74bxwhKSA65bQfhIs6xVUHE
|
||||||
|
CRUieZ3Na4YeYIJqGOq17ZV7vcuDkJqAUbkRJ34mgIo+tRHHgAcIKf0skpuugIQXXIh6/D9fmubd
|
||||||
|
WsvgED+wBOqrPwxrB9qPxhUQgkH+jdUi2zUYiYGmZRXitrjmTDtmBEYsQTRek+MK4XCRaGa+WHBV
|
||||||
|
/IIrZArwy75P8JRdfQNJe3MiNxTP7b1m8XdDHO1lFI04UPnO8QYO082XAzcQFU2PX0OKRnHo5cCh
|
||||||
|
qP6gYKeAlaL2DbVnPCBCoCjl0loXzST3wnSNi/CHJ3vEWvFEx0PaxjHg8qbxioj2DchxIzMMWV+K
|
||||||
|
P1fGC7njrLyxmeW1G0WGW4OPsyHNa5WXusSq54akYJIvvkSHzyM8EhoXFaHx1QRbxW7AvckCJX3l
|
||||||
|
vu+G6oMlOPW2tXqy45P3aiFQJBCy42jYh8+jvd+n98PRHb9TUDC7SaBB1FR7DxDFPK5JXxM7SY3+
|
||||||
|
Ip71ZBnkHCXp5LW1I3EoSlkb1hnL38jUZ56b0mbvdMn/D82xWYiSd0GHay4QQbxMcHhc79Wi2m+b
|
||||||
|
tsL/Ggk20LhoE3N1UPtr6XvE4kDcGNYhtwRZyI7XAxLnsWM/iMJF8waR39M/pjZB7eBHHyc+dXZk
|
||||||
|
Shj59SHOSiULHxIdrEhrZOT7CBF1cl0G6QsAzdiqhz2fsegxDBfUPa+WSaAc/7qzoG06PZzlxmO1
|
||||||
|
tCnkadwwwR4kHZ0X3C6oQjvpAO8uUSjanKHTBwxA2+yaw54+oqmljLSXIVjCAH/Ali/5n+lvFP50
|
||||||
|
zsHHYI/z0QRz4WjfvTUru6g0TjmkhYNaxc/mSTVCMlPgdh7T9aAK/AcRkusqTyG3o9KqTOlq/iuw
|
||||||
|
+WRxUR1Z2pFdedDCuNLDdEmvZr5ecA8vx0ldsCMtcbjmKHlbEewojlRimG8lrrYRGAEYML0nXJid
|
||||||
|
17fe+AXTsg/eaxx1MZbJQ2F5XPpXuTN/z/MFBDDvuw5DYw79f3zcEqqM1/Cip9Wj9TkELHvNdu8r
|
||||||
|
O1dT5ZocJ66yzm+zIxbbBEyDk8t2lgW33ejVSMex37et1BV7LgvfuRXlF0Q8D5plTyhtuT6+meQ1
|
||||||
|
5LW4TueSC1+TF1AnusomCNeVpvaxgoWyb+QT8PFUDWgLF0raxo0bzJ/dczbQzRfr9BXJiG2LpqRF
|
||||||
|
uJdCWRuNEI2BCxI98DYRw7jGy7VKUBeYRVgcwLViEKokXvDy0Jy+u7GEh8ip2r6QxqSraYJWxjaX
|
||||||
|
TtrxG0dOJZlE9nlkuXmBK72KhCb3KSUaIroYZVC7dCTh3xY2kaReBfucixAVJJs8LuFK2LymL+Qx
|
||||||
|
+y1S7R9dmsc3CA8yckEmk/zqKGEAKa6c7juURcWYdkWNCebrAF0mlVJfDq6C9dgmsf39zvBWtz8i
|
||||||
|
Lbnf/fsdE5ogLNm8RhznOkMUpiZ9y1FYvFPCaCJEnfbzNNocaqu8iGLMdimAMLQKZdIhXo6Rdk8r
|
||||||
|
5glpMWJhADRwOIo78nhOYHj7TKQpzXQqIsCPVax8XQ8rasUqjkVnTLvRBnQTI56oJYjYRw3iE7tt
|
||||||
|
aMG9qsygvwpjnuhfcMOALj2yPq7Z2YOyIYVlYn05a2bKKGQ74DJ+MHWSoo+LdhYui6tEAEfqMBiA
|
||||||
|
d5OP1FJwyDr3B8lvdS9G9GMqcBe2PA6IA57Qvmz8LCTvX77ZGj49QcL03tDKuxv0WdZSQvgs8jo6
|
||||||
|
OYPumf5eumzGrEoXbo3Nvx3GwQ02PLtWUHxLrQ2+GklXE5lOod1tjifWnATWuLzCWJ/zjF2u83ie
|
||||||
|
RWHE2e6zLqz+hyxfzc7vk/qqiuxplzGfq9Qj/ICVD3+mbjrcBVnOuUyYKzBhN3kK3HLJUGLGcf2G
|
||||||
|
Mgic4/PD
|
||||||
|
`pragma protect end_protected
|
||||||
2070
hsdaoh_nano4k_test/fifo_hs/fifo_hs.vo
Normal file
2070
hsdaoh_nano4k_test/fifo_hs/fifo_hs.vo
Normal file
File diff suppressed because it is too large
Load diff
12
hsdaoh_nano4k_test/hsdaoh_nano4k_test.cst
Normal file
12
hsdaoh_nano4k_test/hsdaoh_nano4k_test.cst
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
IO_LOC "sys_resetn" 14;
|
||||||
|
IO_PORT "sys_resetn" PULL_MODE=UP;
|
||||||
|
IO_LOC "sys_clk" 45;
|
||||||
|
IO_PORT "sys_clk" IO_TYPE=LVCMOS33 PULL_MODE=UP;
|
||||||
|
IO_LOC "tmds_d_p[0]" 30,29;
|
||||||
|
IO_PORT "tmds_d_p[0]" PULL_MODE=NONE DRIVE=4;
|
||||||
|
IO_LOC "tmds_d_p[1]" 32,31;
|
||||||
|
IO_PORT "tmds_d_p[1]" PULL_MODE=NONE DRIVE=4;
|
||||||
|
IO_LOC "tmds_d_p[2]" 35,34;
|
||||||
|
IO_PORT "tmds_d_p[2]" PULL_MODE=NONE DRIVE=4;
|
||||||
|
IO_LOC "tmds_clk_p" 28,27;
|
||||||
|
IO_PORT "tmds_clk_p" PULL_MODE=NONE DRIVE=4;
|
||||||
1
hsdaoh_nano4k_test/hsdaoh_nano4k_test.sdc
Normal file
1
hsdaoh_nano4k_test/hsdaoh_nano4k_test.sdc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
create_clock -name sys_clk -period 37.04 [get_ports {sys_clk}] -add
|
||||||
176
hsdaoh_nano4k_test/top.v
Normal file
176
hsdaoh_nano4k_test/top.v
Normal file
|
|
@ -0,0 +1,176 @@
|
||||||
|
// hsdaoh - High Speed Data Acquisition over HDMI
|
||||||
|
// Test top design for Tang Nano 4K
|
||||||
|
// Copyright (C) 2024 by Steve Markgraf <steve@steve-m.de>
|
||||||
|
// License: MIT
|
||||||
|
|
||||||
|
module top (
|
||||||
|
sys_clk,
|
||||||
|
sys_resetn,
|
||||||
|
tmds_clk_n,
|
||||||
|
tmds_clk_p,
|
||||||
|
tmds_d_n,
|
||||||
|
tmds_d_p
|
||||||
|
);
|
||||||
|
input sys_clk;
|
||||||
|
input sys_resetn;
|
||||||
|
output wire tmds_clk_n;
|
||||||
|
output wire tmds_clk_p;
|
||||||
|
output wire [2:0] tmds_d_n;
|
||||||
|
output wire [2:0] tmds_d_p;
|
||||||
|
|
||||||
|
wire [2:0] tmds;
|
||||||
|
wire clk_pixel;
|
||||||
|
wire clk_pixel_x5;
|
||||||
|
wire hdmi_pll_lock;
|
||||||
|
|
||||||
|
wire clk_data;
|
||||||
|
wire data_pll_lock;
|
||||||
|
|
||||||
|
// https://juj.github.io/gowin_fpga_code_generators/pll_calculator.html
|
||||||
|
// 345.6 MHz, maximum that works with my nano 4K
|
||||||
|
// 345.6/5 = 69.12 MHz
|
||||||
|
localparam HDMI_PLL_IDIV = 4;
|
||||||
|
localparam HDMI_PLL_FBDIV = 63;
|
||||||
|
localparam HDMI_PLL_ODIV = 2;
|
||||||
|
|
||||||
|
wire rst;
|
||||||
|
assign rst = ~sys_resetn;
|
||||||
|
|
||||||
|
// PLL for HDMI clock
|
||||||
|
PLLVR #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (HDMI_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (HDMI_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (HDMI_PLL_ODIV),
|
||||||
|
.DEVICE ("GW1NSR-4C")
|
||||||
|
) hdmi_pll (
|
||||||
|
.CLKIN(sys_clk),
|
||||||
|
.CLKFB(1'b0),
|
||||||
|
.RESET(rst),
|
||||||
|
.RESET_P(1'b0),
|
||||||
|
.FBDSEL(6'b0),
|
||||||
|
.IDSEL(6'b0),
|
||||||
|
.ODSEL(6'b0),
|
||||||
|
.DUTYDA(4'b0),
|
||||||
|
.PSDA(4'b0),
|
||||||
|
.FDLY(4'b0),
|
||||||
|
.CLKOUT(clk_pixel_x5),
|
||||||
|
.LOCK(hdmi_pll_lock),
|
||||||
|
.CLKOUTP(),
|
||||||
|
.CLKOUTD(),
|
||||||
|
.CLKOUTD3(),
|
||||||
|
.VREN(1'b1)
|
||||||
|
);
|
||||||
|
|
||||||
|
CLKDIV #(
|
||||||
|
.DIV_MODE(5),
|
||||||
|
.GSREN("false")
|
||||||
|
) div_5 (
|
||||||
|
.CLKOUT(clk_pixel),
|
||||||
|
.HCLKIN(clk_pixel_x5),
|
||||||
|
.RESETN(hdmi_pll_lock),
|
||||||
|
.CALIB(1'b0)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 59.4 MHz (4/10/16) data clock (with proprietary, encrypted FIFO)
|
||||||
|
localparam DATA_PLL_IDIV = 4;
|
||||||
|
localparam DATA_PLL_FBDIV = 10;
|
||||||
|
localparam DATA_PLL_ODIV = 16;
|
||||||
|
|
||||||
|
// PLL for data clock
|
||||||
|
PLLVR #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (DATA_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (DATA_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (DATA_PLL_ODIV),
|
||||||
|
.DEVICE ("GW1NSR-4C")
|
||||||
|
) data_pll (
|
||||||
|
.CLKIN (sys_clk),
|
||||||
|
.CLKFB (1'b0),
|
||||||
|
.RESET (rst),
|
||||||
|
.RESET_P (1'b0),
|
||||||
|
.FBDSEL (6'b0),
|
||||||
|
.IDSEL (6'b0),
|
||||||
|
.ODSEL (6'b0),
|
||||||
|
.DUTYDA (4'b0),
|
||||||
|
.PSDA (4'b0),
|
||||||
|
.FDLY (4'b0),
|
||||||
|
.CLKOUT (clk_data),
|
||||||
|
.LOCK (data_pll_lock),
|
||||||
|
.CLKOUTP (),
|
||||||
|
.CLKOUTD (),
|
||||||
|
.CLKOUTD3 (),
|
||||||
|
.VREN (1'b1)
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [15:0] counter = 16'h0000;
|
||||||
|
|
||||||
|
reg [15:0] fifo_in;
|
||||||
|
|
||||||
|
wire write_enable;
|
||||||
|
|
||||||
|
wire [15:0] fifo_out;
|
||||||
|
wire fifo_empty;
|
||||||
|
wire fifo_aempty;
|
||||||
|
wire Full_o;
|
||||||
|
|
||||||
|
wire FifoHalfFull;
|
||||||
|
wire FifoFull;
|
||||||
|
|
||||||
|
wire fifo_rd_en_i;
|
||||||
|
/*
|
||||||
|
async_fifo #(
|
||||||
|
.DSIZE(16),
|
||||||
|
.ASIZE($clog2(8192*2)), // 3 + (1982 * 4) = 7931 => at least 8K entries to buffer 4 lines during VSYNC
|
||||||
|
.FALLTHROUGH("FALSE")
|
||||||
|
) fifo (
|
||||||
|
.wclk(clk_data),
|
||||||
|
.wrst_n(hdmi_pll_lock),
|
||||||
|
.winc(write_enable),
|
||||||
|
.wdata(fifo_in),
|
||||||
|
.wfull(FifoFull),
|
||||||
|
.awfull(FifoHalfFull), //fixme
|
||||||
|
.rclk(clk_pixel),
|
||||||
|
.rrst_n(hdmi_pll_lock),
|
||||||
|
.rinc(fifo_rd_en_i),
|
||||||
|
.rdata(fifo_out),
|
||||||
|
.rempty(fifo_empty),
|
||||||
|
.arempty(fifo_aempty)
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
FIFO_HS_Top fifo(
|
||||||
|
.Data(fifo_in), //input [0:0] Data
|
||||||
|
.WrClk(clk_data), //input WrClk
|
||||||
|
.RdClk(clk_pixel), //input RdClk
|
||||||
|
.WrEn(write_enable), //input WrEn
|
||||||
|
.RdEn(fifo_rd_en_i), //input RdEn
|
||||||
|
.Almost_Empty(fifo_aempty), //output Almost_Empty
|
||||||
|
.Q(fifo_out), //output [0:0] Q
|
||||||
|
.Empty(fifo_empty), //output Empty
|
||||||
|
.Full(FifoFull) //output Full
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
hsdaoh_core hsdaoh (
|
||||||
|
.rstn(hdmi_pll_lock),
|
||||||
|
.tmds_clk_n(tmds_clk_n),
|
||||||
|
.tmds_clk_p(tmds_clk_p),
|
||||||
|
.tmds_d_n(tmds_d_n),
|
||||||
|
.tmds_d_p(tmds_d_p),
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.fifo_empty(fifo_empty),
|
||||||
|
.fifo_aempty(fifo_aempty),
|
||||||
|
.fifo_read_en(fifo_rd_en_i),
|
||||||
|
.data_in(fifo_out)
|
||||||
|
);
|
||||||
|
|
||||||
|
assign write_enable = 1'b1;
|
||||||
|
|
||||||
|
always @(posedge clk_data) begin
|
||||||
|
fifo_in <= counter[15:0];
|
||||||
|
counter <= counter + 1'b1;
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
26
hsdaoh_nano9k_test.gprj
Normal file
26
hsdaoh_nano9k_test.gprj
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE gowin-fpga-project>
|
||||||
|
<Project>
|
||||||
|
<Template>FPGA</Template>
|
||||||
|
<Version>5</Version>
|
||||||
|
<Device name="GW1NR-9C" pn="GW1NR-LV9QN88PC6/I5">gw1nr9c-004</Device>
|
||||||
|
<FileList>
|
||||||
|
<File path="common/async_fifo/async_fifo.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/fifomem.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/rptr_empty.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/sync_r2w.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/sync_w2r.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/async_fifo/wptr_full.v" type="file.verilog" enable="0"/>
|
||||||
|
<File path="common/hdmi/auxiliary_video_information_info_frame.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/hdmi.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_assembler.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_picker.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/serializer.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/tmds_channel.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hsdaoh/hsdaoh_core.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano9k_test/fifo_hs/fifo_hs.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano9k_test/top.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano9k_test/hsdaoh_nano9k_test.cst" type="file.cst" enable="1"/>
|
||||||
|
<File path="hsdaoh_nano9k_test/hsdaoh_nano9k_test.sdc" type="file.sdc" enable="1"/>
|
||||||
|
</FileList>
|
||||||
|
</Project>
|
||||||
35
hsdaoh_nano9k_test/fifo_hs/fifo_hs.ipc
Normal file
35
hsdaoh_nano9k_test/fifo_hs/fifo_hs.ipc
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[General]
|
||||||
|
ipc_version=4
|
||||||
|
file=fifo_hs
|
||||||
|
module=FIFO_HS_Top
|
||||||
|
target_device=gw1nr9c-004
|
||||||
|
type=fifo_hs
|
||||||
|
version=1.0
|
||||||
|
|
||||||
|
[Config]
|
||||||
|
AlmostEmptyFlag=true
|
||||||
|
AlmostEmptyFlagItem=Empty_Single Threshold Constant Parameter
|
||||||
|
AlmostFullFlag=false
|
||||||
|
AlmostFullFlagItem=Full_Single Threshold Constant Parameter
|
||||||
|
BSRAM=true
|
||||||
|
ControlledByRdEn=false
|
||||||
|
ECCSelected=false
|
||||||
|
EmptyClear=1
|
||||||
|
EmptySet=1
|
||||||
|
EnReset=false
|
||||||
|
FirstWordFallThrough=false
|
||||||
|
FullClear=1
|
||||||
|
FullSet=1
|
||||||
|
LANG=0
|
||||||
|
OutputRegistersSelected=false
|
||||||
|
REG=false
|
||||||
|
ReadDataNum=false
|
||||||
|
ReadDataWidth=16
|
||||||
|
ReadDepth=8192
|
||||||
|
ResetSynchronization=false
|
||||||
|
SSRAM=false
|
||||||
|
StandardFIFO=true
|
||||||
|
Synthesis_tool=GowinSynthesis
|
||||||
|
WriteDataNum=false
|
||||||
|
WriteDataWidth=16
|
||||||
|
WriteDepth=8192
|
||||||
811
hsdaoh_nano9k_test/fifo_hs/fifo_hs.v
Normal file
811
hsdaoh_nano9k_test/fifo_hs/fifo_hs.v
Normal file
|
|
@ -0,0 +1,811 @@
|
||||||
|
//
|
||||||
|
//Written by GowinSynthesis
|
||||||
|
//Product Version "V1.9.9 Beta-4 Education"
|
||||||
|
//Tue Apr 30 01:00:04 2024
|
||||||
|
|
||||||
|
//Source file index table:
|
||||||
|
//file0 "\/home/miracle/Downloads/Gowin_V1.9.9Beta-4_Education/IDE/ipcore/FIFO_HS/data/fifo_hs.v"
|
||||||
|
//file1 "\/home/miracle/Downloads/Gowin_V1.9.9Beta-4_Education/IDE/ipcore/FIFO_HS/data/fifo_hs_top.v"
|
||||||
|
`pragma protect begin_protected
|
||||||
|
`pragma protect version="2.3"
|
||||||
|
`pragma protect author="default"
|
||||||
|
`pragma protect author_info="default"
|
||||||
|
`pragma protect encrypt_agent="GOWIN"
|
||||||
|
`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
|
||||||
|
|
||||||
|
`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
|
||||||
|
`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
|
||||||
|
`pragma protect key_block
|
||||||
|
cFD6mgVY1usg3+48x9owyCEr+bdaJ29++StKKKabGFKo4aHUuJA3v9bgkwKAsDNUzhGfEEBDqjav
|
||||||
|
0sIOyrvvg5a9bc1Au6EWitkoSHP477PR2uwW3+Nqofiw9de9t4V3CZUOjGpf7i0h6U+2idzYnr2p
|
||||||
|
wu2lcZ1yLsYPtI3SZf+/8B8QTApNO+GKJhhUaKzqoxQmvycd8zu2mNnlTrgQynv+VcjDr7NuIgPy
|
||||||
|
CXYlOjz7YYND/4VvllKEqzYC+cOZF1/QLn/IBZWo88COe2r1HnWc4TvBUNA8Pmctj7AY/55YPKbX
|
||||||
|
CIE40q7O2knfx5yGqXnQsl1AJdeAMJs41TBAhQ==
|
||||||
|
|
||||||
|
`pragma protect encoding=(enctype="base64", line_length=76, bytes=44512)
|
||||||
|
`pragma protect data_keyowner="default-ip-vendor"
|
||||||
|
`pragma protect data_keyname="default-ip-key"
|
||||||
|
`pragma protect data_method="aes128-cfb"
|
||||||
|
`pragma protect data_block
|
||||||
|
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
|
||||||
|
`pragma protect end_protected
|
||||||
1967
hsdaoh_nano9k_test/fifo_hs/fifo_hs.vo
Normal file
1967
hsdaoh_nano9k_test/fifo_hs/fifo_hs.vo
Normal file
File diff suppressed because it is too large
Load diff
12
hsdaoh_nano9k_test/hsdaoh_nano9k_test.cst
Normal file
12
hsdaoh_nano9k_test/hsdaoh_nano9k_test.cst
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
IO_LOC "sys_resetn" 4;
|
||||||
|
IO_PORT "sys_resetn" PULL_MODE=UP;
|
||||||
|
IO_LOC "sys_clk" 52;
|
||||||
|
IO_PORT "sys_clk" IO_TYPE=LVCMOS33 PULL_MODE=UP;
|
||||||
|
IO_LOC "tmds_d_p[0]" 71,70;
|
||||||
|
IO_PORT "tmds_d_p[0]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_d_p[1]" 73,72;
|
||||||
|
IO_PORT "tmds_d_p[1]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_d_p[2]" 75,74;
|
||||||
|
IO_PORT "tmds_d_p[2]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_clk_p" 69,68;
|
||||||
|
IO_PORT "tmds_clk_p" PULL_MODE=NONE DRIVE=8;
|
||||||
1
hsdaoh_nano9k_test/hsdaoh_nano9k_test.sdc
Normal file
1
hsdaoh_nano9k_test/hsdaoh_nano9k_test.sdc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
create_clock -name sys_clk -period 37.04 [get_ports {sys_clk}] -add
|
||||||
172
hsdaoh_nano9k_test/top.v
Normal file
172
hsdaoh_nano9k_test/top.v
Normal file
|
|
@ -0,0 +1,172 @@
|
||||||
|
// hsdaoh - High Speed Data Acquisition over HDMI
|
||||||
|
// Test top design for Tang Nano 9K
|
||||||
|
// Copyright (C) 2024 by Steve Markgraf <steve@steve-m.de>
|
||||||
|
// License: MIT
|
||||||
|
|
||||||
|
module top (
|
||||||
|
sys_clk,
|
||||||
|
sys_resetn,
|
||||||
|
tmds_clk_n,
|
||||||
|
tmds_clk_p,
|
||||||
|
tmds_d_n,
|
||||||
|
tmds_d_p
|
||||||
|
);
|
||||||
|
input sys_clk;
|
||||||
|
input sys_resetn;
|
||||||
|
output wire tmds_clk_n;
|
||||||
|
output wire tmds_clk_p;
|
||||||
|
output wire [2:0] tmds_d_n;
|
||||||
|
output wire [2:0] tmds_d_p;
|
||||||
|
|
||||||
|
wire [2:0] tmds;
|
||||||
|
wire clk_pixel;
|
||||||
|
wire clk_pixel_x5;
|
||||||
|
wire hdmi_pll_lock;
|
||||||
|
|
||||||
|
wire clk_data;
|
||||||
|
wire data_pll_lock;
|
||||||
|
|
||||||
|
// https://juj.github.io/gowin_fpga_code_generators/pll_calculator.html
|
||||||
|
// 337.5 MHz, maximum that works with my nano 9K
|
||||||
|
// 337.5/5 = 67.5 MHz
|
||||||
|
localparam HDMI_PLL_IDIV = 1;
|
||||||
|
localparam HDMI_PLL_FBDIV = 24;
|
||||||
|
localparam HDMI_PLL_ODIV = 2;
|
||||||
|
|
||||||
|
// PLL for HDMI clock
|
||||||
|
rPLL #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (HDMI_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (HDMI_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (HDMI_PLL_ODIV),
|
||||||
|
.DEVICE ("GW1NR-9C")
|
||||||
|
) hdmi_pll (
|
||||||
|
.CLKIN(sys_clk),
|
||||||
|
.CLKFB(1'b0),
|
||||||
|
.RESET(1'b0),
|
||||||
|
.RESET_P(1'b0),
|
||||||
|
.FBDSEL(6'b0),
|
||||||
|
.IDSEL(6'b0),
|
||||||
|
.ODSEL(6'b0),
|
||||||
|
.DUTYDA(4'b0),
|
||||||
|
.PSDA(4'b0),
|
||||||
|
.FDLY(4'b0),
|
||||||
|
.CLKOUT(clk_pixel_x5),
|
||||||
|
.LOCK(hdmi_pll_lock),
|
||||||
|
.CLKOUTP(),
|
||||||
|
.CLKOUTD(),
|
||||||
|
.CLKOUTD3()
|
||||||
|
);
|
||||||
|
|
||||||
|
CLKDIV #(
|
||||||
|
.DIV_MODE(5),
|
||||||
|
.GSREN("false")
|
||||||
|
) div_5 (
|
||||||
|
.CLKOUT(clk_pixel),
|
||||||
|
.HCLKIN(clk_pixel_x5),
|
||||||
|
.RESETN(hdmi_pll_lock),
|
||||||
|
.CALIB(1'b0)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 40.5 MHz (1/2/16) is maximum that works with 'open source' fifo
|
||||||
|
// 51 MHz (8/16/8) data clock (with proprietary, encrypted FIFO)
|
||||||
|
localparam DATA_PLL_IDIV = 8;
|
||||||
|
localparam DATA_PLL_FBDIV = 16;
|
||||||
|
localparam DATA_PLL_ODIV = 8;
|
||||||
|
|
||||||
|
// PLL for data clock
|
||||||
|
rPLL #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (DATA_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (DATA_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (DATA_PLL_ODIV),
|
||||||
|
.DEVICE ("GW1NR-9C")
|
||||||
|
) data_pll (
|
||||||
|
.CLKIN (sys_clk),
|
||||||
|
.CLKFB (1'b0),
|
||||||
|
.RESET (rst),
|
||||||
|
.RESET_P (1'b0),
|
||||||
|
.FBDSEL (6'b0),
|
||||||
|
.IDSEL (6'b0),
|
||||||
|
.ODSEL (6'b0),
|
||||||
|
.DUTYDA (4'b0),
|
||||||
|
.PSDA (4'b0),
|
||||||
|
.FDLY (4'b0),
|
||||||
|
.CLKOUT (clk_data),
|
||||||
|
.LOCK (data_pll_lock),
|
||||||
|
.CLKOUTP (),
|
||||||
|
.CLKOUTD (),
|
||||||
|
.CLKOUTD3 ()
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [15:0] counter = 16'h0000;
|
||||||
|
|
||||||
|
reg [15:0] fifo_in;
|
||||||
|
|
||||||
|
wire write_enable;
|
||||||
|
|
||||||
|
wire [15:0] fifo_out;
|
||||||
|
wire fifo_empty;
|
||||||
|
wire fifo_aempty;
|
||||||
|
wire Full_o;
|
||||||
|
|
||||||
|
wire FifoHalfFull;
|
||||||
|
wire FifoFull;
|
||||||
|
|
||||||
|
wire fifo_rd_en_i;
|
||||||
|
/*
|
||||||
|
async_fifo #(
|
||||||
|
.DSIZE(16),
|
||||||
|
.ASIZE($clog2(8192*2)), // 3 + (1982 * 4) = 7931 => at least 8K entries to buffer 4 lines during VSYNC
|
||||||
|
.FALLTHROUGH("FALSE")
|
||||||
|
) fifo (
|
||||||
|
.wclk(clk_data),
|
||||||
|
.wrst_n(hdmi_pll_lock),
|
||||||
|
.winc(write_enable),
|
||||||
|
.wdata(fifo_in),
|
||||||
|
.wfull(FifoFull),
|
||||||
|
.awfull(FifoHalfFull), //fixme
|
||||||
|
.rclk(clk_pixel),
|
||||||
|
.rrst_n(hdmi_pll_lock),
|
||||||
|
.rinc(fifo_rd_en_i),
|
||||||
|
.rdata(fifo_out),
|
||||||
|
.rempty(fifo_empty),
|
||||||
|
.arempty(fifo_aempty)
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
FIFO_HS_Top fifo(
|
||||||
|
.Data(fifo_in), //input [0:0] Data
|
||||||
|
.WrClk(clk_data), //input WrClk
|
||||||
|
.RdClk(clk_pixel), //input RdClk
|
||||||
|
.WrEn(write_enable), //input WrEn
|
||||||
|
.RdEn(fifo_rd_en_i), //input RdEn
|
||||||
|
.Almost_Empty(fifo_aempty), //output Almost_Empty
|
||||||
|
.Q(fifo_out), //output [0:0] Q
|
||||||
|
.Empty(fifo_empty), //output Empty
|
||||||
|
.Full(FifoFull) //output Full
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
hsdaoh_core hsdaoh (
|
||||||
|
.rstn(hdmi_pll_lock),
|
||||||
|
.tmds_clk_n(tmds_clk_n),
|
||||||
|
.tmds_clk_p(tmds_clk_p),
|
||||||
|
.tmds_d_n(tmds_d_n),
|
||||||
|
.tmds_d_p(tmds_d_p),
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.fifo_empty(fifo_empty),
|
||||||
|
.fifo_aempty(fifo_aempty),
|
||||||
|
.fifo_read_en(fifo_rd_en_i),
|
||||||
|
.data_in(fifo_out)
|
||||||
|
);
|
||||||
|
|
||||||
|
assign write_enable = 1'b1;
|
||||||
|
|
||||||
|
always @(posedge clk_data) begin
|
||||||
|
fifo_in <= counter[15:0];
|
||||||
|
counter <= counter + 1'b1;
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
25
hsdaoh_primer20k_test.gprj
Normal file
25
hsdaoh_primer20k_test.gprj
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE gowin-fpga-project>
|
||||||
|
<Project>
|
||||||
|
<Template>FPGA</Template>
|
||||||
|
<Version>5</Version>
|
||||||
|
<Device name="GW2A-18C" pn="GW2A-LV18PG256C8/I7">gw2a18c-011</Device>
|
||||||
|
<FileList>
|
||||||
|
<File path="common/async_fifo/async_fifo.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/fifomem.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/rptr_empty.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/sync_r2w.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/sync_w2r.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/wptr_full.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/auxiliary_video_information_info_frame.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/hdmi.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_assembler.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_picker.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/serializer.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/tmds_channel.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hsdaoh/hsdaoh_core.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_primer20k_test/top.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_primer20k_test/hsdaoh_primer20k_test.cst" type="file.cst" enable="1"/>
|
||||||
|
<File path="hsdaoh_primer20k_test/hsdaoh_primer20k_test.sdc" type="file.sdc" enable="1"/>
|
||||||
|
</FileList>
|
||||||
|
</Project>
|
||||||
13
hsdaoh_primer20k_test/hsdaoh_primer20k_test.cst
Normal file
13
hsdaoh_primer20k_test/hsdaoh_primer20k_test.cst
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
IO_LOC "sys_resetn" T10;
|
||||||
|
IO_PORT "sys_resetn" IO_TYPE=LVCMOS33 PULL_MODE=UP;
|
||||||
|
IO_LOC "sys_clk" H11;
|
||||||
|
//IO_PORT "sys_clk" IO_TYPE=LVCMOS33 PULL_MODE=UP;
|
||||||
|
IO_PORT "sys_clk" PULL_MODE=UP;
|
||||||
|
IO_LOC "tmds_d_p[0]" H14,H16;
|
||||||
|
IO_PORT "tmds_d_p[0]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_d_p[1]" J15,K16;
|
||||||
|
IO_PORT "tmds_d_p[1]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_d_p[2]" K14,K15;
|
||||||
|
IO_PORT "tmds_d_p[2]" PULL_MODE=NONE DRIVE=8;
|
||||||
|
IO_LOC "tmds_clk_p" G16,H15;
|
||||||
|
IO_PORT "tmds_clk_p" PULL_MODE=NONE DRIVE=8;
|
||||||
2
hsdaoh_primer20k_test/hsdaoh_primer20k_test.sdc
Normal file
2
hsdaoh_primer20k_test/hsdaoh_primer20k_test.sdc
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
create_clock -name sys_clk -period 37.04 [get_ports {sys_clk}] -add
|
||||||
|
//create_clock -name adc_clkout -period 12.3 [get_ports {adc_clkout}] -add
|
||||||
157
hsdaoh_primer20k_test/top.v
Normal file
157
hsdaoh_primer20k_test/top.v
Normal file
|
|
@ -0,0 +1,157 @@
|
||||||
|
// hsdaoh - High Speed Data Acquisition over HDMI
|
||||||
|
// Test top design for Tang Primer 20K
|
||||||
|
// Copyright (C) 2024 by Steve Markgraf <steve@steve-m.de>
|
||||||
|
// License: MIT
|
||||||
|
|
||||||
|
module top (
|
||||||
|
sys_clk,
|
||||||
|
sys_resetn,
|
||||||
|
enable,
|
||||||
|
tmds_clk_n,
|
||||||
|
tmds_clk_p,
|
||||||
|
tmds_d_n,
|
||||||
|
tmds_d_p
|
||||||
|
);
|
||||||
|
input sys_clk;
|
||||||
|
input sys_resetn;
|
||||||
|
input wire enable;
|
||||||
|
output wire tmds_clk_n;
|
||||||
|
output wire tmds_clk_p;
|
||||||
|
output wire [2:0] tmds_d_n;
|
||||||
|
output wire [2:0] tmds_d_p;
|
||||||
|
|
||||||
|
wire [2:0] tmds;
|
||||||
|
wire clk_pixel;
|
||||||
|
wire clk_pixel_x5;
|
||||||
|
wire hdmi_pll_lock;
|
||||||
|
|
||||||
|
wire clk_data;
|
||||||
|
wire data_pll_lock;
|
||||||
|
|
||||||
|
// 477 MHz, maximum that works with the primer 20K
|
||||||
|
// 477/5 = 95.4 MHz
|
||||||
|
localparam HDMI_PLL_IDIV = 2;
|
||||||
|
localparam HDMI_PLL_FBDIV = 52;
|
||||||
|
localparam HDMI_PLL_ODIV = 2;
|
||||||
|
|
||||||
|
// PLL for HDMI clock
|
||||||
|
rPLL #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (HDMI_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (HDMI_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (HDMI_PLL_ODIV),
|
||||||
|
.DEVICE ("GW2A-18C")
|
||||||
|
) hdmi_pll (
|
||||||
|
.CLKIN(sys_clk),
|
||||||
|
.CLKFB(1'b0),
|
||||||
|
.RESET(1'b0),
|
||||||
|
.RESET_P(1'b0),
|
||||||
|
.FBDSEL(6'b0),
|
||||||
|
.IDSEL(6'b0),
|
||||||
|
.ODSEL(6'b0),
|
||||||
|
.DUTYDA(4'b0),
|
||||||
|
.PSDA(4'b0),
|
||||||
|
.FDLY(4'b0),
|
||||||
|
.CLKOUT(clk_pixel_x5),
|
||||||
|
.LOCK(hdmi_pll_lock),
|
||||||
|
.CLKOUTP(),
|
||||||
|
.CLKOUTD(),
|
||||||
|
.CLKOUTD3()
|
||||||
|
);
|
||||||
|
|
||||||
|
CLKDIV #(
|
||||||
|
.DIV_MODE(5),
|
||||||
|
.GSREN("false")
|
||||||
|
) div_5 (
|
||||||
|
.CLKOUT(clk_pixel),
|
||||||
|
.HCLKIN(clk_pixel_x5),
|
||||||
|
.RESETN(hdmi_pll_lock),
|
||||||
|
.CALIB(1'b0)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 91.8 MHz clock for data
|
||||||
|
localparam DATA_PLL_IDIV = 4;
|
||||||
|
localparam DATA_PLL_FBDIV = 16;
|
||||||
|
localparam DATA_PLL_ODIV = 8;
|
||||||
|
|
||||||
|
// PLL for data clock
|
||||||
|
rPLL #(
|
||||||
|
.FCLKIN (27),
|
||||||
|
.IDIV_SEL (DATA_PLL_IDIV),
|
||||||
|
.FBDIV_SEL (DATA_PLL_FBDIV),
|
||||||
|
.ODIV_SEL (DATA_PLL_ODIV),
|
||||||
|
.DEVICE ("GW2A-18C")
|
||||||
|
) data_pll (
|
||||||
|
.CLKIN (sys_clk),
|
||||||
|
.CLKFB (1'b0),
|
||||||
|
.RESET (rst),
|
||||||
|
.RESET_P (1'b0),
|
||||||
|
.FBDSEL (6'b0),
|
||||||
|
.IDSEL (6'b0),
|
||||||
|
.ODSEL (6'b0),
|
||||||
|
.DUTYDA (4'b0),
|
||||||
|
.PSDA (4'b0),
|
||||||
|
.FDLY (4'b0),
|
||||||
|
.CLKOUT (clk_data),
|
||||||
|
.LOCK (data_pll_lock),
|
||||||
|
.CLKOUTP (),
|
||||||
|
.CLKOUTD (),
|
||||||
|
.CLKOUTD3 ()
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [15:0] counter = 16'h0000;
|
||||||
|
|
||||||
|
reg [15:0] fifo_in;
|
||||||
|
|
||||||
|
wire write_enable;
|
||||||
|
|
||||||
|
wire [15:0] fifo_out;
|
||||||
|
wire fifo_empty;
|
||||||
|
wire fifo_aempty;
|
||||||
|
wire Full_o;
|
||||||
|
|
||||||
|
wire FifoHalfFull;
|
||||||
|
wire FifoFull;
|
||||||
|
|
||||||
|
wire fifo_rd_en_i;
|
||||||
|
async_fifo #(
|
||||||
|
.DSIZE(16),
|
||||||
|
.ASIZE($clog2(16384)), // 3 + (1982 * 4) = 7931 => at least 8K entries to buffer 4 lines during VSYNC
|
||||||
|
.FALLTHROUGH("FALSE")
|
||||||
|
) fifo (
|
||||||
|
.wclk(clk_data),
|
||||||
|
.wrst_n(hdmi_pll_lock),
|
||||||
|
.winc(write_enable),
|
||||||
|
.wdata(fifo_in),
|
||||||
|
.wfull(FifoFull),
|
||||||
|
.awfull(FifoHalfFull), //fixme
|
||||||
|
.rclk(clk_pixel),
|
||||||
|
.rrst_n(hdmi_pll_lock),
|
||||||
|
.rinc(fifo_rd_en_i),
|
||||||
|
.rdata(fifo_out),
|
||||||
|
.rempty(fifo_empty),
|
||||||
|
.arempty(fifo_aempty)
|
||||||
|
);
|
||||||
|
|
||||||
|
hsdaoh_core hsdaoh (
|
||||||
|
.rstn(hdmi_pll_lock),
|
||||||
|
.tmds_clk_n(tmds_clk_n),
|
||||||
|
.tmds_clk_p(tmds_clk_p),
|
||||||
|
.tmds_d_n(tmds_d_n),
|
||||||
|
.tmds_d_p(tmds_d_p),
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.fifo_empty(fifo_empty),
|
||||||
|
.fifo_aempty(fifo_aempty),
|
||||||
|
.fifo_read_en(fifo_rd_en_i),
|
||||||
|
.data_in(fifo_out)
|
||||||
|
);
|
||||||
|
|
||||||
|
assign write_enable = 1'b1;
|
||||||
|
|
||||||
|
always @(posedge clk_data) begin
|
||||||
|
fifo_in <= counter[15:0];
|
||||||
|
counter <= counter + 1'b1;
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
25
hsdaoh_primer25k_test.gprj
Normal file
25
hsdaoh_primer25k_test.gprj
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE gowin-fpga-project>
|
||||||
|
<Project>
|
||||||
|
<Template>FPGA</Template>
|
||||||
|
<Version>5</Version>
|
||||||
|
<Device name="GW5A-25A" pn="GW5A-LV25MG121NC1/I0">gw5a25a-002</Device>
|
||||||
|
<FileList>
|
||||||
|
<File path="common/async_fifo/async_fifo.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/fifomem.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/rptr_empty.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/sync_r2w.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/sync_w2r.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/async_fifo/wptr_full.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/auxiliary_video_information_info_frame.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/hdmi.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_assembler.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/packet_picker.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/serializer.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hdmi/tmds_channel.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="common/hsdaoh/hsdaoh_core.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_primer25k_test/top.v" type="file.verilog" enable="1"/>
|
||||||
|
<File path="hsdaoh_primer25k_test/hsdaoh_primer25k_test.cst" type="file.cst" enable="1"/>
|
||||||
|
<File path="hsdaoh_primer25k_test/hsdaoh_primer25k_test.sdc" type="file.sdc" enable="1"/>
|
||||||
|
</FileList>
|
||||||
|
</Project>
|
||||||
15
hsdaoh_primer25k_test/hsdaoh_primer25k_test.cst
Normal file
15
hsdaoh_primer25k_test/hsdaoh_primer25k_test.cst
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
IO_LOC "sys_resetn" H11;
|
||||||
|
IO_PORT "sys_resetn" IO_TYPE=LVCMOS33 PULL_MODE=DOWN DRIVE=OFF BANK_VCCIO=3.3;
|
||||||
|
|
||||||
|
// middle PMOD connector for HDMI
|
||||||
|
IO_LOC "tmds_clk_p" L5,K5;
|
||||||
|
IO_PORT "tmds_clk_p" IO_TYPE=LVCMOS33D PULL_MODE=NONE DRIVE=8 BANK_VCCIO=3.3;
|
||||||
|
IO_LOC "tmds_d_p[0]" K11,L11;
|
||||||
|
IO_PORT "tmds_d_p[0]" IO_TYPE=LVCMOS33D PULL_MODE=NONE DRIVE=8 BANK_VCCIO=3.3;
|
||||||
|
IO_LOC "tmds_d_p[1]" E11,E10;
|
||||||
|
IO_PORT "tmds_d_p[1]" IO_TYPE=LVCMOS33D PULL_MODE=NONE DRIVE=8 BANK_VCCIO=3.3;
|
||||||
|
IO_LOC "tmds_d_p[2]" A11,A10;
|
||||||
|
IO_PORT "tmds_d_p[2]" IO_TYPE=LVCMOS33D PULL_MODE=NONE DRIVE=8 BANK_VCCIO=3.3;
|
||||||
|
|
||||||
|
IO_LOC "sys_clk" E2;
|
||||||
|
IO_PORT "sys_clk" IO_TYPE=LVCMOS33 PULL_MODE=NONE DRIVE=OFF BANK_VCCIO=3.3;
|
||||||
1
hsdaoh_primer25k_test/hsdaoh_primer25k_test.sdc
Normal file
1
hsdaoh_primer25k_test/hsdaoh_primer25k_test.sdc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
create_clock -name sys_clk -period 20 [get_ports {sys_clk}] -add
|
||||||
195
hsdaoh_primer25k_test/top.v
Normal file
195
hsdaoh_primer25k_test/top.v
Normal file
|
|
@ -0,0 +1,195 @@
|
||||||
|
// hsdaoh - High Speed Data Acquisition over HDMI
|
||||||
|
// Test top design for Tang Primer 25K
|
||||||
|
// Copyright (C) 2024 by Steve Markgraf <steve@steve-m.de>
|
||||||
|
// License: MIT
|
||||||
|
|
||||||
|
module top (
|
||||||
|
sys_clk,
|
||||||
|
sys_resetn,
|
||||||
|
tmds_clk_n,
|
||||||
|
tmds_clk_p,
|
||||||
|
tmds_d_n,
|
||||||
|
tmds_d_p
|
||||||
|
);
|
||||||
|
input sys_clk;
|
||||||
|
input sys_resetn;
|
||||||
|
output wire tmds_clk_n;
|
||||||
|
output wire tmds_clk_p;
|
||||||
|
output wire [2:0] tmds_d_n;
|
||||||
|
output wire [2:0] tmds_d_p;
|
||||||
|
|
||||||
|
wire [2:0] tmds;
|
||||||
|
wire clk_pixel;
|
||||||
|
wire clk_pixel_x5;
|
||||||
|
wire pll_lock;
|
||||||
|
|
||||||
|
wire clk_data;
|
||||||
|
|
||||||
|
// 475 MHz, maximum that works with the primer 25K
|
||||||
|
// 475/5 = 95 MHz
|
||||||
|
// Data PLL output is 89.0625 MHz
|
||||||
|
|
||||||
|
PLLA #(
|
||||||
|
.FCLKIN ("50"),
|
||||||
|
.IDIV_SEL (2),
|
||||||
|
.FBDIV_SEL (1),
|
||||||
|
.CLKFB_SEL ("INTERNAL"),
|
||||||
|
.ODIV0_SEL (3),
|
||||||
|
.ODIV0_FRAC_SEL (0),
|
||||||
|
.ODIV1_SEL (16),
|
||||||
|
.ODIV2_SEL (8),
|
||||||
|
.ODIV3_SEL (8),
|
||||||
|
.ODIV4_SEL (8),
|
||||||
|
.ODIV5_SEL (8),
|
||||||
|
.ODIV6_SEL (8),
|
||||||
|
.MDIV_SEL (57),
|
||||||
|
.MDIV_FRAC_SEL (0),
|
||||||
|
.CLKOUT0_EN ("TRUE"),
|
||||||
|
.CLKOUT1_EN ("TRUE"),
|
||||||
|
.CLKOUT2_EN ("FALSE"),
|
||||||
|
.CLKOUT3_EN ("FALSE"),
|
||||||
|
.CLKOUT4_EN ("FALSE"),
|
||||||
|
.CLKOUT5_EN ("FALSE"),
|
||||||
|
.CLKOUT6_EN ("FALSE"),
|
||||||
|
.CLKOUT0_DT_DIR (1'b1),
|
||||||
|
.CLKOUT0_DT_DIR (1'b1),
|
||||||
|
.CLKOUT1_DT_DIR (1'b1),
|
||||||
|
.CLKOUT2_DT_DIR (1'b1),
|
||||||
|
.CLKOUT3_DT_DIR (1'b1),
|
||||||
|
.CLK0_IN_SEL (1'b0),
|
||||||
|
.CLK0_OUT_SEL (1'b0),
|
||||||
|
.CLK1_IN_SEL (1'b0),
|
||||||
|
.CLK1_OUT_SEL (1'b0),
|
||||||
|
.CLK2_IN_SEL (1'b0),
|
||||||
|
.CLK2_OUT_SEL (1'b0),
|
||||||
|
.CLK3_IN_SEL (1'b0),
|
||||||
|
.CLK3_OUT_SEL (1'b0),
|
||||||
|
.CLK4_IN_SEL (2'b00),
|
||||||
|
.CLK4_OUT_SEL (1'b0),
|
||||||
|
.CLK5_IN_SEL (1'b0),
|
||||||
|
.CLK5_OUT_SEL (1'b0),
|
||||||
|
.CLK6_IN_SEL (1'b0),
|
||||||
|
.CLK6_OUT_SEL (1'b0),
|
||||||
|
.CLKOUT0_PE_COARSE (0),
|
||||||
|
.CLKOUT0_PE_FINE (0),
|
||||||
|
.CLKOUT1_PE_COARSE (0),
|
||||||
|
.CLKOUT1_PE_FINE (0),
|
||||||
|
.CLKOUT2_PE_COARSE (0),
|
||||||
|
.CLKOUT2_PE_FINE (0),
|
||||||
|
.CLKOUT3_PE_COARSE (0),
|
||||||
|
.CLKOUT3_PE_FINE (0),
|
||||||
|
.CLKOUT4_PE_COARSE (0),
|
||||||
|
.CLKOUT4_PE_FINE (0),
|
||||||
|
.CLKOUT5_PE_COARSE (0),
|
||||||
|
.CLKOUT5_PE_FINE (0),
|
||||||
|
.CLKOUT6_PE_COARSE (0),
|
||||||
|
.CLKOUT6_PE_FINE (0),
|
||||||
|
.DE0_EN ("FALSE"),
|
||||||
|
.DE1_EN ("FALSE"),
|
||||||
|
.DE2_EN ("FALSE"),
|
||||||
|
.DE3_EN ("FALSE"),
|
||||||
|
.DE4_EN ("FALSE"),
|
||||||
|
.DE5_EN ("FALSE"),
|
||||||
|
.DE6_EN ("FALSE"),
|
||||||
|
.DYN_DPA_EN ("FALSE"),
|
||||||
|
.DYN_PE0_SEL ("FALSE"),
|
||||||
|
.DYN_PE1_SEL ("FALSE"),
|
||||||
|
.DYN_PE2_SEL ("FALSE"),
|
||||||
|
.DYN_PE3_SEL ("FALSE"),
|
||||||
|
.DYN_PE4_SEL ("FALSE"),
|
||||||
|
.DYN_PE5_SEL ("FALSE"),
|
||||||
|
.DYN_PE6_SEL ("FALSE"),
|
||||||
|
.RESET_I_EN ("FALSE"),
|
||||||
|
.RESET_O_EN ("FALSE"),
|
||||||
|
.ICP_SEL (6'bXXXXXX),
|
||||||
|
.LPF_RES (3'bXXX),
|
||||||
|
.LPF_CAP (2'b00),
|
||||||
|
.SSC_EN ("FALSE"),
|
||||||
|
.CLKOUT0_DT_STEP (0),
|
||||||
|
.CLKOUT1_DT_STEP (0),
|
||||||
|
.CLKOUT2_DT_STEP (0),
|
||||||
|
.CLKOUT3_DT_STEP (0)
|
||||||
|
) pll (
|
||||||
|
.LOCK(pll_lock),
|
||||||
|
.CLKOUT0(clk_pixel_x5),
|
||||||
|
.CLKOUT1(clk_data),
|
||||||
|
.CLKIN(sys_clk),
|
||||||
|
.CLKFB(1'b0),
|
||||||
|
.RESET(1'b0),
|
||||||
|
.PLLPWD(1'b0),
|
||||||
|
.RESET_I(1'b0),
|
||||||
|
.RESET_O(1'b0),
|
||||||
|
.PSSEL(3'b0),
|
||||||
|
.PSDIR(1'b0),
|
||||||
|
.PSPULSE(1'b0),
|
||||||
|
.SSCPOL(1'b0),
|
||||||
|
.SSCON(1'b0),
|
||||||
|
.SSCMDSEL(7'b0),
|
||||||
|
.SSCMDSEL_FRAC(3'b0),
|
||||||
|
.MDCLK(1'b0),
|
||||||
|
.MDOPC(2'b0),
|
||||||
|
.MDAINC(1'b0),
|
||||||
|
.MDWDI(8'b0)
|
||||||
|
);
|
||||||
|
|
||||||
|
CLKDIV #(
|
||||||
|
.DIV_MODE(5)
|
||||||
|
) div_5 (
|
||||||
|
.CLKOUT(clk_pixel),
|
||||||
|
.HCLKIN(clk_pixel_x5),
|
||||||
|
.RESETN(1'b1),
|
||||||
|
.CALIB(1'b0)
|
||||||
|
);
|
||||||
|
|
||||||
|
reg [15:0] counter = 16'h0000;
|
||||||
|
reg [15:0] fifo_in;
|
||||||
|
wire write_enable;
|
||||||
|
wire [15:0] fifo_out;
|
||||||
|
wire fifo_empty;
|
||||||
|
wire fifo_aempty;
|
||||||
|
wire Full_o;
|
||||||
|
|
||||||
|
wire FifoHalfFull;
|
||||||
|
wire FifoFull;
|
||||||
|
|
||||||
|
wire fifo_rd_en_i;
|
||||||
|
async_fifo #(
|
||||||
|
.DSIZE(16),
|
||||||
|
.ASIZE($clog2(16384)), // 3 + (1982 * 4) = 7931 => at least 8K entries to buffer 4 lines during VSYNC
|
||||||
|
.FALLTHROUGH("FALSE")
|
||||||
|
) fifo (
|
||||||
|
.wclk(clk_data),
|
||||||
|
.wrst_n(pll_lock),
|
||||||
|
.winc(write_enable),
|
||||||
|
.wdata(fifo_in),
|
||||||
|
.wfull(FifoFull),
|
||||||
|
.awfull(FifoHalfFull),
|
||||||
|
.rclk(clk_pixel),
|
||||||
|
.rrst_n(pll_lock),
|
||||||
|
.rinc(fifo_rd_en_i),
|
||||||
|
.rdata(fifo_out),
|
||||||
|
.rempty(fifo_empty),
|
||||||
|
.arempty(fifo_aempty)
|
||||||
|
);
|
||||||
|
|
||||||
|
hsdaoh_core hsdaoh (
|
||||||
|
.rstn(pll_lock),
|
||||||
|
.tmds_clk_n(tmds_clk_n),
|
||||||
|
.tmds_clk_p(tmds_clk_p),
|
||||||
|
.tmds_d_n(tmds_d_n),
|
||||||
|
.tmds_d_p(tmds_d_p),
|
||||||
|
.clk_pixel_x5(clk_pixel_x5),
|
||||||
|
.clk_pixel(clk_pixel),
|
||||||
|
.fifo_empty(fifo_empty),
|
||||||
|
.fifo_aempty(fifo_aempty),
|
||||||
|
.fifo_read_en(fifo_rd_en_i),
|
||||||
|
.data_in(fifo_out)
|
||||||
|
);
|
||||||
|
|
||||||
|
assign write_enable = 1'b1;
|
||||||
|
|
||||||
|
always @(posedge clk_data) begin
|
||||||
|
fifo_in <= counter[15:0];
|
||||||
|
counter <= counter + 1'b1;
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
Loading…
Add table
Reference in a new issue