Convert proxy to golang
This commit is contained in:
parent
499771ee10
commit
58ebbe7b27
16 changed files with 870 additions and 3282 deletions
BIN
.DS_Store
vendored
Normal file
BIN
.DS_Store
vendored
Normal file
Binary file not shown.
23
.gitignore
vendored
23
.gitignore
vendored
|
@ -1,24 +1 @@
|
||||||
# Standard Node.js gitignore.
|
|
||||||
node_modules/
|
|
||||||
jspm_packages/
|
|
||||||
build/Release
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
.env
|
|
||||||
.env.test
|
|
||||||
dist
|
|
||||||
|
|
||||||
# Standard JetBrains gitignore.
|
|
||||||
.idea
|
.idea
|
||||||
|
|
||||||
# Ignore compiled TypeScript files.
|
|
||||||
*.js
|
|
26
README.md
26
README.md
|
@ -14,21 +14,15 @@ A simple proxy server created for [Postwoman](https://github.com/liyasthomas/pos
|
||||||
## Demo 🚀
|
## Demo 🚀
|
||||||
[https://postwoman.io](https://postwoman.io)
|
[https://postwoman.io](https://postwoman.io)
|
||||||
|
|
||||||
## Usage 💡
|
## Building
|
||||||
1. [Clone this repo](https://help.github.com/en/articles/cloning-a-repository) with git.
|
*These build scripts are for macOS/Linux systems. Currently, Windows build scripts have not yet been created.*
|
||||||
2. Install dependencies by running `npm install` within the directory that you cloned (probably `postwoman-proxy`).
|
|
||||||
3. Compile the TypeScript code with `npm run build`.
|
|
||||||
4. Start the production server with `npm start`.
|
|
||||||
|
|
||||||
#### Or with [pm2](https://pm2.io/):
|
- For *NIX (Linux/macOS) systems:
|
||||||
1. [Clone this repo](https://help.github.com/en/articles/cloning-a-repository) with git.
|
```bash
|
||||||
2. Install dependencies by running `npm install` within the directory that you cloned (probably `postwoman-proxy`).
|
$ ./build.sh unix
|
||||||
3. Compile the TypeScript code with `npm run build`.
|
```
|
||||||
4. Start the pm2 process with `pm2 start`.
|
|
||||||
|
|
||||||
## Developing 👷
|
- For Windows systems:
|
||||||
|
```bash
|
||||||
1. [Clone this repo](https://help.github.com/en/articles/cloning-a-repository) with git.
|
$ ./build.sh win32
|
||||||
2. Install dependencies by running `npm install` within the directory that you cloned (probably `postwoman-proxy`).
|
```
|
||||||
3. Start the development server with `npm run dev`.
|
|
||||||
4. Set the proxy URL in Postwoman to the URL that is logged when you run the proxy.
|
|
26
build.sh
Executable file
26
build.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "Usage: $0 <unix|win32>"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Collect parameters.
|
||||||
|
PLATFORM="$1"
|
||||||
|
|
||||||
|
# Remove all legacy icons.
|
||||||
|
[ -f icons/icon_unix.go ] && rm icons/icon_unix.go
|
||||||
|
[ -f icons/icon_win.go ] && rm icons/icon_win.go
|
||||||
|
|
||||||
|
# Build the icon for the appropriate platform.
|
||||||
|
if [ "$PLATFORM" == "unix" ]; then
|
||||||
|
cat "icons/icon.png" | go run github.com/cratonica/2goarray Data icon >> icons/icon_unix.go
|
||||||
|
elif [ "$PLATFORM" == "win32" ]; then
|
||||||
|
cat "icons/icon.ico" | go run github.com/cratonica/2goarray Data icon >> icons/icon_win.go
|
||||||
|
else
|
||||||
|
echo "Unknown platform: $1"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
go run main.go
|
||||||
|
|
11
config.json
11
config.json
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"port": 9151,
|
|
||||||
|
|
||||||
"allowedOrigins": [
|
|
||||||
"https://postwoman.io",
|
|
||||||
"http://postwoman.local",
|
|
||||||
"https://localhost",
|
|
||||||
"http://localhost",
|
|
||||||
"http://127.0.0.1"
|
|
||||||
]
|
|
||||||
}
|
|
16
go.mod
Normal file
16
go.mod
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
module postwoman.io/proxy
|
||||||
|
|
||||||
|
go 1.12
|
||||||
|
|
||||||
|
require (
|
||||||
|
fyne.io/fyne v1.1.2
|
||||||
|
github.com/atotto/clipboard v0.1.2
|
||||||
|
github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa // indirect
|
||||||
|
github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb // indirect
|
||||||
|
github.com/gen2brain/dlgs v0.0.0-20191023125645-8832682fb7f8 // indirect
|
||||||
|
github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306
|
||||||
|
github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3
|
||||||
|
github.com/martinlindhe/notify v0.0.0-20181008203735-20632c9a275a
|
||||||
|
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4
|
||||||
|
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 // indirect
|
||||||
|
)
|
63
go.sum
Normal file
63
go.sum
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
fyne.io/fyne v1.1.2/go.mod h1:ukZVsvlHO29NK4HARH2B4rqgVqgx6WbtWKfEUOz4ZNo=
|
||||||
|
github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9/go.mod h1:7uhhqiBaR4CpN0k9rMjOtjpcfGd6DG2m04zQxKnWQ0I=
|
||||||
|
github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
|
||||||
|
github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY=
|
||||||
|
github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
|
||||||
|
github.com/cratonica/2goarray v0.0.0-20190331194516-514510793eaa/go.mod h1:6Arca19mRx58CA7OWEd7Wu1NpC1rd3uDnNs6s1pj/DI=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb h1:6S+TKObz6+Io2c8IOkcbK4Sz7nj6RpEVU7TkvmsZZcw=
|
||||||
|
github.com/deckarep/gosx-notifier v0.0.0-20180201035817-e127226297fb/go.mod h1:wf3nKtOnQqCp7kp9xB7hHnNlZ6m3NoiOxjrB9hFRq4Y=
|
||||||
|
github.com/gen2brain/dlgs v0.0.0-20191023125645-8832682fb7f8/go.mod h1:/eFcjDXaU2THSOOqLxOPETIbHETnamk8FA/hMjhg/gU=
|
||||||
|
github.com/getlantern/context v0.0.0-20190109183933-c447772a6520 h1:NRUJuo3v3WGC/g5YiyF790gut6oQr5f3FBI88Wv0dx4=
|
||||||
|
github.com/getlantern/context v0.0.0-20190109183933-c447772a6520/go.mod h1:L+mq6/vvYHKjCX2oez0CgEAJmbq1fbb/oNJIWQkBybY=
|
||||||
|
github.com/getlantern/errors v0.0.0-20190325191628-abdb3e3e36f7 h1:6uJ+sZ/e03gkbqZ0kUG6mfKoqDb4XMAzMIwlajq19So=
|
||||||
|
github.com/getlantern/errors v0.0.0-20190325191628-abdb3e3e36f7/go.mod h1:l+xpFBrCtDLpK9qNjxs+cHU6+BAdlBaxHqikB6Lku3A=
|
||||||
|
github.com/getlantern/golog v0.0.0-20190830074920-4ef2e798c2d7 h1:guBYzEaLz0Vfc/jv0czrr2z7qyzTOGC9hiQ0VC+hKjk=
|
||||||
|
github.com/getlantern/golog v0.0.0-20190830074920-4ef2e798c2d7/go.mod h1:zx/1xUUeYPy3Pcmet8OSXLbF47l+3y6hIPpyLWoR9oc=
|
||||||
|
github.com/getlantern/hex v0.0.0-20190417191902-c6586a6fe0b7 h1:micT5vkcr9tOVk1FiH8SWKID8ultN44Z+yzd2y/Vyb0=
|
||||||
|
github.com/getlantern/hex v0.0.0-20190417191902-c6586a6fe0b7/go.mod h1:dD3CgOrwlzca8ed61CsZouQS5h5jIzkK9ZWrTcf0s+o=
|
||||||
|
github.com/getlantern/hidden v0.0.0-20190325191715-f02dbb02be55 h1:XYzSdCbkzOC0FDNrgJqGRo8PCMFOBFL9py72DRs7bmc=
|
||||||
|
github.com/getlantern/hidden v0.0.0-20190325191715-f02dbb02be55/go.mod h1:6mmzY2kW1TOOrVy+r41Za2MxXM+hhqTtY3oBKd2AgFA=
|
||||||
|
github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f h1:wrYrQttPS8FHIRSlsrcuKazukx/xqO/PpLZzZXsF+EA=
|
||||||
|
github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA=
|
||||||
|
github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306 h1:E2nuJCbj40KrULBPU5oymEkfdb1LUR2nZuP0XMW/geY=
|
||||||
|
github.com/getlantern/systray v0.0.0-20191206015929-6658a36a3306/go.mod h1:4yRvwNSBNJtSOi3dRLNxhG40wXg9nEwdDjX2IrGZJo8=
|
||||||
|
github.com/go-gl/gl v0.0.0-20181026044259-55b76b7df9d2/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||||
|
github.com/go-gl/glfw v0.0.0-20181213070059-819e8ce5125f/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||||
|
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
||||||
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
|
github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff/go.mod h1:wfqRWLHRBsRgkp5dmbG56SA0DmVtwrF5N3oPdI8t+Aw=
|
||||||
|
github.com/jackmordaunt/icns v0.0.0-20181231085925-4f16af745526/go.mod h1:UQkeMHVoNcyXYq9otUupF7/h/2tmHlhrS2zw7ZVvUqc=
|
||||||
|
github.com/josephspurrier/goversioninfo v0.0.0-20190124120936-8611f5a5ff3f/go.mod h1:eJTEwMjXb7kZ633hO3Ln9mBUCOjX2+FlTljvpl9SYdE=
|
||||||
|
github.com/lxn/walk v0.0.0-20191113135339-bf589de20b3c/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ=
|
||||||
|
github.com/lxn/win v0.0.0-20191106123917-121afc750dd3/go.mod h1:ouWl4wViUNh8tPSIwxTVMuS014WakR1hqvBc2I0bMoA=
|
||||||
|
github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3 h1:teGYw72DnPQhz2p9tyWfPJBrgMud6TsW6SAGf/UNbrE=
|
||||||
|
github.com/martinlindhe/inputbox v0.0.0-20170822001701-56d473fa6ae3/go.mod h1:NzLiokHFxkMAoDQlhgRFNCM7PmhTzJAjenmXrYSX/oU=
|
||||||
|
github.com/martinlindhe/notify v0.0.0-20181008203735-20632c9a275a h1:nQcAxLK581HrmqF0TVy2GC3iFjB8X+aWGtxQ/t2uyGE=
|
||||||
|
github.com/martinlindhe/notify v0.0.0-20181008203735-20632c9a275a/go.mod h1:zL1p4SieQ27ZZ4V4KdVYdEcSkVl1OwNoi8xI1r5hJkc=
|
||||||
|
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||||
|
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c h1:rp5dCmg/yLR3mgFuSOe4oEnDDmGLROTvMragMUXpTQw=
|
||||||
|
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0=
|
||||||
|
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98=
|
||||||
|
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
|
||||||
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||||
|
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
|
github.com/srwiley/oksvg v0.0.0-20190829233741-58e08c8fe40e/go.mod h1:afMbS0qvv1m5tfENCwnOdZGOF8RGR/FsZ7bvBxQGZG4=
|
||||||
|
github.com/srwiley/rasterx v0.0.0-20181219215540-696f7edb7a7e/go.mod h1:mvWM0+15UqyrFKqdRjY6LuAVJR0HOVhJlEgZ5JWtSWU=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/stretchr/testify v1.3.1-0.20190311161405-34c6fa2dc709/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
|
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
|
golang.org/x/image v0.0.0-20181116024801-cd38e8056d9b/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
|
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190919044723-0c1ff786ef13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
gopkg.in/Knetic/govaluate.v3 v3.0.0/go.mod h1:csKLBORsPbafmSCGTEh3U7Ozmsuq8ZSIlKk1bcqph0E=
|
BIN
icons/icon.ico
Normal file
BIN
icons/icon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
BIN
icons/icon.png
Normal file
BIN
icons/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
504
icons/icon_unix.go
Normal file
504
icons/icon_unix.go
Normal file
|
@ -0,0 +1,504 @@
|
||||||
|
// File generated by 2goarray v0.1.0 (http://github.com/cratonica/2goarray)
|
||||||
|
|
||||||
|
package icon
|
||||||
|
|
||||||
|
var Data []byte = []byte{
|
||||||
|
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
|
||||||
|
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60,
|
||||||
|
0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x17,
|
||||||
|
0x11, 0x49, 0x44, 0x41, 0x54, 0x78, 0x5e, 0xed, 0x5d, 0x0b, 0x78, 0x13,
|
||||||
|
0x65, 0xd6, 0x3e, 0x33, 0x93, 0x4c, 0x92, 0x26, 0x6d, 0x7a, 0xa1, 0xe5,
|
||||||
|
0x5e, 0x6e, 0x96, 0x5b, 0xa9, 0xc0, 0xc2, 0x82, 0xd4, 0x0b, 0x5d, 0x45,
|
||||||
|
0x16, 0x44, 0x54, 0xf0, 0x86, 0x2c, 0x2a, 0xfe, 0x82, 0xb8, 0x8a, 0x0b,
|
||||||
|
0xb8, 0xa2, 0xcb, 0xef, 0xe2, 0x65, 0x45, 0x71, 0xd5, 0x45, 0x57, 0x57,
|
||||||
|
0x59, 0xf1, 0xb6, 0x22, 0xc8, 0xef, 0x22, 0x0b, 0x82, 0x16, 0x05, 0x91,
|
||||||
|
0xbb, 0x80, 0x88, 0xa0, 0x08, 0x02, 0xd6, 0x02, 0x85, 0xd2, 0x1b, 0x6d,
|
||||||
|
0xe9, 0x25, 0xf7, 0xc9, 0x7c, 0xff, 0x73, 0x92, 0x4c, 0x3b, 0x49, 0xe6,
|
||||||
|
0x96, 0x49, 0x7a, 0x71, 0x1f, 0xe7, 0x79, 0xf2, 0xb4, 0x49, 0x93, 0x6f,
|
||||||
|
0xbe, 0x39, 0xef, 0x39, 0xef, 0x79, 0xcf, 0xf9, 0xbe, 0x49, 0x29, 0xf8,
|
||||||
|
0xe5, 0x68, 0x53, 0x0b, 0x50, 0x6d, 0x7a, 0xf6, 0x5f, 0x4e, 0x0e, 0xbf,
|
||||||
|
0x00, 0xd0, 0xc6, 0x4e, 0xf0, 0x0b, 0x00, 0xbf, 0x00, 0xd0, 0xc6, 0x16,
|
||||||
|
0x68, 0xe3, 0xd3, 0xff, 0x9c, 0x22, 0x00, 0xe7, 0x2a, 0xcc, 0x57, 0x3c,
|
||||||
|
0x6f, 0xfc, 0x9d, 0x84, 0xec, 0x28, 0xf7, 0xb3, 0x8d, 0xcd, 0x2c, 0x7f,
|
||||||
|
0xfa, 0xf6, 0x0a, 0x00, 0x5d, 0xf0, 0x4e, 0x4f, 0x76, 0xf0, 0x6f, 0xbb,
|
||||||
|
0x65, 0x19, 0xed, 0xec, 0x60, 0xc6, 0xc0, 0x0c, 0xf0, 0x33, 0x9e, 0xbe,
|
||||||
|
0x3e, 0xf0, 0xf4, 0xe6, 0x69, 0x7f, 0x57, 0x42, 0xf1, 0x69, 0x04, 0x88,
|
||||||
|
0x8d, 0x00, 0x61, 0x83, 0x97, 0x46, 0xf9, 0x00, 0xc0, 0x41, 0xf1, 0x54,
|
||||||
|
0x1d, 0x4d, 0x98, 0x52, 0x06, 0x8c, 0xa7, 0x8c, 0x7e, 0xf3, 0x09, 0xde,
|
||||||
|
0x4f, 0x1d, 0x73, 0xd6, 0xba, 0x0f, 0x9f, 0xdf, 0x7d, 0xba, 0x64, 0xf5,
|
||||||
|
0xea, 0xb3, 0x5e, 0x58, 0x0d, 0xbc, 0x08, 0xac, 0x76, 0x01, 0x4a, 0xbb,
|
||||||
|
0x01, 0x60, 0xd8, 0xeb, 0x60, 0x1c, 0x3c, 0xfa, 0xd2, 0xcc, 0xf4, 0xae,
|
||||||
|
0xec, 0x65, 0xc4, 0xc4, 0x8d, 0xf3, 0x18, 0x5c, 0xa3, 0x39, 0xca, 0xdd,
|
||||||
|
0xdb, 0x0b, 0x6e, 0xf0, 0x82, 0x07, 0x78, 0xf0, 0x8b, 0x0c, 0x16, 0x74,
|
||||||
|
0x74, 0xc1, 0xdd, 0xc5, 0xbf, 0x05, 0x5f, 0x27, 0x40, 0x01, 0x0d, 0x46,
|
||||||
|
0x60, 0x81, 0x05, 0x33, 0x18, 0x88, 0xb9, 0x8c, 0xe5, 0x4d, 0x3b, 0x29,
|
||||||
|
0x8f, 0x79, 0x93, 0xa7, 0xd2, 0xbb, 0xe5, 0xd8, 0xb6, 0xf2, 0xf2, 0x6d,
|
||||||
|
0x77, 0x9d, 0xf2, 0xb4, 0x07, 0x30, 0xda, 0x1a, 0x00, 0xea, 0xb6, 0xaf,
|
||||||
|
0x87, 0x65, 0x74, 0xbe, 0x28, 0x69, 0x34, 0x6f, 0xe3, 0xa6, 0x7a, 0x19,
|
||||||
|
0xf7, 0x68, 0x37, 0x34, 0x66, 0x78, 0xc1, 0x15, 0x30, 0xa2, 0xf8, 0x88,
|
||||||
|
0x7c, 0x2e, 0x18, 0x3d, 0x12, 0x04, 0x39, 0x50, 0xf0, 0xfd, 0x46, 0x30,
|
||||||
|
0x81, 0x99, 0x58, 0x1b, 0x4d, 0xbc, 0x75, 0x0f, 0x38, 0x4d, 0xab, 0xdc,
|
||||||
|
0x27, 0xfd, 0x9b, 0xdf, 0x1c, 0xbc, 0xef, 0x1c, 0x40, 0x20, 0x32, 0xda,
|
||||||
|
0xe4, 0x68, 0x2b, 0x00, 0xa8, 0x7b, 0xbe, 0xbe, 0xbc, 0x93, 0xad, 0x1f,
|
||||||
|
0x7d, 0xb3, 0xcf, 0xea, 0x98, 0xe1, 0xa4, 0x1a, 0x06, 0x7a, 0xc1, 0xc9,
|
||||||
|
0xa0, 0x91, 0x23, 0x7d, 0x5b, 0xf0, 0xe8, 0x70, 0xeb, 0xa8, 0x47, 0x80,
|
||||||
|
0xf2, 0xfb, 0x01, 0x23, 0x83, 0x58, 0x48, 0x72, 0xb1, 0xc9, 0x95, 0xb4,
|
||||||
|
0xb2, 0xbe, 0x98, 0x5f, 0xfe, 0x6e, 0xde, 0x81, 0x93, 0x6d, 0x01, 0x44,
|
||||||
|
0x6b, 0x03, 0x40, 0x15, 0xfc, 0x3b, 0xd7, 0x3a, 0x74, 0x5c, 0xc6, 0xad,
|
||||||
|
0x3e, 0x9b, 0xe3, 0x41, 0x27, 0x55, 0xd7, 0xdf, 0x0b, 0x1e, 0x3a, 0x9a,
|
||||||
|
0x4c, 0xc2, 0xbd, 0x3f, 0x48, 0x2a, 0xe1, 0xf1, 0x20, 0x3c, 0x93, 0x86,
|
||||||
|
0x42, 0xfb, 0xe7, 0x19, 0x30, 0x12, 0x2b, 0x6f, 0x2f, 0x61, 0x1d, 0xb6,
|
||||||
|
0xd7, 0xcf, 0x7d, 0xd5, 0xb0, 0x6c, 0xed, 0x98, 0x63, 0xb5, 0xad, 0x09,
|
||||||
|
0x44, 0x6b, 0x02, 0x40, 0x3f, 0x70, 0xea, 0x8a, 0xc1, 0x74, 0x57, 0xef,
|
||||||
|
0x33, 0x8d, 0x4c, 0xcd, 0x95, 0x5e, 0xca, 0xc5, 0x6a, 0xa5, 0x0f, 0xad,
|
||||||
|
0xf4, 0xd3, 0x0c, 0x8a, 0x36, 0x00, 0xc4, 0xe7, 0x37, 0x10, 0xd6, 0x9f,
|
||||||
|
0xec, 0x4f, 0x3f, 0x40, 0xd7, 0xd8, 0x1e, 0x5d, 0xda, 0x71, 0xef, 0x36,
|
||||||
|
0x80, 0x40, 0xd2, 0x89, 0x1c, 0x28, 0xe1, 0x34, 0xd5, 0x3a, 0x00, 0x14,
|
||||||
|
0x80, 0x61, 0xee, 0xfa, 0x82, 0xe9, 0x6e, 0x5b, 0xf5, 0xb3, 0x0e, 0xaa,
|
||||||
|
0x2e, 0x1d, 0x80, 0x50, 0x4a, 0x09, 0x54, 0x0f, 0xf7, 0x2b, 0x19, 0x5f,
|
||||||
|
0x2d, 0x61, 0x8b, 0xcf, 0x67, 0x21, 0x36, 0x87, 0xcd, 0x95, 0xf9, 0xe2,
|
||||||
|
0xda, 0x79, 0xfb, 0x17, 0x9f, 0x5b, 0x06, 0xee, 0x96, 0x8e, 0x86, 0x96,
|
||||||
|
0x06, 0x80, 0x1a, 0x35, 0xaf, 0x9b, 0x79, 0xe4, 0xe2, 0x5e, 0xcf, 0x34,
|
||||||
|
0x98, 0x2a, 0xe6, 0xa2, 0xa2, 0x89, 0x85, 0x4e, 0x82, 0x86, 0xd1, 0x4e,
|
||||||
|
0x3f, 0x72, 0xf9, 0x42, 0x2b, 0x7d, 0x09, 0xe7, 0x63, 0xc0, 0x08, 0xa9,
|
||||||
|
0xde, 0x4e, 0xeb, 0x8b, 0xdf, 0x3b, 0x7f, 0xd7, 0x67, 0x33, 0xce, 0x5e,
|
||||||
|
0x68, 0x49, 0x10, 0x5a, 0x12, 0x00, 0xea, 0xb6, 0x0d, 0xc3, 0x32, 0x32,
|
||||||
|
0xc7, 0xb2, 0xaf, 0xd6, 0xb3, 0x15, 0x37, 0xfb, 0x81, 0xa3, 0xa2, 0x8d,
|
||||||
|
0xd9, 0xec, 0x9b, 0x5a, 0x23, 0x42, 0x4e, 0xfd, 0xc4, 0x1a, 0x01, 0x6a,
|
||||||
|
0xe7, 0xa3, 0x80, 0x82, 0x54, 0x5f, 0xa7, 0x3d, 0xd5, 0xfb, 0xa8, 0x69,
|
||||||
|
0x6b, 0x2e, 0x3f, 0x7c, 0x3a, 0x44, 0x49, 0x3f, 0x1b, 0x0a, 0xa2, 0x26,
|
||||||
|
0xfd, 0x67, 0x44, 0x7a, 0xb7, 0x09, 0xd4, 0x5b, 0x0d, 0x6c, 0xe5, 0x44,
|
||||||
|
0x3f, 0xf8, 0x69, 0x3d, 0xde, 0x1c, 0xbb, 0xf7, 0x87, 0x93, 0x8d, 0x9e,
|
||||||
|
0x73, 0x86, 0xc7, 0x1b, 0x45, 0x52, 0xb8, 0x0e, 0x07, 0xaa, 0x77, 0x70,
|
||||||
|
0x53, 0xd6, 0x5d, 0x55, 0x74, 0xaa, 0x25, 0x40, 0x68, 0x89, 0x08, 0xa0,
|
||||||
|
0xc6, 0x3c, 0xdb, 0x3b, 0xa5, 0xdf, 0xec, 0xcc, 0x97, 0x1c, 0xd6, 0xca,
|
||||||
|
0xdb, 0xfd, 0xe0, 0x67, 0x04, 0x43, 0xc4, 0xc2, 0xc5, 0xd2, 0xc6, 0x8b,
|
||||||
|
0x3d, 0x62, 0xe2, 0x4f, 0xe0, 0x40, 0x52, 0xdc, 0x59, 0x5f, 0x9c, 0x5b,
|
||||||
|
0xe3, 0x9b, 0xbe, 0x71, 0x5a, 0x51, 0x59, 0xa2, 0x41, 0x48, 0x3c, 0x00,
|
||||||
|
0xb9, 0xc0, 0xde, 0xbf, 0x7d, 0xc4, 0x43, 0xce, 0xf4, 0x9a, 0x27, 0x38,
|
||||||
|
0xca, 0x6b, 0x94, 0x36, 0xbe, 0x14, 0x14, 0xd1, 0x82, 0x23, 0x7e, 0xe3,
|
||||||
|
0xc9, 0xd7, 0x0b, 0x52, 0xf5, 0x86, 0x5c, 0xc4, 0xd1, 0x40, 0xf3, 0xd6,
|
||||||
|
0x86, 0xac, 0x77, 0x76, 0xfc, 0xbe, 0xfc, 0xc1, 0xa2, 0x95, 0x35, 0x8d,
|
||||||
|
0x89, 0xcc, 0x09, 0x89, 0x06, 0xc0, 0x30, 0xeb, 0xe4, 0xa8, 0x31, 0xfe,
|
||||||
|
0x1e, 0x35, 0xab, 0x3d, 0x94, 0xcb, 0x26, 0x6f, 0xfc, 0xd8, 0x3d, 0x39,
|
||||||
|
0x7e, 0xee, 0xd7, 0x02, 0xba, 0x7c, 0xc2, 0x37, 0x10, 0xd6, 0xc7, 0x9e,
|
||||||
|
0xcd, 0x9c, 0xf7, 0x6e, 0xf6, 0xe1, 0x37, 0x01, 0xc0, 0x9b, 0x28, 0x89,
|
||||||
|
0x9a, 0x48, 0x00, 0xe8, 0xab, 0xde, 0x18, 0x94, 0x99, 0x33, 0x9d, 0xda,
|
||||||
|
0xea, 0x30, 0xd4, 0x0d, 0x68, 0xce, 0x56, 0xd1, 0x7e, 0x1c, 0x7b, 0xe1,
|
||||||
|
0xa5, 0x07, 0x30, 0x79, 0x05, 0xa5, 0x96, 0x80, 0xc5, 0x73, 0x17, 0xc3,
|
||||||
|
0x66, 0xe6, 0x93, 0xaa, 0x1c, 0x9b, 0xed, 0x57, 0xaf, 0x1d, 0x77, 0xe4,
|
||||||
|
0x08, 0x00, 0x70, 0x89, 0xc8, 0xc8, 0x89, 0x04, 0x80, 0x9d, 0x75, 0x61,
|
||||||
|
0xf8, 0x22, 0xa7, 0xbd, 0x72, 0xbe, 0x16, 0xcf, 0x97, 0x57, 0x2d, 0xd2,
|
||||||
|
0x62, 0x32, 0xfe, 0x08, 0x50, 0xee, 0x2d, 0x05, 0x1b, 0x78, 0x4a, 0xae,
|
||||||
|
0x11, 0xfc, 0xbc, 0xb5, 0x31, 0x63, 0xfd, 0xbb, 0x97, 0x14, 0xfd, 0x0e,
|
||||||
|
0x8e, 0x80, 0x33, 0x11, 0x54, 0x94, 0x28, 0x00, 0x98, 0x1b, 0x37, 0x0c,
|
||||||
|
0xcb, 0x49, 0xbd, 0xb6, 0xfe, 0x80, 0x17, 0x3c, 0x49, 0x5a, 0x78, 0x5f,
|
||||||
|
0xca, 0xa7, 0x63, 0x95, 0x92, 0xb1, 0x81, 0x28, 0x5f, 0x77, 0x2b, 0xa9,
|
||||||
|
0xa5, 0x48, 0xd8, 0x0c, 0x60, 0xe0, 0xe1, 0x50, 0x87, 0xeb, 0xfe, 0x6f,
|
||||||
|
0xe8, 0x0f, 0x9b, 0x43, 0x54, 0x14, 0x57, 0x20, 0x24, 0x02, 0x00, 0x1c,
|
||||||
|
0xc3, 0x34, 0xab, 0x6e, 0xc8, 0xeb, 0xce, 0x94, 0x9a, 0x3b, 0xc4, 0x9e,
|
||||||
|
0x2a, 0xe5, 0x51, 0xcd, 0x46, 0x8b, 0xfe, 0x4d, 0xda, 0xf7, 0xd5, 0x1a,
|
||||||
|
0x6f, 0x89, 0x1a, 0x27, 0xba, 0x7d, 0x21, 0xa7, 0xda, 0x4c, 0x2e, 0xfb,
|
||||||
|
0xde, 0x4f, 0xf2, 0x4f, 0x8d, 0xbf, 0x70, 0x08, 0x1a, 0xe2, 0x55, 0x45,
|
||||||
|
0x89, 0x00, 0x80, 0xb9, 0x79, 0xd3, 0x90, 0x3c, 0xdb, 0x98, 0xc6, 0xed,
|
||||||
|
0x1c, 0xe5, 0x4d, 0x89, 0xa6, 0x8a, 0xf0, 0xcb, 0x50, 0x92, 0xa2, 0x7a,
|
||||||
|
0x0a, 0x35, 0x39, 0xd0, 0x62, 0xad, 0x7e, 0xd5, 0x35, 0x58, 0xf3, 0x3b,
|
||||||
|
0x28, 0x60, 0x38, 0xfa, 0x9b, 0x0e, 0xb7, 0x7e, 0x30, 0xec, 0xd8, 0x27,
|
||||||
|
0xf1, 0x26, 0xe4, 0x78, 0x01, 0xc0, 0xcf, 0xb3, 0x77, 0x57, 0xe4, 0x2d,
|
||||||
|
0xf6, 0x66, 0x5d, 0x98, 0x8b, 0x4b, 0x53, 0x52, 0x17, 0x22, 0x8e, 0x51,
|
||||||
|
0xa5, 0x7e, 0x7d, 0x34, 0x54, 0x7a, 0x92, 0xaf, 0x5a, 0xc4, 0x48, 0xf5,
|
||||||
|
0xd7, 0xe4, 0x85, 0x82, 0x34, 0x71, 0x11, 0x62, 0xaa, 0xb7, 0x7f, 0xfa,
|
||||||
|
0xbe, 0xfd, 0xf4, 0x2d, 0x00, 0xe0, 0x8a, 0x27, 0x0a, 0xe2, 0x05, 0x80,
|
||||||
|
0xbe, 0xf4, 0xe1, 0xee, 0x9d, 0xfa, 0x3e, 0x65, 0xd9, 0xc9, 0xb1, 0xae,
|
||||||
|
0xde, 0xfa, 0x8d, 0xaf, 0x37, 0xf1, 0x4a, 0x41, 0xa6, 0xd6, 0x3b, 0x92,
|
||||||
|
0x8a, 0x48, 0xed, 0xf4, 0x23, 0xcc, 0x94, 0xf1, 0x1b, 0x2f, 0x34, 0xbe,
|
||||||
|
0x9f, 0x7c, 0x75, 0xe1, 0x1d, 0xc5, 0xdf, 0xc5, 0x93, 0x0b, 0xe2, 0x05,
|
||||||
|
0xc0, 0x38, 0xed, 0xd0, 0xe0, 0x49, 0xf4, 0xc5, 0x75, 0xef, 0xf1, 0x94,
|
||||||
|
0x3f, 0xb4, 0x3e, 0x2b, 0xc7, 0xc9, 0xd2, 0xaf, 0xeb, 0x4f, 0xbc, 0x72,
|
||||||
|
0xf1, 0x12, 0xbb, 0x31, 0xc3, 0xb3, 0xa8, 0xb6, 0x08, 0xa2, 0x80, 0xe2,
|
||||||
|
0xa1, 0x28, 0x75, 0xe1, 0x87, 0x39, 0x27, 0x5f, 0x02, 0xd0, 0xdf, 0x35,
|
||||||
|
0x8d, 0x07, 0x00, 0xfc, 0xac, 0x79, 0x7a, 0xf9, 0xc0, 0x17, 0xb9, 0x8e,
|
||||||
|
0x0d, 0xb3, 0xa4, 0x2e, 0x42, 0x2d, 0xe1, 0x4a, 0xab, 0x0f, 0x39, 0x7d,
|
||||||
|
0x24, 0xc5, 0xea, 0xf1, 0x1a, 0x5b, 0x2a, 0xf2, 0xd4, 0x00, 0x68, 0x9e,
|
||||||
|
0x9f, 0xa1, 0xd6, 0xb6, 0xed, 0x83, 0xf4, 0xb3, 0x93, 0x00, 0x00, 0xab,
|
||||||
|
0x63, 0x5d, 0x75, 0x41, 0x3c, 0x00, 0x30, 0x7d, 0x27, 0x76, 0x49, 0x1b,
|
||||||
|
0xb5, 0xca, 0xba, 0xd9, 0x6f, 0x75, 0x0f, 0x69, 0x06, 0x40, 0x39, 0xfd,
|
||||||
|
0x45, 0x6a, 0x36, 0xb9, 0x76, 0x83, 0x1a, 0x78, 0xea, 0x6d, 0x0a, 0xb9,
|
||||||
|
0x74, 0xaf, 0x5c, 0x0f, 0xc4, 0x52, 0x6f, 0x30, 0x1e, 0xb6, 0xf4, 0xec,
|
||||||
|
0xb3, 0xa6, 0x71, 0x5f, 0x3e, 0x71, 0xe6, 0x84, 0x5e, 0x1a, 0x8a, 0x07,
|
||||||
|
0x00, 0xe3, 0xb8, 0x15, 0x7d, 0x87, 0x64, 0xdd, 0xca, 0x15, 0xf2, 0x06,
|
||||||
|
0x5f, 0x07, 0xa9, 0xc5, 0x23, 0xf9, 0x84, 0x2b, 0xef, 0xfb, 0xd2, 0x7b,
|
||||||
|
0x1d, 0xd4, 0x8c, 0xa6, 0x37, 0x87, 0xc4, 0x1a, 0x41, 0xe1, 0xa0, 0xd2,
|
||||||
|
0x84, 0xf6, 0x3a, 0x36, 0x25, 0x4f, 0x2d, 0x1c, 0x77, 0xba, 0x30, 0x44,
|
||||||
|
0x43, 0x52, 0x19, 0x3e, 0xd2, 0xe7, 0xc2, 0x9e, 0xc7, 0x03, 0x80, 0xe9,
|
||||||
|
0x96, 0x2f, 0x73, 0x27, 0x9b, 0x46, 0xd5, 0xaf, 0x20, 0x40, 0x42, 0xed,
|
||||||
|
0x66, 0xa9, 0x38, 0x90, 0x9e, 0x53, 0xe2, 0x3c, 0x5f, 0x0e, 0xcc, 0x66,
|
||||||
|
0x2a, 0x09, 0xd6, 0x23, 0x6a, 0x20, 0x46, 0xbe, 0x5f, 0x5b, 0x04, 0xf1,
|
||||||
|
0x47, 0x52, 0xfe, 0xb2, 0x76, 0x50, 0xc9, 0x0b, 0x00, 0x81, 0xca, 0x58,
|
||||||
|
0xbc, 0x77, 0x46, 0xd1, 0xf0, 0xc2, 0x1f, 0xf5, 0x02, 0x80, 0x9f, 0xb3,
|
||||||
|
0x4c, 0x3d, 0xd6, 0xef, 0x4f, 0x74, 0x3f, 0xc7, 0xc2, 0x68, 0x5a, 0x91,
|
||||||
|
0x4e, 0x90, 0xf2, 0x09, 0x57, 0xdb, 0xc5, 0x46, 0xb2, 0xb3, 0x18, 0x6e,
|
||||||
|
0x39, 0xe2, 0x93, 0xcb, 0x28, 0xea, 0x6b, 0x0d, 0xd1, 0xd7, 0x20, 0xe5,
|
||||||
|
0x34, 0x74, 0x99, 0x6d, 0xcd, 0xea, 0x2e, 0xa5, 0x33, 0xf4, 0xe6, 0x01,
|
||||||
|
0xbd, 0x00, 0xa0, 0xc7, 0x5b, 0xa7, 0x95, 0xf5, 0x7b, 0x1b, 0x3a, 0x39,
|
||||||
|
0x6e, 0x12, 0xa6, 0x2a, 0xe5, 0x69, 0x89, 0xe3, 0xfc, 0xe0, 0xbe, 0x44,
|
||||||
|
0x75, 0xee, 0xd7, 0x92, 0xac, 0xf5, 0x8c, 0x23, 0x4d, 0x57, 0x50, 0xcb,
|
||||||
|
0x1e, 0xd8, 0x7e, 0xa9, 0x63, 0xe2, 0xf9, 0x1f, 0x9c, 0xd5, 0x7a, 0xf2,
|
||||||
|
0x80, 0x5e, 0x00, 0x98, 0xae, 0xfd, 0x93, 0x53, 0x0b, 0xbe, 0xcc, 0x5c,
|
||||||
|
0x4f, 0xa5, 0x79, 0xf3, 0xd5, 0xb8, 0x5e, 0x89, 0xf1, 0xb5, 0x70, 0xbe,
|
||||||
|
0x92, 0x17, 0x4b, 0xf9, 0x69, 0xcb, 0x24, 0x70, 0xe9, 0x5a, 0x99, 0x6a,
|
||||||
|
0x60, 0x7f, 0x3a, 0xf1, 0x10, 0x7f, 0xed, 0xe1, 0x65, 0xd5, 0xb8, 0xaf,
|
||||||
|
0x28, 0xe6, 0x36, 0xb5, 0x5e, 0x00, 0x8c, 0xb9, 0x77, 0x74, 0xe9, 0x3c,
|
||||||
|
0xe4, 0x1f, 0xa6, 0x8f, 0x21, 0xd9, 0x9b, 0x27, 0xf8, 0xa6, 0x34, 0xe9,
|
||||||
|
0xc9, 0x11, 0x47, 0x62, 0xd4, 0x92, 0x5c, 0xf1, 0x27, 0xe7, 0x14, 0x4a,
|
||||||
|
0x11, 0xa4, 0xdc, 0xbb, 0x92, 0xce, 0x21, 0x94, 0xcb, 0x50, 0x79, 0x7a,
|
||||||
|
0x89, 0x71, 0xe2, 0xd7, 0x7f, 0x2e, 0x3f, 0xac, 0x27, 0x11, 0xeb, 0x05,
|
||||||
|
0x80, 0x1d, 0xfe, 0x70, 0x97, 0x5e, 0xfd, 0x16, 0x1a, 0x0b, 0xc1, 0xc6,
|
||||||
|
0xf5, 0x96, 0xcf, 0x36, 0x52, 0x25, 0xbe, 0x92, 0x7f, 0x6a, 0x4d, 0xd8,
|
||||||
|
0xca, 0xaa, 0x47, 0x3e, 0x62, 0x12, 0xaf, 0x96, 0x28, 0x1f, 0xd3, 0x50,
|
||||||
|
0xbe, 0x94, 0xbd, 0x7e, 0xf7, 0x9c, 0xf2, 0x7d, 0x7a, 0x0a, 0x32, 0xdd,
|
||||||
|
0x00, 0xe4, 0x3f, 0xdd, 0x73, 0x60, 0xef, 0x79, 0x64, 0x23, 0xb1, 0x70,
|
||||||
|
0x9d, 0xa4, 0x00, 0x88, 0xee, 0xaf, 0x47, 0x1b, 0x5e, 0x2e, 0xf5, 0x8a,
|
||||||
|
0xc7, 0x53, 0xe7, 0xfc, 0xf0, 0x71, 0x11, 0x42, 0xa5, 0x5c, 0xa4, 0x3e,
|
||||||
|
0x9e, 0x76, 0xb5, 0x84, 0x67, 0xa6, 0x78, 0xca, 0x57, 0xf5, 0x86, 0xf9,
|
||||||
|
0x86, 0x1d, 0xf7, 0x96, 0xef, 0x08, 0x29, 0xa1, 0x98, 0xf6, 0x99, 0xea,
|
||||||
|
0x05, 0xc0, 0x74, 0xd9, 0xe2, 0xec, 0x41, 0xd9, 0x73, 0xc9, 0xa7, 0x94,
|
||||||
|
0x99, 0xef, 0x10, 0x0e, 0x80, 0x36, 0xaf, 0xd7, 0x67, 0x7c, 0x75, 0xcf,
|
||||||
|
0x57, 0xf2, 0x7e, 0x75, 0xe3, 0x6b, 0x53, 0x3e, 0x11, 0x71, 0xea, 0xaf,
|
||||||
|
0x78, 0xc3, 0x3c, 0x79, 0xf7, 0x3d, 0x15, 0x5b, 0x71, 0x8b, 0x7c, 0xac,
|
||||||
|
0x8b, 0x34, 0x7a, 0x00, 0x08, 0xf4, 0xff, 0xf3, 0xff, 0xd2, 0x3d, 0xaf,
|
||||||
|
0xd7, 0x7c, 0xd8, 0x08, 0x66, 0x3e, 0x43, 0x30, 0x4b, 0x38, 0x87, 0xca,
|
||||||
|
0x8b, 0x53, 0x25, 0xae, 0x55, 0x96, 0xaa, 0xc2, 0xd6, 0x73, 0xa5, 0xad,
|
||||||
|
0xe9, 0x72, 0x91, 0xa6, 0x56, 0x74, 0x69, 0x8d, 0xa4, 0xa8, 0x56, 0x05,
|
||||||
|
0x5f, 0xf5, 0xa6, 0x65, 0xf2, 0xce, 0x99, 0x15, 0x5f, 0xb4, 0x2a, 0x00,
|
||||||
|
0x23, 0x17, 0x66, 0xe7, 0xf6, 0x59, 0xc0, 0x17, 0x52, 0x16, 0x3e, 0x4b,
|
||||||
|
0xb9, 0xfc, 0x53, 0xd2, 0x48, 0xb1, 0x70, 0xbe, 0x94, 0xf7, 0x6b, 0x4d,
|
||||||
|
0xe4, 0x5a, 0xda, 0xcd, 0xda, 0xbc, 0x3f, 0xf2, 0x5d, 0x84, 0x27, 0x5c,
|
||||||
|
0xd5, 0x1b, 0x96, 0xc9, 0xbb, 0xee, 0xad, 0xd8, 0x1e, 0x02, 0x20, 0xa6,
|
||||||
|
0x62, 0x4c, 0x77, 0x04, 0xfc, 0x7a, 0x7e, 0xd7, 0xfe, 0x7d, 0x1e, 0xa7,
|
||||||
|
0x3e, 0xa6, 0xad, 0x7c, 0x57, 0x25, 0xf5, 0x23, 0xf6, 0xab, 0x78, 0x3c,
|
||||||
|
0x5f, 0xbd, 0x47, 0x23, 0xef, 0xf9, 0xd2, 0x91, 0xa9, 0xd6, 0x74, 0x93,
|
||||||
|
0x72, 0x0e, 0x09, 0x20, 0x39, 0x70, 0x97, 0xbe, 0xc6, 0xde, 0xb8, 0x6f,
|
||||||
|
0x4e, 0xd5, 0xae, 0xd6, 0x04, 0x80, 0x1d, 0x34, 0x23, 0xa3, 0x77, 0xee,
|
||||||
|
0x0b, 0x49, 0x1b, 0x18, 0xbb, 0xbf, 0x4f, 0x64, 0x0e, 0x90, 0x26, 0x1f,
|
||||||
|
0x69, 0x03, 0x29, 0x27, 0x5c, 0xa5, 0x4c, 0x21, 0x15, 0x59, 0xd2, 0x5a,
|
||||||
|
0x3d, 0xda, 0x41, 0xd4, 0x8c, 0x1f, 0x1d, 0x0d, 0xd2, 0xd9, 0x87, 0x00,
|
||||||
|
0xef, 0xa6, 0xea, 0x4b, 0x9f, 0x33, 0x4c, 0xde, 0xff, 0x78, 0xf5, 0x57,
|
||||||
|
0xad, 0x45, 0x41, 0x38, 0x17, 0x53, 0xf6, 0x84, 0x8e, 0x5d, 0x47, 0xbd,
|
||||||
|
0xc7, 0xae, 0x63, 0xd2, 0xfc, 0x79, 0xc1, 0x0b, 0x8c, 0xa6, 0x03, 0x6d,
|
||||||
|
0x1e, 0xaf, 0xae, 0x5a, 0xf4, 0xac, 0x2d, 0xcb, 0xe7, 0x12, 0x2d, 0xc6,
|
||||||
|
0x97, 0xa6, 0x23, 0xa9, 0x79, 0xf0, 0x0e, 0xaa, 0xa2, 0xe8, 0x31, 0x66,
|
||||||
|
0xf2, 0xf7, 0x4b, 0x6a, 0x70, 0x61, 0x26, 0xe6, 0x9d, 0x12, 0x7a, 0x28,
|
||||||
|
0x08, 0x67, 0xc7, 0x26, 0xf5, 0x80, 0x8c, 0x09, 0x5f, 0x75, 0x5b, 0x63,
|
||||||
|
0xcc, 0xf2, 0x8f, 0x52, 0xf6, 0x78, 0x69, 0x6f, 0x52, 0x52, 0x2b, 0x62,
|
||||||
|
0x40, 0xe5, 0x0a, 0x2d, 0xa5, 0xd8, 0x10, 0x3e, 0xaf, 0x5e, 0xa4, 0x49,
|
||||||
|
0x3b, 0x4e, 0x74, 0x67, 0x57, 0xaa, 0x98, 0x0c, 0xbe, 0xe6, 0xbf, 0xc0,
|
||||||
|
0x14, 0x7d, 0x37, 0x03, 0x6e, 0x3c, 0xb9, 0xa6, 0xf6, 0xa7, 0xd0, 0xf2,
|
||||||
|
0x64, 0xab, 0xc8, 0x50, 0xdc, 0x72, 0x68, 0x9f, 0x5c, 0xdc, 0xfd, 0x2d,
|
||||||
|
0x73, 0x2f, 0xee, 0x3a, 0xe1, 0x32, 0xa2, 0x3d, 0x44, 0x5e, 0x17, 0xc9,
|
||||||
|
0x8b, 0xd5, 0xa0, 0x92, 0x57, 0xab, 0x23, 0xe2, 0xd7, 0xfb, 0xf2, 0x39,
|
||||||
|
0x43, 0x8a, 0x52, 0xe5, 0xd2, 0x3d, 0x57, 0x6e, 0x38, 0xb0, 0x69, 0x68,
|
||||||
|
0xcd, 0x4d, 0xee, 0x72, 0xa8, 0x0c, 0x01, 0xa0, 0xac, 0x49, 0x22, 0xbc,
|
||||||
|
0x55, 0x6f, 0x04, 0x20, 0x00, 0xc9, 0x13, 0xf7, 0x77, 0xff, 0xb3, 0x6d,
|
||||||
|
0x38, 0x37, 0x4f, 0x8e, 0x63, 0xa5, 0x93, 0xb3, 0xf4, 0xde, 0x87, 0xe6,
|
||||||
|
0xf7, 0xca, 0x41, 0xa3, 0x8d, 0xf3, 0xe5, 0xb8, 0x5a, 0xce, 0xdc, 0x5a,
|
||||||
|
0x72, 0x90, 0x52, 0x24, 0x79, 0x8e, 0x33, 0x1f, 0x15, 0xf6, 0xaf, 0xbd,
|
||||||
|
0x0f, 0x00, 0xf0, 0xd6, 0xa6, 0xe0, 0x0d, 0x10, 0x31, 0x1c, 0x7a, 0x01,
|
||||||
|
0xc0, 0x1d, 0xcf, 0xc9, 0xe3, 0x3e, 0xee, 0x3e, 0x35, 0xed, 0x1a, 0xee,
|
||||||
|
0xd5, 0xe0, 0xed, 0xd3, 0xcd, 0x3e, 0x29, 0x75, 0x7e, 0x35, 0x8f, 0x95,
|
||||||
|
0xde, 0xce, 0xa2, 0x94, 0x5b, 0xb4, 0x4a, 0x58, 0x6d, 0x52, 0x55, 0x1e,
|
||||||
|
0x76, 0xe5, 0xfa, 0xa1, 0x7e, 0x97, 0xe1, 0x6f, 0x5b, 0x2e, 0xaf, 0x79,
|
||||||
|
0x1e, 0x00, 0xf0, 0x46, 0x8e, 0x56, 0x6b, 0xc6, 0x21, 0x00, 0x49, 0xf9,
|
||||||
|
0x2f, 0x77, 0xba, 0xa2, 0xfb, 0x2c, 0xf8, 0x80, 0x66, 0xc1, 0xaa, 0x04,
|
||||||
|
0xba, 0x14, 0x83, 0xaa, 0x87, 0xb9, 0x1c, 0x3f, 0x2b, 0xe5, 0x14, 0x69,
|
||||||
|
0xe9, 0x18, 0xed, 0xfd, 0x52, 0xa0, 0x68, 0x91, 0x9d, 0xe1, 0x51, 0x48,
|
||||||
|
0xfc, 0xc4, 0x5f, 0xb5, 0xd2, 0x78, 0xef, 0xee, 0x3b, 0x6b, 0xd6, 0x01,
|
||||||
|
0x40, 0x7d, 0x6b, 0xb6, 0xa3, 0x71, 0x3d, 0xc0, 0x92, 0x33, 0x35, 0x35,
|
||||||
|
0x67, 0xc8, 0x6b, 0x96, 0x75, 0x06, 0x3b, 0xe9, 0x21, 0x95, 0x88, 0xb5,
|
||||||
|
0xac, 0x0f, 0xb4, 0x9c, 0xe7, 0x87, 0x9b, 0x5d, 0xae, 0x1c, 0x94, 0x2f,
|
||||||
|
0x13, 0xd5, 0xd5, 0x12, 0xef, 0x84, 0xea, 0xe2, 0xc7, 0xa9, 0x29, 0x87,
|
||||||
|
0x5f, 0xa8, 0x3b, 0x00, 0x10, 0xd8, 0x25, 0x17, 0xf3, 0xc2, 0xbc, 0x5e,
|
||||||
|
0x0a, 0x0a, 0xb4, 0x23, 0xc0, 0x02, 0x19, 0x93, 0x4f, 0x74, 0x59, 0x6d,
|
||||||
|
0xea, 0xc6, 0x87, 0x29, 0x21, 0x71, 0x38, 0xfb, 0x9d, 0x04, 0xbc, 0xd5,
|
||||||
|
0x04, 0x3c, 0xe7, 0x09, 0x70, 0x0d, 0x24, 0x60, 0x6f, 0x43, 0x32, 0x00,
|
||||||
|
0x9b, 0x45, 0x83, 0x31, 0x19, 0x7f, 0xa7, 0x00, 0x14, 0x16, 0x34, 0xd5,
|
||||||
|
0xd5, 0x8e, 0x52, 0x4e, 0x51, 0x31, 0x22, 0x21, 0xc0, 0x35, 0x02, 0x70,
|
||||||
|
0xf5, 0x7c, 0x60, 0x7e, 0xde, 0xda, 0xe0, 0xfc, 0x18, 0x2b, 0x80, 0x29,
|
||||||
|
0x13, 0x80, 0xcd, 0xa0, 0xc1, 0x90, 0x22, 0x98, 0x28, 0x1a, 0x2a, 0x5f,
|
||||||
|
0x05, 0xf5, 0xc3, 0xf6, 0xfc, 0xba, 0x1b, 0x1a, 0x8a, 0xa1, 0x5c, 0x4f,
|
||||||
|
0x11, 0x86, 0xd7, 0xa6, 0x17, 0x00, 0xfc, 0x2c, 0xee, 0x03, 0xb2, 0x5f,
|
||||||
|
0xfb, 0x4d, 0xa7, 0x27, 0x93, 0x87, 0xc2, 0xef, 0x83, 0xaa, 0x25, 0xa8,
|
||||||
|
0x5e, 0xc4, 0x47, 0xd1, 0x4b, 0x1e, 0x38, 0xfe, 0x94, 0x0f, 0xfc, 0xee,
|
||||||
|
0xf0, 0xd7, 0xf1, 0x22, 0x93, 0x7a, 0xd2, 0x60, 0x1f, 0x42, 0x41, 0xe7,
|
||||||
|
0xeb, 0x0c, 0x90, 0x3e, 0x8a, 0x09, 0x5c, 0xb0, 0x54, 0x3d, 0x21, 0xc8,
|
||||||
|
0x4a, 0xe9, 0xdc, 0x22, 0x97, 0xf3, 0xe4, 0x8d, 0xef, 0xab, 0x27, 0x50,
|
||||||
|
0x7b, 0xc0, 0x0f, 0x65, 0x6b, 0x39, 0xa8, 0xfd, 0xca, 0x0f, 0x8d, 0x45,
|
||||||
|
0x7e, 0xf0, 0x21, 0x83, 0x8b, 0x0e, 0xca, 0x40, 0x20, 0xfb, 0x2e, 0x23,
|
||||||
|
0x0c, 0x59, 0x6a, 0x0e, 0xbd, 0x1a, 0x3d, 0x9e, 0xeb, 0x28, 0xf3, 0xe1,
|
||||||
|
0xa7, 0xb9, 0x17, 0x50, 0x84, 0xd4, 0xe8, 0x69, 0x45, 0xc7, 0x0b, 0x80,
|
||||||
|
0x01, 0x13, 0x71, 0xc1, 0x87, 0x59, 0xb7, 0x66, 0x5d, 0x0f, 0xaf, 0xd0,
|
||||||
|
0x06, 0x0a, 0x9f, 0x47, 0x1d, 0xdf, 0xcc, 0x70, 0xc1, 0xd9, 0x55, 0xd2,
|
||||||
|
0x91, 0x49, 0x48, 0xc8, 0x78, 0x34, 0x40, 0xf2, 0x40, 0x0a, 0x7a, 0x4c,
|
||||||
|
0x37, 0x42, 0xf7, 0xdb, 0x8c, 0x60, 0x4c, 0x0b, 0xfa, 0x85, 0x3c, 0x3d,
|
||||||
|
0x08, 0x90, 0x68, 0x35, 0x7e, 0x70, 0x34, 0x8c, 0xc6, 0x73, 0x6b, 0x39,
|
||||||
|
0x38, 0xf9, 0xba, 0x17, 0x6a, 0xf7, 0xf3, 0x40, 0x38, 0x80, 0xa6, 0x39,
|
||||||
|
0x88, 0x66, 0x2e, 0xbc, 0x66, 0x1b, 0x48, 0xc1, 0x98, 0xef, 0x6c, 0x61,
|
||||||
|
0x1b, 0x2e, 0x9b, 0x60, 0xe0, 0x81, 0x3f, 0xbf, 0x91, 0x5e, 0xb8, 0xf3,
|
||||||
|
0xda, 0xba, 0xb7, 0x43, 0x09, 0x58, 0xd7, 0x77, 0x4f, 0xc4, 0x13, 0x01,
|
||||||
|
0x81, 0x44, 0x3c, 0xf0, 0xae, 0x8c, 0x81, 0xb9, 0xaf, 0x18, 0x3f, 0x61,
|
||||||
|
0xac, 0x24, 0xd0, 0x15, 0x8d, 0x3c, 0x76, 0x8f, 0x77, 0x42, 0xf5, 0x8e,
|
||||||
|
0xe6, 0xfe, 0x94, 0xd4, 0x05, 0x37, 0x7d, 0x86, 0x06, 0x48, 0x1b, 0x49,
|
||||||
|
0xc3, 0xc0, 0x45, 0x26, 0x48, 0xbf, 0x84, 0x06, 0xa0, 0xf4, 0xd6, 0x11,
|
||||||
|
0xd1, 0xe0, 0x35, 0x1c, 0xe3, 0xe1, 0xc8, 0x23, 0x6e, 0xa8, 0xd8, 0xec,
|
||||||
|
0x07, 0x82, 0xdf, 0xad, 0x22, 0xf8, 0xb5, 0xe0, 0x04, 0x12, 0xcf, 0x8d,
|
||||||
|
0xa9, 0x00, 0xe3, 0x2b, 0x6c, 0x40, 0x8b, 0x5c, 0x4b, 0x88, 0x70, 0xde,
|
||||||
|
0x43, 0x35, 0x1e, 0x7f, 0x04, 0x6e, 0x3a, 0xf6, 0xf7, 0xfa, 0xaf, 0x43,
|
||||||
|
0x09, 0x58, 0x34, 0xaa, 0x94, 0x25, 0xa4, 0x5f, 0x8b, 0x07, 0x00, 0xfc,
|
||||||
|
0xac, 0x05, 0x00, 0xd2, 0x6f, 0x38, 0xdd, 0x69, 0x95, 0x39, 0x9b, 0x5c,
|
||||||
|
0x16, 0x7d, 0x0a, 0x02, 0xdb, 0x2f, 0x75, 0x42, 0xdd, 0xa1, 0x60, 0x71,
|
||||||
|
0xa8, 0x68, 0x7c, 0xd1, 0xdf, 0x19, 0x1b, 0xc0, 0x80, 0x27, 0x4d, 0xd0,
|
||||||
|
0xfb, 0xbe, 0xd0, 0x2d, 0x66, 0x11, 0x03, 0x2b, 0x17, 0x71, 0xd1, 0x24,
|
||||||
|
0x56, 0xf6, 0x31, 0x07, 0x07, 0xef, 0x71, 0x83, 0xb7, 0x4a, 0x14, 0x53,
|
||||||
|
0x11, 0x86, 0x97, 0x9a, 0x9f, 0x21, 0x05, 0x60, 0x7c, 0xb9, 0x0d, 0x18,
|
||||||
|
0x93, 0x10, 0x71, 0xcd, 0x71, 0xe9, 0x39, 0x47, 0x1d, 0x2d, 0xec, 0x5d,
|
||||||
|
0x7f, 0x3d, 0x78, 0xa0, 0x2a, 0xb4, 0x23, 0x22, 0xa6, 0x2e, 0xa8, 0x70,
|
||||||
|
0x49, 0xf1, 0x00, 0x80, 0x63, 0xe0, 0xd4, 0x52, 0xc6, 0x6e, 0xcd, 0x9c,
|
||||||
|
0x93, 0x36, 0x9a, 0xfa, 0x5f, 0x8a, 0x42, 0x97, 0x6d, 0xe6, 0x4a, 0x1c,
|
||||||
|
0x7c, 0xe7, 0x58, 0x27, 0xd4, 0xee, 0xe6, 0x65, 0x8d, 0x2f, 0x07, 0x0a,
|
||||||
|
0x12, 0x5a, 0xce, 0x7c, 0x23, 0xf4, 0x7f, 0x2c, 0x74, 0xf5, 0x82, 0x87,
|
||||||
|
0xca, 0xd6, 0x39, 0xd2, 0x9c, 0x5f, 0xb2, 0xc2, 0x07, 0xdf, 0xce, 0x76,
|
||||||
|
0x83, 0x1f, 0x97, 0x4a, 0x24, 0x68, 0x46, 0x29, 0x12, 0x8c, 0x76, 0x0a,
|
||||||
|
0xae, 0xa9, 0xb2, 0x02, 0x6d, 0xc0, 0xdc, 0xd6, 0xf4, 0xce, 0x00, 0x0a,
|
||||||
|
0xb5, 0x7b, 0xc8, 0xab, 0xdb, 0xf2, 0x1b, 0xff, 0x1a, 0x0f, 0xff, 0xe3,
|
||||||
|
0x40, 0xf1, 0x02, 0x10, 0xc8, 0x03, 0x83, 0x1e, 0x4e, 0x1f, 0x3e, 0xe0,
|
||||||
|
0x29, 0xc3, 0x47, 0x0c, 0x1b, 0x88, 0x88, 0x30, 0x13, 0x1d, 0x9c, 0xe9,
|
||||||
|
0x82, 0x33, 0x2b, 0x55, 0x72, 0x80, 0x44, 0x74, 0x22, 0x30, 0x08, 0x42,
|
||||||
|
0xde, 0x0b, 0x26, 0xe8, 0x39, 0xcb, 0x18, 0x60, 0x23, 0xb9, 0xd2, 0x2b,
|
||||||
|
0xcc, 0x34, 0xcd, 0x16, 0x85, 0xca, 0xcf, 0x39, 0xd8, 0x77, 0x33, 0x1a,
|
||||||
|
0x3f, 0x42, 0xf7, 0x2b, 0xd0, 0x8e, 0x18, 0x90, 0xe4, 0x5c, 0x1a, 0xc6,
|
||||||
|
0x1c, 0xb6, 0x46, 0xe5, 0x22, 0xe2, 0x27, 0xbe, 0xa2, 0xc7, 0xfd, 0xb7,
|
||||||
|
0x7e, 0xff, 0xb4, 0x6b, 0x37, 0x00, 0xd4, 0x01, 0x00, 0xf2, 0xbf, 0xae,
|
||||||
|
0x23, 0x5e, 0x00, 0x50, 0xb6, 0xe0, 0x2d, 0x49, 0xe9, 0xd7, 0x97, 0x66,
|
||||||
|
0xae, 0x33, 0x77, 0xa1, 0x86, 0x46, 0xce, 0xe2, 0xf8, 0x33, 0x1e, 0x38,
|
||||||
|
0xbe, 0x08, 0x0b, 0xc4, 0x50, 0x18, 0xa3, 0x61, 0x29, 0x4a, 0x73, 0x44,
|
||||||
|
0x20, 0x0f, 0x8f, 0x5c, 0x6b, 0x09, 0xa8, 0x24, 0xe9, 0x43, 0xda, 0xf3,
|
||||||
|
0x1b, 0x8b, 0x78, 0xf8, 0x72, 0xbc, 0x13, 0x9c, 0xa7, 0x62, 0x37, 0xbe,
|
||||||
|
0x40, 0x47, 0xdd, 0xa6, 0x1a, 0x60, 0xf8, 0x8a, 0x80, 0x4f, 0x85, 0xb9,
|
||||||
|
0x95, 0xa7, 0x8c, 0x1c, 0x2b, 0xec, 0xd2, 0x88, 0x3d, 0x30, 0x81, 0x7e,
|
||||||
|
0x62, 0xd6, 0xff, 0xc2, 0xb5, 0xc4, 0x0b, 0x00, 0x8e, 0x83, 0x3a, 0xcd,
|
||||||
|
0x7e, 0xd5, 0x17, 0x19, 0x73, 0x3a, 0xfc, 0x86, 0x59, 0x10, 0x11, 0xe8,
|
||||||
|
0x50, 0xb9, 0x99, 0x83, 0xbd, 0x93, 0xdc, 0x81, 0xaf, 0x44, 0xd2, 0x9a,
|
||||||
|
0x03, 0x22, 0x0d, 0x9d, 0x3a, 0x82, 0x82, 0x51, 0x1b, 0x92, 0x00, 0x29,
|
||||||
|
0x21, 0xd2, 0x18, 0x91, 0x11, 0x87, 0x71, 0xc2, 0x7b, 0x01, 0xbe, 0x99,
|
||||||
|
0xe9, 0x82, 0xb3, 0xef, 0x87, 0xdb, 0x45, 0x49, 0xf1, 0x88, 0xcf, 0x29,
|
||||||
|
0xbc, 0x2f, 0x6f, 0x09, 0x0b, 0x7d, 0xe6, 0x22, 0x05, 0x86, 0x83, 0x58,
|
||||||
|
0xb5, 0x9d, 0x5f, 0xb2, 0xab, 0xc0, 0x81, 0xdb, 0xd2, 0x51, 0x7e, 0xe2,
|
||||||
|
0x0d, 0x1a, 0x31, 0x75, 0x40, 0xc5, 0xe7, 0x4a, 0x04, 0x00, 0x01, 0x1a,
|
||||||
|
0xea, 0x31, 0xc5, 0x32, 0x60, 0xc4, 0xbf, 0xac, 0x5b, 0x69, 0x13, 0x15,
|
||||||
|
0x76, 0x9f, 0x00, 0xd7, 0x48, 0x60, 0x53, 0x8e, 0x03, 0x7c, 0x17, 0xe4,
|
||||||
|
0x24, 0x63, 0x73, 0x64, 0x48, 0x79, 0x78, 0xc0, 0x18, 0x14, 0xc0, 0xe0,
|
||||||
|
0x57, 0x4c, 0xd0, 0x73, 0x26, 0x0e, 0xad, 0xde, 0xdb, 0xa9, 0xdc, 0xc2,
|
||||||
|
0xc1, 0xde, 0xeb, 0x5d, 0xc0, 0x8b, 0x88, 0x21, 0xd2, 0xf8, 0x72, 0xce,
|
||||||
|
0xd0, 0xf4, 0x3a, 0x05, 0x70, 0xf5, 0xf1, 0x24, 0xb0, 0x5e, 0x14, 0x5e,
|
||||||
|
0x25, 0x72, 0x2e, 0xe2, 0xf9, 0x76, 0x26, 0x37, 0xa1, 0x64, 0xa5, 0x1b,
|
||||||
|
0xf7, 0x01, 0xc5, 0x45, 0x3f, 0x78, 0xbd, 0x89, 0x00, 0x40, 0xa0, 0xa1,
|
||||||
|
0xb4, 0x6b, 0x8b, 0x3b, 0x2c, 0xb7, 0xf6, 0xa2, 0x0a, 0x22, 0x0d, 0x79,
|
||||||
|
0xf0, 0x5e, 0x17, 0x94, 0xbc, 0x1b, 0x1d, 0xa5, 0xb1, 0x44, 0x44, 0xca,
|
||||||
|
0x60, 0x1a, 0x2e, 0xdb, 0x6c, 0x69, 0x8a, 0x02, 0x39, 0x18, 0x78, 0x2f,
|
||||||
|
0x81, 0xfd, 0xbf, 0x73, 0x41, 0xd9, 0x3a, 0x65, 0xe9, 0xab, 0x16, 0x0d,
|
||||||
|
0xe9, 0xf9, 0x34, 0x5c, 0xb1, 0x23, 0x29, 0xaa, 0x4a, 0x77, 0x1c, 0x27,
|
||||||
|
0x5b, 0x37, 0x8d, 0x68, 0x9c, 0x05, 0xf5, 0xf1, 0xd3, 0x4f, 0xa2, 0x00,
|
||||||
|
0xc0, 0x71, 0x30, 0x4e, 0xed, 0x97, 0xbc, 0x65, 0x9f, 0x9c, 0x3d, 0x9d,
|
||||||
|
0x5d, 0x4a, 0x85, 0xbe, 0x03, 0x4b, 0xe8, 0x05, 0xd5, 0x7d, 0xcb, 0xc3,
|
||||||
|
0xf6, 0x7c, 0x67, 0x13, 0x0d, 0xa9, 0xe5, 0x00, 0xc9, 0xbf, 0x53, 0x00,
|
||||||
|
0xf9, 0x9f, 0x99, 0xa1, 0xc3, 0x68, 0x83, 0xe4, 0xfd, 0xbc, 0x02, 0xe8,
|
||||||
|
0xae, 0x52, 0x1e, 0x36, 0xf7, 0x77, 0x00, 0x8f, 0x8d, 0x61, 0x09, 0xe9,
|
||||||
|
0xab, 0xea, 0xf9, 0xa1, 0x81, 0x86, 0xbf, 0x6f, 0x82, 0x6e, 0x53, 0xc2,
|
||||||
|
0x65, 0x30, 0xcf, 0x11, 0x52, 0xf2, 0x1a, 0x7f, 0xdf, 0xc1, 0x39, 0xce,
|
||||||
|
0x0d, 0xa2, 0xf6, 0xb3, 0x6e, 0xfa, 0x49, 0x24, 0x00, 0x48, 0x43, 0xd6,
|
||||||
|
0xb4, 0xe1, 0x6c, 0xf7, 0xd1, 0x85, 0xb6, 0xf5, 0x6c, 0x26, 0xd3, 0x4b,
|
||||||
|
0xcc, 0xd5, 0xc4, 0x0f, 0x01, 0x1d, 0x7e, 0x66, 0xa5, 0x72, 0xad, 0xa2,
|
||||||
|
0x16, 0x11, 0xbd, 0xee, 0x33, 0x40, 0xde, 0x8b, 0x42, 0x6b, 0x20, 0x9a,
|
||||||
|
0xfd, 0xf1, 0x95, 0x13, 0x2f, 0x78, 0xe0, 0xe8, 0x82, 0x60, 0xd2, 0x57,
|
||||||
|
0xf3, 0x72, 0x01, 0xb4, 0xc8, 0xf7, 0xa5, 0x8e, 0xa0, 0xe1, 0xb2, 0x2d,
|
||||||
|
0x16, 0x30, 0x58, 0xc3, 0x09, 0xc2, 0x75, 0x96, 0x1c, 0xd9, 0xfb, 0x5b,
|
||||||
|
0xcf, 0xed, 0x17, 0x8e, 0xfa, 0x4a, 0x42, 0xcd, 0xb7, 0x66, 0x75, 0x21,
|
||||||
|
0xc5, 0x9f, 0x1a, 0x5e, 0x4b, 0x04, 0x05, 0x09, 0x40, 0xa2, 0x5c, 0x48,
|
||||||
|
0x2b, 0xd8, 0x92, 0xfa, 0x50, 0xd6, 0x95, 0x86, 0x39, 0x91, 0xf4, 0xe6,
|
||||||
|
0x3c, 0xc3, 0xc3, 0xce, 0x02, 0x27, 0xb8, 0x4b, 0x65, 0xc4, 0xa4, 0x44,
|
||||||
|
0x61, 0x24, 0x18, 0x51, 0x88, 0x88, 0xe4, 0x01, 0x34, 0x8c, 0xde, 0x93,
|
||||||
|
0x04, 0x4c, 0x52, 0x74, 0x85, 0x1c, 0x18, 0x95, 0x10, 0x38, 0x78, 0xaf,
|
||||||
|
0x1b, 0x4a, 0xde, 0xe6, 0xa2, 0x8c, 0xaf, 0xd5, 0xf3, 0xb1, 0x47, 0x95,
|
||||||
|
0xff, 0x99, 0x05, 0x32, 0xf2, 0xc3, 0x55, 0x17, 0x21, 0x84, 0x54, 0xac,
|
||||||
|
0x85, 0x45, 0x7b, 0x6e, 0x6c, 0x7c, 0x2b, 0x94, 0x7c, 0x75, 0xdd, 0x0f,
|
||||||
|
0x10, 0x89, 0x49, 0xa2, 0x00, 0xc0, 0x71, 0x31, 0x5e, 0x53, 0x72, 0xee,
|
||||||
|
0x4c, 0xcd, 0x1d, 0xf4, 0x32, 0xb3, 0xd6, 0x98, 0x42, 0xa5, 0x47, 0x2a,
|
||||||
|
0x8b, 0xd2, 0x0f, 0x39, 0x38, 0x38, 0xc3, 0xdd, 0x94, 0x1c, 0xd5, 0x3c,
|
||||||
|
0x5e, 0xea, 0xef, 0xd7, 0x54, 0xda, 0x00, 0xa5, 0x69, 0xe4, 0x81, 0x00,
|
||||||
|
0xf0, 0x1e, 0x02, 0x1b, 0xbb, 0x34, 0x82, 0xaf, 0x4e, 0x59, 0x7a, 0xca,
|
||||||
|
0x79, 0x3e, 0x30, 0x00, 0x03, 0x17, 0x19, 0x21, 0x67, 0xbe, 0x09, 0x90,
|
||||||
|
0x46, 0xc5, 0x87, 0xf7, 0x3c, 0x39, 0xf7, 0xdd, 0x74, 0x6e, 0xca, 0x99,
|
||||||
|
0x4f, 0xdc, 0xc7, 0x43, 0xc9, 0x37, 0xe6, 0xc5, 0x17, 0xa9, 0x80, 0x48,
|
||||||
|
0x24, 0x00, 0xc1, 0x64, 0x6c, 0x86, 0x8c, 0xb1, 0xdb, 0x32, 0x16, 0xd9,
|
||||||
|
0x47, 0x50, 0xd3, 0x02, 0xad, 0x9c, 0xd0, 0x81, 0xed, 0x03, 0x6c, 0x7e,
|
||||||
|
0x15, 0xbd, 0x18, 0xea, 0x8e, 0x7a, 0xf4, 0xa9, 0xa2, 0xf1, 0x95, 0x56,
|
||||||
|
0x60, 0x53, 0x9b, 0x07, 0x16, 0x57, 0xa8, 0xc8, 0xfb, 0x1b, 0xec, 0x0d,
|
||||||
|
0x80, 0x94, 0x27, 0x6b, 0x64, 0x61, 0x3e, 0x11, 0x11, 0x47, 0x31, 0x00,
|
||||||
|
0x3d, 0xee, 0x36, 0x40, 0xde, 0x12, 0x53, 0x28, 0xc2, 0x44, 0x63, 0xf0,
|
||||||
|
0x84, 0xd4, 0x6c, 0x85, 0x65, 0x3b, 0xc6, 0x34, 0x3e, 0x07, 0x00, 0x78,
|
||||||
|
0x1f, 0x00, 0xd6, 0xd5, 0xba, 0xb5, 0xbf, 0x18, 0x88, 0x44, 0x02, 0x80,
|
||||||
|
0xe3, 0x06, 0x5a, 0x13, 0x83, 0xe6, 0xa7, 0x8d, 0xbc, 0xe8, 0x51, 0x6a,
|
||||||
|
0x39, 0x6b, 0xa7, 0xd2, 0x22, 0x99, 0x1a, 0xbd, 0xf4, 0xc7, 0xbf, 0x79,
|
||||||
|
0xe1, 0xc4, 0x5f, 0xbd, 0x4d, 0x89, 0x32, 0x32, 0x52, 0xe4, 0xa8, 0x13,
|
||||||
|
0x23, 0xe2, 0x9a, 0x2a, 0x5b, 0x13, 0x00, 0x91, 0x25, 0x18, 0xb6, 0xbc,
|
||||||
|
0x37, 0xd8, 0xf0, 0x86, 0xc5, 0xe0, 0xa1, 0x95, 0x76, 0xd0, 0xf8, 0xd9,
|
||||||
|
0xff, 0x63, 0x80, 0x41, 0xcf, 0x99, 0x44, 0xb5, 0x46, 0xf3, 0x2c, 0xd0,
|
||||||
|
0xfb, 0x8f, 0xce, 0x23, 0xd3, 0x4f, 0xae, 0x70, 0x08, 0xd2, 0x33, 0xe6,
|
||||||
|
0xb5, 0x5f, 0xb9, 0x6b, 0x4a, 0x34, 0x00, 0x48, 0x9c, 0x56, 0xb3, 0x19,
|
||||||
|
0x32, 0xae, 0xd8, 0x9a, 0xb1, 0xc8, 0x3e, 0x12, 0xa6, 0x4a, 0x09, 0x5d,
|
||||||
|
0x9e, 0x03, 0x28, 0xfd, 0xb7, 0x17, 0x8e, 0x2e, 0xf4, 0x82, 0xfb, 0x6c,
|
||||||
|
0xc8, 0x8c, 0x32, 0x39, 0x20, 0xd2, 0x98, 0x02, 0x00, 0x52, 0x0d, 0x39,
|
||||||
|
0x31, 0x00, 0x5a, 0x8d, 0x8f, 0x74, 0x96, 0xb3, 0x80, 0x85, 0x3e, 0xf7,
|
||||||
|
0xb3, 0xc0, 0x84, 0xbe, 0x66, 0x24, 0xcc, 0x58, 0x3c, 0xe1, 0xab, 0x37,
|
||||||
|
0xc3, 0xd2, 0x1d, 0xe3, 0x1a, 0x5f, 0x14, 0x79, 0xbf, 0xae, 0xce, 0x67,
|
||||||
|
0x4b, 0x53, 0x10, 0x8e, 0x8f, 0x80, 0x06, 0x16, 0x6a, 0xfa, 0xce, 0x4e,
|
||||||
|
0x19, 0x96, 0xbb, 0xc8, 0xf0, 0xbe, 0xc1, 0x4e, 0x49, 0x32, 0x36, 0xda,
|
||||||
|
0xdb, 0x79, 0x9a, 0x87, 0xe3, 0x8b, 0x3d, 0x70, 0x76, 0x25, 0x17, 0xa8,
|
||||||
|
0x5e, 0x23, 0x0f, 0xc9, 0x1c, 0x50, 0x25, 0x9d, 0x03, 0xf0, 0xb3, 0x08,
|
||||||
|
0xc0, 0xc7, 0xa9, 0x8d, 0xc0, 0xfb, 0x34, 0x24, 0x7a, 0x1a, 0xa0, 0xd3,
|
||||||
|
0x04, 0x06, 0xfa, 0x3f, 0xc1, 0x82, 0x7d, 0x30, 0x13, 0xc5, 0xf9, 0xc2,
|
||||||
|
0x5c, 0x3c, 0x95, 0xa4, 0xec, 0xe0, 0x5d, 0xdc, 0x94, 0xb2, 0x42, 0xf7,
|
||||||
|
0x8f, 0xa2, 0xbe, 0x7f, 0x5c, 0xd2, 0xb3, 0x25, 0x29, 0x08, 0xc7, 0x0e,
|
||||||
|
0x44, 0x01, 0xf6, 0x87, 0xc6, 0xec, 0x49, 0x5b, 0x94, 0x3a, 0x92, 0x9e,
|
||||||
|
0x4a, 0xe1, 0x52, 0x59, 0xc4, 0xae, 0x09, 0x34, 0x11, 0xa2, 0xc5, 0x73,
|
||||||
|
0x04, 0x1a, 0x8e, 0xf2, 0x70, 0x72, 0x99, 0x0f, 0xce, 0xfd, 0xc7, 0x07,
|
||||||
|
0xde, 0xf3, 0xca, 0xf4, 0x81, 0xdd, 0x49, 0xa3, 0x28, 0x07, 0x88, 0x98,
|
||||||
|
0x1a, 0xfc, 0x1e, 0x08, 0x26, 0x61, 0x89, 0xaa, 0x5b, 0x00, 0x13, 0x5b,
|
||||||
|
0xdd, 0x9d, 0x26, 0x18, 0xa0, 0xd7, 0x7d, 0x46, 0x48, 0x1f, 0xc9, 0x00,
|
||||||
|
0x8d, 0xd2, 0x41, 0x86, 0x07, 0x08, 0x4f, 0xf8, 0x8a, 0x0d, 0x64, 0xc9,
|
||||||
|
0x9e, 0x1b, 0x1c, 0x4b, 0x43, 0xca, 0x47, 0xf7, 0x0d, 0xd9, 0xad, 0x45,
|
||||||
|
0x41, 0x61, 0x51, 0xd0, 0xfd, 0x16, 0x73, 0xff, 0x61, 0xff, 0xb4, 0xac,
|
||||||
|
0x35, 0xa6, 0x45, 0x28, 0x22, 0xc9, 0xd9, 0x90, 0x80, 0x07, 0xd7, 0xee,
|
||||||
|
0xf5, 0x43, 0xcd, 0x3e, 0x7f, 0x00, 0x14, 0x77, 0x39, 0x01, 0xbf, 0x87,
|
||||||
|
0x00, 0x6d, 0xa6, 0xc0, 0xdc, 0x91, 0x02, 0x94, 0xa1, 0x17, 0xcd, 0x63,
|
||||||
|
0x81, 0x0e, 0xef, 0x50, 0x37, 0xb5, 0x27, 0x30, 0xaa, 0x4a, 0xd7, 0xf8,
|
||||||
|
0xa0, 0xe2, 0x53, 0x0e, 0xdc, 0xe7, 0x08, 0x70, 0x8e, 0x60, 0x47, 0xd5,
|
||||||
|
0x94, 0x49, 0x81, 0xad, 0x1f, 0x0d, 0x69, 0x23, 0x18, 0xe8, 0x70, 0x05,
|
||||||
|
0x13, 0x58, 0x93, 0xd6, 0x72, 0x78, 0xce, 0xf1, 0x27, 0xb7, 0x8d, 0x72,
|
||||||
|
0xdc, 0xec, 0x2c, 0x81, 0x52, 0x51, 0xdb, 0x21, 0x61, 0xde, 0x2f, 0x18,
|
||||||
|
0x4b, 0xcb, 0x5c, 0x62, 0x7d, 0x4f, 0x60, 0xb5, 0x0c, 0xa3, 0xe0, 0xf2,
|
||||||
|
0x8d, 0x29, 0x73, 0x3a, 0x8e, 0x65, 0xe6, 0x00, 0x4d, 0xd1, 0xd2, 0xeb,
|
||||||
|
0x5b, 0xf2, 0x4d, 0xe6, 0x44, 0xef, 0xaa, 0x08, 0xc5, 0x96, 0xa6, 0x6b,
|
||||||
|
0xe1, 0x7d, 0x84, 0x3f, 0xbd, 0xcc, 0xf7, 0xc7, 0x43, 0xb3, 0x3d, 0x1f,
|
||||||
|
0x85, 0xbc, 0x3f, 0x61, 0xca, 0xa7, 0xa5, 0x29, 0x48, 0x1c, 0x05, 0xc9,
|
||||||
|
0xd6, 0x5e, 0xd0, 0xa5, 0x60, 0x5b, 0xda, 0x07, 0x96, 0x6c, 0xaa, 0xbf,
|
||||||
|
0x98, 0x2e, 0x94, 0xac, 0xa0, 0xb6, 0x16, 0x1c, 0x69, 0xc8, 0x68, 0x08,
|
||||||
|
0xd5, 0x1b, 0x76, 0x8a, 0xe7, 0x27, 0x80, 0xab, 0x78, 0x5b, 0xb6, 0xfe,
|
||||||
|
0xca, 0xf1, 0x07, 0x00, 0x40, 0x52, 0xc4, 0x3d, 0x3f, 0xba, 0xd6, 0x7c,
|
||||||
|
0xd5, 0xd0, 0x4e, 0xb4, 0x0a, 0x12, 0x9f, 0x0f, 0xa3, 0x00, 0xfb, 0x06,
|
||||||
|
0x69, 0x83, 0x9f, 0xb7, 0x5e, 0xdd, 0xfb, 0x7e, 0xe3, 0x3f, 0x19, 0x0b,
|
||||||
|
0xcd, 0xaa, 0xed, 0xdc, 0x53, 0xba, 0xc1, 0x49, 0x6c, 0x78, 0x21, 0x87,
|
||||||
|
0x24, 0xda, 0xf8, 0x78, 0x0e, 0x6f, 0x35, 0xa9, 0xfe, 0x7e, 0xae, 0xef,
|
||||||
|
0xce, 0xd3, 0x2b, 0x3c, 0x28, 0x3b, 0x71, 0xcb, 0x61, 0x42, 0xaa, 0xde,
|
||||||
|
0xd6, 0x50, 0x41, 0x91, 0xe7, 0xc0, 0x14, 0x67, 0x03, 0x13, 0x74, 0xf8,
|
||||||
|
0xcd, 0xe7, 0x29, 0x4f, 0xa6, 0xe7, 0x33, 0xb7, 0x45, 0x56, 0x98, 0xf8,
|
||||||
|
0x01, 0x6d, 0x1e, 0xdf, 0xfc, 0x4e, 0xf9, 0x12, 0x2e, 0x3e, 0xcf, 0xc7,
|
||||||
|
0x33, 0xf0, 0x5e, 0xc2, 0x97, 0xad, 0xe6, 0x17, 0x7f, 0x35, 0xcd, 0xb9,
|
||||||
|
0x3c, 0x24, 0x3b, 0x71, 0xc3, 0x15, 0xca, 0x4e, 0xe5, 0xca, 0x51, 0xcd,
|
||||||
|
0xd5, 0x65, 0xfe, 0xde, 0x92, 0x11, 0x80, 0xa7, 0xc4, 0xea, 0x38, 0xd0,
|
||||||
|
0x29, 0xed, 0x72, 0xb5, 0xa5, 0xcf, 0x90, 0x37, 0x8c, 0x6f, 0x27, 0xf5,
|
||||||
|
0x60, 0xfa, 0x0a, 0xa6, 0xd4, 0xc6, 0xf1, 0x82, 0xdf, 0x47, 0x7e, 0xab,
|
||||||
|
0xa1, 0x70, 0x45, 0xd2, 0xb1, 0xa0, 0x1d, 0x54, 0x11, 0x31, 0x22, 0xf5,
|
||||||
|
0x1c, 0xe4, 0x3f, 0xdf, 0x77, 0x8b, 0xe3, 0x4f, 0xce, 0x9f, 0x00, 0xff,
|
||||||
|
0xb3, 0x06, 0xf6, 0xfb, 0x5b, 0xf4, 0x1b, 0xd4, 0x5b, 0x1a, 0x00, 0xbc,
|
||||||
|
0x3a, 0xec, 0x94, 0x62, 0x42, 0x4e, 0x1d, 0xbc, 0x38, 0x79, 0x4c, 0xcf,
|
||||||
|
0xd9, 0xcc, 0x3f, 0x0c, 0x36, 0xca, 0xa2, 0xcd, 0xa1, 0x22, 0x6b, 0xdd,
|
||||||
|
0x48, 0x37, 0x52, 0x22, 0xa0, 0xd8, 0x1d, 0xd6, 0x5d, 0xce, 0x97, 0x1d,
|
||||||
|
0x79, 0x84, 0xbb, 0xa7, 0x64, 0x79, 0x18, 0xf5, 0x24, 0xa4, 0xe5, 0x20,
|
||||||
|
0x17, 0x20, 0xad, 0x01, 0x00, 0x9e, 0x43, 0xa0, 0xa2, 0x8c, 0x2b, 0xd6,
|
||||||
|
0x25, 0x3f, 0x94, 0x71, 0x15, 0x33, 0x93, 0x36, 0xca, 0xaa, 0xef, 0xa6,
|
||||||
|
0x3b, 0x7d, 0xc3, 0xe9, 0x49, 0xd9, 0xf8, 0xcd, 0x71, 0x10, 0xbb, 0xe1,
|
||||||
|
0x71, 0x64, 0xce, 0xc9, 0xbb, 0xcf, 0xbc, 0x0d, 0x0b, 0x0f, 0x3d, 0xe0,
|
||||||
|
0x10, 0x54, 0x0f, 0x6a, 0xfe, 0x84, 0x34, 0xdc, 0x94, 0xd8, 0xa9, 0x35,
|
||||||
|
0x00, 0x10, 0x53, 0x51, 0x8a, 0x3d, 0xcf, 0xd8, 0x6d, 0xc4, 0x2a, 0xcb,
|
||||||
|
0xcb, 0xc9, 0x03, 0xe9, 0x51, 0xc1, 0x02, 0x4d, 0x7c, 0xa8, 0x79, 0xbc,
|
||||||
|
0x34, 0x24, 0x7a, 0xe8, 0x26, 0xec, 0xac, 0x1c, 0xe1, 0xcf, 0xef, 0x20,
|
||||||
|
0x1f, 0xec, 0x1a, 0xef, 0x78, 0x06, 0xbc, 0x4d, 0xaa, 0xa7, 0x45, 0xa9,
|
||||||
|
0x47, 0x38, 0x7f, 0x6b, 0x01, 0x20, 0x50, 0x11, 0xae, 0x19, 0xd8, 0x7b,
|
||||||
|
0xdc, 0x6e, 0xba, 0x38, 0xf7, 0x59, 0xd3, 0x52, 0x4b, 0x67, 0x3a, 0x3b,
|
||||||
|
0xf8, 0x3d, 0x8b, 0x4a, 0x77, 0xc4, 0x88, 0xb9, 0x5e, 0xc4, 0xd7, 0x61,
|
||||||
|
0x71, 0xa2, 0x1c, 0x2b, 0x4a, 0x1e, 0x88, 0x7d, 0xfe, 0x86, 0xc3, 0xb0,
|
||||||
|
0x77, 0xff, 0x8d, 0x9e, 0x07, 0xeb, 0x8b, 0x7c, 0x58, 0x70, 0xe1, 0x2e,
|
||||||
|
0x51, 0x5c, 0x68, 0x6f, 0x51, 0xea, 0x69, 0x0b, 0x00, 0x10, 0xec, 0xc0,
|
||||||
|
0xca, 0x19, 0x4a, 0xd3, 0xbc, 0x67, 0x92, 0xc6, 0xf4, 0xb8, 0xc7, 0xf0,
|
||||||
|
0x9c, 0x29, 0x83, 0x4a, 0x55, 0x69, 0x4c, 0x47, 0xd9, 0x4f, 0x4e, 0xeb,
|
||||||
|
0xe8, 0x11, 0x22, 0xae, 0xd3, 0xa4, 0xf8, 0xdb, 0x3f, 0xb8, 0xef, 0x2f,
|
||||||
|
0x5b, 0xcf, 0xe1, 0xd7, 0x8e, 0xa1, 0xe4, 0xc4, 0x82, 0xab, 0xc5, 0x54,
|
||||||
|
0x4f, 0xe4, 0x1c, 0x5b, 0x33, 0x02, 0xf0, 0xdc, 0x42, 0xb3, 0x0e, 0x9b,
|
||||||
|
0x01, 0x69, 0xbf, 0x7a, 0xd5, 0x3a, 0xa9, 0xdb, 0x1d, 0xcc, 0x53, 0x06,
|
||||||
|
0x5b, 0xf8, 0x4e, 0x0a, 0x41, 0xf7, 0x48, 0x19, 0x34, 0x5e, 0xba, 0x11,
|
||||||
|
0x8f, 0xe9, 0x3a, 0xc7, 0x57, 0x1e, 0x7d, 0xcc, 0x37, 0xbb, 0xe4, 0x2d,
|
||||||
|
0xef, 0xa1, 0x90, 0xf1, 0x51, 0x72, 0xb6, 0x38, 0xef, 0x8b, 0xe7, 0xd0,
|
||||||
|
0xda, 0x00, 0x88, 0xf3, 0x41, 0x00, 0x84, 0x61, 0xff, 0x32, 0x4f, 0xeb,
|
||||||
|
0x7a, 0x13, 0xfb, 0x27, 0x83, 0x55, 0xd8, 0x5d, 0xad, 0x56, 0x5a, 0xe9,
|
||||||
|
0xa7, 0x1b, 0xf1, 0x85, 0xbb, 0xcb, 0xf9, 0xf3, 0x45, 0x4b, 0xfc, 0xf3,
|
||||||
|
0x7f, 0x7c, 0xde, 0xbd, 0x27, 0x64, 0x7c, 0x4c, 0xba, 0xad, 0xc2, 0xfb,
|
||||||
|
0x6d, 0x0d, 0x00, 0x9e, 0x5f, 0xa8, 0x92, 0x93, 0x81, 0x85, 0xf4, 0x5f,
|
||||||
|
0xbf, 0x69, 0xbe, 0xbd, 0xf3, 0x64, 0xe3, 0x43, 0xcd, 0x20, 0x84, 0x73,
|
||||||
|
0x7d, 0x73, 0x44, 0x48, 0x77, 0x93, 0x62, 0xa5, 0x1e, 0x4f, 0x15, 0xb9,
|
||||||
|
0x50, 0xfc, 0x77, 0xee, 0x91, 0x63, 0x4f, 0xbb, 0xf1, 0xee, 0x76, 0xdc,
|
||||||
|
0x5c, 0x85, 0x9e, 0x8f, 0xc6, 0xd7, 0xb5, 0xc1, 0x36, 0xd6, 0xf3, 0xb7,
|
||||||
|
0x07, 0x00, 0x84, 0xa4, 0x8c, 0xad, 0x0a, 0x8c, 0x84, 0xf4, 0x61, 0xcb,
|
||||||
|
0x2d, 0xd3, 0x3a, 0x5f, 0xc7, 0xcc, 0x65, 0x53, 0x68, 0x33, 0x89, 0x8a,
|
||||||
|
0x4b, 0x7d, 0xd2, 0x32, 0xd2, 0x30, 0x04, 0x08, 0xf1, 0x94, 0x91, 0xda,
|
||||||
|
0xe2, 0xa5, 0xde, 0x47, 0x8f, 0x3f, 0xe5, 0xc3, 0xaf, 0x97, 0x41, 0xce,
|
||||||
|
0x17, 0x8c, 0xdf, 0x2a, 0x49, 0xb7, 0xad, 0x73, 0x40, 0xe4, 0xf9, 0x31,
|
||||||
|
0x29, 0x23, 0x08, 0x29, 0x58, 0xa8, 0x5d, 0xfc, 0x92, 0x69, 0x42, 0xb7,
|
||||||
|
0xdb, 0x8c, 0x0b, 0x4c, 0x99, 0x74, 0x2a, 0x50, 0x08, 0x43, 0x62, 0x3c,
|
||||||
|
0x3e, 0x40, 0x5a, 0x3c, 0x21, 0x8e, 0x53, 0x7c, 0xc9, 0x8f, 0x8b, 0xb8,
|
||||||
|
0x05, 0xa7, 0xde, 0xf1, 0x7e, 0x1b, 0x52, 0x3b, 0xd8, 0x64, 0x43, 0xcf,
|
||||||
|
0x6f, 0x13, 0xe3, 0x0b, 0x49, 0x31, 0x9e, 0x08, 0x8a, 0xf7, 0xb3, 0x68,
|
||||||
|
0xe1, 0x66, 0x3a, 0x02, 0xb0, 0xf7, 0x79, 0xd0, 0x38, 0xa2, 0xd7, 0x2c,
|
||||||
|
0xf6, 0x51, 0x5b, 0x1f, 0x3a, 0x87, 0x62, 0x12, 0xb2, 0x73, 0x0f, 0xd7,
|
||||||
|
0x14, 0x48, 0xdd, 0x21, 0x7e, 0xf7, 0x91, 0xc7, 0x3d, 0xcf, 0x9e, 0xff,
|
||||||
|
0xcc, 0x5f, 0x1c, 0x32, 0xbe, 0x98, 0x76, 0x12, 0x13, 0x62, 0x3a, 0xac,
|
||||||
|
0xd1, 0x16, 0x49, 0x58, 0x6a, 0x9a, 0x18, 0x09, 0xd8, 0x33, 0xc2, 0xff,
|
||||||
|
0x3b, 0x63, 0xcf, 0xba, 0xd2, 0xd0, 0xb3, 0xdf, 0xa3, 0xec, 0x03, 0xf6,
|
||||||
|
0x61, 0xf4, 0x58, 0x43, 0x0a, 0xc5, 0x8a, 0x77, 0x57, 0xc4, 0x72, 0x8d,
|
||||||
|
0x84, 0x07, 0xbc, 0xf9, 0xae, 0xb1, 0x66, 0x07, 0xb7, 0xea, 0xbb, 0x3f,
|
||||||
|
0xba, 0xdf, 0x75, 0x95, 0x04, 0xb6, 0x13, 0x62, 0x7f, 0x07, 0x13, 0x2e,
|
||||||
|
0xb6, 0x97, 0x5b, 0xe5, 0xdf, 0x15, 0x2a, 0xcd, 0xb9, 0xbd, 0x00, 0x20,
|
||||||
|
0x24, 0x66, 0x04, 0x01, 0xfb, 0x46, 0x29, 0xc6, 0x24, 0x48, 0xed, 0xf7,
|
||||||
|
0x98, 0xe9, 0xca, 0xac, 0x6b, 0x0c, 0xd3, 0x6d, 0x17, 0x51, 0x03, 0x18,
|
||||||
|
0x33, 0x45, 0x6b, 0x8d, 0x07, 0x5c, 0x19, 0xf3, 0x3b, 0x08, 0xd7, 0x70,
|
||||||
|
0x8c, 0x3f, 0x70, 0x76, 0xa5, 0xef, 0xcd, 0xa2, 0x57, 0x7d, 0x07, 0xc0,
|
||||||
|
0x17, 0x30, 0x3c, 0x52, 0x0e, 0xb6, 0x96, 0x51, 0x6a, 0xb6, 0x19, 0xed,
|
||||||
|
0xb4, 0x97, 0x24, 0x2c, 0xe5, 0x18, 0xd8, 0x3d, 0xc5, 0xbe, 0x11, 0x82,
|
||||||
|
0x80, 0x05, 0x5b, 0x72, 0xea, 0x20, 0x43, 0xc7, 0xec, 0xbb, 0xe9, 0x82,
|
||||||
|
0x8c, 0x02, 0xc3, 0xa4, 0xa4, 0x1e, 0x74, 0xae, 0x31, 0x19, 0x18, 0xca,
|
||||||
|
0x20, 0xed, 0x37, 0x84, 0x23, 0xe0, 0xab, 0x07, 0xbf, 0xa3, 0xd8, 0x7f,
|
||||||
|
0xe8, 0xfc, 0xe7, 0xfe, 0x35, 0xa7, 0x97, 0x79, 0x77, 0x35, 0x9c, 0x0c,
|
||||||
|
0xec, 0xe3, 0x41, 0xba, 0x41, 0xaf, 0xc7, 0x0a, 0x17, 0x8d, 0x9f, 0xd0,
|
||||||
|
0x65, 0xc5, 0x58, 0xa2, 0xb2, 0xbd, 0x25, 0x61, 0xa9, 0xb9, 0x0b, 0x15,
|
||||||
|
0x33, 0x46, 0x03, 0xb6, 0x2e, 0x10, 0x08, 0xab, 0x25, 0x0b, 0xec, 0x99,
|
||||||
|
0x13, 0x8d, 0x7d, 0x32, 0x47, 0xd3, 0xf9, 0xd6, 0x1c, 0x7a, 0xa8, 0xa9,
|
||||||
|
0x03, 0xd5, 0x93, 0x36, 0x51, 0xa9, 0xd8, 0x4f, 0xf2, 0xbb, 0x49, 0x9d,
|
||||||
|
0xa7, 0x8a, 0x9c, 0x6c, 0x38, 0xc1, 0x1f, 0xa8, 0xfa, 0x9c, 0xdb, 0x5d,
|
||||||
|
0x5e, 0xe8, 0x2f, 0xe6, 0x6a, 0x02, 0x46, 0xc7, 0xaa, 0x16, 0x1f, 0x68,
|
||||||
|
0x78, 0xa4, 0x1c, 0xf4, 0xfa, 0x76, 0x63, 0xfc, 0xf6, 0x90, 0x84, 0x95,
|
||||||
|
0x9c, 0x07, 0x93, 0x33, 0x46, 0x03, 0x6e, 0x73, 0x41, 0xa5, 0x84, 0x60,
|
||||||
|
0xe0, 0x4f, 0x7c, 0xe0, 0xeb, 0x98, 0x37, 0x84, 0x0d, 0x84, 0x68, 0x54,
|
||||||
|
0xe4, 0x73, 0x6c, 0x21, 0xa0, 0xa1, 0x51, 0xd9, 0xa0, 0xd1, 0x05, 0xc3,
|
||||||
|
0xe3, 0xeb, 0xad, 0xae, 0xf1, 0xb5, 0x44, 0x46, 0x7b, 0xca, 0x01, 0x72,
|
||||||
|
0xd1, 0x80, 0x40, 0xe0, 0x03, 0x81, 0xc0, 0x07, 0x1a, 0x5f, 0x00, 0x40,
|
||||||
|
0xd8, 0x41, 0x8b, 0x00, 0xa0, 0x77, 0xe3, 0x03, 0x29, 0x46, 0x78, 0xe0,
|
||||||
|
0xf3, 0x36, 0x4f, 0xb4, 0x3f, 0x97, 0x24, 0xac, 0x36, 0x4f, 0xf4, 0x76,
|
||||||
|
0x7c, 0x08, 0x80, 0xe0, 0xef, 0xe8, 0x40, 0x42, 0xb1, 0x80, 0x86, 0x16,
|
||||||
|
0x80, 0xc0, 0x9f, 0xf8, 0x68, 0x33, 0x79, 0xa9, 0xc5, 0xfb, 0xdb, 0x3b,
|
||||||
|
0x05, 0xc9, 0x5d, 0x83, 0x10, 0xb5, 0x82, 0xf1, 0x03, 0x75, 0x56, 0xe8,
|
||||||
|
0xcd, 0xf8, 0xb3, 0xdd, 0x1b, 0xbd, 0x3d, 0xab, 0x20, 0xad, 0x8e, 0xf3,
|
||||||
|
0x5f, 0xf3, 0xbe, 0xf6, 0x9e, 0x03, 0xfe, 0x6b, 0x0c, 0x2d, 0x77, 0x21,
|
||||||
|
0xff, 0x0f, 0xe5, 0x1f, 0x96, 0x06, 0x00, 0xa2, 0x23, 0x7f, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||||
|
}
|
||||||
|
|
100
main.go
Normal file
100
main.go
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/atotto/clipboard"
|
||||||
|
"github.com/getlantern/systray"
|
||||||
|
"github.com/martinlindhe/inputbox"
|
||||||
|
"github.com/martinlindhe/notify"
|
||||||
|
"github.com/pkg/browser"
|
||||||
|
|
||||||
|
"postwoman.io/proxy/icons"
|
||||||
|
"postwoman.io/proxy/proxy"
|
||||||
|
);
|
||||||
|
|
||||||
|
var mStatus *systray.MenuItem;
|
||||||
|
var mCopyAccessToken *systray.MenuItem;
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
systray.Run(onReady, onExit);
|
||||||
|
}
|
||||||
|
|
||||||
|
func onReady() {
|
||||||
|
systray.SetIcon(icon.Data);
|
||||||
|
systray.SetTooltip("Postwoman Proxy v1.0.0 - created by NBTX");
|
||||||
|
|
||||||
|
/** Set up menu items. **/
|
||||||
|
|
||||||
|
// Status
|
||||||
|
mStatus = systray.AddMenuItem("Starting...", "");
|
||||||
|
mStatus.Disable();
|
||||||
|
mCopyAccessToken = systray.AddMenuItem("Copy Access Token...", "");
|
||||||
|
mCopyAccessToken.Disable();
|
||||||
|
|
||||||
|
systray.AddSeparator();
|
||||||
|
|
||||||
|
// Open Postwoman Interface
|
||||||
|
mOpenPostwoman := systray.AddMenuItem("Open Postwoman", "");
|
||||||
|
|
||||||
|
systray.AddSeparator();
|
||||||
|
|
||||||
|
// View Help
|
||||||
|
mViewHelp := systray.AddMenuItem("Help...", "");
|
||||||
|
// Set Proxy Authentication Token
|
||||||
|
mSetAccessToken := systray.AddMenuItem("Set Access Token...", "");
|
||||||
|
// Check for Updates
|
||||||
|
mUpdateCheck := systray.AddMenuItem("Check for Updates...", "");
|
||||||
|
|
||||||
|
systray.AddSeparator();
|
||||||
|
|
||||||
|
// Quit Proxy
|
||||||
|
mQuit := systray.AddMenuItem("Quit Postwoman Proxy", "");
|
||||||
|
|
||||||
|
/** Start proxy server. **/
|
||||||
|
go runPostwomanProxy();
|
||||||
|
|
||||||
|
/** Wait for menu input. **/
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <- mOpenPostwoman.ClickedCh:
|
||||||
|
_ = browser.OpenURL("https://postwoman.io/");
|
||||||
|
|
||||||
|
case <- mCopyAccessToken.ClickedCh:
|
||||||
|
_ = clipboard.WriteAll(proxy.GetAccessToken());
|
||||||
|
notify.Notify("Postwoman", "Proxy Access Token copied...", "The Proxy Access Token has been copied to your clipboard.", "icons/icon.png");
|
||||||
|
|
||||||
|
case <- mViewHelp.ClickedCh:
|
||||||
|
_ = browser.OpenURL("https://github.com/NBTX/postwoman-proxy/wiki");
|
||||||
|
|
||||||
|
case <- mSetAccessToken.ClickedCh:
|
||||||
|
newAccessToken, success := inputbox.InputBox("Postwoman Proxy", "Please enter the new Proxy Access Token...\n(Leave this blank to disable access checks.)", "");
|
||||||
|
if success {
|
||||||
|
proxy.SetAccessToken(newAccessToken);
|
||||||
|
notify.Notify("Postwoman", "Proxy Access Token updated...", "The Proxy Access Token has been updated.", "icons/icon.png")
|
||||||
|
}
|
||||||
|
|
||||||
|
case <- mUpdateCheck.ClickedCh:
|
||||||
|
// TODO: Add update check.
|
||||||
|
_ = browser.OpenURL("https://github.com/NBTX/postwoman-proxy");
|
||||||
|
|
||||||
|
case <- mQuit.ClickedCh:
|
||||||
|
systray.Quit();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func onExit() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func runPostwomanProxy() {
|
||||||
|
proxy.Initialize("test", "postwoman-proxy.local:9159", onProxyStateChange);
|
||||||
|
}
|
||||||
|
|
||||||
|
func onProxyStateChange(status string, isListening bool){
|
||||||
|
mStatus.SetTitle(status);
|
||||||
|
|
||||||
|
if isListening {
|
||||||
|
mCopyAccessToken.Enable();
|
||||||
|
}
|
||||||
|
}
|
89
main.ts
89
main.ts
|
@ -1,89 +0,0 @@
|
||||||
import express, { Request, Response, NextFunction } from 'express';
|
|
||||||
import bodyParser from 'body-parser';
|
|
||||||
import axios from 'axios';
|
|
||||||
import URL from 'url';
|
|
||||||
|
|
||||||
import pkg from './package.json';
|
|
||||||
import config from './config.json';
|
|
||||||
|
|
||||||
const app = express();
|
|
||||||
app.use(bodyParser.json());
|
|
||||||
|
|
||||||
app.use((req: Request, res: Response, next: NextFunction) => {
|
|
||||||
if(req.method === "OPTIONS"){
|
|
||||||
res.status(200);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!!req.get('origin')){
|
|
||||||
if(config.allowedOrigins.some((allowedOrigin) => {
|
|
||||||
let origin = URL.parse(req.get('origin') as string);
|
|
||||||
return `${origin.protocol}//${origin.hostname}` === allowedOrigin;
|
|
||||||
})) res.header('Access-Control-Allow-Origin', req.get('origin'));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
res.header('Access-Control-Allow-Headers', '*');
|
|
||||||
next();
|
|
||||||
});
|
|
||||||
|
|
||||||
app.get('/', async (req: Request, res: Response) => {
|
|
||||||
res.json({});
|
|
||||||
});
|
|
||||||
|
|
||||||
app.post('/', async (req: Request, res: Response) => {
|
|
||||||
if(!['method', 'url', 'headers'].every((property) => req.body[property] !== undefined)){
|
|
||||||
return res.json({
|
|
||||||
success: false,
|
|
||||||
data: {
|
|
||||||
message: "Invalid request body sent."
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const {
|
|
||||||
method,
|
|
||||||
url,
|
|
||||||
auth,
|
|
||||||
headers,
|
|
||||||
data
|
|
||||||
} = req.body;
|
|
||||||
|
|
||||||
try {
|
|
||||||
const payload = await axios({
|
|
||||||
method,
|
|
||||||
url,
|
|
||||||
auth,
|
|
||||||
headers,
|
|
||||||
data
|
|
||||||
});
|
|
||||||
|
|
||||||
return await res.json({
|
|
||||||
success: true,
|
|
||||||
data: payload.data,
|
|
||||||
status: payload.status,
|
|
||||||
statusText: payload.statusText,
|
|
||||||
headers: payload.headers,
|
|
||||||
});
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
if (error.response) {
|
|
||||||
const errorResponse = error.response;
|
|
||||||
return res.json({
|
|
||||||
success: false,
|
|
||||||
data: errorResponse.data,
|
|
||||||
status: errorResponse.status,
|
|
||||||
statusText: errorResponse.statusText,
|
|
||||||
headers: errorResponse.headers,
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return res.status(500).send({
|
|
||||||
success: false,
|
|
||||||
data: {
|
|
||||||
message: "An unknown error occurred whilst the proxy was processing your request."
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
app.listen(config.port, () => console.log(`${pkg.humanName} listening on http://localhost:${config.port}/`));
|
|
3107
package-lock.json
generated
3107
package-lock.json
generated
File diff suppressed because it is too large
Load diff
26
package.json
26
package.json
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"humanName": "Postwoman Proxy",
|
|
||||||
"name": "postwoman-proxy",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "A simple proxy server for the Postwoman application.",
|
|
||||||
"main": "main.ts",
|
|
||||||
"dependencies": {
|
|
||||||
"axios": "^0.19.0",
|
|
||||||
"express": "^4.17.1",
|
|
||||||
"ts-node": "^8.4.1",
|
|
||||||
"typescript": "^3.6.4"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/body-parser": "^1.17.1",
|
|
||||||
"@types/express": "^4.17.1",
|
|
||||||
"nodemon": "^1.19.4"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"start-ts": "ts-node main.ts",
|
|
||||||
"start": "node main.js",
|
|
||||||
"build": "tsc",
|
|
||||||
"dev": "nodemon"
|
|
||||||
},
|
|
||||||
"author": "NBTX",
|
|
||||||
"license": "MIT"
|
|
||||||
}
|
|
150
proxy/proxy.go
Normal file
150
proxy/proxy.go
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
package proxy
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"strings"
|
||||||
|
);
|
||||||
|
|
||||||
|
type statusChangeFunction func(status string, isListening bool);
|
||||||
|
var accessToken string;
|
||||||
|
|
||||||
|
type Request struct {
|
||||||
|
AccessToken string;
|
||||||
|
Method string;
|
||||||
|
Url string;
|
||||||
|
Auth struct {
|
||||||
|
Username string;
|
||||||
|
Password string;
|
||||||
|
};
|
||||||
|
Headers map[string]string;
|
||||||
|
Data string;
|
||||||
|
}
|
||||||
|
|
||||||
|
type Response struct {
|
||||||
|
Success bool `json:"success"`;
|
||||||
|
Data string `json:"data"`;
|
||||||
|
Status int `json:"status"`;
|
||||||
|
StatusText string `json:"statusText"`;
|
||||||
|
Headers map[string]string `json:"headers"`;
|
||||||
|
}
|
||||||
|
|
||||||
|
func Initialize(initialAccessToken string, proxyURL string, onStatusChange statusChangeFunction) {
|
||||||
|
accessToken = initialAccessToken;
|
||||||
|
fmt.Println("Starting proxy server...");
|
||||||
|
|
||||||
|
http.HandleFunc("/", proxyHandler);
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
httpServerError := http.ListenAndServe(proxyURL, nil);
|
||||||
|
|
||||||
|
if httpServerError != nil {
|
||||||
|
onStatusChange("An error occurred.", false);
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
onStatusChange("Listening on http://" + proxyURL + "/", true);
|
||||||
|
fmt.Println("Proxy server listening on http://" + proxyURL + "/");
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetAccessToken() string {
|
||||||
|
return accessToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetAccessToken(newAccessToken string) {
|
||||||
|
accessToken = newAccessToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
func proxyHandler(response http.ResponseWriter, request *http.Request) {
|
||||||
|
// We want to allow all types of requests to the proxy, though we only want to allow certain
|
||||||
|
// origins.
|
||||||
|
response.Header().Add("Access-Control-Allow-Origin", "*");
|
||||||
|
response.Header().Add("Access-Control-Allow-Headers", "*");
|
||||||
|
if request.Method == "OPTIONS" {
|
||||||
|
response.WriteHeader(200);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then, for anything other than an POST request, we'll return an empty JSON object.
|
||||||
|
response.Header().Add("Content-Type", "application/json; charset=utf-8");
|
||||||
|
if request.Method != "POST" {
|
||||||
|
_, _ = fmt.Fprintln(response, "{}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to parse request body.
|
||||||
|
var requestData Request;
|
||||||
|
err := json.NewDecoder(request.Body).Decode(&requestData);
|
||||||
|
if (err != nil || len(requestData.Url) == 0 || len(requestData.Method) == 0) {
|
||||||
|
// If the logged err is nil here, it means either the URL or method were not supplied
|
||||||
|
// in the request data.
|
||||||
|
log.Printf("Failed to parse request body: %v", err);
|
||||||
|
_, _ = fmt.Fprintln(response, "{\"success\": false, \"data\":{\"message\":\"(Proxy Error) Invalid request.\"}}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(len(accessToken) > 0 && requestData.AccessToken != accessToken){
|
||||||
|
log.Print("An unauthorized request was made.");
|
||||||
|
_, _ = fmt.Fprintln(response, "{\"success\": false, \"data\":{\"message\":\"(Proxy Error) Unauthorized request; you may need to set your access token in Settings.\"}}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make the request
|
||||||
|
var proxyRequest http.Request;
|
||||||
|
proxyRequest.Method = requestData.Method;
|
||||||
|
proxyRequest.URL, err = url.Parse(requestData.Url);
|
||||||
|
if(len(requestData.Auth.Username) > 0 && len(requestData.Auth.Password) > 0) {
|
||||||
|
proxyRequest.SetBasicAuth(requestData.Auth.Username, requestData.Auth.Password);
|
||||||
|
}
|
||||||
|
for k, v := range requestData.Headers {
|
||||||
|
proxyRequest.Header.Set(k, v);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(len(requestData.Data) > 0) {
|
||||||
|
var proxyRequestBody []byte;
|
||||||
|
proxyRequestBody, err = ioutil.ReadAll(strings.NewReader(requestData.Data));
|
||||||
|
_, err = proxyRequest.Body.Read(proxyRequestBody);
|
||||||
|
}
|
||||||
|
|
||||||
|
var client http.Client;
|
||||||
|
var proxyResponse *http.Response;
|
||||||
|
proxyResponse, err = client.Do(&proxyRequest);
|
||||||
|
|
||||||
|
var responseData Response;
|
||||||
|
responseData.Success = true;
|
||||||
|
responseData.Status = proxyResponse.StatusCode;
|
||||||
|
responseData.StatusText = strings.Join(strings.Split(proxyResponse.Status, " ")[1:], " ");
|
||||||
|
responseBytes, err := ioutil.ReadAll(proxyResponse.Body);
|
||||||
|
responseData.Data = string(responseBytes);
|
||||||
|
responseData.Headers = headerToArray(proxyResponse.Header);
|
||||||
|
|
||||||
|
// Write the request body to the response.
|
||||||
|
err = json.NewEncoder(response).Encode(responseData);
|
||||||
|
|
||||||
|
// Return the response.
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Failed to write response body: %v. %d bytes written.", err);
|
||||||
|
_, _ = fmt.Fprintln(response, "{\"success\": false, \"data\":{\"message\":\"(Proxy Error) Request failed.\"}}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Converts http.Header to a map.
|
||||||
|
/// Original Source: https://stackoverflow.com/a/37030039/2872279 (modified)
|
||||||
|
///
|
||||||
|
func headerToArray(header http.Header) (res map[string]string) {
|
||||||
|
res = make(map[string]string);
|
||||||
|
|
||||||
|
for name, values := range header {
|
||||||
|
for _, value := range values {
|
||||||
|
res[name] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
|
@ -1,9 +0,0 @@
|
||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"target": "esnext",
|
|
||||||
"module": "commonjs",
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"resolveJsonModule": true,
|
|
||||||
"strict": true
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue