tumblr-sync 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.md +3 -0
- data/lib/tumblr-sync/runner.rb +12 -9
- data/lib/tumblr-sync/tumblr.rb +1 -1
- data/lib/tumblr-sync/version.rb +1 -1
- data/test/fixtures/api.xml +39 -1
- data/test/test_tumblr.rb +8 -2
- metadata +22 -45
- checksums.yaml.gz.sig +0 -2
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2edebfa1352fb0b59d5bd7d2303511cfd92fc44
|
4
|
+
data.tar.gz: 9d035dba102a1d72c8d638ae8a04dd120ccba82f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 016d7bc3325a367056f86140198dfa4adadb8bfddb07593826dd78779446d99ea3650ecffa447d367e9366b487e1057e262303c6ab88332a8cab2f4f1d724138
|
7
|
+
data.tar.gz: a78b6d9a55a200f6d9dfb0d3252da6494bbbfd7947fcc877385ba60cec04b3121fe90d2e95f3bb84e6339ec57f8d331b1a7a3b7ef3ad7bb9dc7b945148820693
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# TumblrSync
|
2
2
|
|
3
|
+
[![Build Status](https://travis-ci.org/madwork/tumblr-sync.png)](https://travis-ci.org/madwork/tumblr-sync)
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/tumblr-sync.png)](http://badge.fury.io/rb/tumblr-sync)
|
5
|
+
|
3
6
|
MultiThread Tumblr Synchronization
|
4
7
|
|
5
8
|
You like download and fill your hard drive with tons of funny pictures, this tool is for you!
|
data/lib/tumblr-sync/runner.rb
CHANGED
@@ -29,15 +29,18 @@ module TumblrSync
|
|
29
29
|
images = queue.pop
|
30
30
|
images.each_slice(10).each do |group|
|
31
31
|
threads = []
|
32
|
-
group.each do |
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
32
|
+
group.each do |urls|
|
33
|
+
progress_bar.total += (urls.size - 1)
|
34
|
+
urls.each do |url|
|
35
|
+
threads << Thread.new {
|
36
|
+
begin
|
37
|
+
photo_fetcher.fetch url
|
38
|
+
rescue Mechanize::ResponseCodeError
|
39
|
+
ensure
|
40
|
+
progress_bar.increment
|
41
|
+
end
|
42
|
+
}
|
43
|
+
end
|
41
44
|
end
|
42
45
|
threads.each(&:join)
|
43
46
|
end
|
data/lib/tumblr-sync/tumblr.rb
CHANGED
@@ -16,7 +16,7 @@ module TumblrSync
|
|
16
16
|
def images(start, number = MAX)
|
17
17
|
response = Net::HTTP.get_response uri_endpoint(type: :photo, start: start, num: number)
|
18
18
|
doc = Nokogiri::XML.parse response.body
|
19
|
-
doc.xpath("//posts/post
|
19
|
+
doc.xpath("//posts/post").map{|post| post.xpath(".//photo-url[@max-width='1280']").map { |url| url.text.strip }.uniq }
|
20
20
|
end
|
21
21
|
|
22
22
|
def total
|
data/lib/tumblr-sync/version.rb
CHANGED
data/test/fixtures/api.xml
CHANGED
@@ -59,5 +59,43 @@ http://24.media.tumblr.com/tumblr_mebojvwCIb1rjwt7po1_75sq.jpg
|
|
59
59
|
<tag>look</tag>
|
60
60
|
<tag>clothes</tag>
|
61
61
|
</post>
|
62
|
+
<post id="114776082263" url="http://steveargyle.tumblr.com/post/114776082263" url-with-slug="http://steveargyle.tumblr.com/post/114776082263/thalia-guardian-of-thraben-world-magic-cup-promo" type="photo" date-gmt="2015-03-27 19:35:35 GMT" date="Fri, 27 Mar 2015 13:35:35" unix-timestamp="1427484935" format="html" reblog-key="yPypkR39" slug="thalia-guardian-of-thraben-world-magic-cup-promo" width="900" height="657">
|
63
|
+
<photo-caption><h2>Thalia, Guardian of Thraben World Magic Cup promo card has finally spoiled!</h2><p>Creating artwork for a promotional version of a character is an interesting challenge of balance. You need the work to stay true to the original, but offer some new insight, story, or perspective. It&rsquo;s also really intimidating to be following artwork that is already incredible, such as the original by Jana Schirmer and Johannes Voss.</p><p>As shown in the sketches, a few of the approaches considered were to show her in front of, or in, a vibrant, thriving city of Thraben. Or perhaps commanding her armies, or admiring a statue of Avacyn. While you only get one piece in the end, between me, the art directors, and the concept teams, a whole lot of ideas are explored. In the end, we settled on one with subtlety. Instead of a more typical Magic high-action, or epic hero shot, we see this fearsome commander in a moment of humility, saluting another mighty guardian, Avacyn.</p><p>And that part is pretty subtle, no? Avacyn is portrayed here almost entirely as a light source. And while you&rsquo;ll never-never-never-ever-ever see it on the card, Avacyn is there, a tiny little reflection of her in Thalia&rsquo;s eyes. I am relentlessly detail obsessed, if you hadn&rsquo;t already noticed. (Such as the basket hilt design, which if you haven&rsquo;t caught it, is a heron of Innistrad.)</p><p>For Magic the Gathering. Copyright Wizards of the Coast. Art directed by Jeremy Jarvis.</p><p><a href="http://www.steveargyle.com/#!thalia-guardian-of-thraben/c9g5">http://www.steveargyle.com/#!thalia-guardian-of-thraben/c9g5</a><br/></p></photo-caption>
|
64
|
+
<photo-url max-width="1280">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_1280.jpg</photo-url>
|
65
|
+
<photo-url max-width="500">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_500.jpg</photo-url>
|
66
|
+
<photo-url max-width="400">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_400.jpg</photo-url>
|
67
|
+
<photo-url max-width="250">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_250.jpg</photo-url>
|
68
|
+
<photo-url max-width="100">http://41.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_100.jpg</photo-url>
|
69
|
+
<photo-url max-width="75">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_75sq.jpg</photo-url>
|
70
|
+
<photoset>
|
71
|
+
<photo offset="o1" caption="Saluting Avacyn" width="900" height="657">
|
72
|
+
<photo-url max-width="1280">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_1280.jpg</photo-url>
|
73
|
+
<photo-url max-width="500">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_500.jpg</photo-url>
|
74
|
+
<photo-url max-width="400">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_400.jpg</photo-url>
|
75
|
+
<photo-url max-width="250">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_250.jpg</photo-url>
|
76
|
+
<photo-url max-width="100">http://41.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_100.jpg</photo-url>
|
77
|
+
<photo-url max-width="75">http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_75sq.jpg</photo-url>
|
78
|
+
</photo>
|
79
|
+
<photo offset="o3" caption="Lots of ideas were discussed" width="800" height="584">
|
80
|
+
<photo-url max-width="1280">http://36.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_1280.jpg</photo-url>
|
81
|
+
<photo-url max-width="500">http://36.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_500.jpg</photo-url>
|
82
|
+
<photo-url max-width="400">http://40.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_400.jpg</photo-url>
|
83
|
+
<photo-url max-width="250">http://40.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_250.jpg</photo-url>
|
84
|
+
<photo-url max-width="100">http://40.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_100.jpg</photo-url>
|
85
|
+
<photo-url max-width="75">http://40.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_75sq.jpg</photo-url>
|
86
|
+
</photo>
|
87
|
+
<photo offset="o2" caption="They opted not to go for this one, sadly." width="800" height="1118">
|
88
|
+
<photo-url max-width="1280">http://40.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_1280.jpg</photo-url>
|
89
|
+
<photo-url max-width="500">http://40.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_500.jpg</photo-url>
|
90
|
+
<photo-url max-width="400">http://41.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_400.jpg</photo-url>
|
91
|
+
<photo-url max-width="250">http://40.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_250.jpg</photo-url>
|
92
|
+
<photo-url max-width="100">http://36.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_100.jpg</photo-url>
|
93
|
+
<photo-url max-width="75">http://41.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_75sq.jpg</photo-url>
|
94
|
+
</photo>
|
95
|
+
</photoset>
|
96
|
+
<tag>thalia</tag>
|
97
|
+
<tag>world magic cup</tag>
|
98
|
+
<tag>mtg promo</tag>
|
99
|
+
</post>
|
62
100
|
</posts>
|
63
|
-
</tumblr>
|
101
|
+
</tumblr>
|
data/test/test_tumblr.rb
CHANGED
@@ -24,8 +24,14 @@ describe TumblrSync::Tumblr do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should get array of images" do
|
27
|
-
stub_request(:get, "foo.tumblr.com/api/read").with(query: { type: :photo, start: 0, num:
|
28
|
-
tumblr.images(0,
|
27
|
+
stub_request(:get, "foo.tumblr.com/api/read").with(query: { type: :photo, start: 0, num: 10 }).to_return(body: File.new('test/fixtures/api.xml'), status: 200)
|
28
|
+
tumblr.images(0, 10).must_equal [
|
29
|
+
["http://24.media.tumblr.com/tumblr_mebokdGrmq1rjwt7po1_500.jpg"],
|
30
|
+
["http://25.media.tumblr.com/tumblr_mebojvwCIb1rjwt7po1_500.jpg"],
|
31
|
+
["http://40.media.tumblr.com/7bf3bc523a3c0f99ad095bb048ec7f05/tumblr_nlvyfb7Fm41r3bmeoo1_1280.jpg",
|
32
|
+
"http://36.media.tumblr.com/4904f4db02d987c12b215a2845a7294b/tumblr_nlvyfb7Fm41r3bmeoo3_1280.jpg",
|
33
|
+
"http://40.media.tumblr.com/24070cfbdeed18e81b025b1fa76c5ccd/tumblr_nlvyfb7Fm41r3bmeoo2_1280.jpg"],
|
34
|
+
]
|
29
35
|
end
|
30
36
|
|
31
37
|
it "should get total of images" do
|
metadata
CHANGED
@@ -1,134 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tumblr-sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vincent Durand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDkjCCAnqgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMRcwFQYDVQQDDA52aW5j
|
14
|
-
ZW50LmR1cmFuZDEXMBUGCgmSJomT8ixkARkWB21hZHdvcmsxEzARBgoJkiaJk/Is
|
15
|
-
ZAEZFgNvcmcwHhcNMTMwOTE4MTY0MDEwWhcNMTQwOTE4MTY0MDEwWjBHMRcwFQYD
|
16
|
-
VQQDDA52aW5jZW50LmR1cmFuZDEXMBUGCgmSJomT8ixkARkWB21hZHdvcmsxEzAR
|
17
|
-
BgoJkiaJk/IsZAEZFgNvcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
18
|
-
AQDzlsghBvfbH4yPzi3dXyfkmxjy/uksOkYwzqwbZ6z/TvJdIjY9Xqi/gLe2AxGF
|
19
|
-
kuVxDuxih84WDG8qxCnAfUxt2nDGAVEspmTXHBAsyZqLLDRiP5LvmH/eAKsJY+rU
|
20
|
-
ERSJOaLAotMqHHqXiWnpRgFnzE6RM3Cnqq8LH0jIGF9F8gZVLZeRD+VXK4IX1Vyd
|
21
|
-
HgZKgTPL15k92u7bzqBw7niPCBa9LfYxID6E1bnSHw/kb+7hWarVd/sxpgeH0jgb
|
22
|
-
f8ieDs8S9+bL/TfzEDAOALAqMDgPXPX1mDKESDZ/wBGW/tP3NSbVKsSZFK8b0e00
|
23
|
-
Au/fVbAe+P7+T8po/a5UhjMbAgMBAAGjgYgwgYUwCQYDVR0TBAIwADALBgNVHQ8E
|
24
|
-
BAMCBLAwHQYDVR0OBBYEFKne49vGKR3nRMYhyEbJDI2BVQikMCUGA1UdEQQeMByB
|
25
|
-
GnZpbmNlbnQuZHVyYW5kQG1hZHdvcmsub3JnMCUGA1UdEgQeMByBGnZpbmNlbnQu
|
26
|
-
ZHVyYW5kQG1hZHdvcmsub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQB0EDvvwy8uol26
|
27
|
-
Xm4O1iYcfgkTTX11UwgI6XIbS+1AzUwhl4BdWWFFxcy7v2/UMcx4QaJm+tL2B05V
|
28
|
-
CcVFS8tOMaGk6s7fPdhFswRp+HE9Ex5aiCMAhoIdUbrR5LCJTWyiEBLJhforT+3R
|
29
|
-
RARQ4FabsVVHevPHxzEAUGGGdWzbG4BcvKpWxbsOz/6yVgy3dpscmanMPH6pBpNH
|
30
|
-
XD6+HDD0HP0RBeQtHV2LIhLpiJLmNWRmJ9/Cfry72diEnM7173RAelpJNj0kRYjJ
|
31
|
-
xDr7hfCTJQsNosd7V5q7Uz+SYPK9ALyONt5t3KKYEWS/mBCStEuQXwjIsWG/bqwr
|
32
|
-
vqfQstIS
|
33
|
-
-----END CERTIFICATE-----
|
34
|
-
date: 2013-12-17 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-03-11 00:00:00.000000000 Z
|
35
12
|
dependencies:
|
36
13
|
- !ruby/object:Gem::Dependency
|
37
14
|
name: bundler
|
38
15
|
requirement: !ruby/object:Gem::Requirement
|
39
16
|
requirements:
|
40
|
-
- - ~>
|
17
|
+
- - "~>"
|
41
18
|
- !ruby/object:Gem::Version
|
42
19
|
version: '1.3'
|
43
20
|
type: :development
|
44
21
|
prerelease: false
|
45
22
|
version_requirements: !ruby/object:Gem::Requirement
|
46
23
|
requirements:
|
47
|
-
- - ~>
|
24
|
+
- - "~>"
|
48
25
|
- !ruby/object:Gem::Version
|
49
26
|
version: '1.3'
|
50
27
|
- !ruby/object:Gem::Dependency
|
51
28
|
name: rake
|
52
29
|
requirement: !ruby/object:Gem::Requirement
|
53
30
|
requirements:
|
54
|
-
- -
|
31
|
+
- - ">="
|
55
32
|
- !ruby/object:Gem::Version
|
56
33
|
version: '0'
|
57
34
|
type: :development
|
58
35
|
prerelease: false
|
59
36
|
version_requirements: !ruby/object:Gem::Requirement
|
60
37
|
requirements:
|
61
|
-
- -
|
38
|
+
- - ">="
|
62
39
|
- !ruby/object:Gem::Version
|
63
40
|
version: '0'
|
64
41
|
- !ruby/object:Gem::Dependency
|
65
42
|
name: minitest
|
66
43
|
requirement: !ruby/object:Gem::Requirement
|
67
44
|
requirements:
|
68
|
-
- -
|
45
|
+
- - ">="
|
69
46
|
- !ruby/object:Gem::Version
|
70
47
|
version: '0'
|
71
48
|
type: :development
|
72
49
|
prerelease: false
|
73
50
|
version_requirements: !ruby/object:Gem::Requirement
|
74
51
|
requirements:
|
75
|
-
- -
|
52
|
+
- - ">="
|
76
53
|
- !ruby/object:Gem::Version
|
77
54
|
version: '0'
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
56
|
name: webmock
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
58
|
requirements:
|
82
|
-
- -
|
59
|
+
- - ">="
|
83
60
|
- !ruby/object:Gem::Version
|
84
61
|
version: '0'
|
85
62
|
type: :development
|
86
63
|
prerelease: false
|
87
64
|
version_requirements: !ruby/object:Gem::Requirement
|
88
65
|
requirements:
|
89
|
-
- -
|
66
|
+
- - ">="
|
90
67
|
- !ruby/object:Gem::Version
|
91
68
|
version: '0'
|
92
69
|
- !ruby/object:Gem::Dependency
|
93
70
|
name: nokogiri
|
94
71
|
requirement: !ruby/object:Gem::Requirement
|
95
72
|
requirements:
|
96
|
-
- - ~>
|
73
|
+
- - "~>"
|
97
74
|
- !ruby/object:Gem::Version
|
98
75
|
version: 1.6.0
|
99
76
|
type: :runtime
|
100
77
|
prerelease: false
|
101
78
|
version_requirements: !ruby/object:Gem::Requirement
|
102
79
|
requirements:
|
103
|
-
- - ~>
|
80
|
+
- - "~>"
|
104
81
|
- !ruby/object:Gem::Version
|
105
82
|
version: 1.6.0
|
106
83
|
- !ruby/object:Gem::Dependency
|
107
84
|
name: mechanize
|
108
85
|
requirement: !ruby/object:Gem::Requirement
|
109
86
|
requirements:
|
110
|
-
- - ~>
|
87
|
+
- - "~>"
|
111
88
|
- !ruby/object:Gem::Version
|
112
89
|
version: 2.7.0
|
113
90
|
type: :runtime
|
114
91
|
prerelease: false
|
115
92
|
version_requirements: !ruby/object:Gem::Requirement
|
116
93
|
requirements:
|
117
|
-
- - ~>
|
94
|
+
- - "~>"
|
118
95
|
- !ruby/object:Gem::Version
|
119
96
|
version: 2.7.0
|
120
97
|
- !ruby/object:Gem::Dependency
|
121
98
|
name: ruby-progressbar
|
122
99
|
requirement: !ruby/object:Gem::Requirement
|
123
100
|
requirements:
|
124
|
-
- - ~>
|
101
|
+
- - "~>"
|
125
102
|
- !ruby/object:Gem::Version
|
126
103
|
version: 1.2.0
|
127
104
|
type: :runtime
|
128
105
|
prerelease: false
|
129
106
|
version_requirements: !ruby/object:Gem::Requirement
|
130
107
|
requirements:
|
131
|
-
- - ~>
|
108
|
+
- - "~>"
|
132
109
|
- !ruby/object:Gem::Version
|
133
110
|
version: 1.2.0
|
134
111
|
description: Synchronize pictures from a Tumblr blog with ease and faster than ever!
|
@@ -138,8 +115,8 @@ executables:
|
|
138
115
|
extensions: []
|
139
116
|
extra_rdoc_files: []
|
140
117
|
files:
|
141
|
-
- .gitignore
|
142
|
-
- .travis.yml
|
118
|
+
- ".gitignore"
|
119
|
+
- ".travis.yml"
|
143
120
|
- Gemfile
|
144
121
|
- LICENSE.txt
|
145
122
|
- README.md
|
@@ -166,17 +143,17 @@ require_paths:
|
|
166
143
|
- lib
|
167
144
|
required_ruby_version: !ruby/object:Gem::Requirement
|
168
145
|
requirements:
|
169
|
-
- -
|
146
|
+
- - ">="
|
170
147
|
- !ruby/object:Gem::Version
|
171
148
|
version: '0'
|
172
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
150
|
requirements:
|
174
|
-
- -
|
151
|
+
- - ">="
|
175
152
|
- !ruby/object:Gem::Version
|
176
153
|
version: '0'
|
177
154
|
requirements: []
|
178
155
|
rubyforge_project:
|
179
|
-
rubygems_version: 2.1
|
156
|
+
rubygems_version: 2.4.5.1
|
180
157
|
signing_key:
|
181
158
|
specification_version: 4
|
182
159
|
summary: Synchronize pictures from a Tumblr blog
|
checksums.yaml.gz.sig
DELETED
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
<1?��~6
|