SET statement_timeout = 0;
SET lock_timeout = 0;
+SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
+SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
---
--- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
---
-
-CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
-
-
---
--- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
-
-
--
-- Name: btree_gist; Type: EXTENSION; Schema: -; Owner: -
--
CREATE EXTENSION IF NOT EXISTS btree_gist WITH SCHEMA public;
---
--- Name: EXTENSION btree_gist; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON EXTENSION btree_gist IS 'support for indexing common datatypes in GiST';
-
-
--
-- Name: format_enum; Type: TYPE; Schema: public; Owner: -
--
'deleted'
);
-
---
--- Name: maptile_for_point(bigint, bigint, integer); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.maptile_for_point(scaled_lat bigint, scaled_lon bigint, zoom integer) RETURNS integer
- LANGUAGE plpgsql IMMUTABLE
- AS $$
-DECLARE
- lat CONSTANT DOUBLE PRECISION := scaled_lat / 10000000.0;
- lon CONSTANT DOUBLE PRECISION := scaled_lon / 10000000.0;
- zscale CONSTANT DOUBLE PRECISION := 2.0 ^ zoom;
- pi CONSTANT DOUBLE PRECISION := 3.141592653589793;
- r_per_d CONSTANT DOUBLE PRECISION := pi / 180.0;
- x int4;
- y int4;
-BEGIN
- -- straight port of the C code. see db/functions/maptile.c
- x := floor((lon + 180.0) * zscale / 360.0);
- y := floor((1.0 - ln(tan(lat * r_per_d) + 1.0 / cos(lat * r_per_d)) / pi) * zscale / 2.0);
-
- RETURN (x << zoom) | y;
-END;
-$$;
-
-
---
--- Name: tile_for_point(integer, integer); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.tile_for_point(scaled_lat integer, scaled_lon integer) RETURNS bigint
- LANGUAGE plpgsql IMMUTABLE
- AS $$
-DECLARE
- x int8; -- quantized x from lon,
- y int8; -- quantized y from lat,
-BEGIN
- x := round(((scaled_lon / 10000000.0) + 180.0) * 65535.0 / 360.0);
- y := round(((scaled_lat / 10000000.0) + 90.0) * 65535.0 / 180.0);
-
- -- these bit-masks are special numbers used in the bit interleaving algorithm.
- -- see https://graphics.stanford.edu/~seander/bithacks.html#InterleaveBMN
- -- for the original algorithm and more details.
- x := (x | (x << 8)) & 16711935; -- 0x00FF00FF
- x := (x | (x << 4)) & 252645135; -- 0x0F0F0F0F
- x := (x | (x << 2)) & 858993459; -- 0x33333333
- x := (x | (x << 1)) & 1431655765; -- 0x55555555
-
- y := (y | (y << 8)) & 16711935; -- 0x00FF00FF
- y := (y | (y << 4)) & 252645135; -- 0x0F0F0F0F
- y := (y | (y << 2)) & 858993459; -- 0x33333333
- y := (y | (y << 1)) & 1431655765; -- 0x55555555
-
- RETURN (x << 1) | y;
-END;
-$$;
-
-
SET default_tablespace = '';
-SET default_with_oids = false;
+SET default_table_access_method = heap;
--
-- Name: acls; Type: TABLE; Schema: public; Owner: -
content_type character varying,
metadata text,
byte_size bigint NOT NULL,
- checksum character varying NOT NULL,
- created_at timestamp without time zone NOT NULL
+ checksum character varying,
+ created_at timestamp without time zone NOT NULL,
+ service_name character varying NOT NULL
);
ALTER SEQUENCE public.active_storage_blobs_id_seq OWNED BY public.active_storage_blobs.id;
+--
+-- Name: active_storage_variant_records; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE public.active_storage_variant_records (
+ id bigint NOT NULL,
+ blob_id bigint NOT NULL,
+ variation_digest character varying NOT NULL
+);
+
+
+--
+-- Name: active_storage_variant_records_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public.active_storage_variant_records_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: active_storage_variant_records_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public.active_storage_variant_records_id_seq OWNED BY public.active_storage_variant_records.id;
+
+
--
-- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.ar_internal_metadata (
key character varying NOT NULL,
value character varying,
- created_at timestamp without time zone NOT NULL,
- updated_at timestamp without time zone NOT NULL
+ created_at timestamp(6) without time zone NOT NULL,
+ updated_at timestamp(6) without time zone NOT NULL
);
--
CREATE SEQUENCE public.changeset_comments_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.client_applications_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
CREATE TABLE public.friends (
id bigint NOT NULL,
user_id bigint NOT NULL,
- friend_user_id bigint NOT NULL
+ friend_user_id bigint NOT NULL,
+ created_at timestamp without time zone
);
--
CREATE TABLE public.gpx_file_tags (
- gpx_id bigint DEFAULT 0 NOT NULL,
+ gpx_id bigint NOT NULL,
tag character varying NOT NULL,
id bigint NOT NULL
);
--
CREATE SEQUENCE public.issue_comments_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.issues_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.note_comments_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.notes_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
ALTER SEQUENCE public.notes_id_seq OWNED BY public.notes.id;
+--
+-- Name: oauth_access_grants; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE public.oauth_access_grants (
+ id bigint NOT NULL,
+ resource_owner_id bigint NOT NULL,
+ application_id bigint NOT NULL,
+ token character varying NOT NULL,
+ expires_in integer NOT NULL,
+ redirect_uri text NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ revoked_at timestamp without time zone,
+ scopes character varying DEFAULT ''::character varying NOT NULL,
+ code_challenge character varying,
+ code_challenge_method character varying
+);
+
+
+--
+-- Name: oauth_access_grants_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public.oauth_access_grants_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: oauth_access_grants_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public.oauth_access_grants_id_seq OWNED BY public.oauth_access_grants.id;
+
+
+--
+-- Name: oauth_access_tokens; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE public.oauth_access_tokens (
+ id bigint NOT NULL,
+ resource_owner_id bigint,
+ application_id bigint NOT NULL,
+ token character varying NOT NULL,
+ refresh_token character varying,
+ expires_in integer,
+ revoked_at timestamp without time zone,
+ created_at timestamp without time zone NOT NULL,
+ scopes character varying,
+ previous_refresh_token character varying DEFAULT ''::character varying NOT NULL
+);
+
+
+--
+-- Name: oauth_access_tokens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public.oauth_access_tokens_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: oauth_access_tokens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public.oauth_access_tokens_id_seq OWNED BY public.oauth_access_tokens.id;
+
+
+--
+-- Name: oauth_applications; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE public.oauth_applications (
+ id bigint NOT NULL,
+ owner_type character varying NOT NULL,
+ owner_id bigint NOT NULL,
+ name character varying NOT NULL,
+ uid character varying NOT NULL,
+ secret character varying NOT NULL,
+ redirect_uri text NOT NULL,
+ scopes character varying DEFAULT ''::character varying NOT NULL,
+ confidential boolean DEFAULT true NOT NULL,
+ created_at timestamp(6) without time zone NOT NULL,
+ updated_at timestamp(6) without time zone NOT NULL
+);
+
+
+--
+-- Name: oauth_applications_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public.oauth_applications_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: oauth_applications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public.oauth_applications_id_seq OWNED BY public.oauth_applications.id;
+
+
--
-- Name: oauth_nonces; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.oauth_nonces (
- id integer NOT NULL,
+ id bigint NOT NULL,
nonce character varying,
"timestamp" integer,
created_at timestamp without time zone,
--
CREATE SEQUENCE public.oauth_nonces_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.oauth_tokens_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.redactions_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE TABLE public.relation_members (
- relation_id bigint DEFAULT 0 NOT NULL,
+ relation_id bigint NOT NULL,
member_type public.nwr_enum NOT NULL,
member_id bigint NOT NULL,
member_role character varying NOT NULL,
--
CREATE TABLE public.relation_tags (
- relation_id bigint DEFAULT 0 NOT NULL,
+ relation_id bigint NOT NULL,
k character varying DEFAULT ''::character varying NOT NULL,
v character varying DEFAULT ''::character varying NOT NULL,
version bigint NOT NULL
--
CREATE TABLE public.relations (
- relation_id bigint DEFAULT 0 NOT NULL,
+ relation_id bigint NOT NULL,
changeset_id bigint NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
version bigint NOT NULL,
--
CREATE SEQUENCE public.reports_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.user_blocks_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
--
CREATE SEQUENCE public.user_roles_id_seq
+ AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
home_lat double precision,
home_lon double precision,
home_zoom smallint DEFAULT 3,
- nearby integer DEFAULT 50,
pass_salt character varying,
email_valid boolean DEFAULT false NOT NULL,
new_email character varying,
--
CREATE TABLE public.way_tags (
- way_id bigint DEFAULT 0 NOT NULL,
+ way_id bigint NOT NULL,
k character varying NOT NULL,
v character varying NOT NULL,
version bigint NOT NULL
--
CREATE TABLE public.ways (
- way_id bigint DEFAULT 0 NOT NULL,
+ way_id bigint NOT NULL,
changeset_id bigint NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
version bigint NOT NULL,
ALTER TABLE ONLY public.active_storage_blobs ALTER COLUMN id SET DEFAULT nextval('public.active_storage_blobs_id_seq'::regclass);
+--
+-- Name: active_storage_variant_records id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.active_storage_variant_records ALTER COLUMN id SET DEFAULT nextval('public.active_storage_variant_records_id_seq'::regclass);
+
+
--
-- Name: changeset_comments id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.notes ALTER COLUMN id SET DEFAULT nextval('public.notes_id_seq'::regclass);
+--
+-- Name: oauth_access_grants id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_grants ALTER COLUMN id SET DEFAULT nextval('public.oauth_access_grants_id_seq'::regclass);
+
+
+--
+-- Name: oauth_access_tokens id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_tokens ALTER COLUMN id SET DEFAULT nextval('public.oauth_access_tokens_id_seq'::regclass);
+
+
+--
+-- Name: oauth_applications id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_applications ALTER COLUMN id SET DEFAULT nextval('public.oauth_applications_id_seq'::regclass);
+
+
--
-- Name: oauth_nonces id; Type: DEFAULT; Schema: public; Owner: -
--
ADD CONSTRAINT active_storage_blobs_pkey PRIMARY KEY (id);
+--
+-- Name: active_storage_variant_records active_storage_variant_records_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.active_storage_variant_records
+ ADD CONSTRAINT active_storage_variant_records_pkey PRIMARY KEY (id);
+
+
--
-- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ADD CONSTRAINT notes_pkey PRIMARY KEY (id);
+--
+-- Name: oauth_access_grants oauth_access_grants_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_grants
+ ADD CONSTRAINT oauth_access_grants_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: oauth_access_tokens oauth_access_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_tokens
+ ADD CONSTRAINT oauth_access_tokens_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: oauth_applications oauth_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_applications
+ ADD CONSTRAINT oauth_applications_pkey PRIMARY KEY (id);
+
+
--
-- Name: oauth_nonces oauth_nonces_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
CREATE INDEX diary_entry_user_id_created_at_index ON public.diary_entries USING btree (user_id, created_at);
---
--- Name: friends_user_id_idx; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX friends_user_id_idx ON public.friends USING btree (user_id);
-
-
--
-- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX index_active_storage_blobs_on_key ON public.active_storage_blobs USING btree (key);
+--
+-- Name: index_active_storage_variant_records_uniqueness; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE UNIQUE INDEX index_active_storage_variant_records_uniqueness ON public.active_storage_variant_records USING btree (blob_id, variation_digest);
+
+
+--
+-- Name: index_changeset_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_changeset_comments_on_author_id_and_created_at ON public.changeset_comments USING btree (author_id, created_at);
+
+
+--
+-- Name: index_changeset_comments_on_changeset_id_and_created_at; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_changeset_comments_on_changeset_id_and_created_at ON public.changeset_comments USING btree (changeset_id, created_at);
+
+
--
-- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON public.diary_entry_subscriptions USING btree (diary_entry_id);
+--
+-- Name: index_friends_on_user_id_and_created_at; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_friends_on_user_id_and_created_at ON public.friends USING btree (user_id, created_at);
+
+
--
-- Name: index_issue_comments_on_issue_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_issues_on_updated_by ON public.issues USING btree (updated_by);
+--
+-- Name: index_note_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_note_comments_on_author_id_and_created_at ON public.note_comments USING btree (author_id, created_at);
+
+
--
-- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_note_comments_on_created_at ON public.note_comments USING btree (created_at);
+--
+-- Name: index_oauth_access_grants_on_application_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_oauth_access_grants_on_application_id ON public.oauth_access_grants USING btree (application_id);
+
+
+--
+-- Name: index_oauth_access_grants_on_resource_owner_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_oauth_access_grants_on_resource_owner_id ON public.oauth_access_grants USING btree (resource_owner_id);
+
+
+--
+-- Name: index_oauth_access_grants_on_token; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE UNIQUE INDEX index_oauth_access_grants_on_token ON public.oauth_access_grants USING btree (token);
+
+
+--
+-- Name: index_oauth_access_tokens_on_application_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_oauth_access_tokens_on_application_id ON public.oauth_access_tokens USING btree (application_id);
+
+
+--
+-- Name: index_oauth_access_tokens_on_refresh_token; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE UNIQUE INDEX index_oauth_access_tokens_on_refresh_token ON public.oauth_access_tokens USING btree (refresh_token);
+
+
+--
+-- Name: index_oauth_access_tokens_on_resource_owner_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_oauth_access_tokens_on_resource_owner_id ON public.oauth_access_tokens USING btree (resource_owner_id);
+
+
+--
+-- Name: index_oauth_access_tokens_on_token; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE UNIQUE INDEX index_oauth_access_tokens_on_token ON public.oauth_access_tokens USING btree (token);
+
+
+--
+-- Name: index_oauth_applications_on_owner_type_and_owner_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_oauth_applications_on_owner_type_and_owner_id ON public.oauth_applications USING btree (owner_type, owner_id);
+
+
+--
+-- Name: index_oauth_applications_on_uid; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE UNIQUE INDEX index_oauth_applications_on_uid ON public.oauth_applications USING btree (uid);
+
+
--
-- Name: index_oauth_nonces_on_nonce_and_timestamp; Type: INDEX; Schema: public; Owner: -
--
ADD CONSTRAINT diary_entry_subscriptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
+--
+-- Name: oauth_access_grants fk_rails_330c32d8d9; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_grants
+ ADD CONSTRAINT fk_rails_330c32d8d9 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
+
+
+--
+-- Name: oauth_access_tokens fk_rails_732cb83ab7; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_tokens
+ ADD CONSTRAINT fk_rails_732cb83ab7 FOREIGN KEY (application_id) REFERENCES public.oauth_applications(id) NOT VALID;
+
+
+--
+-- Name: active_storage_variant_records fk_rails_993965df05; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.active_storage_variant_records
+ ADD CONSTRAINT fk_rails_993965df05 FOREIGN KEY (blob_id) REFERENCES public.active_storage_blobs(id);
+
+
+--
+-- Name: oauth_access_grants fk_rails_b4b53e07b8; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_grants
+ ADD CONSTRAINT fk_rails_b4b53e07b8 FOREIGN KEY (application_id) REFERENCES public.oauth_applications(id) NOT VALID;
+
+
--
-- Name: active_storage_attachments fk_rails_c3b3935057; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ADD CONSTRAINT fk_rails_c3b3935057 FOREIGN KEY (blob_id) REFERENCES public.active_storage_blobs(id);
+--
+-- Name: oauth_applications fk_rails_cc886e315a; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_applications
+ ADD CONSTRAINT fk_rails_cc886e315a FOREIGN KEY (owner_id) REFERENCES public.users(id) NOT VALID;
+
+
+--
+-- Name: oauth_access_tokens fk_rails_ee63f25419; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.oauth_access_tokens
+ ADD CONSTRAINT fk_rails_ee63f25419 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
+
+
--
-- Name: friends friends_friend_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
('20190623093642'),
('20190702193519'),
('20190716173946'),
+('20191120140058'),
+('20201004105659'),
+('20201006213836'),
+('20201006220807'),
+('20201214144017'),
+('20210510083027'),
+('20210510083028'),
+('20210511104518'),
+('20211216185316'),
+('20220201183346'),
+('20220223140543'),
+('20230816135800'),
+('20230825162137'),
('21'),
('22'),
('23'),
('7'),
('8'),
('9');
-
-