T9

Description

Background

A while ago it was quite cumbersome to create a message for the Short Message Service (SMS) on a mobile phone. This was because you only have nine keys and the alphabet has more than nine letters, so most characters could only be entered by pressing one key several times. For example, if you wanted to type "hello" you had to press key 4 twice, key 3 twice, key 5 three times, again key 5 three times, and finally key 6 three times. This procedure is very tedious and keeps many people from using the Short Message Service.

This led manufacturers of mobile phones to try and find an easier way to enter text on a mobile phone. The solution they developed is called T9 text input. The "9" in the name means that you can enter almost arbitrary words with just nine keys and without pressing them more than once per character. The idea of the solution is that you simply start typing the keys without repetition, and the software uses a built-in dictionary to look for the "most probable" word matching the input. For example, to enter "hello" you simply press keys 4, 3, 5, 5, and 6 once. Of course, this could also be the input for the word "gdjjm", but since this is no sensible English word, it can safely be ignored. By ruling out all other "improbable" solutions and only taking proper English words into account, this method can speed up writing of short messages considerably. Of course, if the word is not in the dictionary (like a name) then it has to be typed in manually using key repetition again.


Figure 8: The Number-keys of a mobile phone.

More precisely, with every character typed, the phone will show the most probable combination of characters it has found up to that point. Let us assume that the phone knows about the words "idea" and "hello", with "idea" occurring more often. Pressing the keys 4, 3, 5, 5, and 6, one after the other, the phone offers you "i", "id", then switches to "hel", "hell", and finally shows "hello".

Problem

Write an implementation of the T9 text input which offers the most probable character combination after every keystroke. The probability of a character combination is defined to be the sum of the probabilities of all words in the dictionary that begin with this character combination. For example, if the dictionary contains three words "hell", "hello", and "hellfire", the probability of the character combination "hell" is the sum of the probabilities of these words. If some combinations have the same probability, your program is to select the first one in alphabetic order. The user should also be able to type the beginning of words. For example, if the word "hello" is in the dictionary, the user can also enter the word "he" by pressing the keys 4 and 3 even if this word is not listed in the dictionary.
Input

The first line contains the number of scenarios.

Each scenario begins with a line containing the number w of distinct words in the dictionary (0<=w<=1000). These words are iven in the next w lines in ascending alphabetic order. Every line starts with the word which is a sequence of lowercase letters from the alphabet without whitespace, followed by a space and an integer p, 1<=p<=100, representing the probability of that word. No word will contain more than 100 letters.

Following the dictionary, there is a line containing a single integer m. Next follow m lines, each consisting of a sequence of at most 100 decimal digits 2�, followed by a single 1 meaning "next word".
Output

The output for each scenario begins with a line containing "Scenario #i:", where i is the number of the scenario starting at 1.

For every number sequence s of the scenario, print one line for every keystroke stored in s, except for the 1 at the end. In this line, print the most probable word prefix defined by the probabilities in the dictionary and the T9 selection rules explained above. Whenever none of the words in the dictionary match the given number sequence, print "MANUALLY" instead of a prefix.

Terminate the output for every number sequence with a blank line, and print an additional blank line at the end of every scenario.
Sample Input

2
5
hell 3
hello 4
idea 8
next 8
super 3
2
435561
43321
7
another 5
contest 6
follow 3
give 13
integer 6
new 14
program 4
5
77647261
6391
4681
26684371
77771
Sample Output

Scenario #1:
i
id
hel
hell
hello

i
id
ide
idea

Scenario #2:
p
pr
pro
prog
progr
progra
program

n
ne
new

g
in
int

c
co
con
cont
anoth
anothe
another

p
pr
MANUALLY
MANUALLY

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
宏定义文件里面显示像图片这样uart.h文件未添加,但是我添加路径E:\HOMEWORK\MDK5 Works\T9-2后,它又会显示很多变量和函数未定义

![图片说明](https://img-ask.csdn.net/upload/202005/10/1589103815_485778.jpg)![图片说明](https://img-ask.csdn.net/upload/202005/10/1589103832_565133.jpg)![图片说明](https://img-ask.csdn.net/upload/202005/10/1589103840_335799.jpg)![图片说明](https://img-ask.csdn.net/upload/202005/10/1589103844_848402.jpg)![图片说明](https://img-ask.csdn.net/upload/202005/10/1589103858_688699.jpg)文件里面显示像图片这样uart.h文件未添加,但是我添加路径E:\HOMEWORK\MDK5 Works\T9-2后,它又会显示很多变量和函数未定义,想问下各位大佬

PHP T9手机键盘[关闭]

<div class="post-text" itemprop="text"> <p>I have just started PHP programming and have the following scenario;</p> <ol> <li>My contact list is saved in mysql database (Fname, Lname, phone) = done </li> <li>Take user input as imagining it taking from a mobile keypad .i.e. 'abc' corresponds to 1, 'def corresponds to 2 etc.</li> <li>Let's say user enters "738"...this would correspond to 'PET' and so will 'REU'. </li> <li>What the php code is suppose to do is get the user input in the form of digits and search through the mysql database going through the last name to see if it corresponds to any of the name and finally list those contact(s). However, since 'SET' is also a valid combination of 738 BUT if it does not exist in the database, it will not get displayed.</li> </ol> <p>Question: how can i take the input in digits and generate all possible combination to match against the database? I guess i will have to use arrays to store the mobile keypad mapping and somehow do the permutations stuff. Any help will be appreciated.</p> </div>

k8s挂载ceph失败,pod状态一直是ContainerCreating

问题描述: mysql-3173324660 创建后一直处于 ContainerCreating状态 [root@user1-group1-295 ceph]# kubectl get pods NAME READY STATUS RESTARTS AGE mysql-3173324660-jd8jw 0/1 ContainerCreating 0 1m mysql-sonar-1457409014-hsbwg 1/1 Running 4 117d kubectl describe po/mysql-3173324660-jd8jw 报挂卷失败: ![图片说明](https://img-ask.csdn.net/upload/201709/04/1504506802_346149.png) Events: FirstSeen LastSeen Count From SubObjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 2m 2m 1 default-scheduler Normal Scheduled Successfully assigned mysql-3173324660-jd8jw to user1-group1-296 34s 34s 1 kubelet, user1-group1-296 Warning FailedMount Unable to mount volumes for pod "mysql-3173324660-jd8jw_default(cc915019-9139-11e7-b200-fa163e9b5d77)": timeout expired waiting for volumes to attach/mount for pod "default"/"mysql-3173324660-jd8jw". list of unattached/unmounted volumes=[mysql-persistent-storage] 34s 34s 1 kubelet, user1-group1-296 Warning FailedSync Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "default"/"mysql-3173324660-jd8jw". list of unattached/unmounted volumes=[mysql-persistent-storage] 2m 24s 9 kubelet, user1-group1-296 Warning FailedMount MountVolume.SetUp failed for volume "kubernetes.io/rbd/cc915019-9139-11e7-b200-fa163e9b5d77-mysql-pv" (spec.Name: "mysql-pv") pod "cc915019-9139-11e7-b200-fa163e9b5d77" (UID: "cc915019-9139-11e7-b200-fa163e9b5d77") with: rbd: failed to mount rbd volume /dev/rbd4 [xfs] to /var/lib/kubelet/plugins/kubernetes.io/rbd/rbd/rbd-image-imagemysql1, error executable file not found in $PATH 按照楼下朋友指点需要查看的几个点,rdb正常,pv和pvc都是bound: [root@user1-group1-295 ceph]# rbd list caasmysqlimage ceph-image ceph-image-new foo image-mysql-wb1 imagemysql1 imagewb imagewb1 imagewbb1 imagewbb2 jdk-image mysql-image mysql-image-1 [root@user1-group1-295 ceph]# kubectl get pv NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM STORAGECLASS REASON AGE mysql-pv 2Gi RWO Recycle Bound default/mysql-pv-claim 12m [root@user1-group1-295 ceph]# kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mysql-pv-claim Bound mysql-pv 2Gi RWO 12m [root@user1-group1-295 ceph]# ======================================================= Sep 04 06:25:03 左右创建的pod: 创建pod失败时候的日志如下: [root@user1-group1-295 ceph]# journalctl -u kubelet -f -- Logs begin at Tue 2017-07-11 06:42:53 UTC. -- Sep 04 06:23:21 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:21.226456 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/0af2b564-3b6c-11e7-81c5-fa163e9b5d77-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "0af2b564-3b6c-11e7-81c5-fa163e9b5d77" (UID: "0af2b564-3b6c-11e7-81c5-fa163e9b5d77"). Sep 04 06:23:22 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:22.229211 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fe04c9ea-56f9-11e7-b76e-fa163e9b5d77-traefik-ingress-controller-token-xmzl4" (spec.Name: "traefik-ingress-controller-token-xmzl4") pod "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77" (UID: "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77"). Sep 04 06:23:23 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:23.736718 16005 server.go:778] GET /metrics: (107.402434ms) 200 [[Go-http-client/1.1] 172.17.0.162:48938] Sep 04 06:23:33 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:33.740537 16005 server.go:778] GET /metrics: (111.112116ms) 200 [[Go-http-client/1.1] 172.17.0.162:48960] Sep 04 06:23:34 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:34.171001 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/432189b6-57fe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "432189b6-57fe-11e7-b76e-fa163e9b5d77" (UID: "432189b6-57fe-11e7-b76e-fa163e9b5d77"). Sep 04 06:23:43 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:43.736004 16005 server.go:778] GET /metrics: (106.587002ms) 200 [[Go-http-client/1.1] 172.17.0.162:48982] Sep 04 06:23:44 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:44.201917 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77" (UID: "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77"). Sep 04 06:23:50 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:50.219064 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fcfb6601-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fcfb6601-360d-11e7-a88c-fa163ed46388" (UID: "fcfb6601-360d-11e7-a88c-fa163ed46388"). Sep 04 06:23:53 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:53.227001 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/5abc1b0a-8617-11e7-b200-fa163e9b5d77-default-token-7x6qd" (spec.Name: "default-token-7x6qd") pod "5abc1b0a-8617-11e7-b200-fa163e9b5d77" (UID: "5abc1b0a-8617-11e7-b200-fa163e9b5d77"). Sep 04 06:23:53 user1-group1-295.novalocal kubelet[15976]: I0904 06:23:53.743604 16005 server.go:778] GET /metrics: (114.703271ms) 200 [[Go-http-client/1.1] 172.17.0.162:49004] Sep 04 06:24:03 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:03.732337 16005 server.go:778] GET /metrics: (103.103667ms) 200 [[Go-http-client/1.1] 172.17.0.162:49026] Sep 04 06:24:05 user1-group1-295.novalocal kubelet[15976]: W0904 06:24:05.500408 16005 container_gc.go:305] Failed to remove container "/k8s_kube-controller-manager.b0c85041_kube-controller-manager-user1-group1-295_kube-system_24921f1c706c18a694bb4a7942186800_c66f920e": Error response from daemon: {"message":"Driver overlay failed to remove root filesystem d992e1cb757ed839b70a0f896bf30d78c35a26cdab41ef7db30a59ad44bada5c: remove /var/lib/docker/overlay/ea36794bdd3e2509cd8d77444133e0f64a94d33f9e019d3826a9c4db10015453/merged: device or resource busy"} Sep 04 06:24:06 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:06.262225 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fccdbfd7-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fccdbfd7-360d-11e7-a88c-fa163ed46388" (UID: "fccdbfd7-360d-11e7-a88c-fa163ed46388"). Sep 04 06:24:11 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:11.175838 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/05c2105e-4b6a-11e7-ad4d-fa163ed46388-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "05c2105e-4b6a-11e7-ad4d-fa163ed46388" (UID: "05c2105e-4b6a-11e7-ad4d-fa163ed46388"). Sep 04 06:24:13 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:13.740341 16005 server.go:778] GET /metrics: (110.717336ms) 200 [[Go-http-client/1.1] 172.17.0.162:49048] Sep 04 06:24:15 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:15.989430 16005 container_manager_linux.go:439] Discovered runtime cgroups name: /system.slice/docker.service Sep 04 06:24:23 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:23.740110 16005 server.go:778] GET /metrics: (110.727464ms) 200 [[Go-http-client/1.1] 172.17.0.162:49070] Sep 04 06:24:33 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:33.736772 16005 server.go:778] GET /metrics: (107.362082ms) 200 [[Go-http-client/1.1] 172.17.0.162:49092] Sep 04 06:24:34 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:34.247795 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/f1b4decb-33af-11e7-a587-fa163ed46388-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "f1b4decb-33af-11e7-a587-fa163ed46388" (UID: "f1b4decb-33af-11e7-a587-fa163ed46388"). Sep 04 06:24:42 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:42.169852 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fe04c9ea-56f9-11e7-b76e-fa163e9b5d77-traefik-ingress-controller-token-xmzl4" (spec.Name: "traefik-ingress-controller-token-xmzl4") pod "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77" (UID: "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77"). Sep 04 06:24:43 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:43.739418 16005 server.go:778] GET /metrics: (110.330416ms) 200 [[Go-http-client/1.1] 172.17.0.162:49114] Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: E0904 06:24:48.725052 16005 fsHandler.go:121] failed to collect filesystem stats - rootDiskErr: du command failed on /var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc with output stdout: 2730096 /var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: , stderr: du: cannot access '/var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc/merged/proc/30247/task/30247/fd/4': No such file or directory Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: du: cannot access '/var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc/merged/proc/30247/task/30247/fdinfo/4': No such file or directory Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: du: cannot access '/var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc/merged/proc/30247/fd/4': No such file or directory Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: du: cannot access '/var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc/merged/proc/30247/fdinfo/4': No such file or directory Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: - exit status 1, rootInodeErr: <nil>, extraDiskErr: <nil> Sep 04 06:24:48 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:48.725072 16005 fsHandler.go:131] du and find on following dirs took 1.057182281s: [/var/lib/docker/overlay/32c3a6427d80d828ac8692f5f308b021fc8a2a28be6c131525eff5ef909c41dc /var/lib/docker/containers/7d9aa1bfde24865c84c5a7e8577965741ec339379213af49f400deef4592803a] Sep 04 06:24:50 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:50.194610 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/0af2b564-3b6c-11e7-81c5-fa163e9b5d77-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "0af2b564-3b6c-11e7-81c5-fa163e9b5d77" (UID: "0af2b564-3b6c-11e7-81c5-fa163e9b5d77"). Sep 04 06:24:53 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:53.741418 16005 server.go:778] GET /metrics: (112.212086ms) 200 [[Go-http-client/1.1] 172.17.0.162:49136] Sep 04 06:24:59 user1-group1-295.novalocal kubelet[15976]: I0904 06:24:59.218706 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/5abc1b0a-8617-11e7-b200-fa163e9b5d77-default-token-7x6qd" (spec.Name: "default-token-7x6qd") pod "5abc1b0a-8617-11e7-b200-fa163e9b5d77" (UID: "5abc1b0a-8617-11e7-b200-fa163e9b5d77"). Sep 04 06:25:02 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:02.226260 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/432189b6-57fe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "432189b6-57fe-11e7-b76e-fa163e9b5d77" (UID: "432189b6-57fe-11e7-b76e-fa163e9b5d77"). Sep 04 06:25:03 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:03.744718 16005 server.go:778] GET /metrics: (115.63146ms) 200 [[Go-http-client/1.1] 172.17.0.162:49158] Sep 04 06:25:05 user1-group1-295.novalocal kubelet[15976]: W0904 06:25:05.623008 16005 container_gc.go:305] Failed to remove container "/k8s_kube-controller-manager.b0c85041_kube-controller-manager-user1-group1-295_kube-system_24921f1c706c18a694bb4a7942186800_c66f920e": Error response from daemon: {"message":"Driver overlay failed to remove root filesystem d992e1cb757ed839b70a0f896bf30d78c35a26cdab41ef7db30a59ad44bada5c: remove /var/lib/docker/overlay/ea36794bdd3e2509cd8d77444133e0f64a94d33f9e019d3826a9c4db10015453/merged: device or resource busy"} Sep 04 06:25:06 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:06.243201 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77" (UID: "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77"). Sep 04 06:25:12 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:12.260590 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fcfb6601-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fcfb6601-360d-11e7-a88c-fa163ed46388" (UID: "fcfb6601-360d-11e7-a88c-fa163ed46388"). Sep 04 06:25:13 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:13.737764 16005 server.go:778] GET /metrics: (108.38973ms) 200 [[Go-http-client/1.1] 172.17.0.162:49180] Sep 04 06:25:23 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:23.727904 16005 server.go:778] GET /metrics: (98.765996ms) 200 [[Go-http-client/1.1] 172.17.0.162:49202] Sep 04 06:25:24 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:24.194371 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/05c2105e-4b6a-11e7-ad4d-fa163ed46388-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "05c2105e-4b6a-11e7-ad4d-fa163ed46388" (UID: "05c2105e-4b6a-11e7-ad4d-fa163ed46388"). Sep 04 06:25:33 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:33.738025 16005 server.go:778] GET /metrics: (109.050426ms) 200 [[Go-http-client/1.1] 172.17.0.162:49224] Sep 04 06:25:36 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:36.226919 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fccdbfd7-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fccdbfd7-360d-11e7-a88c-fa163ed46388" (UID: "fccdbfd7-360d-11e7-a88c-fa163ed46388"). Sep 04 06:25:43 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:43.737571 16005 server.go:778] GET /metrics: (108.474848ms) 200 [[Go-http-client/1.1] 172.17.0.162:49246] Sep 04 06:25:45 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:45.903049 16005 image_gc_manager.go:270] [imageGCManager]: Disk usage on "/dev/vda1" (/var/lib/docker/overlay) is at 94% which is over the high threshold (90%). Trying to free 7021084672 bytes Sep 04 06:25:45 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:45.916512 16005 image_gc_manager.go:335] [imageGCManager]: Removing image "sha256:573ddcad1ff5243330f172efbf5d44a1c2c35abcae3c2839673817dff41764a6" to free 217108251 bytes Sep 04 06:25:45 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:45.918875 16005 image_gc_manager.go:335] [imageGCManager]: Removing image "sha256:54e0498c3dadcfc3036086232145c96d334295a318c12cf8af025bf59ccd7d4e" to free 987088941 bytes Sep 04 06:25:45 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:45.922480 16005 image_gc_manager.go:335] [imageGCManager]: Removing image "sha256:c1951085bcc973dcf859ca1842d049c2e394092c06a0dc8d5aa47f4b8b55de80" to free 42634444 bytes Sep 04 06:25:45 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:45.924666 16005 image_gc_manager.go:335] [imageGCManager]: Removing image "sha256:958a7ae9e56979be256796dabd5845c704f784cd422734184999cf91f24c2547" to free 109368581 bytes Sep 04 06:25:45 user1-group1-295.novalocal kubelet[15976]: E0904 06:25:45.927024 16005 kubelet.go:1165] Image garbage collection failed: wanted to free 7021084672, but freed 0 space with errors in image deletion: [Error response from daemon: {"message":"conflict: unable to delete 573ddcad1ff5 (cannot be forced) - image is being used by running container a0abb2be0dfd"}, Error response from daemon: {"message":"conflict: unable to delete 54e0498c3dad (must be forced) - image is being used by stopped container 675afc7fd4b2"}, Error response from daemon: {"message":"conflict: unable to delete c1951085bcc9 (cannot be forced) - image is being used by running container 0ce4eb29420d"}, Error response from daemon: {"message":"conflict: unable to delete 958a7ae9e569 (must be forced) - image is referenced in multiple repositories"}] Sep 04 06:25:47 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:47.257883 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/f1b4decb-33af-11e7-a587-fa163ed46388-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "f1b4decb-33af-11e7-a587-fa163ed46388" (UID: "f1b4decb-33af-11e7-a587-fa163ed46388"). Sep 04 06:25:53 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:53.733853 16005 server.go:778] GET /metrics: (104.78036ms) 200 [[Go-http-client/1.1] 172.17.0.162:49268] Sep 04 06:25:57 user1-group1-295.novalocal kubelet[15976]: I0904 06:25:57.186726 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/0af2b564-3b6c-11e7-81c5-fa163e9b5d77-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "0af2b564-3b6c-11e7-81c5-fa163e9b5d77" (UID: "0af2b564-3b6c-11e7-81c5-fa163e9b5d77"). Sep 04 06:26:03 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:03.737476 16005 server.go:778] GET /metrics: (108.293704ms) 200 [[Go-http-client/1.1] 172.17.0.162:49290] Sep 04 06:26:05 user1-group1-295.novalocal kubelet[15976]: W0904 06:26:05.656712 16005 container_gc.go:305] Failed to remove container "/k8s_kube-controller-manager.b0c85041_kube-controller-manager-user1-group1-295_kube-system_24921f1c706c18a694bb4a7942186800_c66f920e": Error response from daemon: {"message":"Driver overlay failed to remove root filesystem d992e1cb757ed839b70a0f896bf30d78c35a26cdab41ef7db30a59ad44bada5c: remove /var/lib/docker/overlay/ea36794bdd3e2509cd8d77444133e0f64a94d33f9e019d3826a9c4db10015453/merged: device or resource busy"} Sep 04 06:26:06 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:06.213274 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fe04c9ea-56f9-11e7-b76e-fa163e9b5d77-traefik-ingress-controller-token-xmzl4" (spec.Name: "traefik-ingress-controller-token-xmzl4") pod "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77" (UID: "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77"). Sep 04 06:26:13 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:13.741089 16005 server.go:778] GET /metrics: (111.980692ms) 200 [[Go-http-client/1.1] 172.17.0.162:49312] Sep 04 06:26:20 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:20.255745 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fcfb6601-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fcfb6601-360d-11e7-a88c-fa163ed46388" (UID: "fcfb6601-360d-11e7-a88c-fa163ed46388"). Sep 04 06:26:23 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:23.734496 16005 server.go:778] GET /metrics: (102.819982ms) 200 [[Go-http-client/1.1] 172.17.0.162:49334] Sep 04 06:26:24 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:24.274689 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/432189b6-57fe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "432189b6-57fe-11e7-b76e-fa163e9b5d77" (UID: "432189b6-57fe-11e7-b76e-fa163e9b5d77"). Sep 04 06:26:28 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:28.186208 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/5abc1b0a-8617-11e7-b200-fa163e9b5d77-default-token-7x6qd" (spec.Name: "default-token-7x6qd") pod "5abc1b0a-8617-11e7-b200-fa163e9b5d77" (UID: "5abc1b0a-8617-11e7-b200-fa163e9b5d77"). Sep 04 06:26:33 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:33.200294 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77" (UID: "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77"). Sep 04 06:26:33 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:33.736186 16005 server.go:778] GET /metrics: (106.916768ms) 200 [[Go-http-client/1.1] 172.17.0.162:49356] Sep 04 06:26:42 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:42.224907 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/05c2105e-4b6a-11e7-ad4d-fa163ed46388-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "05c2105e-4b6a-11e7-ad4d-fa163ed46388" (UID: "05c2105e-4b6a-11e7-ad4d-fa163ed46388"). Sep 04 06:26:43 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:43.738326 16005 server.go:778] GET /metrics: (109.178882ms) 200 [[Go-http-client/1.1] 172.17.0.162:49378] Sep 04 06:26:46 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:46.235835 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fccdbfd7-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fccdbfd7-360d-11e7-a88c-fa163ed46388" (UID: "fccdbfd7-360d-11e7-a88c-fa163ed46388"). Sep 04 06:26:53 user1-group1-295.novalocal kubelet[15976]: I0904 06:26:53.734508 16005 server.go:778] GET /metrics: (105.402837ms) 200 [[Go-http-client/1.1] 172.17.0.162:49400] Sep 04 06:27:03 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:03.741988 16005 server.go:778] GET /metrics: (112.954759ms) 200 [[Go-http-client/1.1] 172.17.0.162:49422] Sep 04 06:27:05 user1-group1-295.novalocal kubelet[15976]: W0904 06:27:05.784294 16005 container_gc.go:305] Failed to remove container "/k8s_kube-controller-manager.b0c85041_kube-controller-manager-user1-group1-295_kube-system_24921f1c706c18a694bb4a7942186800_c66f920e": Error response from daemon: {"message":"Driver overlay failed to remove root filesystem d992e1cb757ed839b70a0f896bf30d78c35a26cdab41ef7db30a59ad44bada5c: remove /var/lib/docker/overlay/ea36794bdd3e2509cd8d77444133e0f64a94d33f9e019d3826a9c4db10015453/merged: device or resource busy"} Sep 04 06:27:09 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:09.205529 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fe04c9ea-56f9-11e7-b76e-fa163e9b5d77-traefik-ingress-controller-token-xmzl4" (spec.Name: "traefik-ingress-controller-token-xmzl4") pod "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77" (UID: "fe04c9ea-56f9-11e7-b76e-fa163e9b5d77"). Sep 04 06:27:13 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:13.739225 16005 server.go:778] GET /metrics: (109.968574ms) 200 [[Go-http-client/1.1] 172.17.0.162:49444] Sep 04 06:27:17 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:17.227946 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/0af2b564-3b6c-11e7-81c5-fa163e9b5d77-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "0af2b564-3b6c-11e7-81c5-fa163e9b5d77" (UID: "0af2b564-3b6c-11e7-81c5-fa163e9b5d77"). Sep 04 06:27:17 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:17.228615 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/f1b4decb-33af-11e7-a587-fa163ed46388-default-token-r5gl6" (spec.Name: "default-token-r5gl6") pod "f1b4decb-33af-11e7-a587-fa163ed46388" (UID: "f1b4decb-33af-11e7-a587-fa163ed46388"). Sep 04 06:27:23 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:23.729005 16005 server.go:778] GET /metrics: (99.830606ms) 200 [[Go-http-client/1.1] 172.17.0.162:49466] Sep 04 06:27:25 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:25.252704 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/432189b6-57fe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "432189b6-57fe-11e7-b76e-fa163e9b5d77" (UID: "432189b6-57fe-11e7-b76e-fa163e9b5d77"). Sep 04 06:27:27 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:27.258375 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/fcfb6601-360d-11e7-a88c-fa163ed46388-default-token-9prvk" (spec.Name: "default-token-9prvk") pod "fcfb6601-360d-11e7-a88c-fa163ed46388" (UID: "fcfb6601-360d-11e7-a88c-fa163ed46388"). Sep 04 06:27:33 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:33.737406 16005 server.go:778] GET /metrics: (107.868122ms) 200 [[Go-http-client/1.1] 172.17.0.162:49488] Sep 04 06:27:40 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:40.196971 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/5abc1b0a-8617-11e7-b200-fa163e9b5d77-default-token-7x6qd" (spec.Name: "default-token-7x6qd") pod "5abc1b0a-8617-11e7-b200-fa163e9b5d77" (UID: "5abc1b0a-8617-11e7-b200-fa163e9b5d77"). Sep 04 06:27:40 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:40.197045 16005 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77-default-token-t9rq2" (spec.Name: "default-token-t9rq2") pod "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77" (UID: "2f7c9bd1-5afe-11e7-b76e-fa163e9b5d77"). Sep 04 06:27:43 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:43.737770 16005 server.go:778] GET /metrics: (108.444824ms) 200 [[Go-http-client/1.1] 172.17.0.162:49510] Sep 04 06:27:53 user1-group1-295.novalocal kubelet[15976]: I0904 06:27:53.728799 16005 server.go:778] GET /metrics: (99.267527ms) 200 [[Go-http-client/1.1] 172.17.0.162:49532]

使用Javascript和Php与MySql数据库的注册表单

<div class="post-text" itemprop="text"> <p>I'm having problem with the registration for my website. </p> <p>If I fill out the username field, and leave the others blank, no error-alerts are shown, it just saves the username to the database. There is supposed to be validation, like checking if the age is below 18, but I can't figure out where the error is.</p> <p><strong><em>register.php (javascript code &amp; php code here):</em></strong></p> <pre><code>&lt;html&gt; &lt;center&gt;&lt;h1&gt;Register Below&lt;/h1&gt;&lt;/center&gt; &lt;body&gt; &lt;br/&gt; &lt;script&gt; function getText() { boolean sub = true; var name = document.getElementById("t1").value; if(name.length &lt; 8 || name.length &gt; 50) { sub=false; alert("Invalid Username, must be 8 - 10 characters!") document.getElementById("sample").innerHTML="*"; } else { document.getElementById("sample").innerHTML = name; } var pass = document.getElementById("t2").value; if(pass.length &lt; 8 || pass.length &gt; 50) { sub=false; alert("Invalid Password, must be 8 - 10 characters!") document.getElementById("sample2").innerHTML="*"; } else { sub=true; } var rpass = document.getElementById("t3").value; if(rpass!=pass) { sub=false; alert("Password dont match!") document.getElementById("sample3").innerHTML="*"; } else { sub=true; } var fname = document.getElementById("t4").value; if(fname.length&lt;5||fname.length&gt;15) { sub=false; alert("Invalid firstname, must be 5 - 15 characters!") } else { document.getElementById("sample11").innerHTML = fname; } var lname = document.getElementById("t5").value; if(lname.length&lt;5||lname.length&gt;15) { sub=false; alert("Invalid lastname, must be 5 - 15 characters!") } else { document.getElementById("sample12").innerHTML = lname; } int age = parseInt(document.getElementById("t2").value); if(age &lt; 18) { sub=false; alert("Minors not allowed.") } else { document.getElementById("sample4").innerHTML = age; } var email = document.getElementById("t7").value; if(email.length &lt; 8 || email.length &gt; 50) { sub=false; alert("Invalid Email, must be 8 - 50 characters!") document.getElementById("sample2").innerHTML="*"; } else { sub=true; } var lotnum = document.getElementById("t8a").value; if(lotnum.length&lt;3||lotnum.length&gt;10) { sub=false; alert("Location Invalid.") } else { document.getElementById("sample13").innerHTML = lotnum; } var sub = document.getElementById("t8b").value; if(sub.length&lt;5||sub.length&gt;10) { sub=false; alert("Location Invalid.") } else { document.getElementById("sample14").innerHTML = sub; } var city = document.getElementById("t8c").value; if(city.length&lt;5||city.length&gt;10) { sub=false; alert("Location Invalid.") } else { document.getElementById("sample15").innerHTML = city; } var country = document.getElementById("t9").value; if(country.length&lt;3||country.length&gt;30) { sub=false; alert("Location Invalid.") } else { document.getElementById("sample16").innerHTML = country; } int area = parseInt(document.getElementById("t10a").value); if(area.length&lt;3||area.length&gt;8) { sub=false; alert("Invalid Area Code, must be 3 - 8 digits!") } else { document.getElementById("sample16").innerHTML = area; } int telnum = parseInt(document.getElementById("t10b").value); if(telnum.length&lt;10||telnum.length&gt;12) { sub=false; alert("Invalid Number!") } else { document.getElementById("sample16").innerHTML = telnum; } if(sub==false) { return false; } } &lt;/script&gt; &lt;center&gt; &lt;form method = "post" action = "insert.php" onSubmit="return getText()"&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;Username:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t1" type="text" id="t1"&gt;&lt;span id="sample"&gt; &lt;/span&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Password:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t2" type="password" id="t2"&gt;&lt;span id="sample2"&gt; &lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Re-type Password:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t3" type="password" id="t3"&gt;&lt;span id="sample3"&gt; &lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Firstname:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t4" type="text" id="t4"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lastname:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t5" type="text" id="t5"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Age:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t6" type="text" id="t6"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Email:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t7" type="email" id="t7"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Address:&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="t8a" id="t8a"&gt;&lt;br&gt;&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="t8b" id="t8b"&gt;&lt;br&gt;&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="t8c" id="t8c"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;Lot/Block#&lt;/td&gt; &lt;td&gt;Brgy/Subd&lt;/td&gt; &lt;td&gt;City/Municipality&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Country:&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input name="t9" type="text" id="t9"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Contact#:&lt;/td&gt; &lt;td&gt;&lt;input name="t10a" type="text" id="t10a"&gt;&lt;br&gt;&lt;/td&gt; &lt;td&gt;&lt;input name="t10b" type="text" id="t10b"&gt;&lt;br&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;Area Code&lt;/td&gt; &lt;td&gt;Number&lt;td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;br&gt;&lt;br&gt; &lt;button type="submit" onClick="getText()"&gt;Submit&lt;/button&gt;&lt;br&gt;&lt;br&gt; &lt;p id="log"&gt; &lt;/p&gt; &lt;/form&gt; &lt;/center&gt; &lt;/body&gt; </code></pre> <p></p> <p><strong><em>and the codes for my Database:</em></strong></p> <pre><code>&lt;?php error_reporting(E_ALL ^ E_DEPRECATED); $db = mysql_connect("localhost","root",""); if($db){ mysql_select_db("user1",$db); $username = $_POST['t1']; $password = $_POST['t3']; $firstname = $_POST['t4']; $lastname = $_POST['t5']; $age = $_POST['t6']; $email = $_POST['t7']; $lot = $_POST['t8a']; $sub = $_POST['t8b']; $city = $_POST['t8c']; $country = $_POST['t9']; $area = $_POST['t10a']; $num = $_POST['t10b']; if(mysql_query("insert into regform(username,password,firstname,lastname,age,email,lot,sub,city,country,area,num) values('$username','$password','$firstname','$lastname','$age','$email','$lot','$sub','$city','$country','$area','$num')")) { echo "Register Successful. Click &lt;a href='index.html'&gt; Here &lt;/a&gt; to return"; } else { echo "Registration Failed".mysql_error(); } } else{ echo "Cannot Connect in Database!"; } ?&gt; </code></pre> </div>

电子邮件不是由我们的应用程序发送的线程组织的

<div class="post-text" itemprop="text"> <p>Our website sends out a bunch of different emails mostly through PHP. They used to be grouped/threaded in email programs and now they are not which it is my understanding nothing has changed. Below is two emails that should have been grouped because they contain the same In-Reply-To but they are not inside of Outlook or on the iPhone. Both emails show</p> <pre><code>In-Reply-To: &lt;sw-ordernotify-event-14066@ourdomain.com&gt; </code></pre> <p>which has always grouped them before. Can anyone see why these emails are not being grouped?</p> <p>Email 1</p> <pre><code>Delivered-To: MYEMAILADDRESS@ourdomain.com Received: by 10.103.11.6 with SMTP id 6csp307367vsl; Fri, 10 Mar 2017 19:24:02 -0800 (PST) X-Received: by 10.36.103.142 with SMTP id u136mr2057971itc.89.1489202642703; Fri, 10 Mar 2017 19:24:02 -0800 (PST) Return-Path: &lt;no-reply@ourdomain.com&gt; Received: from mail-io0-x235.google.com (mail-io0-x235.google.com. [2607:f8b0:4001:c06::235]) by mx.google.com with ESMTPS id n199si1326906itb.8.2017.03.10.19.24.02 for &lt;MYEMAILADDRESS@ourdomain.com&gt; (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Mar 2017 19:24:02 -0800 (PST) Received-SPF: pass (google.com: domain of no-reply@ourdomain.com designates 2607:f8b0:4001:c06::235 as permitted sender) client-ip=2607:f8b0:4001:c06::235; Authentication-Results: mx.google.com; dkim=pass header.i=@ourdomain-com.20150623.gappssmtp.com; spf=pass (google.com: domain of no-reply@ourdomain.com designates 2607:f8b0:4001:c06::235 as permitted sender) smtp.mailfrom=no-reply@ourdomain.com Received: by mail-io0-x235.google.com with SMTP id z13so59783095iof.2 for &lt;MYEMAILADDRESS@ourdomain.com&gt;; Fri, 10 Mar 2017 19:24:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ourdomain-com.20150623.gappssmtp.com; s=20150623; h=message-id:date:from:mime-version:subject:in-reply-to:cc:to; bh=98a6YBog7O8FgvzYhj8VEddAQRq3sc1wyTnyjOGytnY=; b=joBOm9WHQ+UVRKvPMm7F5Ea+hM4ZWn/3Mood/RQjp4hQf2VNvUWd+avZz0b2gK4O6v rqnCrFa7glFRp7U9l2DNI5aL0hyTJuBP2i3sd345TfTFQb24BiCtXsjCuHyZnmugPFLa osMixbC9rVv1wS2UEdnvlO9ReqIZ+C6yhKqd/Fj8zaIH7F/nluMlf83DpZMvhq53Ycjb bDGZiB5Swm2RMLnuthCaLlB97fQV1rcA4yn7koW9RMVSD54Ofm4Bore+U8K4cI6Pg4ZP HkZKMBnkW2DHhuJ8/S4T9TXIfMH1vS5v0v8Xg8i0rrKl2b1oln1pFldfSy1zzOJMdSzG oFxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:mime-version:subject :in-reply-to:cc:to; bh=98a6YBog7O8FgvzYhj8VEddAQRq3sc1wyTnyjOGytnY=; b=ruXyS4BldDI8hzP+PJmYphI7tzmjVN/Gvjs/PkBTQtll+GZy8T7vBMFYWOEm55uuO/ jM+psjhvR3yxfHYG32MopumtXcXNGe4oG/AxjYMz6cRVKErl1jzgjtizdkrjQa851Zc5 DuDQRVxI2EVntQc3p1xdF+Qkb2JJ3oV8uocuemp+RIC+lvNHwv11gAAMI1JbKhIt3/dg ow8YkIdeoPwcNSI/ykW6DoJmMsab1w4XE6UFOITxkcoECD4nFNraTs/I5s4W21zyCZCs KBqOoE5ephqYKYC1dThQHhjmuwpOTnQ09I1nFw0jTaMzfgWWs2TV5Ch6eMop8VQx2uRl lFHg== X-Gm-Message-State: AMke39nvKGM8U4dZtokVOiaBoLdsSB7JPZ/KAL6XAzfE2VYRd0fABCm2wmsdMMZ917J5vP70 X-Received: by 10.107.131.156 with SMTP id n28mr22664031ioi.39.1489202642265; Fri, 10 Mar 2017 19:24:02 -0800 (PST) Return-Path: &lt;no-reply@ourdomain.com&gt; Received: from localhost (116.226.198.104.bc.googleusercontent.com. [104.198.226.116]) by smtp.gmail.com with ESMTPSA id y21sm5237558ioi.0.2017.03.10.19.24.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Mar 2017 19:24:02 -0800 (PST) Message-ID: &lt;58c36dd2.15106b0a.33d42.838e@mx.google.com&gt; Date: Fri, 10 Mar 2017 19:24:02 -0800 (PST) From: "OurDomain.com" &lt;no-reply@ourdomain.com&gt; X-Google-Original-From: "OurDomain.com" &lt;instantordernotification@ourdomain.com&gt; MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_a3d730346de879d36ef3d83fa85aa6fa" Subject: OurDomain.com: Order Notification for Famous Dex Live in Concert In-Reply-To: &lt;sw-ordernotify-event-14066@ourdomain.com&gt; Cc: &lt;MYEMAILADDRESS@ourdomain.com&gt; To: &lt;MYOTHEREMAILADDRESS@yahoo.com&gt; </code></pre> <p>Email 2</p> <pre><code>Delivered-To: MYEMAILADDRESS@ourdomain.com Received: by 10.103.11.6 with SMTP id 6csp307375vsl; Fri, 10 Mar 2017 19:24:04 -0800 (PST) X-Received: by 10.36.62.132 with SMTP id s126mr2176363its.28.1489202644800; Fri, 10 Mar 2017 19:24:04 -0800 (PST) Return-Path: &lt;no-reply@ourdomain.com&gt; Received: from mail-io0-x230.google.com (mail-io0-x230.google.com. [2607:f8b0:4001:c06::230]) by mx.google.com with ESMTPS id u125si1334621itg.1.2017.03.10.19.24.04 for &lt;MYEMAILADDRESS@ourdomain.com&gt; (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Mar 2017 19:24:04 -0800 (PST) Received-SPF: pass (google.com: domain of no-reply@ourdomain.com designates 2607:f8b0:4001:c06::230 as permitted sender) client-ip=2607:f8b0:4001:c06::230; Authentication-Results: mx.google.com; dkim=pass header.i=@ourdomain-com.20150623.gappssmtp.com; spf=pass (google.com: domain of no-reply@ourdomain.com designates 2607:f8b0:4001:c06::230 as permitted sender) smtp.mailfrom=no-reply@ourdomain.com Received: by mail-io0-x230.google.com with SMTP id z13so59783308iof.2 for &lt;MYEMAILADDRESS@ourdomain.com&gt;; Fri, 10 Mar 2017 19:24:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ourdomain-com.20150623.gappssmtp.com; s=20150623; h=message-id:date:from:mime-version:subject:in-reply-to:cc:to; bh=4fbE2w1OHi/8ZvFqyHDZ13xw3OFX3AoRAx9mFhz8JUw=; b=bs6ZDtP1nbsPfTdVLF692JfIoezxJXn28jD3TnUwcabXh+885IoTAOHqs2pqI4gxlP xQSbvi1jRJTeAaZqa0jafFih+SYxu8EUUVEn96uWRh1FJU4RkZlIzkHy3z+bYH9Qqem6 Ipt3NNWyHPYKqHATctdckCf6oGjIzszXCcTd0fuD2kpuVtXxyZb+pWsYX6RAjT/d+ON+ mEtOHXF069PcZWk4e6dBCW+EL+Y2xZha6uN10Lj0Mr0XehqPaZxzwfg+5PpTqcncEQ7A vzjEgZ3fHY2JtpQaAV9hmGKBjLLGLvJ9+VFartTINmMFVOxgc4hKQZxim7AyTaAD57X8 unOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:mime-version:subject :in-reply-to:cc:to; bh=4fbE2w1OHi/8ZvFqyHDZ13xw3OFX3AoRAx9mFhz8JUw=; b=svm/uLtJCHMynPx+hoM84IANd+cn6T9DLmvJ7XmjZXun1A9dl8z3WNE1NkhE2bBWlI JCFmKTnwdlP5psky0unZRlB53OebWNPaWoWAdLLrclbOiUOnm5TriCUMwh0WmpHPX7bj xRSw5E7Es9rWn9kQsP9NpGDOii05WfcknDBvNW/IasZ521BPqa3hslYVgbeJRioBXsBE ws2NLNEu69w4fRYMxUplzmztg7ttKIaOm+n+JKDOSXfBs2IJrxpAE/xUrhi6ebthZQHL 5+SzZno0MSPqfvlJApvR3gE/LDIh8oI6uhj3UIpH0raXpF3/ORcnwO3V0tDCTOktr95t b24Q== X-Gm-Message-State: AMke39lLSX5mXqTGQpzjunprUWlgZDHOeJyLR/6myt+avTlQsfZ/nSWGMy9oMFXsfxEofg== X-Received: by 10.107.37.12 with SMTP id l12mr18067611iol.159.1489202644476; Fri, 10 Mar 2017 19:24:04 -0800 (PST) Return-Path: &lt;no-reply@ourdomain.com&gt; Received: from localhost (116.226.198.104.bc.googleusercontent.com. [104.198.226.116]) by smtp.gmail.com with ESMTPSA id s97sm5226849ioi.50.2017.03.10.19.24.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Mar 2017 19:24:04 -0800 (PST) Message-ID: &lt;58c36dd4.e4886b0a.95c82.821a@mx.google.com&gt; Date: Fri, 10 Mar 2017 19:24:04 -0800 (PST) From: "OurDomain.com" &lt;no-reply@ourdomain.com&gt; X-Google-Original-From: "OurDomain.com" &lt;instantordernotification@ourdomain.com&gt; MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_316d1e71935372135c22d7148ac225ee" Subject: OurDomain.com: Order Notification for Famous Dex Live in Concert In-Reply-To: &lt;sw-ordernotify-event-14066@ourdomain.com&gt; Cc: &lt;MYEMAILADDRESS@ourdomain.com&gt; To: &lt;MYOTHEREMAILADDRESS@yahoo.com&gt; </code></pre> </div>

Base64解码图像字符串

<div class="post-text" itemprop="text"> <p>I would like to decode the following to display an image.</p> <pre><code>$i = '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 o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 534neLX+HngKfU7NEa8lkS1gMgysbOcbyO+Bk49QKw/gj8NtCudc/tTV/EF6+qSsZhOkvlN5g+Yn dyc9+orM+JHiyym8IPDetE4eRQkcr43Ng8jryASa6f4UXkeu22jR2AtGkEimaR4yxYD+BgPXJGen 4V4HPK6Udj9Pq0qc52qNN9F2P1B+HHjDRvEfhm28u/sLu6to0SeOC5E7px8pYZJUsBnB9epor5y+ C2qz/Df4ovp2raeui/2xbq63Eg2wS7EVQVOCOxOMjnOaK9uE1JH55iKDhUajqvLY/LMSjxMkUd9M 7zH5UkLdD6f59K7v4P3eo/DvxfZ3VvD9qE00dv5TuVDlnAGPQ5x1oorujTg42aIlWqc/PfU+8fGn xZ8J6n8MNQ0jxld3fh+9tkP2O6gkKT+YQQPKbjIbowyOCc46goorxMbUcZpLsfQ4BP2badrs/9k='; $decoded = base64_decode($i); header("Content-type:image/jpg"); echo '&lt;img src="data:image/jpg;base64,'.$decoded.' /&gt;'; </code></pre> <p>Can anyone see what I am doing wrong? When I decode it using an online converter it displays the image correctly.</p> <p>It was converted originally by uploading the image to an online convertor.</p> <p>Any help would be appreciated.</p> <p>Thanks</p> <p>Dave</p> </div>

测试考拉兹猜想的 c + + 代码比手工编写的程序集更快——为什么?

<div class="post-text" itemprop="text"> <p>I wrote these two solutions for <a href="https://projecteuler.net/problem=14" rel="noreferrer">Project Euler Q14</a>, in assembly and in C++. They are the same identical brute force approach for testing the <a href="https://en.wikipedia.org/wiki/Collatz_conjecture" rel="noreferrer">Collatz conjecture</a>. The assembly solution was assembled with</p> <pre><code>nasm -felf64 p14.asm &amp;&amp; gcc p14.o -o p14 </code></pre> <p>The C++ was compiled with</p> <pre><code>g++ p14.cpp -o p14 </code></pre> <p>Assembly, <code>p14.asm</code></p> <pre><code>section .data fmt db "%d", 10, 0 global main extern printf section .text main: mov rcx, 1000000 xor rdi, rdi ; max i xor rsi, rsi ; i l1: dec rcx xor r10, r10 ; count mov rax, rcx l2: test rax, 1 jpe even mov rbx, 3 mul rbx inc rax jmp c1 even: mov rbx, 2 xor rdx, rdx div rbx c1: inc r10 cmp rax, 1 jne l2 cmp rdi, r10 cmovl rdi, r10 cmovl rsi, rcx cmp rcx, 2 jne l1 mov rdi, fmt xor rax, rax call printf ret </code></pre> <p>C++, p14.cpp</p> <pre><code>#include &lt;iostream&gt; using namespace std; int sequence(long n) { int count = 1; while (n != 1) { if (n % 2 == 0) n /= 2; else n = n*3 + 1; ++count; } return count; } int main() { int max = 0, maxi; for (int i = 999999; i &gt; 0; --i) { int s = sequence(i); if (s &gt; max) { max = s; maxi = i; } } cout &lt;&lt; maxi &lt;&lt; endl; } </code></pre> <p>I know about the compiler optimizations to improve speed and everything, but I don't see many ways to optimize my assembly solution further (speaking programmatically not mathematically).</p> <p>The C++ code has modulus every term and division every even term, where assembly is only one division per even term.</p> <p>But the assembly is taking on average 1 second longer than the C++ solution. Why is this? I am asking out of mainly curiosity.</p> <h3>Execution times</h3> <p>My system: 64 bit Linux on ‎1.4 GHz Intel Celeron 2955U (Haswell microarchitecture).</p> <ul> <li><p><code>g++</code> (unoptimized): avg 1272 ms</p></li> <li><p><code>g++ -O3</code> avg 578 ms</p></li> <li><p>original asm (div) avg 2650 ms</p></li> <li><p><code>Asm (shr)</code> avg 679 ms</p></li> <li><p><a href="https://stackoverflow.com/a/40356449/4322363">@johnfound asm</a>, assembled with nasm avg 501 ms</p></li> <li><p><a href="https://stackoverflow.com/a/40367384/4322363">@hidefromkgb asm</a> avg 200 ms</p></li> <li><p><a href="http://gcc.godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAKxAEZTUAHAvVAOwGdK0AbVAV2J4OmAIIcAtiADkABmmk0Exnh6YA8mwDCCAIZtgmGfICUpDgOLIj0gKQAmAMx42yHvywBqW460cC%2BKgAdAg%2B2Layog7Oru5ePn4BLgQhYRFRTi5uHpjevskEAJ6MmBypjuGR6fzJAGwALAD6BJ4iAI78mK6YEDVsBA3NrXgAXpiknn0DTS0AVIy6BAgm3gDsAELpntuTdTOeEroAHnh5ACKeshOHR8jnlz6bVZE7ngBmJJ69e0OnPhcQDijXIAWk8tBWtlWWnBj22fwqnnscM8pxB/yRkI2W1eOymgxabHueEe6WieDeDxeuO2%2BP2dwxyMcT1ENO2AHcEKpclAiRjed57LVPI4TD4AGJfPkVMLgyH2daePkK8GeEBSvLhRH2Ey6zWYnFsnYMhWM0lVJyYHgiQ24ulDBmOC6yc2stnoVBrFlG14Ael9Is8s08GHQ91DE30YYc61oB10AGtSqiWpgAG5dILbADKnqWmGImDA0g4nl0PHZukKpcWnjUun8IbYuTSFTjRE8HrLbwIBbLIrYMdotqNJs2TqRrp9O39ngIyk8ad0xFLFjnCFyShUamInmQ%2BnjBGQCDLkk87MIJ4sgmsBxIuX4Ije/B4PEKI7Z9tTGbYjXTXXuCBpS1bADWZD8ZwDLduVLDsAFl1AANUFRVswACQAJRQzwABlsCialpy/Tx/1/UNAOA2UIWw5VFWHZltlncs13ZEgE1LD5d3zEN0HQP8fz3BtMAgnYRMYqDUGUGC509PDWRjTx0KwoDPQQ5Dm0wLB0DMVo8y5UsJHvEEtzUI4SKORhCw4IF2FRUtj0wXQSi4z103LfhFmEwi2VnAAjfgWnzIluOgnclUwTSayJTAjgIYhdE8NSZNaXQM3XXISDwYAXHLJUJjXQhPF88t9GsUsBAIdJZ2nXZ%2BgJHi%2BNIwCgLyLQEjlGjsJ1TUqJREif0aciMVDfiuinI1Z0Kj1k1QDNiDePh2V09gCwmJYBGABAs08ABVVxJIkLpAs9R8vLdadpQBZVhVFCV%2Bq6QbeLVe7f1I8aaShC5OW5DV9R1V1oi6fA3g/ESKQ1f5GTFbzRxjOHwJhnZwYgR1QJuZAsW9GqbgRC4SQR86fXR%2B5kHe3FPttCnvPmRYTwxdGycLAhBCJHGAdWM4yUiZJ4xcCBMdtYiceuY5SYJ20cfudpOm6CBaFkBXFYmBxanRsUCdeSzkjeCAHGRewAFY9c8AAFDCAEl%2BAaQV7GVw3jbNy3rb12wDa0Qd7Ft%2BMThF251ax7YmZZh5xY5rnRF9WYtjcfRgEcIIAE5i1LPgmHSIIcPWdZZEaRx1RqgujWiHYTeXI7cNQJhPCznP7E8M5MGYUInWHRHtkMtNcWIeWJisI4RI4BBd1eburiRQvi8HGUKmRZ5Cdeesu/QI5lYN9Y%2B662YN4U5EDc5tvWiHpf%2B7no1e0bY0eAmRwRI7rvkBXzxiGXkTkA73JA4f3v5fDo1dCekeCcJiz3nsaBcI8v6TgPlQBKngM411ziJdIxAE7/DQPwfo/wXQMSfg/f4U8zgkkiEEVOjBHpYB/PnQUjgmxvibLkNS20tACB4GGDgqVchLFrBeJY/YFq6GAGoayIJB4UhaBAJSAANc8l49wCH6KiIkCVCzZX8AWaGoDtiLxHsvVe68H6b23iqXe%2B9NGH2HjsZ%2BZk2TFxGm9F4t9Zq4kco/TABjtjF3YWlTK2U2C5SJCxTcB5z6BQ3HWVAS1fKEFLC4dKcjGCFC%2BEsYQdk4lxTwMgBMZZXyBlCgWAywgRDaQHkfCBj866vEnq2LUZw66xMYDwXQ1hf5shCbics19X4dzYCMT%2Bj8rGiScHWTyrg8DJjeMQSSnhLLphTAWdUVj1QmRio0OSMYlJ9PVBs7Y/DgBcESkhGMAAVbA2YjktJpP/MMgDgFdMYPfcpIkYHbBIZXMhoZ7EES%2BSgtB8jKpOmwYqXB/cnQEKIaIV5TBRpsFDCARxncdH9LwQfcmThtGWJ7t4NeRi6KuwuIMmh5ZezED8SwNKHZCzoH4LeRpvZXCJM4k/Ze6oIByWHNCJSYoFRspKRYwOL8D7ov5Y/V2%2BizIKQGQpYce8CVKhotUuMUqLm4jvq8FxEw3EnzMYPPlwLbkHzaa8DpIoumzR6X03uy9ZW0q6MgMZHFJkSGmYWTuhB5lMqOOqNS6zMIxmWUcVZ%2BFtp9y2Zhbauz9neoVCcs5yqjUAMsUAqBZi373LKfqsxzy4GkOhaGcOPynToMwQClEfd8H/HBZ4jh/Ykq%2BUSVuAKLhgBKmqXXCZUyp4gTjICLIuRCDJyVKgFotkQpCBYPuHg0zaYaOLsxPMiZkzcSSqgN4lJR2EAyblBYvDGXlknVoE2O0OD5V7SmJ%2BGCYlEgWPFV8VoZG8O4m8PAK4WhKXTjm0iI1CynUaKInscKD6qssccXuyKzEfTRY5Y%2BeicWwhlbK4gF7FFTpvWoSdPCTzcT/ZVA%2BOqHliVRY4K50HgXTlnTwYlpK8Dks9JS6luQbX0veJ8RZXweUcswly9YogzgXEZMgfKuhDqnkUr6hUSkJgenZESdtTr6ik0FVBxFMGDESuONhaV%2BLZWdrCIqlUtFYSnzZHhsphcfRVOntgL2HpmzIYIKxVovZGCli%2BIx5A74nT/SMzSQ1OxjU3wPm/M1vS9UeutSMu14zHXOtmW64gCzmVvoVP6wNUQnT1GDQ/UNGEfUYXDY0vZXrDnRtOecmGxciAEFyqQ4yy4hCaU7I3PcegXDqnNv0O9aFswAHV1TDgVDfBUdcMS1GQNtdQu5%2BuxhjMNic8myyhM3KgRsK6yzRVivFRRHA2DbXWGcbrvpswAGkcLqgNncT4jgxsjmLmZguog4IXHWC%2BVhqAxjxdhENoc9xzvjcm0Ob7GIrtfELB0Z9yYNlRlwvhZKiGiSxMfc%2Bxs7m3C5F0D2PsG9fJuMksmQs/9CgTAwxVA5yE1HlibZ4bAkjZCt3nrdu7jOmeM5NtydAQg5qHd7EJyZt7dz7iJF2Lh4i4dsEp3fYgDRSCS/qE2TwogADiO1ZC%2BghBMfyLRnuvg9O9wSbBiwpA0YRxSeAJCqGXG%2BCY7XeyTpmSCc2aZCjrzwOgQwXwkpVaTKWWgdwocHhim4xttlGAkAICsQ4iTUDIH3DZPxr5EnY8a40woDW61P1KJYW8aA2ALQyQQY9RUAqHxYWGRPhl/B0KBGbxpLlPBde68Mbo6VEl6DSjQ0QOEj1xr8wmwOSaQGjnAZYyBA%2B2RZshWQz9vFGjfpEL%2BrkPZw5L7ngWs4Rb/lnEBcPkFZwwVkiGVIkUIImAFih7soRq4F8tC8cmJKLh/CIeQCwdgpYIAa/CpFORGCWixOUZgVRxKJg20aEDY7IVok6cOMSP%2BRItA/ATAEwPuwydK7mQQyCtA9EZw9AT8tATItS76byua0%2B6wcE5s9gAG2qQ81iwqoG/S6BEGNCkqE4OmbYBG9BQq2BY8oqsGmmlSQyAu568OV6y4e6d6GGcS2GrBhGxGymHBZGQyRKBYVGNG6eVKNKEWDKLGzKbG%2BE7KWgUiXGPGpiRo7BViMGVqEqqmKoPBHiQyzB2AemioBmdOIkvm2wbgnSuGlB6aoW3cFSvBDBqmTBraROl4JO6ObwbiLABg7wBWHApqaY5qPhVqchNCbm9q7w0WMyrqxK%2BcrGUifqkkDSKyck2%2B2W0iMRAi%2ByMaZW4GzORcQylW1WbytWxA9WYYWA9yx4ugrWng1unWPW6o9QM29wo2f2k4X26Wvui2ciK2lI/uG2CU9%2BO22we2B2x2p2ng52IYu4V2qB3m7SveT8/edyDyGaRo4%2BH6P4I0xBpBy%2Bbo6AyAxUBK0QLxTgrxNCcEVYieYBeukwIgFReyrQmALQaeeGphW23OYYq21REo3eRovICQCQ1ECkThkIlmhmboEoyACsOwg41I2JOJ2wU8bUvgzhKoiscY2wzhTokMNJdJnM9JOIkiNOlJRyG4lEbYQJ%2BengWg4oLSWJvklJcqNhNC5EpEWYvkX%2BrCRUuQsg2xGJHijg4ogpcpRJiJpJ%2B%2BioFJOw1JDJeptJ%2BpNJ1IkiRwvkqpbJAECqe49YK4PJfJRmWJ8suJsqTUea%2BJ8sqpLavgSJmplwCsQpupBpQZjJxpWgdBngFpHJ9hXJpYvJrwAAcifpJqgKUPrtIC0BuDwIwHcf6LmXmfmbma8EBAqvKI4RpjiFiYSS2tSLCUqdibiQqr6dqVSWSIyW2YaUYZ4MycgM4TWXWYKc6SKQ1C9BKVKaXrKfKXToqXyf2Q2ZZmSVqf6Tqa2R2cGfqcaSab5PyXWU6USS6QJKGNtJKRII%2BCCbkN2kOhuMQBeP8YVKxC%2BOOS9C9EbnkDOeKD2XOV2k2UuS2VUO2WuZDBuVoJ6biImSUMmamQbp4JmYwBMALlBVQKeXOKUNMYtEVIVKtskuVLuBYIdMkgYDmQWURQGFyFgLJgmMAL5AOnoGwOgCCOyGOnSqeBIFVMRSsZMkmESNjvuKdKJhhBcPWBmKWOoJKBgmRS4A1mIdhl/golRHsbUYpEJrkIyhhOoFhJ4PxebMAjsBAN9MeJ2CmbBGEuwsJvhc2u/m8A2IAfJekAAAKHCtZMlqUaXZhaUuXmzjQlGaV6IYRaDSJKp7wAzUi2WkLkGvCGHuW3LizeReVnCSI%2BVnDmzYSaWzDDbGJ4pkwbL8XxWwg4KM7FwDJuYMrRbPynA2q7hxZLKFGmSpbYQbIYgZbbAQATbjHTZOjA62QPZnAzreRKQXDeUaWJVRVAopG9EdY8DqjA5FX5TAkcSxHbSJnDrBRhLIBjqbq260yN63hDEVDxzbBdXqjChwTH7ObXx3BFVfCWSoDFS%2BR0K%2BRDoEBqDNiZLlTLWTL8CbSMABQvnbBaBqQ4SDVuXZV9Q1TFwmyFggirHqj2DnXqHyWvB/VITZiA0TDA15Wg1DLg2YCQ37bQ2w3IHvgop1HG6NGTo1b7itFjLtFNZdGxJPXABLBtbjXVz7aHYnaHVjbbB9GTr17qgAAcnN8uj2k1AOCoiqE4WxEAV1N1d1D1T1biCYlOI6Q8G0CAX1LQAYVkme2N2eueT%2BHAPVhMf1JsKNk4GsngAAUqyCFW8kFV8rML6DmbMM7S7a7W7cGCwPgA1vwPcnNLHiGJSKRZgORZRQOpyKgGoHIlgCEQ%2BkPBFJ2BSBEYWAoi4M2LuKQqWO7Vna7cqqSAxEcqbk2g6lMglMwoWPYGcHAVTrULUDiRAPYEEPUArmhCMDpHBAWFMmbqtagMuMeG6k/oIJgNtCjNVTFCCCURiIgdNTyd6hOHXHAc5veieDDUgbaoUIbZUuBAxG1KaCqCwGbgYK/mIRIPWvWM2HRT7YuPkqwESJhWEjCMLmWAPXuvWoUdJNjgQIAVzKglvYqFoI0gYPHHzZ4CCOoDQiCIcFYM3LvosNRkYJ4PUHzXXBIKWDGL6GCLIEEINgbMxruDg4WM5t/XnYqMANHgbEEBUqA%2BA5A8ePgrAxmGdo4HzSgyhOg5cEELIEMYbDsp8Pg43HEfscQzKY2DRXRczOfcxVfSuDfeqKpVhFDm0txFyJtOPFEvnoMY4Dgyw4ynw4Q3PN/YItdblL%2BlVsQDhqICY8uAQOQREAnBLrQI4OgAgekPvU2jPo3I5NY%2BkElJgH5QgYrIrHbbY1gHcJqt/VDpqhMCCCArY0cJ8JgL5LBSRIk9/XE7uAk64r5Fqt/fYwbE4yas8AnIPBAbQAbBMLUH4XCN3DgxiLIIKR6Zg0EFmLU7cIrE0zZb/R3ubArvGeCMKIqeOIqDBUZS2J7GhUVcbKQnLu3Y6ttNmAgCXmmRmYIEtWtoUGZXZQ5WwDY7IAnJIs5aUHgBqkCN/SUZgENViusL5f5VYRlX%2BYM/LjhN0707QMKFeX2qWKxCuJwjRYOmZbg4lB3SxRaAbODC6MQpcV0F%2BpgD%2BthlQkI2XZgHXDM1MvXY3c3a3dsPUBUwcK/jo%2Bns5j9Sqk4iPCBkyuCmZo8CYbopc6VeWfBgMwIZeihiIehrIlhlfrykvEcwqRPMyNIZYjS3S%2BZgxAoSSvQ5wrRppPRqvUxoyqxqyjoVCHoZxjGBFfxoJsJg2HxblsmdJhkVMvJiJNSyKtivgNhPFOKrcwy4y3YQ4XKkqvsa8CZoKzy0KflQxHYdZitHZg5moova5uof8F5l8mfChe0lfAUymt0iFqVZalQXCGkVFlMlkXMh9osklusClmsulsGvgNlrlvlpUUVohMcqVjdgxKTeEkwC0W0Y1p0S1ts2NTbnXgMZ9usINusLNhcKMdsC1VNlNt2wg1MXEmgLMWtuZHFIsZwMsSzWsezZsRdjsdduVujcTTsF1dXC9jru6oO4DhLYLf26LbGPcMDhAKDjUFZHxWtmGCURShgnZmEk%2Bi%2BnuIUKjt2MSuSzKUoHjo5OgITkvSTklOTjwJTtTrThWyNeu9B8TazmoOznA8QFzo5BILzmFPwULnoCLhgmLtERLlLjLnLorsrqrjpO/lrq9rrvBemUEES3kKhIXTXpbs23enbg7k7kIK7jyB7gut7r7rRROwHsgEHleqHuHlWCGNHg2DfS/TKUnlWKnoklrTeEtjnqB/rerkXoPCXnJ%2BXo9YklXubrXvXltT85gC3tWu3p3gI6G2yAK9sIc2cWyKmty05zSBcQQVPnxLPpgPPmIvvgbFaODL2WloM3CNmGwOsCCBMmMrRXQnrItCCBM57PnIq6ILoZymq7xvCJwJCQHdDhY/6nVb6hC551cdPotLSvnEI5oDyfeMi0C4MbUAbCw2IRTsABI1s9W4wNtIg7ICwxAPiwQwbUvYOtkllGwIdAorpbIg0CCGo%2BnoCYyv%2BMQOs1yAYHBctlEc2jFFOxpdTjFk%2BkcKUHRzsEBoHGS6VQRia2YX8Na1pvR0y8hteqy6Nxy/554bqnG7y3/IceCcK0XKKxRooRK7DtK2oQTQCwq%2BxiqxhAYdlxqylFq6WJmxJgZfq7JsO0gsyDd7S%2Ba2pla7ija3CHa51I67ZzSC6/ym63UST8EQZbZgjn605i5hABM55hva0uG0apGwFtG8FtT/G3CWWIcY58moPmmq6257iB51Cl540JV4sEvobFaDaC8DbUwDswnGsrs9lQlUlQpClWlYqCYt/W%2Brr3Fc4/cyDX1abQNUyECnCCJZMLRcHRJeOTxf8evrpnM5KBiHGRiI0o2At9hg1hVL6C4NtAbI4A3diwbJ7MAwN0N/wysGIW0tU9/ZMnyt97PKgrs49872JW7xIyPd/rpisD6PUI4BlgnA47UKsKsLi18Mn4S29%2BGxn4U75t9x318sQ7Yx3LY%2BqiROa4D3/fV0iOiy3Vi6sOQ7QHzbUHzbQAnE34N7wwSwba2WF7szqrYzn5v%2BaAnCErY/5svgnEFgkb0t3wKr3%2BjYjYhADQNWjVByKw8xaf8TZlBV8wmOqC4E%2BmLr2N122gmxlsQIW6oknzCJIv%2BcuBKMDCTrlwu6kyXulyF7AD1Cw54LkPpT0CMASgnAZKCIBaDO9YBBYcuJjxRYSAOmUHO/sjUf5xUQaL/OEO/iwqpJxK//K0IkhhQtBLKjYRlNzR5KHoyg39QwrY1ORuUYmuzY2rY3t7f0ratjDXtmRBZAwKQLSCers2wCW9LmGEVyvS07J39QIIgiYGoMkQtJja3gXZpgHWAmwDBrlHEHf0VDmDLBVOawdSFsEkR1gOVXxkYKMzZgdoioQfn42TRW1PA9lboniVDYhNsCjjLYFQHNSuMDA7jEoEr30YMQy0AKBbOuBSQh5kg8NTwGk0H74ANU%2BAWxo8CSiSCLm1zHEFckH6QIf4%2BjXZgPzMFksEmkvR4NnjmgtBJYz7fwKfwlxAhe4HAeQQRCKb8BJSK4JJg0HDi2VCAPdeIZ4y153wuCJzPeHBUnSPdmw7IUDs2G/rhDpGdlKYboEaBdF4sOINJsP1cTX9tg%2BATuGE2pDEZ0AkbYsLIGLA4h5h2KRYWcEkw8AcQ2wk5tSDaRD8XE6QC2vGVAiTCiA%2Bww4S0kXhD8uCWTbQYywIaeM4kUzRlFhkwAdBbUDGLoAzVCC/Dw2GTDVFk2eEkt8Rw/IhMv1EgMQ74JI8FqICBEgi9hMwxIbZyyA7BNIZIoobszhBsj/glJBim6neDoAcQ6KTSKa3Xj9CYw4wwKpyM5EMQRRPIjkGOlyB1oUBfyHEBwGGGsiaWhzDkT/UVDsA6E3ENCjH3Qrck76uQIgcnVvApJCwagJcP0HyiegfiH/dMh/jDCaCHBmgjykZiyC78fhXyWyhVEYBhU7wVwslq3Dz4RjwuAATWzCNA%2BRvYNUdWAnSfC54UIsllwXx4qgDYqCKUaIBOFsiCh4KDgEmL3Thxs62dX0NIDMATVpABsBQNs2kC0AFAqAGQDvU2AqhrwVgUZo4CbGkBrGcgKsWYG/61BaAHDBOPYCQb1BPYDQBoKsCAQ1j6gCgKQB6VIANj5ADAGQAoC4BXB%2BxpgUgHAFgBIA8kZACgCPSkg7gUAADOOAnCuBPpgeK4SgL5GMAKAlAU3AgJoDfDPjSA%2BAQsE/jgZcABx5Acas%2BLMBMBn8nAGQCCFuAgNuse6GCbt02zRc5o91EQCCAbBOoqGIDGhtA3YS0VCgvkTjoYCrGkAaxdY1cV%2BJbF2AnAcYMQkcHn4ghrYMcaIvHATgcMFAu44iRACPFv0dw5AbgDxPmTAAKmpAO8cSi4Bv4vxr4o6B%2BMKBfifxkRf8V%2BOSBWgQJDAZgDfQAlQS7gIiAIP8A678AE4y/EELBJyTGSEJCUJCQWBQnY10JIDMBsRNIn1iKJMgaIDRNkR0TagDE2XKQzuC1AKG7E1SVxJQACSTx/E88fMgyQ9lVgIk1QGJMfGSSDo0ktgJ%2BMAnyS/xQlJScBIHGgT1JL%2BSCdBOMlwSzJCxEBm8BhQghkJy2GyWeEwkQMkB/wXCf%2BwIku4iJ1YmQGRLXHNiXJ1E0bh5K8moho84IVYAFOylDiQATDROLIFWC0AZ%2BDfTRpo09gkSZAi40gMuIVjkTAJlErcSAFtgcTdQS06QPYCcmbTNxfYkCWYD9oyN6gQAA" rel="noreferrer">@hidefromkgb asm optimized by @Peter Cordes</a> avg 145 ms</p></li> <li><p><a href="https://godbolt.org/g/1N70Ib" rel="noreferrer">@Veedrac C++</a> avg 81 ms with <code>-O3</code>, 305 ms with <code>-O0</code></p></li> </ul> </div> <p>转载于:https://stackoverflow.com/questions/40354978/c-code-for-testing-the-collatz-conjecture-faster-than-hand-written-assembly</p>

Mysql替换了像+这样的特殊字符

<div class="post-text" itemprop="text"> <p>Hope you are doing well, Recently I am trying to store html code generated by summernote WYSIWYG editor to the MySQL database which most of the times may contain images within it, the problem is that MySQL replaces some characters like '+' with white-space, I have tried <code>addslashes()</code>, <code>mysql_real_escape_string()</code> functions of <code>PHP</code> but it didn't work, the data type I used in MySQL table is TEXT. Anybody have a solution or idea, please help. Thanks.</p> <p><strong>JavaScript Function to upload data:</strong></p> <pre><code>function saveData(){ var dt = $("#summernote").summernote('code'); $.ajax({ url: "save_data.php", type: 'POST', processData: false, data: 'editor_content=' + dt, success: function (data, textStatus, jqXHR) { $("#loaded").html("Success"); } }); } </code></pre> <p><strong>JavaScript Function to download data:</strong></p> <pre><code>function loadData(id){ $.ajax({ url: "get_data.php", type: 'post', data: 'id=' + id, processData: false, success: function (data, textStatus, jqXHR) { $("#loaded").html(data); } }); } </code></pre> <p><strong>PHP to Save data to database:</strong></p> <pre><code>&lt;?php $data = $_POST['editor_content']; $pdo = new PDO('mysql:host=localhost;dbname=richtext', 'root', ''); $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sth = $pdo-&gt;prepare("INSERT INTO text (data) VALUES (?)"); $sth-&gt;execute(array($data)); echo $data; ?/ **PH </code></pre> <p>P to retrieve data from database:**</p> <pre><code>&lt;?php $id = $_POST['id']; $pdo = new PDO('mysql:host=localhost;dbname=richtext', 'root', ''); $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sth = $pdo-&gt;prepare("SELECT data FROM text WHERE id = ?"); $sth-&gt;execute(array($id)); print_r($sth-&gt;fetch()); ?&gt; </code></pre> <p><strong>Real Code:</strong></p> <pre><code>&lt;p&gt;&lt;img src="data:image/png;base64,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" data-filename="_Male_Profile_Round_Circle_Users-128.png" style="width: 128px;"&gt;&lt;/p&gt; </code></pre> <p><strong>Stored in DB:</strong></p> <pre><code>&lt;p&gt;&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAARHUlEQVR42u1deZAcVRnPJJtks7tsABMCIYKFJVLEkiMccbPZ7n6ve2Z3szvTx0wiBQUBSZSIVV6xSkorBQjikT wQA5RUMKhhMNCKBWJCggpEFAOFZUyApHiJuFYTCD6fd2zm97ZnunX53w9zFS92mSz frt 71 x/f9vt83bVr70/5E aiqnIM23dVybXutY8/vYTNqW9te69jzm2Ud0Ga6WkfY2da2R8ueyMPwAbNcbWbEzsdqb2CofICsmqqimmfB12/JXL9RVq0tCjMfk5i1XWLGDkU1xuDre9iqf96B/4Y/gz8Lf75O4eYFklpeo2gGGxiyFlD9feO0J/Kw2dA6XW12xM5HsrdkydqZimL1AVjrFdW6FUB/Dtr/JjcrQptkC23/HL6/nvPyJyRJ6sj6 AV9GD5gjqt1Rux8KHuMjS4AwNc6gFs764AVN/hT7OGqIXPrFlglzuwfLM/PyviFeRieJrugdbsa/n16WvYGB0/uhUFfI3Hrbhj4d4OCFTf4ta3ap7tkZn6qr6 4D7Xxiwo PqDH1bojdl7YnqRax8nc/BEM8JtxgRU3 FOb8QZ8vUrJV5Y0e/ziAr/X1Xoidr5HwF4OltaSrBr3JA9WsvYkbt4Hh9CVstw/N8Xxi23P73I9cPwXiNL5cTtz69mTmKlLqvHnZoCVqD1mPMa00qqkxy8oxn4HjO6aGZdY5yW10g/XrwdJgJWkPWY9ABN8aTPBr I7w/P/u64Wc2r2mkTAZ6x8MAzMjSTBSs7eHvjepuUF46Amgd/hOQFcToVO1wToTgj8HFzlznKcMu8r8PeeD1TjdbzO4likCP64p9BzAnRUPUnjE6ArCfAVxTwUrnO/zxJYSdqzPY SsSgF8Ge7PIUzJp0Bqt Y6ZoAnYmAr1on2TO/Df7kxs1XmVauJAT dBemExPA61AwPgGiuCc9O6/rpU4YlMtbAqwE7cH19xJZHt4/ZvC7XJ5CxLfD64dmuPaHXLxv/ugihRtb2 AL2mPmVkUZPTwm8MfPceMTYCq rgnQETf4jJlHwy/2bBv8YPYk1XyGseIJMTiNelwTwHtld02AWMGXuJEPfspvg793EhivwwukRMCj1zUBOhs6fiK6i6eAD/7wEsTU32mDH9WeMSZzY0VIPMYnQFeSUcKpy75WXgmd390GPy57xi4IiFkh8OhNOlDk ea3wU/CHk6C itBHTx6UgXf2fPby35y9owxrzNBEoGisKf9nW2wkrVnO9EUazEp8O17fvuql5o9IMlsk6TKgSTAtz18bSdP vaYdV cHsMIvn3i7l3wsUPg6Q74epHMyp9mmmEompUHpo7qboxZQxinABr5l ANuxIm9aMS09 lPJmAMXVFWuD31Avs0ARfH4Pv/xBAXb5hw4bpYSe7pq34kMJKZ8OkeJjqSgIT rSkwe/2uFs6IV2CUT3g3107UNAPjnuls1cIZv2d3GTnxmvL88VD0 YE5gjG84GJW0yUczcyMtKFTB5q2xzyCeqRShLhBMq8vI5U4ITpO2W1JKVFuIQB/x7BA SaVDiByFwJft9PdDD2MKZbKbNtc/Dc2yndHnA7FuQYRuMEUiNwyqp STOo1pJ00jyger9I6 pobkqUE4jUbUrgQw7Bi8uWjcxtFs9 6lbYdL/BnnqU81g4gTDjH6J1ADK/2swkCzszmVn/IeU0AqdcIpxA24FCiSzBjP9yrn g2Rk24CM4n5rHEG5oI3FzAnMonEDp6oPevWaDj/9P1kZPpOcuNh5BzGLjBGK HjXfuaxZn202 OP2oF/b6bGLjdHYOIHw9t9L7d4LnrmPUwDfmQDGzeRiBcy4NxZOIOfG8fScHsYuPIBRAB8bXEXPoxgrYHl9IDInEMUZqIVMIVr3FBXwXRxIeiFnrl8TiROIsixA8XqLWrwcZWKogO8ExkCkimZU9E1ZNntDB4SqQkwUyRKbqYBvH5Lz5hF0ySbl00NPAFtbjyBTBrJmfkwFfOdnKodQZRoBUfdXocBHzpkjokiPJoXnEirg42d5vvRBwjSz3Ri3CP72A32KLEeOG9dSAd/eKhX9w6Q5htw6I/j r5q30SVImrdRAd9eLbXK0cQJpjcFGgA7yOFo3dFkxwIjlgr41bMSp8wuRq5AIFnbydcagtRobv2LCviOr8Q6jTq1HMS4Tghy/VtPmRePsqyFQn4OBfCrK8D51PMK4OD8RWEPsLP/006yUNXikRTAdw7M5pXUk0ogoHezMCdQUvXtpDNsmL5teLiwHwXwq1tAiXw6GTP LcQJzOdLC4gu 6/YitwguSprej8V8CcIM6rxeWQHwcuzA4mqFF8eVS3v68sJrFbaINd5CP9 jMqe72cPJsFWiisnnFUUX04gllkhqbotFRZmAXyy/ADHxlpfTiDW2CGZCKkNL84C DY/gJt3UuQHQDLphb6cQCywRJLc4CRB0gcf6gLsZQqT4wdc78sJhOXrtyR18yCqRR18RylFL5DVI2D6Fl9OoDj7N/17L8jQSJTBX7361I5gNQ9Svjoy81FfTqBdO48ouQGoYP9ElhJF8G1mEDe/RrxYxTP PADq v3M iUlQqhLLGOlN3 C0PiBWopAGNgYo6 hY96 dGl5DhXwq8Gg3aTBt51p1lsiK8B7tMGfcGo8WFtkIW3wFUWaBZHJ72ZFgAo9qTFNABq bjgTPNzcPd/6RpbUx4QmgP8WQCzQoZQ/2gzwK5XKLOjrS5mqUSS4BezIlG4ecBeaQgVn5U9mTndQ5BAI9KHnMiWayKzHm8EMCqaVQGT8hK6BnlU7qStw6qNpgl8Vlcyg4qidNh40GYS /CokZ96fYqAohwOZUbnZuwTOANZ1WdTejaqYKVzbWC2fmVWtYfBX/MSXEwgHhQuyKLyMglGSZC1MNAMIZNjwIJVZoWlunevLCYQZviarqttwfvmDJJ3WmQT4qDmMS2iWVcYlzVztywlkzFCyLLmOYWNNO6U79vQv1dqYeYl5xVrmzwmUVxyQeb19uBr6ScgEAR9YUudlHnzQECwUzHlCOoEQN362BYot7IYk0s9FAX9wcHA2POeGlihWwc1twjqBwGm7rRUqbaDvG1KiDo7w5m9ooUoltwjrBMIv/uVWKbPirrIVOOsXpGhapUwNU/X1wjqBqDfbMjV2NHMgbKwAtsLftUqNInCWLRPWCcRUYvLMIPGTb1/YWEHjCZChqzJUFRkc1LoD6QRiMmErVNeC28DSsIGi hMgc36SmwLrBIq7PGkPhsRL/WEDRd4TIHtOMnABrw7sHtU04wA7GTPje6DMS31hA0VTJ0AWPaTGrny vH84ncCGrs9sDAaoeR8fNko4eQJk0z0ON7o7IwhFWmdkfQ/kfOSosFHCvdfADFck5eVTQ08A0ArsmSwWla3BwAgh5/J rVQMIpBIJNzksNTdtCgfcCH IJPgq YLVaZQaH4AYyvmK2rperCzK5uxEfPyaVE/EB08NjPgw30Xsps3ybxoVQsrx0IOwRKykFp9NmwJW8Jl/zQpDwD0CyNPAJv/DsUHCIO/E6pj3KDw4kpZHpqXNC0MSSHBq6Y24eVhxm9iAR/15uGtWkk3yqV/Ji1CKOQCzIBA2XcykQTCjcGo4E/UDnZED4zHyF71VP3SoaH8/CTBB1m6hfXV0x3OPXLuKCisYtqcKMaNwJ9UO5hppVXNSf8yngQdvq/Azw/D31 rL35gPAFl5E5MJAlEs05BlbIGGTcvjBNQ7ALTvAzJovo9zVIL83v7Q9cOBqbNA2lp28JSe1mtvKkjymw8X5cT6BzQrqrlAIQFH3IPj/OLCKJmAaqFe9lTtOIxcHjcCDaeT 3lcekoNwA/XO3gaph4T1Kdh3v3/ZhqXS/127majSyWuPl44yxY6x28vg5w65gwGj/wBuVhIH8hILu2xV28slEWMUxoCw9mCb88e3DS oAfvnZwVUZ2U7ydN962pVbzxlGiYBUK2kHO/dwU2UKeAKAuVDQr3z9Ynu/5piqjh8MWB7l mWYPiXCr4MJdhEeCgPnFdjlZcxLYbV6M/7cP tqH/Cj1Q6e4MZP2otDOyleQkkVkfKvdd8s1VoVNEPX5jlw4x wLD8JN4insbBSwJT0bYpmsKgp6RigcSRl6vU/4LYJZxQM4DUYv2i1g2uCRGsiyrz8NS7qNk4gXEGCOWiCH0ixVjGsJN u7XfUxFS0F0/U0bs4VFy1g2s/ufp8Of/OI806dt6 Yi3Gyhj EyHwm/UuXu84Nw9LSozCPh9EqaGkWr9u5MeJXDvYO1BkLJqaJiXWeZHiBWEHF4HCN9W5LUQSU9guM ubimIemrQMjS02YY9liJVJtV5GH0Wd/sVTO7hunEArV0LIlLyCaVZJCzzhM2TNXIYyLrBa4Z38jcYCSnAogxrJeGCU1Ep/oz4moUcA55JN4ajvpt6gf9FrB/svX9YlcRYwSlbsYegIWS3KECwyYYUowVZUwNWo6jfIxb0tBbHHtOLJIZxGG3361xu5drBf5zHqBm/OVtHOM9U8m4K0GzV7spxfBGO3Wxh8ODjWFoLy6F9vpNrBop3HezTE358R6ny sqQNvrc98Fn8UfAq rTbp9Ggfz2Jgz/eGCuegC5cv6uUl8pnG/yqX4NbFwvk L2KzqQk xfed84tuaHMnIdYcRt81/hB/r6Pxs/bEHRaThL8vYdCYwVSkeuRN1BgqQ2 t71G1dodR5RZIA2 y1No1psEdsYuFFhqgz8F/PX1nFgIfu11jyz4rqDRcGPVUWOzqq5Y H4Hv6 vuA8A/NNGyz6FN78nzMOcM4FX4GiigMFTjI0OvF/BxxsRnOifanTgo7Dnd3vcLYUfBk6WI 0IWl2PIVCuuXlOoOLGWT/tOyrjX29wVrKves0 7U9wAms8S8EzbKTKgfC239fYY2g8ghT0Vgcfs5VhZfyTn5NH8J4fCfxAnMCog4EeQ6BHXeGjZ/8eJjNI0knzWg18TRs DFa6qwTC1hsFPHxR xeOExjHYMiseComcPhxApEs4cUZyBr4touX6 f7CW5gVM8nsBMn OE4gXENriTph4jo7yDbFqJz56hqZW7WwGescAgAfy5sbS LaPg2COnGDX40TmCMg5urMoteE6NxWRdDpu x1MEHl/hxsMJdtpdq1tit68PkiRv86JzAuAfX4RjaRNM9AkyePcDYhbQsY121ljAJ8AuFVftCn86C /o9ouxd Plr4Aq8IMXJGR8nMInBtSnndfMOPJUvxrB6GGoYeC2fSYOPz7RXMGbdAW/7WBDePufG8SmvTLFzAhPrPJwNRibr8QvLw/4F6dYoiIB1hLwYPWH7h7bwTo45C0AT z5M1r8F75/xkDsOkiL4yXACE 58DoJKo9X0qpC5dcbbGH20pV6Bww9tncJLp8AePSJrej/nxRMh//8oRSl9BJ1VmESCopJI0JR5eR3Y Jb9f20bYCtsijYcdkUSNRMCP1lOoMfDemu4aFE7D4eq0eUy0692OH2ZEWfYif4Mv8ykNMYvcU6ga5npqZlx0 O0J8tmrx0vh9Kxwat0pqPGhYJMuAWJ5jykOH7JcQKrxrtdrSuGA0tDe gpxOsTLNc/879GJqvAKTF9M0zM08NIsTVr/OKMFYz7C a4Dhm5NO1hfh6equE28AUAaHPjwFN0yXWwcSsKL6P2bkP51YyMXxTwZ7vulp0Rr44x2yvvCwc9CEWbayH cCF45DCR9G77QIfJn8irgyqaSE5xmvWW7ZTBf7MPfdZdttgD1NjBbQfyC/qrxRaI/r7x2hN1J85ytZkRO9 2R8SeaCBhpqt1ROx82x4ReyIPnFHb2vZax57IbJvuarm2vezb z KoJ8ZptPx1AAAAABJRU5ErkJg" data-filename="_Male_Profile_Round_Circle_Users-128.png" style="width: 128px;"&gt;&lt;br&gt;&lt;/p&gt; </code></pre> </div>

我正在编写代码进行在线测试,在自动提交时遇到麻烦

<div class="post-text" itemprop="text"> <p>I have used PHP, JS , Mysql and Html Every thing is working except auto submit and timer.</p> <p>After 20 min it should auto submit with user selected option and stores in mysql. popups "timesup and tell your answer as been submitted".</p> <p>but its popping timesup msg and not auto submitting and executing php code to store values in mysql .</p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;form action="" method="REQUEST"&gt; &lt;b&gt;Enter Username:&lt;/b&gt;&lt;input type="text" name="username" value=""/&gt;&lt;br&gt; &lt;b&gt;Enter Password: &lt;/b&gt;&lt;input type="password" name="password" value=""/&gt;&lt;br&gt; &lt;input type="submit" value="submit" name="submit"/&gt; &lt;input type="reset" value="reset" name="reset"/&gt; &lt;/form&gt; &lt;?php if (isset($_REQUEST['submit'])) { $username=$_REQUEST['username']; $password=$_REQUEST['password']; mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("demo") or die(mysql_error()); $result=mysql_query("select * from employees where name='$username' and pass='$password'") or die(mysql_error()); if(mysql_num_rows($result)==0) { print "&lt;br/&gt;"; print "&lt;b&gt;Incorrect Username/Password!!!&lt;/b&gt;"; } else { print "&lt;br/&gt;"; print "&lt;b&gt;Login successful!!!&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;"; print "&lt;script&gt;window.close()&lt;/script&gt;"; print "&lt;a href=hello.php&gt;&lt;script&gt;window.open('hello.php')&lt;/script&gt;&lt;/a&gt;"; } } ?&gt; &lt;/body&gt; &lt;/html&gt; code for hello.php &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;script type="text/javascript"&gt; document.onmousedown=disableclick; status="Right Click Disabled"; function disableclick(event) { if(event.button==2) { alert(status); return false; } } function timedText() { var x=document.getElementById('txt'); var t1=setTimeout(function(){x.value="20 min "},9000); var t20m=setTimeout(function(){x.value="20 min"},60000); var t19m=setTimeout(function(){x.value="19 min"},120000); var t18m=setTimeout(function(){x.value="18 min"},180000); var t17m=setTimeout(function(){x.value="17 min"},240000); var t16m=setTimeout(function(){x.value="16 min"},300000); var t15m=setTimeout(function(){x.value="15 min"},360000); var t14m=setTimeout(function(){x.value="14 min"},420000); var t13m=setTimeout(function(){x.value="13 min"},480000); var t12m=setTimeout(function(){x.value="12 min"},540000); var t11m=setTimeout(function(){x.value="11 min"},600000); var t10m=setTimeout(function(){x.value="10 min"},660000); var t9m=setTimeout(function(){x.value="9 min"},720000); var t8m=setTimeout(function(){x.value="8 min"},780000); var t7m=setTimeout(function(){x.value="7 min"},840000); var t6m=setTimeout(function(){x.value="6 min"},900000); var t5m=setTimeout(function(){x.value="5 min"},960000); var t4m=setTimeout(function(){x.value="4 min"},1020000); var t3m=setTimeout(function(){x.value="3 min"},1080000); var t2m=setTimeout(function(){x.value="2 min"},1140000); var t1m=setTimeout(function(){x.value="1 min"},1200000); var t59=setTimeout(function(){x.value="59 sec "},1201000); var t58=setTimeout(function(){x.value="58 sec "},1202000); var t57=setTimeout(function(){x.value="57 sec "},1203000); var t56=setTimeout(function(){x.value="56 sec "},1204000); var t55=setTimeout(function(){x.value="55 sec "},1205000); var t54=setTimeout(function(){x.value="54 sec "},1206000); var t53=setTimeout(function(){x.value="53 sec "},1207000); var t52=setTimeout(function(){x.value="52 sec "},1208000); var t51=setTimeout(function(){x.value="51 sec "},1209000); var t50=setTimeout(function(){x.value="50 sec "},1210000); var t49=setTimeout(function(){x.value="49 sec "},1211000); var t48=setTimeout(function(){x.value="48 sec "},1212000); var t47=setTimeout(function(){x.value="47 sec "},1213000); var t46=setTimeout(function(){x.value="46 sec "},1214000); var t45=setTimeout(function(){x.value="45 sec "},1215000); var t44=setTimeout(function(){x.value="44 sec "},1216000); var t43=setTimeout(function(){x.value="43 sec "},1217000); var t42=setTimeout(function(){x.value="42 sec "},1218000); var t41=setTimeout(function(){x.value="41 sec "},1219000); var t40=setTimeout(function(){x.value="40 sec "},1220000); var t39=setTimeout(function(){x.value="39 sec "},1221000); var t38=setTimeout(function(){x.value="38 sec "},1222000); var t37=setTimeout(function(){x.value="37 sec "},1223000); var t36=setTimeout(function(){x.value="36 sec "},1224000); var t35=setTimeout(function(){x.value="35 sec "},1225000); var t34=setTimeout(function(){x.value="34 sec "},1226000); var t33=setTimeout(function(){x.value="33 sec "},1227000); var t32=setTimeout(function(){x.value="32 sec "},1228000); var t31=setTimeout(function(){x.value="31 sec "},1229000); var t30=setTimeout(function(){x.value="30 sec "},1230000); var t29=setTimeout(function(){x.value="29 sec "},1231000); var t28=setTimeout(function(){x.value="28 sec "},1232000); var t27=setTimeout(function(){x.value="27 sec "},1233000); var t26=setTimeout(function(){x.value="26 sec "},1234000); var t25=setTimeout(function(){x.value="25 sec "},1235000); var t24=setTimeout(function(){x.value="24 sec "},1236000); var t23=setTimeout(function(){x.value="23 sec "},1237000); var t22=setTimeout(function(){x.value="22 sec "},1238000); var t21=setTimeout(function(){x.value="21 sec "},1239000); var t20=setTimeout(function(){x.value="20 sec "},1240000); var t19=setTimeout(function(){x.value="19 sec "},1241000); var t18=setTimeout(function(){x.value="18 sec "},1242000); var t17=setTimeout(function(){x.value="17 sec "},1243000); var t16=setTimeout(function(){x.value="16 sec "},1244000); var t15=setTimeout(function(){x.value="15 sec "},1245000); var t14=setTimeout(function(){x.value="14 sec "},1246000); var t13=setTimeout(function(){x.value="13 sec "},1247000); var t12=setTimeout(function(){x.value="12 sec "},1248000); var t11=setTimeout(function(){x.value="11 sec "},1249000); var t10=setTimeout(function(){x.value="10 sec "},1250000); var t9=setTimeout(function(){x.value="9 sec "},1251000); var t8=setTimeout(function(){x.value="8 sec "},1252000); var t7=setTimeout(function(){x.value="7 sec "},1253000); var t6=setTimeout(function(){x.value="6 sec "},1254000); var t5=setTimeout(function(){x.value="5 sec "},1255000); var t4=setTimeout(function(){x.value="4 sec "},1256000); var t3=setTimeout(function(){x.value="3 sec "},1257000); var t2=setTimeout(function(){x.value="2 sec "},1258000); var t01=setTimeout(function(){x.value="1 sec "},1259000); var t0=setTimeout(function(){x.value="0 sec "},1260000);*/ var wc=setTimeout(function(){ document.getElementById("test").submit(); window.close(); window.open('timesup.html'); },9000); } &lt;/script&gt; &lt;/head&gt; &lt;body onload="timedText()" oncontextmenu="return false"&gt; &lt;h4 align="Center"&gt;All the Best &lt;br/&gt;&lt;/h4&gt; &lt;form id = "test" name="test" method="REQUEST"&gt; &lt;p align='right'&gt;&lt;b&gt;Time left : &lt;/b&gt;&lt;input type="text" id="txt" /&gt;&lt;/p&gt; &lt;p align='left'&gt;Enter Your Mail_id:&lt;input type="text" id="username" name="username"/&gt;&lt;/p&gt; &lt;pre&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; 1. &lt;strong&gt;&lt;i&gt;&lt;u&gt;Please Enter your Email id in the above text box&lt;/u&gt;&lt;/i&gt;&lt;/strong&gt; otherwise your answers will not be corrected. 2. Answer all the question, there is no negative markings. 3. Time given to answer all 30 questions is 20 min.&lt;/p&gt;&lt;/pre&gt; &lt;br&gt; &lt;p align="left"&gt;&lt;b&gt;Question 1 : &lt;/b&gt;A wheel that has 6 cogs is meshed with a larger wheel of 14 cogs. When the smaller &lt;br/&gt; wheel has made 21 revolutions, then the number of revolutions mad by the larger wheel is:&lt;br/&gt;&lt;/p&gt; &lt;input type="radio" name="q1" value="no" /&gt;&lt;label&gt;4&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q1" value="no" /&gt;&lt;label&gt;9&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q1" value="yes" /&gt;&lt;label&gt;12&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q1" value="no" /&gt;&lt;label&gt;49&lt;/label&gt;&lt;br&gt; &lt;br /&gt; &lt;input type="submit" name="Submit" /&gt; &lt;p align="left"&gt;&lt;b&gt;Question 2 : &lt;/b&gt;A wheel that has 6 cogs is meshed with a larger wheel of 14 cogs. When the smaller &lt;br/&gt; wheel has made 21 revolutions, then the number of revolutions mad by the larger wheel is:&lt;br/&gt;&lt;/p&gt; &lt;input type="radio" name="q2" value="yes" /&gt;&lt;label&gt;4&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q2" value="no" /&gt;&lt;label&gt;9&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q2" value="no" /&gt;&lt;label&gt;12&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q2" value="no" /&gt;&lt;label&gt;49&lt;/label&gt;&lt;br&gt; &lt;br /&gt; &lt;p align="left"&gt;&lt;b&gt;Question 3 : &lt;/b&gt;A wheel that has 6 cogs is meshed with a larger wheel of 14 cogs. When the smaller &lt;br/&gt; wheel has made 21 revolutions, then the number of revolutions mad by the larger wheel is:&lt;br/&gt;&lt;/p&gt; &lt;input type="radio" name="q3" value="no" /&gt;&lt;label&gt;4&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q3" value="no" /&gt;&lt;label&gt;9&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q3" value="no" /&gt;&lt;label&gt;12&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q3" value="yes" /&gt;&lt;label&gt;49&lt;/label&gt;&lt;br&gt; &lt;br /&gt; &lt;p align="left"&gt;&lt;b&gt;Question 1 : &lt;/b&gt;A wheel that has 6 cogs is meshed with a larger wheel of 14 cogs. When the smaller &lt;br/&gt; wheel has made 21 revolutions, then the number of revolutions mad by the larger wheel is:&lt;br/&gt;&lt;/p&gt; &lt;input type="radio" name="q4" value="no" /&gt;&lt;label&gt;4&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q4" value="no" /&gt;&lt;label&gt;9&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q4" value="yes" /&gt;&lt;label&gt;12&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q4" value="no" /&gt;&lt;label&gt;49&lt;/label&gt;&lt;br&gt; &lt;br /&gt; &lt;p align="left"&gt;&lt;b&gt;Question 2 : &lt;/b&gt;A wheel that has 6 cogs is meshed with a larger wheel of 14 cogs. When the smaller &lt;br/&gt; wheel has made 21 revolutions, then the number of revolutions mad by the larger wheel is:&lt;br/&gt;&lt;/p&gt; &lt;input type="radio" name="q5" value="yes" /&gt;&lt;label&gt;4&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q5" value="no" /&gt;&lt;label&gt;9&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q5" value="no" /&gt;&lt;label&gt;12&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q5" value="no" /&gt;&lt;label&gt;49&lt;/label&gt;&lt;br&gt; &lt;br /&gt; &lt;p align="left"&gt;&lt;b&gt;Question 3 : &lt;/b&gt;A wheel that has 6 cogs is meshed with a larger wheel of 14 cogs. When the smaller &lt;br/&gt; wheel has made 21 revolutions, then the number of revolutions mad by the larger wheel is:&lt;br/&gt;&lt;/p&gt; &lt;input type="radio" name="q6" value="no" /&gt;&lt;label&gt;4&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q6" value="no" /&gt;&lt;label&gt;9&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q6" value="no" /&gt;&lt;label&gt;12&lt;/label&gt;&lt;br&gt; &lt;input type="radio" name="q6" value="yes" /&gt;&lt;label&gt;49&lt;/label&gt;&lt;br&gt; &lt;br /&gt; &lt;input type="submit" name="Submit" /&gt; &lt;/form&gt; &lt;?php echo '&lt;p id="inphp"&gt;&lt;script&gt;alert("hoooo");&lt;/script&gt;&lt;/p&gt;'; if (isset($_REQUEST['Submit'])) { echo '&lt;script&gt;alert("voila");&lt;/script&gt;'; $op1=$_REQUEST["q1"]; $op2=$_REQUEST["q2"]; $op3=$_REQUEST["q3"]; $op4=$_REQUEST["q4"]; $op5=$_REQUEST["q5"]; $op6=$_REQUEST["q6"]; mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("demo") or die(mysql_error()); //$DBName = "demo"; $username=$_GET['username']; //$dbTable = $DBName.".".$username; mysql_query("Create TABLE $username(Question_No varchar(10),Selected_Answer varchar(10))") or die("Enter your mail id / Enter Valid mail id "); mysql_query("insert into $username values('Q1','$op1')") or die(mysql_error()); mysql_query("insert into $username values('Q2','$op2')") or die(mysql_error()); mysql_query("insert into $username values('Q3','$op3')") or die(mysql_error()); mysql_query("insert into $username values('Q4','$op4')") or die(mysql_error()); mysql_query("insert into $username values('Q5','$op5')") or die(mysql_error()); mysql_query("insert into $username values('Q6','$op6')") or die(mysql_error()); print "&lt;br/&gt;Thank you $username&lt;br/&gt;&lt;br/&gt;"; print "Your Answers as been submitted"; print "&lt;a href=hello.php&gt;&lt;script&gt;window.open('final.html')&lt;/script&gt;&lt;/a&gt;"; print "&lt;a href=hello.php&gt;&lt;script&gt;window.close('hello.php')&lt;/script&gt;&lt;/a&gt;"; } ?&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> </div>

PHP电子邮件附件未通过

<div class="post-text" itemprop="text"> <p>Not sure what I'm missing here, must be something small.. I removed the SMTP/IP/SERVER stuff from the top. I also don't know why SMTP is adding the boundary at the end with "--" at the end, that part I didn't include in body. Server is EC2 Amazon Linux.</p> <pre><code>Date: Fri, 13 Jul 2012 00:33:15 -0400 To: X@X.com Subject: Customer Order #100002 X-PHP-Originating-Script: 222:functions.php From: X@X.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-----=ee483485be490cf4afcc323ac23e7a53" Content-Type: application/octet-stream; name="ShippingLabel_100002.gif" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ShippingLabel_100002.gif" R0lGODdhIAOwBPAAAP///wAAACwAAAAAIAOwBAAC/4SPqcvtD6OctNqLs968+w+GIhSU44mm6sq2 7gvH8kzX9o2zZZD3/g8MCofEovGITCp2yqbzCY1Kp9SqtcW8ardc3O5r6orH5LIn+wAnwkseBYyG sQ/fRnhOd+MX+7r5bwEXB0hYaMg1yCeYx7CXJugWEcmBB9eoN8kI4LiWaXkI2hk6SlralNg5ycZ5 UcmK8PrmaoB6l0mL+eiJeWtqFusbLDycggp7a/vR19vW4Yd7rAjdvMmMO4dtTawFvO39DS4Zuzzt 3Avc/VgdrSm6Ts1qks0ejmgtH/mMb7uqXf8PMImxdtL05RroKFsWNddU3SsnDd65XI0gUgtoJZ6f T/+LOPrDCDJkjoF5Ei56d/IivY4bGb5z8MqkxWnotKUTSQQSQZS8Su7ECTToDZIl4yxMVq2nSk3z XvKsoPHSzKfqpAqFohPivKZTr3r9Wuymy6ZIp8psQ9HpTafHmJVlV/PSR7A/ohLER48t3b18Ka29 ppUi17x3Gfb7JMHkvbRwPyrui8RuYLUOIVu+DPUvzcpUzU4s2jlr4s92GDN1TBrzEMmUW/9UDRs2 UXKu355tO/mlZsJ6+3nuynt3bCyL8+ItPDy57HHIGCMd/NP3aeQTZl3klwr4TuHKVbCmOph79/Hg iLqurZSTq3zsnSsdvUZu0sLsSXgiX7d426PGTeP//4+ReaKRxcszqSCWlGFHGWTffgYZNWBK9LkE oBz67UfdZhVuGJB5Dbmj4ToISQiYbodxBpNDCNZiYIItUoYghzLOSKMO4lU3V4067shjhR761WOQ Qg6J348b3EhkkkouSYyRGiDJ5HIT+QeiOVFeKcSPTlo0CJS4pfhdUS9iaQSLVPL2ZI5krrmClmJx aR1MOI44pl4NUchmTokY6aV2ef4Z1lzHVbUVilY1OF9E6rm1i5qAytBinRGd4eijlqYpKA/dSCei oZOmgSZ0XdF2aX7rqdmnnaWuak6mqoLoG6eliUPra4suxaoNkfLnEyO7dglhrsJS6uoy7Q2KrIqd /zJx64ihMorrsJBqqmJaY6WE7bXSbouBgPWJeaeJ4t65z6AHGiOqqnFyO0Oy4D2H3XllpcouoN62 wyun+5QT76bxVnnbuVvWG4K78E5nq21nEsxwiSni++1h4yrsZ24ApybwwA0DGatgGCu0oIIbj/zl w/x+TK2v34ZY1W8JH+owyd4d5LHLJx+XFb0yMzlbziiLK+tbs75MNK467yzRuzZ3xjSaSG/b80kB G7xy0zBPjXFwlT6dGTQHT8wZgY1xzXDP7khXqMrU+fts259WTHa3NIeYb9jtnbZw3Kua3VjNvsZH YN5jW3Xr2xrr3TIa8zKI97WMIy4tSWc5fnfJ5P8W+CpiIC/qEYmQA+mwwoZKDKOnn+8dU2rAVt4r bhKnDp2kPsd4eu22r3Y0CLnfznvvgByOAum+D098PcCf4Hnxyi9fyvHIS8q8PesCIVrXymwd/RV8 onsq9ENjeCDMH77devUv/gqrgc1Wq0hzxmJf3orYwx9I9TjqTn/2U3iY/Oq0IyqmagXMRVkrX7Z+ 1aizZStp5DqXgwSYv2EEC25VCkt2rEcp/YHCW54y13pksYvcGEuBCUTLQ0oEobSpbHQoQpsLI2Y3 sHzwVd+bWbRaZiUNGuJelvNgc+bEQoslqD/gC9+kwpMyr1WGVFyhGC0GxzIadog2mtldBSn4mgz/ WFGHQYiaSnxIvoIEUV5JtJi5lCi+lVirjEJDDxStJkLTiYQ5Q3RQuMZnRyEWrY5hBI0RA6M4anUv Q1ykAd/Uka420kGITtyEdlYxkzMCJ5AnA1uDJpg0TDJti39gjuYsoSD1ecRt6auTRkT5OKkdsCVO K6QLDvk9WSHMZHHUGi23QyXFxBCNN7MJsAj3yTdy8hf+WFAtZym2PUJsVPpJ5ibT48R0ufKVdExc 1bJ4tV1G8kJENIt8lqlE95jyh9fplzalCJBqemaNz3JPGBvpNGfCkVfr1OM0XwDLQ8kSi+d55g1Z pMYbVhIwLjRhAUd4zCgOswzqLN3i5MdKZW7m/3+cC6XIAsjIi/LznvgrJmrAecVbypNUlgtodDw6 mY6B6Y9wGuNII+iLybWQWWv8JM7kKFOKMqpzGq1DI33qTo7GIJ8THaVAP/XSaEkGEtKcZafUJtKg 4lKYUg3KnoLqzMIp9KCK/Ce0FHXOaMpRqDPzKDmZuk1HIdGeJC2n+VA6C5Vuk6q2dCo8rRrChIYm rFU9KSGzmFR/utGuMCVrZj5qUqdudK39hBMOK0jSM1LNr2a8pl7vCpRAVu2hcawpCgc4QYACE4Z+ S1RWzVlYw87JPqyzzgzvR1c7VQKAS0EoTUVxH8ZWdpHAjO1COym/vlm0gZcr0JjQ+kC5UG5zpP/V KE946j3VdlQc2moGcivWPQgi1XPf0WUbV5cxy8LLpiks72+B+0uIeRaPnwWNd820GIi6b6alNVFN yyjdso5GkyvEU1xYyt7+0K67O83la4uoriS+9X0mzK+DJXjeB0t4wl2MMIUvjGFDWjjDHO6wfj08 R/9yr1FmTceB0Vm//+XQRirOr/NAvEEK6VS7yo3uiblTYDxlkDjJc/GGYSyFwjH4s1NqJXKa+lhc ptbIBSvhhF8M5EJg7Y+JJCctwdiKrzI5y9Q8KlmhHGXgZjMaQeMqAN0ltzTq7LcD9PGSw0yGfREy We/Zsj7ZyL4LushoAnRszMrFUjpzczo/Jhj/mOEc52CCk7ml+Ytc7WteQbaVuewkboQexA/ugfXQ p+M0ortgzME61JfRrSQ9F6fYADK2oBMNXaVT7bJCN8zTn2YoVjcruD2z1pKijqf9esXqi10Wp6SR ddmMXWslUKyJY0ULrR596bEeOJgg6+ZLdQpWB9M62WJYNlqRHFLr1udEqLTsXD/0aDwGltIFhCNH t81te6T028T2Mi+fCreuUnGmCR62PclHT9XCO95B5usR6x1u3I4b1wPVKmF7CEPfjvGK+xTqwAmO FbHeuc7dvCTg7FZph5uWdYlqOL/HhTfDVfzdyMa4qSKdTdktsNF6Ju4d+ahqcqfQgZV9nM3D/9vs aV7c5U84n7MQrNyElzxmAV660wk4wypPHOdDbp+Itd1yoh9b69N6M9dvl/VkD/3rXBs72Wt+9nuG ndtmT7vb3fz2uKe97XKvuyvpbve86w/veu+78vju98D3DvCCL3yn1274xG+M8IpvPNIY7/jILx7x kq886rxu+cyXnfKa7/yaIO/50D8K9KIv/ec5b/rU94j0qm89kVjv+tjzCPayr/2MaG/73AMI97rv fXd473sdv7zUciuyFP3XvgYDWOvA1/2vK8Lbsrb4SI85PqPz+PPpsx31sufvnW2EdmK575GhBTmR U/715tu+rQcHv9K1iHwa+hySD2+sy9Vfe//2l9P9dk4xiSeJZ29kbUEndtwXe6lDZtclSjj3dJR1 R9OjfH4UFWUWTl+iaelngAcoWuGkSpjmgVlDaQP1MNXWbyj3XOUWJhiHf+snY9p0WtCUMMGFTB8l V7dBgSN3LCJHdCuYe9XFMjcoTzU2Tq82KzWoOpUTcMFWUjuYgc6ncSIoWAxIGDB3byO4cOcGSBG1 VeHHhJjne/iTUEDIQjp4IkDjKvj2XQp4U7GFTSrYhKq3b1AkhqRUV8yGYsnwNQ90XLfWcWfHg64X hzO4Ni5oZv3kJrzUVYnlSP62UZ/2h4BIX+0VhoSocuvFdEOzhuhEOi8YOnL3iK0XbS0BaAT/lCHC B3U6pxC+ZkDY1WfJhVHFRXafCIkMtollOGenJGJ9pVWUpIlOhnRU12PxJotfuAV9QIyBcoy/hwzJ +DxeyIzbsCfPOALDKI0ZV40sdo3tcizf5Ee9WHU/Z3URyIVviIHOmI1XJnxUKH8tiIKkpo5LiGLH SI2m90JUZk40h4OuBh/56HRGZ46dN4+id4PdaIfbtVu0dVcIdI5cuJDPc4smuHLrliPSpEJVuJAB GXqsQWf6mHz8yB9OUn1VmGvJiJEA6UuEtStC6IpQB1vdOE//qHklGZMXUmYpaXXXx49Jhkltlo0y mXmcA1JNI2Tn9H4NiHI8eY0+aXkhWZD//xZY4gZeRYhwDWmUVAmGX0RvfTiIqnh1Vmg/5Mh1Sll5 k5aVf8WIRxUXTJVXVCmWkgeB+2eWvYZZe8STYMl8dimQ93Fm/yJbqHV+8vdNG9h/xNiWbpmDgimD N0lj4KiHh5lG8UiYeJmXOVeJaxmOywc9CzZojeiEMGmVkMllnwlqkjmZ0+iZoqmNp2mVuUOaqLlr rhk8mNeasLlStGmb/1GYt6mbyjabu+mbp9CbvymcZRKcw2mcFaaax6mcxJScy+mco9mczymdGVGc 02mdPHad2RkOuamd3Xk90emd4Yk74Cme5ekD3Gme6blfbKmW7eme7wmf8Smf80mf9Wmf9/+Jn/mp n/vJn/3pn/8JoAEqoANKoAVqoAeKoAmqoAvKoA3qoA8KoREqoRNKoRVqoReKoRmqoRvKoR3qoR8K oiEqoiNKoiVqoieKoimqoivKoi3qoi8KozEqo8Snnv+AnsFXncp5oz+JQCT3mh+2niBUo03SirWJ faBpiukYjDxnUD/KkE6Qi8JDXdi4WkI6pMEQgkZ6iuZmUO3oP6XGXdo3YtT5ga0zpW2yFluyo1ca mlvaaBDEi7ogX+yofW6ac/E1JeRpmmUKf6cJko6Wo2yKKQbkXQQZam8qgZrlo2fKR4p6k01aBeQl Hmb3p5WypoLaklHJpJrqSRfEqYBaQpr/eqSkGKnLtai52HSkCqlm6qQuSWSheqnmqVnhZ1N6JjlR 91pqiqu+mH11GhlU46OXpqqwmDHwiI+U6RMQNayYmnFm1aWsOqvH+peEWpWtSqsteImxqZbiSHMd Q3JqeF12WlyLqqXbOq6oSKPMipy6kB0792ed+q6t9XyM6mztig2sGijhOq/Jui/R6mqZZqhS6q+V Cj6YFrDbqK5F50kJFGmi2qUNi65VdFX+aJSMB5T46jr9Kjzp1Y9IFKx8+aPlxnT+mq0JS5zu6KnZ 1ZFv+l41p6uFmrI7pY0ri7EEpbHySmpP+iAxa6VPd6j/+qQmO54sWzIQy6tA15jOul8t/0utNItP 7ZY5N1tyJFuv0LpKHdizEzuyUlqtQruuSVe0qbi1ORuvNWu23BqBVHu2FsSQY3pbU8u1aGe0dwqy 7HqJPwu3R+u1elJgLsu17uq0eHurxjVfZwq4Qcu2RnaxN4WzWpq3/9KeJQtI+Cq4fxuoNQpfD6sG okonPGusr3oqQeqeVWshaCmzaLixcfKpyiK5VQm4WtuxH6une5tl82W7LOGLnWuBuxqz5kW6OBiu rZu4bbi4okiorLu6YbuWuvuveZa8n0u7psKkSUtTuXtKngtsJ7aqJRUyv2axVtZH3Qu0xzu25Gu+ dII5iWq5shu9RxB/jGqwZhu/8Zu3rP8VX65qrN9ruoFpvPFaq8orIeAKJlH6v027tu07EiTWYnPL ZPqqmaZIvXfquAfskEpXvIf6pWJrpsErrCz7Xho8vhSMwLoSsderh4jLksWqwgMcwGJ6sUMFvm2b uqeKPtxbuQ57mWBrw+w7wnxLt/c7vcJ7c0EMLvZLIhBcs/rrVT3sO4QXq1BqfNDLxHqzYZdbqtzY tVMcN3z3xFDswVasxctRujWysLMbxlgSYWB8xhrYZWvsxm8Mx3Esx3NMx3Vsx3eMx3msx3vMx33s x38MyIEsyINMyIVsyIeMyImsyJhBn2iqn4tMkvPpyPkJyfIoydKXrmpcyQJ3yfmayWb/vMnlGJ+T /MmhjKPyScp/asq918iYPLHBu8oa6KvaqmOjG8ssOMvNWMugfMtut68stsu9zIy/nMMtSayDKcyp R8w/zMKiuMv3qZhInMxhicrnOoSd/MPvCXSaPM0kc8nVTL2Rez+w2xvc3M0jY6DhLM77qLVXdc52 d6DWbMv76LNG987w/MiNuaXwKQtL6M73XHf5vM0xYq7qHFLjB9CeSMma2z/eu85C3MUJbWg9BqDR rH/S+rsSPXcU7Z9C+M9VmtEa7Ycc3Z9fHMP0KsQifX8kzZ8efdEYLcIqvX0qtqRJa9EnPcFSLNPC yNLbM2MD9tBZDDu8vNOHR9M1LcER/zzQlnlLsODURR1m+/qVnRzUOPTRwWFaUB1lUm2f+6zNmfqN 27GImqLVQPbL9SnPVW0yr4xQT7QQZQ1jxIzN+NnPsEvOZO1IRA3XT7PMo7zUCWrQTxR9e81hy+zV FYW7BMrQjkrYvtzXudzYkS3Zk03ZwgLZxVfZX7hyTZbZOPrUNtTZPXivaBraoq2Sxlu9fFra3Yen ddNqTxHRq5095CYiZvjaaCbbkLi7y5SHuJ3bcKiXR6lg7LTZv22SqgBSmQhtes232UWnmRmSjzqq hBDbcawvK6PcV8iZ1B2Kczq4CF1jRIxezN3Lp4bcsH2Py7Kd3W2q3x3Sr7isv5Ouuf/NUxAHVNA0 39xtizRbqdq7kpdNpuZs3Immt8CoVjWskozJnPk94BuCw+ULRCD8rOAI1II0qiEDtq8spA/uuw0e GxwOXhx0uM7mrfp8wpeTsf7YwrNcvb/bsB7+4XE7ti5s4a37tuqd1DYHrg8sqdJcRw6rqD4O41cB ywxY0Mmntik+H4y9dAjO5KhUxD/OQVbrZEk+5HuxwG1draE2uEsuZ5NL5djbvAVbXnZbz42r01ee Wc/nJkCMt/Zq4ei7w2Jev3S+5Tc2wygMxzOqoGRKuWJhwl6esy2ewRIuzs+7u+AduLlawuQ9nXwO 2FQA5IAOxIK+Um/LwDOOtcpbr+T/fNMjZLQC/oyQjqClyqs+La3T95HvEUo7PDu2alta/tdwHs58 TOrxLOl4HsWS+46dPtzfauiwA+sI7emzruQxXce3ns65br2nK7+DhI+tXrZhrkZVXuYGXun+jODb PcXKXqCmjrC8LuNULuy6NrAj/rgQ3rwIK3PZrmsAbOvePqABjqouTba/mOiQ68C3S7WhfpjtjtHP DOBhLO/z/tmpOnyyvsJYjPCg67/saNHUjlEQm9N3i9jVbckFX9EHf97NvevSndNdHsLjY+X1/ud1 6z1e9LlCLscaH6DxIdgHv8Wi3sMuv/HRt4wyE930bfMd/dk5782hO+A97/PABvNB/1/kqw3O8s3P K0vz6WTYlb304z3PwzPwjT31C171lKvmiJP1IkDXYO/XP3/0Xb95TU/LaC32aB/zbe/oZu/gYy9+ it2nXz3YMf/2cL97ct8q3173W38ObU89KLPOgE/AXH3grV3hArz2Nc3iOw/f2VxikN/kEftOeU88 X39YDFp8dn/3bq0n21X4D73jSZ/F+Cv5gX36/tfTPk6x26zO7mjy9s3MdCjKW1+7nJ/7uF/OoY+V o1/Qh877KT3Esa/624b7w4+/hd7eWb7v/N3oB435Vs/3mx+hIOT5zbq5YersOtx0bR7hDK9uNeGF Go5gKb/t2C7+xdyo0d3vqX3fLP8PZ5q/tBIa4WoNnKDE/esPj8UO0x5NAPAhFFHjHJNpTXtlzNW4 xzzM+yCOMjsNRC214dySPOXtGSOcxfje/4FB4ZBYNB6RyZMOd2Q+oVHprjWlKrHB3TVWE21Z3ers ewOTvTSeOCl2sdmpUFptm8Rf6LrbpOq+9a6yBgkLDQ8RE3usBMsYHyFHfB5XoBSdYubs7hrxNhcb aLNLbYtWWI9WZ+XVVkE2YMeWDJ9WZj02QafWa4c0ccn0WucWYImWcV91YP1WVBd3VdewbGUXcm9L ctWWclG2dUXMbDnWc6m2Wwk0dcUWR/F2dCN3Zi8LJiZWUp93X3kXbncVECAWyPqVY590YEv3Rzvn dkO0km5XX4HXew//5HI361bFF46CNHrN93qKd0k/NwtD97/MF30r1imed0sT9Xfd91ofN08DOHfF VXe0N2xTtn/xh1fzbHzvd2MfmFH9F00d99QYV2SxSG4NSyWEt1tBN3k1WIJzqHnPd1ZNNldbFIKp 11yPtnoltmQPuEsXtlXLVMnAt4Zb7X8r2H3Dl4InWIT3l1b8VoBZeG/pNWTVdGRBeHPTdoTDynlN OEkVWGOjiohvuIevWHfJ9kxRt3ttt4MYmGAel3wdGIuLOIX1d4dV7YKTOIOZeIOhWH7ttgzrd417 OLQcmIzZjId3KI8Dl4VXeICbGIObjXsLV48PK4zXV4fNuInjGI19/xiH7fdmazdLyRd+Odh45xcL 69h+cBiPVThnHxWRy2p6rVdyA7l8l/d4Dfh439Zip9hZSdl+q1iSLVmNkRWOIzmIIxd1rViUpbfm anZz/e/8OlmIP7m4QpmU+ReFqdiNzZiXbVmaRZiQwdWQU/aLh0uRc/iWv9iRS/iHz1iaYxlxp/l9 +ziT5diD6XeJ83Wc3VaWd/nIojlOTRmAVZlKBVmLrRlssXltcVm5uLnjajmIgTicIfmgu7ScsbWe 81acq/lh5/iD4/eNDxp/7zmCofeWMZmR9Tmf61mGz7ifw/SfhTak+XWWs8yNDRqe0xiigTmKc9eX PzqMOxqhk3V42/+5ot+Zm0FZh7/5hBu4dYcVlU/ZhX+2gLmYdb04oJVmoN2qoE34oiNZYxX6URm6 fb1ZeRO6qiWanTnZnYf5kfv2uzL6hXs6eymYj9XXnln6TFX3hB16n2AYSy95ZbW4rG1YlFdKg7O6 jbN5oxD6QqOubsHaCY/Zqu64ao96mZGJrzGXUEzZUt36pbntqxX0l/VpdvvKrxnbp0W3lf/5rj05 p8u2lo/1gcn1kU17TWEvsTs7mT1qsefKqxkWpiJ1hY0Yt1s5rqW4pn2WYtEanWM3ptNatD8bno1v nZvVjzVKtTe0olvbnAwPttNXttWLtj3JtsNWsnO7sXdbqu8Hs4X/e6ubTakt25xX+be3F1xllbSR ebqx+3sHW0kLG4ljWG6KWd2sG9O0270Amiws22i9u4wlOpgH/KPIW61RG2crOb0bGpkTuKTdm67h u5cXXLvpG8JvVroznNSqW6xPlqoNmYivW7wdnLdDmbJvOpdLm5gZHJpTnFYhPGFJPLSX+r2JO74/ PLD3msNr1cOjdr91je/6m6z7FYgCPM24O5fTmK2bu7K5G8MXl7OlCLKH+6FPN6+THKtn3F48O88w 2MdvCsk7XJ011ZUVq/ns7cjrO2sbG6jteqyxfK05+sClPKJfvMrrusEJfItrHK9vnJazLbltWsHl m8yD6MYfHKc//5zL9I77RBzHQXu257vMmrzOq1eBtdyqIXvP69rKi6rOFfuNR7uCRzzHLXzHMXzI UV3G4SyZGz3BXb3zIr3i3BzIS/yjT/ytwXa4JxvPW/zTeZzPx3zUy7vU4Xy5sdufKzy1w1yM+/zS f3yez5y1H12/0SPEeZrOnfzOldyFKHXZdct0NZez5zW5BUhwzT26s3uDwz3Nt3mjE1nNJ5jGZVqO kdqjgpd9aB3Gucznui7XSd2ZnVjc6Zmxoazd6za/YXeBT5m5abeNZ+ra1Xxmdzd/wdjeIRnfFzrN rze4px1ahRzgrxK9zo7gk93g4dZy9xhbTSjdhdfhFR7iD/h1D/+X491VTft94dWanPV2joGV3l8B pc8V3RGs5JHefbgdzY87xoe6i2W6rBd7ddU7yuf36k+adYn3b9U9hePdxPl1S+t9bIee7Iv+nGOZ vUX3ufV65Gmp6ZE81UV9faVepMk95jn33OHextWr5UF+790dwC2e7+cd7Q9f6NsW8VWWj4++78sd zeU7reS+vul+2qOeqae+y6serx+exSe65l2ephl+iwk/yCOe18de4xO/64OW9Rv/zh+fpBc900k6 4PtO5aFe2m8egpt5SUv/84U99LWehh8++Cl+v+x73Y239b/7qTn+mcF0r40+YmOc5CU/25k+9yd9 kjGf93Xe9+X/Wt69fogDn+aLf2qPv/wHX5oIm/mBX6CJ3vmH6/efn1Qd3/qXPvKxvdYzqfIJID4C mPKGig851+Ck8tq3Y5J1YSdVx2diqZeW7amysrtuJAra9Euz404HfA1tREzolytycsqYbpb54FSn ZO3SxFGCTW305qx1u2Ce0Stds9sTNzwun9Pr9jueXd4j+2ehRgvYHtVYz5RIGlTh18zhn0/YoqCj 2iFXmhKkmBTQk2IQUxjaI6KoWeVkKVbjaaAmTNnWmJXfKGAnXxUnZWleHe2v8DBxsfGwLirU0aAs L2yyLSvgEeaubm1jq6UhX3MzoVh1H3YsVvnVkrMy6GZheHq8//osu7Y4d9F1MlptOniwu0TwQtkK eAwOwIMKFzJsCCzavFiMzL26NTHav0/j5C3zhgvRtk/9AnWkF2yatXXkug2cZdJlr4i5WiZ6SZHm NHvZqEXEKAmUv5vcNHpkFtOhnIRIlzJtegxiz4I/bUa6uI8i0Xfq6glkuXLnJa9cO4bbCfaqvJH6 UqaNOYno2q0kV+JMmBNk139lJfIMWTMLGbQE//hy+sYw4sSK50AtSelb3meAfQbVupFu1L2Yzork qU9vRZ2mBMM0SVZuSsIyU6mEWRfd18CdbXKsqGru6bBwW/PytPjd7+DChTeWJhXyXoNCx9oN/fe1 s22uZnd1XP97nFbTmcXOda1yl9+ZvNkxhy36PF7omqWSN343LOXBR4dzoG//PtLiyOXXngiNNF4j WYZZbrbJxZlsnkUFGkonoTaegeoRiJlqbwVW3oMFYkidWZFd102FBwoFy4A08WNRcErhtyKLD0G1 n1VUoUhKUbENeKOHE7oyXYLawVgdQdgBWaBa2/X3XDuPXdgdkhhCx+FHtOkIolsituXfPeb1lol9 Krb4JZjixQfZickpSeOTS+Io4TkihndPkdZNmR2cQ7rHXVxHcvXmbkTmqN1pUNrDpoEhBnWlZHEy eaJyiHkZJqSR6seXUUdWtaWW7znXXp4R2jgadZneiUqH0tX/WBqQoEkJHqhriMrWqBDChw9QRkbH l3d+Yqkoq2SeudijkQrb4qSOlXmrch8GqmaWEzLo1aCrdSjqs0Ke9Sqetq66Wq9LdioloHcKmp6s HvnanqqAlcgbo78qFuyw8XbZ2I8CLufgtDVWViWd6+WaLa/iStamoZvGdhe4Ch46FFbeZuvbnrf4 5N1+DcKWT6FKdkqqxBBtcpu8IYtMHL2UBmlrg/kOtK8o12bMaa0YbzgwlTLjO9oq7KbaaowBKhxz zYt2XA7FJlusL9AQn1ztzeFaCPLIUUvNVLHGrTknzTYv7JtosKJJoYIBZ5Q1l1rz56bDBW/267Lr mv31x0lz//cjx+FG66/GKBsc8NPsqTE14IHnUbWvRRM9tNymRnK0jG1xvB62WBJcZd0NI/znz3xO 5bOPmf/UrdkY023wxYlvjuDEiGvZbmGCu/66qyUb29e9Rt393actf4Q3zEWK3fDiQStq1b7rqm0l w8V73nm6tttpr5xHr2x64a2mfnzE5/4NO/fdN0tt3hs3Te700ZaK88u4Afxz24izbu7nnxpPufoB tT/88iPm/bvhsbqN9uH6pqG9sU9auHKX9xLIPcIdsH9m0l3pzBel3d3KcZ5qU+TI9r4HHkxFJtpZ typGq8fBz4KSu0r/0vU7DFbwONZDoepOtaVLKbCGsGOgAP/15jwWootc5/Na/BAFORmmbIK34aDi WMOqCLJNYP/DX/PkYzfaRc9BTGReA194OOwJTXs2/GL3cOhCJxHwdj2cXNcyVDb12WyF8uPX6XZG I/QkrHMhNNoIL5g+0MlNdCZD1RR5mL5+TWmHHtvffMCoyMCJMW7iM+Tb0Bc8IfGOjUBzYxrzxUXi vdF39FubboD3vYetkY/8Q5IIL9NDLOaQaZAE0PsWKcupNTJ8fpPegnx2uRTSrjM582WsLJWoYcYt lWr8jyeRSD8cHQtmoaSTJvMnvn/RkHxj7OQos3fA1s2ymyuqJSVrNb/7ca5Z2rvcHe2Xy+lpKhck 2pyekBX/R3bezI/2aqYln1mnaLJSb9SckTWLWU6+XVM13jzosMC5tGWOUoTQVKLVepmgX040mM5S F0YvVUUg9mxbRbSnRI0pzGoyLoYsfNY/1cmjOcZuTDMEKCN3idAvKZSQ9wwbHh+alW06B0HvRN1F zZQshh3Lo805nozOacV6BlWeKl3oJiloVAk+1JQDLWDfDBrGns4UUjWtE0gTpjyZMuemNq0EMFEa mV0RE5EDTOo8cfdRcZrzpfTU5w+p1M+3NolLVTWg8v5nVa69zqldDdNXffqXZDpxgjs9ogcNSNJ1 yvWoaM3oH3NUOaVyNK647NldibpPI1JPi5ak6mgH+6gX/7nVr4WF12G/KbuIKrZydUljYcoaUrBu b1YivShbJwvapm6Wp848m1kXC8/K4tWxPpSmP/s62ZXGTw+HrJRrXQfb2OInsVLd7W11uVomhZW3 7qyoWoWKwOZu9JiTueRaPbtU7Bq1ubh1bQCju8omUndsYpJhLBfITe52d7bVWyLpyPtGsio4uYoN 7gvrK1oI0/decOWsezc4X+Rqlqu+TW1ppyldgJ60tbm9LocbNbLtEpg+3n2TbSF0X+t+ZrcPbmuN Q/tTHHM4nsWFbGcxzMzlHnfHMzYptCw84qfeOLDZ7CJPt7q9FrPoxZhTsTBntxtHLjiyRcsrrHSF UQSTMP+JhMQWj8rcUovqFI/7faL+CBWXLc/nxC4NsLBibFgqF5i1Wr4yAtVaL4i2UrwU1eZnQQi2 d5J5j9gMs7a+q2bxCNq5A3SyHcEm5+3QWWk0hmVc81xC9fL5Plb+4IkbR1tCX3OsXkblaP9FxvPC uIVm5i2akyTEKZu2pPh885OjSMaZjXONn15dqL2KQviVusoGziKqeZ3lVXd6ob5+Lx8vk2lAavCT pXy0Gr8l6YxRWsl5ZRodFS1rHXI6bXWWNoo7GmgXJ9kKzZbUs3OIYOuqunrFPjNUsQ3YDW9buScE ctCcDGkxixvL0T137bBZ8CJHnJx1zKJgB65VMF37MPf/5ni+Wy20VMf3z//GdcA5WWjoEZGrIUJq dcu5cP+NG42sqXQmI57uXIsVQJqKmIUyntVE0hQ+4vg4YkPO5X3Hrt8Yb6gtj/yfbJ/sQyocM7ds LcmK8rzmer25uS1tUUyru6+PbPfJ/f1k1VZzXr0dAtJB7mdqA5rklXQ4otG2c02n3OwKRqeu4Tu2 nxeS5n6ZNNhHKl50X7Xrm7Z43V0o9IIS3dlvV0Tciz73A+vM7loPOtTDaS2Br5yKLQd8bT+vdwp2 /fDkTjxwxc54wEuo5xlM+9MJKlDCWn4m9s685eMN7c7D2+mgZyzA2wy3qNe19VhHuNIUHu5Iu97m aY1v/86t3vjTu1dZjUV+HPsEZahp3vdCAH7wXarvkb/e+9zWPqJeLseXql2QoBz75bWOKujrcXS4 PC5fWR96md5OcZLaTVI+3RIBbR79zVuK5AzmoV+fCd/6NRphuZ/B6Zz+ICAWBdiHZVp70Z7+KRf/ CZL/bRgAstlzlZsfzUoo1RitdZgFMtWdJVv5pcLvSaDbUaDIAV37Fd77YU38wdEWJdsHKloIRhbe 7J8CDpGcBGHpDFvuwBvCPdUL5lIM6pi3qRyA2SCxQGAO6uBwnFoXIh4GxtjElRH6/JjfMJnn5Biz BVsMaZgTRtQQxgehoNb1fVldGWDuIdnFKRMD4tkXHv8hi4lhQ5BhtNncGS4g971SBxohreAPHJLa /IFUCc5NZukZ0kihHg4gHzqY5Uge2QBRG2EKqHlR0uHD0SHiGCqdLfkgIwJhBsLfornP/HngJL4h ZVlift1UJragHSZYaAXg1+0hrA0ZSx0fIEYeGtrJ0PFe8OnUIbqiQigi8c1iIDli7XVbEaqiISLN b0HgCKpZ6NBVe2VcGu6XnTUhKbKh6/EbTi0iN6ZilCmb7tSHNT4gA1Zg1mnj89SiEN6i/H3jPYZj +biZy10iXWEYCcEhFHbi39UPTH1XKNrYKDocY8liPSKbKq5iHFbjPhoDNnLkBdLiMzpfQcYhOO4i CA7/oy+OGjC640NSVkQWowoK4FldJLcNHikioCkKXhB14UeC5GaJ5EgSQ0myH0DiIQ2WCyTmoiSG ijgqpAia4SAVEMsZkzqWXULinTtaYfJg4WVJGMx9zQcVJT4qBVImpTCQ4dI1JOsFHkXVX/HFIkFa pMzp0Sm2pFk6zKWR5bppVNXxnZEh0sHlZU0yoT6lRhPdJFHeo1tOJlbZZAMy5lLdzt61S9uFn98h I+H1Zcm1oZKpV67pFssJoLYlI49RGF0S3FzmIy5q09U5DeVJI2WOJFziZXKtza2dkDrJ42qyIWQV 4Giao7HJYHM8Ht31DooMJ5QFZ2vGZmG6jGyu5B3d/6HwEWJuJuVurmZEaub2cWZFcp5j7uRe2p9Q Qo2PedgjyljzvV5c8uRjTqepgOcaJkli0qd21qBaduc+fmd1ghcArV7wSOd5QSfhyd+Q1aGnEVkC ip8rNedpPeeA0mZ9Chd1NuiDnA92StYGVubuZReAWqOAcmhJlRjqeaZG8mYG1poLrqfq/VqGyWEj zicJSpHpZeeEZWh+ougtttOG1icneqRklmiAwmKFzWSKJtmK2qVwXqh7FiezqBpy0qjirWPLXY1q SimP7lhjdmgf/qhzfSjo9ac9kh+SmqiSpphEcaJ4PunTeR6XLqcCGqeDJudvXZhX+pyXHqOLYih7 if/Web6pmKLHjoAomhqpmq4pIp7omMJpQI0ni87b+vUkz6Tn+hhfcmohnN1ooMpnqH4pZoXpor7m dRJhdIaobY5oZzpq3EEqk2bmpMrpmd6lgtopg0ZqC10phAYZL24jjiLesK7qoDLaoRrqrpmqYZJe YablkcKqDi7lWbJmTTInV4aetdHq1A3cYmaqJ6VmL+bR5Hyl7E0qXFFp6vhm2LlMwW1Lwbimf0ar tKIftW4hASrre+pWkXprlx3a+PVqB9GZuFaRhA6lq2EXBMmTusIQu2bp1iFbQpZXjEJro9Yr8N2r aJpkH+FfOmpr8sUaKvqju/IXMTar9FUSsM3Vwqb/JKoKrASZJvLQ4/31JrnqzH8+IMbKHQ8Wa7ha K19OZHj1a6F13Mj2oJMqKsNWKOT9Yoe1GctsqnxN0a1B7P3RLPLYrPixXXkaRlvurENorIzOICYF pJhd3G9Sat59K4/2Ky+FpqOxa/bVG/YZFy1WbeyVrMTiTrzy2LxeLLB8LdgyhNj+LMeWrfopJs5u nYcOZVwmqljmqsEC5rfJ7eKha902bH5FLZ9ebTZSJMXebN5tHMkM2OA6ReHiFB9eK1TCJ9GKnNQ5 6+O+ZuT+6eTCWXpxa8yZEVNZJ8w+l8xuzefWLIFurcZVXuAK7ukeROpa6T+SUmB+LPiVbONG0fwk /1HF2i5Mim7lrh7L6mfm3mlA4m3nzuzwZm3xUi7Xqlh+FNfyJm/PhqrhMiX0euz2qhLsGtrbXeQQ aU66Mu33QRe8imzUiqZSUS3jtutcvuvTMtR0pSlpwq9MvS/qtunVzC/ZamXF3e+z5q/RLh/+6u3N 1untymHujp5/WdNc+S7bJtyUdhDWLozWqu/x4mZTcAEF72Dizu6lMhSjFugVZRbOPd/vOo/zotZJ EmcE2+jzLiG4mi34Ti+ZCmvMFaHC+ity/u0SO4oFKG8OI4MFM/EF7+jiPqxgPGj0LWRUaU4IL3DH AKWuIu9LclESIy1HVpvvlq1PKhMId3Aa/zDpOv9KK34xP8Yv/vawMFosEFfloEEsHKuojh7xChJd 8G4xLwYjfmHx5+LxkFLxHi8tF/Jw9ypyIPMjIZeuIfsx0vbtDxcwIwuxAidmC7NV/05yHS+oHCMh Tf6gPzYaJ99nx2oVpNFys0LRBkcjif6GF58yHiwl1VVh2VEvFKPxKN/lXlEeBk/hgaqueZFYVZ4j B+LlHbtbooLzu2kfYfKvTELjbSZz8jKzMocxJUppwQasK5vr7DgykvWXONPuGzcjemavDGvwSnZl qtIjZkYbMBdRH+PuMbfzq3qt6cLzU8hzsMZnPVMd77LjqunzGj9xG5PvP5cv4OoyHWdyLz/vL0// MRQvY0iezTPHbWSW9LtMNEUXgzNrMivP9CLjc0fnLRHP8jDVMkBWa+od7AxiZUpTKe4Vag0K7zM2 tAk/tKt2bQXz2k1fo0Uz8OomYNHWb8ySpiV+tFVlMxKj9AuX8hx72ywutfg2dbI+NQyD8tGKMlqW sSXHM1ZndUX3ox3rtA/z9D3z7XLdtTxes0CZtS2jNS7bMBOZc0Gv3VuDbCe3dBW/dCj38x/ztFq/ M19fdSqPcbc+qDQjY0JnHaayLnAaqhsiak4a1hGedRYC8K427ge3VoK681B1tv9a6Dkic0Rf9WeD 9g7L72X5ammDor4ynRKHLhyTp3gOF8XJa8DZ//BOw6CmQomQQrcXQljO6iUx/zZEW/UN2/RwN/NW s2Zmm6fEgXeO+mBq9x/NzGRr7+UJu6d2f11dfqbdjsttL+l7dSbACjiIcpnu4TZ5U415n7cdNK/s E5YwhCrc2whP+CFOMIwUBVwhDfnWwmGBLX4TmhXvauhDFmKwZGjqRzJUhEDz+e6HSrTbDSeDM649 zojMWyIV3dZEJ15vAXh53hFHxb8qgnFjV1SIcWyDFkoh539hXKPf1MjGNzLQjXCcY/3kSMc7Ss+O eNzj7fTIxz+qzo+AHCQhC2nIQyIykYpcJCMb6chHQjKSkpwkJStpyUtiMpOa3CQnO+nJT4IylKIc JSlLacpTojKVqlwlK1vpylfCDDKWspwlLWtpS58UAAA7AAAAAAAAAAAA -----=ee483485be490cf4afcc323ac23e7a53 -------=ee483485be490cf4afcc323ac23e7a53-- </code></pre> </div>

jsoup抓取dopostback的网页错误 ,是不是BODY出什么问题

package zfcg.ztb; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class JxztbActivity { public static void main(String[] args) throws Throwable { for (int i = 1; i <= 3; i++) { System.out.println("test0"+ListData(i)); } } static List<String> ListData(int pageNo) throws Throwable { int table_number=0; Document doc = Jsoup.parse(getListData(pageNo)); Element ele = doc.select("td[height=500]").first(); Elements eles = ele.select("a"); int newclass=0; List<String> result = new ArrayList<String>(eles.size()); for (Element ele2 : eles) { String inittext = ele2.text(); String newsurl = ele2.attr("abs:href"); String newstime = ele2.parent().parent().select("td").last().text(); if (ele2.text().replace("更多信息", "").length() >= 2) { System.out.println("项目名称:"+newclass+":"+inittext); System.out.println("链接:"+newclass+":"+newsurl); System.out.println("招标时间:"+newclass+":"+newstime); } result.add(ele.child(newclass).text()); newclass++; } return result; } static String getListData(int pageNo) throws Throwable { int table_number=0; URL url = new URL("http://ggzy.jiangxi.gov.cn/jxzbw/jyxx/002004/002004001/MoreInfo.aspx?CategoryNum=002004001"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"); conn.setDoInput(true); conn.setDoOutput(true); conn.connect(); String body = "__CSRFTOKEN=%2FwEFJDZiZTk0MWFhLWQyOTItNDM5My1hYTZhLTliZTQxZjJmNTQ3Zg%3D%3D&__EVENTTARGET=MoreInfoList1%24Pager&__VIEWSTATE=R8GA6T%2FIFGHg0Gb6XTFK3FRWaT%2BnnifWmbfVtNOsNxO8aGNCF9BvV0HlGq0NCTtFJ9Z%2FOB0SJrX5ocfMmneceh63ACvs4tmktSDuFT%2BQ%2Fj2UdQTyQH9sF1LqsGpBpaBMRI5ihQzcPnaoZSOI5y4wAcCT2eSyOIAJLzDfEahy8vHcO4rY5X1OgnRqUbqhAGYgciiDdJzOwhBLhOtH6KpEt6GD0PCWIYpVFGwufdKPRpBoyvMvVLxns62e4opbzTrVK2mOGWLS%2FF9b3YqhnYe2eTEllzjFQdzl7hJb%2FjB%2F46YVl9ABjjLZ3ZCw%2B28bT805n3aL8nlrByAuHCArCYh%2F2rD7hA52KBZ0WDP6AgnR%2Bw7TDhCchpWEvukASBok8AyUK%2B7Zx6JztNgDXcsn%2BzpcoMqr40%2BlnDwG1aoJIQ4y%2F%2BTLjieFXqu0cIcteyE6fCByvda3M7Drq%2Bzttil8VbGD1QQOPAeNnNSa3MBdqRsgh6BzfhD3LlqtCVPc3p5bukA4JaUCBdw0U9jaULfcXz8V0zBElOQUmOvTm5nMc%2FDp2clYlEhHNZ3w1%2BJwWgFwhSX%2BFcugoXQBMmsAexF9ibA%2FcMQ87Rl1aP4e%2Fcj%2B%2FHzBF%2Bpkh03mr%2BlsSkFN%2BDSEleVQ6hD0i7SToPdSAATi5bvVl96tXl7y8cI%2B7dHeqZiGV7cxcue1xuAzVbTfm3IrqlEtWS4ol8%2FAXmF7CUIRLKFayFsLgVDBfq%2FuHl0lxfv5L6yZyXvLoXDa41Mzwa812VHnwyYwNVRrdalfcbketek1F5nHFkeeaRNn9JEFIFsIyBKUx12p9P1E%2B%2B3MBkdiK3o%2BRwywLHwNJuWS%2Fi3U362Unj2nuQxyFndOBF%2FeHr%2Fby8jnLaZNWeLJjy578rRlYB1ggnM4qmuNwQqKBP0%2Biqa7mRKZlMsr8y7bq%2FKnO4%2BJcUyzNh2WeQnQlMT%2BRsWfgOIf3U6%2FxNgNNkwcJxggQao6AO1Jptj8JHJQXa9nu4Tu1dgR885Mexnueg5eMppcBP3fnIGE65%2Fd6ZBhww0f6rL%2B2IdLV9XEUgVvT8sED7eaNlLJymFQ8EkSZXfl0TTuZFezfXouhqaEvR5HMGlE5USdIfphpRH3fg4KXma6WtfxWtAHpqVZKmA9ii6JzLluqbvifl7Q4lGGNbXDi3FtdVUegXncyFoQ1tQoXigUVhOgq0wbe5xim918qTLP6nNC%2BFDiyg09JmFj98wgpAhmLA2bvlfci1jaFWMy5hEYz%2BP5OAbERPOaVkH8PLmXcdrJ9RCPf8rxLLQE7ReKs5NSTrwdVHe3MSTn8cartsPfiD8LejzyTduW5gHO6uCj0SFAOz9CsBspqlEyVT5AXACrDswjg169gPOtQ%2Fq5kipvk5Gn18Np3uMMFXgKYnNDfiJzUO2%2FEA36pEzcHj1DP%2BTiW5N7tcWln3ewRJ23Y6gXFD%2BlAX6OdMWKOEZdbtmJ%2B1a%2BvFhFXGGQverFGOPaGQp1hhWe9XB5wvHngNka6mkw9%2BuWcM%2BMZn1KxdM6wE%2BzvMYVjEL8K12JX6b38xqQRF3NOFR%2BzC4lvKzwaMyxGmH7g8S9wqt218PbVFEIEtNZH1oCxgI63%2BlQn5G%2FnfqIbk1FE0eu0HeQGvfMCxC9%2FS4%2FSEzYowgsOiHcNlZjAm%2FRPVpQqTvfuXGVHnEgjsKxnQxMB1EaHRXUa0rAZrJ7juFLurRin8QH6945EaXIJ8S1Hx84dotDj5FngVEYK6NqyvKlUixbs4H4Kz92vI49uyJXxLtEGOJ2ZCuVIzcE%2BBNDEFBMvd5qVbiIUqxw72qGUUHPZKYm10KxR10FtS1YGtRTEHLTlr5G0dAPa3sel9kYAjQyXTNFrkcWULeErpdyErVB3jSbAwPmujnu8hfDHCV%2BrzYnVy5L9Mmxk3pSNPuH1Vu9v8UY8CCD4TWc55U1iQr9Rh%2B2UricncYaG7AyWbPs9RcF2b6gRzNTPZNilWTvZZhIpo3hMbACfryhaJC%2F32FF0M7XgmsfgXe1Ir2hY0JjiIItKbnMgO64hJRJUUnM2ViHKQzorMq7GBL%2F47p%2F%2FV60VPNxovQ0KFLdjDlVwXsZspCEZyCiD0H3e6wNDrgKQnWJumoRmii%2F%2FJsO4MV5XZyb6CpWDTW1Kam%2FgveKxPC7VfajOxnYz63kA1Xn46IPsAqZENBgMR7gPOfbKAYuM9YXyxAyYAl9g6Y2ceXK8HqpWqjAXMCmk%2FOL8Ny03HLvg1lTth6Y2dYxEpRw05h9%2B0MmAvrEUZdzCVvlw3BTqlis3NBFXvXvDAQf5%2BH2A8allFp2SBAUNVeakknNQDiqdvewMMbG5Tubw9fp7UzbJbR2wihx4OWReiztXdJyRasdoUUwI0LXMWQgKLyaIc3UT9uzISnbinlcfNwUrjDlKl3BIeuduSnIV4mXE5S1K0OREcXIuLL5Vn2h9TSoCxquOWmsC42kF8mqWPXL2zLE7wTUJcwDD4ru4Qmozz6jJppayfGeId%2BeZN6owQF1k1im37PSftJhv3IP37vasnuAsRF3BQt8tMU5ue1IXmZzgufvxafd8FWD08L0RnKrhbEKGBmZ0dmEWTczG3a0078owGsAcw4M6E3kWlxAMm68EfQNtkRLZ5On%2FyHQfhQsrl0TF3cW9eAVv1ii3lZmgmVTafb%2FJLX%2BRz5BjpzBwiKHLbnrrm0edokZ%2Bqc9CRvhMSiM6lBH%2BIcPRRB8bE711N5Z%2B0nR174rTn2KvUmLXFIpqY0jG4PLDcompSsTFzHQ5KA7qlM%2BxLOOegYMN%2F0imSXqPLOyj7Uyrd9%2F93xtq58NCfGPd9rSO4Kb10nPMEyhwDOLy0mmYOiV71Z5Nl5CDaWkXRtl8U7gqgGjiFpvcvrEl80gQayaKyMFFSC4y4oYDOkMhrs7tuow%2B6yo%2BWw4yj392%2FBciTvdS2N7WA2U5oDZlFYbKBGE3zpKbAIkSlr6AKO7BMbQzoHXY4Gvpu3tmrrPGT3HlvkYe1URZJIjas%2FcJsFV%2Bxo4EXffAcE48vYf1Df9QDvOp42hhhu6oqcSPo23S6u36hER2rXhSBvAwPGAEgl5A8z6J%2Bi2%2FM485Kgn%2FSYbf3JhX8Uk%2FskKK9XVkDDy76MVBEHSGq9hcHHUK%2Bc1UCTEdCx4XGfG0x%2FKnqXKZVacC%2Flj0ovGzglJ7dZoE05AGVCJG9ySkznToPYeB2rTja2PVCIk%2BimzAjfEmT6TmHSnXu%2F1%2BP%2FjU7jjWjHj7gBpp%2FBAh8fyWczEpDoWJjfEmDf25hbM%2Bsc%2BPl4DsDmlBz6gR3L03waT5GuCpr1jNFUJTpHknF0t9kduDKZ5PsB%2FDUNeHtZXzbQWZYmifYYKlL45nRI%2FtJ0LoGUOEiAK38wrEDmtXBujhhQDDXBe7%2FcvZ8fbxVUNwvu49TWNH69sHsHkMkvWqyO%2FfQtC8MP5xGsRabOBgh6IcPIS50oQ9jXeNmnKjItDfK3lfEdeuLT8MnTyjFg02zOku8UPqBQXzXxfshH219tdbppzB1kqj0EsQm61iVD4%2BfkEMli0Dlf2Lgt1ifkA761c6nvrFOWlXS79W%2FjOBNQzgCfjkxmvKlRmYgJ7ssMvf%2FazLJJzbAyhiihN%2FlZ9yxqnOJZsDc5xdu7V2hqz9KUzXKp4%2Fi%2BIWuCY7ypDLPYTLtpFOiDyA79UaBwZsN7b8uYAIkv5OQbKY%2BFrcyKfZBgxTVm4PS9nAP7Oha1FKZ3P3D2D1WZBCbcrZhSlJwptgx5kFAi7vLQh%2B3waKKdbI0eDgr2Fa5pc5LUPPeaBYB6oxKYjAiX78wm2XY6tspPvPa61Wr88rRmqnS5v39jVcjPyWnAa%2FRSxLLVjYwcSVciMJ07rIZkNSMdCMFcHy1Yj1bf3EiBteG6HT1FEpLHH18yA6KFlUBwPgcMwQRyQUGJfXvXF%2BBPjDS6pYaKIGxemX0OYj4nbGvw3%2FoKfll%2Bmj7v8JFKBOlHxGNC57aJKsmJiYvi5EZLfP7TamucSZDqZDlvO5YdfQ9kmAbdbn2aVP80hdycVtoNoezU58UG26cQ08pRXq5usaSG9c%2FMrH5DA06NVHwtnn7V5GVMYvG51S5vg81UpOUOZ7GtVWqQPmSREIC5zLnz%2BWhfcKpJD3%2BBqE%2BbvGExa7n5DUZQOZXIkpairuJAiAYNnzkrEOX98OVUjCAtwrF%2B22oAqzoYmu6Z5T1fevCGqpEPk9c5xhYKJMgfAzCtE5BMAgVaCfX9RqCpaUx4d%2BiSoqRE32%2B32rgBMefkkE%2B4CtTcQPdjKZEV21s4G%2BAeWThGT4BuxEaQ394v0FY7bROLY8hcTMSiAGvZhhCJQSLXbUbf%2FKTfn1FmkQaIrIXglb3fofqqNKonGG6rJlCrJhIxAOKDziyblQEzxerKwMka87VrJYB3WjB%2BycQkN5gcyMWOWWZEK0vc%2B7amwF5jXHX1KPezbjJV9JqsrofqkGRBUX9bwIjPE3ele8vyJ3BbYEJPLW7Cx%2Fg%2BMtKyvsbpa2gS5d9Psx6Tm1h2%2FfgjI09%2FxBhMDWRW%2BLZMHpwrcY2MaLLNmIR0dkl%2BvXoDvvrKoAABx8RPyWUZKa4UE5mgvJmeAi2dYso2i1yRnrCM4inirsuDvdPAjc6kNeKe%2F0JGT2TuQbcpPtSrdtu%2FyuGsI6%2FIyeOtq8mGyoPaNUSrCiQVrt7Uw4aJcRRr8qLpkJNACL87mcbT65gjkujII45IYiBE%2B9vykoLbtaI36K6suSoXiSgw6%2BQisRYgCkU%2BQWGaeeVomL%2Bv3REKxSBJN47BHceC869XdhI4aqm0hPRi1tA9UVd4UeftEE8vv4OLNRvq%2B8%2FzZndsUCUnit9IAFV450VclUsQPyFDxZbwGFnNarIF45fZu1rrQwUxA9rQvpnrQkSiN4CCA05gqbRajvMBw%2Fu2OhfXZsL2tFySJKesS%2BwUeRNSqDwysLZRUQ8W08VC4gTKWSYZbTuN0egLlJr7HnVeMFpFyhz8guxnwZbQi6vjOGW62PLK1bgwcEoZGMcPHoGZ43qCiNJ00xz7Gggjux%2B%2BRvwrolKnr1sYg3%2BwCPAx6M9vg766KzOc%2BOckrFF%2FW6sJK63DWXhwFuzbpsQZWE9WaRgoNaKoNMQM6InBOYZuDlw78a2yUCWuFDfdj1kWTUHTYtFc3svCOscM5oPPdERLoATn93o%2FHMex4oTj0ilUowq9LmWB%2FxGUCSjsCg2FJdS1F65fgIQJrTdMSpHxGjU%2BKyFIHa7vGG1KXwom%2BN7k%2Fl8eA4CN1F0jIBbU%2FBQkFPkBrkZ1UT9jJvXHAT4JdR8z9hr6PsWXsqv0v6Uofowi6q9vfpgAna4gxBbq19BYFbK7HD%2FvfdAOviQX9V9eOIUWY6drovP6lWFCnINiuTNeJ9s6QoKsvV17KsdFHhQNrSIHxDZ7GydlPXakgyXZXKgmqVYGkMDtDfoY5dsCwbtoIgbv5Docg7ocxWmfR9Md8%2BeFZgnMWZAFxW5sX7roM6pve5Ytc1VQLahIoDgHjSAktsQ9rJwj87I3%2F5WT6nrk7pYcrudA%2FzCiU0Y6URm4SJ7kZ3iWLYKAXzL1j4GB1K0tuIrC4xmB78SgBzD0wTZ%2BCoiAwypXpHkeZ2X7UpZgJO%2FSDjL4Lc9sRi1L5KZOcr071h8OyEww8U5UmzD5zELm0lG%2BrBUAKkudP45QnxWg%2Fn0YJYexZh8E0%2BHMbThaoCy5o1vi9etqE2s9k7OeBihts8sFz3M7GAGs%2BQ7gBNJnrREpQwRK%2F8Wj9qnUuP5m4sfPbHB6hQWJDQxhDaqOo70eWocSUsLDURgi7AhpNgasaGIOe2haehDVR0CZvadbVVyZxdHl9sAh97Hcs%2Fo0s77vurK%2F0zmMiKEzlPqO7gi5FVHW0exZMFTG52ZFA7EluyAZJDljEBMEwJbSbAmw09ePtmEucqLnU%2Bh1Aq3vvAXBpQMwkLCaQ0xR52OljWVGC%2Fo35LTfprXfUOKW1H4KB75rGlaJXLR9l90irw3pA2C2rl1Lh9qjsyjcK9sb188Nx%2Fwqj74%2FHl7KC2Qti8TXj0YD0hllXQftwZAXEqefSdNOcnoWNsdtGh8ipphVChQXRUSh6iuLF8yaLQDyyNsHdunUpmHdxGKxfO70Q%2FJwS3BYE1NY3nJKiEe64C53Nhkulavm8JU2MApzc4WaHTwsA9xtgqvJHb%2F1DukzFyRyJpj3WvNdNyY%2BSI2UYKp4JPr0okpoPKstcQN%2Bjnf2xndS4zm6Va1nrR9%2B9RJNAMbEF5H0TxLBxo5jQDg1f7VYhZzGPCnU%2B8eVYGI0j95KLthUWfTJgPGiquTfhlefVOW7rrDK7sr9rynj6OLhNeKvC%2F5VDCIF8JlI0FslDAEoWDAq9JEUmb%2BtaSjoR2A1CEbVcD7RGx4w96eJb3JZ269eq7qPNIcdBsdybPNJhPclIprNnrEnn5AnXBVZ1SnOFHLhKMeK61KvkmZOa6hy%2FLzEvC2s87%2BeLji5aR1ibtG3DXQUP%2FZFdQ1zdNZjjeKgfeIC4Uc9R%2B3Sim1wB%2FA%2Fgz3QGrOQnLfhWLNESHWEkwVESH7fMkj3Uf9msFnYD6tgMieBPHNNvaFqW46CTZ2nJ6HdcPQZqycNhec%2BpxK4GRxMtXkolKAcJxoITr4up0Vgig9qkeDMHFG2fPiwrd3j%2B2x7N4p4xd6IxoDiMni5q0iu3o6KuHVwIdxQImGsPPQwebyvzbsG%2FHqr1hZy6WdkbL%2BmOeClujFHKdhvDLDykfpoTL6jHcjqKUnncIGixbjSkNRLugpadA5JTdeX8uMry3NcB0o0rdhNBrbEiq8Im4eaTsPbQUH8A8IG3ByZmzn3yBmSMx4vrZsp2mFRBIW4FSvsX1bVhDX2AsPkxQh6FiqyO4LwNTDf%2BM6vhfaOdXcI2%2FTqWuirFyMOiF7NOXYH1jwrxJNeHFyGv0D143HcVAsfYFbQuo7JhTQEfzH7sJtqp5ji7wk%2BGbodgr184lcMKBO9i4hvNzuDgeeZ4z187zol30b3qGcxJVgseTVs9R4r8GAEnQTu43VfEvxD1X4%2BACXwgfBp%2BbMsFgo1nV%2FMVnoaXnBawJz0Azmw3u463%2FA1oePsVONDNxwJMTIgyjt35L2unuczFJXfhl6u0JwdyX0NzRklj0fCEGA2pLGH%2BO%2FooEP8hpjq0yusZupAHC8Y99RfqcRCu3duTgdGvQULfZYgQT%2FdzJJSjqFrrMtugp1P3zQXkBioENxaDytQ97LdI90qVJvfSRQRNjeJy79z6GNB%2FUKmBtdRstFEW%2Fm9SEv2FaNNi0a32DyEWv2FexTbY32SKxWLJIIXflG89qNGiZscet4H%2FgQnew4hd2TZJA1J1ISbc3z1NFXNBoqZOncWkur5lQtRRbokZgeM15WPNRK9m6tAaz5gdiVHLzQwQKcu42hfeP0zbJ5jLI52LWrksNecpzrLXtun0MJl0fmSj%2B0my1ppCej8pmoi%2BvnTTaLQ%2BhMO9gamCa4pn1MGbmOGVUMAbk3e0i%2F%2BoFpSF%2FzdrxPEu7ut9SE01QE6q%2BD2LRypVWPgBN8wBOtnxqP7o7okmssRJ6M8jsv3GxmSPMGKsAZ1fsAG3dzlCEW8ukF0Vu%2B1EZLF8r%2BJFwrDiPyfxTydr4%2F3V5mm91qfQ9EyuTb8sr9RT1Unnp%2BDx2LvoiCiRJK87oD9RO40KsKQWwNlPKfOI33Bs6S6U43SftVz6cAMSG3vIWgriacCqhioATPpt3NvbaFBXdZFZaTVeP3R1TPjoNHoqXY7OKTz7oIIvpxVvOuUXdfaC96%2BvPBV2dRzLHEZaoXrXnCMcc%2FOuEsBVn1hhyvGZy5Arhl6spK2Jd4h8h6EpCVlf4Df1JfDvAcbW%2BY4vrpA7J7z53K8Bf639OT421XZDkSwLJrLbwUdT9aOs50wDPM5a5tR15q4uxgDbKfoFSjgLQqCEQHuzkBuHvmlF6IkmN%2Bic0gVvL5iZRjK3D4lAW3X6VvHwiu1rYlfWOhRKsQCNiFFEVmgKVekcnaxnjEHylAqt%2FMm%2F28XjxKcN5xuGzJCrNK%2BmnT%2BJxGLuKnj3NlVh2tXm0o9cwiIvdK5hViOONrWuSCWifxHpsv2pSLFlG56I7o9P4k6C4i9%2BGgL%2BHgFlA3X%2BXOgg417IOPIIAebZT7EvLnez35bb0hcl8Kh0h1RUOvnKdEX%2FOyHDLtv06mS6EfLC22ZlUzY3I1yOnkBQSFiH%2BHPE6ZFQFGiYi%2FueWdTItMvh8YwOI2XI5eEjwOrh8ZbPl1E1rrV%2FwgG%2FqcjMph1NSZGlT2c%2Fk3GjlalurLa3sYoxLtAzjDNNE079FfdjRvi%2BVBocq%2FJq58CIfs5S4msNSbhWT5blI7YMA3w%2FmtZZQXZX4uQzK60cGEPsRY0fhSQm%2Frz3q9dV7CO%2FJSbqUkjmtvW6a65MWOcDfbA0ou5i4357p7vNF21NlYQldXYAbSVWXL5H%2FFngmpjfQD7agnctcICbQWLF030FiZnMVsMwYzATGn090oj3u0RXAS0KPpqxyHpxchYFXcRAS0Y94GVQhv7plpOLOj6DqrlwFAoz1%2B3jPcPVrhAyF42CtpXpXMKhlHo4Uv2jWpR9OjaDLFZlTlc%2BeEbM7%2BWPF7hZQewTPoUpfMkzGo61Awc97stEsU0nIjqFBUTEj%2B%2BQVvoLm10po75Vi9LOPKZbsNVHoFJRJ4ySb3GDF9IiLxsjBwOVNyv7UWHDvtCKI02tsqCbM9V169jJNQxRlysg1O6qO%2Ftkg5Ci0L%2FFxqwssQL%2BmTkHPTEysb10nQjynAuvpkGsv0RCwSpX8seS04p8IvIEdhfncsqSMkmuDhN%2FXdu9os5RF2dPsCh1bJPzCJEtVsVQV7l209jeUMCfIWW1RObkWN5ZWURKrv1T0pk816dvl207xpyOSTzcJw7abDJJqq9nu9aT%2BxO2Ew7rnEHGHDoHbILjo2gCVbMZ1nxeMdFsr6kMW9c5Ilj2tiISyd4fKon47Oz5Qz48KJwsHN374kwxB2j0dCMOWMyckT4Dfq5PCt%2FovjV2Xwnz9e9r%2Bo2yB0V0U%2B4hSUWQD%2BsYT9G%2Fv%2Fh%2BTQ5LAC3ylUp8N%2FQ5B9ZuQt0MtaQCFzAGhAw7jCEJo6M8Stn2v8fICR%2FdwwWKYjXa6vHYdCiAWY6b4lN6CAuEdbPr%2ByGPSoSkIg%2FbzPE8dYqqLocyf2689E3LeyTJnpVeZAxBZ3UXiGLBgetDM11w4nZoYaeYEdObtzYHa2gotPoZuGrucLUhKH3AYo1MZfWeY%2B2M8ny%2BZMhk4Pj23j3r4D0DsGB8fpLTE2qxAr%2FaL03Q8CLofiRlgqkdPSf6YVm6PRS3DwyepHOMsv9FoNMwSVEbcLlci3E3SrDCKyiSCn%2FMLkiqpw3GTeDFY38ViypHMnmA%2BFVjRbfy%2BmVicHIa5c%2B5%2B0wJOOI0ihy%2FO%2FHYPUQ5ejGUQOSwdlERolwrkXSo8XE74XOrH79IOVtD8hLp7a1DNw4HqxqmqJG4elQNbjhKxerl1cce%2F5R01EbPK%2B0NBr%2FkZ65K%2By70aSTwsFy%2F1QixRefwWfH0D6nOCvE6kKau4bE2Si1OL%2FK3IJUcyImEYzjVDhhFepWfgSggxtPL01kJ0PrtjAiVjjQloF1edXPRV%2BJ2lZN%2Bzw9TctjdZOQqsH3RxhxtTk3KqFaVNHWSoCvSsiJYEcZpSNYRsw06k7dmh8cNvYhr0GMupoklYLS63nYF3VYnFVIB0p6FF9koP4yefjIOA9sdSkLllL5BHl%2Fj16%2BvVpzgv%2Beb3zuPpEMKGGJmrKIpuJXvNNJJJHXJpvD2T3U2Df1IXm1T4Q%2Febj4GOOsUHwmbQQMeEfNEjenCnEaRarDqKmzqtjSYJ4Dka8oiW7PrXXC9ZOpcl8exdLXNxXnIorOpFPvh9AuLZjxAz5oPH3PqUGRV%2Fx8ov5mC5ffR68Fg0ZL8UFOdk0PQNJxgznSteDD40d34wIvVBQhY7euKxfmMOjXQALCRmQ%2F1fBv7JMD8ItbTprjtYJdrOb%2FdZ%2BDWXtpkvTl6fFR6vH9kA0r2napqxgYr4XlKp5B%2FhbzQChYm1oB0YQJL8c61h91b2bspSzGBjc75JLiG1uIP5nD4MWLNpTLFuVh6g%2BoaETjG2phvRhyCwxoBEtUHWC1PtHlv1PKyYdfVARag510x1wtEgnKd1AJQfP3w%2FfO0oQlz5ImsHg%2FHcDnvlIP6zgdmKftURwNYbWQHWFIxScAez%2FqM%2Bg9l5qgV4QWGwl1viWg7iHhLPzo40eurcjroqw3kharlIWlfl4im3duI7KeCqkFdio%2B0yPgcbnAQEbSbsGbxfwSzaEtscnJEqbxHFzq7CL5JlNNCBEapnGT2Juu6wJp2WJhvuY12%2BHOzrzfAFBcsqk1CEct5UyJN2sa9zATOgxLtjKWqujYnAaKWeNXBqZn3baLZuq6jC1f6zT2taC8CIHHSEPb8uRD2LEZ5gd%2BiLewl%2BGzKo%2BibvZAgSCQH3ZTwW39IgklVDC2FYdo5192QQBjLhT2QpJsQgbHSrV3qlxbSqaiSNrbcO9k00qSqtShK%2FHl768l4tjSOoyD%2FZqI9aIkuOhpENJEoe9ueaQUrhTN1EF140KOvth%2B8%2BcXGyNK83ayWjI23dKSe2mcGfRXS4SGUKo3wVXxJbOGAQXGmeUJnxQyvCQqo2afnL609%2Fnr3l0XCOSHOzDlEA%2Frz187z7WfblEqCCgUQluVa3%2FcftNx09RlJ3hlra6T%2FUS81g4Qh%2F%2BN9mH%2FHRmJNRmN9KvmIgECCMhn0WUEPR1IfE%2BUA2s9rABW3RxeudiKmWkCx3EWg5cK3wxWVJ00xLu%2FHF13z3fuvnGuCufE9FWbmU9%2FclCFhws%2BdR50pIjCFr9dhLuPAZvXwZhScYqxD9WI4kt2OqPygvv6kVLSxF4clj5dR6sUUcb3RKOWzbsHYX%2BodwsG%2F265wpvroV246F7Au2L%2F0iqEvwxdCu%2Bm7poZkxeB0SQB6DIn6pfn8impx4%2FnAwL97Ln1ZY0YmgJR3AJXTd%2Fq2UXfw0XIjsoJO%2BwvRreGC8P03sLC%2BnjVB%2Bnmypjysejrb3XSrryZftfmYhQJXUeT8wn7SVUk%2FNq9d248rQRJrr2370y1eDcAcpl7uHbJPltHwjS1PL2pTUUSTo0nhIi4KW1bRHqZ5sTCfv3TVPMN68WgjAu0g4P2Pho1KQzBcAxmchFy992wlZuFLXvIiMoIoAaO4OYWxEBVIbI7ra1Bwow8xpIDu03ePqBUnu4VH3tTL5kZK12e4i6iYWxAxCvOTEBJtOqjcaIZLqGygTb6ZBOJY1R6G3tFSHxBkPqNkes62DYWjwEkPomNl2azNMoyqhCb9fn9Oj5kv4LJBA7Y5NPgDsnl0Sdm6tXsYu5C8Tum%2BT5lQV6%2F5iq0y1eXPZ4GbJkwGwUxNl208RBLc5Q4%2Fn3Yk246uBoeHKLJeriav9WTqODCvSsmu4rJzCBFu8Bo1BWox60XcijvXcOEZveedfIm4OK0%2F70R%2F5IojwDz3V82HpBdsHHLbDQzdY3ME%2B3nR4jIo1A0h95YlnNYEgimBiQ8kxL7261d3tcfxSD3V8dOs9IFXRTSCPNOyJQ94ocyV6cygERuHkKa57SudKIZj%2F3G2AQmE3X34waF8YD2NhnCBwhqmJI12AF%2BLRodmzvRCxWhxrnMRNuheg%2Bq5x3MOYH4CJuSMHKlUElUV7rr8SjaqjG4cnRBpkltVt7NTlOx%2FIToLtbMevaO2Yv4TfwxjQSpmK03QQQzu7JuP%2F%2F1keKqeK%2FLPg9vGXSHTeA7oeJq429nvS20EGdJXUXmL7sSlNOGe3Sf%2BzQBPIrVg0XKV02SNoB%2Ftt5vUBLtNLSUlLbtc7m1kQs9vBrcGWw%2BF2b7oTOk7F6uh2Ddxsxu9fgePBqk8TtWXzaHYCNK9rmS8cMFB3CkYpoTOYxgzJN4EuDDr79BUtBbi%2BlhXMh8YJxcq8SazgW%2FlEyc%2F7REEieNk%2BTx4We9X6DGPaiHVDhneqUqccUVlizzG%2BTeKfHtFD0w7X7BVjgZuhOMTqZHrKsaCtm3Vo1Pz29vvNX3xIv6AXJREpcoBzHkveqXYPm8tk6FfPT0yMsGKPw35poG5xgAfnklA6hT9oaRyrFtETPIfdK6SNo7aPPO9oBEHdyZUQX4TDbSOWjW%2B50uuAi443FouLG1bSrR98y0U74p1Gp9M9dXgCiS8ER5rrq5s6PDihsp7F8QwvkhN0A13Nu0WVwDaWKT2ddjcGJOTC6kBnZI%2BnFkiCM7aO83YOfogXFYUjWsCYoySCEiZtUDqbydq7c7T7aSO8sGvaK5I%2FHujPI9zxD7AM%2Bufi1ObtMQOMy1jHjDiD%2FM3B6%2BOMo2z%2F4dWADO6LeCAau4TIqo8eU6QGq9Bfn9kUYWI4qWxysZo4IMfyGPV34VsAIbArIflS6Me7jgcjDVCfuNGfztiOzVsXpH1B0%2BXOLV4aGKE4VGmUGGdjRpAfuluzMqr2o6u%2B6OVEVjo2nZvyqE6dj%2BsGQAuCzOrCjixbf%2BaZuXhYJQ4M7a4x2arMwKPq6rm%2BLeAbl9gu0eSHm%2BUfTOcY0F3cvtr9iVscdqNMZV7UtQ3dRv8EtRRbmfvluxSpEvaDmUK7%2F5xu9kyXJ3KuahVYzacZxSbjPu66Uo3fSl7SVJA7GJUAoVzTwOfRYVSSMOlZeqTN%2BAxXoVosJ2iedgJ5aFPmWkOwfHERscFKWnDVdVYxJWBDVm6QOG1qhFWsKiqn8w%2BmLwaFfuAz4mcSBvAQJ6BIpb6ma9mB%2FlzONvEMBS2zQNNguSpXmR94uDGFfBjPNl%2BWoIoRVAxQha2F8sshaz8xqU4KGzNN6nIPZuOPNTC0KCCoXLjSpqBGy42787VviEsrE1Ytx0xgv%2FybxChwxawacs5EX2B2qjzgC2blIvjXpcdCvpz4jUUtFHDTvAxEgpOHEDTEk3j0ixSv2qPCFNT%2Fm6AxlqJRy1R6xTNGXc0D3PtUbRw09T6XQifw%2BaDQ8nqdV%2Fct2Mnga7pwOcHYn%2Bw%2Beilv5i3WaFUPcO40KXxtHkF%2BfVwIdQ9M4%2BQvyGAZndYKwVHpSTv0n5vV9Hlg7TROLbREiXV2Y7ZQzzcozFMH8Hp0wWtcmPjfBNaOrKWd8583Mp9slsgX62oKKv3KJ4HFQYDUwEFVHhm8MM9PRHXuxe5fNge8Grs7p2v5Ny5N0KPuzWYjvHDiCSMkyDTnu%2F1CluYxZspWBhmWSgf%2BWQJlen5rrwrM9cLzMW%2B9xHsPDiYWq402vJcwTmwhBdMmEIt6hsoeVqq5tft5yLUmvRDB5uPeRrFvq07vZHHbpsoODeFuf7uLhoTXJ2jl8exD%2FMGLka3%2BnqBeFb1Gt7c7O%2FXYlAxHQf33J1nfhny57yKJ7Dws7Si0o6hWRgEXXj4VrarJK6uoy5rEcb8lixQfc4eg1kp3VM47D8pFGQvQosm3Fj2HbowXtot2m%2Fb%2Fw57FM4wTVhzYXUR9IoYVseLQmpuuSsu340uV3vSvZPvTSLcw1HVF%2FhnJfH5br26L6Vz5OUlPF5PBXBn3nK4H7vEUyv8kfkmVIQdOksLHEz0tJkkzbeQ7%2FGup7VwjurhMgI6LowUQad4XoX%2FCGyG4xH995bkmihy2QXpp0lxZKYAUR4AkkV0WPKdhFS4O%2BIs2Opzxj9KX85J%2BFmLOtWDtUyE5QBQI9XolsP7MIMZzBh%2FmfpmAwq07N0rUy%2Fmb%2BL%2Fi2bkS3AN0TfATcprrGlFbnlizVqQDE%2FcECVXxcys%2BsJBMbnuxqpmC6K43ZY%2BWFGYJOcr5XmjMXv51%2FdSke%2F5NTNqDdAQtRcDGCyOw0IQ%2FeJYF8LxU2MSLbjBdso%2Brj3oNdKHgaQaaU4yohSE1aUCuPX2rWhNtKjx7gjZRtXOUK9RUga3H%2FqWnqcEEiHUQFHXerqdqsb7xthkLqpenME4xBqatQjp67IoQ2HTREEO%2Fm3ZMdu5hMt%2FfQhY50ifD8PA8ex1%2BIFKn3pJya1rmc4TUVRpmLAkuTsatZihSXPWzcWwQllw9ZyM1eea8HDGUlV7JdAhuwOp%2BFS13GNKE4JXFu5JWjHTAoakiqh3PYdef5ZbA%2FYthLo0iaqlGokoG%2FoXIMkKqhOWTK8GKWrtfuzpiGVdJHgbtYZpKC8RAGXqRVTTeUNpeuq1%2FQDCnEXnSylVn4qAVlvO4cmxLHYHTlbMOLeurZDkc6X49SUZnbdHgWWsAgK3X1UqiWXrntj0U6EevkyujJNHlA9lgcAK1FWywrct%2FhRzNQN6G4zxLayxd0xCzuHFg4IRBK8OSaMIsu6fMemjeCMooJbKlJK7984iOOj%2BKk8Hg4hd03ws5A84dmGP7DFPTRFChHtt9C%2FOynKrQaZPP2s75Hf33PC3hbkp3lpv3lvu%2FDhhM70gKKtEhgB%2FUfHB3o2iCZJ2vfGRG%2Boa9hH4rYgSNhKy%2FdjCLWguPWsuE39pJkO61JpueK4%2BytKDiMzi2XDylhZgozEnoft3k%2BQPJKo7Vi5tYABMaViNdJUHnmjKjItfasoyJoDg%2FKXduuPLCA1aTYcveSkE2QqeqVA9Tx1JD2PDanU7UjTSNGLRJKi%2F0nZ7bLs0t3rKnQFossCaGc747BDkBdT0ImFgi%2BCjnI4ASSAetR%2FndYAfVaXOD2eKsE%2F0T6RT57jhJ8sxFvG86us2RKb0oSdU5KcbQovb1R8bDb12lLgriXuSz7THaWXTl56riFgUmzJ9vvmOYqibWWs%2Bb6yNkJO9pIdgSW526gBDd%2BnB9lqEtMph%2FaRcwMBLdIwzpXHhG6Y0b0DzQAlbY0mh7r91OyzduaFxCVrl4y62rOVY4iCUr7g7kl%2FsWJDsQYEF%2FI4%2B%2FfOZ%2FvIBVi32XWk%2BmZqjZHlFhCu3y9AB7WHS%2B%2Bd%2F0ndAIlsK9F6d8U8M6DPelReGH2aiotAU0gzKCNVSM39ItnxqOsJhTVaprCi3rIFBsQ1R5nFWKkzUAIKg74PN5D190UriSvNu6aPFMfmqnZvonyZ6R6z%2FasRGe80jZY1JTRKvSHWOQrxr4iqrkNR8j8GmCC3X9WMEgM0%2FoFGI1fyhWYFGhmL5Q0EE3c9eTNtIvigBdKCg7Zg9q57nY%2FrpUvO9ZAhAFM1EwiBw%2Fl999lv9ES9EYXgaUr90BK5QJLtYK7mc2%2BX77BnoJBNXrP4STds4DoVrSo1fX%2FIHkDbmqRNUPVcAWvGsN%2B%2BGvvqBWxaFVIrF2AkEg6EIfB%2Br%2FMA0VGA7A%2B1FgJV%2FYlNM%2B4FOGLhbfk5f2IA9wv0ZOmPdGWQzLacRNqrWCAgmZG7%2Bx0QEVEbVtVVGgONYsN6SMzHFwGAXD71oxfL9QWKLiyirNE3wculFdqjQvcT7QqrburXIflRuZLk1pZl8zNXlfAaxC6jAfvKEi69y%2BFWzlhOuJ7J5TOlADRQi3RGjSqZ2pG36U1sEPEvj9muxXXw9w6OO6hdigBqixD%2FPDxBqkBADGfbtz0ceaO2Nnk5zXYG3pbabjm1Dlugc%2F%2BtvWv4dDL97jkI7MWGVyVGYEqiNUwFZ2NuI%2B5PiM3p3q8W%2BqkhQX8NKokBxpK10qP4f7TBicf6USEmj7q5WHy62eSXpxlGFUgykWUitn8m%2B3vBz3x4lQoJgpMnvgclPuIjng3ifxbYKYa2BCjesKrz7a3yD02kKvTxuo3XU2DA1sWkji9m5bFPrAYChr66gkbVQfCd7o9fgThrr%2FDJzQrZj6w2WYeR4BcLlj36WcX70d3YjzbPE4dSHKXW1t6XzpTONGsyq5RzCWn5GHI9Z%2FTk8kyrAwR877kGxkpvfuc27I2I%2BMi2KvuOC9D5XZgvU4U9hpJTHGJXOpaAPNkSSTJsxWhECQdZkgc6KZPkKA%2BYrRBZiNxXSnQ6yrD%2BG9N4YiIqQC01ANIvqfuFiAaKz1fpwhQMz2fZ3P2xzNS%2FRQnPQFF1eowLi0duQn8CLKUwOVkUVXOiNbS2KtDWGZBp66tX96uN7ZbchW8iWe1ZSYoOcojVEEjBfEOxbzDPy67PsbCafRvp0j3QSu7lRNxl%2Fk5ZLeMPsBhNCIIee39a4DaG2Ac5RAClgRbx9JcpQz3%2FhboFFxeij%2FCmHPJN0wwzp%2F9avDFSQrt8%2B3%2FnDsRu4Gmvd4BefWMYtoeP%2FhZ%2FotE%2FpYMaSEfcTIvDHCcb2kgQfrUKATwyGhj%2BWV7DmiJY1hQPVIg4Sx6L153xNvnIpbaP7hv%2B4mkyHf2YGfRntLDulrTcY5qEm5I6IgqJm8ABfH5a9Qwo0%2B1nJrR62no18tHIHw15IX6EnPuhxED2NNztDcGCvB087B5Pj0PNvOfstNVlawYryRih0cMhLEOoqC8gEbn0w%2F5cVnqr%2BkXx1viJTfOF%2B1%2BHcEn%2FD%2Bq6Rt8EZz5Alwhaw225lQE%2Fy0m9xpCMtRcAxo7WgyzVTD6nL72fcg7l7mr6aRBCkPM0dld3B3mlr2CZOlVgdAk916%2FMS0ULEUk1sQV%2BRsbrtSvFKVKZx0F5J83KAxDMXsHRp2ZXR3brRdYbyAO3iiSbIK0bhhRGb688yPczmGxOZ2rCzzh5NAPQHw%2Bihwj%2BBEBP6xJFr0tMLmHjlxvrkS6%2FuTMnN5CxJwoPmvMGeb5z%2F2RNSEjCal5VbokGZpXVPn6bCED9jauiGdUtZBRgm6rUQ5ZAqtTJ0278N5Im3dLF48TP%2B8sa60AlUJGAYuUl%2Ba0JQKBM2AMsgltAOHYh%2FosXsZlH2BPft7xetDDrc17wLvHE%2B7Ob0TS0rZIRUgiYyvPRFDWA5jrVR5lNsVlwWDuNh7hu4tkCdry3YJhI5dH5qmizceD8x6U82RKyyJ3WgOEPu9nMksXT5R%2FV5cBKHMaGmRbFd0Bqg1CvYCNQ6ucvIctHB%2BRxJpR5Cn24SM54Ga6ug24jL9D%2BoTTqKqNSqw06yLhWhyT8oWi16NyrKVqR3JO1iVwldDFYtsar4Gf7I2b5i%2BSCRW0K57SGg1CSc7viRHa%2FOC7Mlf4cBABs%2B2GzPGVs3DRbPqLHYqiywjf9kQ3E3dVhG2HmzCzFjNJhw09Ujmf2JIspGEbESCLwHzlH0lisp4BZxEVUN1%2BCPLTTfAiZd5nOKc5pD1TLlahgJh9Q%2Fgbjr%2ByuXA0PgnG6qYTD3T7ybA9DSjHK0mzl5af6iq5CE3PyiQQwqGUUbNEndOjf31Di0RX3%2FEXV2AjyXUOJbDoJLFbMmdJEDFPLZ3hE3tatXfZjzMRdYIzVxnsXWBXxIMXaOKiex8aEG4qnVOeLD7xkKyASzySIHEkBmtz7sxkhzdZvkDOTw1VpDXoL7Dz1E3Iovkekq6I7pnCfAudOHJgS%2BEp0QGZ1935Lu2NTcpiMLUdA2i9H6neAC4y2T4CjQ5s3YNMteiQrxF7VQneIvWV2eVXvc4rBhveJjm%2Fy2eFPo66w2MkJzi64d4ImYaOhJApXfBxyAY8RUCeyHjL1kX4MlJUOHWvduZctiU6rv%2Fh%2FeKzvptAZgjltERRc9idlACV4ZdxpZtUz6GumiuZ3CvulhQ5G9rEqTbfCZ50zmRW9iAwD69UtVYv4qAa8LXvLV1%2BpILR4hTwenBZG21zfvcvlwVTNR%2Bj2I5PTni%2F8xfV6dnlA8PR8YxnPYOa40g99GgDrERiUnzsuICmQdeoHFdqNAp8Zb2ggpiWXDPmHA49NCqzYybWN1Juop9XyGIFwf2ep7CBnpB8LHiSvpEVFRYgzrFo5650LWWV8O1CLy4aePlwlGiv92JCYuI97zGqvrnPGrjyhb8YVkkP19x0n3ylJ5babc%2FJEQ0MQZ4hkUfWGIeCbOrgfcTD%2BupwOlurRF%2FxuIKrOTeK1pjcNJA%2FqXIVsLxvRwBefqR8MaXWrMBeajxAU0hEEkK%2FN3uLkobLZipb2%2Bfvi83S5IG%2B5JemMw78HyoWyz%2F5UsknI1eCbBjdvn%2FUPs%2Bl553rOaOemC5nRRdHLDu%2BUhzn6t2CNkX1jg3FT4OeObWa0dfZgVWlErigp2uVT0QSp2fnGZjg%2Fbfqdugv6jF8HQxIbYNSSjEA9%2B6yxw%2F7ADg0oL3PeYzS7BoomDgjXsR0YQd03ts%2F3TemF1hF7j6V0DAxGqOP696tOio5F6v%2BqmsYDtqx4IUnpLK11MoknxMDp%2BSlrxP8g44yD6EokCG4SJMi3gxPTdSdCcBQvtvStGevoQx30L%2FybODtR5ztNpAB%2Bh4c17ELrg7M6GovGRZNhboG45%2BMGFriZ%2BomayA5vwgIpAzjkB8hBAy2rCNjNg6oBsOr0RDf05zxk6FUAOZqNGBT0qRFn9og%2F0LyVo6fz8pU80dWdv8nQdtXephrGo%2ByhE3vk5r3YQ1ECFrhxfZcItS0UyO7%2BkG2HnJc0bqVGIXP6cFRvxUexx%2Fu3sJuWUl6WsoHjbp6%2FRGkpaYliJE%2B5yB1U9Sd0gjrguX8fr%2B4RuhDJEO4G37cqoOXn3JYDvtJCANOwCZS%2B4PCY8FlaZIA%2BG5nKHW3x%2B5gq0bKrw%2BM4aceOPbIj5x7I0m5lMefsnc69yg62FDsNe%2FpdFIJU5Xm1XqoN28VWuwrMv9u%2B1dwMVsR5AmjHoeTTvkidhF1wL%2Bz6f4mSTPyEmDxZqD2w2v%2BIXQnh8EnZ3PSTkrl8jRsJH0a4CDaGYBl7oAjFfJjIsPkuM1AjHJhxPIBZIuTGbBRfFzqLzPE4Xpt0nfvM0Q34wMrQRR6Q5hvjHRkgFVLZaf0G63FRLx7NVXoQ91VXuKTJ7lQYFZFef81%2F44NVI1y2hO2RbxQNtbMw530tHv%2BPdY8HgLqLTcs1l8a539ISZw0ncsEOaZzmr7BX%2BSkJTvvCa3%2BhOBU4E5ExYxVxuSy6gfIYaVeI92ZtcA6UPVEiLqcRyXIjWyiih5125qz%2By1QtK2zYTmMk17SjyrloqOD%2FOuEDKe2w7CIg25W3qYYh9LfBH1RDZOttSLv%2FyN2graLzytC1yQkzJnoSJrqW%2B0KRU9ArmDFhupB25fPCX2xn%2FU4vPKkxTycQ57me3FJdDmdM3aGwf15tRWA3QaCXYp3pJtd8aCNMQiFgUnJIJYmTAuGcSAfWPM0EZCZBoBoe7EJ9Aeu1ek38rVumTdKfjV5ir6i8Vs%2B9aBVetkc6%2BkvmXgcLoW11d5QQ88dxxAWJaBy2WK8zwMNu8XxXbn3bAbI4jDtBl1OmM93QbCgbUzk4PWRcBdlOb7W%2FfdDPJWOQuUc81nhT1pZmZEmzW6cjGi5d7iIU92T751j4DMApqBogwYe3b6Ro0dLA9WB8k%2Bo%2BlYQVbzyeoumNRTiwdlNKP0zxbAo01t6ZwcBuOm1uiljwOLF3MEu%2BltfeTeJ4sDM%2F91fq0gUiZoZhcfftS6XvOrB%2FGEy7J7CXgAsHtddKaNwnKVvpZxWvJ9AMIQ6zB%2BYYI0HPz95ad%2BuWRdaaE%2FKOHkp4Jj%2FXpkPxpJjLm5F3PphAZcDrLJ3nY2PFO4ycw2S3LCotfruqWhg3HagMvH7aMhR%2BCYzlVJp2RrkJ2xfyu4YjUaPdD5Q5lBg2vInrpZHJDUm4nN%2BwvMqnvogQHk%2BX37SDnqLmM6u3IcxE7qL8fcl085gXHX6e1X1lvp3zXDgKvYYLlqC8S5LUSO6sNOxV%2B9S%2BdB3JlUDdcgfd8%2F56XZ2ekMYTvcXp6XCtqXnbUpVGpVuqWDYqc6mymvmJchXtk7UBtbfCmgLP3utLWs36zx5RgWqwVZmUJQCRFnEP8mR5ZWkMulG4dUfhgZ41XTyGWjmdqtnzAuSagjTayogsqq3LRt0lvLlITaQK7P79YH6zAHbd1LmfLMawJ8A0t9klKNB2aLWay0ku%2FPXRn1usguZ2nTH53iL%2FYjXNK2D0sY81IRvWOUy38%2BkFyGpdKgPbi3RHSHFXm6MC8pY19aVpXmK4vrldIMtxXZKjv94AEQ2tCT1vlz0fR61tlPsiVuiLTuytDk99xQvR2RnlwnicPbtcFHziaQWl%2FAmjeim9PCCNMCj%2FT1%2FJneFbznFuz4TpuUabUfQICuwuMmRroCGlxhmH%2BWVgiRwpkMUf4oiSIeXuhM4Ac99zB1JskBV3%2FQT6sqKolNeiLgenatg25mFe%2BhQdyXpYtMWu1%2FysQugywSI8ua%2FfkPehhb5LjAU%2FSvCMSmIf2xU434k80Lxk56yUE24p%2BtcBmwkfjGJJYmLGdXG5U%2F3o5NhdUPZO0Nmuqz%2BOUaJ6GmvuV4SujxojObrh5kLm297qQl9MMFA7NFo2o2q08Kp7Qed%2BYa8WILqM9uoIuuTk3FMYfdT3eJaKPM0CWTEmpNPBP1J2r%2BnIy9W6MXw6MnysqTK0qIZq8hf9EkxY7gVPNDWvfVRWSQ2X0BLT6c%2BWrgw3HOJzvzmSglOWzXvzi0L64aZk0hYbxAXRnl4jnmWF34USfrpURI5yLW3lzUMtPP7x0%2FmFY0JCSG2e%2BzQDTiWxvWhbj%2FgXBL7yVW8kWEx90YQw0hWk06R5CCXFzaNxBN9No6PI7Pu5Etq%2B%2FcOg2iISxLZqF%2B7P%2FWn1yMcdjyTovtsTsZOtUm7zoWHQPfmA6via2blvWm3pV8B%2BC4WLcrmSaoG36XsCOCfCBR69Ne8S048YzZV6CuI0qjP3TYY7Yxrj6Z8snls0U9n9Lz2idOhR7FCQ1Fl2ODPIBzsAzKLhaVZ9k%2FUSczQnz%2BU%2Fcv5NV%2B3p5TscsQ4LwfRV0F3C23iGRnyDHqZdPHqwnWHBhrOfTdv2sngqorHVPexQbCVCFWZtCpw80X7vK7%2F0y82Qxk0CZQyQxyRPf6eD9ieZj%2B4lNZCzlX%2BLbc8f45ZaCb4W8SpVGzZRfMKBm15du5qzT2NzY4TbSsNtydmpQo0FprOJOFcGAovXh7P9BKS2Bto4JjqG5BekZVN8wKUKe6ujNqNec%2BZf6Jde6kF0Vv3c8QKEu9jvcUhM0WyqVoyq2JfNqd0U%2F%2FHlBazFSjNS1GdAuz%2BfcFZQNJnwS5%2Fet95rm7ejIe9u8pmA60f8sQvS6ADFr9RbWLUuzq5GAdWK%2BxRIax%2FbvFaWrAo9lt1pFn5iIHp9WC01xe9euTjHK1SJbPGIjR5zqsm%2BuwX0i6itvSqEQAJL1vlB7USMX0dK9uoNJpUQy12YX8sxZWUmT7BHNkPmv1NCDE2k27y%2BaVBLb8Y%2BUU%2BuacYvPeMNHDja3a9GtvVaauuynEuMvCHaKlTgwbCKTUagPqva6vR27t%2F2y1%2FNp7wtfDZFpNCQb82NAwXjfvCTTp0dVDmEjNzFtoHZXVlmI8llzk3UxsqnnSrQ%2FtG9aW7lLz8iiZRh1rPBdVU4VnaL4dV%2F0zhIfyUiq1s1D%2FPKPqs%2BAfunKqeYUDkJlp%2BJ8W0S85QG%2F58V%2BsfhMiIpxqv1xQLIWXl7QjpqmORm9TpeVTT6zEhmi5QCNiF75diYyiLHNuKWWkytZe6iNXnM2kja%2BXWA9mU8Pqr1SG3GQka6D7mPtsNS57JAUO8xHt%2BFREJT4%2FwBIeSuaRHJK%2BU%2FMYOt2luGn48SOZO5XpKmlzNgpVhKD79OCFLAg%2BXdGFheLFHWmhfHbGVldwPQ5WMysxUibs0bSq3Q824%2BWOqGZrE0AXyYHoUI1a8RNqJ6QsGufiZoy9ydVhVCEVhtCDQvM%2F503GUdjrkXTVr9VW6yt4aTZZ74fQvuPK5cR1z5Q%2FGZEGsVzpJrABbCMO2rSqqwMuI3i7RcB1VOkUFqBA6%2FeWGXgxNFqu4HdA33y9k9ypONazxHqf8k40B%2F5zhHdXygRfIcjIw%2FJx1rlSDKjn9K99s%2B1sua13R%2BcwVyK6cpJZtxsmKPK58POuF9Z5OP8D6oi7YdmIVBlREJtbzKiqbsG%2BrZ6z9s1iT4op3l7HOV70AiVglQaUs1qBCwiMA6L3UrfU6e2BwhjfuaETglU7VARFFjrXO53fRtroAtcUQxhVv6Xf2zPEwaq76h3q8dOixYMTwRHAMYWEbjn8F0a2dUqJhyo9yIdec8Sxgw8FoF%2F%2BQ6seFptzK5dRAq6tsu%2BsW81JR469n6H1IupT3qhXfORiDjafamCPMBMwpYDImst40OrAuN4uP72of8z5gi1KO08hiwH%2BS3WRVwCr7PJ8cEz7gaFTzinuMmbE4LETI4IZ1yDGfOiYlX7wPLwM2gtSKju65VbsYlZLauGg45rDkJyp53h8SfOsXuR8f8qnJtpcsWxKeNpW3WJrmCKFEs7xj0nMHzKDwc4EViiXFEnoFpUqwQsxWkENTOLMU5GtYGqqTtTGnBSvKvtUZX1soq8LTtEHiHtC%2BvL8j325FG2%2B2EysTGCmSV8oZfD3vKuKExRYrHBzKxF9xoJinP3DakFaZAHJ%2Bvq5XX5Tqf31vpQ3B%2FzJzF3opVPxqeUjbXbEfac3Cf9%2FRXE8QpWAtCduTZHihEHDXFLX2KvGfd2UotKpgNPf2abw56CoQgyU5vsd71Mrz%2BqvS9owXMJh0zk5eENU1ZGOA2eD9dSKFag2HnlAtyiBvb3btpaOAsQF%2FqRDYfyurUGyh24%2FgulNFL60FFb%2Fdl6ykbObFdT7Iu%2B3kUzWaakcZ%2FiBgp6nvBz7O7JQmWlnqzbW8zy3%2B%2BqvFM7AYWnouN%2BC0rSCYlxoYBU8tJ9GCI1Sl1OZ%2FSXJssbhbDzkiX3wPSQeVNv8MchF9xgoL8Re9MX2Jwr3zr4Tv2fXBcTvUv9Wyw7tJroU5ehHNUhRv%2BgVwkQwvmpDsH%2BRDCLbIW3mP243Pk6mxA4t4sy6nBVEoZuiHRPbuDhRw1KUMIGkx71PPxLCsT4kH9nLs6bnn45t6QXwWGGdonKkFDngoQotIcUEtrR3WPvqK0kcu%2FnwMXCk8B2wqsZwlQOHh6Y%2BHAzxz4cA4Vzyh7oKfYQrOaLfYF9M4KtHWHUJJ6VnANUOgppeBp44QrOli8YZForFaerHV3N8TenW88puztLRYNykHUl77IJlnXFSiJShx%2FOG3nDCjCWk4OHvbzSVsz9Eavb88y89i6rnxuXCyV%2B8KHMGX1QQ1xVfvJ8XB4Reg1hIC4OV5dQZmImP7XSymS1e3fHEbYgiiax4tfIVVGEfZOUVc6C2ynev5oI8qos%2BHwRU%2FfMVV6pCOIXHVjAhz6WtbxCFQZD%2B2zP4mB8bp8focHWLJd2BSlggENyw0Wed%2BWF9A1O1SPdbfq%2Fr2xD8XV72eW5S9%2BMPhWtH8Ixs6Oy6s2e%2BPiKuLpQNoF3GVwSBPXJB1hFL2EF7LNlujPH5lnKrYArVXNcFDKSO5wwZ1vi4fWqEyDZeTzKPJKBq4b8MKK2vFle2hR0HY9u%2FYhFtBH5uZNaw8vFmFtRwISvXVLZ9oWwuog8l0P0ieGYzIeO3KkURraNlU9SSwnwNfNbpxlaTrqqegFx%2FfDo%2BoltJxqZrCBUVtGH0VEZTNhb6etzUgW0YUqotw2oMjxH3NRLKEoMgCxr1gT0FYSzklRhg3V4C%2Bb7CZfwHHg7o5ll%2F8bm%2F0EEfnm0JjwqxWFDW1R7WOAOLqItE2RUbYf9Fl8T%2Frib0pz4SNEGPabmhJHTNtSKuIcd2T969n%2F9LA6kZm2AIPiWM8fJa4LXpTcB0q5n1we2di9NoMnnSQ%2FhITBBFNVRs7kO3YYos4BWqbGxaRAvA78oIUuvg0uFd%2FiogYSG80lkSP5C6IxNvyRiCkPVSDd56Gt5xPMyQLbcsAKWyGAvY85CAkQ6j4zXTKSO8U2BXGOHWjoS8yK2rL8wu6w%2BdHxmA41Wd%2FuNU8%2BWxwvDtDQ%2FgBE8B%2BpeWqYSkfFR5AlpRGJJduJlkg0bEHpqGvSHJOkzG4Fwjtl%2BiV2stn4ThxIszFQ6ywCZKEd8MHeGMXszh9%2F%2FaFspkP3dCavzfT3ynJ4lS1B1ZqeRJOpgD4nrPPa4MEW26TMvAtBW58SM%2Fp%2BixMiOhNqSHIixspkDVDeGlWJQxM46gTX18kJhRZvc663cgH4y54zjfJj%2BhI4Lg2rNicyX1sl%2F85GePqT5LWX6FFGRr3KIIPofk95eSEEYPClmZOe2Dj9%2Br3XbFypSHNGMy2nb5e8thI%2FJdEzQTZzN6fYSvDcycyoUFfWknem3gzIrh364z2wpw5V%2FxJ5WZVLIeR1xeCWIdT77uiwokJk7jAOY8P40G76fpHP%2Bs71j7pjWor9ndBkPf%2FnRYIoiL4Hwix%2FSz5L7mZX%2B%2FSx3G7liIphmPVfXNsntQXO7HB6UviSUc%2FEK9D5%2FbWuQ6TJJKDX2LfZjPT5wc78hwlDLyQC%2BgtIvbD7ijNpklcYKh1dvzvlzQWohWu%2Fry4czXH4pq7md1F%2FiXyBzRKR%2F3Df4%2FhgdugIdXQ%2Bzh%2FMoVCk%2F26iOTyTN0nkBAxlqwydgl1EeKBRDBd7KB%2FNqyKNriZr3vOcBG2NyY7sRE%2By%2Fmc70xfFGtXOfeo0DyTqvcrPvW5vhBcRKjHPpCimXbgHbFYOr6%2F%2F5c%2FuAYLtOvAVFWRf9f8nhcG0kGkpFYIdI27YSXfU%2B8299ouwgTsypuBa7Zh537QeidY1x7S68lE5XCQugaZplA5pnwNJmz3pfMu2X7WKJTrhIhutnxwibF1KGQcbk0eWxpBRTXC5q4EKPdStvbhQDJr3eGoRDCwqfbx9XgeFOk73X3QcMUOVSqlpUATnmldusUzh%2B9mLvobjkjxn3cUWHWsRbc5MwBMnnAAIY6jgqoyQY5tx5HAp22zJ8MjS27NYGB22VcgN8SHOJdJPxM1kT2vhjLCUI9jOlhu4%2Bw8zLoQVGcLwzYb39YbWZcDaBUqWe%2FYJRPts9x8BQANEiSm96zOqbu%2FRYUzAyK0QGmVVAEEMrRuBKZ3kmZ49zBmIIHlMVCMh8vUKOlvAeX9D%2BlJ7nictgxo%2BoFJOxvdqrTsbBdOWSNXNuMr5lweaXkWTdE2GL40p0Mk%2BDjSA0RLXy1natbzWhSkWtREgAs8L%2BXniB3jzx9OQmOblyW1QU2EXivsq5uuRqYmmrd8MWq3oHMTk3%2F5geMAcwJwJZKdVQTqZ1Y4%2FyIfRDCTpsy%2FoPEwknfNlyGUHyscGa%2FFpB2tcgfCkdQS9UEh6DEpVP%2FuxJ3a30OLZQO82NBj8Ae%2F6JQxS7psR57V0L1YsiDvbq4JGuWq7GDExF7TtoTqfLCmdDDDQM%2BHow%2BV2AtKch5LOrQTkEQg6CwR5mEa7QXtWBQx4iwSJhOaS8lBUKXJIzBIZaaswYHSsWTp3BmuEhwoBzRyUrthHd6ECuhrl36kmyqrBK%2FMyUUtIwZ3Nbpd%2FT646h0bIKMTrCbXhOI0Yu%2FZYMBAGme1%2BozHQmum%2F%2B%2BStBcn1Ve24O%2FMxzAfxz1cVJ5G9OPaiF4j4zWdL43KW%2FqSxefHFhPgnDuCoUx8V5lxFpIgz%2FeIUXfX9j2iM8%2BjSMOKl4%2FU1ZqmUBqcofDq0jQckYHVi%2Bj5OANSSpUhlvfv%2BnTssLauF87osRvai8vPrLsWprUgEpDtaTTwkk7SnHfRKqhU5bkS%2Fl3yawH3nE15uK02zHFIK0lDULwp%2FlJkM4h2ZMy7RXIUGsNBlUeD88rP2c%2BAvL%2By1zc3LngkvBxY5QWQhuj9Wt9RZgAwmNIlYlqYM53iGBH50FLdTeywuTXoAGpM7ItSkYGKmHxChv3i4bf31%2B0Tq03HIniCq3tWBjIazq9zCeqy7qPYxPGl2FNP2i6vqUuUefirH6RTxeZ4u7I5qYAySHqjog5n3gW38BhUFz0PX0BelWhYU9QUp3om4TnUkLGfO%2F%2BaiXtjZ%2B4isHdzjfBK9vwArmsq0%2F4nvXpIvJ95kwVK5X1ec%2FmQc0xtxiRcfPfYxfdeVvwqGljgQ%2Fm9ZcxIR1A42GQwH%2Fujg2Os0kffd4Vornnh5vXQDIuEnP%2FaXkbQwy3yF2chxUKbb9UFHPCbD%2FvnjHnCwTo%2Fg5nuQ0EFpgxS3%2FR3yEnC%2Bygaj8zHQRzEGXswh7SWvxsHA2ELPBn31l0y3OxnUn%2FW%2BKy43uSH%2F88HttnsX2PMCLp2wcLwtyRQNYJbitKpAOl2N7GrKIJsEtxCN8Fdw4yBezWUgq%2BaWGc6Oa0mybKGWqzXqjrJ4yuD8Vw6qBR2acI78wy84TjopdqZ%2BLiQWwlFu%2B8E%2FNiJqiB00%2BuW6D05dP2MKGC7%2B8swyMzvX53LL3rDPOO9jvD3Zu1zWb7sBPJ56gRbdbVnwoWzWYJPUspmIi5RlbpLuCzwLJ51pZNF%2FW8WKtAZ%2BVCxfPP%2BVfinhYXtHWORq4EQ%2B%2BSXqfJ%2Bbl9MRKfCg5RXLcJ1HGAHxkHCVBxQF%2FIfhNpZOWky49J8ybHsx%2Fip7HM0V64Y1OVQGEg4Fh%2BoBnJkQls0EJVZDCGFG7NsZwcLbr%2BH1HyPZcVeTbK%2Bs%2B4LnHn9aZGTfqxZt%2Brsc1ds6ALz8VIqjaZ%2BwttQPJeA%2FzbbEvYzu6nnMzOZg6G6qHx%2FmrTZG2FDZ5D6nWhjfed7HO42%2Ftq6MsLwf78CMWMwg1cPUVubKERLOmSZHBijcOI9ql7aZFXlVxby%2B4ZZIK0CxP3um9eQwYTW3nKboqxyv858ggPbxB8d4IdlUdN6gfrf%2BmvBqhzp8uI2qMxnet6ILAbYA%2F2%2BBk57S4j5PcAb5borQGj%2FVgHPrrVUICu9P%2FKGZwnvc1mublCCtQm9g8gmVz9ABYf%2B3N6ZNQXzFiYq6tQP0%2Bz9ALMWhPuKhgVdfVaVH5LJLFJuj8BMuT0IffQ8Qnq8U6CMlXzd21XgJBRX59WxM7X2vHqFjnnYoler3Yj2UTj1YW8uHD27ruqggGcUQDrPV0jV0yHTlwzJUZjp%2F7%2Bj4RRUfXOlaNOlHM0ELqRangRStc4zI6ISjSLdluDjFVdZ6cDnkDQd4FxnfgJju1xsZ3CIx7GrtB3o26JeU8JrFnPUU4ZbUGrOubNsa8jVigX68vl7TUdLLqESfw%2BZR1uHKwXtXDFO%2BtYjSVtW8vZzkGn7kn32CSMVnEb%2Bk%2Bf1Wf2eH3WzJj1ywzZ8rkoJ%2FsY6771F0Oj3YaFFB1M5x%2FtMmeUecKrZytrrjnPY0wrreslbuBX43u7LcANulKB6gRRyiclZoJHn0Z9kygjBodCUorx8g2mNVNxGn1U0FyTrqAJsQjMAPn%2BicazkqgWBXVs5KhI1%2F0gY29jQ%2FcWlMkO7QkhijYx%2Fw1fNbkhKYKrouowiVk7ulnXiVZAl%2FRPFoCE65rZICTIx7FIxiHU7V2mUey69xdaoH2Tu69XDSTAT%2FNZDuUVXixXMrcQ%2FNG%2BaIK4acnTw6gjmtAd412kZk%2BrvHdLWzmOPMtZ0lrvf3wd7gugLzgo0yQAfW3AZFmLtdhneqmvPchqhxJ27ch%2Fyt1%2B4UBUIkZjZcl01JDx7Pun9RWCDk3X1hfEg230se2LoQJLjq0C8%2BquPghvTxLa9muWrQLwI8u6gTPr9VxJDxfjfLR%2FWndVpp9T2HpaWE5%2FNJdaqphmfR8%2B3FB1HvTlMX6Vy3UhOZHMQR9DFZ8S7mwxnjsX4nuUpzFi4xkeamVPuXeLexytvdlzFiseqiDtWI20E4wJp8BVhp%2FOY5nFgWXxaUWned8hKDznls3ov0eEdO%2FJRTAiFq3bFVXGNoWOKrrQq8yXpOOmGXzPN5VTfUCQl3OYzF5eqj2iH9ftKnFBB5%2B%2F%2BsJKHoRBpglLA0egSBqJLPTsx5b7UYov%2FIrIDMeK3ombhreKoAFgmSEswjv23ZyZyk7h0U8wQ%2BbqFqx%2Bsz8psBB%2F%2BZm7LMpCetDLGZRGem%2FnRVKFDlTk%2BLNMIC2nW1QIGc2DkrWeHmNBCTX27YVU3jepDn96%2Bf%2BHxHZj3sX0Mv2qGlZ2pQ%2FO0SBHf6wgD9TvhTdcNgZ4EACewDKyTbmk5myV1VHb%2BlvR7J321hLjZeDtOPibicX5UpofyAZzFqBN3CHp%2Bf4ADDwK9AEdAvMNmVQljqo6ert9pAp5LwgFE%2B%2BvGAQYeH6dRi8nGRMcmqVONC5kLFWZzjnj%2FEU0mfCGdLE7acBdis4AY9tr%2BqU8vjdVw%2FsmBDIqg2PCBfbTc%2FINBoegRgwxhgjhsM202IEB94bMMhafDhjMTqyDVXb%2F7heyREfRlCxLkCQybyV97o5fgJbQ1ltGbOvG54PnEu8W3ESg4oAA3fDLssa4swkCwqo%2FPy6aW1tOe2jm5Iemvi%2F8OCkSKxiesPQI%2BlpC9TDcMb1s7Qmk5BIUQZ30X42xS1F6p%2B75ZKuWgQjoDuNlAdzk%2F2pxutgCDPkHtsdjX%2FgBF1r2N%2Bn4sn61VUOHXVyAreq%2BmYGGkeJHnGxVsuKXIT%2BazUTUfTprp1DS1l2wT1VKfj7AsMo3xkd2yHyD8KJrFEmxhQ9tVf7I%2FiGrdmUnEFBwwefTII2%2FyrCn3fU2KqmQmGCmODI4aZbW4%2FRo8%2FDmpMdcoOFv4lf%2BWF%2F390NWOZFvKucPB5hXk3jTRPcwgmuinx47cggaKLS3LdMNuxjUz11S8GG3NH95ZFDZyHYyAGzxFSj%2Bme8DvQg7Dq%2BSvBLDyHS1Y1yKjL%2B0T4lzJ4jUp7pZHXQ%2BlUC8PdCo2sAnW2XEMakVTQmquiTU6WFPsP3EDXu82sptRQkZxUwPJLzIPIkYGozCTsBcSMG9fWjZplGeupehl3KFqKOFgs7MRxKXpwkWVcbv0goZqqJ6e%2BwJPWFGogSFrHmn%2B0Z1qAfy5tgn0du5TrwzykWH1fbCMs9DZyIprF4TLGwhu0WMsmwadasC0MPQtfqcC96E%2BTpk1%2Bd7ckKZQ3JQRs6ZmQwYluvUUFw%2FyyU1cCBoDi2CJOKlOrjcZnlYSHz5w5MFoB8GBpvSUdqnSsn2SHHEM%2BLYEvyBoNN3ikG6qxM%2FEM7CDKpNsaW6rS3sG7PwEhKYdinB16AxWGJFn9Cu3aOwkESgo4AQ1iaLqU2gHq5kXtoOMcG97vd2nuIAODxDnD6myqsVsXFb7vjfhb9rGNu2%2FeFapCT92fZSRNN6CzUVKHAv4xcU06s1UGHQm0Cx8EL%2FoonHaolxY5RgOFvuau1vcy9hT5VAcX9KxOd3Do2LnUT5CQqinptHpfxVyzumohUoS85AQ63hPs828YM1vfDRJNoaRI1%2FB%2BDbkRY4%2FqGO0%2BbDhtdWBWvL1AOfeO6xCyKJhGIYRr9AoWt7rBR4FOzqO9J4PgchLnJQNDJ8%2BknGpAMylzBf0Q9Ddkp6ov6NWbOFMLczI02E38bPZdxqmTv8WUBzAvJAFBH5RVlrbAZM%2B0PI3RzgobITkdwcgvXXUuuHA1FtJDlS%2BYqpGdPWyWwMhELdyVh4Vv6kLxJwyh%2F6%2BNc2y3wOYVpw1DE2lVFEFde%2BtOSPQ5PsikYE4XfIdtEB6fsvtaDHoy9EY3JnSSx1i7JpBcb6quY95ntOgfkW4YHsiZFz2hRLw07ac%2FClaGlUbJ4t6qgRPq3IkoHQE9afu2Fm8s5989DDRT6h7kB0%2F4d6BXnZfUtL9AQ%2BUqnaThvXcby2CKwJQ867SjyudidZ5Eo4see2uahiBFfzwCbUF0tQV92O6laBTOU%2Bf9SDOerPCFCqCkmGu5QgPP8A8Vvi1ARyGvP993B5QC28nJbOZMX2QIxZ%2Fyls5rqmf7LOpm4FOArpjb4qROfen4w2A68CNUmJ17pxiCDhF%2BcSxS%2FF6HbYyYGMoUOPXpSy%2F8KYW8ZVePkfblZpn5ibsJhYv0Xd6%2BNYNZgtnb02GZ%2BjOkWlWuAQBBf73inOVcheH5vbyJjtkI%2FqQLy8PhIBaPPC1bL7Ocpo3OdOyk812pjs9Z5j5vAAsyHK%2BjB9qH1FoXkrxeUgLF%2BBkLI5B0GavmerOHkXq5SJboURNouJUf9pcznl30KueXk%2FjHpQ8pE0UUzyWSIH1DDFA%2BPVjV8%2Fjn3vygSOF56bNDCua02YxPzOHiHTcXRbLtg%2BPE8jFUnInaKmBYMoQTaRTo2%2FsXQ%2B0LJXXWkcVBvXQSHhMKmFrSObQbLu05Q0QY8gPsQpaX6fs3gBZhosN%2FjKBZaNOEKKX%2Bww9aZQX6Fn5OoQtOuMo91F9IBeLCz%2FLZ1hrvMYZGREVV3fkF0TrYbjAu2pbRwvjPQ0aTK9FLS0dmQ%2BrqniJvo2zCHPHZMycIlBFyzJvqygwWUREXsQoPjp1aMB0Hq3%2BsQDaoxz2RiRtxXAJ2jp3DghWRonJ0KEJtDRXXPCI03Y1c%2BJTUWqJpCnibC%2Bxt8qKFFazOV0HT0Z1cBqDJQLVerbZTSLwkowct3ztH3Uc7Kub3powTo8COnUpOQxQiTEkqOfU4myTRwK9kJzDm3Zivr0fWOBfDprVpbeD0V13TG5h5h6Dc%2BNHm%2BX1yNJX6%2FuAtix%2BbiNAOqE8G1K9JY4gJSuyXw7EFDReKKynY55VsasSRR1SjjQn6lDVtJ5ORdRnYtIp4qYfRFFPohZQaXcGFXUY3QZfyu%2BOEgzTb4p1xFBJRHYYDdXEi2vr5fs18XVpH3UlfIKfP6RBrP15iUInuZYdW%2FQEVBsBr30YBGs%2FYUBnXr0eb8zVBKnL4G4tY48seWGgyCvDx22DAX6KIKSgjj27GVjUcU7zUkjDp%2FobOKdwA9jqdrECuWrhd%2FibT3%2Bh2wgXavBlTqmpj7nPOXUSPaYPNUrH321SAuy9eIxSAWVyBFm3jVTed3Zal96HkBeUh399DL97qM9rJUgAoMxPZS65S62kv0VllwBsulsmr3%2FPsiZhlXkvrPlfG69Yw85h1tcLBjmYCtHyqC4Du528ehgXWiURUuGyt4y82JAdr6yLIjjs6qOUot%2BONhoY3VKrbZ1Xw96435AfYligff%2BwbkdjYXEr%2BsSHHcRObkY8Wv4frrXNTAAMws7IcBrbI4JpE9Ks52CCIwidq3uN0X%2FnZkUAmVo%2B20LuLUh6Pua0XwByOBUJxyYj0b1vmIyr1yt6RJVeH0i3zaIluAWZPLSirQaKUly1xzgc4S%2BHjKAr%2FwP%2F%2BfZHlyAJ7eCdfJ%2Brq5CmNUMgJsJyD6ir4gTWEIaOUgi%2B%2BfQ0GfIrPHVFE9ytc388skjB3Q79mqUB1OIwn6HvF4ngRZejAMrHWL2ap36M%2FmtQ91sdTXzHH0fYy7WtBROLOFj98Wcn6SVL%2F5Mj5ktxVL9IRMA9Bn5mxu2KVccKWPM%2F%2BeAcybc9S4Ata9wI%2FVc%2FNEwpTzbedJY3UCGZ%2F5ilaawUsuPa3ndvtRdt%2BJYeavAXnHRSbgldgCRBkZYvRLtVYPJaqE7f5cMsy%2Bj3SA0rDgHpKvtF%2Bf%2F8kYxeRqUW2vHBEiCjSf%2BwlBMyaXZapfMeBjrzzgWUs6%2FjaDIFPuLrmGTvz3PuNrThdm9v7K71jqVv7Rc4792oJvt2BXfuyy35D2cIOwfjJe1eWjlqK%2FA2HD6io%2F52fuNX2WPv6308o%2BXkof%2BoJhGi6UmXxyKoPPWYr%2BtS0CNrbXl%2By03ZGF%2F9iaKJ3MbpZu%2FqKs2zLvB7OGkn0NNCCWIzpZ5q6%2FwWFfx%2BmAGi7IozXrGuVMc4SfW%2FhbGHiU42erfVB%2BnyvUr2BOvkiVWzBlKvi7jUuzPXkQxNV8l6Ws0uwkJMJWbeJmNPj24t%2FYNrsimwXWe%2BpPoOfLe4CvKU2ecpW5iwROBhvYLLw4OPYIl%2FXTf4AczeQuCseipWdi1h4wW8F6pfJKDUIvZHSRLnh%2BuY%2FoqFtxx89rtJMxZmbJMbFaPUuukeStsWV3rm0iIv3WQZb9LlrhjUMvDmDPRa0e6lJez09SpqTEeFJmu4zlrTPTKvkRqKs8AeOdEVXcOF%2FXUJ%2BbQwuBX0r%2FnJsXT4cNycbXGpwA7ieqd9n7el7Ica2ikZjxmw1dXt8pf7wdU0tYp90zCSbAj82olnD7c1ZIkyAp049G5E%2BnTESJAUB2uyEkDo16smeLbkk%2Bd2%2FX5NXnrTVZ48msjwEe2F6jRTEofF5YQmnJDTUTAMerAzk9uZ4cg%2FOiILYoMfNU8UKJtD2aNWsLCWDhtwfKdhYfjLXV2mp1GABCSlElRNKj84inDBpYhXj%2FVnScl3fgo6l%2FnqrMkbc%2FF33R5QjwvKYu176JZM8QOj3QVUEDbDzDI6xHpK2L63C%2BDU%2B5peCoZCahlarlid6NI0MTvPX7ADrSWLqVKTBvvCXl7e%2BXMhIdSq%2BtP31qbusHpiQwkG06jTogDKWSLCgamxHFmMCGmx82cIFUOQZH3X3JbRWf8jWcZ%2FqyXx9AYqqTqa%2FNML2WXIyTBx3qVVQtk5MCnrXxog8%2BN0IQKXhmrI%2BwsIY0Rm2UEjNSwdhXlo6%2BFbxP%2BHcARVVovaArIB%2FhbHQWL39zzDyxwQOrvaJjB5s%2BP6gKL4obduXZYcEaNw9qCBXaR2zywCL%2F13YuxWLZOWRLmRcKc02nVjfqGUlyfBOLhuuKluuqenR8HXoaFs7ANqHf9dfNBmBo%2BYvkbsoT9Ec0gh%2FJ63kFTVStzoO%2BDcmuBrN%2Fe%2F7eIrEAnDABm1w5divkaQAaWgTmOWL6gOKaBVJfqjV9Rx%2BqTO2DDpXYA8afRPnil8c9nLjmxQExCmEkUlpLiEJD1bkTMsxmfJwnX%2Fv4wMUA88BNWKt8oeiQZ%2BIoUgmznqjPpgq9qit2N81IJhsgOjGEFHhKVnAwmwgvv8V9P1NaStOsqpI7ZHOnnYSxTQruknxbeu%2BwQSsnMfHSNgAjL8ViTgQWme1TnJeKcnKTVYJewRbyMSU3jbGiKTk6bbs%2BAfS5YtPIwW2ADw71DA3bJclcWKT4QzyHB2xHXwEmXcvNBpSePOY%2FPOBSUiYC%2BEC2uKb5l9oqZo%2FQEFRgQLYf4g5mjSqVQ%2B5UBPLaDfe1htlGC6IGsFexhogmRMScQc3fCNnx%2BYKddeWj23HFpbT2rh5OalM58HILT26pg%2FTH2UTSY5jTWVEZeTxTUdBRC1I9BY3oIlVwbo1%2BW61lYqEcsdMU8ta%2BjIX90tPGP4ZKj4YQHTLP%2BtKOVwpR5GpViuAQBiEdz%2BZHQ9enHQ0Oi%2ByCU4ad1nb64mdG2Q2tueU2zJpuwuNTOWgcaz0Byz0PMqXxb4IDkyu5PJJ4SN4YlPGEHbiellCPLWp%2BjMwuNv0ZzFh49ADS0NTTkp4uTHemvgjS%2FhWYvhx0UgxQGrBxoX79hkAdrZNLDgJ%2FZ8ilb%2Far%2BqwGunY57zCuI8%2BNoi0EgI8SGdNi4IX8WQU7l5bkaPdTaDJizYHSLGNg%2BMII91XQRhK3oSCPiYZy24uEMBBUO%2FZmFnfZNZwJoUzncilEIFIJ4qkdDfOKOfxYAPvhFkvrKKRs2Y%2BiZHtyw%2BOmD6BQsiP8P6pSYWQmKNJGicvfhxOsL7ODC1iU6R6oT%2Fw0tiZ%2F2H8g2HZYG%2BU%2Fy6Zl6ipHK29LWz1Dc07T1S8v5KN%2FB9qpZnXrbrTVaiamgKnmEIOjvGbNmrkowHvmgXmHxl5xfDUh2y4JTPRnNLp86fj%2FgDKIKNmycyrj3286%2BYPbFqaMYWZbYWDgTONQ6p0zpO92jBUjIl0ar%2F4Z3qOPnobtDjHbzfqFdkuz75frKYnjwfK8slE%2B8LnOgPa9jBi6mVDMV5cmtdxUi3AQA7VfkHpWW0hAfwIVKzYxm4D38%2Bi%2FHpNLSCx89pdP7nXz37AAnahCedci6WehK8E%2BNpy6ac%2FVyG3WFRCLHBsLm2l1bgIdzW05RTX1SCpSh2EUxFqhOpT3f5p8MOU55Zz2udjjT51973cAusK3aaAyc11EG7iA7NE3%2FQC%2FTnXD%2FzUMT2kwITbLO0WPk7JyGRkVL2E2pCzjF6cf%2BwylWXl8StKX0meeIRGxm2SwTyWDKvwHtKIj0kwdE7m0tnkW18ha3a20bEkazYnsT%2FnZgYz7egM7Yb1KoVDOgLQj2bVzGuuSbP0u9hHDJ42yVYvpKxavnujfjEbd2p2wBecxNp7o6qNbT%2Fa1m3kbBAsPCPLenScyx8oFa3J%2BzWgVX%2FKeJEP282ebgDyYkeceetRxJP4BxmjjGGJNz9LFWLN4yRg2YJarH7hpttp%2BzVvUT1z2oF17Yq8Wk5L0gAXYdmcXeqd60OZ%2FoHgz%2FnVpJAt5Bs9ArejroT%2F19KY3vLtx484W7F7MMPLIK6la9ZngGTegM%2Bg1Tb5c0g9nuzapxMDvhNrxKHG1qfN7Zde0tcdGJzwKb%2BfdNHtB3ADIX6kaI%2FfALRg19A7NHejTEimVzt%2BEUXwRokD%2Bah%2BeZBS24ois%2FbRQFXRAeevxeJckcpckoaBcK89Rv24TF938ohmdfjzUrxNCqNai5ouaZeoc4NBY1F3By8JFLQXD9s7tQSIrqqQmZd4o1dXUK3niyjdgxr4mcPq4YGzq7v%2FEeuNpZ%2F%2FMe%2Fr30BVRiVjRvLFOsa8HeT06LYvktbWZQlKfd8sD4%2FvkqYzbf2S3z4oU4GZnnI%2F0zedHnUwA1VOMzWdrqV0Sf2pJ99pOCgk60TxKuSaFxZTYrIDFs7O1%2FMNZxWTRdMVE25yMqoxMulRAY2GqifCargGcEl3cfLcQwJKk63uQLjuLAgQNoeSmRtvqGq4WPFwlR5E3o9DE1SVnKSEPvNzDw2OmZjvtbkw146sUTBVHGxBBrRztgTGMbSVkz1GLISBwSQZ1foZ%2BgwYvvPs2lpfQzD2MdUQvQKOnBLouMnofka8WiXvncKi4uCtTz9iq%2BfSp3YTilb8QTKlaUt68zxkP3aOT4QOaPcZ7JsyKLGaliT405SzYzmetArlOJ3Vj47rmanVnLddhII2CrrqID3vchQUhm5TjoFZ7GuYjnRll%2F4E4vsFgYzSnpAPEcnobNC5nHHVgYmLZO0m7MzXtwFU7LYYYO2sBrurTqkr87z1OY5yiZvOyVoc%2BYmm5pSkMP88D0xg6hsUUfbZLdV0%2BSrVwVt4%2B%2B7wGPiAlxeGb8F49UHRpxSi3Ze%2FeAGDLJLAJcY8qgWjUhJHfpAYQYXVnIfQ0oMzTsKnooH%2BES1ruiTQE29g0kpvsy%2BO7L1k1wGNbJP6ve8r0hKRsAvXcqQEdAA8JuXFAO3z46GuGhV5m4U%2FQ4jWpRzeJfeUQUmfX%2BYSjkIUv6pSe6GtHCEUq1gWpKOiCN9kxdVvhnkNeSBqGSfjjYIDUEiaMUviOCy9SdzdZDzMWT2CFqYB4wp%2FpB%2F8l91Inru0ljdK7%2FA62BjFW3skNkBi8Z45Pas5nQdycFoaPT%2FB1HF%2BXbTSl%2BEG5rsIa%2B%2Bqsn1y8LsLhf2%2BWZki47all2C%2BoSlzy6CKV3Sdz1hgRVlR%2BAgkXFYgo0wj1QuPxDoVPgWjTyfwJ%2Fbk2jIx%2BuchJtVZ9FPclaYT78st7sma%2FPM32OqSjvJyJNAAEfvpy1tqsw4Dt2kGaSQX%2Byng809vsZTIPJHLCvwDM5jGooDlOPZekv05xmsfvD8fsEoDC0zSD762GV032%2F1tvlnwer42DZEGLJTcjPleD3PLT%2F4SxLw4AJClxN5j5F73goomrJWTAQSTraDOhx4ijJMDJGujDYQp20SWONxDli7QdA7RDLyajNihXAzxcfK1MmMka8bS6F55C3gKfmlLApmNEv%2BbAoTWAPJ3pNtEWPFHK5EGt29kFV60JocNMK%2F6n1AybcrKBKXShsMtNi4znGwnQ3V1VA0r5ppFMQvyGGRBmwbjebd%2B6Mut32%2BkfQojHJkZoI6GHSWURV9vh1gB%2FS7jEKos8mM2ql7GliHOeqL2xVdwTXeb9j3Ge37rLDd1VpGgQOpky0v4nf4CYAfumRKIfOvePnpangZaycd5Ee4LXc50VrIRRTH%2F3RRgPV%2BdcvlgNMRAp7M7xUPO07O5jhzfuzobqcE2vVaIxnW4E%2FKkxw4f10w9N0YifaiINs9%2FMLwYmlULS%2FlOoWgGLuCe6CUDBXE%2FLnopiILPEHxyR6cujrom6%2BzmR23T8ZKlNlpWGfCBB2K06uLQuxMpf5CCRNPYQtNecQiZOiaOCB7GKtrBlNMZLAeooFnQ3HTJYaFyhFuHQutuUzyMqk7Rk6pKTHTGEJRK7fhKwqImAQcDSYHy5to8s4vJvZZ5H41uMcZeOKK1pZoinVooNT543JQ26QNarwCND9wBZlaEhj240vXt0xtgubfV9Ed8XjH3mIJgcnvtImJHG5D6mgHHxtw8Sw1wWbYy9RZv%2BJVusZTz0yyDs4Wm3wpinRvvwcXOZg%2BHBf3jdr%2FMbFlBmESbdhAc91ZLUXJjl%2B4L5KZX%2B8agilc655uwzQYjWiCtmsBnw66mu6%2Fn3s5d4MXlXf0sGAGloyc60jYedAqjB8sJx%2FDluEV%2BA1Rty%2B88hy4q8YUSmOLzyu49gG7kBaCxb0h2XHUJDKiMk08mPnKE0JaigzcA%2BjaBsy4qrBQP3t%2FMosH4NQqWTaWugIsB3oqXSh2WAhed4q%2FVp1abrf3IEL1EI8XNr%2Bczb1N%2BMWNuaA59VKVG7wvWep03UITogCpySugS7iL%2FGlvU%2B4EsDiyrxybZGYmD7VXWyUufxvy3H%2BSJVo1N18vHxsb0bb5nTtUKYWRtffqE7cld5XQuQ9YTEYkqk8R%2F%2FJVJqQ2jNlGIxwTSyZBnJDdTZyJKKyndVx0C2mNrV5el78LkFlrpK4hZweTexJ4hKnK0hKmcPXLnQWwwaZzFi0qh8Xarp%2BcB8HwVEgxLNhOmeiLm5KyK2KZ2N4cIAU4GLKajhh07%2B6C34L42wvGb4tcHETivIuIIL1AddblxNkvkdzgO0tWlsy70MH0ylkypYFQWPbDa2Djfka6eTEXt5QeVLrxbWbOxLTL%2F4Fh%2BHZmnuanHzeGj1lb1P%2F2KWkDVN3XANA298JLf1lXQcCZWbOZwqQzmHyeCjfuRUF882fXjnyHDcMymzGnguX3Amqwv8ED3hviuFmk63FBvgnGJCUh2qwDmN%2F8mlJCpNnHA5KCFVjFDIwjjp1BKK4WtzgaC4RleqIfMycMMxgu8J2jMVkEcOv2GqavO85%2B99oMCAJRPKFmj3eacD%2BJGVpoegDzYNZsBDYmSZMrsMUw%2FFWnV2qQgoIIftymEwaONVXA128w7MSYq06bJoE2rR49PnoM%2FlPlxy7qSmwvVTV8qOfZolg8JkNthc8j2RajwmU2E0090GVEo1xGGNHM89EI9uOnzV7AhqsW8bzkPh1rFT0PoU5VJG1qgke2YQvfhGIU0N42dUwrBcWCfESbYagOUY6CjEs6dtYxMT6bBXegXiyEvuaYlO8QJit6DzeUKsBKKPVuMs8BzzOMIQ0aZu%2Fg42Rgo36noQmsnxXP5mnIqYmY2Eqd0Dkm7odvmq7feR8vZjR13yf0jJx9rDiEr16e0OC3%2BJ9HoEeUCelN%2BplV8A0%2Fl%2FY3xwWunMLzYjGBI8Z5p9afyqLdB7PeRcNzJDWZueG1W2SL1XkHp4dDIDtGfXXPk1vscGyQszS%2FtdMeIwkDlA%2Fse9OYOCIPvcC2LCJ6Aq1GDh%2FpeUXZWIcvd02NipNhAhDOnei5U3xKnqW4QtbezyeYv2aYs6xOE6i5uLD3hbCgFGelWFrjGocCJiOMcJy%2FNX8fCWTFy5MinnXwDzoV6WS9LuCGUP5MXnGWHxCwLc81AmuZFwOkln9CUZQtjvTfgbAIDDTxWvgfOiGy20pKIrGrwYMQT%2BND60uiVHxWqqTBOfv%2B1Z6WwZQDfWEDSnmv20YhETe9wvUl28R5lP%2FDTQsKKhK0lFVJ8L0jto6qlRspJV17DJ02WZ6WPKlICsn6xqXOlYKHwWjdfpi4TJhWcapPAlbakMiuMTmAEaCdwjnOD4KXEJApVbUrPmMXEf0okqg%2Ba%2Fwwsqc2tc13i%2BKS2%2Fj2Lui7hJbUnVQApiKzHqPfigowIr8YqrHnSTZ6SUPtDq6%2F%2Bf%2FJTQwjcgg64TiU0vigsNg1X8VUTkx5fWThuufKF8HpvxVE6VUbrWKuko7JcPaqZiZP4gblPagiHzPh5CLGE8vCZuKVKqo%2Fm%2Bssoaj7H8pPureCYSrz1EBmnHBv%2BlBkqtxKPwu0O0cnDD9iGT%2Fq41mTOQCjqRQm%2BgIFej766zRA3Zhq7TbsK9fWFFZx23jE2E3LyrZ89kVRnxiDLwdEbhs44%2F%2Fg%2B%2B78mOryf5Kf%2BLEOO%2BX%2F4u2YubePQRVVHmSEfxduhuEe0%2Fq%2FtXeaobyaYy%2BHrT97UholRUnmDPa39QteIgWUU5oFfZ4FP4DvK9nZ47DkJsCSgu9%2FLmkyfGFijsqTYr7PhFT%2F1SP%2Fv1XYI0Iu4qJlKPX5z7CeWpvYl6hsFXy1TbnkbJpWok%2B9gb29%2BnPAlb4tM9kTaNZa8o4FzLpVB9xZw%2F7CuP13Pk3rPhqtM5EwB2pT5sq9Ur95CkdiuKYzvUoMawO07Y5weZPnkTaVR0TrOAUjkgEQKQKvaGhaCfQB9lvq4Oo78KjA0SRpN3uzwr4RyjWqfiTMUdh1KK4vSMHQCAUjPISnL2xDeD2rNOVEENhDGaGLC69MnZaLaXjnp%2BI3kLzffKv9RVfmJ%2FjQzywv6o40OWdL2NOqesQ5ZbfIm1gfMwYiLOfUEs8lou1c9uVLmO%2Bqts4xh1Ckntcf%2Fsznf9S0km5hZUBsWGSroVldAvEoX%2BuRC%2BtY3H2bixGny%2FzDX2b4cAjmvXKSDH4ea81kN4Ka2YUyaQBcpWdTDeg8%2B57kUG2BQQy6yRabE4QY6aERCYT05dMJtJZazuM9hgAoIFF5ZmIswnz%2Bvku0P5OBjCTNb%2BVyBkTnlRgOISOuL0%2BjHp2h3w9GZViMIqM33br2zSZuWqYvDU6XCFz76TTdp1NsM9Orj1cVTDY8NPgqNQA2klXQLg4UvfqsAYGGSmj3EFRmIi3eZed5TqmjlxgPA4dovko0Hc1X0lrp0ge%2F5EdhYGSl5WzYA5UNmzPLeT6zLc1Qn5h61yCKE2FOsRqTfdF8Q%2BoevwTFH1Y6JiywnAWK4eVcrNXvXH2rQgSYxKQjlTZd3PTR%2FRNQKAVC3N8S%2BYVGRXE0NgOFT6XeEl3XhGtTjwdOCyllLNbRckKusY5n6UQBcpICHkHd6NtiE1w519vW40iAMmBF6KaI%2BTjuAHPRKFWT3brZ7JCh%2BF6I33k%2Bs0Mgy6rvKZbRe4UugqXBwDPIi2tgVTyx5HgoNigZKMNMJgM585CMM0wmzM6DsC39v05vg8lhkcpPbHpi0lvzWt7GFCNrgvxqX92z3GfTkmOqP8OzgPDrNuPRSNocUEFO9sIcSGbzCnYURFQ0KoMF44QHGnu4Ju0wMtINYuh49wuH%2Fqmcs9eSgUMtyHJcL0fD404ROUoMhV0oX%2FqWI1L5QHPiQAuDffnKPJ%2BREnIS7iP2DJIJqkOktrwbvai5zOMBXeMtUzXDd4eF7V59M2e825Bxxf6VxebWC1H3unY4Qhkhud8iL83xcxTBbkCETihe8OdsTGsSRm2yIle0Om9hwRSqwkF%2BQRDpjQN1QVf%2FmPmsZ03b9ogd7T2B98gk2lVhrJccXXGTNvEm2NkFiTm%2B6BNxzwg%2FXkT91mlb5hgrb4LyhSyM1wJGff6bv2lt45Agf4Im%2FDPsfbCi5pMxBCTM0BwpKDv29y%2FEea1WyO%2FoSyCt7Qr%2BCXjqwMZML3KPC%2Fhg5EZvo0Hv%2Br7FaXzM0bh1CIVqnKbsNq5aA5cImHRAiCOs%2BFGv7HUhnfNq4w004AEAvMWUrE7E0QGm%2F5bU5Fz0SFcDAfvuyuWOfwLq6SnYiry9Krm%2Fh2Ao7w5U9a68IDyJNC%2BjYp7sIwXwWE3DGsZTvdKc7kGVWcdBm1Y8WyuDSuxHSrwRd%2Fegb5KpqtyV0PKpUwKbIAejA5D6%2Bnn31yiTaJYyUl3dCgekOly1pq0wr%2BdjJ8B1HIJVhP41eMCnS0oJwP250XNxZqPQjlLDFaiItWu%2Bg1L5KBt11Ios2uzMmPiGTNQpBl992qmzrtR%2B6B%2Bu%2Fkq0OH1b%2FbwWTtjmDnnktl%2F81WcuS3gk5o3F9dWPSeywMPTXoTdjZ12gs1eXziOHxBO2aehu2a0w5hKjaGkkEK1ZDGnwYCrVWISt%2FfJpLA6tp02JENGdsFt3oq4Opc6u1uCzxnffCFEfOR9kO9e0nTeFETiib%2FhbPSWFO9jxh3L8n4fFpVHvr5Oe%2B%2B84b9ullpAOpopD0YdTQjPzek2LJi4uqUk2DhHQ4ghwIXXeHFT4GRSTNvZD4iCStVVn2u4bZZQlaREvVmDp6TbQxqxwDWgQJWP6%2BXrXSNs2prhI7WFeS%2FYOmCZixE%2Fnfdd5t%2FCOSLKwz2%2FQaOCaFQDAuj5a3FgfUrJQ35rcUmiGv%2BbnEvCnmYtDTYLV37DLilb%2BNZvsovx99zOwCDRop0aj717w41VMUU3Q%2FxJZBz3WNpkMsgHKKb7KdG9nc%2F6%2FMh7uHkdb2oOwpa5JqReCKKjPp3P9ue9vZtE4m3C%2FdOdfKgTRpZM%2FFGn7RQilxxE7JAa9Y1Mg3Zn19ionZrNsBHwAqu8AfogWScgprNlX6dvFQ8GQDuV3%2Bv3Mb9fYTe9lIsZL%2BMK%2BbWHj0kjWBxgs1ih13Fk9ZF0OWK6zH8NhOkmlKojf5R%2FaDk2uQRO38xoPt9%2BabDJ17x01eaiLNkTOAzYEu8N5DgB8WpyFBJEGHOLElBVbNVFZ7Zg4FxZOyJC7DaqL%2BevHCDY8IjGuWwKIc9DRYXHwEqn%2BGv9VqtQ4UG9zjpKp%2FdGF51I6hkof1CY%2BipZ511cpwToqLJDW5ia0Xkijwqy1i2sidbuQXt9yu%2Fd9spZHq61qrOoOPFAGBDWm%2FycplMjZivfz4jdlw%2B1P9ja0tYu7FlMjYIuyGTHFhaZuhGPfgO7Eh6Br5herDE5SFCeCeDFcCKNS6ZLxjpYm95YDVsE5zRG0xZMJIVHRqN5tUz7VYY%2Bl0E8DB4fvFJiFToAEqw3XU6GDQGxsadGdVZ5ceTsRMCxX8v0H0wlp1DcilSXx5c8zCburssEO0J0phgWUsdup6OkJBnRVPxRtZNAAiLXKN%2BPh9b7HYQf3J2%2FojIHfM5hwpSD35IHlnk5wJMYsTT4U9yyoQncfceKgAu1q6iW2sQqXLDThENfBdfhp8TNGVc4JBgpV3HeYUphw3vV%2FFM23dxw%2F3SfAOvpd5HLHckinic36Pfyef1TGBKzY6eHppNJYjZoeE3%2BM7yqafrBNg6m18DkaYgQKoiNuxcqZPvu01C49kKDY84i4wxOW9ka7dz2JDyjvtl6L8B1xgN4h9atXAvBqghAy9IdYgN9vaGG1zBIMJRsIIHODaqJroEmO5xRnL2SvEnD5ayf3jIRieXxqfb8c%2F2UXdaXLbSgz3zHeUDGf1eHeb2H%2FBNHhSCtvVttYTeUXHX96teJKKVUCPlR3LQJKdAL9l2mxh6QkqMNtyvZe0XvbCOmer%2FIeCqaCMmcFYcFXO6tUsefCAlyBAlJtxBmSBagxkpSTCfv2iFG0t6pe9jtY68lK8by%2FxS6dHXgMw4UfTCD6IA9Oj8VKMaH63pswYPH2XligfWu90J8lZ1hVNeeqIDfESAT7FKg6dZriIWh45ebPwv%2BdDCD9GMeV4DbdzRBqz8Alr8ctFr1e1%2BN41oodWkgO9iBraQqmNil2NwKJWWiV2RgDcr111B4x5inx1GZcAlQb23oc1DorBr34yTAkLz9VWiiBjvC8uMfR3WOJL71y4e2SenKsHvVCm1fxnyFD%2BUDk%2BOWUkwSaxpeVquxAafMFM42Bk7ba5g1sTXluiuknwoen2x2xdom7vXUDCEZSlwLcZcb%2FtB2sTftK2f086cbv4czxXwcPKhdIxSsYQUdcYn5ditiBUJytc61WBAszz9W9fUahDD%2BN5ftdc5HGjpcEzTLmEGpaD4GQ%2Fi1xj%2BSjqCzvoTL%2Fvvbe%2F%2BJc1j6FLO%2FdgGnDcxQ%2FauxRn7waTydRcwVJQTWQqPdkR6EaziR%2FhUcjBbrW30s66AVLTr67hhU1E5iH0gw3j903iIKJPTLML4RE9IPjj7PgOTsCV9AH9Xjxh9OUMVvBGGzLfOQBbm9tiz8JB3p%2F64olqtmB78McHs3ztBC81qhvMzW1WN6eaFUUkfoIKjWrx%2Fjhy5KIYodjZ787HJnP%2Bo8WshBfhm8vc3d2T43WVNBgE7mVTwowIp3xFk%2BcRR7jod4OeaIzjz%2B1icYCs0cS4tGFpwFVllztFeLdDE%2Bnu8Kz8W%2FwkdStlSqaoiLQCsjCrVd1j%2FT%2Fsyxuc7tU7eudmimAHV0Vo3hWuEtULduMsQ7KT92Dk30TYQLSKp%2FR6IFLRDTATPm0s5X2YKORvEXVxH3fkG8eQff9xYdbY2nbhzj59QqFoxe8LojyN2WcrYZEV3Z%2BWJQJsvAeBIaSWYqACJhIVGtdN%2B9JVby%2FrEDhpSCV2A%2Ba4YA1OEGVJBClTsfREBeHpx9HZ7h3zHc6yULzb7SWXasCtN3NRrZDCszpUgXA64Ah9hCvc7bAjpMjznSc664JODRSaMscRfJ6%2FVtrXPWP0hmk8xDlIveswQ6b6yRwOUnMOiQw5CWoumdbUf8FM3f9ZaRucNJdzcvc0nqiwuCVWdzDux2R0e1XYm%2FXDOK5GGEHDLIkMqOuJAb4jBV9VCClcI3TUjZOiswBhFDJa%2BGktnrrknseWGZvyWEkOBeKL0sR5fwvuEFlLnVGkbvG86Z2xsWFYI55f3OQme%2B5b1xD%2BwrVfpJIfvy9TpTXb0HjVYRugRubYO8D5djHX8q%2Ba5p%2By0rcQIAyG%2BE1JNV9nnJLXCLb4SgnuLOYAfpaHn3l6ebkty02B5hBAHCbbzRzY2S1O0vk28IDSJdlYcaY1TzSzckVPJhxAXsy0f2xWwMIkCI1GvjITJ5s3hpe3dyIq2LOM0svtu%2BNECt9WLlkEE2nrDTk5rSmIMEf1hDWFAeOm5C7Yagm2ydVWKCzChgoIzznHElILd9oNuasnp5BU5ta9Ncjzov%2Bk9S8KIIKF6EJuxbf9SUA9WIGJ45i4Hur2UTukDJdsYY3sBWasMyaoyerEmJAt6xGW%2FgqQGx%2BiBb%2FSBrL5IVJx5p02EPjlFg8fYny3N84vWXcQtSNKGv4U9FKih3ar1f4%2FXutRsj2PIWlXCnMcsEdzbaHCZxdvi612XTbVvf8saxM%2Ba6FuqoIT4GhNSq8vBc4oD2Ekr8Y8LmPFWx0trEFtqJq6Bh%2F3YQpH8uUZRcaw1cddJhLIbCqp3q0gox8hUGGJ0ccFhyVT95HuOG%2FZy7ZkT17V4hfL4pL84X5DsoLd%2ByQC7zi9Vq2rb65bPlLboX0b0IlO6xkibY6KggXQALrxYia2lN0jG2DMZkNXppmT31UXgNQoAhKtH8z%2BHCRMLQY1BKkC%2B2QuwUMZQmzWkmMoAJpNGcJX3yz4hN1btp0vExzS9xyiQ6fmA7l23u8mHokWVBltVBJxLkq4nY7ESr1uiu2rTyaK0Gvb9HkXqiKV3ak15UlJyrtSfduUJbsKHlXLj2W%2B2g5YzV9PHR6Wcsk%2B%2Ft4TZHBZWMwKsZWRInevE6oBLbx%2BUUYyO%2BWclyf6bXOqQKTPOxrvoWV7Xybz%2F%2FioP9mWNnZLZg%2BewJDbgZUGHPoSnkRFb1wgdDGCGqlh5dbjxazL4htXJ32bGyYRkw13Q%2BA6wuBFpFNa5RchJ8GcElcbN0DGWi9ZMFuvQVHg7suRl57%2BUwJ07tvjPBP97iQ9UhaKqDJx21%2B8OaJR4rHI6BHcZVgUl9nD8G66DhORZe2BsmJ2tR34vQAXVhg2exAToRyxTwRK5myb5m%2Bwr3eZE6YhR77Lp91vVQhPcBm7vodA7h6RLhBrxx%2BjC%2Biritc08tFAux59LJ5SgKSrb%2BnYuY2Hbtm6YN%2B2gEOO1bfQY4ifG%2BbbVcSowQGvKZpo5rnHgBpxs3dZaFGZSazLs70QDK201outxa9q9JrddeZUKJnZWvr%2FOm%2BinR7d8alL1r5%2Bu1ZhSNfza3eFOm4Wz%2F8CGwNR93r3tEAWJI895qlbtM8iBE6qSxIekgVlr9C%2BoxuB5zYbP4roljDgJXWCwXTHq%2FwEFY5Mfu%2FpGDD%2FWV8sT0jl0BB71AyivelD28pbK9gTa%2B%2BxvavSqo6Tn4FO5GETL1M7ZwRrGVkvim17IM5amlibro%2BS7NdBcUKBCI2Ary2sSAqmEeHRVfS018%2BHXqusmVjqTxsEFAcwzkK9%2Bn0cfWhFSq5olKmdU3kGSDZenVSzoOzrAGGPLIz1qvPW3Fn8oOx0CgnpXR6FR%2FNgplrRZ4yXGLz3nwap%2FCASpxkVOLqiHZYq91AHb%2FAh1fCB8CXs9YUdBSfDglM7dyvmqmdS0abOqOeKKBbHIXe0%2BVtiHROApdGy4vWBwM%2B%2B664K3ThnueXnkDni4uBXyh5KybSCVi35xpc4WWJwVYKVsnrzc32dEblIt6QdZCFxixc%2Fy1fsBj95b9ohMs9IQUGrfqhW%2BSWipO5ozGdUQof%2BI%2BrtjwHYpR%2B2l44H%2F4blOa6SFy57wEpvKwtjdAAwYR6i1I8LLw9orXk6pzSnfK87wFn%2BbwQ0bSuXu8x4swLuQNR3bLAtJyMi5ollHazMFkkvzCNGiCTUGc67w2G0CEYot1TL%2BB3%2FXGUP%2Bj%2FGJ0ZPhyYDu%2FEX0g%2FjK9yW9GC1K7oGEuJl4iTgAJ7vpHgy0X4M%2FzNyPZrnQ07T4iPVCG%2BytGg257JXzaZeppI7GvtCyECxFHdrp7PKgpwwqDf2WPcYcvB0zF5pFU49w4%2BNLg%2FfDO1%2B%2BUOo7Ou6fR2C4X2pWcCac36O0rZB%2BqnlbwVwpaETwm1QLhSZtbQNZQsjeaoqDup%2FfgW4poBuTrj63Q0M7m4TVk1TCCkhJlGw8W90Ly18vVUKd%2Bw74ph%2B%2FQoJkGzCHHKkc2cwyxsz1SnMhYdICknzN4RaoS0Yjv1VUa%2BWmabcnpxyOT8n1XASf3pW4rGhDiKaqpO2sXIG%2BXSoeGH0JIPJQYI7573gJMwPa3ScElk0p1%2BWdR4egJk7t3LDGqUPsbVlHuHLMls6NDd6OoFagv%2BtNc7QiyozsN3Eep4bq0inTEdWvU8YXBd0WyolsqrZuYN58AFtCLrKdSINrOIW1iiJk%2BXOnJJFMge0VU6yWCiHZejKRTEY%2F7TGaQh5QJZImmKGe5r6LhCStoMtvzH4GN7daMp2NdDSaxVcxlWuu%2Bah9aLByHgkVILsqeRaRBHj1e5kpag%2FnJ3%2B9L4cmpVyGB7h%2BhtpRhV1x3MdXpMI6W4ZyE2Yx97%2FMY7A%2FOwR80BXtZJB%2BUvQ3KmROYejTWjJy1bKVy50Z1o7s09I4%2B7evpby7nEZ2ed7KOImGEpUms2vxinS5dBEBzyRZPqAmehJR0T6VgoN8gFDgU3shfjmkJrzFgZ%2FPhSbbD2MsNOZ8xfh70GOJ3RvVjcWKjnkvt8r1EHbD5r6wSuahgFsIoGq8Yc6iUzcC9Q45NzdqXZ7%2BRlHiy4liaDvdah4EZ6zqhKI9WQd3jPV%2BhMw6AxwIkfBClVuk7GuVxcAYVSZaLEPTCVNxunR40LzZL5c9%2FXINxxSjwtkn7EhUKud60p3NtILzk5hUeSeQE6QYMsqmX5t%2FcbedsnOoqQ9S5o9scXhiHuC07aPpXqeWGOojCcBbN6WAYZ19cMS3E%2F%2FN3boApmO0EAWs3t7Wwok7t3s%2Ff2RaW0HzFKk68HWyyxzJQk8h2FIMx98HCrU%2FafEb37SL7ZkYiYPivB6hNnKECB%2B%2BfFfEJUetiR12ItYNnbmk3cAaeX3PIpzZ2jHfadDiIKbkuseUrJx058Fr%2BzjTh95Z%2FMewG0%2B1OxphPncFN1FwL5lSKwMpYHocMQAKa21a%2BvcYYQV1mapEor4d%2B0L2LfcOb8EZoSJyYvXD74kKK1VVNJo0yjoBNEmSxXl3Hn2kj8ZUrm%2BaZJKgvGnr4vNebXX1et3N0ytVLiKIhgfxu17bmZ3OnPyWu1Lj%2FJn4PRmca2pkgby9jZFFo%2FC9ChnxcTMOO2WkGtui42jyJMlJXjabWxEPs6gyjPGU%2BcmOH0iDf5%2Bskw%2F5H%2BooXKeaYp8ZHx%2B%2Byp%2FHY1qJ5qrzfMYMBqiWFn45EiH0xpeeGyplRF29HA7vxwRdBXgFwVt6ktAOGRnUY1Xwzp%2BKH8hKFT8weWlmwXUluqg3yF6ctrMkbU67K529FUGD9WORNOGfY7WFnO%2Fq7UpEDsm1OTA4blPoggxykwTLaM%2BfSQDugR%2B5YQKcFNZLue%2Fc0D2HcOl%2BMnlbJv5s7o6uaz59sRb6eALpYiSe895BWifR98oRwDGSxYNVUEjt0qYldBtyQehB7F%2B1upge2T1REfjNIhlHTJkHLOodqWxIoXnG%2Fi1PuI39ppvi1tuu%2BRxhF84fgt1t95iTG3DXkk2SVklxEIALugu2nQl%2FlvhzHQRjo9tHctEg%2BFro2Lu3CQ6ieui8P6ZU8OOoND6YD%2FGsl%2BA4A6vp89VINmDeVoBgwoGcDbekd%2BEH4h67azkl810eqthw9zDLZ2QkTeZaVDNZt9UjLcGCgQsZ4ANjDZCQ0KkgjAUyPT7HeXIuF3a4L%2BkdNHRYfgWpMAJLDL3NGLCnHArIgW79kDe6DEmOAojoS%2F5XyVcVh%2F9%2FHmXTsYaxUSrHY1u0ovAfUgDhJkHaP1vwtxG4PPOXhNhZwHIE4XKg5Dw3gsldAL2OmPIkGA7wWn9Qd8FZOanozbdPR50OuqrmQipx6dQ8Qjl5%2FQXXRKNH4EZmC34du%2BP8ve%2Bb1n%2B0%2BHmXqE3LtAEUkVBjntjGjstF%2FzVINmO9vBM5hLhUhP0k1Du6%2FolIFvnwKvQbzK67uX8xdJs20iD0Cpjy4CsRwUie8IIZnKzO3Nx%2FxaSM5Lh%2FkBIKByHVjANLYR0r9ENlJLCabM3VyToH2CUGyFxtKy5mGFG4TFPmfGbSybAOaKOm2xRm15ouOqEIgaETRDeTXGvThS%2F92vCimOCIUym6SLs8SXNXxhnsw1vz6IEjB3HFPdbefX04Gv4ywRMH%2FFJyY1Sg6bu6oVAX4TbiP27gR2a1xH25je%2BRW15c4Ug7AVdyG3sOc0xjEImRXDl3ztVoTqQ0GidtWkgYNuwMR06pFO%2BBBR2%2FOVqX7wY5yHYJgDn1YSTfqNF%2Bag2UjWm8CBYhrTbLHI%2FVQtNKPtbktKcVYfLMI2uHL0MbjXcTekC4KAPGkHhQEbENY%2BELTemWkbQkqe4jZWrJ5bMoaOEb3c%2FprG6OBv1uGKb9yRhdES8SWGbrG%2BxkBDqDEO63ovrZ2KlKxQb7CGiDmVuiuVqhs8A%2FvR%2B%2Bar78xa8uRkHxjZY7J80LSy6kpKY3QwOe1%2BAV%2Fm5k0j8KwiJqlUbtKC7uxwMAOPgTovjKrh958w7DVy1wn5SyAP8rZcLIh2bJ2zVX8Ctv%2BmMKjXqO%2Bsh8Sr%2BdbWtDgF2pV4bqVPIRWWgC9Um2VtJTzUz5oluNFyQ0zpqaPKs4CgDA0KxbXMt3weywR2r2ePrV6%2F4bDj90z%2B%2BO08KvNJA6HWD5GQ7d6PS3VAUXJziWf3ijnD68hmc3G%2BG9hheQlZA2BOcJCJa4Xp5XDI7Rbmk1LvX1hKAt%2BwTAdKpIPLjINpKekxuIRdQmK0837SOxtS3iz1bBKsvPSulPxGtMyjC98iB8YtHnP4vQTJwCd7VRZkO7Y7fffmbkJrG4V4s%2FnX2mWaKvgrzXSSNcDWYW%2BVJ55LLqmHp1hwQePaf9v1ZF1FNMujLJqwQ%2Ber0u9V3E0hoim8%2F3b6tmfPHcD6D%2BFtKmigWvROpnaFSZZaZ4dREvwzS5oZ4wIJaCH%2FdQQG4eO37RKhODpOCVhzLFJvSQscFSRYsXEvlhI%2BIuQhmIfCORXZz%2BMJbqfSSYRRWgYZ9Fe6OWSkQRYBrAqMlu1d7k07qk8Qk2hJ5k7Y0i3irWjWnmUJ1g4gaWz9GQXmtcjoCzdTLGnOAMS7XYfUCiAo6Bmg%2FTrSmc0WPOq84MCm7%2BYwYGuWTrh7y0yYnLRZjOfFsP8d9gKPY55Gvk2ywrwsARCH4TnsL6hH0nZlX1NbHFyhrpN2o%2B8Bl4jqRmoc%2BZphrbljXhwIQXeZI5Xu3YjhGT3cEfn%2FocF12MhH%2FaJOgQq7G7lbyci5xfHB7cu6YCgipJ1%2FKzamKTmPNUBF9iG3XhbB9WpBYCqXRBwMcPxJ0KTqSKH5sPOhSM4aIO9pEQGcf6npVXGrB3rbxrri54h6MQrz6A%2Bv6SXnXqSjRmiHLdwI7Qbxawe2MAi4f9RQFVEyhrMNpwpdUqVRlzoJJduXKtzhgvhLksv63aVv9l7Ed6ECxiN50aZE5tODPhzeiJ8gcjj9NrfW5j0xV7fjWwY4UnQ6vyh3%2B5v9CV1gRfP%2B9shR%2BQLpsxlc61xg4nge%2Fe085ZD%2BiM%2BVuoQniZaF3fjE847qLLkqVqgZu0S8kwzMLYRDMJhPzNmCUjIJyx0gXRuBlmhkUKBFwo0ZVS9rno7XColJlxSOhKq%2BOE2lMn9TXKHcWq6jtCIuLv999CNJBXzCr%2B4Y2c%2FiuBjWDpvQMAS6btbA9jCA4dkR5YVCmB45OK5kdv1k0jus%2FgE1tsPlOu6LjcvlpIWvJgBppWjsUbGmkozM06uiWIHjKX327RFbnd7f41ljLU6FwVCSvb7LV5qPd5TOa%2FQwFzNZYgc0n37dJwKMkb1T%2F1senx90Ja9S5MM4xXnga1cPqxKUBw0ol%2Baz7ulDZzGVcWx1poyLwVDOmcwGLAnecMijG8rsm%2BLKD1t1WEeUpfxUsXbqzUslqJOobtA2sfje00u8e%2Batm5AHtem1MaP4XjD5yazxzkgR4%2BW%2Bo0Tos3N31%2F5AIPZr0jXx4Y23xTUmW2C7e0jb5%2BruP4EEkrlYNQAKcCpwXJAosjyHL3RwUXBe12z89uvJT9cSSu2fVPLbwcdjYy8l8aVFuGXjc2Y%2FSJd%2BpZD9xew1OmCjv00M%2F839OymuuLcMjWOmq439pyrPxuk1s68kCATYh7YEB1I02dl7cchD1KkiXeyBWJMZHqwQ4E5rnIYF2NdZ%2BVtlBnjWRvkqWJ3%2BoayPn9wDu7d0RRhpt4WlXMh%2F1nS97%2BEpDFZKVfRaMGgZ4UTLQLxSPqmnkS0TB4IUN5EmGkqkO9fJeNaaa6%2BoP7Zs0%2BXvdiYw5vdl3T%2FZGNBuNleJcb5%2F5sJZ1uKqkeFGMMCQbuPHEB1fCmG%2Bg6C%2BpqK0qDilCn%2BHi%2FxfzFyXdaHd5Ysz8W2JRDqsQy3KKM58rrQS3nOz1TCVp3CPL1Ua4tgPUap7%2BtX3pwr2cCDreduEJe6P9dCaib%2FqkLTc8v12AVq1VQOYB7xgJgkTzaf9Qtfgx8gw5lANz7XKu7c87IDwfS8%2BL2w8UDUTWWzLRCuIhCwa4EaoUSiiMXE7X8Srf3aDF4p6xEn1A3OhpuK%2BMPE1TqpOoKOy45E%2BvItKTTb4Xe%2F6YDiRYNMWhIlS7tkNQ911Bvj%2BpH8DnxPr3SbPBPYU1qqPUdozc9%2F15zAfoIeK7RMINGGIS1E8%2FgARk%2FdfGbDHN2RPdmakz6J8zTELM%2BalzMCAx6lgOfrEp2Q8FFteLN8smm4EPjr%2FdRXp9rasrCEpl0dbqEoBp48bJ3b8dLWhflOHkXkYWftOeKsKRNMXP2tZrCF5M7XAm51CCAnS%2FBaRcS8OavHKy7bVfviEWVTixukKzC2WXzCG5mi1ZNjSLNjxWweSZsC%2BdlwITinzicpSr56WLoU18QuZj3IAo%2FCfVORhyU40biw8jcNgyMJthStgOj3fTN5bRgeE7OCQDOYuZX9jCUvueQKROuStQ6Fsa7KRL9j72SUir7RKQbKgS36HQdiawb2lNyz5elkvqqYKpbgndUz3s7fh%2Ffu9FW6g%2FBcPoBZuCrwMCsUERXqijmK8g9RKdEoy%2FZt617qjvfDdP417FGq5tsH5RFmIEw2QGMU5y3siX5ur5otPbJHZPnZe5X%2FDjQWG5JtgtOBezWCP1Fs9azqsMvypo6o1LYgI0N9OMczhs1sgteylgEvnesckCTHlpuJ7rox4cs2tmt%2FbiK4mcHFqLw%2F9CC3IisX7Epcpwxa7FBPxk1h2SvFtcxGEE7woajzmMZqVSBS5sJKtdPJz81ac7skmoEPjF%2FBw3wsuAD2YZOrGJEZpxdXCVGdCfy3pXLsWgYC3E7m5SG%2FDDxaSl9Gokx%2FDFXC%2BnsbVQLWq5SGNBMH4CgJjWn37cA9EfGaKTVz2ObmitM6yYVTH%2BfMviMDDeuZoj1ED%2BLWi2ZvX5rJ1gmp%2FLTiYkW0ganzGgUdAnq4Z9qxZ0LTmSoyViCvpA%2F8PqU%2F6Qt2ZbPN%2Bh%2Blc%2F5TA9L3Pj6KbiTkYCqjHb9OuD6es%2FnU06kyav7bs%2B%2BfD7TIAwjFRPgMLfEw%2F99%2BPmLs%2BUPluxyniAd2lMxyhsrTpJdk%2F53kosAfqRBOnK0LWB%2B0ME6ysnIb2l0q5Gl5tocRptJJ9hO7Q5upFy9fTqkrh%2FpyIqxaAfue1treBIHHrcXsBi6LINCAQ%2B8c%2F4aKotYjtqB%2FmeCvNuqPvRfCZ0CxFsnVBmXF5dIh5%2FcYUAANw1HYXjIftpvR2esvj1UjfWUShhtTUyblzm9kD%2BqjCGH9XZLQ91zawHoY%2Bpy5cvrONmsv98tZm5Kp5UMUVfan9onuypL0OLlJnESswiYNd2qLdvMvrfw6VFGC1NNS3NlrGGFWT%2F%2Fw6bhxLxMIiw%2Bcc2qW3Lk2ITTaguwVRybQn8V7WC%2FnbdUJ%2BFnLE5M%2BWSR1h13IWvxSKM3sXAFtZxz9JEMkyyPLYdVHL90D%2B3i%2FRxT0i5Y%2BKghFOJOM2UhSP5%2FiTFpUpTfZYNlq93dWGdkNqO2KlcdFjhw4vyOKwDSD0xWlheVJ4zGCfcpiEV1P%2BNdJxB1DzWsj94Afu3oS4I%2BQItCJTviOKfy2sH5PSRIgGgOnCITylU5v%2Fl5xTkwNDc6OEoq5Ri6HuC4ircbiW2qQY%2B28U455Z4pbUa6khlCGWD1sdOEiG8jspnfQWlkguspWZgEWiQ4h2vwa5ZlI9rHxKhnepxY608faO9grvRK9IEFxMvxJfd6%2Brn4RAObdUGhOEu5%2BnhuTcDAxibx7%2FDkNXUxNhtpOomVxZVp%2By4pM2ZGllB8ly1stqygQmtYKA69Z1MtK7DASsCIvs3tugEAnfg0GPYgDOkHaNPomubWxmFSUfKjrByX7t%2FT0AGHxuoxfbMQTyEJVWmt%2BUw4aG4krfiDRPQnKElYS3Kb5YLEuDEILkWkCV%2FkrxLYkj9MuPaLWwOc2RU4INpnhDL9PjbviK%2BqR145%2Bo93HElQHJ6BlkEj63AUicJChy9MKNJjeFpv%2FlxeNYqlMbMQa0Q8lEcqG%2BYtvfQW8s4L8b5NFLGSXJPO5L94OHnfehtC5FrpfE32wvvnEob7OPW9EGPq3DpCYe0uU6WfOeZmdNAhuElWnAaYCMuJjowj%2Bjp8Clpu5R94pf1HYhhwikQvJg%3D%3D&&__EVENTARGUMENT=" + pageNo; conn.getOutputStream().write(body.getBytes()); byte[] buff = new byte[62768]; int count; ByteArrayOutputStream out = new ByteArrayOutputStream(62768); InputStream in = conn.getInputStream(); while((count = in.read(buff)) != -1) { out.write(buff, 0, count); } conn.disconnect(); return out.toString("UTF-8"); } 是不是body有问题: Exception in thread "main" java.io.FileNotFoundException: http://ggzy.jiangxi.gov.cn/jxzbw/EpointSecurityError.aspx?ErrorType=CSRF&ErrorMsg=Cookie%ef%bc%9aNo+CSRF+cookie+supplied.URL%ef%bc%9a%2fjxzbw%2fjyxx%2f002004%2f002004001%2fMoreInfo.aspx%3fCategoryNum%3d002004001 at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1835) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440) at zfcg.ztb.JxztbActivity.getListData(JxztbActivity.java:127) at zfcg.ztb.JxztbActivity.ListData(JxztbActivity.java:68) at zfcg.ztb.JxztbActivity.main(JxztbActivity.java:30)

如何使join语句的结果成为新表

<div class="post-text" itemprop="text"> <p>I have the following mysql query. How can i make the result of the query be a new table;</p> <pre><code>SELECT t1.referree AS LEVEL1, t2.referree AS LEVEL2, t3.referree AS LEVEL3, t4.referree AS LEVEL4, t5.referree AS LEVEL5, t6.referree AS LEVEL6, t7.referree AS LEVEL7, t8.referree AS LEVEL8, t9.referree AS LEVEL9, t10.referree LEVEL10, t11.referree AS LEVEL11 FROM referrals AS t1 LEFT JOIN referrals AS t2 ON t2.referrer = t1.referree LEFT JOIN referrals AS t3 ON t3.referrer = t2.referree LEFT JOIN referrals AS t4 ON t4.referrer = t3.referree LEFT JOIN referrals AS t5 ON t5.referrer = t4.referree LEFT JOIN referrals AS t6 ON t6.referrer = t5.referree LEFT JOIN referrals AS t7 ON t7.referrer = t6.referree LEFT JOIN referrals AS t8 ON t8.referrer = t7.referree LEFT JOIN referrals AS t9 ON t9.referrer = t8.referree LEFT JOIN referrals AS t10 ON t10.referrer = t9.referree LEFT JOIN referrals AS t11 ON t11.referrer = t10.referree WHERE t1.referrer ='2')); </code></pre> </div>

从表中选择不存在另一个表mysql php

<div class="post-text" itemprop="text"> <p><a href="http://sqlfiddle.com/#!9/c864c4/6" rel="nofollow">SQL FIDDLE</a></p> <p>I want to select from a few table only if they dont exist in another table my select query is like this</p> <pre><code>SELECT * ,t1.pin AS table1_pin ,t3.pin AS table2_pin ,t6.pin AS table3_pin ,t9.pin AS table4_pin ,t2.tin AS table1_tin ,t2.first_name AS table1_firstname ,t2.last_name AS table1_lastname ,t2.middle_name AS table1_middlename ,t2.suffix AS table1_suffix ,t5.tin AS table2_tin ,t5.first_name AS table2_firstname ,t5.last_name AS table2_lastname ,t5.middle_name AS table2_middlename ,t5.suffix AS table2_suffix ,t8.tin AS table3_tin ,t8.first_name AS table3_firstname ,t8.last_name AS table3_lastname ,t8.middle_name AS table3_middlename ,t8.suffix AS table3_suffix ,t10.tin AS table4_tin ,t10.first_name AS table4_firstname ,t10.last_name AS table4_lastname ,t10.middle_name AS table4_middlename ,t10.suffix AS table4_suffix ,t1.effectivity_qtr AS table1qtr ,t1.effectivity_year AS table1year ,t4.effectivity_qtr AS table2qtr ,t4.effectivity_year AS table2year ,t7.effectivity_qtr AS table3qtr ,t7.effectivity_year AS table3year ,t9.effectivity_qtr AS table4qtr ,t9.effectivity_year AS table4year FROM table1 AS t1 LEFT JOIN table1_ AS t2 ON t1.pin = t2.pin AND t1.status = t2.status LEFT JOIN table2 AS t3 ON t1.pin= t3.table2_pin AND t1.status = t3.status LEFT JOIN table2_ AS t4 ON t3.pin = t4.pin AND t3.status = t4.status LEFT JOIN table2__ AS t5 ON t3.pin = t5.pin AND t3.status = t5.status LEFT JOIN table3 AS t6 ON t1.pin = t6.table3_pin AND t1.status = t6.status LEFT JOIN table3__ AS t7 ON t6.pin = t7.pin AND t6.status = t7.status LEFT JOIN table3_ AS t8 ON t6.pin = t8.pin AND t6.status = t8.status LEFT JOIN table4 AS t9 ON t1.pin = t9.pin AND t1.status = t9.status LEFT JOIN table4_ AS t10 ON t1.pin = t10.pin AND t1.status = t10.status WHERE t1.pin LIKE '%1%' AND NOT EXISTS ( SELECT * FROM tablep1 AS tp1 WHERE ( tp1.pin = t1.pin AND tp1.year = t1.effectivity_year) OR (tp1.pin = t4.pin AND tp1.year = t4.effectivity_year) OR (tp1.pin = t7.pin AND tp1.year = t7.effectivity_year) OR (tp1.pin = t9.pin AND tp1.year = t9.effectivity_year)) AND t1.status = 'Active' </code></pre> <p>I just want to select from <code>table tables</code> only if the pin number is not present in <code>tablep1 table</code></p> <p>Any suggestion is appreciated</p> </div>

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

一文带你入门Java Stream流,太强了

两个星期以前,就有读者强烈要求我写一篇 Java Stream 流的文章,我说市面上不是已经有很多了吗,结果你猜他怎么说:“就想看你写的啊!”你看你看,多么苍白的喜欢啊。那就“勉为其难”写一篇吧,嘻嘻。 单从“Stream”这个单词上来看,它似乎和 java.io 包下的 InputStream 和 OutputStream 有些关系。实际上呢,没毛关系。Java 8 新增的 Stream 是为...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

立即提问
相关内容推荐