gtk3 3.2.5-x86-mingw32 → 3.2.6-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/COPYING.LIB +502 -0
- data/README.md +34 -0
- data/Rakefile +21 -4
- data/ext/gtk3/rb-gtk3-private.h +10 -1
- data/ext/gtk3/rb-gtk3.c +21 -39
- data/gtk3.gemspec +44 -0
- data/lib/2.2/gtk3.so +0 -0
- data/lib/2.3/gtk3.so +0 -0
- data/lib/2.4/gtk3.so +0 -0
- data/lib/2.5/gtk3.so +0 -0
- data/lib/gtk3/application.rb +35 -0
- data/lib/gtk3/entry.rb +30 -0
- data/lib/gtk3/loader.rb +3 -1
- data/lib/gtk3/text-buffer.rb +7 -1
- data/lib/gtk3/version.rb +1 -1
- data/sample/gtk-demo/builder.rb +6 -1
- data/sample/gtk-demo/button_box.rb +0 -1
- data/sample/gtk-demo/demo-3.18.ui +304 -0
- data/sample/gtk-demo/demo.gresource.xml +2 -0
- data/sample/gtk-demo/editable_cells.rb +1 -1
- data/sample/gtk-demo/hypertext.rb +24 -15
- data/sample/gtk-demo/iconview_edit.rb +8 -3
- data/sample/gtk-demo/infobar.rb +3 -1
- data/sample/gtk-demo/listbox.rb +2 -2
- data/sample/gtk-demo/popover-3.18.ui +94 -0
- data/sample/gtk-demo/popover.rb +5 -1
- data/sample/gtk-demo/test_mod.rb +10 -7
- data/sample/misc/aboutdialog.rb +1 -1
- data/sample/misc/aboutdialog2.rb +1 -1
- data/sample/misc/linkbutton.rb +2 -2
- data/test/test-application.rb +69 -0
- data/test/test-gtk-clipboard.rb +1 -0
- metadata +13 -103
data/sample/gtk-demo/infobar.rb
CHANGED
@@ -108,7 +108,9 @@ class InfobarDemo
|
|
108
108
|
:buttons => :ok,
|
109
109
|
:message => "You clicked a button on an info bar")
|
110
110
|
dialog.secondary_text = "Your response has id #{response_id}"
|
111
|
-
dialog.signal_connect("response"
|
111
|
+
dialog.signal_connect("response") do
|
112
|
+
dialog.destroy
|
113
|
+
end
|
112
114
|
dialog.show_all
|
113
115
|
end
|
114
116
|
end
|
data/sample/gtk-demo/listbox.rb
CHANGED
@@ -158,9 +158,9 @@ class GtkMessageRow < Gtk::ListBoxRow
|
|
158
158
|
content_label.text = @message.message
|
159
159
|
short_time_label.text = Time.at(@message.time).utc.strftime("%e %b %y")
|
160
160
|
detailed_time_label.text = Time.at(@message.time).utc.strftime("%Y - %e %b %Y")
|
161
|
-
n_favorites_label.visible =
|
161
|
+
n_favorites_label.visible = !@message.n_favorites.zero?
|
162
162
|
n_favorites_label.markup = "<b>#{@message.n_favorites}</b>\nFavorites"
|
163
|
-
n_reshares_label.visible =
|
163
|
+
n_reshares_label.visible = !@message.n_reshares.zero?
|
164
164
|
n_reshares_label.markup = "<b>#{@message.n_reshares}</b>\nReshares"
|
165
165
|
resent_box.visible = !@message.resent_by.nil?
|
166
166
|
resent_by_button.label = @message.resent_by if @message.resent_by
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generated with glade 3.16.0 on Wed Nov 13 16:45:55 2013 -->
|
3
|
+
<interface>
|
4
|
+
<!-- interface-requires gtk+ 3.10 -->
|
5
|
+
<object class="GtkListStore" id="liststore1">
|
6
|
+
<columns>
|
7
|
+
<!-- column-name Name -->
|
8
|
+
<column type="gchararray"/>
|
9
|
+
</columns>
|
10
|
+
<data>
|
11
|
+
<row>
|
12
|
+
<col id="0" translatable="yes">Item 1</col>
|
13
|
+
</row>
|
14
|
+
<row>
|
15
|
+
<col id="0" translatable="yes">Item 2</col>
|
16
|
+
</row>
|
17
|
+
<row>
|
18
|
+
<col id="0" translatable="yes">Item 3</col>
|
19
|
+
</row>
|
20
|
+
<row>
|
21
|
+
<col id="0" translatable="yes">Item 4</col>
|
22
|
+
</row>
|
23
|
+
<row>
|
24
|
+
<col id="0" translatable="yes">Item 5</col>
|
25
|
+
</row>
|
26
|
+
<row>
|
27
|
+
<col id="0" translatable="yes">Item 6</col>
|
28
|
+
</row>
|
29
|
+
<row>
|
30
|
+
<col id="0" translatable="yes">Item 7</col>
|
31
|
+
</row>
|
32
|
+
<row>
|
33
|
+
<col id="0" translatable="yes">Item 8</col>
|
34
|
+
</row>
|
35
|
+
<row>
|
36
|
+
<col id="0" translatable="yes">Item 9</col>
|
37
|
+
</row>
|
38
|
+
<row>
|
39
|
+
<col id="0" translatable="yes">Item 10</col>
|
40
|
+
</row>
|
41
|
+
</data>
|
42
|
+
</object>
|
43
|
+
<object class="GtkWindow" id="window">
|
44
|
+
<child>
|
45
|
+
<object class="GtkBox" id="box">
|
46
|
+
<property name="visible">1</property>
|
47
|
+
<property name="orientation">vertical</property>
|
48
|
+
<property name="spacing">6</property>
|
49
|
+
<child>
|
50
|
+
<object class="GtkEntry" id="entry1">
|
51
|
+
<property name="visible">1</property>
|
52
|
+
<property name="can_focus">1</property>
|
53
|
+
<property name="primary_icon_name">edit-find</property>
|
54
|
+
<property name="secondary_icon_name">edit-clear</property>
|
55
|
+
</object>
|
56
|
+
</child>
|
57
|
+
<child>
|
58
|
+
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
59
|
+
<property name="visible">1</property>
|
60
|
+
<property name="can_focus">1</property>
|
61
|
+
<property name="shadow_type">in</property>
|
62
|
+
<child>
|
63
|
+
<object class="GtkTreeView" id="treeview1">
|
64
|
+
<property name="visible">1</property>
|
65
|
+
<property name="can_focus">1</property>
|
66
|
+
<property name="vexpand">1</property>
|
67
|
+
<property name="model">liststore1</property>
|
68
|
+
<property name="headers_visible">0</property>
|
69
|
+
<property name="enable_search">0</property>
|
70
|
+
<property name="search_column">2</property>
|
71
|
+
<child internal-child="selection">
|
72
|
+
<object class="GtkTreeSelection" id="treeview-selection1"/>
|
73
|
+
</child>
|
74
|
+
<child>
|
75
|
+
<object class="GtkTreeViewColumn" id="column1">
|
76
|
+
<child>
|
77
|
+
<object class="GtkCellRendererText" id="cellrenderer1"/>
|
78
|
+
<attributes>
|
79
|
+
<attribute name="text">0</attribute>
|
80
|
+
</attributes>
|
81
|
+
</child>
|
82
|
+
</object>
|
83
|
+
</child>
|
84
|
+
</object>
|
85
|
+
</child>
|
86
|
+
</object>
|
87
|
+
<packing>
|
88
|
+
<property name="position">1</property>
|
89
|
+
</packing>
|
90
|
+
</child>
|
91
|
+
</object>
|
92
|
+
</child>
|
93
|
+
</object>
|
94
|
+
</interface>
|
data/sample/gtk-demo/popover.rb
CHANGED
@@ -45,7 +45,11 @@ class PopoverDemo
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def create_complex_popover(parent, pos)
|
48
|
-
|
48
|
+
if Gtk::Version.or_later?(3, 20)
|
49
|
+
builder = Gtk::Builder.new(:resource => "/popover/popover.ui")
|
50
|
+
else
|
51
|
+
builder = Gtk::Builder.new(:resource => "/popover/popover-3.18.ui")
|
52
|
+
end
|
49
53
|
window = builder["window"]
|
50
54
|
content = window.child
|
51
55
|
content.parent.remove(content)
|
data/sample/gtk-demo/test_mod.rb
CHANGED
@@ -6,17 +6,20 @@
|
|
6
6
|
|
7
7
|
Demonstrates the demo interface.
|
8
8
|
=end
|
9
|
-
module TestModDemo
|
10
9
|
|
11
|
-
|
10
|
+
class TestModDemo
|
11
|
+
def initialize(window)
|
12
12
|
puts "ok"
|
13
|
-
window = Gtk::Window.new(:toplevel)
|
14
|
-
window.add(Gtk::Label.new("This is a test"))
|
13
|
+
@window = Gtk::Window.new(:toplevel)
|
14
|
+
@window.add(Gtk::Label.new("This is a test"))
|
15
|
+
end
|
15
16
|
|
16
|
-
|
17
|
-
|
17
|
+
def run
|
18
|
+
if !@window.visible?
|
19
|
+
@window.show_all
|
18
20
|
else
|
19
|
-
window.destroy
|
21
|
+
@window.destroy
|
20
22
|
end
|
23
|
+
@window
|
21
24
|
end
|
22
25
|
end
|
data/sample/misc/aboutdialog.rb
CHANGED
@@ -23,7 +23,7 @@ a.logo = GdkPixbuf::Pixbuf.new(:file => File.join(__dir__, "gnome-logo-icon.png"
|
|
23
23
|
a.program_name = "Gtk::AboutDialog sample"
|
24
24
|
a.translator_credits = "Translator 1\nTranslator 2\n"
|
25
25
|
a.version = "1.0.0"
|
26
|
-
a.website = "
|
26
|
+
a.website = "https://ruby-gnome2.osdn.jp"
|
27
27
|
a.website_label = "Ruby-GNOME2 Project Website"
|
28
28
|
|
29
29
|
a.signal_connect("activate-link") do |about_dialog, uri|
|
data/sample/misc/aboutdialog2.rb
CHANGED
@@ -23,7 +23,7 @@ Gtk::AboutDialog.show(nil,
|
|
23
23
|
"program_name" => "Gtk::AboutDialog sample",
|
24
24
|
"translator_credits" => "Translator 1 <no1@foo.bar.com>\nTranslator 2 <no2@foo.bar.com>\n",
|
25
25
|
"version" => "1.0.0",
|
26
|
-
"website" => "
|
26
|
+
"website" => "https://ruby-gnome2.osdn.jp",
|
27
27
|
"website_label" => "Ruby-GNOME2 Project Website"
|
28
28
|
)
|
29
29
|
|
data/sample/misc/linkbutton.rb
CHANGED
@@ -14,14 +14,14 @@ window.signal_connect("destroy"){Gtk.main_quit}
|
|
14
14
|
vbox = Gtk::Box.new(:vertical)
|
15
15
|
|
16
16
|
# URI only
|
17
|
-
button1 = Gtk::LinkButton.new("
|
17
|
+
button1 = Gtk::LinkButton.new("https://ruby-gnome2.osdn.jp/")
|
18
18
|
button1.signal_connect("clicked") do
|
19
19
|
puts button1.uri
|
20
20
|
end
|
21
21
|
vbox.pack_start(button1)
|
22
22
|
|
23
23
|
# URI with a label
|
24
|
-
button2 = Gtk::LinkButton.new("
|
24
|
+
button2 = Gtk::LinkButton.new("https://ruby-gnome2.osdn.jp/",
|
25
25
|
"Ruby-GNOME2 Website")
|
26
26
|
button2.signal_connect("clicked") do
|
27
27
|
puts button2.uri
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Copyright (C) 2018 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class TestGtkApplication < Test::Unit::TestCase
|
18
|
+
include GtkTestUtils
|
19
|
+
|
20
|
+
sub_test_case(".new") do
|
21
|
+
test "none" do
|
22
|
+
app = Gtk::Application.new
|
23
|
+
assert_equal([
|
24
|
+
nil,
|
25
|
+
Gio::ApplicationFlags::FLAGS_NONE,
|
26
|
+
],
|
27
|
+
[
|
28
|
+
app.application_id,
|
29
|
+
app.flags,
|
30
|
+
])
|
31
|
+
end
|
32
|
+
|
33
|
+
test "id" do
|
34
|
+
app = Gtk::Application.new("org.example.test")
|
35
|
+
assert_equal([
|
36
|
+
"org.example.test",
|
37
|
+
Gio::ApplicationFlags::FLAGS_NONE,
|
38
|
+
],
|
39
|
+
[
|
40
|
+
app.application_id,
|
41
|
+
app.flags,
|
42
|
+
])
|
43
|
+
end
|
44
|
+
|
45
|
+
test "flags" do
|
46
|
+
app = Gtk::Application.new(:handles_command_line)
|
47
|
+
assert_equal([
|
48
|
+
nil,
|
49
|
+
Gio::ApplicationFlags::HANDLES_COMMAND_LINE,
|
50
|
+
],
|
51
|
+
[
|
52
|
+
app.application_id,
|
53
|
+
app.flags,
|
54
|
+
])
|
55
|
+
end
|
56
|
+
|
57
|
+
test "id, flags" do
|
58
|
+
app = Gtk::Application.new("org.example.test", :handles_command_line)
|
59
|
+
assert_equal([
|
60
|
+
"org.example.test",
|
61
|
+
Gio::ApplicationFlags::HANDLES_COMMAND_LINE,
|
62
|
+
],
|
63
|
+
[
|
64
|
+
app.application_id,
|
65
|
+
app.flags,
|
66
|
+
])
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/test/test-gtk-clipboard.rb
CHANGED
metadata
CHANGED
@@ -1,133 +1,37 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gtk3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.6
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- The Ruby-GNOME2 Project Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: glib2
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 3.2.5
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 3.2.5
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: gio2
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 3.2.5
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - '='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 3.2.5
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: atk
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - '='
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.2.5
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - '='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.2.5
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: pango
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - '='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 3.2.5
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - '='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 3.2.5
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: gdk_pixbuf2
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - '='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 3.2.5
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - '='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 3.2.5
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: gdk3
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 3.2.5
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - '='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 3.2.5
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: gobject-introspection
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 3.2.5
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 3.2.5
|
111
13
|
- !ruby/object:Gem::Dependency
|
112
14
|
name: rsvg2
|
113
15
|
requirement: !ruby/object:Gem::Requirement
|
114
16
|
requirements:
|
115
17
|
- - '='
|
116
18
|
- !ruby/object:Gem::Version
|
117
|
-
version: 3.2.
|
19
|
+
version: 3.2.6
|
118
20
|
type: :runtime
|
119
21
|
prerelease: false
|
120
22
|
version_requirements: !ruby/object:Gem::Requirement
|
121
23
|
requirements:
|
122
24
|
- - '='
|
123
25
|
- !ruby/object:Gem::Version
|
124
|
-
version: 3.2.
|
26
|
+
version: 3.2.6
|
125
27
|
description: Ruby/GTK3 is a Ruby binding of GTK+-3.x.
|
126
28
|
email: ruby-gnome2-devel-en@lists.sourceforge.net
|
127
29
|
executables: []
|
128
30
|
extensions: []
|
129
31
|
extra_rdoc_files: []
|
130
32
|
files:
|
33
|
+
- COPYING.LIB
|
34
|
+
- README.md
|
131
35
|
- Rakefile
|
132
36
|
- ext/gtk3/depend
|
133
37
|
- ext/gtk3/extconf.rb
|
@@ -142,6 +46,7 @@ files:
|
|
142
46
|
- ext/gtk3/rb-gtk3.c
|
143
47
|
- ext/gtk3/rb-gtk3.h
|
144
48
|
- extconf.rb
|
49
|
+
- gtk3.gemspec
|
145
50
|
- lib/2.2/gtk3.so
|
146
51
|
- lib/2.3/gtk3.so
|
147
52
|
- lib/2.4/gtk3.so
|
@@ -150,6 +55,7 @@ files:
|
|
150
55
|
- lib/gtk3/about-dialog.rb
|
151
56
|
- lib/gtk3/action-group.rb
|
152
57
|
- lib/gtk3/action.rb
|
58
|
+
- lib/gtk3/application.rb
|
153
59
|
- lib/gtk3/binding-set.rb
|
154
60
|
- lib/gtk3/border.rb
|
155
61
|
- lib/gtk3/box.rb
|
@@ -167,6 +73,7 @@ files:
|
|
167
73
|
- lib/gtk3/deprecated.rb
|
168
74
|
- lib/gtk3/dialog.rb
|
169
75
|
- lib/gtk3/entry-buffer.rb
|
76
|
+
- lib/gtk3/entry.rb
|
170
77
|
- lib/gtk3/file-chooser-dialog.rb
|
171
78
|
- lib/gtk3/font-chooser-dialog.rb
|
172
79
|
- lib/gtk3/gdk-drag-context.rb
|
@@ -278,6 +185,7 @@ files:
|
|
278
185
|
- sample/gtk-demo/decor1.png
|
279
186
|
- sample/gtk-demo/decor2.png
|
280
187
|
- sample/gtk-demo/default_cursor.png
|
188
|
+
- sample/gtk-demo/demo-3.18.ui
|
281
189
|
- sample/gtk-demo/demo.gresource.xml
|
282
190
|
- sample/gtk-demo/demo.ui
|
283
191
|
- sample/gtk-demo/dialog.rb
|
@@ -382,6 +290,7 @@ files:
|
|
382
290
|
- sample/gtk-demo/pickers.rb
|
383
291
|
- sample/gtk-demo/pixbufs.rb
|
384
292
|
- sample/gtk-demo/pointer_cursor.png
|
293
|
+
- sample/gtk-demo/popover-3.18.ui
|
385
294
|
- sample/gtk-demo/popover.rb
|
386
295
|
- sample/gtk-demo/popover.ui
|
387
296
|
- sample/gtk-demo/printing.rb
|
@@ -579,6 +488,7 @@ files:
|
|
579
488
|
- test/fixture/simple_window.ui
|
580
489
|
- test/gtk-test-utils.rb
|
581
490
|
- test/run-test.rb
|
491
|
+
- test/test-application.rb
|
582
492
|
- test/test-calendar.rb
|
583
493
|
- test/test-check-menu-item.rb
|
584
494
|
- test/test-gc.rb
|
@@ -669,7 +579,7 @@ files:
|
|
669
579
|
- test/test-gtk-window.rb
|
670
580
|
- test/test-gtk.rb
|
671
581
|
- test/test-pango-context.rb
|
672
|
-
homepage:
|
582
|
+
homepage: https://ruby-gnome2.osdn.jp/
|
673
583
|
licenses:
|
674
584
|
- LGPL-2.1+
|
675
585
|
metadata: {}
|