(  P^``8b^؛`(^x`ș^``jl^H`dؔf fhp^`X\^\H^\^0hxjffPfff(fpfffHfd؃d fhfff, Ichargt ?ichargt+ Hcharle ?icharle* charlt ?icharlt) Fcharne ?icharne( Ecideq ?i cideq' Dxideq ?i xideq& Ctexteq ?itexteq% Bint4lt ?iint4lt$ Aint4eq ?iint4eq# @int2lt ?iint2lt" ?int2eq ?iint2eq! >nameeq ?inameeq  =chareq ?ichareq <booleq ?ibooleq 9boolgt ?iboolgt 8boollt ?iboollt 7oidvectorout ?ipoidvectorout 6oidvectorin ?ipoidvectorin 5cidout ?ipcidout 4cidin ?ip cidin 3xidout ?ipxidout 2xidin ?ip xidin 1tidout ?iptidout 0tidin ?ip tidin /textout ?iptextout .textin ?iptextin  to_regprocedure ?sp!to_regprocedure  to_regproc ?spto_regproc -regprocout ?spregprocout ,regprocin ?spregprocin +int4out ?ipint4out  *int4in ?ipint4in  )int2vectorout ?ipint2vectorout  (int2vectorin ?ipint2vectorin  'int2out ?ipint2out  &int2in ?ipint2in #nameout ?ipnameout "namein ?ipnamein !charout ?ipcharout charin ?ipcharin byteaout ?ipbyteaout byteain ?ipbyteain boolout ?ipboolout boolin ?ipboolin(h  Hfb؝b phpppH`hؘf d`tvx x`tv XȏHdf،hrXrbd8`bЇ`bh^`pHff؂f fhf* box_le ?i[[box_le) box_lt ?i[[box_lt( box_eq ?i[[box_eq' box_gt ?i[[box_gt& ~box_ge ?i[[box_ge% }box_overlap ?i[[box_overlap$ |box_out ?ip[box_out# {box_in ?i[pbox_in" zpath_out ?ipZpath_out! ypath_in ?iZppath_in  xlseg_out ?ipYlseg_out wlseg_in ?iYplseg_in vpoint_out ?ipXpoint_out upoint_in ?iXppoint_in tbox_below_eq ?i[[box_below_eq sbox_above_eq ?i[[box_above_eq onumeric_fac ?ipnumeric_fac nunknownout ?ipunknownout munknownin ?ipunknownin lscalargtjoinsel ?s!scalargtjoinsel kscalarltjoinsel ?s!scalarltjoinsel jneqjoinsel ?sneqjoinsel ieqjoinsel ?seqjoinsel hscalargtsel ?sscalargtsel gscalarltsel ?sscalarltsel fneqsel ?sneqsel eeqsel ?s eqsel Zpg_ddl_command_send ?ip )pg_ddl_command_send Xpg_ddl_command_recv ?i p)pg_ddl_command_recv  Wpg_ddl_command_out ?ip 'pg_ddl_command_out  Vpg_ddl_command_in ?i p%pg_ddl_command_in  Yversion ?s`pgsql_version  Tboolne ?iboolne  textcat ?itextcat textlen ?iptextlen textregexne ?itextregexne textregexeq ?itextregexeq nameregexne ?inameregexne Onameregexeq ?inameregexeq Nchar ?ipi4tochar Mint4 ?ipchartoi4 Jcharge ?icharge(  Hpn؝p phjdj@fxhHffؕf fhfff@fhАhh`hhf8hhȋhhXhhh0hxhhhPhjj(jpjff+ int4pl ?iint4pl* int2pl ?iint2pl) int42div ?iint42div( int24div ?iint24div' int42mul ?iint42mul& int24mul ?iint24mul% int42ge ?iint42ge$ int24ge ?iint24ge# int42le ?iint42le" int24le ?iint24le! int42ne ?iint42ne  int24ne ?iint24ne int42gt ?iint42gt int24gt ?iint24gt int42lt ?iint42lt int24lt ?iint24lt int42eq ?iint42eq int24eq ?iint24eq textne ?itextne int4mod ?iint4mod int2mod ?iint2mod int4div ?iint4div int2div ?iint2div int2mul ?iint2mul int2ge ?iint2ge int4ge ?iint4ge int4le ?iint4le int2le ?iint2le int4gt ?iint4gt int2gt ?iint2gt  int2ne ?iint2ne  int4ne ?iint4ne  int4mul ?iint4mul  areajoinsel ?sareajoinsel  areasel ?sareasel box_center ?iXp[box_center on_ppath ?iXZon_ppath on_pb ?iX[ on_pb point_eq ?iXXpoint_eq point_below ?iXXpoint_below point_right ?iXXpoint_right point_left ?iXXpoint_left point_above ?iXXpoint_above(  Hhh؝f fhhhd@djИpjXrtl t`vpr(thtbd@llЍjj`bdr(rht^^Pbdl(lpjjbHdrȀr+ float8larger ?ifloat8larger* float8_accum ?ifloat8_accum) float8abs ?ipfloat8abs( float8um ?ipfloat8um' float8mi ?ifloat8mi& float8pl ?ifloat8pl% float8div ?ifloat8div$ float8mul ?ifloat8mul# float8out ?ipfloat8out" float8in ?ipfloat8in! int2um ?ipint2um  int4um ?ipint4um float4smaller ?ifloat4smaller float4larger ?ifloat4larger float4_accum ?ifloat4_accum float4abs ?ipfloat4abs float4um ?ipfloat4um float4mi ?ifloat4mi float4pl ?ifloat4pl float4div ?ifloat4div float4mul ?ifloat4mul float4out ?ipfloat4out float4in ?ipfloat4in pg_node_tree_send ?sp%pg_node_tree_send pg_node_tree_recv ?sp%pg_node_tree_recv pg_node_tree_out ?ip#pg_node_tree_out pg_node_tree_in ?ip!pg_node_tree_in box_contain_pt ?i[Xbox_contain_pt box_contained ?i[[box_contained box_right ?i[[box_right  box_overright ?i[[box_overright  box_overleft ?i[[box_overleft  box_left ?i[[box_left  box_contain ?i[[box_contain  box_same ?i[[box_same oidne ?i oidne oideq ?i oideq int42mi ?iint42mi int24mi ?iint24mi int4mi ?iint4mi int2mi ?iint2mi int42pl ?iint42pl int24pl ?iint24pl(  @thНhhh^^\X\^\H\\b0Z\Д\ \p\\tHdf؏d fhffh@jpЊj Xhlll@llЅll`lll8ll+ reltimege ?ireltimege* reltimele ?ireltimele) reltimegt ?ireltimegt( reltimelt ?ireltimelt' reltimene ?ireltimene& reltimeeq ?ireltimeeq% abstimege ?iabstimege$ abstimele ?iabstimele# abstimegt ?iabstimegt" abstimelt ?iabstimelt! abstimene ?iabstimene  abstimeeq ?iabstimeeq timenow ?s`timenow tintervalrel ?iptintervalrel intinterval ?iintinterval tintervalout ?sptintervalout tintervalin ?sptintervalin timemi ?itimemi timepl ?itimepl reltimeout ?spreltimeout reltimein ?spreltimein abstimeout ?spabstimeout abstimein ?spabstimein line_distance ?ittline_distance int2 ?ip ftoi2 int2 ?ip dtoi2 float4 ?ip i2tof float8 ?ip i2tod dlog1 ?ip dlog1 dexp ?ip dexp  dpow ?i dpow  dcbrt ?ip dcbrt  dsqrt ?ip dsqrt   sign ?ip dsign   floor ?ipdfloor  ceiling ?ip dceil  ceil ?ip dceil dtrunc ?ipdtrunc dround ?ipdround poly_center ?iXp\poly_center path_center ?iXpZpath_center lseg_center ?iXpYlseg_center float8smaller ?ifloat8smaller(  @tpНpvPvvКvvPvnj0\xnjjPnnl(lpnnlHlj؍j jhjjj@jjЈjj`jjl8llȃllXlll+ 2float84ne ?ifloat84ne* 1float84eq ?ifloat84eq) 0float48ge ?ifloat48ge( /float48gt ?ifloat48gt' .float48le ?ifloat48le& -float48lt ?ifloat48lt% ,float48ne ?ifloat48ne$ +float48eq ?ifloat48eq# *float8ge ?ifloat8ge" )float8gt ?ifloat8gt! (float8le ?ifloat8le  'float8lt ?ifloat8lt &float8ne ?ifloat8ne %float8eq ?ifloat8eq $float4ge ?ifloat4ge #float4gt ?ifloat4gt "float4le ?ifloat4le !float4lt ?ifloat4lt  float4ne ?ifloat4ne float4eq ?ifloat4eq float84mi ?ifloat84mi float84pl ?ifloat84pl float84div ?ifloat84div float84mul ?ifloat84mul float48mi ?ifloat48mi float48pl ?ifloat48pl float48div ?ifloat48div float48mul ?ifloat48mul inter_lb ?it[inter_lb inter_sl ?iYtinter_sl  isfinite ?ipabstime_finite  timeofday ?v`timeofday  tintervalend ?iptintervalend  tintervalstart ?iptintervalstart  tintervallenge ?itintervallenge tintervallenle ?itintervallenle  tintervallengt ?itintervallengt  tintervallenlt ?itintervallenlt  tintervallenne ?itintervallenne  tintervalleneq ?itintervalleneq  tintervalov ?itintervalov tintervalct ?itintervalct tintervalsame ?itintervalsame(0  Hll؝l lXZZH^^ؘr(\x\Ȗ\\`np xXdd0fxpj8xpl8tp|臆0hxhjtHn|聢0p* brinoptions ?sbrinoptions) brincostestimate ?v#brincostestimate( brinvacuumcleanup ?v%brinvacuumcleanup' brinbulkdelete ?vbrinbulkdelete& brinbuildempty ?vpbrinbuildempty% brinbuild ?vbrinbuild$ brinrestrpos ?vpbrinrestrpos# brinmarkpos ?vpbrinmarkpos" brinendscan ?vpbrinendscan! brinrescan ?vbrinrescan  brinbeginscan ?vbrinbeginscan brininsert ?vbrininsert bringetbitmap ?vbringetbitmap  btoptions ?sbtoptions btcostestimate ?vbtcostestimate btcanreturn ?sbtcanreturn btvacuumcleanup ?v!btvacuumcleanup Lbtbulkdelete ?vbtbulkdelete Hbtbuildempty ?vpbtbuildempty Rbtbuild ?vbtbuild Qbtrestrpos ?vpbtrestrpos Pbtmarkpos ?vpbtmarkpos Obtendscan ?vpbtendscan Nbtrescan ?vbtrescan Mbtbeginscan ?vbtbeginscan Kbtinsert ?vbtinsert |btgetbitmap ?vbtgetbitmap Jbtgettuple ?vbtgettuple ?int4 ?ip ftoi4  >float4 ?ip i4tof  =int4 ?ip dtoi4  <float8 ?ip i4tod  ;int2vectoreq ?iint2vectoreq  :int2 ?ipi4toi2 9int4 ?ipi2toi4 8float4 ?ip dtof 7float8 ?ip ftod @width_bucket ?i)width_bucket_float8 6float84ge ?ifloat84ge 5float84gt ?ifloat84gt 4float84le ?ifloat84le 3float84lt ?ifloat84lt(0  8lrlHtvКnvPr`b0lptlt@ltȒpxPpx؏jrXvrl(lhtlt8jxrvn@trȄhhXhjj0j* pclose_sb ?iXY[close_sb) oclose_pb ?iXX[close_pb( nclose_ps ?iXXYclose_ps' mdist_sb ?iY[dist_sb& ldist_pb ?iX[dist_pb% kdist_ps ?iXYdist_ps$ jlseg_interpt ?iXYYlseg_interpt# ilseg_distance ?iYYlseg_distance" ~btarraycmp ?ibtarraycmp! }bttintervalcmp ?ibttintervalcmp  |btreltimecmp ?ibtreltimecmp ycash_cmp ?icash_cmp  bttextsortsupport ?ip%bttextsortsupport hbttextcmp ?ibttextcmp ? btnamesortsupport ?ip%btnamesortsupport gbtnamecmp ?ibtnamecmp fbtcharcmp ?ibtcharcmp ebtabstimecmp ?ibtabstimecmp btoidvectorcmp ?ibtoidvectorcmp > btoidsortsupport ?ip#btoidsortsupport dbtoidcmp ?ibtoidcmp = btfloat8sortsupport ?ip)btfloat8sortsupport cbtfloat8cmp ?ibtfloat8cmp < btfloat4sortsupport ?ip)btfloat4sortsupport bbtfloat4cmp ?ibtfloat4cmp ; btint8sortsupport ?ip%btint8sortsupport Jbtint8cmp ?ibtint8cmp : btint4sortsupport ?ip%btint4sortsupport _btint4cmp ?ibtint4cmp  9 btint2sortsupport ?ip%btint2sortsupport  ^btint2cmp ?ibtint2cmp  \poly_out ?ip\poly_out  [poly_in ?i\ppoly_in  Zpoly_overlap ?i\\poly_overlap Ypoly_contained ?i\\poly_contained Xpoly_right ?i\\poly_right Wpoly_overright ?i\\poly_overright Vpoly_overleft ?i\\poly_overleft Upoly_left ?i\\poly_left Tpoly_contain ?i\\poly_contain Spoly_same ?i\\poly_same pbrin_summarize_new_values ?vp5brin_summarize_new_values(X  HdtНnd`j^d@dhИhrPtȕ|Hhhؒjt`n؏|Hpb،b bhff`Hbb؇b hhljn@hbЂjpXr* text_smaller ?itext_smaller) text_larger ?itext_larger( hash_numeric ?iphash_numeric' hashinet ?ipehashinet& hashmacaddr ?ip=hashmacaddr% hashint2vector ?iphashint2vector$ Ihash_aclitem ?ip hash_aclitem# hashoidvector ?iphashoidvector" hashvarlena ?iphashvarlena! hashtext ?iphashtext  hashname ?iphashname hashchar ?iphashchar hashoid ?iphashoid hashfloat8 ?iphashfloat8 hashfloat4 ?iphashfloat4 hashint8 ?iphashint8 hashint4 ?iphashint4 hashint2 ?iphashint2  hashoptions ?shashoptions hashcostestimate ?v#hashcostestimate hashvacuumcleanup ?v%hashvacuumcleanup hashbulkdelete ?vhashbulkdelete Ghashbuildempty ?vphashbuildempty hashbuild ?vhashbuild hashrestrpos ?vphashrestrpos hashmarkpos ?vphashmarkpos hashendscan ?vphashendscan hashrescan ?vhashrescan hashbeginscan ?vhashbeginscan  hashinsert ?vhashinsert  }hashgetbitmap ?vhashgetbitmap  hashgettuple ?vhashgettuple  name ?ipbpchar_name  bpchar ?ipname_bpchar name ?iptext_name text ?ipname_text text ?iprtrim1 uinter_sb ?iY[inter_sb ton_sb ?iY[ on_sb sdist_ppath ?iXZdist_ppath rpath_distance ?iZZpath_distance qon_ps ?iXY on_ps(h  P^`^8ffțhhXfff0fxffhPhhh(hph\\`\\fH\\\8\fȊffXffn(tppppHpp؂p php + oidvectorgt ?ioidvectorgt * oidvectorge ?ioidvectorge ) oidvectoreq ?ioidvectoreq ( oidvectorle ?ioidvectorle ' oidvectorlt ?ioidvectorlt & koidvectorne ?ioidvectorne % mktinterval ?imktinterval $ varchar ? ivarchar #  varchar_transform ?ip%varchar_transform " bpchar ?ibpchar ! namene ?inamene  namege ?inamege  namegt ?inamegt  namele ?inamele  namelt ?inamelt  int8 ?ip int28  int2 ?ip int82  int8 ?ip ftoi8  float4 ?ip i8tof  rhash_array ?iphash_array  int8 ?ip dtoi8  float8 ?ip i8tod  int8 ?ip int48  int4 ?ip int84  int84ge ?iint84ge  int84le ?iint84le  int84gt ?iint84gt  int84lt ?iint84lt  int84ne ?iint84ne  int84eq ?iint84eq  int8ge ?iint8ge  int8le ?iint8le  int8gt ?iint8gt  int8lt ?iint8lt  int8ne ?iint8ne  int8eq ?iint8eq  int8div ?iint8div  int8mul ?iint8mul  int8mi ?iint8mi  int8pl ?iint8pl  int8um ?ipint8um  int8out ?ipint8out  int8in ?ipint8in(`  Hbd؝d l`rzp(x`h(hphnt@nnВph`hhh8bbȍjjXjjj0jxfhrHdp؅prXtr؂t l`t * string_to_array ?itext_to_array ) array_cat ?iarray_cat ( {array_prepend ?iarray_prepend ' zarray_append ?iarray_append & k cardinality ?ip%array_cardinality % array_length ?iarray_length $ ,array_upper ?iarray_upper # +array_lower ?iarray_lower " array_out ?sparray_out ! array_in ?sarray_in  array_ndims ?iparray_ndims  array_dims ?iparray_dims  array_ge ?iarray_ge  array_le ?iarray_le  array_gt ?iarray_gt  array_lt ?iarray_lt  array_ne ?iarray_ne  array_eq ?iarray_eq  session_user ?s`session_user  current_user ?s`current_user  text_ge ?itext_ge  text_gt ?itext_gt  text_le ?itext_le  text_lt ?itext_lt   dist_cpoint ?iXdist_cpoint   dist_polyp ?i\Xdist_polyp   dist_ppoly ?iX\dist_ppoly  poly_distance ?i\\poly_distance  dist_cpoly ?i\dist_cpoly  dist_sl ?iYtdist_sl  dist_lb ?it[dist_lb  dist_pl ?iXtdist_pl  overlay ?i)byteaoverlay_no_len  overlay ?ibyteaoverlay  set_bit ?ibyteaSetBit  get_bit ?ibyteaGetBit  set_byte ?ibyteaSetByte  get_byte ?ibyteaGetByte  octet_length ?ipbyteaoctetlen  oidle ?i oidle  oidlt ?i oidlt  getpgusername ?s`current_user(h  @txr0tpvx XnЖjXr|ؓ||`pАpX~rЍP^`f0fxd~lP`np(npprt(h| )  gistbeginscan ?vgistbeginscan ( gistinsert ?vgistinsert ' ~gistgetbitmap ?vgistgetbitmap & gistgettuple ?vgistgettuple % int2smaller ?iint2smaller $ int2larger ?iint2larger # int4smaller ?iint4smaller " int4larger ?iint4larger ! int4inc ?ipint4inc  lo_export ?vlo_export  lo_import ?v'lo_import_with_oid  lo_import ?vplo_import  smgrne ?ismgrne  smgreq ?ismgreq  smgrout ?spsmgrout  smgrin ?spsmgrin  arraycontjoinsel ?s#arraycontjoinsel  arraycontsel ?sarraycontsel  array_typanalyze ?sp#array_typanalyze   width_bucket ?i'width_bucket_array  array_agg ?ip!aggregate_dummy  array_agg_array_finalfn ?i1array_agg_array_finalfn  array_agg_array_transfn ?i1array_agg_array_transfn   array_agg ?ip !aggregate_dummy   array_agg_finalfn ?i %array_agg_finalfn   array_agg_transfn ?i %array_agg_transfn  ` array_replace ?iarray_replace  _ array_remove ?iarray_remove   unnest ?Biparray_unnest  array_fill ?i;array_fill_with_lower_bounds  array_fill ?iarray_fill  generate_subscripts ?zDi5generate_subscripts_nodir  generate_subscripts ?zDi)generate_subscripts   array_positions ?i!array_positions   array_position ?i+array_position_start   array_position ?iarray_position  array_smaller ?iarray_smaller  array_larger ?iarray_larger  array_to_string ?s'array_to_text_null  xstring_to_array ?i'text_to_array_null  array_to_string ?sarray_to_text(8  8hȝhjPtnК|PtxppPppp(ppptt0txhjlPhhh(hphhjHlh؇j d`ttt t`tt`8b * wcash_out ?spcash_out ) vcash_in ?spcash_in ( ccash_div_int2 ?icash_div_int2 ' bcash_mul_int2 ?icash_mul_int2 & acash_div_int4 ?icash_div_int4 % `cash_mul_int4 ?icash_mul_int4 $ _int2_mul_cash ?iint2_mul_cash # ^int4_mul_cash ?iint4_mul_cash " 1current_query ?v`current_query ! ]current_database ?s`#current_database  \bpchar ?ipchar_bpchar  [namenlike ?inamenlike  Znamelike ?inamelike  Yint48ge ?iint48ge  Xint48le ?iint48le  Wint48gt ?iint48gt  Vint48lt ?iint48lt  Uint48ne ?iint48ne  Tint48eq ?iint48eq  Stextnlike ?itextnlike  Rtextlike ?itextlike  Qposition ?itextpos  Pflt4_mul_cash ?iflt4_mul_cash  Ocash_div_flt4 ?icash_div_flt4  Ncash_mul_flt4 ?icash_mul_flt4  tintervalge ?itintervalge  tintervalle ?itintervalle  tintervalgt ?itintervalgt  tintervallt ?itintervallt  tintervalne ?itintervalne  tintervaleq ?itintervaleq   gistoptions ?sgistoptions  gistcostestimate ?v#gistcostestimate   gistcanreturn ?sgistcanreturn   gistvacuumcleanup ?v%gistvacuumcleanup  gistbulkdelete ?vgistbulkdelete  Fgistbuildempty ?vpgistbuildempty  gistbuild ?vgistbuild   gistrestrpos ?vpgistrestrpos   gistmarkpos ?vpgistmarkpos   gistendscan ?vpgistendscan   gistrescan ?vgistrescan(  Hhh؝h hhhhh@httnPptؕft`jjd8dhȐhhXhdd0hxbfhHrvЈbdh`dp8txtȃ^Pndd + on_sl ?iYt on_sl * on_pl ?iXt on_pl )  lo_put ?vlo_put (  lo_get ?v!lo_get_fragment '  lo_get ?vplo_get &  lo_from_bytea ?vlo_from_bytea % d lo_truncate64 ?vlo_truncate64 $ lo_truncate ?vlo_truncate # c lo_tell64 ?vplo_tell64 " lo_tell ?vplo_tell ! lo_create ?vplo_create  lo_creat ?vplo_creat  b lo_lseek64 ?vlo_lseek64  lo_lseek ?vlo_lseek  lowrite ?vlowrite  loread ?vloread  lo_close ?vplo_close  lo_open ?vlo_open  text ?ipchar_text  char ?iptext_char  mod ?iint8mod  int8mod ?iint8mod  mod ?iint4mod  mod ?iint2mod  money ?spint8_cash  money ?spint4_cash  money ?spnumeric_cash  numeric ?spcash_numeric  cash_div_cash ?icash_div_cash  cash_words ?ipcash_words  flt8_mul_cash ?iflt8_mul_cash  cashsmaller ?icashsmaller  cashlarger ?icashlarger  cash_div_flt8 ?icash_div_flt8  cash_mul_flt8 ?icash_mul_flt8  cash_mi ?icash_mi  ~cash_pl ?icash_pl  }cash_ge ?icash_ge  |cash_gt ?icash_gt  {cash_le ?icash_le  zcash_lt ?icash_lt  ycash_ne ?icash_ne  xcash_eq ?icash_eq(  Hjj؝j dhnbd@frȘdtHxjؕl lhlll@hjАnpXvpv v`tll8ph|@dfЅll`pn肀(v؀* ?aclexplode ? Asp S 5iooooacl,grantor,granteeHprivilege_type@is_grantableaclexplode) gacldefault ?i acldefault_sql( Umakeaclitem ?i makeaclitem' &aclitemeq ?i  aclitem_eq&  aclcontains ?i  aclcontains%  aclremove ?i   aclremove$  aclinsert ?i   aclinsert# aclitemout ?sp aclitemout" aclitemin ?s paclitemin! timezone ?iZ%timestamptz_izone  timestamp_izone_transform ?ip5timestamp_izone_transform lseg_eq ?iYYlseg_eq lseg_horizontal ?ipY!lseg_horizontal lseg_vertical ?ipYlseg_vertical lseg_perp ?iYYlseg_perp lseg_parallel ?iYYlseg_parallel lseg_intersect ?iYYlseg_intersect lseg ?iYXXlseg_construct slope ?iXXpoint_slope point_distance ?iXXpoint_distance point_horiz ?iXXpoint_horiz point_vert ?iXXpoint_vert point_ne ?iXXpoint_ne path_length ?ipZpath_length path_n_ge ?iZZpath_n_ge path_n_le ?iZZpath_n_le path_n_eq ?iZZpath_n_eq path_n_gt ?iZZpath_n_gt path_n_lt ?iZZpath_n_lt  diagonal ?iYp[box_diagonal  bound_box ?i[[[!boxes_bound_box  box_intersect ?i[[[box_intersect  area ?ipZpath_area  box_distance ?i[[box_distance height ?ip[box_height width ?ip[box_width area ?ip[box_area path_inter ?iZZpath_inter lo_unlink ?vplo_unlink close_lb ?iXt[close_lb close_sl ?iXYtclose_sl close_pl ?iXXtclose_pl(  @rdНnpXtfp(rpjjjHjjؕjtXvlf0p`ȐbhXhhh0hxhjrHhh؈h hhhjp8rhȃjjXpbj+ ] timetypmodin ?iptimetypmodin* xtime_out ?ip;time_out) wtime_in ?s;time_in( vdate_mii ?i::date_mii' udate_pli ?i::date_pli& tdate_mi ?i::date_mi% sdate_smaller ?i:::date_smaller$ rdate_larger ?i:::date_larger# Stime_cmp ?i;;time_cmp" Rtime_ne ?i;;time_ne! Qtime_ge ?i;;time_ge  Ptime_gt ?i;;time_gt Otime_le ?i;;time_le Ntime_lt ?i;;time_lt @ date_sortsupport ?ip#date_sortsupport Ddate_cmp ?i::date_cmp Cdate_ne ?i::date_ne Bdate_ge ?i::date_ge Adate_gt ?i::date_gt @date_le ?i::date_le ?date_lt ?i::date_lt >date_eq ?i::date_eq =date_out ?sp:date_out <date_in ?s:pdate_in 9format_type ?sformat_type 8hashbpchar ?iphashbpchar 6bpcharcmp ?ibpcharcmp (bpchar_smaller ?ibpchar_smaller 'bpchar_larger ?ibpchar_larger bpcharne ?ibpcharne  bpcharge ?ibpcharge  bpchargt ?ibpchargt  bpcharle ?ibpcharle  bpcharlt ?ibpcharlt  bpchareq ?ibpchareq d varchartypmodout ?ip#varchartypmodout c varchartypmodin ?ip!varchartypmodin varcharout ?ipvarcharout varcharin ?ivarcharin b bpchartypmodout ?ip!bpchartypmodout a bpchartypmodin ?ipbpchartypmodin bpcharout ?ipbpcharout bpcharin ?ibpcharin(@  HlhНttPttК~pXxzؗrrXrrؔrr Xzؐx j`rtp0pxpppPphp(phztx(r`~|@r) interval ?ip#reltime_interval( timestamptz ?s:;gselect cast(($1 + $2) as timestamp with time zone)' justify_days ?ip-interval_justify_days& justify_hours ?ip/interval_justify_hours%  justify_interval ?ip5interval_justify_interval$ timestamptz ?sp:#date_timestamptz# timestamptz ?ip)abstime_timestamptz" date_part ?iinterval_part! date_part ?s#timestamptz_part  interval_mi ?iinterval_mi interval_pl ?iinterval_pl interval_um ?ipinterval_um interval_gt ?iinterval_gt interval_ge ?iinterval_ge interval_le ?iinterval_le interval_lt ?iinterval_lt interval_ne ?iinterval_ne interval_eq ?iinterval_eq X intervaltypmodout ?ip%intervaltypmodout W intervaltypmodin ?ip#intervaltypmodin interval_out ?ipinterval_out interval_in ?sinterval_in timezone ?iZ#timestamptz_zone timestamp_zone_transform ?ip3timestamp_zone_transform to_timestamp ?ipselect ('epoch'::pg_catalog.timestamptz + $1 * '1 second'::pg_catalog.interval) timestamptz_gt ?itimestamp_gt timestamptz_ge ?itimestamp_ge timestamptz_le ?itimestamp_le  timestamptz_lt ?itimestamp_lt  timestamptz_ne ?itimestamp_ne  timestamptz_eq ?itimestamp_eq  \ timestamptztypmodout ?ip+timestamptztypmodout  [ timestamptztypmodin ?ip)timestamptztypmodin timestamptz_out ?sp!timestamptz_out ~timestamptz_in ?stimestamptz_in }circle_div_pt ?iXcircle_div_pt |circle_mul_pt ?iXcircle_mul_pt {circle_sub_pt ?iXcircle_sub_pt zcircle_add_pt ?iXcircle_add_pt ytime_eq ?i;;time_eq ^ timetypmodout ?iptimetypmodout(  @rjȝx``brؚPr|ЗzzPxxДvvh~P|v`0`xpp`Xnpt t`tt`@`x~pHhh؀j( int84mul ?iint84mul' int84mi ?iint84mi& int84pl ?iint84pl% date_part ?itimetz_part$ datetime_pl ?iZ:;'datetime_timestamp# overlaps ?i!overlaps_timetz" int2abs ?ipint2abs! int4abs ?ipint4abs  nameicregexne ?inameicregexne nameicregexeq ?inameicregexeq texticregexne ?itexticregexne texticregexeq ?itexticregexeq int8smaller ?iint8smaller int8larger ?iint8larger int8abs ?ipint8abs  int8dec_any ?iint8dec_any  int8inc_any ?iint8inc_any  int8dec ?ipint8dec int8inc ?ipint8inc date_trunc ?iinterval_trunc date_trunc ?s%timestamptz_trunc shobj_description Bsselect description from pg_catalog.pg_shdescription where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = 11) col_description BsLselect description from pg_catalog.pg_description where objoid = $1 and classoid = 'pg_catalog.pg_class'::pg_catalog.regclass and objsubid = $2 obj_description Bsselect description from pg_catalog.pg_description where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = 11) and objsubid = 0 interval ?Niinterval_scale Ninterval_transform ?ip'interval_transform age ?i!timestamptz_age  interval_larger ?i!interval_larger  interval_smaller ?i#interval_smaller  timestamptz_larger ?i#timestamp_larger  timestamptz_smaller ?i%timestamp_smaller  reltime ?ip#interval_reltime timestamptz_mi_interval ?s1timestamptz_mi_interval timestamptz_pl_interval ?s1timestamptz_pl_interval timestamptz_mi ?itimestamp_mi cmxid_age ?spmxid_age age ?spxid_age abstime ?ip)timestamptz_abstime date ?s:pabstime_date date ?s:p#timestamptz_date(  Hjh؝h jhjhh@jjИhh`jj`H`ȓdzH|dؐd dhddj@lnȋz@zPP8ph8xp* overlaps ?sSselect ($1, ($1 + $2)) overlaps ($3, $4)) overlaps ?sSselect ($1, $2) overlaps ($3, ($3 + $4))( overlaps ?saselect ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' overlaps ?i'overlaps_timestamp& contjoinsel ?scontjoinsel% contsel ?scontsel$ positionjoinsel ?s!positionjoinsel# positionsel ?spositionsel" Y clock_timestamp ?v`!clock_timestamp! X statement_timestamp ?s`)statement_timestamp  W transaction_timestamp ?s` now now ?s` now timetzdate_pl ?i:#select ($2 + $1) datetimetz_pl ?i:/datetimetz_timestamptz timedate_pl ?iZ;:#select ($2 + $1)  tidsmaller ?itidsmaller  tidlarger ?itidlarger  bttidcmp ?ibttidcmp  tidle ?i tidle  tidge ?i tidge  tidlt ?i tidlt  tidgt ?i tidgt tidne ?i tidne currtid2 ?v%currtid_byrelname  currtid ?v#currtid_byreloid  tideq ?i tideq  suppress_redundant_updates_trigger ?v`Gsuppress_redundant_updates_trigger int8 ?ipoidtoi8 oid ?ipi8tooid  int28div ?iint28div  int28mul ?iint28mul  int28mi ?iint28mi  Iint28pl ?iint28pl  Hint82div ?iint82div Gint82mul ?iint82mul Fint82mi ?iint82mi Eint82pl ?iint82pl int48div ?iint48div int48mul ?iint48mul int48mi ?iint48mi int48pl ?iint48pl int84div ?iint84div(  8PpЛzlXtvؘtr`n`d@drГ^ ^p\^^`\\b@bZ؋nt`fnp8llȆllXlln 0xdȀ`* Ycharacter_length ?iptextlen) Wcharacter_length ?ipbpcharlen( Ttime ?s;pselect cast(cast($1 as timestamp without time zone) as pg_catalog.time)' Otimestamptz ?i:/datetimetz_timestamptz& Ntimetz_cmp ?itimetz_cmp% Mtimetz_gt ?itimetz_gt$ Ltimetz_ge ?itimetz_ge# Ktimetz_le ?itimetz_le" Jtimetz_lt ?itimetz_lt! Itimetz_ne ?itimetz_ne  Htimetz_eq ?itimetz_eq ` timetztypmodout ?ip!timetztypmodout _ timetztypmodin ?iptimetztypmodin Gtimetz_out ?iptimetz_out Ftimetz_in ?stimetz_in Eoidvectortypes ?spoidvectortypes Dobj_description Bspselect description from pg_catalog.pg_description where objoid = $1 and objsubid = 0 Cexp ?ip dexp Xpower ?i dpow Bpow ?i dpow Acbrt ?ip dcbrt @sqrt ?ip dsqrt ?trunc ?ipdtrunc >round ?ipdround =ln ?ip dlog1 <log ?ipdlog10 ;dlog10 ?ipdlog10 .interval_div ?iinterval_div 'xideqint4 ?i xideq  &length ?ipbpcharlen  %length ?iptextlen  $time ?i;pZtimestamp_time  #interval_cmp ?iinterval_cmp  "timestamptz_cmp ?itimestamp_cmp Z timestamptypmodout ?ip'timestamptypmodout Y timestamptypmodin ?ip%timestamptypmodin !timestamp_out ?spZtimestamp_out  timestamp_in ?sZtimestamp_in overlaps ?i;;;Sselect ($1, ($1 + $2)) overlaps ($3, $4) overlaps ?i;;;Sselect ($1, $2) overlaps ($3, ($3 + $4)) overlaps ?i;;aselect ($1, ($1 + $2)) overlaps ($3, ($3 + $4)) overlaps ?i;;;;overlaps_time(`  Hld؝j nhprt(vx`l(vphrp@hdЏd `p``dPdfp Xnp(tpllp@tlЂlp`l) point ?iXpcircle_center( ishorizontal ?ipt!line_horizontal' isvertical ?iptline_vertical& isperp ?ittline_perp% isparallel ?ittline_parallel$ ishorizontal ?ipY!lseg_horizontal# isvertical ?ipYlseg_vertical" isperp ?iYYlseg_perp! isparallel ?iYYlseg_parallel  ishorizontal ?iXXpoint_horiz ~isvertical ?iXXpoint_vert }overlay ?i'textoverlay_no_len |overlay ?itextoverlay {current_schemas ?sp!current_schemas zcurrent_schema ?s`current_schema yvarchar ?ipname_text xname ?iptext_name vabs ?ipint2abs uabs ?ipint4abs tabs ?ipint8abs sabs ?ipfloat8abs rabs ?ipfloat4abs `factorial ?ipnumeric_fac nisfinite ?ip!interval_finite misfinite ?ip#timestamp_finite ]isfinite ?ip:date_finite ltimetz ?sp'timestamptz_timetz jage ?spselect pg_catalog.age(cast(current_date as timestamp with time zone), $1)  idate_part ?i;time_part  hdate_part ?i:select pg_catalog.date_part($1, cast($2 as timestamp without time zone))  gdate_part ?sselect pg_catalog.date_part($1, cast($2 as pg_catalog.interval))  fdate_part ?sselect pg_catalog.date_part($1, cast($2 as timestamp with time zone))  echar_length ?iptextlen dtimetz_smaller ?itimetz_smaller ctimetz_larger ?itimetz_larger btime_smaller ?i;;;time_smaller atime_larger ?i;;;time_larger _octet_length ?ipbpcharoctetlen ^octet_length ?iptextoctetlen \char_length ?ipbpcharlen Zinterval ?ip;time_interval(`  Hln؝h hhhh x`|lh8jfȕdjXppp0ppxllHll؍j bhdbd@dfЈpvXpx؅zrXzv؂rr`l* circle_eq ?icircle_eq) circle_above ?icircle_above( circle_below ?icircle_below' circle_overlap ?icircle_overlap& circle_contained ?i#circle_contained% circle_right ?icircle_right$ circle_overright ?i#circle_overright# circle_overleft ?i!circle_overleft" circle_left ?icircle_left! circle_contain ?icircle_contain  circle_same ?icircle_same circle_out ?ipcircle_out circle_in ?ipcircle_in polygon ?i\pZpath_poly polygon ?i\p[box_poly path ?iZp\poly_path box ?i[p\poly_box poly_npoints ?ip\poly_npoints point_div ?iXXXpoint_div point_mul ?iXXXpoint_mul point_sub ?iXXXpoint_sub point_add ?iXXXpoint_add point ?iX!construct_point path_div_pt ?iZZXpath_div_pt path_mul_pt ?iZZXpath_mul_pt path_sub_pt ?iZZXpath_sub_pt path_add_pt ?iZZXpath_add_pt path_add ?iZZZpath_add popen ?iZpZpath_open  pclose ?iZpZpath_close  path_npoints ?ipZpath_npoints  isopen ?ipZpath_isopen  isclosed ?ipZpath_isclosed  pt_contained_poly ?iX\%pt_contained_poly poly_contain_pt ?i\X!poly_contain_pt path_contain_pt ?iZXGselect pg_catalog.on_ppath($2, $1) box_div ?i[[Xbox_div box_mul ?i[[Xbox_mul box_sub ?i[[Xbox_sub box_add ?i[[Xbox_add box ?i[XXpoints_box time ?i;pinterval_time(  Hll؝l lhlhp@lxȘllXhph(|hdf@fpАhh`hhh8hjȋn``bh|(rhvtl8lpȃhhXhhf+ point ?iXp[box_center* point ?iXpZpath_center) point ?iXpYlseg_center( length ?ipZpath_length' length ?ipYlseg_length& line_horizontal ?ipt!line_horizontal% line_vertical ?iptline_vertical$ line_perp ?ittline_perp# line_parallel ?ittline_parallel" line_intersect ?ittline_intersect! line_interpt ?iXttline_interpt  line ?itXX%line_construct_pp line_eq ?ittline_eq line_out ?iptline_out line_in ?itpline_in close_lseg ?iXYYclose_lseg close_ls ?iXtYclose_ls lseg_length ?ipYlseg_length lseg_ge ?iYYlseg_ge lseg_gt ?iYYlseg_gt lseg_le ?iYYlseg_le lseg_lt ?iYYlseg_lt lseg_ne ?iYYlseg_ne tinterval ?imktinterval box ?i[pcircle_box circle ?ip[box_circle box ?i[pXpoint_box pt_contained_circle ?iX)pt_contained_circle circle_contain_pt ?iX%circle_contain_pt dist_pc ?iXdist_pc  polygon ?i\circle_poly  circle ?ip\poly_circle  circle ?iXcr_circle  circle_center ?iXpcircle_center  circle_distance ?i!circle_distance radius ?ipcircle_radius diameter ?ip!circle_diameter area ?ipcircle_area circle_ge ?icircle_ge circle_le ?icircle_le circle_gt ?icircle_gt circle_lt ?icircle_lt circle_ne ?icircle_ne(0  Hhj؝f lPjj(nx`hjPjlj(lphhn@xt@fnЍpd`ddd8ddȈfXh`\\X\fZ@ZZZ0`* Hdegrees ?ipdegrees) Gcot ?ip dcot( Ftan ?ip dtan' Ecos ?ip dcos& Dsin ?ip dsin% Catan2 ?idatan2$ Batan ?ip datan# Aacos ?ip dacos" @asin ?ip dasin! ?setseed ?vpsetseed  >random ?v`drandom <bitcmp ?ibitcmp ;bitlt ?i bitlt :bitle ?i bitle 9bitgt ?i bitgt 8bitge ?i bitge .bitne ?i bitne -biteq ?i biteq i varbittypmodout ?ip!varbittypmodout V varbittypmodin ?ipvarbittypmodin ,varbit_out ?ipvarbit_out +varbit_in ?ivarbit_in ? pg_sequence_parameters ?sp[7iooooo@sequence_oid<start_valueDminimum_valueDmaximum_value4increment@cycle_option/pg_sequence_parameters setval ?vsetval3_oid (setval ?vsetval_oid 'currval ?vpcurrval_oid &nextval ?vpnextval_oid $notlike ?inamenlike #like ?inamelike  "notlike ?itextnlike  !like ?itextlike  h bittypmodout ?ipbittypmodout  g bittypmodin ?ipbittypmodin  bit_out ?ipbit_out bit_in ?ibit_in npoints ?ip\poly_npoints  npoints ?ipZpath_npoints polygon ?i\pEselect pg_catalog.polygon(12, $1) center ?iXpcircle_center center ?iXp[box_center lseg ?iYp[box_diagonal point ?iXp\poly_center(  P`Pr8\XЛfvPvjl(nppnpHptȓtpXpnp0h\Ў\ `hjjd@dxt p^^~Hd^؃x~XzȀ+ regexp_replace ?i#textregexreplace* regexp_replace ?i/textregexreplace_noopt) 'replace ?ireplace_text( substring ?i'text_substr_no_len' substring ?itext_substr& ubtrim ?ipbtrim1% tbtrim ?i btrim$ ssubstr ?i'text_substr_no_len# rrtrim ?iprtrim1" qltrim ?ipltrim1! prpad ?iIselect pg_catalog.rpad($1, $2, ' ')  olpad ?iIselect pg_catalog.lpad($1, $2, ' ') ntranslate ?itranslate msubstr ?itext_substr lrtrim ?i rtrim kltrim ?i ltrim jrpad ?i rpad ilpad ?i lpad hinitcap ?ipinitcap gupper ?ip upper flower ?ip lower dstrpos ?itextpos }bpcharicnlike ?itexticnlike |bpchariclike ?itexticlike {bpcharregexne ?itextregexne zbpcharregexeq ?itextregexeq ybpcharicregexne ?itexticregexne xbpcharicregexeq ?itexticregexeq elike_escape ?ilike_escape dnameicnlike ?inameicnlike  cnameiclike ?inameiclike  btexticnlike ?itexticnlike  atexticlike ?itexticlike  `bpcharnlike ?itextnlike  _bpcharlike ?itextlike Xmul_d_interval ?imul_d_interval Wsimilar_escape ?isimilar_escape Vrepeat ?irepeat Uchr ?ip chr Tascii ?ip ascii Rinterval_mul ?iinterval_mul Jpi ?i` dpi Iradians ?ipradians(  8x~v蜖 PЙbb`pn~(xhtvx(x`dd8nxxnpPptЋzpPvȈ8~pHD|Pdrȁ( pg_column_is_updatable As/pg_column_is_updatable' pg_relation_is_updatable As3pg_relation_is_updatable& Z pg_collation_for ?sp#pg_collation_for% Spg_typeof ?sppg_typeof$ ?pg_options_to_table ?@@spC1iooDoptions_array<option_name@option_value)pg_options_to_table# ?pg_get_keywords ACs`C1oook word,catcode,catdesc!pg_get_keywords" pg_get_function_arg_default ?s9pg_get_function_arg_default! upg_get_function_result ?sp/pg_get_function_result  pg_get_function_identity_arguments ?spGpg_get_function_identity_arguments rpg_get_function_arguments ?sp5pg_get_function_arguments 2pg_get_functiondef ?sp'pg_get_functiondef pg_get_serial_sequence ?s/pg_get_serial_sequence pg_get_expr ?spg_get_expr kpg_get_constraintdef ?sp+pg_get_constraintdef ~pg_get_triggerdef ?sp%pg_get_triggerdef kpg_get_indexdef ?sp!pg_get_indexdef jpg_get_userbyid ?sp!pg_get_userbyid ipg_get_viewdef ?sppg_get_viewdef hpg_get_viewdef ?sp)pg_get_viewdef_name %pg_get_ruledef ?sppg_get_ruledef goidge ?i oidge foidgt ?i oidgt  pg_encoding_max_length ?ip7pg_encoding_max_length_sql =pg_encoding_to_char ?sp)PG_encoding_to_char pg_char_to_encoding ?sp)PG_char_to_encoding convert ?spg_convert convert_to ?spg_convert_to  convert_from ?s!pg_convert_from  length ?s'length_in_encoding  *pg_client_encoding ?s`'pg_client_encoding  getdatabaseencoding ?s`)getdatabaseencoding  *to_hex ?ipto_hex64 )to_hex ?ipto_hex32  regexp_split_to_array ?i-regexp_split_to_array  regexp_split_to_array ?i?regexp_split_to_array_no_flags  regexp_split_to_table ?zDi-regexp_split_to_table  regexp_split_to_table ?zDi?regexp_split_to_table_no_flags (split_part ?isplit_text  regexp_matches ? Airegexp_matches  regexp_matches ??i1regexp_matches_no_flags(`  Hnl؝l phprr0pxpvv8rxrddPddd(dpfhfHf^؍rt`ftd0nxpdhHrn؅pzX~؂lt`f* macaddr_in ?i=pmacaddr_in)  set_bit ?ibitsetbit(  get_bit ?ibitgetbit'  overlay ?i%bitoverlay_no_len&  overlay ?ibitoverlay% substring ?i#bitsubstr_no_len$ position ?ibitposition# varbit ?V ivarbit" V varbit_transform ?ip#varbit_transform! bit ?i bit  int4 ?ipbittoint4 bit ?ibitfromint4 octet_length ?ipbitoctetlength length ?ipbitlength substring ?ibitsubstr bitcat ?ibitcat bitshiftright ?ibitshiftright bitshiftleft ?ibitshiftleft bitnot ?ipbitnot bitxor ?ibitxor bitor ?ibit_or bitand ?ibit_and varbitcmp ?ibitcmp varbitlt ?i bitlt varbitle ?i bitle varbitgt ?i bitgt varbitge ?i bitge varbitne ?i bitne varbiteq ?i biteq  wRI_FKey_noaction_upd ?v`+RI_FKey_noaction_upd  vRI_FKey_noaction_del ?v`+RI_FKey_noaction_del  uRI_FKey_setdefault_upd ?v`/RI_FKey_setdefault_upd  tRI_FKey_setdefault_del ?v`/RI_FKey_setdefault_del  sRI_FKey_setnull_upd ?v`)RI_FKey_setnull_upd rRI_FKey_setnull_del ?v`)RI_FKey_setnull_del qRI_FKey_restrict_upd ?v`+RI_FKey_restrict_upd pRI_FKey_restrict_del ?v`+RI_FKey_restrict_del oRI_FKey_cascade_upd ?v`)RI_FKey_cascade_upd nRI_FKey_cascade_del ?v`)RI_FKey_cascade_del mRI_FKey_check_upd ?v`%RI_FKey_check_upd lRI_FKey_check_ins ?v`%RI_FKey_check_ins unique_key_recheck ?v`'unique_key_recheck(  Hhl؝n nhnnn@npИhp`n`bH`bؓn nhnnn@nvxpPpt؋ptXxhh(zhznp@ppȃtjXjrj+ cidr ?ipeinet_to_cidr* Rhostmask ?iepe#network_hostmask) text ?ipenetwork_show( host ?ipenetwork_host' broadcast ?iepe%network_broadcast& masklen ?ipe!network_masklen% netmask ?iepe!network_netmask$ network ?ipe!network_network# family ?ipenetwork_family" {set_masklen ?i#cidr_set_masklen! ]set_masklen ?iee#inet_set_masklen  Wabbrev ?ipcidr_abbrev Vabbrev ?ipeinet_abbrev  network_overlap ?iee!network_overlap network_supeq ?ieenetwork_supeq network_sup ?ieenetwork_sup network_subeq ?ieenetwork_subeq network_sub ?ieenetwork_sub network_cmp ?ieenetwork_cmp  network_smaller ?ieee!network_smaller  network_larger ?ieeenetwork_larger network_ne ?ieenetwork_ne network_ge ?ieenetwork_ge network_gt ?ieenetwork_gt network_le ?ieenetwork_le network_lt ?ieenetwork_lt network_eq ?ieenetwork_eq cidr_out ?ipcidr_out cidr_in ?ipcidr_in inet_out ?ipeinet_out  inet_in ?iepinet_in  J macaddr_or ?i===macaddr_or  I macaddr_and ?i===macaddr_and  H macaddr_not ?i=p=macaddr_not  Dmacaddr_cmp ?i==macaddr_cmp Cmacaddr_ne ?i==macaddr_ne Bmacaddr_ge ?i==macaddr_ge Amacaddr_gt ?i==macaddr_gt @macaddr_le ?i==macaddr_le ?macaddr_lt ?i==macaddr_lt >macaddr_eq ?i==macaddr_eq trunc ?i=p=macaddr_trunc macaddr_out ?ip=macaddr_out(   Hjj؝j jp`hfHfvИpfXznЕxPvzؒpP~Џ~Hrf،f lhdhl8vhȇprHth؄h hhjt t* trunc ?inumeric_trunc) round ?ip=select pg_catalog.round($1,0)( round ?inumeric_round' sign ?ipnumeric_sign& abs ?ipnumeric_abs% numeric_abs ?ipnumeric_abs$ numeric ?U inumeric# U numeric_transform ?ip%numeric_transform" f numerictypmodout ?ip#numerictypmodout! e numerictypmodin ?ip!numerictypmodin  numeric_out ?ipnumeric_out numeric_in ?inumeric_in interval_hash ?ipinterval_hash timetz_hash ?iptimetz_hash time_hash ?ip;time_hash btboolcmp ?ibtboolcmp boolge ?iboolge boolle ?iboolle time_mi_time ?i;;time_mi_time  networkjoinsel ?snetworkjoinsel  networksel ?snetworksel  inet_gist_same ?ieeinet_gist_same  inet_gist_picksplit ?i)inet_gist_picksplit  inet_gist_penalty ?i%inet_gist_penalty  inet_gist_fetch ?ip!inet_gist_fetch  inet_gist_decompress ?ip+inet_gist_decompress  inet_gist_compress ?ip'inet_gist_compress  inet_gist_union ?i!inet_gist_union  inet_gist_consistent ?ie+inet_gist_consistent  inet_merge ?ieeinet_merge  inet_same_family ?iee#inet_same_family  I inetmi ?ieeinetmi  H inetmi_int8 ?ieeinetmi_int8  G int8pl_inet ?ieeselect $2 + $1 F inetpl ?ieeinetpl E inetor ?ieeeinetor D inetand ?ieeeinetand C inetnot ?iepeinetnot inet_server_port ?s`#inet_server_port inet_server_addr ?se`#inet_server_addr inet_client_port ?s`#inet_client_port inet_client_addr ?se`#inet_client_addr(P  8jȝjlXnnn0nxnnpPppp(pppjjHhhؐf fhppt0tptj8nnȈjnXn|؅|HzzȂ~~Ph* numeric_inc ?ipnumeric_inc) timetz_mi_interval ?i'timetz_mi_interval( timetz_pl_interval ?i'timetz_pl_interval' time_mi_interval ?i;;#time_mi_interval& time_pl_interval ?i;;#time_pl_interval% zwidth_bucket ?i+width_bucket_numeric$ numeric_div_trunc ?i%numeric_div_trunc# div ?i%numeric_div_trunc" float8 ?ipnumeric_float8! float4 ?ipnumeric_float4  int4 ?ipnumeric_int4 numeric ?ipfloat8_numeric numeric ?ipfloat4_numeric log ?ip=select pg_catalog.log(10, $1) numeric ?ipint4_numeric numeric_power ?inumeric_power ypower ?inumeric_power pow ?inumeric_power numeric_log ?inumeric_log log ?inumeric_log numeric_ln ?ipnumeric_ln ln ?ipnumeric_ln numeric_exp ?ipnumeric_exp exp ?ipnumeric_exp numeric_sqrt ?ipnumeric_sqrt sqrt ?ipnumeric_sqrt numeric_mod ?inumeric_mod mod ?inumeric_mod numeric_div ?inumeric_div  numeric_mul ?inumeric_mul  numeric_sub ?inumeric_sub  numeric_add ?inumeric_add  numeric_le ?inumeric_le  numeric_lt ?inumeric_lt numeric_ge ?inumeric_ge numeric_gt ?inumeric_gt numeric_ne ?inumeric_ne numeric_eq ?inumeric_eq floor ?ipnumeric_floor wceiling ?ipnumeric_ceil ceil ?ipnumeric_ceil trunc ?ip=select pg_catalog.trunc($1,0)(  @xvȝpxPnjj(jpjx0rprvv0|prhz@hln`\^ȋ؊ lhnjn8h| ~XЀ~) regexeqsel ?sregexeqsel( icnlikejoinsel ?sicnlikejoinsel' iclikejoinsel ?siclikejoinsel& icnlikesel ?sicnlikesel% iclikesel ?siclikesel$ bit_length ?ip;select pg_catalog.length($1)# bit_length ?ipOselect pg_catalog.octet_length($1) * 8" bit_length ?ipOselect pg_catalog.octet_length($1) * 8!  format ?sptext_format_nv   format ?s;/ivtext_format  reverse ?iptext_reverse  right ?itext_right  left ?itext_left  concat_ws ?s;/ivtext_concat_ws  concat ?sp3-vtext_concat oidout ?ipoidout oidin ?ip oidin  quote_nullable ?spmselect pg_catalog.quote_nullable($1::pg_catalog.text)  quote_nullable ?ipquote_nullable quote_literal ?spkselect pg_catalog.quote_literal($1::pg_catalog.text) quote_literal ?ipquote_literal quote_ident ?ipquote_ident to_char ?s#interval_to_char to_date ?s:to_date to_timestamp ?sto_timestamp to_number ?s%numeric_to_number to_char ?sfloat8_to_char to_char ?sfloat4_to_char  to_char ?sint8_to_char  to_char ?sint4_to_char  to_char ?s!numeric_to_char  to_char ?s)timestamptz_to_char  int2 ?ipnumeric_int2 numeric ?ipint2_numeric numeric ?ipint8_numeric int8 ?ipnumeric_int8 numeric_uminus ?ipnumeric_uminus  numeric_sortsupport ?ip)numeric_sortsupport numeric_cmp ?inumeric_cmp numeric_larger ?inumeric_larger numeric_smaller ?i!numeric_smaller(P  @xx~z0hЙ@pfnHptȓvtH||Аnn`nvv v`v~h0hxprv8xjȅjjPrrЂz|P) @ numeric_poly_stddev_pop ?ip1numeric_poly_stddev_pop( ? numeric_poly_var_samp ?ip-numeric_poly_var_samp' > numeric_poly_var_pop ?ip+numeric_poly_var_pop& = numeric_poly_avg ?ip#numeric_poly_avg% < numeric_poly_sum ?ip#numeric_poly_sum$ 2int8_sum ?iint8_sum# 1int4_sum ?iint4_sum" 0int2_sum ?iint2_sum! /numeric_stddev_samp ?ip)numeric_stddev_samp  $ numeric_stddev_pop ?ip'numeric_stddev_pop .numeric_var_samp ?ip#numeric_var_samp  numeric_var_pop ?ip!numeric_var_pop -numeric_avg ?ipnumeric_avg j numeric_sum ?ipnumeric_sum ; int8_avg_accum_inv ?i'int8_avg_accum_inv  int8_accum_inv ?iint8_accum_inv  int4_accum_inv ?iint4_accum_inv  int2_accum_inv ?iint2_accum_inv  int8_avg_accum ?iint8_avg_accum ,int8_accum ?iint8_accum +int4_accum ?iint4_accum *int2_accum ?iint2_accum  numeric_accum_inv ?i%numeric_accum_inv * numeric_avg_accum ?i%numeric_avg_accum )numeric_accum ?inumeric_accum (float8_stddev_samp ?ip'float8_stddev_samp  float8_stddev_pop ?ip%float8_stddev_pop 'float8_var_samp ?ip!float8_var_samp   float8_var_pop ?ipfloat8_var_pop  &float8_avg ?ipfloat8_avg  %icregexnejoinsel ?s#icregexnejoinsel  $nlikejoinsel ?snlikejoinsel  #regexnejoinsel ?sregexnejoinsel "icregexeqjoinsel ?s#icregexeqjoinsel !likejoinsel ?slikejoinsel  regexeqjoinsel ?sregexeqjoinsel icregexnesel ?sicregexnesel nlikesel ?snlikesel regexnesel ?sregexnesel icregexeqsel ?sicregexeqsel likesel ?slikesel(  8xv~j@vv~~HbjȗHppؔprXrnt |`rth `vxЋHxrȈrzHvh؅h hhhhh@hhЀh * Bint82lt ?iint82lt ) Aint82ne ?iint82ne ( @int82eq ?iint82eq ' ?int28ge ?iint28ge & >int28le ?iint28le % =int28gt ?iint28gt $ <int28lt ?iint28lt # ;int28ne ?iint28ne " :int28eq ?iint28eq ! 8interval_pl_time ?i;;select $2 + $1  7to_ascii ?i#to_ascii_encname  6to_ascii ?ito_ascii_enc  5to_ascii ?ip#to_ascii_default   string_agg ?i!aggregate_dummy   bytea_string_agg_finalfn ?ip3bytea_string_agg_finalfn   bytea_string_agg_transfn ?i3bytea_string_agg_transfn   string_agg ?i!aggregate_dummy   string_agg_finalfn ?ip'string_agg_finalfn   string_agg_transfn ?i'string_agg_transfn   float8_corr ?ipfloat8_corr   float8_covar_samp ?ip%float8_covar_samp   float8_covar_pop ?ip#float8_covar_pop   float8_regr_intercept ?ip-float8_regr_intercept   float8_regr_slope ?ip%float8_regr_slope   float8_regr_r2 ?ipfloat8_regr_r2   float8_regr_avgy ?ip#float8_regr_avgy   float8_regr_avgx ?ip#float8_regr_avgx   float8_regr_sxy ?ip!float8_regr_sxy   float8_regr_syy ?ip!float8_regr_syy   float8_regr_sxx ?ip!float8_regr_sxx   float8_regr_accum ?i%float8_regr_accum   int8inc_float8_float8 ?i-int8inc_float8_float8   int2int4_sum ?ipint2int4_sum  int8_avg ?ipint8_avg   int4_avg_accum_inv ?i'int4_avg_accum_inv   int2_avg_accum_inv ?i'int2_avg_accum_inv  int4_avg_accum ?iint4_avg_accum  int2_avg_accum ?iint2_avg_accum  4interval_avg ?ipinterval_avg   interval_accum_inv ?i'interval_accum_inv  3interval_accum ?iinterval_accum  A numeric_poly_stddev_samp ?ip3numeric_poly_stddev_samp(h  Hhh؝h hhfh`Hhhؘh fhh`hHhhؓf hp`hhP^^^8bbȌl(X P胐 Hh!)  has_column_privilege ?sMhas_column_privilege_name_name_attnum!(  has_column_privilege ?sIhas_column_privilege_name_name_name!' has_sequence_privilege ?s5has_sequence_privilege_id!& has_sequence_privilege ?s9has_sequence_privilege_name!% has_sequence_privilege ?s;has_sequence_privilege_id_id!$ has_sequence_privilege ?s?has_sequence_privilege_id_name!# has_sequence_privilege ?s?has_sequence_privilege_name_id!" has_sequence_privilege ?sChas_sequence_privilege_name_name!! has_table_privilege ?s/has_table_privilege_id!  has_table_privilege ?s3has_table_privilege_name! has_table_privilege ?s5has_table_privilege_id_id! has_table_privilege ?s9has_table_privilege_id_name! has_table_privilege ?s9has_table_privilege_name_id! has_table_privilege ?s=has_table_privilege_name_name! {numeric_uplus ?ipnumeric_uplus! zfloat8up ?ipfloat8up! yfloat4up ?ipfloat4up! xint4up ?ipint4up! wint2up ?ipint2up! vint8up ?ipint8up! uint8shr ?iint8shr! tint8shl ?iint8shl! sint8not ?ipint8not! rint8xor ?iint8xor! qint8or ?iint8or! pint8and ?iint8and! oint4shr ?iint4shr! nint4shl ?iint4shl!  mint4not ?ipint4not!  lint4xor ?iint4xor!  kint4or ?iint4or!  jint4and ?iint4and!  iint2shr ?iint2shr! hint2shl ?iint2shl! gint2not ?ipint2not! fint2xor ?iint2xor! eint2or ?iint2or! dint2and ?iint2and! Eint82ge ?iint82ge! Dint82le ?iint82le! Cint82gt ?iint82gt(  (Pxț HxЖ Pz0h؎Hȋ8x~H(h|hh"' byteale ?ibyteale"& bytealt ?ibytealt"% pg_stat_get_backend_idset ?Bs`5pg_stat_get_backend_idset"$  pg_stat_get_autoanalyze_count ?sp=pg_stat_get_autoanalyze_count"#  pg_stat_get_analyze_count ?sp5pg_stat_get_analyze_count""  pg_stat_get_autovacuum_count ?sp;pg_stat_get_autovacuum_count"!  pg_stat_get_vacuum_count ?sp3pg_stat_get_vacuum_count"   pg_stat_get_last_autoanalyze_time ?spEpg_stat_get_last_autoanalyze_time"  pg_stat_get_last_analyze_time ?sp=pg_stat_get_last_analyze_time"  pg_stat_get_last_autovacuum_time ?spCpg_stat_get_last_autovacuum_time"  pg_stat_get_last_vacuum_time ?sp;pg_stat_get_last_vacuum_time" pg_stat_get_blocks_hit ?sp/pg_stat_get_blocks_hit" pg_stat_get_blocks_fetched ?sp7pg_stat_get_blocks_fetched" i pg_stat_get_mod_since_analyze ?sp=pg_stat_get_mod_since_analyze" ? pg_stat_get_dead_tuples ?sp1pg_stat_get_dead_tuples" > pg_stat_get_live_tuples ?sp1pg_stat_get_live_tuples" pg_stat_get_tuples_hot_updated ?sp?pg_stat_get_tuples_hot_updated" pg_stat_get_tuples_deleted ?sp7pg_stat_get_tuples_deleted" pg_stat_get_tuples_updated ?sp7pg_stat_get_tuples_updated" pg_stat_get_tuples_inserted ?sp9pg_stat_get_tuples_inserted" pg_stat_get_tuples_fetched ?sp7pg_stat_get_tuples_fetched" pg_stat_get_tuples_returned ?sp9pg_stat_get_tuples_returned" pg_stat_get_numscans ?sp+pg_stat_get_numscans"  has_any_column_privilege As9has_any_column_privilege_id"  has_any_column_privilege As=has_any_column_privilege_name"  has_any_column_privilege As?has_any_column_privilege_id_id"   has_any_column_privilege AsChas_any_column_privilege_id_name"   has_any_column_privilege AsChas_any_column_privilege_name_id"   has_any_column_privilege AsGhas_any_column_privilege_name_name"   has_column_privilege ?s?has_column_privilege_id_attnum"   has_column_privilege ?s;has_column_privilege_id_name"  has_column_privilege ?sChas_column_privilege_name_attnum"  has_column_privilege ?s?has_column_privilege_name_name"  has_column_privilege ?sEhas_column_privilege_id_id_attnum"  has_column_privilege ?sAhas_column_privilege_id_id_name"  has_column_privilege ?sIhas_column_privilege_id_name_attnum"  has_column_privilege ?sEhas_column_privilege_id_name_name"  has_column_privilege ?sIhas_column_privilege_name_id_attnum"  has_column_privilege ?sEhas_column_privilege_name_id_name(  8`КfH Xȓ8pP0`Ȉ XȄ8ph#$ byteagt ?ibyteagt##  pg_stat_get_db_blk_write_time ?sp=pg_stat_get_db_blk_write_time#"  pg_stat_get_db_blk_read_time ?sp;pg_stat_get_db_blk_read_time#! O pg_stat_get_db_temp_bytes ?sp5pg_stat_get_db_temp_bytes#  N pg_stat_get_db_temp_files ?sp5pg_stat_get_db_temp_files#  pg_stat_get_db_stat_reset_time ?sp?pg_stat_get_db_stat_reset_time# P pg_stat_get_db_deadlocks ?sp3pg_stat_get_db_deadlocks#  pg_stat_get_db_conflict_all ?sp9pg_stat_get_db_conflict_all#  pg_stat_get_db_conflict_startup_deadlock ?spSpg_stat_get_db_conflict_startup_deadlock#  pg_stat_get_db_conflict_bufferpin ?spEpg_stat_get_db_conflict_bufferpin#  pg_stat_get_db_conflict_snapshot ?spCpg_stat_get_db_conflict_snapshot#  pg_stat_get_db_conflict_lock ?sp;pg_stat_get_db_conflict_lock#  pg_stat_get_db_conflict_tablespace ?spGpg_stat_get_db_conflict_tablespace#  pg_stat_get_db_tuples_deleted ?sp=pg_stat_get_db_tuples_deleted#  pg_stat_get_db_tuples_updated ?sp=pg_stat_get_db_tuples_updated#  pg_stat_get_db_tuples_inserted ?sp?pg_stat_get_db_tuples_inserted#  pg_stat_get_db_tuples_fetched ?sp=pg_stat_get_db_tuples_fetched#  pg_stat_get_db_tuples_returned ?sp?pg_stat_get_db_tuples_returned# pg_stat_get_db_blocks_hit ?sp5pg_stat_get_db_blocks_hit# pg_stat_get_db_blocks_fetched ?sp=pg_stat_get_db_blocks_fetched# pg_stat_get_db_xact_rollback ?sp;pg_stat_get_db_xact_rollback# pg_stat_get_db_xact_commit ?sp7pg_stat_get_db_xact_commit# pg_stat_get_db_numbackends ?sp7pg_stat_get_db_numbackends#  qpg_stat_get_backend_client_port ?spApg_stat_get_backend_client_port#  ppg_stat_get_backend_client_addr ?sepApg_stat_get_backend_client_addr#  opg_stat_get_backend_start ?sp5pg_stat_get_backend_start#  ) pg_stat_get_backend_xact_start ?sp?pg_stat_get_backend_xact_start#  .pg_stat_get_backend_activity_start ?spGpg_stat_get_backend_activity_start# % pg_stat_get_backend_waiting ?sp9pg_stat_get_backend_waiting# pg_stat_get_backend_activity ?sp;pg_stat_get_backend_activity# pg_stat_get_backend_userid ?sp7pg_stat_get_backend_userid# pg_stat_get_backend_dbid ?sp3pg_stat_get_backend_dbid# pg_stat_get_backend_pid ?sp1pg_stat_get_backend_pid# pg_backend_pid ?s`pg_backend_pid# ? pg_stat_get_wal_senders ? As`k ;oooooooopid$stateDsent_locationHwrite_locationHflush_locationLreplay_locationDsync_priority8sync_state1pg_stat_get_wal_senders# ?pg_stat_get_activity ?BspeYioooooooooooooooooooooopid$datidpid0usesysidPapplication_name$state$query,waiting8xact_start<query_startDbackend_start@state_change<client_addrLclient_hostname<client_port<backend_xid@backend_xminssl8sslversion4sslcipher,sslbitsHsslcompression<sslclientdn+pg_stat_get_activity(X  PZ؛8hؗHt0hА8p،Hx vhdz؅Pj~ЂttXh$& byteaeq ?ibyteaeq$% decode ?ibinary_decode$$ encode ?ibinary_encode$# pg_tablespace_location ?sp/pg_tablespace_location$" [ pg_trigger_depth ?s`#pg_trigger_depth$! pg_stat_reset_single_function_counters ?vpOpg_stat_reset_single_function_counters$  pg_stat_reset_single_table_counters ?vpIpg_stat_reset_single_table_counters$ pg_stat_reset_shared ?vp+pg_stat_reset_shared$ pg_stat_reset ?v`pg_stat_reset$ pg_stat_clear_snapshot ?v`/pg_stat_clear_snapshot$ pg_stat_get_snapshot_timestamp ?s`?pg_stat_get_snapshot_timestamp$  pg_stat_get_xact_function_self_time ?vpIpg_stat_get_xact_function_self_time$  pg_stat_get_xact_function_total_time ?vpKpg_stat_get_xact_function_total_time$  pg_stat_get_xact_function_calls ?vpApg_stat_get_xact_function_calls$  pg_stat_get_xact_blocks_hit ?vp9pg_stat_get_xact_blocks_hit$  pg_stat_get_xact_blocks_fetched ?vpApg_stat_get_xact_blocks_fetched$  pg_stat_get_xact_tuples_hot_updated ?vpIpg_stat_get_xact_tuples_hot_updated$  pg_stat_get_xact_tuples_deleted ?vpApg_stat_get_xact_tuples_deleted$  pg_stat_get_xact_tuples_updated ?vpApg_stat_get_xact_tuples_updated$  pg_stat_get_xact_tuples_inserted ?vpCpg_stat_get_xact_tuples_inserted$  pg_stat_get_xact_tuples_fetched ?vpApg_stat_get_xact_tuples_fetched$  pg_stat_get_xact_tuples_returned ?vpCpg_stat_get_xact_tuples_returned$  pg_stat_get_xact_numscans ?vp5pg_stat_get_xact_numscans$  pg_stat_get_function_self_time ?sp?pg_stat_get_function_self_time$  pg_stat_get_function_total_time ?spApg_stat_get_function_total_time$   pg_stat_get_function_calls ?sp7pg_stat_get_function_calls$  + pg_stat_get_buf_alloc ?s`-pg_stat_get_buf_alloc$   pg_stat_get_buf_fsync_backend ?s`=pg_stat_get_buf_fsync_backend$   pg_stat_get_buf_written_backend ?s`Apg_stat_get_buf_written_backend$  Y pg_stat_get_checkpoint_sync_time ?s`Cpg_stat_get_checkpoint_sync_time$ X pg_stat_get_checkpoint_write_time ?s`Epg_stat_get_checkpoint_write_time$  pg_stat_get_bgwriter_stat_reset_time ?s`Kpg_stat_get_bgwriter_stat_reset_time$  pg_stat_get_bgwriter_maxwritten_clean ?s`Mpg_stat_get_bgwriter_maxwritten_clean$  pg_stat_get_bgwriter_buf_written_clean ?s`Opg_stat_get_bgwriter_buf_written_clean$  pg_stat_get_bgwriter_buf_written_checkpoints ?s`[pg_stat_get_bgwriter_buf_written_checkpoints$  pg_stat_get_bgwriter_requested_checkpoints ?s`Wpg_stat_get_bgwriter_requested_checkpoints$  pg_stat_get_bgwriter_timed_checkpoints ?s`Opg_stat_get_bgwriter_timed_checkpoints$ ?{ pg_stat_get_archiver ?s`c9oooooooHarchived_countTlast_archived_walXlast_archived_time@failed_countLlast_failed_walPlast_failed_time<stats_reset+pg_stat_get_archiver(  Hhh؝jx`nxl0np|nr(Xln0lxn|lHjzȏzHj،lrXxv؉t n`~||(nhtrX|zp%* timezone ?vtimetz_zone%) timestamp_larger ?iZZZ#timestamp_larger%( timestamp_smaller ?iZZZ%timestamp_smaller%' timestamp_mi_interval ?iZZ-timestamp_mi_interval%& timestamp_pl_interval ?iZZ-timestamp_pl_interval%% timestamp_mi ?iZZtimestamp_mi%$ abstime ?spZ%timestamp_abstime%# date ?i:pZtimestamp_date%" timestamptz ?spZ-timestamp_timestamptz%! timestamp ?sZp-timestamptz_timestamp%  timestamp ?iZ:;'datetime_timestamp% timestamp ?iZp:date_timestamp% timestamp ?sZp%abstime_timestamp% date_part ?iZtimestamp_part% date_trunc ?iZZ!timestamp_trunc% time ?s;p#timestamptz_time% btrim ?ibyteatrim% position ?ibyteapos% &substr ?i)bytea_substr_no_len% %substr ?ibytea_substr% substring ?i)bytea_substr_no_len% substring ?ibytea_substr% byteacat ?ibyteacat% length ?ipbyteaoctetlen% like_escape ?i%like_escape_bytea% notlike ?ibyteanlike% like ?ibytealike% byteanlike ?ibyteanlike% bytealike ?ibytealike%  anytextcat ?s Cselect $1::pg_catalog.text || $2%  textanycat ?s Cselect $1 || $2::pg_catalog.text%  timetz ?hitimetz_scale%  time ?hi;;time_scale%  timestamptz ?Mi%timestamptz_scale% oidsmaller ?ioidsmaller% oidlarger ?ioidlarger% timestamp ?MiZZ!timestamp_scale% htime_transform ?iptime_transform% Mtimestamp_transform ?ip)timestamp_transform% byteacmp ?ibyteacmp% byteane ?ibyteane% byteage ?ibyteageHr  @rn؜Xt|h(hhr|r(rhrrr(rhtpvx0zpzxpHdx\@x؀t &$  @geometry_recv ?i@pLWGEOM_recv)$libdir/postgis-2.3t &   @geometry_analyze ?vp/gserialized_analyze_nd)$libdir/postgis-2.3&# pg_last_xlog_replay_location ?v `;pg_last_xlog_replay_location&" ?)pg_prepared_xact ?zDv`S5ooooo<transactiongid0prepared,ownerid dbid#pg_prepared_xact&! ?[pg_lock_status ?zDv`Iooooooooooooooo`0locktype0database0relation page$tuple8virtualxidDtransactionid,classid$objid0objsubidXvirtualtransactionpid mode,granted0fastpathpg_lock_status& ?$pg_show_all_settings ?zDs`Mooooooooooooooooo name,setting unit0category8short_desc8extra_desc,context,vartype(source,min_val,max_val0enumvals0boot_val4reset_val8sourcefile8sourcelineLpending_restart%show_all_settings& set_config ?v'set_config_by_name& current_setting ?sp)show_config_by_name& int8 ?ipbittoint8& bit ?ibitfromint8& substring ?iselect pg_catalog.substring($1, pg_catalog.similar_escape($2, $3))& substring ?i!textregexsubstr& date_mi_interval ?iZ:#date_mi_interval& date_pl_interval ?iZ:#date_pl_interval& timezone ?iZ!timestamp_izone& timezone ?iZtimestamp_zone&  age ?spZselect pg_catalog.age(cast(current_date as timestamp without time zone), $1)&  age ?iZZtimestamp_age&  timestamp_gt ?iZZtimestamp_gt& timestamp_ge ?iZZtimestamp_ge& timestamp_le ?iZZtimestamp_le& timestamp_lt ?iZZtimestamp_lt& timestamp_ne ?iZZtimestamp_ne&  timestamp_eq ?iZZtimestamp_eq&  to_char ?sZ%timestamp_to_char&  isfinite ?ipZ#timestamp_finite&  timetz ?sp;time_timetz&  time ?i;ptimetz_time& A timestamp_sortsupport ?ip-timestamp_sortsupport& timestamp_cmp ?iZZtimestamp_cmp& overlaps ?iZZZSselect ($1, ($1 + $2)) overlaps ($3, $4)& overlaps ?iZZZSselect ($1, $2) overlaps ($3, ($3 + $4))& overlaps ?iZZaselect ($1, ($1 + $2)) overlaps ($3, ($3 + $4))& overlaps ?iZZZZ'overlaps_timestamp& timestamp_hash ?ipZtimestamp_hash& timezone ?itimetz_izonelr  ОV8 0ЗxPv~Д~|P~ȑ|@lHtȋzЀfXhrf `zX|rЃn`lt ' @geometry_send ?ip@LWGEOM_send)$libdir/postgis-2.3'% pg_last_xlog_receive_location ?v `=pg_last_xlog_receive_location'$ pg_is_in_recovery ?v`%pg_is_in_recovery'# pg_export_snapshot ?v`'pg_export_snapshot'" ] pg_xlog_location_diff ?i -pg_xlog_location_diff'! # pg_xlogfile_name ?ip #pg_xlogfile_name'  ?" pg_xlogfile_name_offset ?ip C 1ioo@wal_location4file_name<file_offset1pg_xlogfile_name_offset' $ pg_current_xlog_insert_location ?v `Apg_current_xlog_insert_location' ! pg_current_xlog_location ?v `3pg_current_xlog_location'  pg_create_restore_point ?v p1pg_create_restore_point'  pg_switch_xlog ?v `pg_switch_xlog' pg_backup_start_time ?s`+pg_backup_start_time' pg_is_in_backup ?v`!pg_is_in_backup' }pg_stop_backup ?v `pg_stop_backup' 0pg_terminate_backend ?vp+pg_terminate_backend' {pg_cancel_backend ?vp%pg_cancel_backend' ' pg_is_other_temp_schema ?sp1pg_is_other_temp_schema' & pg_my_temp_schema ?s`%pg_my_temp_schema' pg_collation_is_visible Asp1pg_collation_is_visible' pg_ts_config_is_visible Asp1pg_ts_config_is_visible' pg_ts_template_is_visible Asp5pg_ts_template_is_visible' pg_ts_dict_is_visible Asp-pg_ts_dict_is_visible' pg_ts_parser_is_visible Asp1pg_ts_parser_is_visible' -pg_conversion_is_visible Asp3pg_conversion_is_visible'  pg_opfamily_is_visible Asp/pg_opfamily_is_visible'  #pg_opclass_is_visible Asp-pg_opclass_is_visible'  "pg_operator_is_visible Asp/pg_operator_is_visible'  !pg_function_is_visible Asp/pg_function_is_visible'   pg_type_is_visible Asp'pg_type_is_visible' pg_table_is_visible Asp)pg_table_is_visible' ?rpg_get_object_address ?s[7iiiooo type name args,classid$objid0subobjid-pg_get_object_address' ?6 pg_identify_object_as_address ?s[7iiiooo,classid$objid0subobjid type@object_names<object_args=pg_identify_object_as_address' ?pg_identify_object ?sc9iiioooo,classid$objid0subobjid type(schema name0identity'pg_identify_object'  pg_describe_object ?s'pg_describe_object' ? pg_last_committed_xact ?v`;/oo[xid4timestamp/pg_last_committed_xact'  pg_xact_commit_timestamp ?vp3pg_xact_commit_timestamp' ?pg_get_multixact_members ?zDvpC1iooc0multixidxid mode3pg_get_multixact_members(  8xrtz@flȗ@rp蓀0nptbX0FxbppPppp(pppppHpp؅p phppp@ppЀp(' Fmax ?ip!aggregate_dummy(& Emax ?ip!aggregate_dummy(% Dmax ?ip!aggregate_dummy($ Cmax ?ip!aggregate_dummy(# Bsum ?ip!aggregate_dummy(" Asum ?ip!aggregate_dummy(! @sum ?ip!aggregate_dummy(  ?sum ?ip!aggregate_dummy( >sum ?ip!aggregate_dummy( =sum ?ip!aggregate_dummy( <sum ?ip!aggregate_dummy( ;sum ?ip!aggregate_dummy( :avg ?ip!aggregate_dummy( 9avg ?ip!aggregate_dummy( 8avg ?ip!aggregate_dummy( 7avg ?ip!aggregate_dummy( 6avg ?ip!aggregate_dummy( 5avg ?ip!aggregate_dummy( 4avg ?ip!aggregate_dummy(  text ?ipbooltext( `pg_sleep_until ?vpselect pg_catalog.pg_sleep(extract(epoch from $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))( _pg_sleep_for ?vpselect pg_catalog.pg_sleep(extract(epoch from pg_catalog.clock_timestamp() operator(pg_catalog.+) $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))( B pg_sleep ?vppg_sleep(  pg_ls_dir ?zDvpg_ls_dir( A pg_ls_dir ?zDvppg_ls_dir_1arg( pg_read_binary_file ?vp1pg_read_binary_file_all(   pg_read_binary_file ?v)pg_read_binary_file(  pg_read_binary_file ?v9pg_read_binary_file_off_len(  pg_read_file ?vp#pg_read_file_all(   pg_read_file ?vpg_read_file(  @ pg_read_file ?v+pg_read_file_off_len( ? pg_stat_file ?vk;iioooooo0filename8missing_ok size(access@modification(change0creation$isdirpg_stat_file( ?? pg_stat_file ?vpc9ioooooo0filename size(access@modification(change0creation$isdir%pg_stat_file_1arg( > pg_rotate_logfile ?v`%pg_rotate_logfile( = pg_reload_conf ?v`pg_reload_conf(  pg_is_xlog_replay_paused ?v`3pg_is_xlog_replay_paused(  pg_xlog_replay_resume ?v`-pg_xlog_replay_resume(  pg_xlog_replay_pause ?v`+pg_xlog_replay_pause( pg_last_xact_replay_timestamp ?v`=pg_last_xact_replay_timestamp(  Hpp؝p phppp@ppИpp`ppp8ppȓppXppp0pxpppPppp(pppppHpp؆p phphp@ppЁpp)+  var_pop ?ip!aggregate_dummy)*  var_pop ?ip!aggregate_dummy))  var_pop ?ip!aggregate_dummy)(  var_pop ?ip!aggregate_dummy)'  var_pop ?ip!aggregate_dummy)&  count ?i`!aggregate_dummy)% ccount ?ip!aggregate_dummy)$  min ?iepe!aggregate_dummy)#  min ?ip!aggregate_dummy)" min ?ip!aggregate_dummy)! min ?ip!aggregate_dummy)  bmin ?ip!aggregate_dummy) amin ?ip!aggregate_dummy) `min ?ip!aggregate_dummy) _min ?ip!aggregate_dummy) ^min ?iZpZ!aggregate_dummy) ]min ?ip!aggregate_dummy) \min ?ip!aggregate_dummy) [min ?i;p;!aggregate_dummy) Zmin ?i:p:!aggregate_dummy) Ymin ?ip!aggregate_dummy) Xmin ?ip!aggregate_dummy) Wmin ?ip!aggregate_dummy) Vmin ?ip!aggregate_dummy) Umin ?ip!aggregate_dummy) Tmin ?ip!aggregate_dummy) Smin ?ip!aggregate_dummy)  max ?iepe!aggregate_dummy)  max ?ip!aggregate_dummy) max ?ip!aggregate_dummy)  max ?ip!aggregate_dummy)  Rmax ?ip!aggregate_dummy)  Qmax ?ip!aggregate_dummy)  Pmax ?ip!aggregate_dummy)  Omax ?ip!aggregate_dummy) Nmax ?iZpZ!aggregate_dummy) Mmax ?ip!aggregate_dummy) Lmax ?ip!aggregate_dummy) Kmax ?i;p;!aggregate_dummy) Jmax ?i:p:!aggregate_dummy) Imax ?ip!aggregate_dummy) Hmax ?ip!aggregate_dummy) Gmax ?ip!aggregate_dummy(x  Hpp؝p phppp@ppИpp`ppp8ppȓppXppp0pxpppPppp(ppppx8xxxxx8xxxxx8xxx**  covar_samp ?i!aggregate_dummy*)  covar_pop ?i!aggregate_dummy*(  regr_intercept ?i!aggregate_dummy*'  regr_slope ?i!aggregate_dummy*&  regr_r2 ?i!aggregate_dummy*%  regr_avgy ?i!aggregate_dummy*$  regr_avgx ?i!aggregate_dummy*#  regr_sxy ?i!aggregate_dummy*"  regr_syy ?i!aggregate_dummy*!  regr_sxx ?i!aggregate_dummy*   regr_count ?i!aggregate_dummy* ostddev ?ip!aggregate_dummy* nstddev ?ip!aggregate_dummy* mstddev ?ip!aggregate_dummy* lstddev ?ip!aggregate_dummy* kstddev ?ip!aggregate_dummy* jstddev ?ip!aggregate_dummy*  stddev_samp ?ip!aggregate_dummy*  stddev_samp ?ip!aggregate_dummy*  stddev_samp ?ip!aggregate_dummy*  stddev_samp ?ip!aggregate_dummy*  stddev_samp ?ip!aggregate_dummy*  stddev_samp ?ip!aggregate_dummy*  stddev_pop ?ip!aggregate_dummy*  stddev_pop ?ip!aggregate_dummy*  stddev_pop ?ip!aggregate_dummy*  stddev_pop ?ip!aggregate_dummy*  stddev_pop ?ip!aggregate_dummy*  stddev_pop ?ip!aggregate_dummy*  ivariance ?ip!aggregate_dummy*  hvariance ?ip!aggregate_dummy*  gvariance ?ip!aggregate_dummy*  fvariance ?ip!aggregate_dummy*  evariance ?ip!aggregate_dummy* dvariance ?ip!aggregate_dummy* V var_samp ?ip!aggregate_dummy* U var_samp ?ip!aggregate_dummy* T var_samp ?ip!aggregate_dummy* S var_samp ?ip!aggregate_dummy* R var_samp ?ip!aggregate_dummy* Q var_samp ?ip!aggregate_dummy*  var_pop ?ip!aggregate_dummy(P  @xxxx@x~||@||nHnnؔn nhnrr0nxpdfPfnl(npfhhHdf؇f lhdff@npЂpPr+* fmgr_c_validator ?sp#fmgr_c_validator+) fmgr_internal_validator ?sp1fmgr_internal_validator+( to_regnamespace ?sp!to_regnamespace+' regnamespaceout ?sp!regnamespaceout+& regnamespacein ?spregnamespacein+% to_regrole ?spto_regrole+$ regroleout ?spregroleout+# regrolein ?spregrolein+" 7regclass ?sptext_regclass+!  to_regtype ?spto_regtype+  regtypeout ?spregtypeout+ regtypein ?spregtypein+  to_regclass ?spto_regclass+ regclassout ?spregclassout+ regclassin ?spregclassin+ regoperatorout ?spregoperatorout+ regoperatorin ?spregoperatorin+  to_regoperator ?spto_regoperator+  to_regoper ?spto_regoper+ regoperout ?spregoperout+ regoperin ?spregoperin+ regprocedureout ?sp!regprocedureout+ regprocedurein ?spregprocedurein+ btfloat84cmp ?ibtfloat84cmp+ btfloat48cmp ?ibtfloat48cmp+ btint82cmp ?ibtint82cmp+ btint28cmp ?ibtint28cmp+ btint42cmp ?ibtint42cmp+ btint24cmp ?ibtint24cmp+  btint84cmp ?ibtint84cmp+  btint48cmp ?ibtint48cmp+  btbpchar_pattern_cmp ?i+btbpchar_pattern_cmp+  bpchar_pattern_gt ?i%bpchar_pattern_gt+  bpchar_pattern_ge ?i%bpchar_pattern_ge+ bpchar_pattern_le ?i%bpchar_pattern_le+ ~bpchar_pattern_lt ?i%bpchar_pattern_lt+ vbttext_pattern_cmp ?i'bttext_pattern_cmp+ ttext_pattern_gt ?i!text_pattern_gt+ stext_pattern_ge ?i!text_pattern_ge+ qtext_pattern_le ?i!text_pattern_le+ ptext_pattern_lt ?i!text_pattern_lt+  corr ?i!aggregate_dummy(  @vhȜ0h X蓞H菞Hx苈8`8Xxȁ,&  has_server_privilege ?s?has_server_privilege_name_name,%  has_foreign_data_wrapper_privilege ?sMhas_foreign_data_wrapper_privilege_id,$  has_foreign_data_wrapper_privilege ?sQhas_foreign_data_wrapper_privilege_name,#  has_foreign_data_wrapper_privilege ?sShas_foreign_data_wrapper_privilege_id_id,"  has_foreign_data_wrapper_privilege ?sWhas_foreign_data_wrapper_privilege_id_name,!  has_foreign_data_wrapper_privilege ?sWhas_foreign_data_wrapper_privilege_name_id,   has_foreign_data_wrapper_privilege ?s[has_foreign_data_wrapper_privilege_name_name, [ has_tablespace_privilege ?s9has_tablespace_privilege_id, Z has_tablespace_privilege ?s=has_tablespace_privilege_name, Y has_tablespace_privilege ?s?has_tablespace_privilege_id_id, X has_tablespace_privilege ?sChas_tablespace_privilege_id_name, W has_tablespace_privilege ?sChas_tablespace_privilege_name_id, V has_tablespace_privilege ?sGhas_tablespace_privilege_name_name, has_schema_privilege ?s1has_schema_privilege_id, has_schema_privilege ?s5has_schema_privilege_name, has_schema_privilege ?s7has_schema_privilege_id_id, has_schema_privilege ?s;has_schema_privilege_id_name, has_schema_privilege ?s;has_schema_privilege_name_id, has_schema_privilege ?s?has_schema_privilege_name_name, has_language_privilege ?s5has_language_privilege_id, has_language_privilege ?s9has_language_privilege_name, has_language_privilege ?s;has_language_privilege_id_id, has_language_privilege ?s?has_language_privilege_id_name, has_language_privilege ?s?has_language_privilege_name_id, has_language_privilege ?sChas_language_privilege_name_name,  has_function_privilege ?s5has_function_privilege_id,  has_function_privilege ?s9has_function_privilege_name,  has_function_privilege ?s;has_function_privilege_id_id,  has_function_privilege ?s?has_function_privilege_id_name,  has_function_privilege ?s?has_function_privilege_name_id, has_function_privilege ?sChas_function_privilege_name_name, has_database_privilege ?s5has_database_privilege_id, has_database_privilege ?s9has_database_privilege_name, has_database_privilege ?s;has_database_privilege_id_id, has_database_privilege ?s?has_database_privilege_id_name, has_database_privilege ?s?has_database_privilege_name_id, has_database_privilege ?sChas_database_privilege_name_name, fmgr_sql_validator ?sp'fmgr_sql_validator(  0`Ȝ0`0hؔPzvؑn~Xz؎|@z~ȋn~Plp؈zPzȅtfXfh^@`hЀj-) anyarray_out ?spanyarray_out-( anyarray_in ?ipanyarray_in-' any_out ?ipany_out-& any_in ?ipany_in-% cstring_out ?ipcstring_out-$ cstring_in ?ipcstring_in-# record_out ?sprecord_out-" record_in ?srecord_in-!  postgresql_fdw_validator ?i3postgresql_fdw_validator-   pg_relation_filepath ?sp+pg_relation_filepath- ~ pg_filenode_relation ?s+pg_filenode_relation-  pg_relation_filenode ?sp+pg_relation_filenode-  pg_indexes_size ?vp!pg_indexes_size-  pg_table_size ?vppg_table_size- ^ pg_size_pretty ?vp/pg_size_pretty_numeric- pg_size_pretty ?vppg_size_pretty- pg_total_relation_size ?vp/pg_total_relation_size-  pg_relation_size ?v#pg_relation_size-  pg_relation_size ?vp_select pg_catalog.pg_relation_size($1, 'main')- xpg_database_size ?vp-pg_database_size_name-  pg_database_size ?vp+pg_database_size_oid-  pg_tablespace_size ?vp1pg_tablespace_size_name-  pg_tablespace_size ?vp/pg_tablespace_size_oid- pg_column_size ?sppg_column_size-  pg_has_role ?spg_has_role_id-  pg_has_role ?s#pg_has_role_name-  pg_has_role ?s%pg_has_role_id_id-  pg_has_role ?s)pg_has_role_id_name-   pg_has_role ?s)pg_has_role_name_id-   pg_has_role ?s-pg_has_role_name_name-  G has_type_privilege ?s-has_type_privilege_id-  F has_type_privilege ?s1has_type_privilege_name-  E has_type_privilege ?s3has_type_privilege_id_id- D has_type_privilege ?s7has_type_privilege_id_name- C has_type_privilege ?s7has_type_privilege_name_id- B has_type_privilege ?s;has_type_privilege_name_name-  has_server_privilege ?s1has_server_privilege_id-  has_server_privilege ?s5has_server_privilege_name-  has_server_privilege ?s7has_server_privilege_id_id-  has_server_privilege ?s;has_server_privilege_id_name-  has_server_privilege ?s;has_server_privilege_name_id(   P`bf(hhrtx(zphjdHflؕn bhdtx0nxpnpPnp؍|v`bd|(|h|||(|h~脀(h聀 .* 5 date_cmp_timestamptz ?s:+date_cmp_timestamptz.) 4 date_ne_timestamptz ?s:)date_ne_timestamptz.( 3 date_ge_timestamptz ?s:)date_ge_timestamptz.' 2 date_gt_timestamptz ?s:)date_gt_timestamptz.& 1 date_eq_timestamptz ?s:)date_eq_timestamptz.% 0 date_le_timestamptz ?s:)date_le_timestamptz.$ / date_lt_timestamptz ?s:)date_lt_timestamptz.# ( date_cmp_timestamp ?i:Z'date_cmp_timestamp." ' date_ne_timestamp ?i:Z%date_ne_timestamp.! & date_ge_timestamp ?i:Z%date_ge_timestamp.  % date_gt_timestamp ?i:Z%date_gt_timestamp. $ date_eq_timestamp ?i:Z%date_eq_timestamp. # date_le_timestamp ?i:Z%date_le_timestamp. " date_lt_timestamp ?i:Z%date_lt_timestamp.  md5 ?ipmd5_bytea.  md5 ?ipmd5_text.  system ?v p'tsm_system_handler.  bernoulli ?v p-tsm_bernoulli_handler.  tsm_handler_out ?ip !tsm_handler_out.  tsm_handler_in ?i ptsm_handler_in. - fdw_handler_out ?ip+ !fdw_handler_out. , fdw_handler_in ?i+ pfdw_handler_in.  anynonarray_out ?ip !anynonarray_out.  anynonarray_in ?i panynonarray_in. & domain_recv ?sdomain_recv. % domain_in ?sdomain_in. _ shell_out ?ipshell_out. ^ shell_in ?ipshell_in.  anyelement_out ?ipanyelement_out.   anyelement_in ?ipanyelement_in.   opaque_out ?ipopaque_out.   opaque_in ?ipopaque_in.   internal_out ?ipinternal_out.   internal_in ?ipinternal_in. language_handler_out ?ip+language_handler_out. language_handler_in ?ip)language_handler_in.  event_trigger_out ?ip%event_trigger_out.  event_trigger_in ?ip#event_trigger_in. trigger_out ?iptrigger_out. trigger_in ?iptrigger_in. void_out ?ipvoid_out. void_in ?ipvoid_in(   @||||@||~@@x蓊 XȐ8pPȉvfPxhb(bpbbbHbn؁n d/) l bytearecv ?ipbytearecv/( k int2vectorsend ?ipint2vectorsend/' j int2vectorrecv ?ipint2vectorrecv/& i int8send ?ipint8send/% h int8recv ?ipint8recv/$ g int4send ?ipint4send/# f int4recv ?ipint4recv/" e int2send ?ipint2send/! d int2recv ?ipint2recv/  c record_send ?sprecord_send/ b record_recv ?srecord_recv/ a array_send ?sparray_send/ ` array_recv ?sarray_recv/  timestamptz_cmp_timestamp ?sZ5timestamptz_cmp_timestamp/  timestamptz_ne_timestamp ?sZ3timestamptz_ne_timestamp/  timestamptz_ge_timestamp ?sZ3timestamptz_ge_timestamp/  timestamptz_gt_timestamp ?sZ3timestamptz_gt_timestamp/  timestamptz_eq_timestamp ?sZ3timestamptz_eq_timestamp/  timestamptz_le_timestamp ?sZ3timestamptz_le_timestamp/  timestamptz_lt_timestamp ?sZ3timestamptz_lt_timestamp/  timestamp_cmp_timestamptz ?sZ5timestamp_cmp_timestamptz/  timestamp_ne_timestamptz ?sZ3timestamp_ne_timestamptz/  timestamp_ge_timestamptz ?sZ3timestamp_ge_timestamptz/  timestamp_gt_timestamptz ?sZ3timestamp_gt_timestamptz/  timestamp_eq_timestamptz ?sZ3timestamp_eq_timestamptz/  timestamp_le_timestamptz ?sZ3timestamp_le_timestamptz/  timestamp_lt_timestamptz ?sZ3timestamp_lt_timestamptz/ O timestamptz_cmp_date ?s:+timestamptz_cmp_date/  N timestamptz_ne_date ?s:)timestamptz_ne_date/  M timestamptz_ge_date ?s:)timestamptz_ge_date/  L timestamptz_gt_date ?s:)timestamptz_gt_date/  K timestamptz_eq_date ?s:)timestamptz_eq_date/  J timestamptz_le_date ?s:)timestamptz_le_date/ I timestamptz_lt_date ?s:)timestamptz_lt_date/ B timestamp_cmp_date ?iZ:'timestamp_cmp_date/ A timestamp_ne_date ?iZ:%timestamp_ne_date/ @ timestamp_ge_date ?iZ:%timestamp_ge_date/ ? timestamp_gt_date ?iZ:%timestamp_gt_date/ > timestamp_eq_date ?iZ:%timestamp_eq_date/ = timestamp_le_date ?iZ:%timestamp_le_date/ < timestamp_lt_date ?iZ:%timestamp_lt_date(8  Hdb؝b hhh``Pllb(bpfffHffؓfv`fxh0bxbbbX```H```0hxhrr@hhЄpp`jjh8h0+  regtypesend ?ipregtypesend0*  regtyperecv ?ipregtyperecv0)  regclasssend ?ipregclasssend0(  regclassrecv ?ipregclassrecv0'  regoperatorsend ?ip!regoperatorsend0&  regoperatorrecv ?ip!regoperatorrecv0%  regopersend ?ipregopersend0$  regoperrecv ?ipregoperrecv0#  regproceduresend ?ip#regproceduresend0"  regprocedurerecv ?ip#regprocedurerecv0!  regprocsend ?ipregprocsend0   regprocrecv ?ipregprocrecv0  cidsend ?ipcidsend0  cidrecv ?ipcidrecv0  xidsend ?ipxidsend0  xidrecv ?ipxidrecv0  tidsend ?iptidsend0  tidrecv ?iptidrecv0  boolsend ?ipboolsend0  boolrecv ?ipboolrecv0  charsend ?ipcharsend0  charrecv ?ipcharrecv0  varcharsend ?spvarcharsend0  varcharrecv ?svarcharrecv0  bpcharsend ?spbpcharsend0 ~ bpcharrecv ?sbpcharrecv0 } point_send ?ipXpoint_send0 | point_recv ?iXppoint_recv0 { float8send ?ipfloat8send0 z float8recv ?ipfloat8recv0  y float4send ?ipfloat4send0  x float4recv ?ipfloat4recv0  w namesend ?spnamesend0  v namerecv ?spnamerecv0  u oidvectorsend ?ipoidvectorsend0 t oidvectorrecv ?ipoidvectorrecv0 s oidsend ?ipoidsend0 r oidrecv ?ipoidrecv0 q unknownsend ?ipunknownsend0 p unknownrecv ?ipunknownrecv0 o textsend ?sptextsend0 n textrecv ?sptextrecv0 m byteasend ?ipbyteasend(p  HhhНrrPrbؚx h`zjh8hhȕhlXldd(tpdxh8~nr8|lȊddXddb0bxdddPdhh(dpd1*  cash_send ?ipcash_send1)  cash_recv ?ipcash_recv1(  circle_send ?ipcircle_send1'  circle_recv ?ipcircle_recv1&  line_send ?iptline_send1%  line_recv ?itpline_recv1$  poly_send ?ip\poly_send1#  poly_recv ?i\ppoly_recv1"  box_send ?ip[box_send1!  box_recv ?i[pbox_recv1   path_send ?ipZpath_send1  path_recv ?iZppath_recv1  lseg_send ?ipYlseg_send1  lseg_recv ?iYplseg_recv1  interval_send ?ipinterval_send1  interval_recv ?iinterval_recv1  timestamptz_send ?ip#timestamptz_send1  timestamptz_recv ?i#timestamptz_recv1  timestamp_send ?ipZtimestamp_send1  timestamp_recv ?iZtimestamp_recv1  timetz_send ?iptimetz_send1  timetz_recv ?itimetz_recv1  time_send ?ip;time_send1  time_recv ?i;time_recv1  date_send ?ip:date_send1  date_recv ?i:pdate_recv1  tintervalsend ?iptintervalsend1  tintervalrecv ?iptintervalrecv1  reltimesend ?ipreltimesend1   reltimerecv ?ipreltimerecv1   abstimesend ?ipabstimesend1   abstimerecv ?ipabstimerecv1   numeric_send ?ipnumeric_send1   numeric_recv ?inumeric_recv1  varbit_send ?ipvarbit_send1  varbit_recv ?ivarbit_recv1  bit_send ?ipbit_send1  bit_recv ?ibit_recv1 regnamespacesend ?ip#regnamespacesend1 regnamespacerecv ?ip#regnamespacerecv1 regrolesend ?ipregrolesend1 regrolerecv ?ipregrolerecv((  Hjj؝d dhddj@jlИld`d~ؕ~XȒ8\Ȍr@tl X `|zn(v2&  bool_accum_inv ?ibool_accum_inv2%  bool_accum ?ibool_accum2$  boolor_statefunc ?i#boolor_statefunc2#  booland_statefunc ?i%booland_statefunc2" generate_series ?zDs9generate_series_timestamptz2! generate_series ?zDiZZZ5generate_series_timestamp2   generate_series ?zDi1generate_series_numeric2  generate_series ?zDi;generate_series_step_numeric2 -generate_series ?zDi+generate_series_int82 ,generate_series ?zDi5generate_series_step_int82 +generate_series ?zDi+generate_series_int42 *generate_series ?zDi5generate_series_step_int42  pg_notify ?vpg_notify2  pg_listening_channels ? As`-pg_listening_channels2  pg_get_triggerdef ?s-pg_get_triggerdef_ext2 ?( pg_timezone_names ?zDs`K3oooo name(abbrev8utc_offset(is_dst%pg_timezone_names2 ?' pg_timezone_abbrevs ?zDs`C1ooo{(abbrev8utc_offset(is_dst)pg_timezone_abbrevs2 ? pg_cursor ?zDs`[7oooooo name4statement<is_holdable4is_binaryDis_scrollableDcreation_timepg_cursor2 ? pg_prepared_statement ?zDs`S5ooooo name4statement@prepare_timeLparameter_types0from_sql-pg_prepared_statement2  pg_get_expr ?s!pg_get_expr_ext2  pg_get_constraintdef ?s3pg_get_constraintdef_ext2  pg_get_indexdef ?s)pg_get_indexdef_ext2 W pg_get_viewdef ?s)pg_get_viewdef_wrap2  pg_get_viewdef ?s'pg_get_viewdef_ext2  pg_get_viewdef ?s1pg_get_viewdef_name_ext2   pg_get_ruledef ?s'pg_get_ruledef_ext2  1 void_send ?ipvoid_send2  0 void_recv ?ipvoid_recv2   anyarray_send ?spanyarray_send2   anyarray_recv ?spanyarray_recv2  cstring_send ?spcstring_send2  cstring_recv ?spcstring_recv2  cidr_send ?ipcidr_send2  cidr_recv ?ipcidr_recv2  inet_send ?ipeinet_send2  inet_recv ?iepinet_recv2  macaddr_send ?ip=macaddr_send2  macaddr_recv ?i=pmacaddr_recv(   Hjj؝p phppp@ppИpp`ppv(vhvvv(pddXHzl؍ltXtln(vhvnz0z`tx(n`~v |3*  gist_box_same ?i[[gist_box_same3)  gist_box_union ?i[gist_box_union3(  gist_box_picksplit ?i'gist_box_picksplit3'  gist_box_penalty ?i#gist_box_penalty3&  gist_box_fetch ?ipgist_box_fetch3%  gist_box_decompress ?ip)gist_box_decompress3$  gist_box_compress ?ip%gist_box_compress3#  gist_box_consistent ?i[)gist_box_consistent3"  circle_overabove ?i#circle_overabove3!  circle_overbelow ?i#circle_overbelow3   poly_above ?i\\poly_above3  poly_overabove ?i\\poly_overabove3  poly_overbelow ?i\\poly_overbelow3  poly_below ?i\\poly_below3  box_above ?i[[box_above3  box_overabove ?i[[box_overabove3  box_overbelow ?i[[box_overbelow3  box_below ?i[[box_below3 pg_conf_load_time ?s`%pg_conf_load_time3  pg_postmaster_start_time ?s`3pg_postmaster_start_time3  lastval ?v`lastval3  int4 ?ipbool_int43  bool ?ipint4_bool3  pg_tablespace_databases ?zDsp1pg_tablespace_databases3  integer_pl_date ?i::select $2 + $13  interval_pl_timestamptz ?sselect $2 + $13  interval_pl_timestamp ?iZZselect $2 + $13  interval_pl_timetz ?iselect $2 + $13  interval_pl_date ?iZ:select $2 + $13  bit_or ?ip!aggregate_dummy3  bit_and ?ip!aggregate_dummy3  bit_or ?ip!aggregate_dummy3  bit_and ?ip!aggregate_dummy3  bit_or ?ip!aggregate_dummy3 bit_and ?ip!aggregate_dummy3 bit_or ?ip!aggregate_dummy3 bit_and ?ip!aggregate_dummy3  every ?ip!aggregate_dummy3  bool_or ?ip!aggregate_dummy3  bool_and ?ip!aggregate_dummy3  bool_anytrue ?ipbool_anytrue3  bool_alltrue ?ipbool_alltrue(   0pvz x`rș@rxz8ffȓhrPlȐz@nЌ0prtv0x`Ѕ~@p| 4(  pg_advisory_xact_lock ?vp7pg_advisory_xact_lock_int84' @ pg_advisory_lock ?vp-pg_advisory_lock_int84&  brin_inclusion_union ?i+brin_inclusion_union4%  brin_inclusion_consistent ?i5brin_inclusion_consistent4$  brin_inclusion_add_value ?i3brin_inclusion_add_value4#  brin_inclusion_opcinfo ?ip/brin_inclusion_opcinfo4" : brin_minmax_union ?i%brin_minmax_union4! 9 brin_minmax_consistent ?i/brin_minmax_consistent4  8 brin_minmax_add_value ?i-brin_minmax_add_value4 7 brin_minmax_opcinfo ?ip)brin_minmax_opcinfo4  arraycontained ?iarraycontained4  arraycontains ?iarraycontains4  arrayoverlap ?iarrayoverlap4  ginarrayextract ?i-ginarrayextract_2args4 Pginarraytriconsistent ?i-ginarraytriconsistent4  ginarrayconsistent ?i'ginarrayconsistent4  ginqueryarrayextract ?i+ginqueryarrayextract4  ginarrayextract ?i!ginarrayextract4  ginoptions ?sginoptions4  gincostestimate ?v!gincostestimate4  ginvacuumcleanup ?v#ginvacuumcleanup4  ginbulkdelete ?vginbulkdelete4 Eginbuildempty ?vpginbuildempty4  ginbuild ?vginbuild4  ginrestrpos ?vpginrestrpos4  ginmarkpos ?vpginmarkpos4  ginendscan ?vpginendscan4   ginrescan ?vginrescan4   ginbeginscan ?vginbeginscan4   gininsert ?vgininsert4   gingetbitmap ?vgingetbitmap4   gist_bbox_distance ?iX'gist_bbox_distance4  gist_point_distance ?iX)gist_point_distance4 gist_point_consistent ?iX-gist_point_consistent4  gist_point_fetch ?ip#gist_point_fetch4 gist_point_compress ?ip)gist_point_compress4  gist_circle_compress ?ip+gist_circle_compress4  gist_circle_consistent ?i/gist_circle_consistent4  gist_poly_compress ?ip'gist_poly_compress4  gist_poly_consistent ?i\+gist_poly_consistent((  8h؜8x蘄 P蔖@xv8^`Ўfd`pbb8npȉd 6p X"@((05% 'r query_to_xml_and_xmlschema Bv$query$nulls<tableforest0targetns7query_to_xml_and_xmlschema5$ 'q table_to_xml_and_xmlschema Bstbl$nulls<tableforest0targetns7table_to_xml_and_xmlschema5# 'p cursor_to_xmlschema Bv(cursor$nulls<tableforest0targetns)cursor_to_xmlschema5" 'o query_to_xmlschema Bv$query$nulls<tableforest0targetns'query_to_xmlschema5! 'n table_to_xmlschema Bstbl$nulls<tableforest0targetns'table_to_xmlschema5  'm cursor_to_xml Bv(cursor$count$nulls<tableforest0targetnscursor_to_xml5 'l query_to_xml Bv$query$nulls<tableforest0targetnsquery_to_xml5 'k table_to_xml Bstbl$nulls<tableforest0targetnstable_to_xml5 j text ?ipxmltotext5 U xmlagg ?ip!aggregate_dummy5 T xmlconcat2 ?ixmlconcat25 S xml_send ?spxml_send5 R xml_recv ?spxml_recv5 Q xmlvalidate ?ixmlvalidate5 P xml ?sptexttoxml5 O xmlcomment ?ipxmlcomment5 N xml_out ?ipxml_out5 M xml_in ?spxml_in5 L pg_advisory_unlock_all ?v`/pg_advisory_unlock_all5 K pg_advisory_unlock_shared ?v?pg_advisory_unlock_shared_int45 J pg_advisory_unlock ?v1pg_advisory_unlock_int45  pg_try_advisory_xact_lock_shared ?vMpg_try_advisory_xact_lock_shared_int45 I pg_try_advisory_lock_shared ?vCpg_try_advisory_lock_shared_int45  pg_try_advisory_xact_lock ?v?pg_try_advisory_xact_lock_int45  H pg_try_advisory_lock ?v5pg_try_advisory_lock_int45   pg_advisory_xact_lock_shared ?vEpg_advisory_xact_lock_shared_int45  G pg_advisory_lock_shared ?v;pg_advisory_lock_shared_int45   pg_advisory_xact_lock ?v7pg_advisory_xact_lock_int45  F pg_advisory_lock ?v-pg_advisory_lock_int45 E pg_advisory_unlock_shared ?vp?pg_advisory_unlock_shared_int85 D pg_advisory_unlock ?vp1pg_advisory_unlock_int85  pg_try_advisory_xact_lock_shared ?vpMpg_try_advisory_xact_lock_shared_int85 C pg_try_advisory_lock_shared ?vpCpg_try_advisory_lock_shared_int85  pg_try_advisory_xact_lock ?vp?pg_try_advisory_xact_lock_int85 B pg_try_advisory_lock ?vp5pg_try_advisory_lock_int85  pg_advisory_xact_lock_shared ?vpEpg_advisory_xact_lock_shared_int85 A pg_advisory_lock_shared ?vp;pg_advisory_lock_shared_int8(  ؝"2lHlzؔvH`b(dpdl8hx~zr@pxxPx`zh(x`rȀ6& 'ljson_object_field_text ?irk4from_json8field_name/json_object_field_text6% 'kjson_object_field ?irrk4from_json8field_name%json_object_field6$  json_strip_nulls ?irpr#json_strip_nulls6# h to_json ?srpto_json6"  json_object ?ir)json_object_two_arg6!  json_object ?irpjson_object6   json_build_object ?sr`3json_build_object_noargs6  json_build_object ?srp3-v%json_build_object6  json_build_array ?sr`1json_build_array_noargs6 ~ json_build_array ?srp3-v#json_build_array6 } json_object_agg ?sr!aggregate_dummy6 | json_object_agg_finalfn ?irp1json_object_agg_finalfn6 l json_object_agg_transfn ?s1json_object_agg_transfn6 g json_agg ?srp!aggregate_dummy6 f json_agg_finalfn ?irp#json_agg_finalfn6 e json_agg_transfn ?s#json_agg_transfn6 T row_to_json ?sr'row_to_json_pretty6 S row_to_json ?srprow_to_json6 R array_to_json ?sr+array_to_json_pretty6 Q array_to_json ?srparray_to_json6 Djson_send ?iprjson_send6 Cjson_recv ?irpjson_recv6 Bjson_out ?iprjson_out6 Ajson_in ?irpjson_in6  xml_is_well_formed_content ?ip7xml_is_well_formed_content6   xml_is_well_formed_document ?ip9xml_is_well_formed_document6   xml_is_well_formed ?sp'xml_is_well_formed6   xpath_exists ?iselect pg_catalog.xpath_exists($1, $2, '{}'::pg_catalog.text[])6   xpath_exists ?ixpath_exists6  6 xmlexists ?ixmlexists6 t xpath ?isselect pg_catalog.xpath($1, $2, '{}'::pg_catalog.text[])6 s xpath ?i xpath6 'z database_to_xml_and_xmlschema Bs{$nulls<tableforest0targetns=database_to_xml_and_xmlschema6 'y database_to_xmlschema Bs{$nulls<tableforest0targetns-database_to_xmlschema6 'x database_to_xml Bs{$nulls<tableforest0targetns!database_to_xml6 'w schema_to_xml_and_xmlschema Bs(schema$nulls<tableforest0targetns9schema_to_xml_and_xmlschema6 'v schema_to_xmlschema Bs(schema$nulls<tableforest0targetns)schema_to_xmlschema6 'u schema_to_xml Bs(schema$nulls<tableforest0targetnsschema_to_xml s(  NXB`LtrHR(ДntXh`b8hhȏhhXhhj0dxdddPfll(lplllHlh؂ht7  @geometry ?i@pX%point_to_geometry)$libdir/postgis-2.3n_t 7  @geometry ?i@@1geometry_enforce_typmod)$libdir/postgis-2.3 7&  pg_lsn_send ?ip pg_lsn_send7%  pg_lsn_recv ?i ppg_lsn_recv7$  pg_lsn_mi ?i pg_lsn_mi7#  pg_lsn_ne ?i pg_lsn_ne7"  pg_lsn_gt ?i pg_lsn_gt7!  pg_lsn_ge ?i pg_lsn_ge7   pg_lsn_eq ?i pg_lsn_eq7  pg_lsn_le ?i pg_lsn_le7  pg_lsn_lt ?i pg_lsn_lt7  pg_lsn_out ?ip pg_lsn_out7  pg_lsn_in ?i ppg_lsn_in7  uuid_hash ?ip uuid_hash7  uuid_send ?ip uuid_send7  uuid_recv ?i puuid_recv7  uuid_cmp ?i uuid_cmp7  uuid_ne ?i uuid_ne7  uuid_gt ?i uuid_gt7  uuid_ge ?i uuid_ge7  uuid_eq ?i uuid_eq7  uuid_le ?i uuid_le7  uuid_lt ?i uuid_lt7  uuid_out ?ip uuid_out7  uuid_in ?i puuid_in7 json_typeof ?iprjson_typeof7  json_to_recordset ?Bspr%json_to_recordset7   json_to_record ?sprjson_to_record7  ?wjson_each_text ?BiprCr1ioos4from_jsonkey$valuejson_each_text7  ?vjson_each ?BiprCrr1ioos4from_jsonkey$valuejson_each7 ujson_object_keys ?Bipr#json_object_keys7 tjson_array_length ?ipr%json_array_length7 ?json_array_elements_text ?Bipr;r/ioc4from_json$value3json_array_elements_text7 ?sjson_array_elements ?Birpr;rr/ioc4from_json$value)json_array_elements7 ?qjson_extract_path_text ?ir;r/ivk4from_json8path_elems/json_extract_path_text7 ?ojson_extract_path ?irr;r/ivk4from_json8path_elems%json_extract_path7 'njson_array_element_text ?irs4from_jsonDelement_index1json_array_element_text7 'mjson_array_element ?irrs4from_jsonDelement_index'json_array_element(  Hnh؝f hhhbh@hhИhh`hjb0rxpppPfdؐ| nhldf@jhЋjd`hfh8hjȆppXppp0pprpn8+ 'strip ?iptsvector_strip8* length ?ip!tsvector_length8) &tsvector_cmp ?itsvector_cmp8( %tsvector_gt ?itsvector_gt8' $tsvector_ge ?itsvector_ge8& #tsvector_ne ?itsvector_ne8% "tsvector_eq ?itsvector_eq8$ !tsvector_le ?itsvector_le8#  tsvector_lt ?itsvector_lt8" ?gtsvectorout ?ip:gtsvectorout8! >gtsvectorin ?i:pgtsvectorin8  8tsquerysend ?iptsquerysend8 tsqueryout ?iptsqueryout8 9tsqueryrecv ?iptsqueryrecv8 tsqueryin ?iptsqueryin8 6tsvectorsend ?iptsvectorsend8 tsvectorout ?iptsvectorout8 7tsvectorrecv ?iptsvectorrecv8 tsvectorin ?iptsvectorin8  enum_send ?sp enum_send8  enum_recv ?s enum_recv8  enum_range ?sp enum_range_all8  enum_range ?s %enum_range_bounds8  enum_last ?s p enum_last8  enum_first ?s p enum_first8  min ?i p !aggregate_dummy8  max ?i p !aggregate_dummy8  enum_larger ?i  enum_larger8  enum_smaller ?i  enum_smaller8  hashenum ?ip hashenum8   enum_cmp ?i enum_cmp8   enum_ge ?i enum_ge8   enum_le ?i enum_le8   enum_gt ?i enum_gt8   enum_lt ?i enum_lt8  enum_ne ?i enum_ne8  enum_eq ?i enum_eq8  enum_out ?sp enum_out8  enum_in ?s enum_in8  anyenum_out ?sp anyenum_out8  anyenum_in ?i panyenum_in8  pg_lsn_hash ?ip pg_lsn_hash8  pg_lsn_cmp ?i pg_lsn_cmp(  @~xȝppXppv z`x~Hȓ蒴(z`(npnnnHnn؉p phnht0vxph8xtx~9) qgtsquery_picksplit ?i'gtsquery_picksplit9( pgtsquery_decompress ?ip)gtsquery_decompress9' ogtsquery_compress ?ip%gtsquery_compress9& ets_rewrite Bv-tsquery_rewrite_query9% dts_rewrite ?i!tsquery_rewrite9$ Yquerytree ?iptsquerytree9# Xnumnode ?ip!tsquery_numnode9" ltsq_mcontained ?itsq_mcontained9! ktsq_mcontains ?itsq_mcontains9  Wtsquery_not ?iptsquery_not9 Vtsquery_or ?itsquery_or9 Utsquery_and ?itsquery_and9 Ttsquery_cmp ?itsquery_cmp9 Stsquery_gt ?itsquery_gt9 Rtsquery_ge ?itsquery_ge9 Qtsquery_ne ?itsquery_ne9 Ptsquery_eq ?itsquery_eq9 Otsquery_le ?itsquery_le9 Ntsquery_lt ?itsquery_lt9  gin_tsquery_consistent ?i;gin_tsquery_consistent_6args9  gin_extract_tsquery ?i5gin_extract_tsquery_5args9  gin_extract_tsvector ?i7gin_extract_tsvector_2args9  gin_cmp_prefix ?igin_cmp_prefix9 gin_cmp_tslexeme ?i#gin_cmp_tslexeme9 Qgin_tsquery_triconsistent ?i5gin_tsquery_triconsistent9 Jgin_tsquery_consistent ?i/gin_tsquery_consistent9 Igin_extract_tsquery ?i)gin_extract_tsquery9 Hgin_extract_tsvector ?i+gin_extract_tsvector9  Fgtsvector_consistent ?i:+gtsvector_consistent9  Egtsvector_penalty ?i%gtsvector_penalty9  Dgtsvector_same ?i::gtsvector_same9  Cgtsvector_union ?i!gtsvector_union9  Bgtsvector_picksplit ?i)gtsvector_picksplit9 Agtsvector_decompress ?ip+gtsvector_decompress9 @gtsvector_compress ?ip'gtsvector_compress9 ts_match_tq Bsts_match_tq9 ts_match_tt Bsts_match_tt9 3ts_match_qv ?its_match_qv9 2ts_match_vq ?its_match_vq9 )tsvector_concat ?i!tsvector_concat9 (setweight ?i'tsvector_setweight(   @v|蜘(~`lxX0hxx0nh||(rXz~`n~b(|pjlj8lj8n聒 :% ts_headline Bi#ts_headline_byid:$ ts_headline Bi+ts_headline_byid_opt:# thesaurus_lexize ?i#thesaurus_lexize:" thesaurus_init ?ipthesaurus_init:! dispell_lexize ?idispell_lexize:  dispell_init ?ipdispell_init: dsynonym_lexize ?i!dsynonym_lexize: dsynonym_init ?ipdsynonym_init: dsimple_lexize ?idsimple_lexize: dsimple_init ?ipdsimple_init: ts_lexize ?its_lexize: prsd_lextype ?ipprsd_lextype: prsd_headline ?iprsd_headline: prsd_end ?ipprsd_end: prsd_nexttoken ?iprsd_nexttoken: prsd_start ?iprsd_start: ?ts_parse ?zDsK3iioo<parser_nametxt$tokid$token!ts_parse_byname: ?ts_parse ?zDiK3iioo8parser_oidtxt$tokid$tokents_parse_byid: ?ts_token_type ?AspK3iooo<parser_name$tokid$alias<description+ts_token_type_byname: ?ts_token_type ?AipK3iooo8parser_oid$tokid$alias<description'ts_token_type_byid: ~ts_rank_cd ?its_rankcd_tt: }ts_rank_cd ?its_rankcd_ttf: |ts_rank_cd ?its_rankcd_wtt: {ts_rank_cd ?its_rankcd_wttf:  zts_rank ?its_rank_tt:  yts_rank ?its_rank_ttf:  xts_rank ?its_rank_wtt:  wts_rank ?its_rank_wttf:  ?jts_stat A@FvS5iiooo$query,weights word ndoc(nentryts_stat2: ?its_stat A@FvpK3iooo{$query word ndoc(nentryts_stat1: hts_typanalyze ?spts_typanalyze: gtsmatchjoinsel ?stsmatchjoinsel: ftsmatchsel ?stsmatchsel: ugtsquery_consistent ?i)gtsquery_consistent: tgtsquery_penalty ?i#gtsquery_penalty: sgtsquery_same ?igtsquery_same: rgtsquery_union ?igtsquery_union(0  @pȝzx@hКfpPȗthXjll0pprtt8bfȏdfXj،b|XtpЉHxXz|(t000;( ' jsonb_array_element ?is4from_jsonDelement_index)jsonb_array_element;' ' jsonb_object_field_text ?ik4from_json8field_name1jsonb_object_field_text;& ' jsonb_object_field ?ik4from_json8field_name'jsonb_object_field;%  jsonb_strip_nulls ?ip%jsonb_strip_nulls;$  jsonb_build_object ?s`5jsonb_build_object_noargs;#  jsonb_build_object ?sp3-v'jsonb_build_object;"  jsonb_build_array ?s`3jsonb_build_array_noargs;!  jsonb_build_array ?sp3-v%jsonb_build_array;   jsonb_object_agg ?i!aggregate_dummy;  jsonb_object_agg_finalfn ?sp3jsonb_object_agg_finalfn;  jsonb_object_agg_transfn ?s3jsonb_object_agg_transfn;  jsonb_agg ?sp!aggregate_dummy;  jsonb_agg_finalfn ?sp%jsonb_agg_finalfn;  jsonb_agg_transfn ?s%jsonb_agg_transfn; to_jsonb ?spto_jsonb;  jsonb_object ?i+jsonb_object_two_arg;  jsonb_object ?ipjsonb_object; jsonb_send ?ipjsonb_send; jsonb_out ?ipjsonb_out; jsonb_recv ?ipjsonb_recv; jsonb_in ?ipjsonb_in; regdictionarysend ?ip%regdictionarysend; regdictionaryrecv ?ip%regdictionaryrecv; regdictionaryout ?sp#regdictionaryout; regdictionaryin ?sp!regdictionaryin; regconfigsend ?ipregconfigsend; regconfigrecv ?ipregconfigrecv;  regconfigout ?spregconfigout;  regconfigin ?spregconfigin;  get_current_ts_config ?s`-get_current_ts_config;  tsvector_update_trigger_column ?v`Ctsvector_update_trigger_bycolumn;  tsvector_update_trigger ?v`;tsvector_update_trigger_byid; plainto_tsquery Bsp!plainto_tsquery; to_tsquery Bspto_tsquery; to_tsvector Bspto_tsvector; plainto_tsquery Bi+plainto_tsquery_byid; to_tsquery Bi!to_tsquery_byid; to_tsvector Bi#to_tsvector_byid; ts_headline Bsts_headline; ts_headline Bs!ts_headline_opt(  ؝PZDXNvؘtJT8pxvjjPjjj(jpjlf@vrzz@x|(`r<%  jsonb_concat ?ijsonb_concat<$  gin_triconsistent_jsonb_path ?i;gin_triconsistent_jsonb_path<#  gin_consistent_jsonb_path ?i5gin_consistent_jsonb_path<"  gin_extract_jsonb_query_path ?i;gin_extract_jsonb_query_path<!  gin_extract_jsonb_path ?i/gin_extract_jsonb_path<   gin_triconsistent_jsonb ?i1gin_triconsistent_jsonb<  gin_consistent_jsonb ?i+gin_consistent_jsonb<  gin_extract_jsonb_query ?i1gin_extract_jsonb_query<  gin_extract_jsonb ?i%gin_extract_jsonb<  gin_compare_jsonb ?i%gin_compare_jsonb< jsonb_contained ?i!jsonb_contained< jsonb_exists_all ?i#jsonb_exists_all< jsonb_exists_any ?i#jsonb_exists_any< jsonb_exists ?ijsonb_exists< jsonb_contains ?ijsonb_contains< jsonb_hash ?ipjsonb_hash< jsonb_cmp ?ijsonb_cmp< jsonb_eq ?ijsonb_eq< jsonb_ge ?ijsonb_ge< jsonb_le ?ijsonb_le< jsonb_gt ?ijsonb_gt< jsonb_lt ?ijsonb_lt< jsonb_ne ?ijsonb_ne<  jsonb_typeof ?ipjsonb_typeof<   jsonb_to_recordset ?Bsp'jsonb_to_recordset<   jsonb_to_record ?sp!jsonb_to_record<   jsonb_populate_recordset ?Bs3jsonb_populate_recordset<   jsonb_populate_record ?s-jsonb_populate_record<  ?\jsonb_each_text ?BipC1ioos4from_jsonkey$value!jsonb_each_text< ? jsonb_each ?BipC1ioos4from_jsonkey$valuejsonb_each< [jsonb_object_keys ?Bip%jsonb_object_keys<  jsonb_array_length ?ip'jsonb_array_length< ? jsonb_array_elements_text ?Bip;/ioc4from_json$value5jsonb_array_elements_text< ? jsonb_array_elements ?Bip;/ioc4from_json$value+jsonb_array_elements< ?djsonb_extract_path_text ?i;/ivk4from_json8path_elems1jsonb_extract_path_text< ? jsonb_extract_path ?i;/ivk4from_json8path_elems'jsonb_extract_path< ' jsonb_array_element_text ?is4from_jsonDelement_index3jsonb_array_element_textXU  @rz|jHrtȚvvPbtЗvvPtДll`lll8lpxx@xxxx@zdHzȅl``lpj8jf=( " lag ?ipwindow_lag=( " lag ?ipwindow_lag=' ! ntile ?ipwindow_ntile=&  cume_dist ?i`#window_cume_dist=%  percent_rank ?i`)window_percent_rank=$  dense_rank ?i`%window_dense_rank=#  rank ?i`window_rank="  row_number ?i`%window_row_number=!  pg_extension_config_dump ?v3pg_extension_config_dump=  ? pg_extension_update_paths ABspK3iooo{ name(source(target path5pg_extension_update_paths= ? pg_available_extension_versions ABs`c9ooooooo name,version4superuser<relocatable(schema0requires,commentApg_available_extension_versions= ? pg_available_extensions ABs`C1ooo{ nameLdefault_version,comment1pg_available_extensions= s btrecordimagecmp ?i#btrecordimagecmp= r record_image_ge ?i!record_image_ge= q record_image_le ?i!record_image_le= p record_image_gt ?i!record_image_gt= o record_image_lt ?i!record_image_lt= n record_image_ne ?i!record_image_ne= m record_image_eq ?i!record_image_eq=  btrecordcmp ?ibtrecordcmp=  record_ge ?irecord_ge=  record_le ?irecord_le=  record_gt ?irecord_gt=  record_lt ?irecord_lt=  record_ne ?irecord_ne=  record_eq ?irecord_eq=  txid_visible_in_snapshot ?i 3txid_visible_in_snapshot=  txid_snapshot_xip ?HBip %txid_snapshot_xip=   txid_snapshot_xmax ?ip 'txid_snapshot_xmax=   txid_snapshot_xmin ?ip 'txid_snapshot_xmin=   txid_current_snapshot ?s `-txid_current_snapshot=   txid_current ?s`txid_current=  ~ txid_snapshot_send ?ip 'txid_snapshot_send= } txid_snapshot_recv ?i p'txid_snapshot_recv= | txid_snapshot_out ?ip %txid_snapshot_out= { txid_snapshot_in ?i p#txid_snapshot_in=  jsonb_pretty ?ipjsonb_pretty=  jsonb_delete_path ?i%jsonb_delete_path=  jsonb_delete ?i#jsonb_delete_idx=  jsonb_delete ?ijsonb_delete(  8`hHvtșzxPjrؖdv`fhh8hpȑppXpjj(vhv ~`vrp(vhxpp8xpȃljXjjj>* "range_gt ?irange_gt>) !range_ge ?irange_ge>(  range_le ?irange_le>' range_lt ?irange_lt>& range_cmp ?irange_cmp>% range_minus ?irange_minus>$ range_intersect ?i!range_intersect># range_merge ?irange_merge>" range_union ?irange_union>! range_overright ?i!range_overright>  range_overleft ?irange_overleft> range_after ?irange_after> range_before ?irange_before> range_adjacent ?irange_adjacent> range_contained_by ?i'range_contained_by> elem_contained_by_range ?i1elem_contained_by_range> range_contains ?irange_contains> range_contains_elem ?i)range_contains_elem> range_overlaps ?irange_overlaps> range_ne ?irange_ne> range_eq ?irange_eq> upper_inf ?ip!range_upper_inf>  lower_inf ?ip!range_lower_inf>  upper_inc ?ip!range_upper_inc>  lower_inc ?ip!range_lower_inc>  isempty ?iprange_empty>  upper ?iprange_upper> lower ?iprange_lower> range_send ?sprange_send>  range_recv ?srange_recv>  range_out ?sprange_out>  range_in ?srange_in>  anyrange_out ?spanyrange_out>  anyrange_in ?sanyrange_in> * nth_value ?i#window_nth_value> ) last_value ?ip%window_last_value> ( first_value ?ip'window_first_value> ' lead ?iIwindow_lead_with_offset_and_default> & lead ?i1window_lead_with_offset> % lead ?ipwindow_lead> $ lag ?iGwindow_lag_with_offset_and_default> # lag ?i/window_lag_with_offsetNs  0pzx|0rh(fhrzx(xhx||(zh|x|(~`~؍~P~Ȋ~@~ȆȄ(,xd؀t?' @geometry ?i@pZ#path_to_geometry)$libdir/postgis-2.3t?& @point ?iXp@%geometry_to_point)$libdir/postgis-2.3?% ' make_timestamptz ?s year$month mday hourminsec0timezone;make_timestamptz_at_timezone?$ ' make_timestamptz ?s year$month mday hourminsec#make_timestamptz?# ' make_timestamp ?iZ year$month mday hourminsecmake_timestamp?" 'make_time ?i;[ hourminsecmake_time?! 'make_date ?i:c year$monthdaymake_date?  jint8range ?iV'range_constructor3? iint8range ?iV'range_constructor2? fdaterange ?iH::'range_constructor3? edaterange ?iH::'range_constructor2? btstzrange ?iF'range_constructor3? atstzrange ?iF'range_constructor2? ^tsrange ?iDZZ'range_constructor3? ]tsrange ?iDZZ'range_constructor2? numrange ?iB'range_constructor3? numrange ?iB'range_constructor2? int4range ?i@'range_constructor3? int4range ?i@'range_constructor2? Ztstzrange_subdiff ?i%tstzrange_subdiff? Ytsrange_subdiff ?iZZ!tsrange_subdiff? Udaterange_subdiff ?i::%daterange_subdiff? Tnumrange_subdiff ?i#numrange_subdiff? Sint8range_subdiff ?i%int8range_subdiff? Rint4range_subdiff ?i%int4range_subdiff? Kdaterange_canonical ?iHpH)daterange_canonical?  Xint8range_canonical ?iVpV)int8range_canonical?  Jint4range_canonical ?i@p@)int4range_canonical?  a rangesel ?srangesel?  Lrange_typanalyze ?sp#range_typanalyze?  >hash_range ?iphash_range? )range_gist_same ?i!range_gist_same? (range_gist_picksplit ?i+range_gist_picksplit? 'range_gist_penalty ?i'range_gist_penalty? range_gist_fetch ?ip#range_gist_fetch? &range_gist_decompress ?ip-range_gist_decompress? %range_gist_compress ?ip)range_gist_compress? $range_gist_union ?i#range_gist_union? #range_gist_consistent ?i-range_gist_consistent(  Hprz8fȚfhPrlЗzPrȔnxHx~8txtz0xpx~芌 Xȇ(؄`R@& ?pg_create_logical_replication_slot ?vK 3iioo4slot_name(plugin4slot_nameDxlog_positionGpg_create_logical_replication_slot@% ?pg_get_replication_slots ? As`s  = oooooooooP 4slot_name(plugin4slot_type(datoid(active8active_pid xmin@catalog_xmin<restart_lsn3pg_get_replication_slots@$ pg_drop_replication_slot ?vp3pg_drop_replication_slot@# ?pg_create_physical_replication_slot ?vpC 1ioo4slot_name4slot_nameDxlog_positionIpg_create_physical_replication_slot@"  spg_range_quad_leaf_consistent ?i?spg_range_quad_leaf_consistent@!  spg_range_quad_inner_consistent ?iAspg_range_quad_inner_consistent@   spg_range_quad_picksplit ?i3spg_range_quad_picksplit@  spg_range_quad_choose ?i-spg_range_quad_choose@  spg_range_quad_config ?i-spg_range_quad_config@ spg_text_leaf_consistent ?i3spg_text_leaf_consistent@ spg_text_inner_consistent ?i5spg_text_inner_consistent@ spg_text_picksplit ?i'spg_text_picksplit@ spg_text_choose ?i!spg_text_choose@ spg_text_config ?i!spg_text_config@ spg_kd_inner_consistent ?i1spg_kd_inner_consistent@ spg_kd_picksplit ?i#spg_kd_picksplit@ spg_kd_choose ?ispg_kd_choose@ spg_kd_config ?ispg_kd_config@ spg_quad_leaf_consistent ?i3spg_quad_leaf_consistent@ spg_quad_inner_consistent ?i5spg_quad_inner_consistent@ spg_quad_picksplit ?i'spg_quad_picksplit@ spg_quad_choose ?i!spg_quad_choose@ spg_quad_config ?i!spg_quad_config@ spgoptions ?sspgoptions@ spgcostestimate ?v!spgcostestimate@  spgcanreturn ?sspgcanreturn@  spgvacuumcleanup ?v#spgvacuumcleanup@  spgbulkdelete ?vspgbulkdelete@  spgbuildempty ?vpspgbuildempty@  spgbuild ?vspgbuild@ spgrestrpos ?vpspgrestrpos@ spgmarkpos ?vpspgmarkpos@ spgendscan ?vpspgendscan@ spgrescan ?vspgrescan@ spgbeginscan ?vspgbeginscan@ spginsert ?vspginsert@ spggetbitmap ?vspggetbitmap@ spggettuple ?vspggettupleqH  H&`lؗxPxx0x`xАx8pȍn0A dense_rank tA @geometry_in ?i@pLWGEOM_in)$libdir/postgis-2.3tA @spheroid_out ?ip@ellipsoid_out)$libdir/postgis-2.3 tA @spheroid_in ?i@pellipsoid_in)$libdir/postgis-2.3_dummytA '@_postgis_deprecate M0Bis,oldname,newname,version< DECLARE curver_text text; BEGIN -- -- Raises a NOTICE if it was deprecated in this version, -- a WARNING if in a previous version (only up to minor version checked) -- curver_text := '2.3.2'; IF split_part(curver_text,'.',1)::int > split_part(version,'.',1)::int OR ( split_part(curver_text,'.',1) = split_part(version,'.',1) AND split_part(curver_text,'.',2) != split_part(version,'.',2) ) THEN RAISE WARNING '% signature was deprecated in %. Please use %', oldname, version, newname; ELSE RAISE DEBUG '% signature was deprecated in %. Please use %', oldname, version, newname; END IF; END; A dense_rank ?ip3-v!aggregate_dummyA cume_dist_final ?i;/iv;hypothetical_cume_dist_finalA cume_dist ?ip3-v!aggregate_dummyA percent_rank_final ?i;/ivAhypothetical_percent_rank_finalA percent_rank ?ip3-v!aggregate_dummyA rank_final ?i;/iv1hypothetical_rank_finalA rank ?ip3-v!aggregate_dummyA mode_final ?imode_finalA mode ?ip!aggregate_dummyA percentile_cont_interval_multi_final ?iKpercentile_cont_interval_multi_finalA percentile_cont ?i!aggregate_dummyA percentile_cont_float8_multi_final ?iGpercentile_cont_float8_multi_finalA percentile_cont ?i!aggregate_dummyA percentile_disc_multi_final ?i9percentile_disc_multi_finalA percentile_disc ?i!aggregate_dummyA percentile_cont_interval_final ?i?percentile_cont_interval_finalA percentile_cont ?i!aggregate_dummyA percentile_cont_float8_final ?i;percentile_cont_float8_finalA  percentile_cont ?i!aggregate_dummyA  percentile_disc_final ?i-percentile_disc_finalA  percentile_disc ?i!aggregate_dummyA  ordered_set_transition_multi ?i;/iv;ordered_set_transition_multiA  ordered_set_transition ?i/ordered_set_transitionA ?pg_event_trigger_ddl_commands ABs`s  = ooooooooop ,classid$objid0objsubid<command_tag<object_type<schema_nameLobject_identity@in_extension,command=pg_event_trigger_ddl_commandsA pg_event_trigger_table_rewrite_reason ?s`Mpg_event_trigger_table_rewrite_reasonA ?pg_event_trigger_table_rewrite_oid ?s`3-o;oidGpg_event_trigger_table_rewrite_oidA ? pg_event_trigger_dropped_objects ABs` C oooooooooooo0 ,classid$objid0objsubid0original(normal@is_temporary<object_type<schema_name<object_nameLobject_identityDaddress_names@address_argsCpg_event_trigger_dropped_objectsvS  0XК(XpH@pHx(,H xuB + g|pg_start_backup ?v S$label fastp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 31020 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})!pg_start_backupsB ?'.ts_debug BzDspc9ioooooo0document$alias<description$token@dictionaries8dictionary,lexemes SELECT * FROM pg_catalog.ts_debug( pg_catalog.get_current_ts_config(), $1); qB ?&.ts_debug BzDsk;iioooooo(config0document$alias<description$token@dictionaries8dictionary,lexemesh SELECT tt.alias AS alias, tt.description AS description, parse.token AS token, ARRAY ( SELECT m.mapdict::pg_catalog.regdictionary FROM pg_catalog.pg_ts_config_map AS m WHERE m.mapcfg = $1 AND m.maptokentype = parse.tokid ORDER BY m.mapseqno ) AS dictionaries, ( SELECT mapdict::pg_catalog.regdictionary FROM pg_catalog.pg_ts_config_map AS m WHERE m.mapcfg = $1 AND m.maptokentype = parse.tokid ORDER BY pg_catalog.ts_lexize(mapdict, parse.token) IS NULL, m.mapseqno LIMIT 1 ) AS dictionary, ( SELECT pg_catalog.ts_lexize(mapdict, parse.token) FROM pg_catalog.pg_ts_config_map AS m WHERE m.mapcfg = $1 AND m.maptokentype = parse.tokid ORDER BY pg_catalog.ts_lexize(mapdict, parse.token) IS NULL, m.mapseqno LIMIT 1 ) AS lexemes FROM pg_catalog.ts_parse( (SELECT cfgparser FROM pg_catalog.pg_ts_config WHERE oid = $1 ), $2 ) AS parse, pg_catalog.ts_token_type( (SELECT cfgparser FROM pg_catalog.pg_ts_config WHERE oid = $1 ) ) AS tt WHERE tt.tokid = parse.tokid .B + ?  pg_show_all_file_settings ?zDv`c9ooooooo8sourcefile8sourceline$seqno name,setting,applied$error/show_all_file_settingsC  B  row_security_active ?sp3row_security_active_nameB  row_security_active ?sp)row_security_activeB ?~pg_show_replication_origin_status ?Bv`K 3oooo0local_id<external_id8remote_lsn4local_lsnEpg_show_replication_origin_statusB }pg_replication_origin_progress ?v ?pg_replication_origin_progressB |pg_replication_origin_advance ?v =pg_replication_origin_advanceB {pg_replication_origin_xact_reset ?v Cpg_replication_origin_xact_resetB zpg_replication_origin_xact_setup ?v Cpg_replication_origin_xact_setupB ypg_replication_origin_session_progress ?v pOpg_replication_origin_session_progressB xpg_replication_origin_session_is_setup ?v`Opg_replication_origin_session_is_setupB wpg_replication_origin_session_reset ?v`Ipg_replication_origin_session_resetB vpg_replication_origin_session_setup ?vpIpg_replication_origin_session_setupB  upg_replication_origin_oid ?sp5pg_replication_origin_oidB  tpg_replication_origin_drop ?vp7pg_replication_origin_dropB  spg_replication_origin_create ?vp;pg_replication_origin_createB  binary_upgrade_create_empty_extension ?vMbinary_upgrade_create_empty_extensionB  binary_upgrade_set_next_pg_authid_oid ?vpMbinary_upgrade_set_next_pg_authid_oidB binary_upgrade_set_next_pg_enum_oid ?vpIbinary_upgrade_set_next_pg_enum_oidB binary_upgrade_set_next_toast_pg_class_oid ?vpWbinary_upgrade_set_next_toast_pg_class_oidB binary_upgrade_set_next_index_pg_class_oid ?vpWbinary_upgrade_set_next_index_pg_class_oidB binary_upgrade_set_next_heap_pg_class_oid ?vpUbinary_upgrade_set_next_heap_pg_class_oidB binary_upgrade_set_next_toast_pg_type_oid ?vpUbinary_upgrade_set_next_toast_pg_type_oidB binary_upgrade_set_next_array_pg_type_oid ?vpUbinary_upgrade_set_next_array_pg_type_oidB  binary_upgrade_set_next_pg_type_oid ?vpIbinary_upgrade_set_next_pg_type_oidB dense_rank_final ?i;/iv=hypothetical_dense_rank_finalPSlp  XJPh ؕ \(Hhȅ(@XpWC R.koi8r_to_win866 ?v!koi8r_to_win8663$libdir/cyrillic_and_micSC P.win1251_to_koi8r ?v#win1251_to_koi8r3$libdir/cyrillic_and_micOC N.koi8r_to_win1251 ?v#koi8r_to_win12513$libdir/cyrillic_and_micKC L.mic_to_win866 ?vmic_to_win8663$libdir/cyrillic_and_micGC J.win866_to_mic ?vwin866_to_mic3$libdir/cyrillic_and_micCC H.mic_to_win1251 ?vmic_to_win12513$libdir/cyrillic_and_mic?C F.win1251_to_mic ?vwin1251_to_mic3$libdir/cyrillic_and_mic;C D.mic_to_iso ?vmic_to_iso3$libdir/cyrillic_and_mic7C  B.iso_to_mic ?viso_to_mic3$libdir/cyrillic_and_mic3C  @.mic_to_koi8r ?vmic_to_koi8r3$libdir/cyrillic_and_mic/C  >.koi8r_to_mic ?vkoi8r_to_mic3$libdir/cyrillic_and_mic+C  <.mic_to_ascii ?vmic_to_ascii-$libdir/ascii_and_mic'C  :.ascii_to_mic ?vascii_to_mic-$libdir/ascii_and_mic}C + g jsonb_set ?i0jsonb_in path<replacementTcreate_if_missingp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 33355 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})jsonb_set|C + g make_interval ?i$years(months$weeks days$hours mins secs({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 32969 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 32992 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 33014 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 33051 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 33073 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 33094 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 33143 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1})make_interval{C + pg_logical_slot_peek_binary_changes zDzDv c  9iiivooo4slot_name0upto_lsnDupto_nchanges,options0locationxid data({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 32736 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 ]})Ipg_logical_slot_peek_binary_changeszC + pg_logical_slot_get_binary_changes zDzDv c  9iiivooo4slot_name0upto_lsnDupto_nchanges,options0locationxid data({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 32405 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 ]})Gpg_logical_slot_get_binary_changesyC + pg_logical_slot_peek_changes zDzDv c  9iiivooo4slot_name0upto_lsnDupto_nchanges,options0locationxid data({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 32082 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 ]});pg_logical_slot_peek_changesxC + pg_logical_slot_get_changes zDzDv c  9iiivooo4slot_name0upto_lsnDupto_nchanges,options0locationxid data({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 31766 :constvalue 16 [ 64 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 ]})9pg_logical_slot_get_changeswC + gyjson_populate_recordset ?Bsr base4from_jsonPuse_json_as_textp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 31513 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})1json_populate_recordsetvC + gxjson_populate_record ?sr base4from_jsonPuse_json_as_textp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 31265 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})+json_populate_recordpS  0Hhș蘾(HhȒ葼(Hhȋ芼 8Ph؂D# .mic_to_latin3 ?vmic_to_latin3-$libdir/latin_and_micD" .latin3_to_mic ?vlatin3_to_mic-$libdir/latin_and_micD! .mic_to_latin1 ?vmic_to_latin1-$libdir/latin_and_micD  .latin1_to_mic ?vlatin1_to_mic-$libdir/latin_and_micD .win1250_to_latin2 ?v%win1250_to_latin27$libdir/latin2_and_win1250D .latin2_to_win1250 ?v%latin2_to_win12507$libdir/latin2_and_win1250D .mic_to_win1250 ?vmic_to_win12507$libdir/latin2_and_win1250D .win1250_to_mic ?vwin1250_to_mic7$libdir/latin2_and_win1250D .mic_to_latin2 ?vmic_to_latin27$libdir/latin2_and_win1250D .latin2_to_mic ?vlatin2_to_mic7$libdir/latin2_and_win1250D .mic_to_big5 ?vmic_to_big51$libdir/euc_tw_and_big5D .mic_to_euc_tw ?vmic_to_euc_tw1$libdir/euc_tw_and_big5D .big5_to_mic ?vbig5_to_mic1$libdir/euc_tw_and_big5D ~.euc_tw_to_mic ?veuc_tw_to_mic1$libdir/euc_tw_and_big5D |.big5_to_euc_tw ?vbig5_to_euc_tw1$libdir/euc_tw_and_big5D z.euc_tw_to_big5 ?veuc_tw_to_big51$libdir/euc_tw_and_big5D x.mic_to_euc_kr ?vmic_to_euc_kr/$libdir/euc_kr_and_micD v.euc_kr_to_mic ?veuc_kr_to_mic/$libdir/euc_kr_and_micD t.mic_to_sjis ?vmic_to_sjis1$libdir/euc_jp_and_sjisD r.mic_to_euc_jp ?vmic_to_euc_jp1$libdir/euc_jp_and_sjisD p.sjis_to_mic ?vsjis_to_mic1$libdir/euc_jp_and_sjisD n.euc_jp_to_mic ?veuc_jp_to_mic1$libdir/euc_jp_and_sjisD  l.sjis_to_euc_jp ?vsjis_to_euc_jp1$libdir/euc_jp_and_sjisD  j.euc_jp_to_sjis ?veuc_jp_to_sjis1$libdir/euc_jp_and_sjisD  h.mic_to_euc_cn ?vmic_to_euc_cn/$libdir/euc_cn_and_micD  f.euc_cn_to_mic ?veuc_cn_to_mic/$libdir/euc_cn_and_mic{D  d.win866_to_iso ?vwin866_to_iso3$libdir/cyrillic_and_micwD b.iso_to_win866 ?viso_to_win8663$libdir/cyrillic_and_micsD `.win1251_to_iso ?vwin1251_to_iso3$libdir/cyrillic_and_micoD ^.iso_to_win1251 ?viso_to_win12513$libdir/cyrillic_and_mickD \.koi8r_to_iso ?vkoi8r_to_iso3$libdir/cyrillic_and_micgD Z.iso_to_koi8r ?viso_to_koi8r3$libdir/cyrillic_and_miccD X.win1251_to_win866 ?v%win1251_to_win8663$libdir/cyrillic_and_mic_D V.win866_to_win1251 ?v%win866_to_win12513$libdir/cyrillic_and_mic[D T.win866_to_koi8r ?v!win866_to_koi8r3$libdir/cyrillic_and_micS(  @` @  @`Ћp 8`PЃ(E'  /euc_jis_2004_to_utf8 ?v+euc_jis_2004_to_utf83$libdir/utf8_and_euc2004E& /utf8_to_uhc ?vutf8_to_uhc+$libdir/utf8_and_uhcE% /uhc_to_utf8 ?vuhc_to_utf8+$libdir/utf8_and_uhc.E$ /utf8_to_sjis ?vutf8_to_sjis-$libdir/utf8_and_sjis E# /sjis_to_utf8 ?vsjis_to_utf8-$libdir/utf8_and_sjisE E /utf8_to_johab ?vutf8_to_johab/$libdir/utf8_and_johabE .johab_to_utf8 ?vjohab_to_utf8/$libdir/utf8_and_johabE" .utf8_to_iso8859_1 ?v%utf8_to_iso8859_17$libdir/utf8_and_iso8859_1E .iso8859_1_to_utf8 ?v%iso8859_1_to_utf87$libdir/utf8_and_iso8859_1E + .iso8859_to_utf8 ?v!iso8859_to_utf83$libdir/utf8_and_iso8859E + .utf8_to_iso8859 ?v!utf8_to_iso88593$libdir/utf8_and_iso8859E .utf8_to_gbk ?vutf8_to_gbk+$libdir/utf8_and_gbkdir/utfE .gbk_to_utf8 ?vgbk_to_utf8+$libdir/utf8_and_gbkdir/utfE .utf8_to_gb18030 ?v!utf8_to_gb180303$libdir/utf8_and_gb18030_and_wiE .gb18030_to_utf8 ?v!gb18030_to_utf83$libdir/utf8_and_gb18030E .utf8_to_euc_tw ?vutf8_to_euc_tw1$libdir/utf8_and_euc_twE .euc_tw_to_utf8 ?veuc_tw_to_utf81$libdir/utf8_and_euc_tw{E .utf8_to_euc_kr ?vutf8_to_euc_kr1$libdir/utf8_and_euc_krwE .euc_kr_to_utf8 ?veuc_kr_to_utf81$libdir/utf8_and_euc_krsE .utf8_to_euc_jp ?vutf8_to_euc_jp1$libdir/utf8_and_euc_jpoE .euc_jp_to_utf8 ?veuc_jp_to_utf81$libdir/utf8_and_euc_jpkE  .utf8_to_euc_cn ?vutf8_to_euc_cn1$libdir/utf8_and_euc_cngE! .euc_cn_to_utf8 ?veuc_cn_to_utf81$libdir/utf8_and_euc_cncE  + .win_to_utf8 ?vwin_to_utf8+$libdir/utf8_and_win_E + .utf8_to_win ?vutf8_to_win+$libdir/utf8_and_win E  .koi8u_to_utf8 ?vkoi8u_to_utf85$libdir/utf8_and_cyrillicE  .utf8_to_koi8u ?vutf8_to_koi8u5$libdir/utf8_and_cyrillicE .koi8r_to_utf8 ?vkoi8r_to_utf85$libdir/utf8_and_cyrillicE .utf8_to_koi8r ?vutf8_to_koi8r5$libdir/utf8_and_cyrillicE .utf8_to_big5 ?vutf8_to_big5-$libdir/utf8_and_big5E .big5_to_utf8 ?vbig5_to_utf8-$libdir/utf8_and_big5E .utf8_to_ascii ?vutf8_to_ascii/$libdir/utf8_and_asciiE .ascii_to_utf8 ?vascii_to_utf8/$libdir/utf8_and_asciiE .mic_to_latin4 ?vmic_to_latin4-$libdir/latin_and_micE .latin4_to_mic ?vlatin4_to_mic-$libdir/latin_and_micx#r|  (8HXX`hz PlhZHxtF  @geometry_typmod_out ?ip'postgis_typmod_out)$libdir/postgis-2.3tF  @geometry_typmod_in ?ip'geometry_typmod_in)$libdir/postgis-2.3tF  @geometry_out ?ip@LWGEOM_out)$libdir/postgis-2.3?F L0plpgsql_validator ?vp%plpgsql_validator!$libdir/plpgsql?F K0plpgsql_inline_handler ?vp/plpgsql_inline_handler!$libdir/plpgsql?F J0plpgsql_call_handler ?v`+plpgsql_call_handler!$libdir/plpgsql< F 'C/_pg_interval_type7/ BiS$typidmodSELECT CASE WHEN $1 IN (1186) /* interval */ THEN upper(substring(format_type($1, $2) from 'interval[()0-9]* #"%#"' for '#')) ELSE null END< F 'B/_pg_datetime_precision7/ Bi[$typid(typmodDSELECT CASE WHEN $1 IN (1082) /* date */ THEN 0 WHEN $1 IN (1083, 1114, 1184, 1266) /* time, timestamp, same + tz */ THEN CASE WHEN $2 < 0 THEN 6 ELSE $2 END WHEN $1 IN (1186) /* interval */ THEN CASE WHEN $2 < 0 OR $2 & 65535 = 65535 THEN 6 ELSE $2 & 65535 END ELSE null END< F 'A/_pg_numeric_scale7/ Bi[$typid(typmodhSELECT CASE WHEN $1 IN (21, 23, 20) THEN 0 WHEN $1 IN (1700) THEN CASE WHEN $2 = -1 THEN null ELSE ($2 - 4) & 65535 END ELSE null END< F '@/_pg_numeric_precision_radix7/ Bi[$typid(typmodSELECT CASE WHEN $1 IN (21, 23, 20, 700, 701) THEN 2 WHEN $1 IN (1700) THEN 10 ELSE null END< F '?/_pg_numeric_precision7/ Bi[$typid(typmodSELECT CASE $1 WHEN 21 /*int2*/ THEN 16 WHEN 23 /*int4*/ THEN 32 WHEN 20 /*int8*/ THEN 64 WHEN 1700 /*numeric*/ THEN CASE WHEN $2 = -1 THEN null ELSE (($2 - 4) >> 16) & 65535 END WHEN 700 /*float4*/ THEN 24 /*FLT_MANT_DIG*/ WHEN 701 /*float8*/ THEN 53 /*DBL_MANT_DIG*/ ELSE null END<F '>/_pg_char_octet_length7/ Bi[$typid(typmodSELECT CASE WHEN $1 IN (25, 1042, 1043) /* text, char, varchar */ THEN CASE WHEN $2 = -1 /* default typmod */ THEN CAST(2^30 AS integer) ELSE information_schema._pg_char_max_length($1, $2) * pg_catalog.pg_encoding_max_length((SELECT encoding FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())) END ELSE null END<F  '=/_pg_char_max_length7/ Bi[$typid(typmodSELECT CASE WHEN $2 = -1 /* default typmod */ THEN null WHEN $1 IN (1042, 1043) /* char, varchar */ THEN $2 - 4 WHEN $1 IN (1560, 1562) /* bit, varbit */ THEN $2 ELSE null END<F  G G@geometry_gist_compress_2d ?vp;gserialized_gist_compress_2d)$libdir/postgis-2.3t=G F@geometry_gist_consistent_2d ?v@?gserialized_gist_consistent_2d)$libdir/postgis-2.3t<G E@geometry_gist_distance_2d ?v@;gserialized_gist_distance_2d)$libdir/postgis-2.3t0G '7@geometry_cmp ?i@@[$geom1$geom2lwgeom_cmp)$libdir/postgis-2.3t/G '6@geometry_eq ?i@@[$geom1$geom2lwgeom_eq)$libdir/postgis-2.3t.G '5@geometry_ge ?i@@[$geom1$geom2lwgeom_ge)$libdir/postgis-2.3t-G '4@geometry_gt ?i@@[$geom1$geom2lwgeom_gt)$libdir/postgis-2.3t,G '3@geometry_le ?i@@[$geom1$geom2lwgeom_le)$libdir/postgis-2.3t+G '2@geometry_lt ?i@@[$geom1$geom2lwgeom_lt)$libdir/postgis-2.3t)G 0@gidx_out ?ip.@gidx_out)$libdir/postgis-2.3t(G /@gidx_in ?i.@pgidx_in)$libdir/postgis-2.3t&G  ,@box2df_out ?ip*@box2df_out)$libdir/postgis-2.3t%G  +@box2df_in ?i*@pbox2df_in)$libdir/postgis-2.3t#G  (@box2d_out ?ip&@BOX2D_out)$libdir/postgis-2.3t"G  '@box2d_in ?i&@pBOX2D_in)$libdir/postgis-2.3t G  $@box3d_out ?ip"@BOX3D_out)$libdir/postgis-2.3tG #@box3d_in ?i"@pBOX3D_in)$libdir/postgis-2.3tG !@st_m ?ip@LWGEOM_m_point)$libdir/postgis-2.3tG  @st_z ?ip@LWGEOM_z_point)$libdir/postgis-2.3tG @st_y ?ip@LWGEOM_y_point)$libdir/postgis-2.3tG @st_x ?ip@LWGEOM_x_point)$libdir/postgis-2.3tG @polygon ?i\p@)geometry_to_polygon)$libdir/postgis-2.3tG @geometry ?i@p\)polygon_to_geometry)$libdir/postgis-2.3tG @path ?iZp@#geometry_to_path)$libdir/postgis-2.3Ix  8PH @H80 (     0Pp0`x\耎tH! @st_ymin ?ip"@BOX3D_ymin)$libdir/postgis-2.3tH  @st_xmin ?ip"@BOX3D_xmin)$libdir/postgis-2.3tH @st_shift_longitude Bi@p@ SELECT public._postgis_deprecate('ST_Shift_Longitude', 'ST_ShiftLongitude', '2.2.0'); SELECT public.ST_ShiftLongitude($1); tH '@st_wrapx ?i@@[ geom wrap moveST_WrapX)$libdir/postgis-2.3tH @st_shiftlongitude ?i@p@/LWGEOM_longitude_shift)$libdir/postgis-2.3tH @geometry_gist_distance_nd ?v@5gserialized_gist_distance)$libdir/postgis-2.3tH @geometry_distance_cpa ?i@@ST_DistanceCPA)$libdir/postgis-2.3tH @geometry_distance_centroid_nd ?i@@1gserialized_distance_nd)$libdir/postgis-2.3t|H @geometry_overlaps_nd ?i@@+gserialized_overlaps)$libdir/postgis-2.3t{H @geometry_gist_decompress_nd ?vp9gserialized_gist_decompress)$libdir/postgis-2.3tzH @geometry_gist_same_nd ?v@@-gserialized_gist_same)$libdir/postgis-2.3tyH @geometry_gist_union_nd ?v/gserialized_gist_union)$libdir/postgis-2.3txH @geometry_gist_picksplit_nd ?v7gserialized_gist_picksplit)$libdir/postgis-2.3twH @geometry_gist_penalty_nd ?v3gserialized_gist_penalty)$libdir/postgis-2.3tvH @geometry_gist_compress_nd ?vp5gserialized_gist_compress)$libdir/postgis-2.3tuH @geometry_gist_consistent_nd ?v@9gserialized_gist_consistent)$libdir/postgis-2.3trH 'o@geometry_above ?i@@[$geom1$geom2+gserialized_above_2d)$libdir/postgis-2.3tpH 'n@geometry_overabove ?i@@[$geom1$geom23gserialized_overabove_2d)$libdir/postgis-2.3tnH 'm@geometry_right ?i@@[$geom1$geom2+gserialized_right_2d)$libdir/postgis-2.3tlH 'l@geometry_overright ?i@@[$geom1$geom23gserialized_overright_2d)$libdir/postgis-2.3thH  'i@geometry_overbelow ?i@@[$geom1$geom23gserialized_overbelow_2d)$libdir/postgis-2.3tdH  'f@geometry_below ?i@@[$geom1$geom2+gserialized_below_2d)$libdir/postgis-2.3t`H  'c@geometry_overleft ?i@@[$geom1$geom21gserialized_overleft_2d)$libdir/postgis-2.3t\H  '`@geometry_left ?i@@[$geom1$geom2)gserialized_left_2d)$libdir/postgis-2.3tWH  ']@geometry_within ?i@@[$geom1$geom2-gserialized_within_2d)$libdir/postgis-2.3tVH '\@geometry_contains ?i@@[$geom1$geom21gserialized_contains_2d)$libdir/postgis-2.3tQH 'Y@geometry_distance_box ?i@@[$geom1$geom29gserialized_distance_box_2d)$libdir/postgis-2.3tPH 'X@geometry_distance_centroid ?i@@[$geom1$geom2distance)$libdir/postgis-2.3tNH 'V@geometry_same ?i@@[$geom1$geom2)gserialized_same_2d)$libdir/postgis-2.3tKH 'T@geometry_overlaps ?i@@[$geom1$geom21gserialized_overlaps_2d)$libdir/postgis-2.3tJH S@gserialized_gist_joinsel_nd ?v9gserialized_gist_joinsel_nd)$libdir/postgis-2.3tIH R@gserialized_gist_joinsel_2d ?v9gserialized_gist_joinsel_2d)$libdir/postgis-2.3tHH Q@gserialized_gist_sel_nd ?v1gserialized_gist_sel_nd)$libdir/postgis-2.3y  8p@@XpȔВЏZ06L8hȉ,@hЂnȀtI @st_expand ?i"@"@BOX3D_expand)$libdir/postgis-2.3tI @st_3dlength_spheroid Bi@@, SELECT public._postgis_deprecate('ST_3DLength_Spheroid', 'ST_LengthSpheroid', '2.2.0'); SELECT public.ST_LengthSpheroid($1,$2); tI @st_lengthspheroid Ci@@GLWGEOM_length_ellipsoid_linestring)$libdir/postgis-2.3tI @st_length Aip@7LWGEOM_length2d_linestring)$libdir/postgis-2.3tI @st_length2d Aip@7LWGEOM_length2d_linestring)$libdir/postgis-2.3tI @st_3dlength Aip@3LWGEOM_length_linestring)$libdir/postgis-2.3tI @st_nrings ?ip@LWGEOM_nrings)$libdir/postgis-2.3tI @st_npoints Aip@LWGEOM_npoints)$libdir/postgis-2.3tI @st_summary Aip@LWGEOM_summary)$libdir/postgis-2.3tI @st_mem_size Bip@ SELECT public._postgis_deprecate('ST_Mem_Size', 'ST_MemSize', '2.2.0'); SELECT public.ST_MemSize($1); tI @st_memsize @ip@!LWGEOM_mem_size)$libdir/postgis-2.3tI @postgis_hasbbox ?ip@LWGEOM_hasBBOX)$libdir/postgis-2.3tI @postgis_dropbbox ?i@p@!LWGEOM_dropBBOX)$libdir/postgis-2.3tI @postgis_addbbox ?i@p@LWGEOM_addBBOX)$libdir/postgis-2.3tI @st_find_extent Bi&@ SELECT public._postgis_deprecate('ST_Find_Extent', 'ST_FindExtent', '2.2.0'); SELECT public.ST_FindExtent($1,$2); tI @st_findextent M0Bi&@ DECLARE tablename alias for $1; columnname alias for $2; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT public.ST_Extent("' || columnname || '") As extent FROM "' || tablename || '"' LOOP return myrec.extent; END LOOP; END; tI @st_find_extent Bi&@ SELECT public._postgis_deprecate('ST_Find_Extent', 'ST_FindExtent', '2.2.0'); SELECT public.ST_FindExtent($1,$2,$3); tI @st_findextent M0Bi&@| DECLARE schemaname alias for $1; tablename alias for $2; columnname alias for $3; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT public.ST_Extent("' || columnname || '") As extent FROM "' || schemaname || '"."' || tablename || '"' LOOP return myrec.extent; END LOOP; END; tI  @st_estimated_extent Bi&@ SELECT public._postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0'); -- We use security invoker instead of security definer -- to prevent malicious injection of a same named different function -- that would be run under elevated permissions SELECT public.ST_EstimatedExtent($1, $2); tI  @st_estimatedextent ?i&@;gserialized_estimated_extent)$libdir/postgis-2.3tI  @st_estimated_extent Bi&@T SELECT public._postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0'); -- We use security invoker instead of security definer -- to prevent malicious injection of a different same named function SELECT public.ST_EstimatedExtent($1, $2, $3); tI  @st_estimatedextent ?i&@;gserialized_estimated_extent)$libdir/postgis-2.3tI  @st_estimatedextent ?i&@;gserialized_estimated_extent)$libdir/postgis-2.3tI '@st_makebox2d ?i&@@@[$geom1$geom2!BOX2D_construct)$libdir/postgis-2.3tI @postgis_getbbox ?i&@p@#LWGEOM_to_BOX2DF)$libdir/postgis-2.3tI '@st_expand ?i&@&@[boxdxdyBOX2D_expand)$libdir/postgis-2.3tI @st_expand ?i&@&@BOX2D_expand)$libdir/postgis-2.3tI @st_zmax ?ip"@BOX3D_zmax)$libdir/postgis-2.3tI @st_ymax ?ip"@BOX3D_ymax)$libdir/postgis-2.3tI @st_xmax ?ip"@BOX3D_xmax)$libdir/postgis-2.3tI @st_zmin ?ip"@BOX3D_zmin)$libdir/postgis-2.3y  Ȟj蝴vЛ Px ВБ,2(,@ 2P8,`(bPx؂tJ  '@st_forcesfs ?i@@K,version#LWGEOM_force_sfs)$libdir/postgis-2.3tJ @st_forcesfs ?i@p@#LWGEOM_force_sfs)$libdir/postgis-2.3tJ @st_forcecurve ?i@p@'LWGEOM_force_curve)$libdir/postgis-2.3tJ @st_multi ?i@p@'LWGEOM_force_multi)$libdir/postgis-2.3tJ @st_collectionhomogenize ?i@p@1ST_CollectionHomogenize)$libdir/postgis-2.3tJ @st_collectionextract ?i@@+ST_CollectionExtract)$libdir/postgis-2.3tJ @st_force_collection Bi@p@$ SELECT public._postgis_deprecate('ST_Force_Collection', 'ST_ForceCollection', '2.1.0'); SELECT public.ST_ForceCollection($1); tJ @st_forcecollection ?i@p@1LWGEOM_force_collection)$libdir/postgis-2.3tJ @st_force_4d Bi@p@ SELECT public._postgis_deprecate('ST_Force_4d', 'ST_Force4D', '2.1.0'); SELECT public.ST_Force4D($1); tJ @st_force4d ?i@p@!LWGEOM_force_4d)$libdir/postgis-2.3tJ @st_force_3dm Bi@p@ SELECT public._postgis_deprecate('ST_Force_3dm', 'ST_Force3DM', '2.1.0'); SELECT public.ST_Force3DM($1); tJ @st_force3dm ?i@p@#LWGEOM_force_3dm)$libdir/postgis-2.3tJ @st_force_3d Bi@p@ SELECT public._postgis_deprecate('ST_Force_3d', 'ST_Force3D', '2.1.0'); SELECT public.ST_Force3D($1); tJ @st_force3d ?i@p@#LWGEOM_force_3dz)$libdir/postgis-2.3tJ @st_force_3dz Bi@p@ SELECT public._postgis_deprecate('ST_Force_3dz', 'ST_Force3DZ', '2.1.0'); SELECT public.ST_Force3DZ($1); tJ @st_force3dz ?i@p@#LWGEOM_force_3dz)$libdir/postgis-2.3tJ @st_force_2d Bi@p@ SELECT public._postgis_deprecate('ST_Force_2d', 'ST_Force2D', '2.1.0'); SELECT public.ST_Force2D($1); tJ @st_force2d ?i@p@!LWGEOM_force_2d)$libdir/postgis-2.3tJ '@st_azimuth ?i@@[$geom1$geom2LWGEOM_azimuth)$libdir/postgis-2.3tJ  @st_point_inside_circle Bi@d SELECT public._postgis_deprecate('ST_Point_Inside_Circle', 'ST_PointInsideCircle', '2.2.0'); SELECT public.ST_PointInsideCircle($1,$2,$3,$4); tJ  @st_pointinsidecircle ?i@7LWGEOM_inside_circle_point)$libdir/postgis-2.3tJ  '@st_distance Ai@@[$geom1$geom2distance)$libdir/postgis-2.3tJ  '@st_distance_spheroid Bi@@@c$geom1$geom2H SELECT public._postgis_deprecate('ST_Distance_Spheroid', 'ST_DistanceSpheroid', '2.2.0'); SELECT public.ST_DistanceSpheroid($1,$2,$3); tJ  '@st_distancespheroid HCi@@@c$geom1$geom25LWGEOM_distance_ellipsoid)$libdir/postgis-2.3tJ @st_area Aip@ area)$libdir/postgis-2.3tJ @st_area2d Aip@)LWGEOM_area_polygon)$libdir/postgis-2.3tJ @st_perimeter Aip@1LWGEOM_perimeter2d_poly)$libdir/postgis-2.3tJ @st_perimeter2d Aip@1LWGEOM_perimeter2d_poly)$libdir/postgis-2.3tJ @st_3dperimeter Aip@-LWGEOM_perimeter_poly)$libdir/postgis-2.3tJ @st_length2d_spheroid Bi@@< SELECT public._postgis_deprecate('ST_Length2D_Spheroid', 'ST_Length2DSpheroid', '2.2.0'); SELECT public.ST_Length2DSpheroid($1,$2); tJ @st_length2dspheroid Ci@@5LWGEOM_length2d_ellipsoid)$libdir/postgis-2.3tJ @st_length_spheroid Bi@@$ SELECT public._postgis_deprecate('ST_Length_Spheroid', 'ST_LengthSpheroid', '2.2.0'); SELECT public.ST_LengthSpheroid($1,$2); ?zx  t0Hp PxH$@ptK @st_geomfromewkt ?i@p#parse_WKT_lwgeom)$libdir/postgis-2.3tK @geomfromewkt ?i@p#parse_WKT_lwgeom)$libdir/postgis-2.3tK @st_geomfromtwkb ?i@pLWGEOMFromTWKB)$libdir/postgis-2.3tK @st_geomfromewkb ?i@pLWGEOMFromEWKB)$libdir/postgis-2.3tK @geomfromewkb ?i@pLWGEOMFromEWKB)$libdir/postgis-2.3tK g@st_aslatlontext ?i@K geom tmpld({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 48752 :constvalue 4 [ 16 0 0 0 ]})#LWGEOM_to_latlon)$libdir/postgis-2.3tK @st_asewkb Ai@WKBFromLWGEOM)$libdir/postgis-2.3tK @st_ashexewkb Ai@#LWGEOM_asHEXEWKB)$libdir/postgis-2.3tK @st_ashexewkb Aip@#LWGEOM_asHEXEWKB)$libdir/postgis-2.3tK @st_asewkb Aip@WKBFromLWGEOM)$libdir/postgis-2.3tK g@st_astwkb ?i@ geomids prec(prec_z(prec_m8with_sizes8with_boxesP ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 47738 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 47764 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 47790 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull true :location 47823 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull true :location 47856 :constvalue <>}))TWKBFromLWGEOMArray)$libdir/postgis-2.3tK  g@st_astwkb ?i@ geom prec(prec_z(prec_m8with_sizes8with_boxesP ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 47420 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 47446 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 47472 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull true :location 47505 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull true :location 47538 :constvalue <>})TWKBFromLWGEOM)$libdir/postgis-2.3tK  @st_asewkt ;Dip@LWGEOM_asEWKT)$libdir/postgis-2.3tK  @st_ndims @ip@LWGEOM_ndims)$libdir/postgis-2.3tK  @st_zmflag @ip@LWGEOM_zmflag)$libdir/postgis-2.3tK  '@st_normalize ?i@p@; geomST_Normalize)$libdir/postgis-2.3tK @postgis_noop Av@p@LWGEOM_noop)$libdir/postgis-2.3tK @st_forcerhr ?i@p@9LWGEOM_force_clockwise_poly)$libdir/postgis-2.3tK @st_reverse ?i@p@LWGEOM_reverse)$libdir/postgis-2.3tK g@st_boundingdiagonal ?i@@K geom fitsp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 45870 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}))ST_BoundingDiagonal)$libdir/postgis-2.3tK @st_envelope ?i@p@!LWGEOM_envelope)$libdir/postgis-2.3tK g@st_expand ?i@@{ geomdxdydzdmT ({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 45382 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 45403 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1})LWGEOM_expand)$libdir/postgis-2.3tK @st_expand ?i@@LWGEOM_expand)$libdir/postgis-2.3tK g@st_expand ?i"@"@kboxdxdydz({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 44935 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1})BOX3D_expand)$libdir/postgis-2.3{H  8`ЛК    @`HxЎ   680  (HtL  Ast_translate Bi@@USELECT public.ST_Translate($1, $2, $3, 0)tL Ast_translate Bi@@SELECT public.ST_Affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)tL Ast_rotatey Bi@@SELECT public.ST_Affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)tL Ast_rotatex Bi@@SELECT public.ST_Affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)tL Ast_rotatez Bi@@ASELECT public.ST_Rotate($1, $2)tL Ast_rotate Bi@@@SELECT public.ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, public.ST_X($3) - cos($2) * public.ST_X($3) + sin($2) * public.ST_Y($3), public.ST_Y($3) - sin($2) * public.ST_X($3) - cos($2) * public.ST_Y($3), 0)tL Ast_rotate Bi@@tSELECT public.ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)tL Ast_rotate Bi@@SELECT public.ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)tL Ast_affine Bi@@SELECT public.ST_Affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)tL Ast_affine ?i @0 @LWGEOM_affine)$libdir/postgis-2.3tL Ast_linemerge ?i@p@linemerge)$libdir/postgis-2.3tL 'Ast_clusterdbscan ?i@ceps4minpoints#ST_ClusterDBSCAN)$libdir/postgis-2.3tL Ast_clusterwithin ?i@@?cluster_within_distance_garray)$libdir/postgis-2.3tL Ast_clusterintersecting ?i@p@7clusterintersecting_garray)$libdir/postgis-2.3tL Ast_polygonize ?i@p@%polygonize_garray)$libdir/postgis-2.3tL Ast_buildarea ?i@p@ST_BuildArea)$libdir/postgis-2.3tL Ast_makepolygon ?i@p@!LWGEOM_makepoly)$libdir/postgis-2.3tL  Ast_makepolygon ?i@@@!LWGEOM_makepoly)$libdir/postgis-2.3tL G Ast_makeenvelope ?i@p({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 52414 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})!ST_MakeEnvelope)$libdir/postgis-2.3tL   Ast_setpoint ?i@@@7LWGEOM_setpoint_linestring)$libdir/postgis-2.3tL   Ast_removepoint ?i@@'LWGEOM_removepoint)$libdir/postgis-2.3tL  ' Ast_addpoint ?i@@@c$geom1$geom2!LWGEOM_addpoint)$libdir/postgis-2.3tL  'Ast_addpoint ?i@@@[$geom1$geom2!LWGEOM_addpoint)$libdir/postgis-2.3tL  'Ast_makeline ?i@@@[$geom1$geom2!LWGEOM_makeline)$libdir/postgis-2.3tL Ast_linefrommultipoint ?i@p@1LWGEOM_line_from_mpoint)$libdir/postgis-2.3tL Ast_makeline ?i@p@/LWGEOM_makeline_garray)$libdir/postgis-2.3tL 'Ast_3dmakebox ?i"@@@[$geom1$geom2!BOX3D_construct)$libdir/postgis-2.3tL Ast_makepointm ?i@)LWGEOM_makepoint3dm)$libdir/postgis-2.3tL Ast_makepoint ?i@#LWGEOM_makepoint)$libdir/postgis-2.3tL Ast_makepoint ?i@#LWGEOM_makepoint)$libdir/postgis-2.3tL Ast_makepoint ?i@#LWGEOM_makepoint)$libdir/postgis-2.3tL @postgis_cache_bbox ?v`cache_bbox)$libdir/postgis-2.3}P  0@hXhpD؊``؀ tM ':Adropgeometrycolumn M0Bv@catalog_name<schema_name8table_name<column_name DECLARE myrec RECORD; okay boolean; real_schema name; BEGIN -- Find, check or fix schema_name IF ( schema_name != '' ) THEN okay = false; FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP okay := true; END LOOP; IF ( okay <> true ) THEN RAISE NOTICE 'Invalid schema name - using current_schema()'; SELECT current_schema() into real_schema; ELSE real_schema = schema_name; END IF; ELSE SELECT current_schema() into real_schema; END IF; -- Find out if the column is in the geometry_columns table okay = false; FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP okay := true; END LOOP; IF (okay <> true) THEN RAISE EXCEPTION 'column not found in geometry_columns table'; RETURN false; END IF; -- Remove table column EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' DROP COLUMN ' || quote_ident(column_name); RETURN real_schema || '.' || table_name || '.' || column_name ||' effectively removed.'; END; tM  g9Aaddgeometrycolumn M0Bv8table_name<column_name0new_srid0new_type,new_dim8use_typmodp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 78923 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) DECLARE ret text; BEGIN SELECT AddGeometryColumn('','',$1,$2,$3,$4,$5, $6) into ret; RETURN ret; END; tM  g8Aaddgeometrycolumn M0Bs<schema_name8table_name<column_name0new_srid0new_type,new_dim8use_typmodp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 78187 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) DECLARE ret text; BEGIN SELECT AddGeometryColumn('',$1,$2,$3,$4,$5,$6,$7) into ret; RETURN ret; END; tM  g6Aaddgeometrycolumn M0Bv@@catalog_name<schema_name8table_name<column_name<new_srid_in0new_type,new_dim8use_typmodp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 72784 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})7A tM  g4Apopulate_geometry_columns M0Bvc,tbl_oid8use_typmodp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 65402 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})}5A tM  g3Apopulate_geometry_columns M0BvpK8use_typmodp({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 62589 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) DECLARE inserted integer; oldcount integer; probed integer; stale integer; gcs RECORD; gc RECORD; gsrid integer; gndims integer; gtype text; query text; gc_is_valid boolean; BEGIN SELECT count(*) INTO oldcount FROM geometry_columns; inserted := 0; -- Count the number of geometry columns in all tables and views SELECT count(DISTINCT c.oid) INTO probed FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE c.relkind IN('r','v','f') AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND n.nspname NOT ILIKE 'pg_temp%' AND c.relname != 'raster_columns' ; -- Iterate through all non-dropped geometry columns RAISE DEBUG 'Processing Tables.....'; FOR gcs IN SELECT DISTINCT ON (c.oid) c.oid, n.nspname, c.relname FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE c.relkind IN( 'r', 'f') AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND n.nspname NOT ILIKE 'pg_temp%' AND c.relname != 'raster_columns' LOOP inserted := inserted + populate_geometry_columns(gcs.oid, use_typmod); END LOOP; IF oldcount > inserted THEN stale = oldcount-inserted; ELSE stale = 0; END IF; RETURN 'probed:' ||probed|| ' inserted:'||inserted; END t M )Ast_dumppoints BzDi%Ap@%LWGEOM_dumppoints)$libdir/postgis-2.3t M '(A_st_dumppoints M0BzDv%A@[0the_geom0cur_path  DECLARE tmp geometry_dump;2nb_points integer) i j gU; BEGIN -- RAISE DEBUG '%,%', cur_path, public.ST_G>Type(t$he{);ESpecial case collections : iterate and return the DumpPof#iesUIF (~IsCU~`) THE= 1 FORGIN SELECT KyC.* pLOOPE<;* FROM _B5(g.I5 ||~. )] [RETURN NEXT! END%i + F-IF; (POLYGON) :uC$Dqring a polygonx = 'STt_P5'@jExteriorRingjWARRAY[1]V0W!5j :=(NuhmInos)i1..j l) q"Nq, ii+?  /1/0TR@IANGLE/1 eqnal):9/;Triangle/<1?qINT>?Tin"ttmpBK =%b =yR Use 3"Trather 0thanto have a NULL val0ue i"'dsn'-- a LINESTRING, CIRCULAR. :U`INTOw%This should never happeEw7ISYbEXCEPTION 'Unexpected error while qinw? q"AsTextKB8iIK& iJ"KJ(END t M 'Ast_dumprings ?zDi%Ap@%LWGEOM_dump_rings)$libdir/postgis-2.3tM &Ast_dump BzDi%Ap@LWGEOM_dump)$libdir/postgis-2.3tM "Ast_transscale Bi@@SELECT public.ST_Affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)tM !Ast_scale Bi@@MSELECT public.ST_Scale($1, $2, $3, 1)tM  Ast_scale Bi@@ySELECT public.ST_Scale($1, public.ST_MakePoint($2, $3, $4))tM Ast_scale ?i@@@ST_Scale)$libdir/postgis-2.3}l(  hf  .&hpЉ(4x؂(t.N OApostgis_scripts_installed Bi`s SELECT '2.3.2'::text || ' r' || 15302::text AS version t-N NApostgis_proj_version ?i`+postgis_proj_version)$libdir/postgis-2.3t,N MApostgis_liblwgeom_version ?i`5postgis_liblwgeom_version)$libdir/postgis-2.3t+N LApostgis_version ?i`!postgis_version)$libdir/postgis-2.3t*N 'KAst_transform Bi@@s geom4from_proj,to_sridSELECT postgis_transform_geometry($1, $2, proj4text, $3) FROM spatial_ref_sys WHERE srid=$3;t)N 'JAst_transform Bi@@s geom4from_proj,to_projcSELECT postgis_transform_geometry($1, $2, $3, 0)t(N 'IAst_transform Bi@@S geom,to_projSELECT postgis_transform_geometry($1, proj4text, $2, 0) FROM spatial_ref_sys WHERE srid=public.ST_SRID($1);t'N HAst_transform ?i@@transform)$libdir/postgis-2.3t&N  GApostgis_transform_geometry ?i@@transform_geom)$libdir/postgis-2.3t%N  FAst_srid @ip@!LWGEOM_get_srid)$libdir/postgis-2.3t$N  EAst_setsrid ?i@@!LWGEOM_set_srid)$libdir/postgis-2.3t#N  DAget_proj4_from_srid M0Bip BEGIN RETURN proj4text::text FROM spatial_ref_sys WHERE srid= $1; END; t"N  CAfind_srid M0BiD DECLARE schem varchar = $1; tabl varchar = $2; sr int4; BEGIN -- if the table contains a . and the schema is empty -- split the table into a schema and a table -- otherwise drop through to default behavior IF ( schem = '' and strpos(tabl,'.') > 0 ) THEN schem = substr(tabl,1,strpos(tabl,'.')-1); tabl = substr(tabl,length(schem)+2); END IF; select SRID into sr from geometry_columns where (f_table_schema = schem or schem = '') and f_table_name = tabl and f_geometry_column = $3; IF NOT FOUND THEN RAISE EXCEPTION 'find_srid() - could not find the corresponding SRID - is the geometry registered in the GEOMETRY_COLUMNS table? Is there an uppercase/lowercase mismatch?'; END IF; return sr; END; t!N BAupdategeometrysrid M0Bv DECLARE ret text; BEGIN SELECT UpdateGeometrySRID('','',$1,$2,$3) into ret; RETURN ret; END; t N AAupdategeometrysrid M0Bv DECLARE ret text; BEGIN SELECT UpdateGeometrySRID('',$1,$2,$3,$4) into ret; RETURN ret; END; tN '@Aupdategeometrysrid M0BvDcatalogn_name<schema_name8table_name<column_name<new_srid_inb DECLARE myrec RECORD; okay boolean; cname varchar; real_schema ; unknown_srid intege*new  := _in; BEGIN -- Find, check or fix f_f IF (  != '' ) THEN = false; FOR IN SELECT nsp" RAISE EXCEPTION 'InvalidfN'RxLSE1k wIF; .INTO 9current()::8A~Ensure that c olumnis in geometry_s$%nltype, coord_dimensionz P~f_table) and'=   ^| = N 0'Soco unt(*!0 from spatial_ref_sys where F7/ i$SRID: % ^',S .J4:= publi c.ST_n('POINT EMPTY'::a)R!= S#: #NOT`ICE '{wue % converted to the officiallyH1_inIF postgis_constrai1rid),(1M&) IS NULL--was enforced 0withbs before, keep it#x@way. -- Make up9B#c= 'h' || ; UDrop_(EXECUTE 'ALTER TABLE 'Xquote_idenL||>9'./E. DROP >) @Update5i es" UPDAJSET),3:qet3tC,s%#cW')'+ResetADD8CHECK (s47Q9  Q#AWe will useqVmoBQ if no38 @are usingFuqsto @lookupBnew;-- (in case Paul changes his mindswlipso return old upperJ,' YCOLUMN?- ' TYP\E ;(.w ,aT?2 USING?! ',U;' $Pfut HI;||'c#"~; END; tN '?Adropgeometrytable BvpK8table_nameK SELECT DropGeometryTable('','',$1) tN '>Adropgeometrytable Bvk<schema_name8table_nameK SELECT DropGeometryTable('',$1,$2) tN '=Adropgeometrytable M0Bv@catalog_name<schema_name8table_name DECLARE real_schema name; BEGIN IF ( schema_name = '' ) THEN SELECT current_schema() into real_schema; ELSE real_schema = schema_name; END IF; -- TODO: Should we warn if table doesn't exist probably instead just saying dropped -- Remove table EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' RESTRICT'; RETURN real_schema || '.' || table_name ||' dropped.'; END; tN 'O _Abox3dtobox ?i[p"@BOX3D_to_BOX)$libdir/postgis-2.3t=O ^Atext Aip@LWGEOM_to_text)$libdir/postgis-2.3t<O ]Abox ?i[p"@BOX3D_to_BOX)$libdir/postgis-2.3t;O  \Abox3d ?i"@p&@BOX2D_to_BOX3D)$libdir/postgis-2.3t:O  [Abox2d ?i&@p"@BOX3D_to_BOX2D)$libdir/postgis-2.3t9O  ZAbox Ai[p@LWGEOM_to_BOX)$libdir/postgis-2.3t8O  YAbox3d Ai"@p@!LWGEOM_to_BOX3D)$libdir/postgis-2.3t7O  XAbox2d Ai&@p@!LWGEOM_to_BOX2D)$libdir/postgis-2.3t6O WApostgis_full_version M0Bi`J DECLARE libver text; svnproj!geos ,fcgal gd  libxm lwgeomdbprocrel ful @rast _lib_ scBr topo jxson < @BEGIN SELECT postgis:sion() INTO ^;+Z ,n-x --libc 0 ; jd alj; EXCEPTIO9WHEN undefined_function THE:= NULL;RAISE NOTI`CE 'F3}not found@. Is er support enabled and rtC.sql installed?'ND &; <  @scripts_z J%<OE7SI # IU'missing'V7F/Q3/67xm\F1FC1releas0D61elect=1v>C/"A4logy.<IgOR invalid_schema_nameJ?IDEBUG?H 8VIs?W?Vinsufficient_pri`vileg;T kcanbeH pectecurrent user granted USAGE on ( "" OTHERS(could!.be c: % (%)', SQLERRM STATE5M`AbUdJSONe Eh--> HDBPROCGIA7REL85 :/M?)corecs from4 need upgrade;$rzKTOPOLOGYr G? R ZRASTER ETxlib N!AND /7u O/?0  Q; SRETURN]; END t5O VApostgis_lib_build_date ?i`/postgis_lib_build_date)$libdir/postgis-2.3t4O UApostgis_scripts_build_date Bi`]SELECT '2021-09-02 18:31:42'::text AS versiont3O TApostgis_libxml_version ?i`/postgis_libxml_version)$libdir/postgis-2.3t2O SApostgis_svn_version ?i`)postgis_svn_version)$libdir/postgis-2.3t1O RApostgis_geos_version ?i`+postgis_geos_version)$libdir/postgis-2.3t0O QApostgis_scripts_released ?i`3postgis_scripts_released)$libdir/postgis-2.3t/O PApostgis_lib_version ?i`)postgis_lib_version)$libdir/postgis-2.3  (HؚxЙ `8``ȏTH~fJ  Є PtP Ast_pointonsurface ?i@p@pointonsurface)$libdir/postgis-2.3tvP Ast_isvaliddetail zDiA@isvaliddetail)$libdir/postgis-2.3tuP Ast_isvaliddetail zDiAp@isvaliddetail)$libdir/postgis-2.3tsP Ast_isvalidreason zDip@isvalidreason)$libdir/postgis-2.3trP Ast_simplifypreservetopology ?i@@3topologypreservesimplify)$libdir/postgis-2.3tqP 'Ast_linecrossingdirection Bi@@[$geom1$geom2 SELECT CASE WHEN NOT $1 OPERATOR(public.&&) $2 THEN 0 ELSE public._ST_LineCrossingDirection($1,$2) END tpP 'A_st_linecrossingdirection Bi@@[$geom1$geom23ST_LineCrossingDirection)$libdir/postgis-2.3toP Ast_convexhull ?i@p@convexhull)$libdir/postgis-2.3tnP 'Ast_generatepoints ?i@@S area,npoints%ST_GeneratePoints)$libdir/postgis-2.3tmP gAst_offsetcurve ?i@@k line0distance(paramsh({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 108736 :constvalue 4 [ 16 0 0 0 ]})ST_OffsetCurve)$libdir/postgis-2.3tlP gAst_minimumboundingcircle ?i@@s4inputgeomPsegs_per_quarterx({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 108470 :constvalue 4 [ 48 0 0 0 0 0 0 0 ]})3ST_MinimumBoundingCircle)$libdir/postgis-2.3tkP ?Ast_minimumboundingradius ?ip@C@@1iooc(center(radius3ST_MinimumBoundingRadius)$libdir/postgis-2.3tjP Ast_buffer Bi@@ SELECT public._ST_Buffer($1, $2, CAST( regexp_replace($3, '^[0123456789]+$', 'quad_segs='||$3) AS cstring) ) tiP Ast_buffer Bi@@ SELECT public._ST_Buffer($1, $2, CAST('quad_segs='||CAST($3 AS text) as cstring)) thP A_st_buffer ?i@@buffer)$libdir/postgis-2.3tgP Ast_buffer ?i@@buffer)$libdir/postgis-2.3tfP 'Ast_intersection ?i@@@[$geom1$geom2intersection)$libdir/postgis-2.3teP Ast_isvalidtrajectory ?ip@+ST_IsValidTrajectory)$libdir/postgis-2.3tdP  Ast_cpawithin ?i@@ST_CPAWithin)$libdir/postgis-2.3tcP  Ast_distancecpa ?i@@ST_DistanceCPA)$libdir/postgis-2.3tbP  Ast_closestpointofapproach ?i@@5ST_ClosestPointOfApproach)$libdir/postgis-2.3taP  Ast_addmeasure ?i@@ST_AddMeasure)$libdir/postgis-2.3t`P  Ast_locate_along_measure Bi@@o SELECT public.ST_locate_between_measures($1, $2, $2) t_P Ast_locate_between_measures ?i@@1LWGEOM_locate_between_m)$libdir/postgis-2.3t^P 'Ast_line_locate_point Bi@@[$geom1$geom2< SELECT public._postgis_deprecate('ST_Line_Locate_Point', 'ST_LineLocatePoint', '2.1.0'); SELECT public.ST_LineLocatePoint($1, $2); t]P '~Ast_linelocatepoint ?i@@[$geom1$geom23LWGEOM_line_locate_point)$libdir/postgis-2.3t\P }Ast_line_substring Bi@@0 SELECT public._postgis_deprecate('ST_Line_Substring', 'ST_LineSubstring', '2.1.0'); SELECT public.ST_LineSubstring($1, $2, $3); t[P |Ast_linesubstring ?i@@-LWGEOM_line_substring)$libdir/postgis-2.3tZP {Ast_line_interpolate_point Bi@@t SELECT public._postgis_deprecate('ST_Line_Interpolate_Point', 'ST_LineInterpolatePoint', '2.1.0'); SELECT public.ST_LineInterpolatePoint($1, $2); tYP zAst_lineinterpolatepoint ?i@@=LWGEOM_line_interpolate_point)$libdir/postgis-2.3tXP yAst_segmentize ?i@@)LWGEOM_segmentize2d)$libdir/postgis-2.3x   ؞J(```hX|`4 (((Xp tQ gAst_voronoipolygons ?i@@@{g14tolerance4extend_to({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 121054 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1} {CONST :consttype 16391 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 121086 :constvalue <>})y SELECT public._ST_Voronoi(g1, extend_to, tolerance, true) tQ gA_st_voronoi ?i@@@g1 clip4toleranceLreturn_polygons\ ({CONST :consttype 16391 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 120753 :constvalue <>} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 120784 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 120821 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})ST_Voronoi)$libdir/postgis-2.3tQ gAst_delaunaytriangles ?i@@sg14tolerance$flags8({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 119612 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 119636 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})+ST_DelaunayTriangles)$libdir/postgis-2.3tQ 'Ast_node ?i@p@;gST_Node)$libdir/postgis-2.3tQ Ast_relatematch BiST_RelateMatch)$libdir/postgis-2.3tQ 'Ast_snap ?i@@@c$geom1$geom2ST_Snap)$libdir/postgis-2.3tQ 'Ast_sharedpaths ?i@@@[$geom1$geom2ST_SharedPaths)$libdir/postgis-2.3tQ 'Ast_split ?i@@@[$geom1$geom2ST_Split)$libdir/postgis-2.3tQ Ast_cleangeometry ?i@p@#ST_CleanGeometry)$libdir/postgis-2.3tQ Ast_makevalid ?i@p@ST_MakeValid)$libdir/postgis-2.3tQ gAst_subdivide BzDi@@[ geom<maxverticest({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 114303 :constvalue 4 [ 0 1 0 0 0 0 0 0 ]})ST_Subdivide)$libdir/postgis-2.3tQ  'Ast_clipbybox2d HBi@@&@K geomboxST_ClipByBox2d)$libdir/postgis-2.3tQ  gAst_removerepeatedpoints ?i@@[ geom4tolerance({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 113766 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1})1ST_RemoveRepeatedPoints)$libdir/postgis-2.3tQ  Ast_unaryunion ?i@p@ST_UnaryUnion)$libdir/postgis-2.3tQ  'Ast_union ?i@@@[$geom1$geom2geomunion)$libdir/postgis-2.3tQ  'Ast_symmetricdifference ?i@@@[$geom1$geom2symdifference)$libdir/postgis-2.3t~Q 'Ast_symdifference ?i@@@[$geom1$geom2symdifference)$libdir/postgis-2.3t}Q Ast_points ?i@p@ST_Points)$libdir/postgis-2.3t|Q Ast_boundary ?i@p@boundary)$libdir/postgis-2.3t{Q 'Ast_difference Bi@@@[$geom1$geom2difference)$libdir/postgis-2.3tzQ 'Ast_hausdorffdistance Bi@@c$geom1$geom23hausdorffdistancedensify)$libdir/postgis-2.3tyQ 'Ast_hausdorffdistance Bi@@[$geom1$geom2%hausdorffdistance)$libdir/postgis-2.3txQ Ast_isvalid Bi@_SELECT (public.ST_isValidDetail($1, $2)).validtwQ Ast_isvalidreason Bi@ SELECT CASE WHEN valid THEN 'Valid Geometry' ELSE reason END FROM ( SELECT (public.ST_isValidDetail($1, $2)).* ) foo HH  @h8Rh8RpȖpȕp8p葒(@hЋ(ppp(pppxp@pHHtR" 'Ast_relate ?i@@[$geom1$geom2relate_full)$libdir/postgis-2.3tR! 'Ast_clusterkmeans ?v@K geomk#ST_ClusterKMeans)$libdir/postgis-2.3tR  Ast_makeline ?i@p@!aggregate_dummytR Ast_polygonize ?i@p@!aggregate_dummytR Ast_clusterwithin ?i@@!aggregate_dummytR Ast_clusterintersecting ?i@p@!aggregate_dummytR Ast_collect ?i@p@!aggregate_dummytR Ast_union ?i@p@!aggregate_dummytR Ast_union ?i@p@5pgis_union_geometry_array)$libdir/postgis-2.3tR Ast_accum ?i@p@!aggregate_dummytR Apgis_geometry_makeline_finalfn ?v@pA?pgis_geometry_makeline_finalfn)$libdir/postgis-2.3tR Apgis_geometry_clusterwithin_finalfn ?v@pAIpgis_geometry_clusterwithin_finalfn)$libdir/postgis-2.3tR Apgis_geometry_clusterintersecting_finalfn ?v@pAUpgis_geometry_clusterintersecting_finalfn)$libdir/postgis-2.3tR Apgis_geometry_polygonize_finalfn ?v@pACpgis_geometry_polygonize_finalfn)$libdir/postgis-2.3tR Apgis_geometry_collect_finalfn ?v@pA=pgis_geometry_collect_finalfn)$libdir/postgis-2.3tR Apgis_geometry_union_finalfn ?v@pA9pgis_geometry_union_finalfn)$libdir/postgis-2.3tR Apgis_geometry_accum_finalfn ?v@pA9pgis_geometry_accum_finalfn)$libdir/postgis-2.3tR Apgis_geometry_accum_transfn ?vAA@9pgis_geometry_accum_transfn)$libdir/postgis-2.3tR Apgis_geometry_accum_transfn ?vAA@9pgis_geometry_accum_transfn)$libdir/postgis-2.3tR Apgis_geometry_accum_transfn ?vAA@9pgis_geometry_accum_transfn)$libdir/postgis-2.3tR Apgis_abs_out ?ipApgis_abs_out)$libdir/postgis-2.3tR  Apgis_abs_in ?iAppgis_abs_in)$libdir/postgis-2.3tR  Ast_memunion ?i@p@!aggregate_dummytR  Ast_collect ?i@p@-LWGEOM_collect_garray)$libdir/postgis-2.3tR  Ast_memcollect ?i@p@!aggregate_dummytR  'Ast_collect ?i@@@[$geom1$geom2LWGEOM_collect)$libdir/postgis-2.3tR Ast_3dextent ?i"@p@!aggregate_dummytR Ast_extent ?i&@p@!aggregate_dummytR Ast_combine_bbox Bi&@&@@ SELECT public._postgis_deprecate('ST_Combine_BBox', 'ST_CombineBbox', '2.2.0'); SELECT public.ST_CombineBbox($1,$2); tR Ast_combinebbox ?i&@&@@BOX2D_combine)$libdir/postgis-2.3tR Ast_combine_bbox Bi"@"@@ SELECT public._postgis_deprecate('ST_Combine_BBox', 'ST_CombineBbox', '2.2.0'); SELECT public.ST_CombineBbox($1,$2); tR Ast_combinebbox ?i"@"@"@)BOX3D_combine_BOX3D)$libdir/postgis-2.3tR Ast_combinebbox ?i"@"@@BOX3D_combine)$libdir/postgis-2.3tR gAst_voronoilines ?i@@@{g14tolerance4extend_to({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 121343 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1} {CONST :consttype 16391 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 121375 :constvalue <>}){ SELECT public._ST_Voronoi(g1, extend_to, tolerance, false)   0hpP6X@0H00808 , @0Ї28`tS Ast_isring ?ip@isring)$libdir/postgis-2.3tS gAst_geometricmedian ?i@@g4tolerance0max_iterdfail_if_not_converged({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 134632 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 134659 :constvalue 4 [ 16 39 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 134704 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})'ST_GeometricMedian)$libdir/postgis-2.3tS Ast_centroid ?i@p@centroid)$libdir/postgis-2.3tS Ast_minimumclearanceline ?i@p@1ST_MinimumClearanceLine)$libdir/postgis-2.3tS Ast_minimumclearance ?ip@)ST_MinimumClearance)$libdir/postgis-2.3tS Ast_isvalid zDip@isvalid)$libdir/postgis-2.3tS 'Ast_overlaps Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.&&) $2 AND public._ST_Overlaps($1,$2)tS 'Ast_within Bi@@[$geom1$geom2SELECT $2 OPERATOR(public.~) $1 AND public._ST_Contains($2,$1)tS 'A_st_within Bi@@[$geom1$geom2ESELECT public._ST_Contains($2,$1)tS 'A_st_overlaps Bi@@[$geom1$geom2overlaps)$libdir/postgis-2.3tS 'Ast_containsproperly Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.~) $2 AND public._ST_ContainsProperly($1,$2)tS 'A_st_containsproperly Bi@@[$geom1$geom2#containsproperly)$libdir/postgis-2.3tS 'Ast_covers Bi@@[$geom1$geom2{SELECT $1 OPERATOR(public.~) $2 AND public._ST_Covers($1,$2)tS 'A_st_covers Bi@@[$geom1$geom2covers)$libdir/postgis-2.3tS 'Ast_coveredby Bi@@[$geom1$geom2_SELECT $1 @ $2 AND public._ST_CoveredBy($1,$2)tS 'A_st_coveredby Bi@@[$geom1$geom2coveredby)$libdir/postgis-2.3tS  'Ast_contains Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.~) $2 AND public._ST_Contains($1,$2)tS  'A_st_contains Bi@@[$geom1$geom2contains)$libdir/postgis-2.3tS  'Ast_crosses Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.&&) $2 AND public._ST_Crosses($1,$2)tS  'A_st_crosses Bi@@[$geom1$geom2crosses)$libdir/postgis-2.3tS  'Ast_intersects Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.&&) $2 AND public._ST_Intersects($1,$2)tS 'A_st_intersects Bi@@[$geom1$geom2intersects)$libdir/postgis-2.3tS 'Ast_dwithin Bi@@c$geom1$geom2<SELECT $1 OPERATOR(public.&&) public.ST_Expand($2,$3) AND $2 OPERATOR(public.&&) public.ST_Expand($1,$3) AND public._ST_DWithin($1, $2, $3)tS 'A_st_dwithin Bi@@c$geom1$geom2LWGEOM_dwithin)$libdir/postgis-2.3tS 'Ast_touches Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.&&) $2 AND public._ST_Touches($1,$2)tS 'A_st_touches Bi@@[$geom1$geom2touches)$libdir/postgis-2.3tS 'Ast_disjoint ?i@@[$geom1$geom2disjoint)$libdir/postgis-2.3tS 'Ast_relate ?i@@c$geom1$geom2relate_pattern)$libdir/postgis-2.3tS 'Ast_relate ?i@@c$geom1$geom2relate_full)$libdir/postgis-2.3vtP  8hpX.` Phȑ4@*ЇzPtT g Bst_asgeojson zDi@{ geomPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 142270 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 142295 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})#LWGEOM_asGeoJson)$libdir/postgis-2.3tT g Bst_askml Bi@,version geomPmaxdecimaldigits,nprefix({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 141740 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 141765 :constvalue <>}) SELECT public._ST_AsKML($1, public.ST_Transform($2,4326), $3, $4); tT gBst_askml Bi@c geomPmaxdecimaldigitsx({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 141380 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]}) SELECT public._ST_AsKML(2, ST_Transform($1,4326), $2, null); tT B_st_askml @Ei@LWGEOM_asKML)$libdir/postgis-2.3tT gBst_asgml Bi@,version geomPmaxdecimaldigits,options,nprefixid ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 140673 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 140698 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 140722 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 140744 :constvalue <>})g SELECT public._ST_AsGML($1, $2, $3, $4, $5, $6); tT gBst_asgml Bi@{ geomPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 140162 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 140187 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})m SELECT public._ST_AsGML(2, $1, $2, $3, null, null); tT B_st_asgml @Ei@LWGEOM_asGML)$libdir/postgis-2.3tT gBst_assvg zDi@s geomrelPmaxdecimaldigits({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 139319 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 139351 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]})LWGEOM_asSVG)$libdir/postgis-2.3tT gBst_asencodedpolyline ?i@C geomt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 138815 :constvalue 4 [ 5 0 0 0 0 0 0 0 ]})3LWGEOM_asEncodedPolyline)$libdir/postgis-2.3tT GBst_linefromencodedpolyline ?i@t({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 138307 :constvalue 4 [ 5 0 0 0 0 0 0 0 ]})7line_from_encoded_polyline)$libdir/postgis-2.3tT  Bpostgis_libjson_version ?i`1postgis_libjson_version)$libdir/postgis-2.3tT  Ast_geomfromgeojson ?i@p%geom_from_geojson)$libdir/postgis-2.3tT  Ast_geomfromkml ?i@pgeom_from_kml)$libdir/postgis-2.3tT  Ast_gmltosql ?i@geom_from_gml)$libdir/postgis-2.3tT  Ast_gmltosql Bi@pKSELECT public._ST_GeomFromGML($1, 0)tT Ast_geomfromgml Bi@pKSELECT public._ST_GeomFromGML($1, 0)tT Ast_geomfromgml ?i@geom_from_gml)$libdir/postgis-2.3tT A_st_geomfromgml ?i@geom_from_gml)$libdir/postgis-2.3tT 'Aequals ?i@@[$geom1$geom2ST_Equals)$libdir/postgis-2.3tT 'Ast_equals Bi@@[$geom1$geom2}SELECT $1 OPERATOR(public.~=) $2 AND public._ST_Equals($1,$2)tT 'A_st_equals Bi@@[$geom1$geom2ST_Equals)$libdir/postgis-2.3tT Ast_iscollection @ip@!ST_IsCollection)$libdir/postgis-2.3tT Ast_issimple Aip@issimple)$libdir/postgis-2.3  x( Е@hȏ @DL8hȆ(X؁tU )Bst_wkttosql ?i@p#LWGEOM_from_text)$libdir/postgis-2.3tU (Bst_geomfromtext ?i@#LWGEOM_from_text)$libdir/postgis-2.3tU 'Bst_geomfromtext ?i@p#LWGEOM_from_text)$libdir/postgis-2.3tU &Bst_geometryfromtext ?i@#LWGEOM_from_text)$libdir/postgis-2.3tU %Bst_geometryfromtext ?i@p#LWGEOM_from_text)$libdir/postgis-2.3tU $Bst_astext ;Dip@LWGEOM_asText)$libdir/postgis-2.3tU #Bst_asbinary Aip@!LWGEOM_asBinary)$libdir/postgis-2.3tU "Bst_asbinary Ai@!LWGEOM_asBinary)$libdir/postgis-2.3tU !Bst_isempty Aip@LWGEOM_isempty)$libdir/postgis-2.3tU  Bst_isclosed Aip@!LWGEOM_isclosed)$libdir/postgis-2.3tU Bst_endpoint ?i@p@7LWGEOM_endpoint_linestring)$libdir/postgis-2.3tU Bst_startpoint ?i@p@;LWGEOM_startpoint_linestring)$libdir/postgis-2.3tU Bst_patchn Bi@@ SELECT CASE WHEN public.ST_GeometryType($1) = 'ST_PolyhedralSurface' THEN public.ST_GeometryN($1, $2) ELSE NULL END tU Bst_numpatches Bip@ SELECT CASE WHEN public.ST_GeometryType($1) = 'ST_PolyhedralSurface' THEN public.ST_NumGeometries($1) ELSE NULL END tU Bst_pointn ?i@@3LWGEOM_pointn_linestring)$libdir/postgis-2.3tU Bst_geometrytype Aip@-geometry_geometrytype)$libdir/postgis-2.3tU Bgeometrytype Aip@LWGEOM_getTYPE)$libdir/postgis-2.3tU Bst_interiorringn ?i@@;LWGEOM_interiorringn_polygon)$libdir/postgis-2.3tU  Bst_numinteriorring ?ip@ALWGEOM_numinteriorrings_polygon)$libdir/postgis-2.3tU  Bst_numinteriorrings ?ip@ALWGEOM_numinteriorrings_polygon)$libdir/postgis-2.3tU  Bst_exteriorring ?i@p@9LWGEOM_exteriorring_polygon)$libdir/postgis-2.3tU  Bst_dimension Aip@#LWGEOM_dimension)$libdir/postgis-2.3tU  Bst_geometryn ?i@@9LWGEOM_geometryn_collection)$libdir/postgis-2.3tU Bst_numgeometries ?ip@ALWGEOM_numgeometries_collection)$libdir/postgis-2.3tU Bst_numpoints ?ip@9LWGEOM_numpoints_linestring)$libdir/postgis-2.3tU GBst_geomfromgeohash Bi@$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 144162 :constvalue <>}) SELECT CAST(public.ST_Box2dFromGeoHash($1, $2) AS geometry); tU GBst_pointfromgeohash ?i@$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 143946 :constvalue <>})'point_from_geohash)$libdir/postgis-2.3tU GBst_box2dfromgeohash ?i&@$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 143731 :constvalue <>})'box2d_from_geohash)$libdir/postgis-2.3tU g Bst_geohash ?i@S geom0maxcharst({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 143336 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})ST_GeoHash)$libdir/postgis-2.3tU g Bst_asgeojson Bi@8gj_version geomPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 142858 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 142883 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) SELECT public.ST_AsGeoJson($2::public.geometry, $3::int4, $4::int4); tU  B_st_asgeojson Bi@ SELECT public.ST_AsGeoJson($2::public.geometry, $3::int4, $4::int4); X  ؞N^J@tXؘp0h蓖ؑh^؏x`bxx@ppPh(JrZxrtV Bgeography_lt ?isBsBgeography_lt)$libdir/postgis-2.3t!V EBst_linestringfromwkb Bi@4 SELECT CASE WHEN public.geometrytype(public.ST_GeomFromWKB($1, $2)) = 'LINESTRING' THEN public.ST_GeomFromWKB($1, $2) ELSE NULL END t V DBst_linefromwkb Bi@p SELECT CASE WHEN public.geometrytype(public.ST_GeomFromWKB($1)) = 'LINESTRING' THEN public.ST_GeomFromWKB($1) ELSE NULL END tV CBst_linefromwkb Bi@4 SELECT CASE WHEN public.geometrytype(public.ST_GeomFromWKB($1, $2)) = 'LINESTRING' THEN public.ST_GeomFromWKB($1, $2) ELSE NULL END tV BBst_pointfromwkb Bi@p SELECT CASE WHEN public.geometrytype(public.ST_GeomFromWKB($1)) = 'POINT' THEN public.ST_GeomFromWKB($1) ELSE NULL END tV ABst_pointfromwkb Bi@  SELECT CASE WHEN public.geometrytype(public.ST_GeomFromWKB($1, $2)) = 'POINT' THEN public.ST_GeomFromWKB($1, $2) ELSE NULL END tV @Bst_geomfromwkb Bi@qSELECT public.ST_SetSRID(public.ST_GeomFromWKB($1), $2)tV ?Bst_geomfromwkb ?i@p!LWGEOM_from_WKB)$libdir/postgis-2.3tV >Bst_geomcollfromtext Bi@p@ SELECT CASE WHEN public.geometrytype(public.ST_GeomFromText($1)) = 'GEOMETRYCOLLECTION' THEN public.ST_GeomFromText($1) ELSE NULL END tV =Bst_geomcollfromtext Bi@@ SELECT CASE WHEN geometrytype(public.ST_GeomFromText($1, $2)) = 'GEOMETRYCOLLECTION' THEN public.ST_GeomFromText($1,$2) ELSE NULL END tV  't') THEN CREATE TEMP TABLE temp_lock_have_table (transid xid, lockcode text); -- this will only work from pgsql7.4 up -- ON COMMIT DELETE ROWS; END IF; -- INSERT INTO mylock VALUES ( $1) -- EXECUTE 'INSERT INTO temp_lock_have_table VALUES ( '|| -- quote_literal(getTransactionID()) || ',' || -- quote_literal(lockid) ||')'; INSERT INTO temp_lock_have_table VALUES (getTransactionID(), lockid); RETURN true::boolean; END; tDX  hBlockrow BvZi SELECT LockRow(current_schema(), $1, $2, $3, $4); tCX gBlockrow Bv SELECT LockRow(current_schema(), $1, $2, $3, now()::timestamp+'1:00'); tBX fBlockrow Bvw SELECT LockRow($1, $2, $3, $4, now()::timestamp+'1:00'); tAX eBlockrow M0BvZ| DECLARE myschema alias for $1; mytable alias for $2; myrid alias for $3; authid alias for $4; expires alias for $5; ret int; mytoid oid; myrec RECORD; BEGIN IF NOT LongTransactionsEnabled() THEN RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; END IF; EXECUTE 'DELETE FROM authorization_table WHERE expires < now()'; SELECT c.oid INTO mytoid FROM pg_class c, pg_namespace n WHERE c.relname = mytable AND c.relnamespace = n.oid AND n.nspname = myschema; -- RAISE NOTICE 'toid: %', mytoid; FOR myrec IN SELECT * FROM authorization_table WHERE toid = mytoid AND rid = myrid LOOP IF myrec.authid != authid THEN RETURN 0; ELSE RETURN 1; END IF; END LOOP; EXECUTE 'INSERT INTO authorization_table VALUES ('|| quote_literal(mytoid::text)||','||quote_literal(myrid)|| ','||quote_literal(expires::text)|| ','||quote_literal(authid) ||')'; GET DIAGNOSTICS ret = ROW_COUNT; RETURN ret; END; t@X dBunlockrows M0Bvp DECLARE ret int; BEGIN IF NOT LongTransactionsEnabled() THEN RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; END IF; EXECUTE 'DELETE FROM authorization_table where authid = ' || quote_literal($1); GET DIAGNOSTICS ret = ROW_COUNT; RETURN ret; END; t?X cBst_bdmpolyfromtext M0Bi@ DECLARE geomtext alias for $1; srid alias for $2; mline geometry; geom geometry; BEGIN mline := public.ST_MultiLineStringFromText(geomtext, srid); IF mline IS NULL THEN RAISE EXCEPTION 'Input is not a MultiLinestring'; END IF; geom := public.ST_Multi(public.ST_BuildArea(mline)); RETURN geom; END; t>X bBst_bdpolyfromtext M0Bi@ DECLARE geomtext alias for $1; srid alias for $2; mline geometry; geom geometry; BEGIN mline := public.ST_MultiLineStringFromText(geomtext, srid); IF mline IS NULL THEN RAISE EXCEPTION 'Input is not a MultiLinestring'; END IF; geom := public.ST_BuildArea(mline); IF GeometryType(geom) != 'POLYGON' THEN RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; END IF; RETURN geom; END; t=X aBst_flipcoordinates ?i@p@'ST_FlipCoordinates)$libdir/postgis-2.3t<X '`Bst_swapordinates ?i@@K geom ords#ST_SwapOrdinates)$libdir/postgis-2.3]  `8虢@p@hȐ PЋ8Xȅ0Ppt}Y" Boverlaps_geog BisB.@ESELECT $2 OPERATOR(public.&&) $1;tyY! Boverlaps_geog ?i.@.@?gserialized_gidx_gidx_overlaps)$libdir/postgis-2.3txY  Boverlaps_geog ?i.@sB?gserialized_gidx_geog_overlaps)$libdir/postgis-2.3tvY Bgeography_gist_distance ?vsB?gserialized_gist_geog_distance)$libdir/postgis-2.3tsY Bgeography_distance_knn BisBsB/geography_distance_knn)$libdir/postgis-2.3tpY Bgeography_overlaps ?isBsB+gserialized_overlaps)$libdir/postgis-2.3toY Bgeography_gist_decompress ?vp9gserialized_gist_decompress)$libdir/postgis-2.3tnY Bgeography_gist_same ?v&@&@-gserialized_gist_same)$libdir/postgis-2.3tmY Bgeography_gist_union ?v/gserialized_gist_union)$libdir/postgis-2.3tlY Bgeography_gist_picksplit ?v7gserialized_gist_picksplit)$libdir/postgis-2.3tkY Bgeography_gist_penalty ?v3gserialized_gist_penalty)$libdir/postgis-2.3tjY Bgeography_gist_compress ?vp5gserialized_gist_compress)$libdir/postgis-2.3tiY Bgeography_gist_consistent ?vsB9gserialized_gist_consistent)$libdir/postgis-2.3tgY Bgeometry ?i@psB1geometry_from_geography)$libdir/postgis-2.3teY Bgeography ?isBp@1geography_from_geometry)$libdir/postgis-2.3tbY Bpostgis_typmod_type ?ip)postgis_typmod_type)$libdir/postgis-2.3taY Bpostgis_typmod_srid ?ip)postgis_typmod_srid)$libdir/postgis-2.3t`Y Bpostgis_typmod_dims ?ip)postgis_typmod_dims)$libdir/postgis-2.3t_Y Bst_geogfromwkb ?isBp-geography_from_binary)$libdir/postgis-2.3t^Y Bst_geogfromtext ?isBp)geography_from_text)$libdir/postgis-2.3t]Y Bst_geographyfromtext ?isBp)geography_from_text)$libdir/postgis-2.3t\Y  Bst_astext BipU SELECT ST_AsText($1::public.geometry); t[Y  Bst_astext ?ipsBLWGEOM_asText)$libdir/postgis-2.3tXY  }Bbytea ?ipsB!LWGEOM_to_bytea)$libdir/postgis-2.3tWY  |Bgeography ?isBp-geography_from_binary)$libdir/postgis-2.3tUY  zBgeography ?isBsB3geography_enforce_typmod)$libdir/postgis-2.3tSY xBgeography_analyze ?vp/gserialized_analyze_nd)$libdir/postgis-2.3tRY wBgeography_send ?ipsBgeography_send)$libdir/postgis-2.3tQY vBgeography_recv ?isBgeography_recv)$libdir/postgis-2.3tPY uBgeography_out ?ipsBgeography_out)$libdir/postgis-2.3tOY tBgeography_in ?isBgeography_in)$libdir/postgis-2.3tNY rBgeography_typmod_out ?ip'postgis_typmod_out)$libdir/postgis-2.3tMY qBgeography_typmod_in ?ip)geography_typmod_in)$libdir/postgis-2.3tLY pBdisablelongtransactions M0Bv` DECLARE rec RECORD; BEGIN -- -- Drop all triggers applied by CheckAuth() -- FOR rec IN SELECT c.relname, t.tgname, t.tgargs FROM pg_trigger t, pg_class c, pg_proc p WHERE p.proname = 'checkauthtrigger' and t.tgfoid = p.oid and t.tgrelid = c.oid LOOP EXECUTE 'DROP TRIGGER ' || quote_ident(rec.tgname) || ' ON ' || quote_ident(rec.relname); END LOOP; -- -- Drop the authorization_table table -- FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' LOOP DROP TABLE authorization_table; END LOOP; -- -- Drop the authorized_tables view -- FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' LOOP DROP VIEW authorized_tables; END LOOP; RETURN 'Long transactions support disabled'; END; yt0  0`И( xN@`x Ѓ0tZ Bst_distance BisBsB]SELECT public._ST_Distance($1, $2, 0.0, true)tZ Bst_distance BisBsBYSELECT public._ST_Distance($1, $2, 0.0, $3)tZ B_st_dwithin BisBsB%geography_dwithin)$libdir/postgis-2.3tZ B_st_distance BisBsB'geography_distance)$libdir/postgis-2.3tZ gBst_asgeojson BisB8gj_version geogPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 193378 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 193403 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})_ SELECT public._ST_AsGeoJson($1, $2, $3, $4); tZ gBst_asgeojson BisB{ geogPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 193035 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 193060 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})] SELECT public._ST_AsGeoJson(1, $1, $2, $3); tZ Bst_asgeojson Bip{ SELECT public._ST_AsGeoJson(1, $1::public.geometry,15,0); tZ B_st_asgeojson ?isB+geography_as_geojson)$libdir/postgis-2.3tZ gBst_askml BisB,version geogPmaxdecimaldigits,nprefix({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 192224 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 192249 :constvalue <>})QSELECT public._ST_AsKML($1, $2, $3, $4)tZ Bst_askml Bip} SELECT public._ST_AsKML(2, $1::public.geometry, 15, null); tZ  gBst_askml BisBc geogPmaxdecimaldigitsx({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 191591 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]})SSELECT public._ST_AsKML(2, $1, $2, null)tZ  B_st_askml ?isB#geography_as_kml)$libdir/postgis-2.3tZ  gBst_asgml BisB,version geogPmaxdecimaldigits,options,nprefixid ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 191019 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 191044 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 191068 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 191090 :constvalue <>})e SELECT public._ST_AsGML($1, $2, $3, $4, $5, $6);tZ  gBst_asgml BisB{ geogPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 190603 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 190628 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})gSELECT public._ST_AsGML(2, $1, $2, $3, null, null)tZ  Bst_asgml Bip SELECT public._ST_AsGML(2,$1::public.geometry,15,0, NULL, NULL); tZ B_st_asgml ?isB#geography_as_gml)$libdir/postgis-2.3tZ Bst_assvg Bip] SELECT ST_AsSVG($1::public.geometry,0,15); tZ gBst_assvg ?isBs geogrelPmaxdecimaldigits({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 189449 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 189481 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]})#geography_as_svg)$libdir/postgis-2.3tZ Bgeography_cmp ?isBsBgeography_cmp)$libdir/postgis-2.3tZ Bgeography_eq ?isBsBgeography_eq)$libdir/postgis-2.3tZ Bgeography_ge ?isBsBgeography_ge)$libdir/postgis-2.3tZ Bgeography_gt ?isBsBgeography_gt)$libdir/postgis-2.3tZ Bgeography_le ?isBsBgeography_le)$libdir/postgis-2.3 8  8蜒ؘ0HX8<XBȇ؆؄Ѓ8t[ B_st_bestsrid BipsBESELECT public._ST_BestSRID($1,$1)t[ B_st_bestsrid ?isBsB'geography_bestsrid)$libdir/postgis-2.3t[ Bst_intersects Bi SELECT ST_Intersects($1::public.geometry, $2::public.geometry); t[ Bst_intersects BisBsBSELECT $1 OPERATOR(public.&&) $2 AND public._ST_Distance($1, $2, 0.0, false) < 0.00001t[ 'Bst_segmentize BisBsBk geogXmax_segment_length+geography_segmentize)$libdir/postgis-2.3t[ Bst_coveredby Bi SELECT ST_CoveredBy($1::public.geometry, $2::public.geometry); t[ Bst_coveredby BisBsBSELECT $1 OPERATOR(public.&&) $2 AND public._ST_Covers($2, $1)t[ Bst_covers Bi SELECT ST_Covers($1::public.geometry, $2::public.geometry); t[ Bst_covers BisBsBSELECT $1 OPERATOR(public.&&) $2 AND public._ST_Covers($1, $2)t[ B_st_covers BisBsB#geography_covers)$libdir/postgis-2.3t[ B_st_pointoutside ?isBpsB1geography_point_outside)$libdir/postgis-2.3t[ gBst_perimeter BisB[ geog@use_spheroidt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 200133 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}))geography_perimeter)$libdir/postgis-2.3t[ 'Bst_azimuth BisBsB[$geog1$geog2%geography_azimuth)$libdir/postgis-2.3t[ 'Bst_project BisBsBk geog0distance,azimuth%geography_project)$libdir/postgis-2.3t[ Bst_length BipU SELECT ST_Length($1::public.geometry); t[ gBst_length BisB[ geog@use_spheroidt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 199243 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})#geography_length)$libdir/postgis-2.3t[ Bst_area BipQ SELECT ST_Area($1::public.geometry); t[  gBst_area BisB[ geog@use_spheroidt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 198775 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})geography_area)$libdir/postgis-2.3t[  B_st_dwithinuncached BisBsB|SELECT $1 OPERATOR(public.&&) public._ST_Expand($2,$3) AND $2 OPERATOR(public.&&) public._ST_Expand($1,$3) AND public._ST_DWithinUnCached($1, $2, $3, true)t[  B_st_dwithinuncached BisBsB7geography_dwithin_uncached)$libdir/postgis-2.3t[  B_st_distancetree BisBsBeSELECT public._ST_DistanceTree($1, $2, 0.0, true)t[  B_st_distancetree BisBsB1geography_distance_tree)$libdir/postgis-2.3t[ B_st_distanceuncached BisBsBmSELECT public._ST_DistanceUnCached($1, $2, 0.0, true)t[ B_st_distanceuncached BisBsBiSELECT public._ST_DistanceUnCached($1, $2, 0.0, $3)t[ B_st_distanceuncached BisBsB9geography_distance_uncached)$libdir/postgis-2.3t[ Bst_dwithin Bi SELECT ST_DWithin($1::public.geometry, $2::public.geometry, $3); t[ Bst_dwithin BisBsB\SELECT $1 OPERATOR(public.&&) public._ST_Expand($2,$3) AND $2 OPERATOR(public.&&) public._ST_Expand($1,$3) AND public._ST_DWithin($1, $2, $3, true)t[ Bst_dwithin BisBsBTSELECT $1 OPERATOR(public.&&) public._ST_Expand($2,$3) AND $2 OPERATOR(public.&&) public._ST_Expand($1,$3) AND public._ST_DWithin($1, $2, $3, $4)t[ B_st_expand HBisBsB#geography_expand)$libdir/postgis-2.3t[ Bst_distance Bi SELECT ST_Distance($1::public.geometry, $2::public.geometry); t  *ȝ::țؖ @p( TЇj `t\ 'Cpostgis_constraint_type Bs8geomschema4geomtable8geomcolumn SELECT replace(split_part(s.consrc, '''', 2), ')', '')::varchar FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%geometrytype(% = %'; t\ 'Cpostgis_constraint_dims Bs8geomschema4geomtable8geomcolumn SELECT replace(split_part(s.consrc, ' = ', 2), ')', '')::integer FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%ndims(% = %'; t\ 'Cpostgis_constraint_srid Bs8geomschema4geomtable8geomcolumn SELECT replace(replace(split_part(s.consrc, ' = ', 2), ')', ''), '(', '')::integer FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%srid(% = %'; t\ gCpostgis_type_name HCi0geomnameLcoord_dimension@use_new_namet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 207711 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})v SELECT CASE WHEN $3 Tnew_name ELSE oldND As geom FROM ( VALUES ('GEOMETRY', 'Geometry', 2) ," #Z', 3A$M', 4% " #COLION -Collection~5677 m8POINT+Poi0nt',M'b,M',m 5Z M',mMULTI"'Multiv# d$% I POLYG,Polyg   '?&(  *SLINESTRING.LineString. /0_ ,$ K CIRCULAR+Circular, - . [ OMPOUND CURVE.ompoundCurve * + , W %($?^( )* S ?^"N +%&7GDM'(SURFAC*Surfacej) k *+kU nLYHE0DRAL1ohedral[2^? 3V 4ng+TR IANGL,Triangl   !" C I"Ti9[.)(,, coord_dimension.WHERE (upper4) = $1)x OR I sAND ] = $2; t\ 'Cst_distance_sphere Ci@@[$geom1$geom2$ SELECT public._postgis_deprecate('ST_Distance_Sphere', 'ST_DistanceSphere', '2.2.0'); SELECT public.ST_DistanceSphere($1,$2); t\ 'Cst_distancesphere Ci@@[$geom1$geom2 select public.ST_distance( public.geography($1), public.geography($2),false) t\ ' Cst_setsrid ?isBsBK geog srid!LWGEOM_set_srid)$libdir/postgis-2.3t\ ' Cst_srid ?ipsB; geog!LWGEOM_get_srid)$libdir/postgis-2.3t\ g Cst_geohash ?isBS geog0maxcharst({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 206040 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})ST_GeoHash)$libdir/postgis-2.3t\  Cst_summary ?ipsBLWGEOM_summary)$libdir/postgis-2.3t\   Cgeometrytype ?ipsBLWGEOM_getTYPE)$libdir/postgis-2.3t\  Cst_asewkt Bipc SELECT public.ST_AsEWKT($1::public.geometry); t\  Cst_asewkt ?ipsBLWGEOM_asEWKT)$libdir/postgis-2.3t\  Cst_asbinary BisBo SELECT public.ST_AsBinary($1::public.geometry, $2); t\  Cst_asbinary ?ipsB!LWGEOM_asBinary)$libdir/postgis-2.3t\ Cst_intersection Bi@ SELECT public.ST_Intersection($1::public.geometry, $2::public.geometry); t\ Cst_intersection BisBsBsBSELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), public._ST_BestSRID($1, $2)), ST_Transform(geometry($2), public._ST_BestSRID($1, $2))), 4326))t\ Cst_buffer Bi@e SELECT ST_Buffer($1::public.geometry, $2, $3); t\ Cst_buffer Bi@e SELECT ST_Buffer($1::public.geometry, $2, $3); t\ Cst_buffer Bi@] SELECT ST_Buffer($1::public.geometry, $2); t\ Bst_buffer BisBsBSELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), public._ST_BestSRID($1)), $2, $3), 4326))t\ Bst_buffer BisBsBSELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), public._ST_BestSRID($1)), $2, $3), 4326))t\ Bst_buffer BisBsBSELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), public._ST_BestSRID($1)), $2), 4326))މ   hXؕؔ<Ȓ(8@8X0HXxHxt] 7Coverlaps_2d ?i*@@Igserialized_overlaps_box2df_geom_2d)$libdir/postgis-2.3t] 6Cis_contained_2d ?i*@@Egserialized_within_box2df_geom_2d)$libdir/postgis-2.3t] 5Ccontains_2d ?i*@@Igserialized_contains_box2df_geom_2d)$libdir/postgis-2.3t] '4Cst_interpolatepoint ?i@@S line$point)ST_InterpolatePoint)$libdir/postgis-2.3t] '3Cst_locatebetweenelevations ?i@@0geometryDfromelevation<toelevation7ST_LocateBetweenElevations)$libdir/postgis-2.3t] g2Cst_locatealong ?i@@0geometry,measureLleftrightoffset({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 220840 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1})ST_LocateAlong)$libdir/postgis-2.3t] g1Cst_locatebetween ?i@@0geometry<frommeasure4tomeasureLleftrightoffset({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 220606 :constvalue 6 [ 24 0 0 0 -128 -128 ]}) :location -1})#ST_LocateBetween)$libdir/postgis-2.3t] '0Cst_wkbtosql ?i@p;wkb!LWGEOM_from_WKB)$libdir/postgis-2.3t] /Cst_polygon Bi@@y SELECT public.ST_SetSRID(public.ST_MakePolygon($1), $2) t] .Cst_point ?i@#LWGEOM_makepoint)$libdir/postgis-2.3t] '-Cst_orderingequals Bi@@k4geometrya4geometryb SELECT $1 OPERATOR(public.~=) $2 AND public._ST_OrderingEquals($1, $2) t] ',C_st_orderingequals Bi@@k4geometrya4geometrybLWGEOM_same)$libdir/postgis-2.3t] '+Cst_linetocurve ?i@p@C0geometry3LWGEOM_line_desegmentize)$libdir/postgis-2.3t] '*Cst_hasarc ?ip@C0geometryLWGEOM_has_arc)$libdir/postgis-2.3t] )Cst_curvetoline Bi@p@=SELECT ST_CurveToLine($1, 32)t]  (Cst_curvetoline ?i@@1LWGEOM_curve_segmentize)$libdir/postgis-2.3t]  ''Cst_coorddim @ip@C0geometryLWGEOM_ndims)$libdir/postgis-2.3t]  '&Cst_3dintersects Bi@@[$geom1$geom2SELECT $1 OPERATOR(public.&&) $2 AND public._ST_3DIntersects($1, $2)t]  '%C_st_3dintersects Bi@@[$geom1$geom2intersects3d)$libdir/postgis-2.3t]  '$Cst_3ddfullywithin Bi@@c$geom1$geom2XSELECT $1 OPERATOR(public.&&) public.ST_Expand($2,$3) AND $2 OPERATOR(public.&&) public.ST_Expand($1,$3) AND public._ST_3DDFullyWithin($1, $2, $3)t] '#C_st_3ddfullywithin Bi@@c$geom1$geom2-LWGEOM_dfullywithin3d)$libdir/postgis-2.3t] '"Cst_3ddwithin Bi@@c$geom1$geom2DSELECT $1 OPERATOR(public.&&) public.ST_Expand($2,$3) AND $2 OPERATOR(public.&&) public.ST_Expand($1,$3) AND public._ST_3DDWithin($1, $2, $3)t] '!C_st_3ddwithin Bi@@c$geom1$geom2#LWGEOM_dwithin3d)$libdir/postgis-2.3t] ' Cst_3dlongestline ?i@@@[$geom1$geom2+LWGEOM_longestline3d)$libdir/postgis-2.3t] 'Cst_3dshortestline ?i@@@[$geom1$geom2-LWGEOM_shortestline3d)$libdir/postgis-2.3t] 'Cst_3dclosestpoint ?i@@@[$geom1$geom2-LWGEOM_closestpoint3d)$libdir/postgis-2.3t] 'Cst_3dmaxdistance Bi@@[$geom1$geom2+LWGEOM_maxdistance3d)$libdir/postgis-2.3t] 'Cst_3ddistance Bi@@[$geom1$geom2distance3d)$libdir/postgis-2.3^  0HxؚH`xH f`ȉHxЄ@pȀt^ Cst_numbands ?ip{C'RASTER_getNumBands-$libdir/rtpostgis-2.3t^ Cst_height ?ip{C#RASTER_getHeight-$libdir/rtpostgis-2.3t^ Cbox3d Bi"@p{CQselect box3d( public.ST_convexhull($1))t^ gCst_minconvexhull ?i@{CS rast$nband$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 318913 :constvalue <>})'RASTER_convex_hull-$libdir/rtpostgis-2.3t^ Cst_convexhull Ci@p{C'RASTER_convex_hull-$libdir/rtpostgis-2.3t^ Cst_envelope ?i@p{C!RASTER_envelope-$libdir/rtpostgis-2.3t^ Cpostgis_gdal_version ?i`)RASTER_gdal_version-$libdir/rtpostgis-2.3t^ Cpostgis_raster_lib_build_date ?i`-RASTER_lib_build_date-$libdir/rtpostgis-2.3t^ Cpostgis_raster_scripts_installed Bi`s SELECT '2.3.2'::text || ' r' || 15302::text AS version t^ Cpostgis_raster_lib_version ?i`'RASTER_lib_version-$libdir/rtpostgis-2.3t^ }Craster_out ?ip{CRASTER_out-$libdir/rtpostgis-2.3t^ |Craster_in ?i{CpRASTER_in-$libdir/rtpostgis-2.3t.^ gzCst_asx3d Bi@{ geomPmaxdecimaldigits,options({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 243679 :constvalue 4 [ 15 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 243707 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})QSELECT public._ST_AsX3D(3,$1,$2,$3,'');t-^ yC_st_asx3d ?i@LWGEOM_asX3D)$libdir/postgis-2.3t,^ gwCst_concavehull M0Bi@@8param_geomLparam_pctconvexTparam_allow_holest({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 234253 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})t") xC t+^  'vC_st_concavehull M0Bi@p@SLparam_inputgeom DECLARE vexhull GEOMETRY; var_result geom etryinpu@exring FcHavept9[]; seglength double pre@cisionqtemp pscale_factor float := 1; i integer; BEGIN -- First compute the ConvexHofb := publi c.ST_2(param );4: %$--A point really has no con u IFwGType() = 'ST_PL' OR0 0LineSt' THEN RETURN ZEND IFC;crt#perimeter to a linesT so we can manipulate indi@viduals`1:= CASE WHEN A ELSEDExteriorRingDENDIF abs(.6X UN4f,1))) < 1n--"~*1prevent stupid' errors - not sure it works/make low for now*!005S- <, "?/ I ! O P--RAISE NOTICE 'Em)F 8 rL)@/leastNs!*2,10000) "egmentiz~-- find3on ori ginal that is c@losesteach3C12x3anda new9ou1it. WLZllect(SARRAY( SELECT .pt ) As_  hXIFy: >G"@ pbackzGI", 1/KL  g  #; t"^  PCgeom4d_brin_inclusion_add_value ?vAgeom4d_brin_inclusion_add_value)$libdir/postgis-2.3t!^  OCgeom3d_brin_inclusion_add_value ?vAgeom3d_brin_inclusion_add_value)$libdir/postgis-2.3t ^  NCgeom2d_brin_inclusion_add_value ?vAgeom2d_brin_inclusion_add_value)$libdir/postgis-2.3t^  KCoverlaps_nd Bi@.@GSELECT $2 OPERATOR(public.&&&) $1;t^ HCoverlaps_nd ?i.@.@?gserialized_gidx_gidx_overlaps)$libdir/postgis-2.3t^ GCoverlaps_nd ?i.@@?gserialized_gidx_geom_overlaps)$libdir/postgis-2.3t ^ CCoverlaps_2d Bi@*@ESELECT $2 OPERATOR(public.&&) $1;t ^ BCis_contained_2d Bi@*@CSELECT $2 OPERATOR(public.~) $1;t ^ ACcontains_2d Bi@*@CSELECT $2 OPERATOR(public.@) $1;t^ :Cis_contained_2d ?i*@*@Mgserialized_contains_box2df_box2df_2d)$libdir/postgis-2.3t^ 9Ccontains_2d ?i*@*@Mgserialized_contains_box2df_box2df_2d)$libdir/postgis-2.3t^ 8Coverlaps_2d ?i*@*@Mgserialized_contains_box2df_box2df_2d)$libdir/postgis-2.3 SlH  0`@p@h Ȋ(@xpX,Ht_ 'Cst_approxsummarystats BiC{Cc rastHsample_percente SELECT public._ST_summarystats($1, 1, TRUE, $2) t_ gCst_addband Bi{C{C rast$index4pixeltype@initialvalue4nodataval({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 325563 :constvalue 6 [ 24 0 0 0 0 -128 ]}) :location -1} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 325593 :constvalue <>}) SELECT public.ST_addband($1, ARRAY[ROW($2, $3, $4, $5)]::addbandarg[]) t_ 'Cst_addband ?i{C{CCc rastDaddbandargsetRASTER_addBand-$libdir/rtpostgis-2.3t_ 'Cst_makeemptyraster M0Bi{Cp{C; rast DECLARE w int; h int; ul_x double precision; ul_y double precision; scale_x double precision; scale_y double precision; skew_x double precision; skew_y double precision; sr_id int; BEGIN SELECT width, height, upperleftx, upperlefty, scalex, scaley, skewx, skewy, srid INTO w, h, ul_x, ul_y, scale_x, scale_y, skew_x, skew_y, sr_id FROM public.ST_Metadata(rast); RETURN public.ST_makeemptyraster(w, h, ul_x, ul_y, scale_x, scale_y, skew_x, skew_y, sr_id); END; t_ 'Cst_makeemptyraster Bi{C$width(height8upperleftx8upperlefty4pixelsize SELECT public.ST_makeemptyraster($1, $2, $3, $4, $5, -($5), 0, 0, public.ST_SRID('POINT(0 0)'::geometry)) t_ gCst_makeemptyraster ?i {C   $width(height8upperleftx8upperlefty(scalex(scaley$skewx$skewy sridt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 323823 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]})#RASTER_makeEmpty-$libdir/rtpostgis-2.3t_ Cst_memsize ?ip{CRASTER_memsize-$libdir/rtpostgis-2.3t_ 'Cst_summary M0Bsp{C; rastl DECLARE extent box2d; metadata record; bandmetadata record; msg text; msgset text[]; BEGIN extent := public.ST_Extent(rast::geometry); metadata := public.ST_Metadata(rast); msg := 'Raster of ' || metadata.width || 'x' || metadata.height || ' pixels has ' || metadata.numbands || ' '; IF metadata.numbands = 1 THEN msg := msg || 'band '; ELSE msg := msg || 'bands '; END IF; msg := msg || 'and extent of ' || extent; IF round(metadata.skewx::numeric, 10) <> round(0::numeric, 10) OR round(metadata.skewy::numeric, 10) <> round(0::numeric, 10) THEN msg := 'Skewed ' || overlay(msg placing 'r' from 1 for 1); END IF; msgset := Array[]::text[] || msg; FOR bandmetadata IN SELECT * FROM public.ST_BandMetadata(rast, ARRAY[]::int[]) LOOP msg := 'band ' || bandmetadata.bandnum || ' of pixtype ' || bandmetadata.pixeltype || ' is '; IF bandmetadata.isoutdb IS FALSE THEN msg := msg || 'in-db '; ELSE msg := msg || 'out-db '; END IF; msg := msg || 'with '; IF bandmetadata.nodatavalue IS NOT NULL THEN msg := msg || 'NODATA value of ' || bandmetadata.nodatavalue; ELSE msg := msg || 'no NODATA value'; END IF; msgset := msgset || (' ' || msg); END LOOP; RETURN array_to_string(msgset, E'\n'); END; t_  ?Cst_metadata ?ip{C {CA ioooooooooop  rast8upperleftx8upperlefty$width(height(scalex(scaley$skewx$skewy srid0numbands!RASTER_metadata-$libdir/rtpostgis-2.3t_  Cst_rotation Bvp{C_ SELECT ( public.ST_Geotransform($1)).theta_i t_  ?Cst_geotransform ?ip{Cc{C9ioooooo imag jmag,theta_i0theta_ij,xoffset,yoffset/RASTER_getGeotransform-$libdir/rtpostgis-2.3t_  Cst_pixelheight ?ip{C-RASTER_getPixelHeight-$libdir/rtpostgis-2.3t_  Cst_pixelwidth ?ip{C+RASTER_getPixelWidth-$libdir/rtpostgis-2.3t_ Cst_width ?ip{C!RASTER_getWidth-$libdir/rtpostgis-2.3t_ Cst_upperlefty ?ip{C+RASTER_getYUpperLeft-$libdir/rtpostgis-2.3t_ Cst_upperleftx ?ip{C+RASTER_getXUpperLeft-$libdir/rtpostgis-2.3t_ Cst_srid ?ip{CRASTER_getSRID-$libdir/rtpostgis-2.3t_ Cst_skewy ?ip{C!RASTER_getYSkew-$libdir/rtpostgis-2.3t_ Cst_skewx ?ip{C!RASTER_getXSkew-$libdir/rtpostgis-2.3t_ Cst_scaley ?ip{C#RASTER_getYScale-$libdir/rtpostgis-2.3t_ Cst_scalex ?ip{C#RASTER_getXScale-$libdir/rtpostgis-2.3MP  X800l`( HN(@t` gCst_approxsummarystats BiC{C rast`exclude_nodata_valueHsample_percent({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 329863 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})a SELECT public._ST_summarystats($1, 1, $2, $3) t`  'Cst_approxsummarystats BiC{C{ rast$nbandHsample_percentg SELECT public._ST_summarystats($1, $2, TRUE, $3) t`  gCst_approxsummarystats BiC{C rast$nband`exclude_nodata_valueHsample_percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 329290 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 329331 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 329378 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})c SELECT public._ST_summarystats($1, $2, $3, $4) t`  'Cst_summarystats BiC{Ck rast`exclude_nodata_value_ SELECT public._ST_summarystats($1, 1, $2, 1) t`  gCst_summarystats BiC{C rast$nband`exclude_nodata_value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 328842 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 328883 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})a SELECT public._ST_summarystats($1, $2, $3, 1) t`  gC_st_summarystats ?iC{C rast$nband`exclude_nodata_valueHsample_percentx ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 328574 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 328615 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 328662 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1}))RASTER_summaryStats-$libdir/rtpostgis-2.3t` gCst_band Bi{C{Cs rast(nbands4delimiter|({CONST :consttype 1042 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 327752 :constvalue 5 [ 20 0 0 0 44 ]}) SELECT public.ST_band($1, regexp_split_to_array(regexp_replace($2, '[[:space:]]', '', 'g'), E'\\' || array_to_string(regexp_split_to_array($3, ''), E'\\'))::int[]) t` 'Cst_band Bi{C{CS rast$nbandQ SELECT public.ST_band($1, ARRAY[$2]) t` gCst_band ?i{C{CS rast(nbands$({ARRAY :array_typeid 1007 :array_collid 0 :element_typeid 23 :elements ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 327412 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :multidims false :location 327406})RASTER_band-$libdir/rtpostgis-2.3t` gCst_addband Bi{C{C rast4outdbfile8outdbindex$index4nodataval8({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 327021 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 327063 :constvalue <>})_ SELECT public.ST_AddBand($1, $4, $2, $3, $5) t` gCst_addband ?i{C{C rast$index4outdbfile8outdbindex4nodataval(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 326813 :constvalue <>}))RASTER_addBandOutDB-$libdir/rtpostgis-2.3t` gCst_addband ?i{C{C~C(torast4fromrasts0fromband<torastindex({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 326542 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 326570 :constvalue <>})5RASTER_addBandRasterArray-$libdir/rtpostgis-2.3t` gCst_addband ?i{C{C{C(torast0fromrast0fromband<torastindex({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 326315 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 326343 :constvalue <>})!RASTER_copyBand-$libdir/rtpostgis-2.3t` gCst_addband Bi{C{C rast4pixeltype@initialvalue4nodataval({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 325938 :constvalue 6 [ 24 0 0 0 0 -128 ]}) :location -1} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 325968 :constvalue <>}) SELECT public.ST_addband($1, ARRAY[ROW(NULL, $2, $3, $4)]::addbandarg[]) mdx  0hؚpP `dP^PRxt)a  Eraster_geometry_overlap Bi{C@Wselect $1::geometry OPERATOR(public.&&) $2ta 'Cst_count Bs<rastertable@rastercolumn`exclude_nodata_valueY SELECT public._ST_count($1, $2, 1, $3, 1) ta 'Cst_count Bi{Ck rast`exclude_nodata_valueQ SELECT public._ST_count($1, 1, $2, 1) ta gCst_count Bi{C rast$nband`exclude_nodata_value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 334699 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 334739 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})S SELECT public._ST_count($1, $2, $3, 1) ta gC_st_count M0Bi{C rast$nband`exclude_nodata_valueHsample_percentx ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 334233 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 334273 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 334319 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1}) DECLARE rtn bigint; BEGIN IF exclude_nodata_value IS FALSE THEN SELECT width * height INTO rtn FROM public.ST_Metadata(rast); ELSE SELECT count INTO rtn FROM public._ST_summarystats($1, $2, $3, $4); END IF; RETURN rtn; END; ta 'Cst_approxsummarystats BsC<rastertable@rastercolumnHsample_percentm SELECT public._ST_summarystats($1, $2, 1, TRUE, $3) ta  'Cst_approxsummarystats BsC<rastertable@rastercolumn`exclude_nodata_valuek SELECT public._ST_summarystats($1, $2, 1, $3, 0.1) ta  'Cst_approxsummarystats BsC<rastertable@rastercolumn$nbandHsample_percento SELECT public._ST_summarystats($1, $2, $3, TRUE, $4) ta  gCst_approxsummarystats BsC<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 333047 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 333088 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 333135 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})k SELECT public._ST_summarystats($1, $2, $3, $4, $5) ta  'Cst_summarystats BsC<rastertable@rastercolumn`exclude_nodata_valueg SELECT public._ST_summarystats($1, $2, 1, $3, 1) ta  gCst_summarystats BsC<rastertable@rastercolumn$nband`exclude_nodata_value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 332545 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 332586 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})i SELECT public._ST_summarystats($1, $2, $3, $4, 1) ta gC_st_summarystats M0BiC<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percentx ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 332000 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 332041 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 332088 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1}) DECLARE stats summarystats; BEGIN EXECUTE 'SELECT (stats).* FROM (SELECT public.ST_SummaryStatsAgg(' || quote_ident($2) || ', ' || $3 || ', ' || $4 || ', ' || $5 || ') AS stats ' || 'FROM ' || quote_ident($1) || ') foo' INTO stats; RETURN stats; END; ta Cst_summarystatsagg ?iC{C!aggregate_dummyta C_st_summarystats_transfn ?i{C9RASTER_summaryStats_transfn-$libdir/rtpostgis-2.3ta Cst_summarystatsagg ?iC{C!aggregate_dummyta C_st_summarystats_transfn ?i{C9RASTER_summaryStats_transfn-$libdir/rtpostgis-2.3ta Cst_summarystatsagg ?iC{C!aggregate_dummyta C_st_summarystats_transfn ?i{C9RASTER_summaryStats_transfn-$libdir/rtpostgis-2.3ta C_st_summarystats_finalfn ?iCp9RASTER_summaryStats_finalfn-$libdir/rtpostgis-2.3wP  `@@2ؗl&8pTh,x8tb gCst_count Bs<rastertable@rastercolumn$nband`exclude_nodata_value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 340090 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 340130 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})[ SELECT public._ST_count($1, $2, $3, $4, 1) tb  gC_st_count M0Bs<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percentx ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 339625 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 339665 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 339711 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1}) DECLARE count bigint; BEGIN EXECUTE 'SELECT public.ST_CountAgg(' || quote_ident($2) || ', ' || $3 || ', ' || $4 || ', ' || $5 || ') ' || 'FROM ' || quote_ident($1) INTO count; RETURN count; END; tb  Cst_countagg ?i{C!aggregate_dummytb  'C_st_countagg_transfn M0BiCC{C{agg rast`exclude_nodata_value DECLARE rtn_agg agg_count; BEGIN rtn_agg := public.__ST_countagg_transfn( agg, rast, 1, exclude_nodata_value, 1 ); RETURN rtn_agg; END; tb  Cst_countagg ?i{C!aggregate_dummytb  'C_st_countagg_transfn M0BiCC{Cagg rast$nband`exclude_nodata_value DECLARE rtn_agg agg_count; BEGIN rtn_agg := public.__ST_countagg_transfn( agg, rast, nband, exclude_nodata_value, 1 ); RETURN rtn_agg; END; tb Cst_countagg ?i{C!aggregate_dummytb 'C_st_countagg_transfn M0BiCC{Cagg rast$nband`exclude_nodata_valueHsample_percent DECLARE rtn_agg agg_count; BEGIN rtn_agg := public.__st_countagg_transfn( agg, rast, nband, exclude_nodata_value, sample_percent ); RETURN rtn_agg; END; tb gC__st_countagg_transfn M0BiCC{Cagg rast$nband`exclude_nodata_valueHsample_percentx ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 336561 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 336601 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 336648 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1})l DECLARE _count bigint; rtn_agg agg_count; BEGIN -- only process parameter args once IF agg IS NULL THEN rtn_agg.count := 0; IF nband < 1 THEN RAISE EXCEPTION 'Band index must be greater than zero (1-based)'; ELSE rtn_agg.nband := nband; END IF; IF exclude_nodata_value IS FALSE THEN rtn_agg.exclude_nodata_value := FALSE; ELSE rtn_agg.exclude_nodata_value := TRUE; END IF; IF sample_percent < 0. OR sample_percent > 1. THEN RAISE EXCEPTION 'Sample percent must be between zero and one'; ELSE rtn_agg.sample_percent := sample_percent; END IF; ELSE rtn_agg := agg; END IF; IF rast IS NOT NULL THEN IF rtn_agg.exclude_nodata_value IS FALSE THEN SELECT width * height INTO _count FROM public.ST_Metadata(rast); ELSE SELECT count INTO _count FROM public._ST_summarystats( rast, rtn_agg.nband, rtn_agg.exclude_nodata_value, rtn_agg.sample_percent ); END IF; END IF; rtn_agg.count := rtn_agg.count + _count; RETURN rtn_agg; END; tb 'C_st_countagg_finalfn M0BipC;agg BEGIN IF agg IS NULL THEN RAISE EXCEPTION 'Cannot count coverage'; END IF; RETURN agg.count; END; tb 'Cst_approxcount Bi{Cc rastHsample_percentW SELECT public._ST_count($1, 1, TRUE, $2) tb gCst_approxcount Bi{C rast`exclude_nodata_valueHsample_percent({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 335619 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})S SELECT public._ST_count($1, 1, $2, $3) tb 'Cst_approxcount Bi{C{ rast$nbandHsample_percentY SELECT public._ST_count($1, $2, TRUE, $3) tb gCst_approxcount Bi{C rast$nband`exclude_nodata_valueHsample_percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 335098 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 335138 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 335184 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})U SELECT public._ST_count($1, $2, $3, $4) rD  @rXP(V@ XXt*c   Egeometry_raster_contain Bi@{C3select $1 ~ $2::geometrytc  Cst_histogram BzDs{ ? iiiiiioooo0 <rastertable@rastercolumn$nband bins$width$rightminmax$count,percent({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 348022 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 348051 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public._ST_histogram($1, $2, $3, TRUE, 1, $4, $5, $6) tc  ?Cst_histogram BzDi{Ck{C;iiiioooo rast$nband bins$rightminmax$count,percent SELECT min, max, count, percent FROM public._ST_histogram($1, $2, TRUE, 1, $3, NULL, $4) tc Cst_histogram BzDi{Cs {C= iiiiioooo  rast$nband bins$width$rightminmax$count,percent({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 343239 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 343268 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT min, max, count, percent FROM public._ST_histogram($1, $2, TRUE, 1, $3, $4, $5) tc ?Cst_histogram BzDi{Cs {C= iiiiioooo  rast$nband`exclude_nodata_value bins$rightminmax$count,percent SELECT min, max, count, percent FROM public._ST_histogram($1, $2, $3, 1, $4, NULL, $5) tc Cst_histogram BzDi{C{ {C? iiiiiioooo0  rast$nband`exclude_nodata_value bins$width$rightminmax$count,percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 342314 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 342355 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 342379 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 342415 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 342444 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT min, max, count, percent FROM public._ST_histogram($1, $2, $3, 1, $4, $5, $6) tc C_st_histogram ?zDi  {C {CE iiiiiiiiioooo  rast$nband`exclude_nodata_valueHsample_percent bins$width$rightminmaxminmax$count,percent({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 341745 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 341786 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 341833 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 341854 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 341890 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 341919 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 341956 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 341991 :constvalue <>})#RASTER_histogram-$libdir/rtpostgis-2.3tc 'Cst_approxcount Bs<rastertable@rastercolumnHsample_percent_ SELECT public._ST_count($1, $2, 1, TRUE, $3) tc gCst_approxcount Bs<rastertable@rastercolumn`exclude_nodata_valueHsample_percent({FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 341106 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})[ SELECT public._ST_count($1, $2, 1, $3, $4) tc 'Cst_approxcount Bs<rastertable@rastercolumn$nbandHsample_percenta SELECT public._ST_count($1, $2, $3, TRUE, $4) tc gCst_approxcount Bs<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 340537 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 340577 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 340623 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1})] SELECT public._ST_count($1, $2, $3, $4, $5) @X  | HT(>@R  (Xtd  ?Cst_histogram BzDss = iiiiioooo <rastertable@rastercolumn$nband bins$rightminmax$count,percent SELECT public._ST_histogram($1, $2, $3, TRUE, 1, $4, NULL, $5) td  ?Cst_histogram BzDs{ ? iiiiiioooo` <rastertable@rastercolumn$nband`exclude_nodata_value bins$rightminmax$count,percent SELECT public._ST_histogram($1, $2, $3, $4, 1, $5, NULL, $6) td Cst_histogram BzDs A iiiiiiioooo <rastertable@rastercolumn$nband`exclude_nodata_value bins$width$rightminmax$count,percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 347109 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 347150 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 347174 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 347210 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 347239 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}){ SELECT public._ST_histogram($1, $2, $3, $4, 1, $5, $6, $7) td C_st_histogram ?zDi C iiiiiiiioooo <rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent bins$width$rightminmax$count,percentX({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 346622 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 346663 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 346710 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 346731 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 346767 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 346796 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})3RASTER_histogramCoverage-$libdir/rtpostgis-2.3t d ?Cst_approxhistogram BzDi{Cs {C= iiiiioooo  rast$nbandHsample_percent bins$rightminmax$count,percent SELECT min, max, count, percent FROM public._ST_histogram($1, $2, TRUE, $3, $4, NULL, $5) t d Cst_approxhistogram BzDi{C{ {C? iiiiiioooo   rast$nbandHsample_percent bins$width$rightminmax$count,percent({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 345788 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 345817 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT min, max, count, percent FROM public._ST_histogram($1, $2, TRUE, $3, $4, $5, $6) t d ?Cst_approxhistogram BzDi{C[{C7iioooo rastHsample_percentminmax$count,percent SELECT min, max, count, percent FROM public._ST_histogram($1, 1, TRUE, $2, 0, NULL, FALSE) t d ?Cst_approxhistogram BzDi{Cc{C9iiioooo rast$nbandHsample_percentminmax$count,percent SELECT min, max, count, percent FROM public._ST_histogram($1, $2, TRUE, $3, 0, NULL, FALSE) t d ?Cst_approxhistogram BzDi{C{ {C? iiiiiiooooP  rast$nband`exclude_nodata_valueHsample_percent bins$rightminmax$count,percent SELECT min, max, count, percent FROM public._ST_histogram($1, $2, $3, $4, $5, NULL, $6) td Cst_approxhistogram BzDi{C {CA iiiiiiioooo  rast$nband`exclude_nodata_valueHsample_percent bins$width$rightminmax$count,percent({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 344005 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 344046 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 344093 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 344116 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 344152 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 344181 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT min, max, count, percent FROM public._ST_histogram($1, $2, $3, $4, $5, $6, $7) @wL  (bRx Hv耊t+e   Egeometry_contained_by_raster Bi@{C3select $1 @ $2::geometryte  'Cst_quantile Bi{Ck rast$nband0quantile SELECT ( public._ST_quantile($1, $2, TRUE, 1, ARRAY[$3]::double precision[])).value te  'Cst_quantile Bi{C rast$nband`exclude_nodata_value0quantile SELECT ( public._ST_quantile($1, $2, $3, 1, ARRAY[$4]::double precision[])).value te  ?Cst_quantile BzDi{CK{C3iioo rast4quantiles0quantile$valuec SELECT public._ST_quantile($1, 1, TRUE, 1, $2) te  ?Cst_quantile BzDi{CS{C5iiioo rast$nband4quantiles0quantile$valuee SELECT public._ST_quantile($1, $2, TRUE, 1, $3) te Cst_quantile BzDi{C[{C7iiiioo rast$nband`exclude_nodata_value4quantiles0quantile$value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 351907 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 351948 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 351992 :constvalue <>})a SELECT public._ST_quantile($1, $2, $3, 1, $4) te C_st_quantile ?zDi{Cc{C9iiiiioo rast$nband`exclude_nodata_valueHsample_percent4quantiles0quantile$value ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 351495 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 351536 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 351583 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 351624 :constvalue <>})!RASTER_quantile-$libdir/rtpostgis-2.3te ?Cst_approxhistogram BzDs{ ? iiiiiiooooP <rastertable@rastercolumn$nbandHsample_percent bins$rightminmax$count,percent SELECT public._ST_histogram($1, $2, $3, TRUE, $4, $5, NULL, $6) te Cst_approxhistogram BzDs A iiiiiiioooo <rastertable@rastercolumn$nbandHsample_percent bins$width$rightminmax$count,percent({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 350536 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 350565 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public._ST_histogram($1, $2, $3, TRUE, $4, $5, $6, $7) te ?Cst_approxhistogram BzDsc9iiioooo<rastertable@rastercolumnHsample_percentminmax$count,percent SELECT public._ST_histogram($1, $2, 1, TRUE, $3, 0, NULL, FALSE) te ?Cst_approxhistogram BzDsk;iiiioooo<rastertable@rastercolumn$nbandHsample_percentminmax$count,percent SELECT public._ST_histogram($1, $2, $3, TRUE, $4, 0, NULL, FALSE) te ?Cst_approxhistogram BzDs A iiiiiiioooo <rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent bins$rightminmax$count,percent SELECT public._ST_histogram($1, $2, $3, $4, $5, $6, NULL, $7) te Cst_approxhistogram BzDs C iiiiiiiioooo <rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent bins$width$rightminmax$count,percent({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 348777 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 348818 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 348865 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 348888 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 348924 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 348953 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})} SELECT public._ST_histogram($1, $2, $3, $4, $5, $6, $7, $8) x|T  (TPN (H@菨ȌX؆x X6t,f  Egeometry_raster_overlap Bi@{CWselect $1 OPERATOR(public.&&) $2::geometryt,f ?Dst_quantile BzDs[7iiiioo<rastertable@rastercolumn$nband4quantiles0quantile$valuem SELECT public._ST_quantile($1, $2, $3, TRUE, 1, $4) t+f  Dst_quantile BzDsc9iiiiioo<rastertable@rastercolumn$nband`exclude_nodata_value4quantiles0quantile$value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 357218 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 357259 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 357303 :constvalue <>})i SELECT public._ST_quantile($1, $2, $3, $4, 1, $5) t*f  D_st_quantile ?zDsk;iiiiiioo`<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent4quantiles0quantile$value ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 356777 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 356818 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 356865 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 356906 :constvalue <>})1RASTER_quantileCoverage-$libdir/rtpostgis-2.3t)f  'Dst_approxquantile Bi{CS rast0quantile SELECT ( public._ST_quantile($1, 1, TRUE, 0.1, ARRAY[$2]::double precision[])).value t(f  gDst_approxquantile Bi{C rast`exclude_nodata_value0quantile(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 356242 :constvalue <>}) SELECT ( public._ST_quantile($1, 1, $2, 0.1, ARRAY[$3]::double precision[])).value t'f  'Dst_approxquantile Bi{C{ rastHsample_percent0quantile SELECT ( public._ST_quantile($1, 1, TRUE, $2, ARRAY[$3]::double precision[])).value t&f 'Dst_approxquantile Bi{C rast$nbandHsample_percent0quantile SELECT ( public._ST_quantile($1, $2, TRUE, $3, ARRAY[$4]::double precision[])).value t%f 'Dst_approxquantile Bi{C rast$nband`exclude_nodata_valueHsample_percent0quantile SELECT ( public._ST_quantile($1, $2, $3, $4, ARRAY[$5]::double precision[])).value t$f ?Dst_approxquantile BzDi{CK{C3iioo rast4quantiles0quantile$valueg SELECT public._ST_quantile($1, 1, TRUE, 0.1, $2) t#f Cst_approxquantile BzDi{CS{C5iiioo rastHsample_percent4quantiles0quantile$value4({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 354753 :constvalue <>})e SELECT public._ST_quantile($1, 1, TRUE, $2, $3) t"f Cst_approxquantile BzDi{C[{C7iiiioo rast$nbandHsample_percent4quantiles0quantile$value4({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 354396 :constvalue <>})g SELECT public._ST_quantile($1, $2, TRUE, $3, $4) t!f Cst_approxquantile BzDi{Cc{C9iiiiioo rast$nband`exclude_nodata_valueHsample_percent4quantiles0quantile$value ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 353898 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 353939 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 353986 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 354029 :constvalue <>})c SELECT public._ST_quantile($1, $2, $3, $4, $5) t f 'Cst_quantile Bi{CS rast0quantile SELECT ( public._ST_quantile($1, 1, TRUE, 1, ARRAY[$2]::double precision[])).value tf gCst_quantile Bi{C rast`exclude_nodata_value0quantile(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 353386 :constvalue <>}) SELECT ( public._ST_quantile($1, 1, $2, 1, ARRAY[$3]::double precision[])).value  T(  x X @fxȅ(< t;g D_st_valuecount ?zDi{Ck{C;iiiiiooo rast$nband`exclude_nodata_value@searchvalues,roundto$value$count,percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 362767 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 362808 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 362855 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 362895 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1})%RASTER_valueCount-$libdir/rtpostgis-2.3t:g 'Dst_approxquantile Bs<rastertable@rastercolumn0quantile SELECT ( public._ST_quantile($1, $2, 1, TRUE, 0.1, ARRAY[$3]::double precision[])).value t9g  gDst_approxquantile Bs<rastertable@rastercolumn`exclude_nodata_value0quantile(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 361895 :constvalue <>}) SELECT ( public._ST_quantile($1, $2, 1, $3, 0.1, ARRAY[$4]::double precision[])).value t8g  'Dst_approxquantile Bs<rastertable@rastercolumnHsample_percent0quantile SELECT ( public._ST_quantile($1, $2, 1, TRUE, $3, ARRAY[$4]::double precision[])).value t7g  'Dst_approxquantile Bs<rastertable@rastercolumn$nbandHsample_percent0quantile SELECT ( public._ST_quantile($1, $2, $3, TRUE, $4, ARRAY[$5]::double precision[])).value t6g  'Dst_approxquantile Bs<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent0quantile SELECT ( public._ST_quantile($1, $2, $3, $4, $5, ARRAY[$6]::double precision[])).value t5g  ?Dst_approxquantile BzDsS5iiioo<rastertable@rastercolumn4quantiles0quantile$valueo SELECT public._ST_quantile($1, $2, 1, TRUE, 0.1, $3) t4g Dst_approxquantile BzDs[7iiiioo<rastertable@rastercolumnHsample_percent4quantiles0quantile$value4({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 360285 :constvalue <>})m SELECT public._ST_quantile($1, $2, 1, TRUE, $3, $4) t3g Dst_approxquantile BzDsc9iiiiioo<rastertable@rastercolumn$nbandHsample_percent4quantiles0quantile$value4({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 359903 :constvalue <>})o SELECT public._ST_quantile($1, $2, $3, TRUE, $4, $5) t2g Dst_approxquantile BzDsk;iiiiiioo`<rastertable@rastercolumn$nband`exclude_nodata_valueHsample_percent4quantiles0quantile$value ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 359380 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 359421 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 359468 :constvalue 8 [ 32 0 0 0 -1 -128 -24 3 ]}) :location -1} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 359511 :constvalue <>})k SELECT public._ST_quantile($1, $2, $3, $4, $5, $6) t1g ' Dst_quantile Bs<rastertable@rastercolumn0quantile SELECT ( public._ST_quantile($1, $2, 1, TRUE, 1, ARRAY[$3]::double precision[])).value t0g g Dst_quantile Bs<rastertable@rastercolumn`exclude_nodata_value0quantile(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 358819 :constvalue <>}) SELECT ( public._ST_quantile($1, $2, 1, $3, 1, ARRAY[$4]::double precision[])).value t/g ' Dst_quantile Bs<rastertable@rastercolumn$nband0quantile SELECT ( public._ST_quantile($1, $2, $3, TRUE, 1, ARRAY[$4]::double precision[])).value t.g ' Dst_quantile Bs<rastertable@rastercolumn$nband`exclude_nodata_value0quantile SELECT ( public._ST_quantile($1, $2, $3, $4, 1, ARRAY[$5]::double precision[])).value t-g ? Dst_quantile BzDsS5iiioo<rastertable@rastercolumn4quantiles0quantile$valuek SELECT public._ST_quantile($1, $2, 1, TRUE, 1, $3) `Z@@  XN ȕp(:(xR t@>tEh  g!Dst_valuepercent Bi{C rast$nband`exclude_nodata_value<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 366153 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, $3, ARRAY[$4]::double precision[], $5)).percent tDh   Dst_valuepercent BzDi{CS{C5iiioo rast@searchvalues,roundto$value,percent({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 365797 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, percent FROM public._ST_valuecount($1, 1, TRUE, $2, $3) tCh Dst_valuepercent BzDi{C[{C7iiiioo rast$nband@searchvalues,roundto$value,percent({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 365482 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, percent FROM public._ST_valuecount($1, $2, TRUE, $3, $4) tBh Dst_valuepercent BzDi{Cc{C9iiiiioo rast$nband`exclude_nodata_value@searchvalues,roundto$value,percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 365024 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 365065 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 365112 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 365152 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, percent FROM public._ST_valuecount($1, $2, $3, $4, $5) tAh gDst_valuecount Bi{Cs rast<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 364792 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, 1, TRUE, ARRAY[$2]::double precision[], $3)).count t@h gDst_valuecount Bi{C rast$nband<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 364522 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, TRUE, ARRAY[$3]::double precision[], $4)).count t?h gDst_valuecount Bi{C rast$nband`exclude_nodata_value<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 364239 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, $3, ARRAY[$4]::double precision[], $5)).count t>h Dst_valuecount BzDi{CS{C5iiioo rast@searchvalues,roundto$value$count({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 363898 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, count FROM public._ST_valuecount($1, 1, TRUE, $2, $3) t=h Dst_valuecount BzDi{C[{C7iiiioo rast$nband@searchvalues,roundto$value$count({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 363598 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, count FROM public._ST_valuecount($1, $2, TRUE, $3, $4) t<h Dst_valuecount BzDi{Cc{C9iiiiioo rast$nband`exclude_nodata_value@searchvalues,roundto$value$count ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 363155 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 363196 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 363243 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 363283 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, count FROM public._ST_valuecount($1, $2, $3, $4, $5) ഓD  x 8 h pЈz(F$hti  'mDst_mapalgebrafct Bv{C{C rast band4pixeltypeLonerastuserfunco SELECT public.ST_mapalgebrafct($1, $2, $3, $4, NULL) ti  ?lDst_mapalgebrafct ?i{C{CS{C5iiiiv rast band4pixeltypeLonerastuserfunc args+RASTER_mapAlgebraFct-$libdir/rtpostgis-2.3tNi  g*Dst_valuecount Bs<rastertable@rastercolumn<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 369174 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, 1, TRUE, ARRAY[$3]::double precision[], $4)).count tMi g)Dst_valuecount Bs<rastertable@rastercolumn$nband<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 368880 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, $3, TRUE, ARRAY[$4]::double precision[], $5)).count tLi g(Dst_valuecount Bs<rastertable@rastercolumn$nband`exclude_nodata_value<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 368573 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, $3, $4, ARRAY[$5]::double precision[], $6)).count tKi 'Dst_valuecount BzDs[7iiiioo<rastertable@rastercolumn@searchvalues,roundto$value$count({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 368208 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, count FROM public._ST_valuecount($1, $2, 1, TRUE, $3, $4) tJi &Dst_valuecount BzDsc9iiiiioo<rastertable@rastercolumn$nband@searchvalues,roundto$value$count({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 367884 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, count FROM public._ST_valuecount($1, $2, $3, TRUE, $4, $5) tIi %Dst_valuecount BzDsk;iiiiiioo@<rastertable@rastercolumn$nband`exclude_nodata_value@searchvalues,roundto$value$count ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 367417 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 367458 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 367505 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 367545 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, count FROM public._ST_valuecount($1, $2, $3, $4, $5, $6) tHi $D_st_valuecount ?zDss = iiiiiiooop <rastertable@rastercolumn$nband`exclude_nodata_value@searchvalues,roundto$value$count,percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 367000 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 367041 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 367088 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 367128 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1})5RASTER_valueCountCoverage-$libdir/rtpostgis-2.3tGi g#Dst_valuepercent Bi{Cs rast<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 366732 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, 1, TRUE, ARRAY[$2]::double precision[], $3)).percent tFi g"Dst_valuepercent Bi{C rast$nband<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 366449 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, TRUE, ARRAY[$3]::double precision[], $4)).percent @H  ( 0H~JH(l0`@6`tpj  gNDst_asraster Bs {C @  geom(scalex(scaley4pixeltype$value4nodataval8upperleftx8upperlefty$skewx$skewy,touched!({ARRAY :array_typeid 1022collid 0 :element%701s ({FUNCEXPR :funcid 316 result75tset falseva@riadic format 4 inputargCONST :consn23mod -1;len 4 byval trueisnulllocation 38691Pvalue 4@ [ 1 0 ]$})5-1multidimsU005} 79"73} ;98 v70&4@<>b82/WI2/W712/W)55)(,1 SELECT public._ST_asraster($1, $2, $3, NULL, NULL, $4, $5, $6, $7, $8, NULL, NULL, $9, $10, $11) tZj  g8D_st_colormap ?i{C{C rast$nband0colormap(method({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 373238 :constvalue 15 [ 60 0 0 0 73 78 84 69 82 80 79 76 65 84 69 ]})!RASTER_colorMap-$libdir/rtpostgis-2.3tYj  '7Dst_reclass Bi{C{C{ rast<reclassexpr4pixeltype] SELECT st_reclass($1, ROW(1, $2, $3, NULL)) tXj  g6Dst_reclass Bi{C{C rast$nband<reclassexpr4pixeltype4nodataval(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 372680 :constvalue <>})[ SELECT st_reclass($1, ROW($2, $3, $4, $5)) tWj ?5Dst_reclass M0B3Di{C{C2D;{C2D/ivc rastDreclassargset( DECLARE i int; expr text; BEGIN -- for each reclassarg, validate elements as all except nodataval cannot be NULL FOR i IN SELECT * FROM generate_subscripts($2, 1) LOOP IF $2[i].nband IS NULL OR $2[i].reclassexpr IS NULL OR $2[i].pixeltype IS NULL THEN RAISE WARNING 'Values are required for the nband, reclassexpr and pixeltype attributes.'; RETURN rast; END IF; END LOOP; RETURN public._ST_reclass($1, VARIADIC $2); END; tVj ?4D_st_reclass ?3Di{C{C2D;{C2D/ivc rastDreclassargsetRASTER_reclass-$libdir/rtpostgis-2.3tTj g0Dst_valuepercent Bs<rastertable@rastercolumn<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 371259 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, 1, TRUE, ARRAY[$3]::double precision[], $4)).percent tSj g/Dst_valuepercent Bs<rastertable@rastercolumn$nband<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 370952 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, $3, TRUE, ARRAY[$4]::double precision[], $5)).percent tRj g.Dst_valuepercent Bs<rastertable@rastercolumn$nband`exclude_nodata_value<searchvalue,roundto({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 370632 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT ( public._ST_valuecount($1, $2, $3, $4, ARRAY[$5]::double precision[], $6)).percent tQj -Dst_valuepercent BzDs[7iiiioo<rastertable@rastercolumn@searchvalues,roundto$value,percent({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 370252 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, percent FROM public._ST_valuecount($1, $2, 1, TRUE, $3, $4) tPj ,Dst_valuepercent BzDsc9iiiiioo<rastertable@rastercolumn$nband@searchvalues,roundto$value,percent({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 369913 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, percent FROM public._ST_valuecount($1, $2, $3, TRUE, $4, $5) tOj +Dst_valuepercent BzDsk;iiiiiioo@<rastertable@rastercolumn$nband`exclude_nodata_value@searchvalues,roundto$value,percent ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 369431 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 369472 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 369519 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 369559 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1}) SELECT value, percent FROM public._ST_valuecount($1, $2, $3, $4, $5, $6) H@  ИVpؑbp8fH Z0tqk  gODst_asraster Bs {C @  geom$width(height$gridx$gridy4pixeltype$value4nodataval$skewx$skewy,touched0({CONST :constty@pe 701mod -col lid 0len 8 byva@l trueisnullocation 387454valu@e <>} `95ARRAY :array_id 1009z100 :el ement'25s T  Tfals  533 8 [ 32 056 66 85 73 ]}) :multidimsK2722 FUNCEXPR :func@id 316 r0esults etvariadic for0mat 4inpu(#arg,m/^4/^ A9A4 [ 15d-1846Lz!652} MJ2M715M)4/v!(k@7`1 SELECT public._ST_asraster($1, NULL, NULL, $2, $3, $6, $7, $8, NULL, NULL, $4, $5, $9, $10, $11) tck  gADst_astiff Bi{C rast(nbands<compression srid$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 380605 :constvalue <>})Y SELECT st_astiff(st_band($1, $2), $3, $4) tbk g@Dst_astiff M0Bi{Ck rast<compression srid$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 378283 :constvalue <>}) C DECLARE compression2@ text;_typelevel ini num_bandsoptions9[]; BEGIN IF rast IS NULL THE RETU RN@END IF; := trim(both from u pper(%))7IF length 2) > 0u-- JPEG IF posi('' idn ;!=<:= 0":= substring '[0-9]+$'; OT !> 10# u100 ELSE5< 13 1t := array_appPend(,_QUALITY=' ||l)Q P-- per !% pixel >check!'C; t_num($1PFOR i @IN 1...LOOP"sta`($1, i@'8BUI'RAISE EXCEPTION 'HThe of%! the"er is not P . "A)( can only be used with@2a.',< i| :-- DEFLAT1'/3/Z9/|9/VZLEVEL// 'CCITT?? ? ? 1BB: ? .`1BB. ? 1|BB? : 8  -- wRIF ARRAY[] <@S, 'LZWPACKBILTS 5%, RBL FAX3 4 NONE']V/COMPRES>S%&NOTICE 'Un0know*\: %. outputted TIFF willbe nEDnnmpStst_astiff">$3END; tak g?Dst_astiff Bi{C{ rast(nbands,options sridL({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 378023 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 378050 :constvalue <>})Y SELECT st_astiff(st_band($1, $2), $3, $4) t`k g>Dst_astiff M0Bi{Cc rast,options sridL({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 377171 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 377198 :constvalue <>}) DECLARE i int; num_bands int; nodata double precision; last_nodata double precision; BEGIN IF rast IS NULL THEN RETURN NULL; END IF; num_bands := st_numbands($1); -- TIFF only allows one NODATA value for ALL bands FOR i IN 1..num_bands LOOP nodata := st_bandnodatavalue($1, i); IF last_nodata IS NULL THEN last_nodata := nodata; ELSEIF nodata != last_nodata THEN RAISE NOTICE 'The TIFF format only permits one NODATA value for all bands. The value used will be the last band with a NODATA value.'; END IF; END LOOP; RETURN st_asgdalraster($1, 'GTiff', $2, $3); END; t_k g=Dst_asgdalraster ?i{C{ rast(format,options sridL({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 376759 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 376786 :constvalue <>}))RASTER_asGDALRaster-$libdir/rtpostgis-2.3t^k ?})-RASTER_fromGDALRaster-$libdir/rtpostgis-2.3t\k g:Dst_colormap Bi{C{Ck rast0colormap(method({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 375672 :constvalue 15 [ 60 0 0 0 73 78 84 69 82 80 79 76 65 84 69 ]})W SELECT public.ST_ColorMap($1, 1, $2, $3) t[k g9Dst_colormap M0Bi{C{C rast$nband0colormap(method,({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 373423 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 373449 :constvalue 13 [ 52 0 0 0 103 114 97 121 115 99 97 108 101 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 373483 :constvalue 15 [ 60 0 0 0 73 78 84 69 82 80 79 76 65 84 69 ]}) DECLARE _ismap boolean;coloBrtexte@lement[]; BEGIN>:= TRUE; -- cK Go see what it is e:= split_part(, E'\n', 1) := regexp_replace(4:+', ' g';,;(\\t=( ;p:#to_array A' 5ytreat as| IF (5_length&(^\ >TH>E   [keyword ELS!B method4'INTERPOLATE'9 CASE lower(trim(both from m))) WHEN 'grayscalrere  ' 100% 0 0% 254 nv p255 0_pseudoBTB 0255 5iu&nvfirI 43Y21]93.75"2178t87F. 1381.228 496 E*87 5d 68\MA1%.62\ $8456\ 4n2*?4 .3A24 7\3183 9\40 931 99 8\1 58 B  12 < 1 bluered/W .163w 94.12% 216 21 4x 88.247  39 82.23L6176.4720 870.59 72 114.71$14 1`058.841 18$d52.9#$e234470.06%741.188 24935.29%p4 29.441%13.53%177.661%1.76% !'85.88% !m2  3616&U RAISE EXCEPTION 'UnknowxT:: %',Z_ END Q*  IFRRETURN publi c._ST&Q($@1, $2,WF, $4a=END; L  >>@t <8<(tl  ?nDst_mapalgebrafct Bv{C{CK{C3iiiv rast bandLonerastuserfunc args SELECT public.ST_mapalgebrafct($1, $2, NULL, $3, VARIADIC $4) tol  gMDst_asraster Bs {C @  geom(scalex(scaley$gridx$gridy4pixeltype$value4nodataval$skewx$skewy,touched0({CONST :constty@pe 701mod -col lid 0len 8 byva@l trueisnullocation 38627Ovalu@e <>} _304ARRAY :array_id 1009z100 :e@lement'25s T  Tfals  46 8 [ 32 056 66 85 73 ]}) :multidimsK022 FUNCEXPR :funci d 316 resultsetvariadic format 4inpu(#arg3/^f4/^ A40`4 [ 15-197Lz!465} MJ2M527M )~6/v!(k@8 9 1 SELECT public._ST_asraster($1, $2, $3, NULL, NULL, $6, $7, $8, NULL, NULL, $4, $5, $9, $10, $11) tnl  gLD_st_asraster ?s{CP@` geom(scalex(scaley$width(height4pixeltype$value4nodataval8upperleftx8upperlefty$gridx$gridy$skewx$skewy,touched ({FUNCEXPR :func@id 316 resulttyp e 701tset falsevariadic format 2collid 0 :inputargs ({CONST :consn23mod -1;len 4 byval trueisnulllocation 38551`value 4 [ 0 ]})!5-1} )48;)"_75 `60A ARRAYray_id 10091Oelement'25/!5 To3d8 [ 3256 66 85 73#*multidHimsK2922 2|?I4?~h692.r1?8f676O754O9U v82O<>b6{c9_j3{976)601O!/(T ,1!RASTER_asRaster-$libdir/rtpostgis-2.3tml  'KDst_aspng Bi{Cs rast$nband<compressionK SELECT st_aspng($1, ARRAY[$2], $3) tll  gJDst_aspng Bi{Ck rast$nband,options<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 384922 :constvalue <>})O SELECT st_aspng(st_band($1, $2), $3) tkl 'IDst_aspng M0Bi{Cs rast(nbands<compression DECLARE compression2 int; options text[]; BEGIN IF compression IS NOT NULL THEN IF compression > 9 THEN compression2 := 9; ELSEIF compression < 1 THEN compression2 := 1; ELSE compression2 := compression; END IF; options := array_append(options, 'ZLEVEL=' || compression2); END IF; RETURN st_aspng(st_band($1, $2), options); END; tjl gHDst_aspng Bi{Ck rast(nbands,options<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 384226 :constvalue <>})O SELECT st_aspng(st_band($1, $2), $3) til gGDst_aspng M0Bi{CS rast,options<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 383187 :constvalue <>})H DECLARE rast2 raster; num_bands int; i int; pt text; BEGIN IF rast IS NULL THEN RETURN NULL; END IF; num_bands := st_numbands($1); -- PNG allows 1, 3 or 4 bands IF num_bands <> 1 AND num_bands <> 3 AND num_bands <> 4 THEN RAISE NOTICE 'The PNG format only permits one, three or four bands. The first band will be used.'; rast2 := st_band($1, ARRAY[1]); num_bands := st_numbands(rast2); ELSE rast2 := rast; END IF; -- PNG only supports 8BUI and 16BUI pixeltype FOR i IN 1..num_bands LOOP pt = st_bandpixeltype(rast, i); IF pt != '8BUI' AND pt != '16BUI' THEN RAISE EXCEPTION 'The pixel type of band % in the raster is not 8BUI or 16BUI. The PNG format can only be used with 8BUI and 16BUI pixel types.', i; END IF; END LOOP; RETURN st_asgdalraster(rast2, 'PNG', $2, NULL); END; thl 'FDst_asjpeg Bi{Ck rast$nband,qualityM SELECT st_asjpeg($1, ARRAY[$2], $3) tgl gEDst_asjpeg Bi{Ck rast$nband,options<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 382645 :constvalue <>})Q SELECT st_asjpeg(st_band($1, $2), $3) tfl 'DDst_asjpeg M0Bi{Ck rast(nbands,qualityt DECLARE quality2 int; options text[]; BEGIN IF quality IS NOT NULL THEN IF quality > 100 THEN quality2 := 100; ELSEIF quality < 10 THEN quality2 := 10; ELSE quality2 := quality; END IF; options := array_append(options, 'QUALITY=' || quality2); END IF; RETURN st_asjpeg(st_band($1, $2), options); END; tel gCDst_asjpeg Bi{Ck rast(nbands,options<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 381933 :constvalue <>})Q SELECT st_asjpeg(st_band($1, $2), $3) tdl gBDst_asjpeg M0Bi{CS rast,options<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 380982 :constvalue <>}) DECLARE rast2 raster; num_bands int; i int; BEGIN IF rast IS NULL THEN RETURN NULL; END IF; num_bands := st_numbands($1); -- JPEG allows 1 or 3 bands IF num_bands <> 1 AND num_bands <> 3 THEN RAISE NOTICE 'The JPEG format only permits one or three bands. The first band will be used.'; rast2 := st_band(rast, ARRAY[1]); num_bands := st_numbands(rast); ELSE rast2 := rast; END IF; -- JPEG only supports 8BUI pixeltype FOR i IN 1..num_bands LOOP IF st_bandpixeltype(rast, i) != '8BUI' THEN RAISE EXCEPTION 'The pixel type of band % in the raster is not 8BUI. The JPEG format can only be used with the 8BUI pixel type.', i; END IF; END LOOP; RETURN st_asgdalraster(rast2, 'JPEG', $2, NULL); END; HӒ0  @葦0Ѐ twm gUDst_asraster M0Bs{C@{C geomref4pixeltype$value4nodataval,touched.({ARRAY :array_typeid 1009coll :element'25s ({CONST :const" mod -1 Tlenbyval falseAisnullocation @390904$value 8 [ 32 056 66 85 73 ]}) :multidimsAK898} 2F2 701FUNCEXPR :funcid 316 resul"5tsetvariadic forma t 4inpuU0g3 Wtru6P4 [ 15-19551029 1023} OL;78 1 DECLARE g geometry; g_srid integer; ul_x double precision; ul_y double precision; scale_x double precision; scale_y double precision; skew_x double precision; skew_y double precision; sr_id integer; BEGIN SELECT upperleftx, upperlefty, scalex, scaley, skewx, skewy, srid INTO ul_x, ul_y, scale_x, scale_y, skew_x, skew_y, sr_id FROM public.ST_Metadata(ref); --RAISE NOTICE '%, %, %, %, %, %, %', ul_x, ul_y, scale_x, scale_y, skew_x, skew_y, sr_id; -- geometry and raster has different SRID g_srid := public.ST_SRID(geom); IF g_srid != sr_id THEN RAISE NOTICE 'The geometry''s SRID (%) is not the same as the raster''s SRID (%). The geometry will be transformed to the raster''s projection', g_srid, sr_id; g := public.ST_Transform(geom, sr_id); ELSE g := geom; END IF; RETURN public._ST_asraster(g, scale_x, scale_y, NULL, NULL, $3, $4, $5, NULL, NULL, ul_x, ul_y, skew_x, skew_y, $6); END; tvm gTDst_asraster Bs {C @  geom$width(height4pixeltype$value4nodataval8upperleftx8upperlefty$skewx$skewy,touchedG({FUNCEXPR :func@id 316 resulttyp e 701tset falsevariadic format 2collid 0 :inputargs ({CONST :consn23mod -1;len 4 byval trueisnulllocation 390358$value 4 [ 1 0 ]})5-1} )97)') 43 d<>b79/351/3#)5P?\,(,1 SELECT public._ST_asraster($1, NULL, NULL, $2, $3, ARRAY[$4]::text[], ARRAY[$5]::double precision[], ARRAY[$6]::double precision[], $7, $8, NULL, NULL,$9, $10, $11) tum gSDst_asraster Bs {C @  geom$width(height$gridx$gridy4pixeltype$value4nodataval$skewx$skewy,touched({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 389860 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 389899 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 389934 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 389968 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 389996 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public._ST_asraster($1, NULL, NULL, $2, $3, ARRAY[$6]::text[], ARRAY[$7]::double precision[], ARRAY[$8]::double precision[], NULL, NULL, $4, $5, $9, $10, $11) ttm gRDst_asraster Bs {C @  geom(scalex(scaley4pixeltype$value4nodataval8upperleftx8upperlefty$skewx$skewy,touchedG({FUNCEXPR :func@id 316 resulttyp e 701tset falsevariadic format 2collid 0 :inputargs ({CONST :consn23mod -1;len 4 byval trueisnulllocation 389228$value 4 [ 1 0 ]})5-1} )67)') 30 d<>b49/338/3#)42P?\,(/,1 SELECT public._ST_asraster($1, $2, $3, NULL, NULL, ARRAY[$4]::text[], ARRAY[$5]::double precision[], ARRAY[$6]::double precision[], $7, $8, NULL, NULL, $9, $10, $11) tsm gQDst_asraster Bs {C @  geom(scalex(scaley$gridx$gridy4pixeltype$value4nodataval$skewx$skewy,touched({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 388711 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 388750 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 388785 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 388819 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 388847 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public._ST_asraster($1, $2, $3, NULL, NULL, ARRAY[$6]::text[], ARRAY[$7]::double precision[], ARRAY[$8]::double precision[], NULL, NULL, $4, $5, $9, $10, $11) trm gPDst_asraster Bs {C @  geom$width(height4pixeltype$value4nodataval8upperleftx8upperlefty$skewx$skewy,touched!({ARRAY :array_typeid 1022collid 0 :element%701s ({FUNCEXPR :funcid 316 result75tset falseva@riadic format 4 inputargCONST :consn23mod -1;len 4 byval trueisnulllocation 388079$value 4 [ 1 0 H]})5-1multidims1U3} 147!141} 98  vL204<>b5@/WI2/W28/W)3A) (,1 SELECT public._ST_asraster($1, NULL, NULL, $2, $3, $4, $5, $6, $7, $8, NULL, NULL, $9, $10, $11) H8x  x ؔjЍPhzxDtn 'oDst_mapalgebrafct Bv{C{Cs rast bandLonerastuserfuncs SELECT public.ST_mapalgebrafct($1, $2, NULL, $3, NULL) tn gkDst_mapalgebraexpr Bv{C{C rast4pixeltype8expression4nodataval(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 404347 :constvalue <>})k SELECT public.ST_mapalgebraexpr($1, 1, $2, $3, $4) t}n g[Dst_resample Bs{C{C{C rastref0usescale4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 395536 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 395589 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})S SELECT st_resample($1, $2, $4, $5, $3) t|n gZDst_resample M0Bs{C{C{C rastref4algorithm(maxerr0usescale ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 394385 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 394438 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 394471 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) DECLARE rastsrid int; _srid int; _dimx int; _dimy int; _scalex double precision; _scaley double precision; _gridx double precision; _gridy double precision; _skewx double precision; _skewy double precision; BEGIN SELECT srid, width, height, scalex, scaley, upperleftx, upperlefty, skewx, skewy INTO _srid, _dimx, _dimy, _scalex, _scaley, _gridx, _gridy, _skewx, _skewy FROM st_metadata($2); rastsrid := public.ST_SRID($1); -- both rasters must have the same SRID IF (rastsrid != _srid) THEN RAISE EXCEPTION 'The raster to be resampled has a different SRID from the reference raster'; RETURN NULL; END IF; IF usescale IS TRUE THEN _dimx := NULL; _dimy := NULL; ELSE _scalex := NULL; _scaley := NULL; END IF; RETURN public._ST_gdalwarp($1, $3, $4, NULL, _scalex, _scaley, _gridx, _gridy, _skewx, _skewy, _dimx, _dimy); END; t{n gYDst_resample Bs {C {C  rast$width(height$gridx$gridy$skewx$skewy4algorithm(maxerr({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 393966 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 394003 :constvalue <>} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 394041 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 394075 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 394102 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 394154 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1}) SELECT public._ST_gdalwarp($1, $8, $9, NULL, NULL, NULL, $4, $5, $6, $7, $2, $3) tzn gXDst_resample Bs {C {C  rast(scalex(scaley$gridx$gridy$skewx$skewy4algorithm(maxerr({FUNCEXPR :func@id 316 resulttyp e 701tset falsevariadic format 2collid 0 :inputargs ({CONST :consn23mod -1;len 4 byval trueisnulllocation 393462$value 4 [ 0 ]}B)5-1} )97)"8 I 53<>b6f9/360/3#)4P?\,25 10 o652 0 [ 878 101 97 114 115 116105 103 104 `98 11".]174n1763U#72CU8 [ 32T-1 -127 -30 &,) SELECT public._ST_gdalwarp($1, $8, $9, NULL, $2, $3, $4, $5, $6, $7) tyn gWD_st_gdalwarp ?s {C  {C  rast4algorithm(maxerr srid(scalex(scaley$gridx$gridy$skewx$skewy$width(heightB ({CONST :constty pe 25mod -1collid 100lenbyval false isnullocation 3 92769$value 20 [ 80 78 101 97 114 115 116105 103 104 908 11".]} {FUNCEXPR :func746 resDul701tsetvar iadic format 2 0 :inpu0 :args 9U176WU/826U8 [ 32T-1 -127 -30 &)31n:8; 4 [)925)8 /953"_96/330v3/3#)6%d?\,o2K309?[L1_)!RASTER_GDALWarp-$libdir/rtpostgis-2.3txn gVDst_asraster Bs{C@{C geomref4pixeltype$value4nodataval,touched ({FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 392201 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 392240 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 392268 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public.ST_AsRaster($1, $2, ARRAY[$3]::text[], ARRAY[$4]::double precision[], ARRAY[$5]::double precision[], $6) 8<h  PV  p0ȄphtPo  ' Est_samealignment ?i{C{C[$rast1$rast2+RASTER_sameAlignment-$libdir/rtpostgis-2.3to gcDst_reskew Bs{C{C rast(skewxy4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 398747 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 398799 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1}) SELECT public._ST_GdalWarp($1, $3, $4, NULL, 0, 0, NULL, NULL, $2, $2) to gbDst_reskew Bs{C{C rast$skewx$skewy4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 398461 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 398513 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1}) SELECT public._ST_GdalWarp($1, $4, $5, NULL, 0, 0, NULL, NULL, $2, $3) to gaDst_rescale Bs{C{C rast,scalexy4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 398012 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 398064 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})q SELECT public._ST_GdalWarp($1, $3, $4, NULL, $2, $2) to g`Dst_rescale Bs{C{C rast(scalex(scaley4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 397741 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 397793 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})q SELECT public._ST_GdalWarp($1, $4, $5, NULL, $2, $3) to g_Dst_transform M0Bs{C{C{C rast,alignto4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 396871 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 396923 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})` DECLARE _srid integer; _scalex double precision; _scaley double precision; _gridx double precision; _gridy double precision; _skewx double precision; _skewy double precision; BEGIN SELECT srid, scalex, scaley, upperleftx, upperlefty, skewx, skewy INTO _srid, _scalex, _scaley, _gridx, _gridy, _skewx, _skewy FROM st_metadata($2); RETURN public._ST_gdalwarp($1, $3, $4, _srid, _scalex, _scaley, _gridx, _gridy, _skewx, _skewy, NULL, NULL); END; to g^Dst_transform Bs{C{C rast srid,scalexy4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 396606 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 396658 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})k SELECT public._ST_gdalwarp($1, $4, $5, $2, $3, $3) to g]Dst_transform Bs{C{C rast srid(scalex(scaley4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 396322 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 396374 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})k SELECT public._ST_gdalwarp($1, $5, $6, $2, $3, $4) t~o g\Dst_transform Bs{C{C rast srid4algorithm(maxerr(scalex(scaleyx({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 395944 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 395996 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 396035 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1} {FUNCEXPR :funcid 316 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 396070 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location -1})k SELECT public._ST_gdalwarp($1, $3, $4, $2, $5, $6) x8  0 PȌ Hx Nthp ':E_st_containsproperly zDi{C{C$rast1(nband1$rast2(nband21RASTER_containsProperly-$libdir/rtpostgis-2.3tp gjDst_mapalgebraexpr ?i{C{C rast band4pixeltype8expression4nodataval(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 403949 :constvalue <>})-RASTER_mapAlgebraExpr-$libdir/rtpostgis-2.3tp giDst_resize M0Bs{C{C rast@percentwidthDpercentheight4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 402680 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 402732 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1}) DECLARE _width integer; _height integer; BEGIN -- range check IF $2 <= 0. OR $2 > 1. OR $3 <= 0. OR $3 > 1. THEN RAISE EXCEPTION 'Percentages must be a value greater than zero and less than or equal to one, e.g. 0.5 for 50%%'; END IF; SELECT width, height INTO _width, _height FROM public.ST_Metadata($1); _width := round(_width::double precision * $2)::integer; _height:= round(_height::double precision * $3)::integer; IF _width < 1 THEN _width := 1; END IF; IF _height < 1 THEN _height := 1; END IF; RETURN public._ST_gdalwarp( $1, $4, $5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, _width, _height ); END; tp ghDst_resize Bs{C{C rast$width(height4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 402323 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 402375 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1}) SELECT public._ST_gdalwarp($1, $4, $5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, abs($2), abs($3)) tp ggDst_resize M0Bs{C{C rast$width(height4algorithm(maxerr0({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 400428 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 400480 :constvalue 8 [ 32 0 0 0 -1 -127 -30 4 ]}) :location -1})  DECLARE i integer; wh text[2]d double precision._widthP _heightBEGINH[1] := trim(both from H$2)g[23)k-- see if tand lare percentages FOR i IN 1..2 LOOP IF position('%' in wh[i]) > 0 THE  i(regexp_matches(, E'^(\\d*.?)%{1}$'))[1:slength2) < 1j RAISE invalid_parameter_valueDEND IFdR:: * 0.01=EXCEPTION WHEN O THERS -- TODO:9 !vN'I 0x 1provided for/'RETURN NULLND ELS!%iabv::$\"7only handle appropriate SQLST ATwNon-?m0 !IF 1] IS NOT: OR2 %8SELEC@T foo., 4 INTO 3, 5FROM public.ST_Metadata($1) A~S?#_&3round(g/G)kkCk;l2l  AFhould NEVER be here.)Unato bd1 _matrix[x][y] THEN min := _matrix[x][y]; END IF; END LOOP; END LOOP; RETURN min; END; tq  ?yDst_max4ma M0BiC1iivs(matrix8nodatamode args DECLARE _matrix float[][]; max float; BEGIN _matrix := matrix; max := '-Infinity'::float; FOR x in array_lower(_matrix, 1)..array_upper(_matrix, 1) LOOP FOR y in array_lower(_matrix, 2)..array_upper(_matrix, 2) LOOP IF _matrix[x][y] IS NULL THEN IF NOT nodatamode = 'ignore' THEN _matrix[x][y] := nodatamode::float; END IF; END IF; IF max < _matrix[x][y] THEN max := _matrix[x][y]; END IF; END LOOP; END LOOP; RETURN max; END; tq  ?xDst_mapalgebrafctngb ?i{C{Ck{C;iiiiiiiv rast band4pixeltype0ngbwidth4ngbheightXonerastngbuserfunc8nodatamode args1RASTER_mapAlgebraFctNgb-$libdir/rtpostgis-2.3tq wDst_mapalgebrafct Bs{C{C{C[{C{C7iiiiiv$rast1$rast2Ltworastuserfunc4pixeltype8extenttype0userargsD({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 408220 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 408250 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 408300 :constvalue <>}) SELECT public.ST_mapalgebrafct($1, 1, $2, 1, $3, $4, $5, VARIADIC $6) tq vDst_mapalgebrafct ?s{C{C{Ck{C{C;iiiiiiiv $rast1$band1$rast2$band2Ltworastuserfunc4pixeltype8extenttype0userargsD({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407914 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 407944 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407994 :constvalue <>})'RASTER_mapAlgebra2-$libdir/rtpostgis-2.3tq guDst_mapalgebraexpr Bs{C{C{CP$rast1$rast28expression4pixeltype8extenttype<nodata1expr<nodata2exprLnodatanodatavalp ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407475 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 407505 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407547 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407578 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 407626 :constvalue <>}) SELECT public.ST_mapalgebraexpr($1, 1, $2, 1, $3, $4, $5, $6, $7, $8) tq gtDst_mapalgebraexpr ?s {C {C{C $rast1$band1$rast2$band28expression4pixeltype8extenttype<nodata1expr<nodata2exprLnodatanodatavalp ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407110 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 407140 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407182 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 407213 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 407261 :constvalue <>})'RASTER_mapAlgebra2-$libdir/rtpostgis-2.3tq 'sDst_mapalgebrafct Bv{C{Cc rastLonerastuserfuncq SELECT public.ST_mapalgebrafct($1, 1, NULL, $2, NULL) tq ?rDst_mapalgebrafct Bv{C{CC{C1iivs rastLonerastuserfunc args SELECT public.ST_mapalgebrafct($1, 1, NULL, $2, VARIADIC $3) tq 'qDst_mapalgebrafct Bv{C{C rast4pixeltypeLonerastuserfuncm SELECT public.ST_mapalgebrafct($1, 1, $2, $3, NULL) tq ?pDst_mapalgebrafct Bv{C{CK{C3iiiv rast4pixeltypeLonerastuserfunc args{ SELECT public.ST_mapalgebrafct($1, 1, $2, $3, VARIADIC $4) <`  Hd 0& T (~`tfr  '8Est_contains zDi{C{C$rast1(nband1$rast2(nband2 SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_contains(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._st_contains($1, $2, $3, $4) END tr gDst_mapalgebra Bs{C{C rast4pixeltype8expression4nodataval(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 418752 :constvalue <>})c SELECT public.ST_mapalgebra($1, 1, $2, $3, $4) tr Dst_mapalgebra Bs{CC{CkC{C;iiiiiiiv`Hrastbandargset@callbackfunc4pixeltype8extenttype@customextent4distancex4distancey0userargs(({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 414960 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 414991 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 17275 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 415035 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 415068 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 415097 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 415134 :constvalue <>}) SELECT public._ST_MapAlgebra($1, $2, $3, $6, $7, $4, $5,NULL::double precision [],NULL::boolean, VARIADIC $8) tr D_st_mapalgebra ?s {C C{C{ C{C? iiiiiiiiiv Hrastbandargset@callbackfunc4pixeltype4distancex4distancey8extenttype@customextent mask0weighted0userargsX({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 414491 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 414524 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 414553 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 414581 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 17275 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 414625 :constvalue <>} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 414666 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull true :location 414697 :constvalue <>} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 414737 :constvalue <>})'RASTER_nMapAlgebra-$libdir/rtpostgis-2.3tr ?Dst_stddev4ma BiC1iivs(matrix8nodatamode argsQ SELECT stddev(unnest) FROM unnest($1) tr ?~Dst_distinct4ma BiC1iivs(matrix8nodatamode argso SELECT COUNT(DISTINCT unnest)::float FROM unnest($1) tr ?}Dst_range4ma M0BiC1iivs(matrix8nodatamode args DECLARE _matrix float[][]; min float; max float; BEGIN _matrix := matrix; min := 'Infinity'::float; max := '-Infinity'::float; FOR x in array_lower(matrix, 1)..array_upper(matrix, 1) LOOP FOR y in array_lower(matrix, 2)..array_upper(matrix, 2) LOOP IF _matrix[x][y] IS NULL THEN IF NOT nodatamode = 'ignore' THEN _matrix[x][y] := nodatamode::float; END IF; END IF; IF min > _matrix[x][y] THEN min = _matrix[x][y]; END IF; IF max < _matrix[x][y] THEN max = _matrix[x][y]; END IF; END LOOP; END LOOP; IF max = '-Infinity'::float OR min = 'Infinity'::float THEN RETURN NULL; END IF; RETURN max - min; END; tr ?|Dst_mean4ma M0BiC1iivs(matrix8nodatamode args DECLARE _matrix float[][]; sum float; count float; BEGIN _matrix := matrix; sum := 0; count := 0; FOR x in array_lower(matrix, 1)..array_upper(matrix, 1) LOOP FOR y in array_lower(matrix, 2)..array_upper(matrix, 2) LOOP IF _matrix[x][y] IS NULL THEN IF nodatamode = 'ignore' THEN _matrix[x][y] := 0; ELSE _matrix[x][y] := nodatamode::float; count := count + 1; END IF; ELSE count := count + 1; END IF; sum := sum + _matrix[x][y]; END LOOP; END LOOP; IF count = 0 THEN RETURN NULL; END IF; RETURN sum / count; END; tr ?{Dst_sum4ma M0BiC1iivs(matrix8nodatamode args8 DECLARE _matrix float[][]; sum float; BEGIN _matrix := matrix; sum := 0; FOR x in array_lower(matrix, 1)..array_upper(matrix, 1) LOOP FOR y in array_lower(matrix, 2)..array_upper(matrix, 2) LOOP IF _matrix[x][y] IS NULL THEN IF nodatamode = 'ignore' THEN _matrix[x][y] := 0; ELSE _matrix[x][y] := nodatamode::float; END IF; END IF; sum := sum + _matrix[x][y]; END LOOP; END LOOP; RETURN sum; END; 4h  Hh| p*  h6tgs '9Est_contains zDi{C{C[$rast1$rast2 SELECT public.st_contains($1, NULL::integer, $2, NULL::integer) ts gDst_mapalgebra Bs{C{C rast$nband4pixeltype8expression4nodataval(({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 418477 :constvalue <>}) SELECT public._ST_mapalgebra(ARRAY[ROW($1, $2)]::rastbandarg[], $4, $3, 'FIRST', $5::text) ts gD_st_mapalgebra ?s{CC@Hrastbandargset8expression4pixeltype8extenttype<nodata1expr<nodata2exprLnodatanodatavalp ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 418085 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 418115 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 418157 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 418188 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 418236 :constvalue <>})/RASTER_nMapAlgebraExpr-$libdir/rtpostgis-2.3ts Dst_mapalgebra Bs {C {C{Cs {C{C= iiiiiiiiv0  rast$nband@callbackfunc mask0weighted4pixeltype8extenttype@customextent0userargsh ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 417481 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 417512 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 17275 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 417556 :constvalue <>} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 417596 :constvalue <>}) select public._ST_mapalgebra(ARRAY[ROW($1,$2)]::rastbandarg[],$3,$6,NULL::integer,NULL::integer,$7,$8,$4,$5,VARIADIC $9) ts Dst_mapalgebra Bs {C {C{C{C {C{C{CA iiiiiiiiiiv $rast1(nband1$rast2(nband2@callbackfunc4pixeltype8extenttype@customextent4distancex4distancey0userargs(({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 416927 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 416958 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 17275 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 417002 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 417035 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 417064 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 417101 :constvalue <>}) SELECT public._ST_MapAlgebra(ARRAY[ROW($1, $2), ROW($3, $4)]::rastbandarg[], $5, $6, $9, $10, $7, $8,NULL::double precision [],NULL::boolean, VARIADIC $11) ts Dst_mapalgebra Bs {C {C{Cs {C{C= iiiiiiiiv`  rast$nband@callbackfunc4pixeltype8extenttype@customextent4distancex4distancey0userargs ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 416413 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 416444 :constvalue 9 [ 36 0 0 0 70 73 82 83 84 ]} {CONST :consttype 17275 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 416481 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 416514 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 416543 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 416580 :constvalue <>})H SELECT public._ST_MapAlgebra(ARRAY[ROW($1, $2)]::rastbandarg[], $3, $4, $7, $8, $5, $6,NULL::double precision [],NULL::boolean, VARIADIC $9) ts Dst_mapalgebra M0Bs {C {C{Cs {C{C= iiiiiiiiv`  rast$nband@callbackfunc4pixeltype8extenttype@customextent4distancex4distancey0userargs ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 415423 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 415454 :constvalue 9 [ 36 0 0 0 70 73 82 83 84 ]} {CONST :consttype 17275 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 415491 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 415524 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 415553 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 415590 :constvalue <>}) DECLARE x int; argset rastbandarg[]; BEGIN IF $2 IS NULL OR array_ndims($2) < 1 OR array_length($2, 1) < 1 THEN RAISE EXCEPTION 'Populated 1D array must be provided for nband'; RETURN NULL; END IF; FOR x IN array_lower($2, 1)..array_upper($2, 1) LOOP IF $2[x] IS NULL THEN CONTINUE; END IF; argset := argset || ROW($1, $2[x])::rastbandarg; END LOOP; IF array_length(argset, 1) < 1 THEN RAISE EXCEPTION 'Populated 1D array must be provided for nband'; RETURN NULL; END IF; RETURN public._ST_MapAlgebra(argset, $3, $4, $7, $8, $5, $6,NULL::double precision [],NULL::boolean, VARIADIC $9); END; x 4P  @x Ȗ: @ PtQt '!Est_samealignment Bi   `  ulx1 uly1,scalex1,scaley1(skewx1(skewy1 ulx2 uly2,scalex2,scaley2(skewx2(skewy2 SELECT st_samealignment(st_makeemptyraster(1, 1, $1, $2, $3, $4, $5, $6), st_makeemptyraster(1, 1, $7, $8, $9, $10, $11, $12)) tt Dst_sum4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 423462 :constvalue <>}) DECLARE _value double precision[][][]; sum double precision; x int; y int; z int; ndims int; BEGIN sum := 0; ndims := array_ndims(value); -- add a third dimension if 2-dimension IF ndims = 2 THEN _value := public._ST_convertarray4ma(value); ELSEIF ndims != 3 THEN RAISE EXCEPTION 'First parameter of function must be a 3-dimension array'; ELSE _value := value; END IF; -- raster FOR z IN array_lower(_value, 1)..array_upper(_value, 1) LOOP -- row FOR y IN array_lower(_value, 2)..array_upper(_value, 2) LOOP -- column FOR x IN array_lower(_value, 3)..array_upper(_value, 3) LOOP IF _value[z][y][x] IS NULL THEN IF array_length(userargs, 1) > 0 THEN _value[z][y][x] = userargs[array_lower(userargs, 1)]::double precision; ELSE CONTINUE; END IF; END IF; sum := sum + _value[z][y][x]; END LOOP; END LOOP; END LOOP; RETURN sum; END; tt Dst_min4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 422181 :constvalue <>}) DECLARE _value double precision[][][]; min double precision; x int; y int; z int; ndims int; BEGIN min := 'Infinity'::double precision; ndims := array_ndims(value); -- add a third dimension if 2-dimension IF ndims = 2 THEN _value := public._ST_convertarray4ma(value); ELSEIF ndims != 3 THEN RAISE EXCEPTION 'First parameter of function must be a 3-dimension array'; ELSE _value := value; END IF; -- raster FOR z IN array_lower(_value, 1)..array_upper(_value, 1) LOOP -- row FOR y IN array_lower(_value, 2)..array_upper(_value, 2) LOOP -- column FOR x IN array_lower(_value, 3)..array_upper(_value, 3) LOOP IF _value[z][y][x] IS NULL THEN IF array_length(userargs, 1) > 0 THEN _value[z][y][x] = userargs[array_lower(userargs, 1)]::double precision; ELSE CONTINUE; END IF; END IF; IF _value[z][y][x] < min THEN min := _value[z][y][x]; END IF; END LOOP; END LOOP; END LOOP; IF min = 'Infinity'::double precision THEN RETURN NULL; END IF; RETURN min; END; tt Dst_max4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 420898 :constvalue <>})$ DECLARE _value double precision[][][]; max double precision; x int; y int; z int; ndims int; BEGIN max := '-Infinity'::double precision; ndims := array_ndims(value); -- add a third dimension if 2-dimension IF ndims = 2 THEN _value := public._ST_convertarray4ma(value); ELSEIF ndims != 3 THEN RAISE EXCEPTION 'First parameter of function must be a 3-dimension array'; ELSE _value := value; END IF; -- raster FOR z IN array_lower(_value, 1)..array_upper(_value, 1) LOOP -- row FOR y IN array_lower(_value, 2)..array_upper(_value, 2) LOOP -- column FOR x IN array_lower(_value, 3)..array_upper(_value, 3) LOOP IF _value[z][y][x] IS NULL THEN IF array_length(userargs, 1) > 0 THEN _value[z][y][x] = userargs[array_lower(userargs, 1)]::double precision; ELSE CONTINUE; END IF; END IF; IF _value[z][y][x] > max THEN max := _value[z][y][x]; END IF; END LOOP; END LOOP; END LOOP; IF max = '-Infinity'::double precision THEN RETURN NULL; END IF; RETURN max; END; tt 'D_st_convertarray4ma M0BipC$valueD DECLARE _value double precision[][][]; x int; y int; BEGIN IF array_ndims(value) != 2 THEN RAISE EXCEPTION 'Function parameter must be a 2-dimension array'; END IF; _value := array_fill(NULL::double precision, ARRAY[1, array_length(value, 1), array_length(value, 2)]::int[], ARRAY[1, array_lower(value, 1), array_lower(value, 2)]::int[]); -- row FOR y IN array_lower(value, 1)..array_upper(value, 1) LOOP -- column FOR x IN array_lower(value, 2)..array_upper(value, 2) LOOP _value[1][y][x] = value[y][x]; END LOOP; END LOOP; RETURN _value; END; tt gDst_mapalgebra Bs{C{C{CP$rast1$rast28expression4pixeltype8extenttype<nodata1expr<nodata2exprLnodatanodatavalp ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 419426 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 419456 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 419498 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 419529 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 419577 :constvalue <>}) SELECT public.ST_mapalgebra($1, 1, $2, 1, $3, $4, $5, $6, $7, $8) tt gDst_mapalgebra Bs {C {C{C $rast1$band1$rast2$band28expression4pixeltype8extenttype<nodata1expr<nodata2exprLnodatanodatavalp ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 419001 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 419031 :constvalue 16 [ 64 0 0 0 73 78 84 69 82 83 69 67 84 73 79 78 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 419073 :constvalue <>} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 419104 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 419152 :constvalue <>}) SELECT public._ST_mapalgebra(ARRAY[ROW($1, $2), ROW($3, $4)]::rastbandarg[], $5, $6, $7, $8, $9, $10) 8H   `d hȍ؇ h H>teu '7E_st_contains zDi{C{C$rast1(nband1$rast2(nband2!RASTER_contains-$libdir/rtpostgis-2.3tu D_st_slope4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 435131 :constvalue <>}) DECLARE x integer;  y z _pixwidth double precisi on,height: 7 units text scale* dz_dxEBy5slopP_valu[]AWndims"; BEGIN6:= arraTy_(J)4-- add a third dimenV if 2- IF L= 2 THEN := public._ST_conveDrtq4manELSEH!= 3IRAISE EXCEPTION 'First parameter of functmust be a 3'g  ND IFP-- only use the frrasopassed ttos{Kl@ength(e, 1) > 1 NOTICE 'bOiingk3s from{!lowerpaIF (p#2B)e1 ORBupp3 ORA3A 3 )A.1x3x3e with each, bounds star6tI>1/us@erargs< 6At least six elementsprovided for313 G:=!c[1]::O /2/Zv3+W4,C +5BZD 6D 3Zcheck that cen2Rixel isn't NODATA#M[z][2 IS NULLETURNDsubstitute \any nbosarewE!FOR y IN 1..3 LOOP x y][xFv#=  9? h (Rc6:= (4Q3][1h] +c3F3]) -nM1M1;3])) / 'ex - ?2232Jx{:= sqrtR(* +yy=(8 * 3SaPutput depeAon201!ference CASEA#ring(SRtrim(leadF3))"3)@-- per!agesWHEN 'PER''100.0 * "Y-- radian=rad=atan(r;degrees (defaulto5J:'(BsN})H DECLARE _value double precis ion[]; ndims int; d* DEFAULT NULL1_$;zEege*r%x y  c c c*v\w %h max_dx6y`BEGINX:= array_(2)B-- add a third dimenif 2-@ IF L= 2 THEN  |:= public._ST_convertq4manELSE!H!= 3IRAISE EXCEPTION 'First parameter of functmust be a 3'g  ND IFr-- only use the "frrasopassed tos{Klength(e, 1) > 1 NOT@ICE 'Oii ngk3s fr|om{!tl0owerpwidth and height (0-based)#"K@upp@2)T -Y2w8383max distancecenVixel':= w / 2(:= hKcorrect1w + 13=E!should!Codd n@umbersw % 2.!(BWQof nPb@orhood does not permit `for aIF huHv3] s coordinate c+/* c)'G s3S:= -[z][cy][cx]4heck1seeA DhasHIF cv IS1wRMETURN 0.FOR y IN..a?:LOOPX@xu@3@3@Askip NODA|TAE!<4$y0][x]OR (x = cx@ AND y y) CONTINUEQpythagoreanAorem _dsqrt(pcx - x+ y - y); --7[F= %', _d|IF d _d < d}/  E { yrq$OEND; tu Dst_invdistweight4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 428057 :constvalue <>})D tu Dst_stddev4ma BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 427596 :constvalue <>})Q SELECT stddev(unnest) FROM unnest($1) tu Dst_distinct4ma BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 427341 :constvalue <>}) SELECT COUNT(DISTINCT unnest)::double precision FROM unnest($1) tu Dst_range4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 425868 :constvalue <>}) DECLARE _value double precision[][][]; min double precision; max double precision; x int; y int; z int; ndims int; BEGIN min := 'Infinity'::double precision; max := '-Infinity'::double precision; ndims := array_ndims(value); -- add a third dimension if 2-dimension IF ndims = 2 THEN _value := public._ST_convertarray4ma(value); ELSEIF ndims != 3 THEN RAISE EXCEPTION 'First parameter of function must be a 3-dimension array'; ELSE _value := value; END IF; -- raster FOR z IN array_lower(_value, 1)..array_upper(_value, 1) LOOP -- row FOR y IN array_lower(_value, 2)..array_upper(_value, 2) LOOP -- column FOR x IN array_lower(_value, 3)..array_upper(_value, 3) LOOP IF _value[z][y][x] IS NULL THEN IF array_length(userargs, 1) > 0 THEN _value[z][y][x] = userargs[array_lower(userargs, 1)]::double precision; ELSE CONTINUE; END IF; END IF; IF _value[z][y][x] < min THEN min := _value[z][y][x]; END IF; IF _value[z][y][x] > max THEN max := _value[z][y][x]; END IF; END LOOP; END LOOP; END LOOP; IF max = '-Infinity'::double precision OR min = 'Infinity'::double precision THEN RETURN NULL; END IF; RETURN max - min; END; tu Dst_mean4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 424602 :constvalue <>}) DECLARE _value double precision[][][]; sum double precision; count int; x int; y int; z int; ndims int; BEGIN sum := 0; count := 0; ndims := array_ndims(value); -- add a third dimension if 2-dimension IF ndims = 2 THEN _value := public._ST_convertarray4ma(value); ELSEIF ndims != 3 THEN RAISE EXCEPTION 'First parameter of function must be a 3-dimension array'; ELSE _value := value; END IF; -- raster FOR z IN array_lower(_value, 1)..array_upper(_value, 1) LOOP -- row FOR y IN array_lower(_value, 2)..array_upper(_value, 2) LOOP -- column FOR x IN array_lower(_value, 3)..array_upper(_value, 3) LOOP IF _value[z][y][x] IS NULL THEN IF array_length(userargs, 1) > 0 THEN _value[z][y][x] = userargs[array_lower(userargs, 1)]::double precision; ELSE CONTINUE; END IF; END IF; sum := sum + _value[z][y][x]; count := count + 1; END LOOP; END LOOP; END LOOP; IF count < 1 THEN RETURN NULL; END IF; RETURN sum / count::double precision; END; =0`  @v : $ h@`^tv Dst_pixelofvalue ?zDi{Cc{C9iiiiooo rast$nband(search`exclude_nodata_valuevalxyt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 466802 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}))RASTER_pixelOfValue-$libdir/rtpostgis-2.3tv gDst_aspect Bi{C{C rast$nband4pixeltype$unitsXinterpolate_nodata ({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 444017 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 444044 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 444071 :constvalue 11 [ 44 0 0 0 68 69 71 82 69 69 83 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 444118 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})y SELECT public.ST_aspect($1, $2, NULL::raster, $3, $4, $5) tv gDst_aspect M0Bi{C{C{C rast$nband@customextent4pixeltype$unitsXinterpolate_nodata({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 442776 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 442803 :constvalue 11 [ 44 0 0 0 68 69 71 82 69 69 83 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 442850 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})  DECLARE _rast raster; _nband integer; _pixtype text; _width integer; _height integer; _customextent raster; _extenttype text; BEGIN _customextent := customextent; IF _customextent IS NULL THEN _extenttype := 'FIRST'; ELSE _extenttype := 'CUSTOM'; END IF; IF interpolate_nodata IS TRUE THEN _rast := public.ST_MapAlgebra( ARRAY[ROW(rast, nband)]::rastbandarg[], 'st_invdistweight4ma(double precision[][][], integer[][], text[])'::regprocedure, pixeltype, 'FIRST', NULL, 1, 1 ); _nband := 1; _pixtype := NULL; ELSE _rast := rast; _nband := nband; _pixtype := pixeltype; END IF; -- get properties SELECT width, height INTO _width, _height FROM public.ST_Metadata(_rast); RETURN public.ST_MapAlgebra( ARRAY[ROW(_rast, _nband)]::rastbandarg[], ' public._ST_aspect4ma(double precision[][][], integer[][], text[])'::regprocedure, _pixtype, _extenttype, _customextent, 1, 1, _width::text, _height::text, units::text ); END; tv D_st_aspect4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 439986 :constvalue <>}), DECLARE x integer;  y z _width double precision)_heightunits textGdz_dx *yaspec_halfpi{value []=ndims; BEGIN:= arPray_(I)3-- add a third dimenU if 2- IF L= 2 THE]:= public._ST_conveDrtq4manELSEH!= 3IRAISE EXCEPTION 'First parameter of functmust be a 3'g  ND IFOIF (&lower(2, 2)1 O"R8upp3 4ORA3A 3  ).1x3x3e with each,the  bounds starting from 1+ength(userargs, 1) < At least three elementsprovided for#m -- only us+e f raspassed toFsm1) > 1 NOTICE 'Oik3s" { AO6V1)Ia :=J[1]:v:Oq ,2,C +3]q:check that cen2ixel isn't NODATA-[z][2 IS NULL)ETURND+subst`itute \any nbobsarew5FOR y IN 1..3 LOO6Px y][x6#=   h (S0:= (Q3][1] +c3F3]) -nM1M1;3])RZc  22~2&dlc1lDat4bs() = 0/ AND%y%,-1OT}in radiansw1tanb2g, -=north|, p@i/2 = A, 3westqi() / 2.0h> $(5.0 * ) i-F %7[+q*r0._{utput depea6onBikference @ CASECring(ctrim(leadfdC$))B!3)|--{ WHEN 'rad'74degrees (defaultoL3%(;rN D END; tv gDst_slope Bi{C{C rast$nband4pixeltype$units$scaleXinterpolate_nodata({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 439357 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 439384 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 439411 :constvalue 11 [ 44 0 0 0 68 69 71 82 69 69 83 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 439454 :constvalue 8 [ 32 0 0 0 -128 -128 1 0 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 439494 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public.ST_slope($1, $2, NULL::raster, $3, $4, $5, $6) tv gDst_slope M0Bi{C{C{C rast$nband@customextent4pixeltype$units$scaleXinterpolate_nodatax ({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 437880 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 437907 :constvalue 11 [ 44 0 0 0 68 69 71 82 69 69 83 ]} {FUNCEXPR :funcid 1746 :funcresulttype 701 :funcretset false :funcvariadic false :funcformat 2 :funccollid 0 :inputcollid 0 :args ({CONST :consttype 1700 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull false :location 437950 :constvalue 8 [ 32 0 0 0 -128 -128 1 0 ]}) :location -1} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 437990 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})~  DECLARE _rasDt er;nband integpixtype textwidth double pre@cisionheight: `. customexten  BEGIN3:=F  Bq-- get properties*cPCW((-H.SELECT ], 8 INTO #, !%FROMeta! L REpTURN/'5, $/'H_ST_slope/2 7,;O!5::[, d& # unitsscale #pEND; 0h  D ` hVtw 'Dst_setvalue Bi{C{C@c rast geom0newvalue SELECT public.ST_setvalues($1, 1, ARRAY[ROW($2, $3)]::geomval[], FALSE) tw gDst_tpi M0Bi{C{C{C rast$nband@customextent4pixeltypeXinterpolate_nodata({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 453329 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 453372 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) DECLARE _rast raster; _nband integer; _pixtype text; _pixwidth double precision; _pixheight double precision; _width integer; _height integer; _customextent raster; _extenttype text; BEGIN _customextent := customextent; IF _customextent IS NULL THEN _extenttype := 'FIRST'; ELSE _extenttype := 'CUSTOM'; END IF; IF interpolate_nodata IS TRUE THEN _rast := public.ST_MapAlgebra( ARRAY[ROW(rast, nband)]::rastbandarg[], 'st_invdistweight4ma(double precision[][][], integer[][], text[])'::regprocedure, pixeltype, 'FIRST', NULL, 1, 1 ); _nband := 1; _pixtype := NULL; ELSE _rast := rast; _nband := nband; _pixtype := pixeltype; END IF; -- get properties _pixwidth := public.ST_PixelWidth(_rast); _pixheight := public.ST_PixelHeight(_rast); SELECT width, height INTO _width, _height FROM public.ST_Metadata(_rast); RETURN public.ST_MapAlgebra( ARRAY[ROW(_rast, _nband)]::rastbandarg[], ' public._ST_tpi4ma(double precision[][][], integer[][], text[])'::regprocedure, _pixtype, _extenttype, _customextent, 1, 1); END; tw D_st_tpi4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 451006 :constvalue <>})B\ DECLARE x integer;  y z Z1 double precisHion%Z23U456789 tpi0mean_value []!ndims4; BEGIN:= arPray_(I)3-- add a third dimenU if 2- IF L= 2 THE]:= public._ST_conveDrtq4manELSEH!= 3IRAISE EXCEPTION 'First parameter of functmust be a 3'g  ND IF-- only use the frrasopassed ttos{Kl@ength(e, 1) > 1 NOTICE 'bOiingk3s from{1lowerpaIF (p#2B)e1 ORBupp3 ORA3A 3 )A.1x3x3e with each, bounds star6tI>1/check that cenixel isn't NODATA: [z][2 I@S NULLE0TURN4-substitute \for any neighbosarew%FOR y IN 1..3 LOlOPx y][x&#=  )` h V4| Z1= Z(-1,1) | Z20,1) | Z3  |4hj4h0h5hZ*6h0h27h-1)h8h9ih%c:1d 23 34K#Z5K6Kj7K38K9Ke:= (Z@1 + Z23U4678a9)/8Oq0:`= Z5-? return@ tpi; !; tw gDst_hillshade Bi{C{C  rast$nband4pixeltype,azimuth0altitude8max_bright$scaleXinterpolate_nodata({CONST :constty pe 23mod -1col lid 0len 4 byva@l trueisnull false :location 450365$value 4 [ 1 0 ]} 810 92 8 [ 3251 50 66 7FUNCEXPR :func746 resul701tsetvvariadic format 2rinpu args 17g$#43$-12859 1 ]})=-16f7+645"654186-A@65665N o597 1 [l SELECT public.ST_hillshade($1, $2, NULL::raster, $3, $4, $5, $6, $7, $8) tw gDst_hillshade M0Bi {C {C{C`  rast$nband@customextent4pixeltype,azimuth0altitude8max_bright$scaleXinterpolate_nodataJ({CONST :constty pe 25mod -1collid 100lenbyval false isnullocation 44876Cvalue 8 [ 32 051 50 66 70 ]} {FUNCEXPR :fuDnc746 resul701atsetvvariadic format 20 :inpu0 :args $17&$/802$-12859 1 ]})=-1643645 !]6866-1692465 tru6U1 []}) DECLARE _rast raster; _nband integer; _pixtype text; _pixwidth double precision; _pixheight double precision; _width integer; _height integer; _customextent raster; _extenttype text; BEGIN _customextent := customextent; IF _customextent IS NULL THEN _extenttype := 'FIRST'; ELSE _extenttype := 'CUSTOM'; END IF; IF interpolate_nodata IS TRUE THEN _rast := public.ST_MapAlgebra( ARRAY[ROW(rast, nband)]::rastbandarg[], 'st_invdistweight4ma(double precision[][][], integer[][], text[])'::regprocedure, pixeltype, 'FIRST', NULL, 1, 1 ); _nband := 1; _pixtype := NULL; ELSE _rast := rast; _nband := nband; _pixtype := pixeltype; END IF; -- get properties _pixwidth := public.ST_PixelWidth(_rast); _pixheight := public.ST_PixelHeight(_rast); SELECT width, height, scalex INTO _width, _height FROM public.ST_Metadata(_rast); RETURN public.ST_MapAlgebra( ARRAY[ROW(_rast, _nband)]::rastbandarg[], ' public._ST_hillshade4ma(double precision[][][], integer[][], text[])'::regprocedure, _pixtype, _extenttype, _customextent, 1, 1, _pixwidth::text, _pixheight::text, _width::text, _height::text, $5::text, $6::text, $7::text, $8::text ); END; tw D_st_hillshade4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 444613 :constvalue <>})v DECLARE _pixwidth double precision;height: A7 azimu9altitudebrWscal7 dz_dx6y zenBislopaspecshaCvalu[] 1 NOTICE 'Oik3s" { 1j6V1)3VZ:=M`[1]::_j /2/Z3+W4,E -5-U .6.T ,7,S +8+#-check that pixel is not 0edge4poa[1] 42) $f )Q8ETURN NULL/clamp Xf< 0.}/C7!6=5C%q10',Mz0.Xs>= 36vSxbe between 0 8andS  - (~* floor(/)c&6cC7-J+ 9?1?"fradians(t#$/= %',Y45(6og8>,x+9y X S6[6Z YCDWDQU4SGO > 255q*255s\LD:= (db[z][3B+ 23]) -uMC )C3])) / (8 * g۳q 3 E229 RsA0tan@(sqrt(* +yyHc@IF(!!>G X2Ty, -,:B'* < + (2.0 * xpi(S18xy >M= / 2"n%3(2QvQB-- set!pi assBie exDed PostgreSQL ansin Linux 76aa4B* ((cos(aC<) * )):sin*g')al0  ; ; $4  & ȋ2 x t!x Eraster_above Bi{C{CKselect $1::geometry |>> $2::geometrytx gDst_value M0Bi{C@ rast bandpt`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 465459 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) DECLARE x float8; y float8; gtype text; BEGIN gtype := public.ST_geometrytype(pt); IF ( gtype != 'ST_Point' ) THEN RAISE EXCEPTION 'Attempting to get the value of a pixel with a non-point geometry'; END IF; IF public.ST_SRID(pt) != public.ST_SRID(rast) THEN RAISE EXCEPTION 'Raster and geometry do not have the same SRID'; END IF; x := public.ST_x(pt); y := public.ST_y(pt); RETURN public.ST_value(rast, band, public.ST_worldtorastercoordx(rast, x, y), public.ST_worldtorastercoordy(rast, x, y), exclude_nodata_value); END; tx D_st_tri4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 458474 :constvalue <>})V DECLARE x integer;  y z Z1 double precisHion%Z23U456789 tri0_valdue[]!ndims; BEGIN:= array_ (I)3-- add a third dimenU if 2-@ IF L= 2 THE]:= public._ST_co nvertq4mBanELSEH!= 3IRAISE EXCEPTION 'First parameter of functmust be a 3'g   ND IFg-- only use the frrasopassed tos{Klength(e, 1) > 1 NOTICE 'Oiingk3s from{!low erpIF (p#2)e1 O"RBupp3 4ORA3A 3  ).1x3x3e with peach, bounds startI>1/check that cenixel isn't NODATA:[z][2 IS NULLETURN4-substitute \for any neig(hbosarew%FOR y IN 1..3` LOOPx y][x&#=  )` h V4| Z1= Z(-1,1) | Z20,1) 0| Z3  |W4h4h0h5ShZ6h0h27h-1)h8h9ih%#g_scale width and h!Xt units / z to makeequal0As):)1t+ 23 34K#]Z5K6K7K3v8K9Kt;:= ( abs(Z1 - Z5 ) + Z2 3 4 6 7 8  ( Z9 ) / 8 return tri; 1\; tx gDst_roughness Bi{C{C rast$nband4pixeltypeXinterpolate_nodataX({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 458011 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 458038 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 458081 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})w SELECT public.ST_roughness($1, $2, NULL::raster, $3, $4) tx gDst_roughness M0Bi{C{C{C rast$nband@customextent4pixeltypeXinterpolate_nodata({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 456882 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 456925 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) DECLARE _rast raster; _nband integer; _pixtype text; _pixwidth double precision; _pixheight double precision; _width integer; _height integer; _customextent raster; _extenttype text; BEGIN _customextent := customextent; IF _customextent IS NULL THEN _extenttype := 'FIRST'; ELSE _extenttype := 'CUSTOM'; END IF; IF interpolate_nodata IS TRUE THEN _rast := public.ST_MapAlgebra( ARRAY[ROW(rast, nband)]::rastbandarg[], 'st_invdistweight4ma(double precision[][][], integer[][], text[])'::regprocedure, pixeltype, 'FIRST', NULL, 1, 1 ); _nband := 1; _pixtype := NULL; ELSE _rast := rast; _nband := nband; _pixtype := pixeltype; END IF; RETURN public.ST_MapAlgebra( ARRAY[ROW(_rast, _nband)]::rastbandarg[], ' public._ST_roughness4ma(double precision[][][], integer[][], text[])'::regprocedure, _pixtype, _extenttype, _customextent, 1, 1); END; tx D_st_roughness4ma M0BiC1iivk$valuepos0userargs<({CONST :consttype 1009 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull true :location 455102 :constvalue <>}) DECLARE x integer; y integer; z integer; minimum double precision; maximum double precision; _value double precision[][][]; ndims int; BEGIN ndims := array_ndims(value); -- add a third dimension if 2-dimension IF ndims = 2 THEN _value := public._ST_convertarray4ma(value); ELSEIF ndims != 3 THEN RAISE EXCEPTION 'First parameter of function must be a 3-dimension array'; ELSE _value := value; END IF; -- only use the first raster passed to this function IF array_length(_value, 1) > 1 THEN RAISE NOTICE 'Only using the values from the first raster'; END IF; z := array_lower(_value, 1); IF ( array_lower(_value, 2) != 1 OR array_upper(_value, 2) != 3 OR array_lower(_value, 3) != 1 OR array_upper(_value, 3) != 3 ) THEN RAISE EXCEPTION 'First parameter of function must be a 1x3x3 array with each of the lower bounds starting from 1'; END IF; -- check that center pixel isn't NODATA IF _value[z][2][2] IS NULL THEN RETURN NULL; -- substitute center pixel for any neighbor pixels that are NODATA ELSE FOR y IN 1..3 LOOP FOR x IN 1..3 LOOP IF _value[z][y][x] IS NULL THEN _value[z][y][x] = _value[z][2][2]; END IF; END LOOP; END LOOP; END IF; minimum := _value[z][1][1]; maximum := _value[z][1][1]; FOR Y IN 1..3 LOOP FOR X IN 1..3 LOOP IF _value[z][y][x] < minimum THEN minimum := _value[z][y][x]; ELSIF _value[z][y][x] > maximum THEN maximum := _value[z][y][x]; END IF; END LOOP; END LOOP; RETURN maximum - minimum; END; tx gDst_tpi Bi{C{C rast$nband4pixeltypeXinterpolate_nodataX({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 454633 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 454660 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 454703 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})k SELECT public.ST_tpi($1, $2, NULL::raster, $3, $4) =Xx  8 &08B4HFh؃| jHxt#y Eraster_same Bi{C{CIselect $1::geometry ~= $2::geometryt"y Eraster_below Bi{C{CKselect $1::geometry <<| $2::geometryty gDst_value Bi{C@{ rastpt`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 466381 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})Q SELECT public.ST_value($1, 1, $2, $3) ty  gDst_value Bi{C rastxy`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 465234 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})K SELECT st_value($1, 1, $2, $3, $4) ty  gDst_value ?i{C rast bandxy`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 465010 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})+RASTER_getPixelValue-$libdir/rtpostgis-2.3ty  Dst_bandmetadata Bi{C[{C7iioooo rast band4pixeltype<nodatavalue,isoutdb patht({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 464470 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]}) SELECT pixeltype, nodatavalue, isoutdb, path FROM public.ST_BandMetaData($1, ARRAY[$2]::int[]) LIMIT 1 ty  ?Dst_bandmetadata ?i{Cc{C9iiooooo rast band,bandnum4pixeltype<nodatavalue,isoutdb path)RASTER_bandmetadata-$libdir/rtpostgis-2.3ty  gDst_bandpixeltype ?i{CK rast bandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 464008 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})9RASTER_getBandPixelTypeName-$libdir/rtpostgis-2.3ty gDst_bandpath ?i{CK rast bandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 463821 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})'RASTER_getBandPath-$libdir/rtpostgis-2.3ty 'Dst_bandisnodata Bi{Cc rastDforcecheckingW SELECT public.ST_bandisnodata($1, 1, $2) ty gDst_bandisnodata ?i{Cs rast bandDforcechecking({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 463405 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 463438 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}))RASTER_bandIsNoData-$libdir/rtpostgis-2.3ty gDst_bandnodatavalue ?i{CK rast bandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 463200 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})5RASTER_getBandNoDataValue-$libdir/rtpostgis-2.3ty gDst_hasnoband ?i{CS rast$nbandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 462839 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})#RASTER_hasNoBand-$libdir/rtpostgis-2.3ty 'Dst_isempty ?ip{C; rastRASTER_isEmpty-$libdir/rtpostgis-2.3ty gDst_tri Bi{C{C rast$nband4pixeltypeXinterpolate_nodataX({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 462247 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 462274 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 462317 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})k SELECT public.ST_tri($1, $2, NULL::raster, $3, $4) ty gDst_tri M0Bi{C{C{C rast$nband@customextent4pixeltypeXinterpolate_nodata({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 460943 :constvalue 8 [ 32 0 0 0 51 50 66 70 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 460986 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) DECLARE _rast raster; _nband integer; _pixtype text; _pixwidth double precision; _pixheight double precision; _width integer; _height integer; _customextent raster; _extenttype text; BEGIN _customextent := customextent; IF _customextent IS NULL THEN _extenttype := 'FIRST'; ELSE _extenttype := 'CUSTOM'; END IF; IF interpolate_nodata IS TRUE THEN _rast := public.ST_MapAlgebra( ARRAY[ROW(rast, nband)]::rastbandarg[], 'st_invdistweight4ma(double precision[][][], integer[][], text[])'::regprocedure, pixeltype, 'FIRST', NULL, 1, 1 ); _nband := 1; _pixtype := NULL; ELSE _rast := rast; _nband := nband; _pixtype := pixeltype; END IF; -- get properties _pixwidth := public.ST_PixelWidth(_rast); _pixheight := public.ST_PixelHeight(_rast); SELECT width, height INTO _width, _height FROM public.ST_Metadata(_rast); RETURN public.ST_MapAlgebra( ARRAY[ROW(_rast, _nband)]::rastbandarg[], ' public._ST_tri4ma(double precision[][][], integer[][], text[])'::regprocedure, _pixtype, _extenttype, _customextent, 1, 1); END; HX\  Н^thB` `PXHP020F(8ht%z Eraster_contain Bi{C{CGselect $1::geometry ~ $2::geometryt$z Eraster_contained Bi{C{CGselect $1::geometry @ $2::geometrytz gD_st_tile ?zDi{C{C rast$width(height$nbandDpadwithnodata4nodataval({CONST :consttype 1007 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 473931 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 473968 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 474010 :constvalue <>})RASTER_tile-$libdir/rtpostgis-2.3tz 'Dst_setgeoreference Bi{C{C rast8upperleftx8upperlefty(scalex(scaley$skewx$skewy SELECT public.ST_setgeoreference($1, array_to_string(ARRAY[$4, $7, $6, $5, $2, $3], ' ')) tz  gDst_setgeoreference M0Bi{C{Ck rast(georef(format({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 471446 :constvalue 8 [ 32 0 0 0 71 68 65 76 ]})N  DEC0LARE params text[];rastouter BEGIN"IF IS NUL`L THERAISE WARNING 'Cannot set georeferencing on a nulln in st_set)e.'_ETURNEND IF; SELECT regexp_matches([, SE'(-?\\d+(?:\\. )?)\\Bs' ||X?') INTOIF NOT FOUNDEXCEPTION 'Y requires a strwith 6 floatpoint valu eslIF format = @'ESRI'--%uarray is now: ${scalex, skewyy, uppe@rleftx y} F%:= public.STD(,[1]T::84)#+zWkewVouY3Y2Y^ 7 n5n - ( * 0.5)=R6R.RELSGq+'!= 'GDAL/('FDF5 ''%''#8t recognized, defaul"to Xh.', r% /L/o/M/'@)$_END tz  'Dst_setgeotransform ?i{C{C rast imag jmag,theta_i0theta_ij,xoffset,yoffset/RASTER_setGeotransform-$libdir/rtpostgis-2.3tz  'Dst_setrotation ?i{C{CS rast0rotation'RASTER_setRotation-$libdir/rtpostgis-2.3tz  'Dst_setupperleft ?i{C{C{ rast8upperleftx8upperlefty-RASTER_setUpperLeftXY-$libdir/rtpostgis-2.3tz  'Dst_setsrid ?i{C{CK rast sridRASTER_setSRID-$libdir/rtpostgis-2.3tz 'Dst_setskew ?i{C{Ck rast$skewx$skewy#RASTER_setSkewXY-$libdir/rtpostgis-2.3tz 'Dst_setskew ?i{C{CK rast skewRASTER_setSkew-$libdir/rtpostgis-2.3tz 'Dst_setscale ?i{C{Ck rast(scalex(scaley%RASTER_setScaleXY-$libdir/rtpostgis-2.3tz 'Dst_setscale ?i{C{CS rast$scale!RASTER_setScale-$libdir/rtpostgis-2.3tz gDst_georeference M0Bi{CS rast(format({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 468151 :constvalue 8 [ 32 0 0 0 71 68 65 76 ]}) DECLARE scale_x numeric; scale_y numeric; skew_x numeric; skew_y numeric; ul_x numeric; ul_y numeric; result text; BEGIN SELECT scalex::numeric, scaley::numeric, skewx::numeric, skewy::numeric, upperleftx::numeric, upperlefty::numeric INTO scale_x, scale_y, skew_x, skew_y, ul_x, ul_y FROM public.ST_Metadata(rast); -- scale x result := trunc(scale_x, 10) || E'\n'; -- skew y result := result || trunc(skew_y, 10) || E'\n'; -- skew x result := result || trunc(skew_x, 10) || E'\n'; -- scale y result := result || trunc(scale_y, 10) || E'\n'; IF format = 'ESRI' THEN -- upper left x result := result || trunc((ul_x + scale_x * 0.5), 10) || E'\n'; -- upper left y result = result || trunc((ul_y + scale_y * 0.5), 10) || E'\n'; ELSE -- IF format = 'GDAL' THEN -- upper left x result := result || trunc(ul_x, 10) || E'\n'; -- upper left y result := result || trunc(ul_y, 10) || E'\n'; END IF; RETURN result; END; tz Dst_pixelofvalue BzDi{CS{C5iiioo rast(search`exclude_nodata_valuexyt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 467723 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT x, y FROM public.ST_pixelofvalue($1, 1, ARRAY[$2], $3) tz Dst_pixelofvalue BzDi{C[{C7iiiioo rast$nband(search`exclude_nodata_valuexyt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 467431 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT x, y FROM public.ST_pixelofvalue($1, $2, ARRAY[$3], $4) tz Dst_pixelofvalue BzDi{C[{C7iiiooo rast(search`exclude_nodata_valuevalxyt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 467099 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})} SELECT val, x, y FROM public.ST_pixelofvalue($1, 1, $2, $3) T  "<0(؅H8xt{ 'Dst_setvalue Bi{C{C@{ rast$nband geom0newvalue SELECT public.ST_setvalues($1, $2, ARRAY[ROW($3, $4)]::geomval[], FALSE) t{ 'Dst_setvalue Bv{C{Cs rastxy0newvalue_ SELECT public.ST_setvalue($1, 1, $2, $3, $4) t{  'Dst_setvalue ?i{C{C rast bandxy0newvalue+RASTER_setPixelValue-$libdir/rtpostgis-2.3t{  gDst_setvalues ?i{C{CC rast$nband8geomvalset8keepnodatat({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 478652 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]});RASTER_setPixelValuesGeomval-$libdir/rtpostgis-2.3t{  gDst_setvalues M0Bi{C{C rastxy$width(height0newvalue8keepnodatat({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 478161 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})  BEGIN IF width <= 0 OR height <= 0 THEN RAISE EXCEPTION 'Values for width and height must be greater than zero'; RETURN NULL; END IF; RETURN public._ST_setvalues($1, 1, $2, $3, array_fill($6, ARRAY[$5, $4]::int[]), NULL, FALSE, NULL, $7); END; t{  gDst_setvalues M0Bi{C{C rast$nbandxy$width(height0newvalue8keepnodatat({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 477624 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})$ BEGIN IF width <= 0 OR height <= 0 THEN RAISE EXCEPTION 'Values for width and height must be greater than zero'; RETURN NULL; END IF; RETURN public._ST_setvalues($1, $2, $3, $4, array_fill($7, ARRAY[$6, $5]::int[]), NULL, FALSE, NULL, $8); END; t{  gDst_setvalues Bi{C{C rast$nbandxy<newvalueset8nosetvalue8keepnodatat({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 477268 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public._ST_setvalues($1, $2, $3, $4, $5, NULL, TRUE, $6, $7) t{ gDst_setvalues Bi{C{C rast$nbandxy<newvalueset$noset8keepnodata({CONST :consttype 1000 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 476916 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 476950 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]}) SELECT public._ST_setvalues($1, $2, $3, $4, $5, $6, FALSE, NULL, $7) t{ gD_st_setvalues ?i {C {C0  rast$nbandxy<newvalueset$nosetDhasnosetvalue8nosetvalue8keepnodata ({CONST :consttype 1000 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 476537 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 476574 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 476618 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 476652 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})7RASTER_setPixelValuesArray-$libdir/rtpostgis-2.3t{ gDst_setbandisnodata ?i{C{CK rast bandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 475887 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})/RASTER_setBandIsNoData-$libdir/rtpostgis-2.3t{ 'Dst_setbandnodatavalue Bv{C{C[ rast<nodatavalueq SELECT public.ST_setbandnodatavalue($1, 1, $2, FALSE) t{ gDst_setbandnodatavalue ?i{C{C rast band<nodatavalueDforcecheckingt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 475389 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})5RASTER_setBandNoDataValue-$libdir/rtpostgis-2.3t{ gDst_tile BzDi{C{C rast$width(heightDpadwithnodata4nodataval({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 474811 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 474853 :constvalue <>})} SELECT public._ST_tile($1, $2, $3, NULL::integer[], $4, $5) t{ gDst_tile BzDi{C{C rast$nband$width(heightDpadwithnodata4nodataval({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 474523 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 474565 :constvalue <>}) SELECT public._ST_tile($1, $3, $4, ARRAY[$2]::integer[], $5, $6) t{ gDst_tile BzDi{C{C rast$nband$width(heightDpadwithnodata4nodataval({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 474238 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 474280 :constvalue <>})c SELECT public._ST_tile($1, $3, $4, $2, $5, $6) gX  2(2:x.8x@b Pt(|  Eraster_contained_by_geometry Bi{C@3select $1::geometry @ $2t'| Eraster_geometry_contain Bi{C@3select $1::geometry ~ $2t&| Eraster_overlap Bi{C{Ckselect $1::geometry OPERATOR(public.&&) $2::geometryt|  ?Dst_worldtorastercoord Bi{CS{C5iiioo rast4longitude0latitude,columnx rowy SELECT columnx, rowy FROM public._ST_worldtorastercoord($1, $2, $3) t|  D_st_worldtorastercoord ?i{CS{C5iiioo rast4longitude0latitude,columnx rowy<({CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 485460 :constvalue <>} {CONST :consttype 701 :consttypmod -1 :constcollid 0 :constlen 8 :constbyval true :constisnull true :location 485500 :constvalue <>})5RASTER_worldToRasterCoord-$libdir/rtpostgis-2.3t|  'Dst_pixelascentroid Bi@{C[ rastxy SELECT public.ST_Centroid(geom) FROM public._ST_pixelaspolygons($1, NULL, $2, $3) t|  Dst_pixelascentroids BzDi{Cc{C@9iiioooo rast band`exclude_nodata_value geomvalxy({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 484336 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 484377 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT public.ST_Centroid(geom), val, x, y FROM public._ST_pixelaspolygons($1, $2, NULL, NULL, $3) t|  'Dst_pixelaspoint Bi@{C[ rastxy SELECT ST_PointN(ST_ExteriorRing(geom), 1) FROM public._ST_pixelaspolygons($1, NULL, $2, $3) t| Dst_pixelaspoints BzDi{Cc{C@9iiioooo rast band`exclude_nodata_value geomvalxy({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 483372 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 483413 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})  SELECT public.ST_PointN( public.ST_ExteriorRing(geom), 1), val, x, y FROM public._ST_pixelaspolygons($1, $2, NULL, NULL, $3) t| 'Dst_pixelaspolygon Bi@{C[ rastxy SELECT geom FROM public._ST_pixelaspolygons($1, NULL, $2, $3) t| Dst_pixelaspolygons BzDi{Cc{C@9iiioooo rast band`exclude_nodata_value geomvalxy({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 482488 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 482529 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT geom, val, x, y FROM public._ST_pixelaspolygons($1, $2, NULL, NULL, $3) t| D_st_pixelaspolygons ?zDi{Cs {C@= iiiiioooo  rast band,columnx rowy`exclude_nodata_value geomvalxy({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 482115 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 482143 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 482171 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 482215 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})1RASTER_getPixelPolygons-$libdir/rtpostgis-2.3t| gDst_polygon ?i@{CK rast bandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 481577 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})%RASTER_getPolygon-$libdir/rtpostgis-2.3t| gDst_dumpvalues Bi{C rast$nband`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 481193 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT valarray FROM public.ST_dumpvalues($1, ARRAY[$2]::integer[], $3) t| Dst_dumpvalues ?zDi{CS{C5iiioo rast$nband`exclude_nodata_value$nband0valarray({CONST :consttype 1007 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 480885 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 480928 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})%RASTER_dumpValues-$libdir/rtpostgis-2.3t| gDst_dumpaspolygons ?zDiC{C{ rast band`exclude_nodata_value({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 480489 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 480529 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})-RASTER_dumpAsPolygons-$libdir/rtpostgis-2.3Hx  Л:&(4 `>H*(<(x0h(HxЁt } Eraster_overbelow Bi{C{CKselect $1::geometry &<| $2::geometryt} Eraster_overabove Bi{C{CKselect $1::geometry |&> $2::geometryt} Draster_right Bi{C{CIselect $1::geometry >> $2::geometryt} Draster_left Bi{C{CIselect $1::geometry << $2::geometryt} Draster_overright Bi{C{Ceselect $1::public.geometry &> $2::public.geometryt} Draster_overleft Bi{C{Ceselect $1::public.geometry &< $2::public.geometryt} Draster_eq Bi{C{Cs SELECT public.raster_hash($1) = public.raster_hash($2) t} Draster_hash ?ip{Chashvarlenat} Dbytea ?ip{C!RASTER_to_bytea-$libdir/rtpostgis-2.3t} gDst_asbinary ?i{CK,outasint({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 496560 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})#RASTER_to_binary-$libdir/rtpostgis-2.3t} 'Dst_minpossiblevalue ?ipK4pixeltype1RASTER_minPossibleValue-$libdir/rtpostgis-2.3t}  'Dst_rastertoworldcoordy Bi{CK rastyr SELECT latitude FROM public._ST_rastertoworldcoord($1, NULL, $2) t}  'Dst_rastertoworldcoordy Bi{C[ rastxryr SELECT latitude FROM public._ST_rastertoworldcoord($1, $2, $3) t }  'Dst_rastertoworldcoordx Bi{CK rastxr SELECT longitude FROM public._ST_rastertoworldcoord($1, $2, NULL) t }  'Dst_rastertoworldcoordx Bi{C[ rastxryr SELECT longitude FROM public._ST_rastertoworldcoord($1, $2, $3) t }  ?Dst_rastertoworldcoord Bi{CS{C5iiioo rast,columnx rowy4longitude0latitude SELECT longitude, latitude FROM public._ST_rastertoworldcoord($1, $2, $3) t } D_st_rastertoworldcoord ?i{CS{C5iiioo rast,columnx rowy4longitude0latitude4({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 492071 :constvalue <>} {CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 492098 :constvalue <>})5RASTER_rasterToWorldCoord-$libdir/rtpostgis-2.3t } 'Dst_worldtorastercoordy M0Bi{C@K rastpt@ DECLARE yr integer; BEGIN IF ( st_geometrytype(pt) != 'ST_Point' ) THEN RAISE EXCEPTION 'Attempting to compute raster coordinate with a non-point geometry'; END IF; IF ST_SRID(rast) != ST_SRID(pt) THEN RAISE EXCEPTION 'Raster and geometry do not have the same SRID'; END IF; SELECT rowy INTO yr FROM public._ST_worldtorastercoord($1, st_x(pt), st_y(pt)); RETURN yr; END; t} 'Dst_worldtorastercoordy Bi{CK rastyw SELECT rowy FROM public._ST_worldtorastercoord($1, NULL, $2) t} 'Dst_worldtorastercoordy Bi{C[ rastxwyw{ SELECT rowy FROM public._ST_worldtorastercoord($1, $2, $3) t} 'Dst_worldtorastercoordx M0Bi{C@K rastpt DECLARE xr integer; BEGIN IF ( public.ST_geometrytype(pt) != 'ST_Point' ) THEN RAISE EXCEPTION 'Attempting to compute raster coordinate with a non-point geometry'; END IF; IF public.ST_SRID(rast) != public.ST_SRID(pt) THEN RAISE EXCEPTION 'Raster and geometry do not have the same SRID'; END IF; SELECT columnx INTO xr FROM public._ST_worldtorastercoord($1, public.ST_x(pt), public.ST_y(pt)); RETURN xr; END; t} 'Dst_worldtorastercoordx Bi{CK rastxw SELECT columnx FROM public._ST_worldtorastercoord($1, $2, NULL) t} 'Dst_worldtorastercoordx Bi{C[ rastxwyw SELECT columnx FROM public._ST_worldtorastercoord($1, $2, $3) t} ?Dst_worldtorastercoord M0Bi{C@K{C@3iioos rastpt,columnx rowy DECLARE rx integer; ry integer; BEGIN IF public.ST_geometrytype(pt) != 'ST_Point' THEN RAISE EXCEPTION 'Attempting to compute raster coordinate with a non-point geometry'; END IF; IF public.ST_SRID(rast) != public.ST_SRID(pt) THEN RAISE EXCEPTION 'Raster and geometry do not have the same SRID'; END IF; SELECT rc.columnx AS x, rc.rowy AS y INTO columnx, rowy FROM public._ST_worldtorastercoord($1, public.ST_x(pt), public.ST_y(pt)) AS rc; RETURN; END; `  (pp`` B:4h>؅6<Ё4td~ '6Est_touches zDi{C{C[$rast1$rast2 SELECT public.st_touches($1, NULL::integer, $2, NULL::integer) tc~ '5Est_touches zDi{C{C$rast1(nband1$rast2(nband2 SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_touches(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._st_touches($1, $2, $3, $4) END tb~ '4E_st_touches zDi{C{C$rast1(nband1$rast2(nband2RASTER_touches-$libdir/rtpostgis-2.3ta~ '3Est_overlaps zDi{C{C[$rast1$rast2 SELECT public.st_overlaps($1, NULL::integer, $2, NULL::integer) t`~ '2Est_overlaps zDi{C{C$rast1(nband1$rast2(nband2 SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_overlaps(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._ST_overlaps($1, $2, $3, $4) END t_~  '1E_st_overlaps zDi{C{C$rast1(nband1$rast2(nband2!RASTER_overlaps-$libdir/rtpostgis-2.3t^~  '0Est_intersects zDi{C@c rast$nband geom SELECT $1::geometry OPERATOR(public.&&) $3 AND public._st_intersects($3, $1, $2) t]~  g/Est_intersects zDi{C@c rast geom$nband$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 513837 :constvalue <>}) SELECT $1::geometry OPERATOR(public.&&) $2 AND public._st_intersects($2, $1, $3) t\~  g.Est_intersects zDi@{Cc geom rast$nband$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 513411 :constvalue <>}) SELECT $1 OPERATOR(public.&&) $2::geometry AND public._st_intersects($1, $2, $3); t[~  g-E_st_intersects M0zDi@{Cc geom rast$nband$({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull true :location 512533 :constvalue <>}) DECLARE hasnodata boolean := TRUE; _geom geometry; BEGIN IF ST_SRID(rast) != ST_SRID(geom) THEN RAISE EXCEPTION 'Raster and geometry do not have the same SRID'; END IF; _geom := ST_ConvexHull(rast); IF nband IS NOT NULL THEN SELECT CASE WHEN bmd.nodatavalue IS NULL THEN FALSE ELSE NULL END INTO hasnodata FROM public.ST_BandMetaData(rast, nband) AS bmd; END IF; IF ST_Intersects(geom, _geom) IS NOT TRUE THEN RETURN FALSE; ELSEIF nband IS NULL OR hasnodata IS FALSE THEN RETURN TRUE; END IF; SELECT public.ST_Collect(t.geom) INTO _geom FROM public.ST_PixelAsPolygons(rast, nband) AS t; RETURN public.ST_Intersects(geom, _geom); END; tZ~ ',Est_intersects zDi{C{C[$rast1$rast2 SELECT public.st_intersects($1, NULL::integer, $2, NULL::integer) tY~ '+Est_intersects zDi{C{C$rast1(nband1$rast2(nband2, SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_intersects(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._st_intersects($1, $2, $3, $4) END tX~ '*E_st_intersects zDi{C{C$rast1(nband1$rast2(nband2%RASTER_intersects-$libdir/rtpostgis-2.3tW~ ')Est_iscoveragetile M0Bi{C{C rast0coverage4tilewidth8tileheightm DECLARE _rastmeta re cord;cov cr max integer[]tile edg BEGIN IF NOT ST_SameAlignment(, coverage) THE/ RAISE3ICE 'Raster and+ are@ not aLed' RETURN FALSEEND IF; :=Metadata) !H-- ge"tgriordinates of upper-leftaLYWorldToMC:c, .kEDxy ispartQ{(cr.columnx < 1 OR > .width) OR6rowy30heigh`t)  in theߠn't o >s~ - 1) % ! != 0'($} |toB# 1W#+5BsX"Y formax[0]!Eceil(::double precis`ion /)::44[1[\ ]n?) + 1Er )tinnerCh<s AND211]F#S (7{&G#O &'F%Y/QP/=is invalid"qLrio/_.` ELSQTRU?$z-R*  may have same size a*)AND %(6w Qo14Gd$T;( - (($2*e$c<;1 ;KB!of expectA%BDTbottom+=///$//,-mos>t/'LSE37$ &O-7;END; tV~ '(Est_notsamealignmentreason ?i{C{C[$rast1$rast2=RASTER_notSameAlignmentReason-$libdir/rtpostgis-2.3tU~ 'Est_samealignment ?ip{C!aggregate_dummytT~ '&E_st_samealignment_finalfn Bip$E;agg) SELECT $1.aligned tS~ '%E_st_samealignment_transfn M0Bi$E$E{CKagg rast DECLARE m record; aligned boolean; BEGIN IF agg IS NULL THEN agg.refraster := NULL; agg.aligned := NULL; END IF; IF rast IS NULL THEN agg.aligned := NULL; ELSE IF agg.refraster IS NULL THEN m := ST_Metadata(rast); agg.refraster := ST_MakeEmptyRaster(1, 1, m.upperleftx, m.upperlefty, m.scalex, m.scaley, m.skewx, m.skewy, m.srid); agg.aligned := TRUE; ELSE IF agg.aligned IS TRUE THEN agg.aligned := ST_SameAlignment(agg.refraster, rast); END IF; END IF; END IF; RETURN agg; END; ݚh  (F: ~2@8ГL2\xrH\fȈX*(t ggE_st_clip ?i{C{C@ rast$nband geom4nodataval crop({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 531532 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 531559 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})RASTER_clip-$libdir/rtpostgis-2.3t{ 'MEst_disjoint zDi{C{C[$rast1$rast2w SELECT st_disjoint($1, NULL::integer, $2, NULL::integer) tz 'LEst_disjoint zDi{C{C$rast1(nband1$rast2(nband2d SELECT CASE WHEN $2 IS NULL OR $4 IS NULL THEN st_disjoint(st_convexhull($1), st_convexhull($3)) ELSE NOT public._ST_intersects($1, $2, $3, $4) END ty 'KEst_dfullywithin zDi{C{Cs$rast1$rast20distance SELECT st_dfullywithin($1, NULL::integer, $2, NULL::integer, $3) tx 'JEst_dfullywithin zDi{C{C$rast1(nband1$rast2(nband20distance SELECT $1::geometry OPERATOR(public.&&) ST_Expand(ST_ConvexHull($3), $5) AND $3::geometry OPERATOR(public.&&) ST_Expand(ST_ConvexHull($1), $5) AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._ST_dfullywithin(st_convexhull($1), st_convexhull($3), $5) ELSE public._ST_dfullywithin($1, $2, $3, $4, $5) END tw 'IE_st_dfullywithin zDi{C{C$rast1(nband1$rast2(nband20distance)RASTER_dfullywithin-$libdir/rtpostgis-2.3tv 'HEst_dwithin zDi{C{Cs$rast1$rast20distance SELECT public.st_dwithin($1, NULL::integer, $2, NULL::integer, $3) tu  'GEst_dwithin zDi{C{C$rast1(nband1$rast2(nband20distance SELECT $1::geometry OPERATOR(public.&&) ST_Expand(ST_ConvexHull($3), $5) AND $3::geometry OPERATOR(public.&&) ST_Expand(ST_ConvexHull($1), $5) AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._ST_dwithin(st_convexhull($1), st_convexhull($3), $5) ELSE public._ST_dwithin($1, $2, $3, $4, $5) END tt  'FE_st_dwithin zDi{C{C$rast1(nband1$rast2(nband20distanceRASTER_dwithin-$libdir/rtpostgis-2.3ts  'EEst_within zDi{C{C[$rast1$rast2 SELECT public.st_within($1, NULL::integer, $2, NULL::integer) tr  'DEst_within zDi{C{C$rast1(nband1$rast2(nband2 SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_within(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._st_contains($3, $4, $1, $2) END tq  'CE_st_within zDi{C{C$rast1(nband1$rast2(nband2[ SELECT public._st_contains($3, $4, $1, $2) tp 'BEst_coveredby zDi{C{C[$rast1$rast2 SELECT public.st_coveredby($1, NULL::integer, $2, NULL::integer) to 'AEst_coveredby zDi{C{C$rast1(nband1$rast2(nband2$ SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_coveredby(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._st_coveredby($1, $2, $3, $4) END tn '@E_st_coveredby zDi{C{C$rast1(nband1$rast2(nband2#RASTER_coveredby-$libdir/rtpostgis-2.3tm '?Est_covers zDi{C{C[$rast1$rast2 SELECT public.st_covers($1, NULL::integer, $2, NULL::integer) tl '>Est_covers zDi{C{C$rast1(nband1$rast2(nband2  SELECT $1 OPERATOR(public.&&) $3 AND CASE WHEN $2 IS NULL OR $4 IS NULL THEN public._st_covers(public.st_convexhull($1), public.st_convexhull($3)) ELSE public._st_covers($1, $2, $3, $4) END tk '=E_st_covers zDi{C{C$rast1(nband1$rast2(nband2RASTER_covers-$libdir/rtpostgis-2.3tj '})_ SELECT st_intersection($1, 1, $2, 1, $3, $4) t 'TEst_intersection Bs{C{C{C$rast1$band1$rast2$band24nodataval SELECT st_intersection($1, $2, $3, $4, 'BOTH', ARRAY[$5, $5]) t 'SEst_intersection Bs{C{C{C$rast1$band1$rast2$band24nodatavalk SELECT st_intersection($1, $2, $3, $4, 'BOTH', $5) t 'REst_intersection Bs{C{C{C$rast1$band1$rast2$band28returnband4nodatavaly SELECT st_intersection($1, $2, $3, $4, $5, ARRAY[$6, $6]) t gQEst_intersection M0Bs{C{C{C$rast1$band1$rast2$band28returnband4nodataval({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 525685 :constvalue 8 [ 32 0 0 0 66 79 84 72 ]} {CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 525731 :constvalue <>})  DECLARE rtn raster; _returnband textnewnodata1 flPoat8 2BEGIN IF ST_SRID(Z1) != 2) THE+ RAISE EXCEPTION 'The twos do not have the same J'END IF; := coalesce(val[1],BandN Value, 1)"MinPossible#6PixelTyp 4))2z2K24:= upper( )&:= NULL7CAS!@ WHEN A= 'BAND1';apAlgebraExpr ,, '[.val]'J, 'INTERSEC! ', y::!  Setptn, 16242 (>2#6OTH/6Add6+2EL3_Unknown v@ provided for ' : %',RETURNFaQAeB}rtn; ; t~ 'PEst_intersection BzDsC{C@S rast(geominI SELECT st_intersection($2, $1, 1) t} 'OEst_intersection BzDsC{C@c rast band(geominK SELECT st_intersection($3, $1, $2) t| gNEst_intersection M0BzDiC@{Cc(geomin rast bandt({CONST :consttype 23 :consttypmod -1 :constcollid 0 :constlen 4 :constbyval true :constisnull false :location 524115 :constvalue 4 [ 1 0 0 0 0 0 0 0 ]})\ DECLARE intersects boolean := FALSE; BEGIN intersects := ST_Intersects(geomin, rast, band); IF intersects THEN -- Return the intersections of the geometry with the vectorized parts of -- the raster and the values associated with those parts, if really their -- intersection is not empty. RETURN QUERY SELECT intgeom, val FROM ( SELECT ST_Intersection((gv).geom, geomin) AS intgeom, (gv).val FROM ST_DumpAsPolygons(rast, band) gv WHERE ST_Intersects((gv).geom, geomin) ) foo WHERE NOT ST_IsEmpty(intgeom); ELSE -- If the geometry does not intersect with the raster, return an empty -- geometry and a null value RETURN QUERY SELECT emptygeom, NULL::float8 FROM ST_GeomCollFromText('GEOMETRYCOLLECTION EMPTY', ST_SRID($1)) emptygeom; END IF; END; RT`  ؜Pt`h4jhlhXPH`t gvEst_neighborhood Bi{C@ rastpt4distancex4distancey`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 536701 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})a SELECT st_neighborhood($1, 1, $2, $3, $4, $5) t guEst_neighborhood M0Bi{C@ rast bandpt4distancex4distancey`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 535895 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) DECLARE wx double precision; wy double precision; rtn double precision[][]; BEGIN IF (st_geometrytype($3) != 'ST_Point') THEN RAISE EXCEPTION 'Attempting to get the neighbor of a pixel with a non-point geometry'; END IF; IF ST_SRID(rast) != ST_SRID(pt) THEN RAISE EXCEPTION 'Raster and geometry do not have the same SRID'; END IF; wx := st_x($3); wy := st_y($3); SELECT public._ST_neighborhood( $1, $2, st_worldtorastercoordx(rast, wx, wy), st_worldtorastercoordy(rast, wx, wy), $4, $5, $6 ) INTO rtn; RETURN rtn; END; t  gtEst_neighborhood Bi{C rast,columnx rowy4distancex4distancey`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 535591 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})y SELECT public._ST_neighborhood($1, 1, $2, $3, $4, $5, $6) t  gsEst_neighborhood Bi{C rast band,columnx rowy4distancex4distancey`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 535282 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}){ SELECT public._ST_neighborhood($1, $2, $3, $4, $5, $6, $7) t  grE_st_neighborhood ?i{C rast band,columnx rowy4distancex4distancey`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 534979 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}))RASTER_neighborhood-$libdir/rtpostgis-2.3t  gqEst_nearestvalue Bi{C rast,columnx rowy`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 534409 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})X SELECT st_nearestvalue($1, 1, st_setsrid(st_makepoint(st_rastertoworldcoordx($1, $2, $3), st_rastertoworldcoordy($1, $2, $3)), st_srid($1)), $4) t  gpEst_nearestvalue Bi{C rast band,columnx rowy`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 534056 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})\ SELECT st_nearestvalue($1, $2, st_setsrid(st_makepoint(st_rastertoworldcoordx($1, $3, $4), st_rastertoworldcoordy($1, $3, $4)), st_srid($1)), $5) t goEst_nearestvalue Bi{C@{ rastpt`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 533797 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})Q SELECT st_nearestvalue($1, 1, $2, $3) t gnEst_nearestvalue ?i{C@ rast bandpt`exclude_nodata_valuet({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 533569 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}))RASTER_nearestValue-$libdir/rtpostgis-2.3t 'mEst_clip Bi{C{C@[ rast geom crop{ SELECT ST_Clip($1, NULL, $2, null::double precision[], $3) t glEst_clip Bi{C{C@{ rast geom4nodataval cropt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 532959 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT ST_Clip($1, NULL, $2, ARRAY[$3]::double precision[], $4) t gkEst_clip Bi{C{C@{ rast geom4nodataval crop({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 532717 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 532744 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]})O SELECT ST_Clip($1, NULL, $2, $3, $4) t 'jEst_clip Bi{C{C@s rast$nband geom crop SELECT ST_Clip($1, ARRAY[$2]::integer[], $3, null::double precision[], $4) t giEst_clip Bi{C{C@ rast$nband geom4nodataval cropt({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 532244 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) SELECT ST_Clip($1, ARRAY[$2]::integer[], $3, ARRAY[$4]::double precision[], $5) t ghEst_clip M0Bi{C{C@ rast$nband geom4nodataval crop({CONST :consttype 1022 :consttypmod -1 :constcollid 0 :constlen -1 :constbyval false :constisnull true :location 531773 :constvalue <>} {CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location 531800 :constvalue 1 [ 1 0 0 0 0 0 0 0 ]}) BEGIN -- short-cut if geometry's extent fully contains raster's extent IF (nodataval IS NULL OR array_length(nodataval, 1) < 1) AND geom ~ ST_Envelope(rast) THEN RETURN rast; END IF; RETURN public._ST_Clip($1, $2, $3, $4, $5); END; @  Hl@ȗrȒzȎp Xt  'E_drop_raster_constraint_spatially_unique M0Bv8rastschema4rasttable8rastcolumn DECLARE cn text; BEGIN SELECT s.conname INTO cn FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s, pg_index idx, pg_operator op WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND s.contype = 'x' AND 0::smallint = ANY (s.conkey) AND idx.indexrelid = s.conindid AND pg_get_indexdef(idx.indexrelid, 1, true) LIKE '(' || quote_ident($3) || '::geometry)' AND s.conexclop[1] = op.oid AND op.oprname = '='; RETURN public._drop_raster_constraint($1, $2, cn); END; t  'E_raster_constraint_info_blocksize Bs8rastschema4rasttable8rastcolumn axis SELECT CASE WHEN strpos(s.consrc, 'ANY (ARRAY[') > 0 THEN split_part((regexp_matches(s.consrc, E'ARRAY\\[(.*?){1}\\]'))[1], ',', 1)::integer ELSE regexp_replace( split_part(s.consrc, '= ', 2), '[\(\)]', '', 'g' )::integer END FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%st_' || $4 || '(%= %'; t '~E_drop_raster_constraint_scale M0Bv8rastschema4rasttable8rastcolumn axis BEGIN IF lower($4) != 'x' AND lower($4) != 'y' THEN RAISE EXCEPTION 'axis must be either "x" or "y"'; RETURN FALSE; END IF; RETURN public._drop_raster_constraint($1, $2, 'enforce_scale' || $4 || '_' || $3); END; t '}E_add_raster_constraint_scale M0Bv8rastschema4rasttable8rastcolumn axis DECLARE fqtn text; cn name; sql text; attr double precision; BEGIN IF lower($4) != 'x' AND lower($4) != 'y' THEN RAISE EXCEPTION 'axis must be either "x" or "y"'; RETURN FALSE; END IF; fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_scale' || $4 || '_' || $3; sql := 'SELECT st_scale' || $4 || '(' || quote_ident($3) || ') FROM ' || fqtn || ' LIMIT 1'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the %-scale of a sample raster: % (%)', upper($4), SQLERRM, SQLSTATE; RETURN FALSE; END; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (round(st_scale' || $4 || '(' || quote_ident($3) || ')::numeric, 10) = round(' || text(attr) || '::numeric, 10))'; RETURN public._add_raster_constraint(cn, sql); END; t '|E_raster_constraint_info_scale Bs8rastschema4rasttable8rastcolumn axis WITH c AS (SELECT regexp_replace( replace( split_part( split_part(s.consrc, ' = ', 2), '::', 1 ), 'round(', '' ), '[ ''''\(\)]', '', 'g' )::text AS val FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%st_scale' || $4 || '(% = %') -- if it is a comma separated list of two numbers then need to use round SELECT CASE WHEN split_part(c.val,',', 2) > '' THEN round( split_part(c.val, ',',1)::numeric, split_part(c.val,',',2)::integer )::float8 ELSE c.val::float8 END FROM c; t '{E_drop_raster_constraint_srid Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_srid_' || $3) t 'zE_add_raster_constraint_srid M0Bv8rastschema4rasttable8rastcolumn DECLARE fqtn text; cn name; sql text; attr int; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_srid_' || $3; sql := 'SELECT st_srid(' || quote_ident($3) || ') FROM ' || fqtn || ' LIMIT 1'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the SRID of a sample raster: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (st_srid(' || quote_ident($3) || ') = ' || attr || ')'; RETURN public._add_raster_constraint(cn, sql); END; t 'yE_raster_constraint_info_srid Bs8rastschema4rasttable8rastcolumn SELECT regexp_replace( split_part(s.consrc, ' = ', 2), '[\(\)]', '', 'g' )::integer FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%st_srid(% = %'; t 'xE_drop_raster_constraint M0Bv{8rastschema4rasttablecn` DECLARE fqtn text; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); BEGIN EXECUTE 'ALTER TABLE ' || fqtn || ' DROP CONSTRAINT ' || quote_ident(cn); RETURN TRUE; EXCEPTION WHEN undefined_object THEN RAISE NOTICE 'The constraint "%" does not exist. Skipping', cn; WHEN OTHERS THEN RAISE NOTICE 'Unable to drop constraint "%": % (%)', cn, SQLERRM, SQLSTATE; RETURN FALSE; END; RETURN TRUE; END; t 'wE_add_raster_constraint M0BvKcnsql BEGIN BEGIN EXECUTE sql; EXCEPTION WHEN duplicate_object THEN RAISE NOTICE 'The constraint "%" already exists. To replace the existing constraint, delete the constraint and call ApplyRasterConstraints again', cn; WHEN OTHERS THEN RAISE NOTICE 'Unable to add constraint: %', cn; RAISE NOTICE 'SQL used for failed constraint: %', sql; RAISE NOTICE 'Returned error message: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; RETURN TRUE; END; @X  ( h ؏R`(Xt  'E_add_raster_constraint_spatially_unique M0Bv8rastschema4rasttable8rastcolumn` DECLARE fqtn text; cn name; sql text; attr text; meta record; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_spatially_unique_' || quote_ident($2) || '_'|| $3; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' EXCLUDE ((' || quote_ident($3) || '::geometry) WITH =)'; RETURN public._add_raster_constraint(cn, sql); END; t  'E_raster_constraint_info_spatially_unique Bs8rastschema4rasttable8rastcolumn SELECT TRUE FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s, pg_index idx, pg_operator op WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND s.contype = 'x' AND 0::smallint = ANY (s.conkey) AND idx.indexrelid = s.conindid AND pg_get_indexdef(idx.indexrelid, 1, true) LIKE '(' || quote_ident($3) || '::geometry)' AND s.conexclop[1] = op.oid AND op.oprname = '='; t 'E_drop_raster_constraint_alignment Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_same_alignment_' || $3) t 'E_add_raster_constraint_alignment M0Bv8rastschema4rasttable8rastcolumn@ DECLARE fqtn text; cn name; sql text; attr text; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_same_alignment_' || $3; sql := 'SELECT public.st_makeemptyraster(1, 1, upperleftx, upperlefty, scalex, scaley, skewx, skewy, srid) FROM public.st_metadata((SELECT ' || quote_ident($3) || ' FROM ' || fqtn || ' LIMIT 1))'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the alignment of a sample raster: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (st_samealignment(' || quote_ident($3) || ', ''' || attr || '''::raster))'; RETURN public._add_raster_constraint(cn, sql); END; t 'E_raster_constraint_info_alignment Bs8rastschema4rasttable8rastcolumn SELECT TRUE FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%st_samealignment(%'; t 'E_drop_raster_constraint_extent Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_max_extent_' || $3) t 'E_add_raster_constraint_extent M0 Fv8rastschema4rasttable8rastcolumn, DECLARE fqtn text; cn name; sql text; attr text; srid integer; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); sql := 'SELECT MAX(public.ST_SRID(' || quote_ident($3) || ') ) FROM ' || fqtn || ' HAVING COUNT(DISTINCT public.ST_SRID(' || quote_ident($3) || ') ) = 1'; EXECUTE sql INTO srid; cn := 'enforce_max_extent_' || $3; IF srid > -1 THEN sql := 'SELECT public.st_ashexewkb( public.st_setsrid( public.st_extent( public.st_envelope(' || quote_ident($3) || ')), ' || srid || ')) FROM ' || fqtn; EXECUTE sql INTO attr; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK ( public.st_envelope(' || quote_ident($3) || ') @ ''' || attr || '''::geometry) '; RETURN public._add_raster_constraint(cn, sql); ELSE -- no valid srid therefore doesn't make sense to set extent RETURN false; END IF; END; t 'E_raster_constraint_info_extent Bs@8rastschema4rasttable8rastcolumn SELECT trim(both '''' from split_part(trim(split_part(s.consrc, ' @ ', 2)), '::', 1))::geometry FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%st_envelope(% @ %'; t 'E_drop_raster_constraint_blocksize M0Bv8rastschema4rasttable8rastcolumn axis BEGIN IF lower($4) != 'width' AND lower($4) != 'height' THEN RAISE EXCEPTION 'axis must be either "width" or "height"'; RETURN FALSE; END IF; RETURN public._drop_raster_constraint($1, $2, 'enforce_' || $4 || '_' || $3); END; t 'E_add_raster_constraint_blocksize M0Bv8rastschema4rasttable8rastcolumn axis@ DECLARE fqtn text; cn name; sql text; attrset integer[]; attr integer; BEGIN IF lower($4) != 'width' AND lower($4) != 'height' THEN RAISE EXCEPTION 'axis must be either "width" or "height"'; RETURN FALSE; END IF; fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_' || $4 || '_' || $3; sql := 'SELECT st_' || $4 || '(' || quote_ident($3) || ') FROM ' || fqtn || ' GROUP BY 1 ORDER BY count(*) DESC'; BEGIN attrset := ARRAY[]::integer[]; FOR attr IN EXECUTE sql LOOP attrset := attrset || attr; END LOOP; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the % of a sample raster: % (%)', $4, SQLERRM, SQLSTATE; RETURN FALSE; END; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (st_' || $4 || '(' || quote_ident($3) || ') IN (' || array_to_string(attrset, ',') || '))'; RETURN public._add_raster_constraint(cn, sql); END; 0H  НT 8xP`: ȁt  'E_drop_raster_constraint_pixel_types Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_pixel_types_' || $3) t  'E_add_raster_constraint_pixel_types M0Bv8rastschema4rasttable8rastcolumnH DECLARE fqtn text; cn name; sql text; attr text[]; max int; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_pixel_types_' || $3; sql := 'SELECT public._raster_constraint_pixel_types(' || quote_ident($3) || ') FROM ' || fqtn || ' LIMIT 1'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the pixel types of a sample raster: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; max := array_length(attr, 1); IF max < 1 OR max IS NULL THEN RAISE NOTICE 'Unable to get the pixel types of a sample raster (max < 1 or null)'; RETURN FALSE; END IF; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (_raster_constraint_pixel_types(' || quote_ident($3) || ') = ''{'; FOR x in 1..max LOOP sql := sql || '"' || attr[x] || '"'; IF x < max THEN sql := sql || ','; END IF; END LOOP; sql := sql || '}''::text[])'; RETURN public._add_raster_constraint(cn, sql); END; t  'E_raster_constraint_pixel_types Bsp{C; rast SELECT array_agg(pixeltype)::text[] FROM public.ST_BandMetaData($1, ARRAY[]::int[]); t  'E_raster_constraint_info_pixel_types Bs8rastschema4rasttable8rastcolumnH SELECT trim( both '''' from split_part( regexp_replace( split_part(s.consrc, ' = ', 2), '[\(\)]', '', 'g' ), '::', 1 ) )::text[] FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%_raster_constraint_pixel_types(%'; t 'E_drop_raster_constraint_num_bands Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_num_bands_' || $3) t 'E_add_raster_constraint_num_bands M0Bv8rastschema4rasttable8rastcolumn DECLARE fqtn text; cn name; sql text; attr int; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_num_bands_' || $3; sql := 'SELECT public.st_numbands(' || quote_ident($3) || ') FROM ' || fqtn || ' LIMIT 1'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the number of bands of a sample raster: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (public.st_numbands(' || quote_ident($3) || ') = ' || attr || ')'; RETURN public._add_raster_constraint(cn, sql); END; t 'E_raster_constraint_info_num_bands Bs8rastschema4rasttable8rastcolumn SELECT regexp_replace( split_part(s.consrc, ' = ', 2), '[\(\)]', '', 'g' )::integer FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%st_numbands(%'; t 'E_drop_raster_constraint_regular_blocking Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_regular_blocking_' || $3) t 'E_raster_constraint_info_regular_blocking M0Bs8rastschema4rasttable8rastcolumn DECLARE covtile boolean; spunique boolean; BEGIN -- check existance of constraints -- coverage tile constraint covtile := COALESCE( public._raster_constraint_info_coverage_tile($1, $2, $3), FALSE); -- spatially unique constraint spunique := COALESCE( public._raster_constraint_info_spatially_unique($1, $2, $3), FALSE); RETURN (covtile AND spunique); END; t 'E_drop_raster_constraint_coverage_tile Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_coverage_tile_' || $3) t 'E_add_raster_constraint_coverage_tile M0Bv8rastschema4rasttable8rastcolumni DECLARE fqtn text; cn name sql _scalex double precision)ykew7kew6tilewidth in tegerheight alignment b@ooleanc ovextge@ometry.covrast AABEGIN:= ''(IF length($1) > 0 T HE'(quote_ident$ || '. 0 THEN sql := 'SELECT nspname FROM pg_namespace ' || 'WHERE nspname = ' || quote_literal($1) || 'LIMIT 1'; EXECUTE sql INTO schema; IF schema IS NULL THEN RAISE EXCEPTION 'The value provided for schema is invalid'; RETURN FALSE; END IF; END IF; IF schema IS NULL THEN sql := 'SELECT n.nspname AS schemaname ' || 'FROM pg_catalog.pg_class c ' || 'JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace ' || 'WHERE c.relkind = ' || quote_literal('r') || ' AND n.nspname NOT IN (' || quote_literal('pg_catalog') || ', ' || quote_literal('pg_toast') || ') AND pg_catalog.pg_table_is_visible(c.oid)' || ' AND c.relname = ' || quote_literal($2); EXECUTE sql INTO schema; IF schema IS NULL THEN RAISE EXCEPTION 'The table % does not occur in the search_path', quote_literal($2); RETURN FALSE; END IF; END IF; rtn := public._drop_overview_constraint(schema, $2, $3); IF rtn IS FALSE THEN RAISE EXCEPTION 'Unable to drop the overview constraint . Is the schema name, table name or column name incorrect?'; RETURN FALSE; END IF; RETURN TRUE; END; t  'E_raster_constraint_info_index Bs8rastschema4rasttable8rastcolumn8 SELECT TRUE FROM pg_catalog.pg_class c JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace JOIN pg_am am ON c.relam = am.oid JOIN pg_attribute att ON att.attrelid = c2.oid AND pg_catalog.format_type(att.atttypid, att.atttypmod) = 'raster' WHERE c.relkind IN ('i') AND n.nspname = $1 AND c2.relname = $2 AND att.attname = $3 AND am.amname = 'gist' AND strpos(pg_catalog.pg_get_expr(i.indexprs, i.indrelid), att.attname) > 0; t 'E_drop_raster_constraint_out_db Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_out_db_' || $3) t 'E_add_raster_constraint_out_db M0Bv8rastschema4rasttable8rastcolumn DECLARE fqtn text; cn name; sql text; attr boolean[]; max int; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_out_db_' || $3; sql := 'SELECT public._raster_constraint_out_db(' || quote_ident($3) || ') FROM ' || fqtn || ' LIMIT 1'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the out-of-database bands of a sample raster: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; max := array_length(attr, 1); IF max < 1 OR max IS NULL THEN RAISE NOTICE 'Unable to get the out-of-database bands of a sample raster (max < 1 or null)'; RETURN FALSE; END IF; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK ( public._raster_constraint_out_db(' || quote_ident($3) || ') = ''{'; FOR x in 1..max LOOP IF attr[x] IS FALSE THEN sql := sql || 'FALSE'; ELSE sql := sql || 'TRUE'; END IF; IF x < max THEN sql := sql || ','; END IF; END LOOP; sql := sql || '}''::boolean[])'; RETURN public._add_raster_constraint(cn, sql); END; t 'E_raster_constraint_out_db Bsp{C; rast SELECT array_agg(isoutdb)::boolean[] FROM public.ST_BandMetaData($1, ARRAY[]::int[]); t 'E_raster_constraint_info_out_db Bs8rastschema4rasttable8rastcolumn@ SELECT trim( both '''' from split_part( regexp_replace( split_part(s.consrc, ' = ', 2), '[\(\)]', '', 'g' ), '::', 1 ) )::boolean[] FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%_raster_constraint_out_db(%'; t 'E_drop_raster_constraint_nodata_values Bv8rastschema4rasttable8rastcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_nodata_values_' || $3) t 'E_add_raster_constraint_nodata_values M0Bv8rastschema4rasttable8rastcolumn DECLARE fqtn text; cn name; sql text; attr numeric[]; max int; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_nodata_values_' || $3; sql := 'SELECT public._raster_constraint_nodata_values(' || quote_ident($3) || ') FROM ' || fqtn || ' LIMIT 1'; BEGIN EXECUTE sql INTO attr; EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Unable to get the nodata values of a sample raster: % (%)', SQLERRM, SQLSTATE; RETURN FALSE; END; max := array_length(attr, 1); IF max < 1 OR max IS NULL THEN RAISE NOTICE 'Unable to get the nodata values of a sample raster (max < 1 or null)'; RETURN FALSE; END IF; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK (_raster_constraint_nodata_values(' || quote_ident($3) || ')::numeric[] = ''{'; FOR x in 1..max LOOP IF attr[x] IS NULL THEN sql := sql || 'NULL'; ELSE sql := sql || attr[x]; END IF; IF x < max THEN sql := sql || ','; END IF; END LOOP; sql := sql || '}''::numeric[])'; RETURN public._add_raster_constraint(cn, sql); END; t 'E_raster_constraint_nodata_values Bsp{C; rast SELECT array_agg(round(nodatavalue::numeric, 10))::numeric[] FROM public.ST_BandMetaData($1, ARRAY[]::int[]); t 'E_raster_constraint_info_nodata_values Bs8rastschema4rasttable8rastcolumn| SELECT trim(both '''' from split_part( regexp_replace( split_part(s.consrc, ' = ', 2), '[\(\)]', '', 'g' ), '::', 1 ) )::double precision[] FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%_raster_constraint_nodata_values(%'; Z4  (H؃Ȃt 'Edropoverviewconstraints Bv[,ovtable0ovcolumnk SELECT public.DropOverviewConstraints('', $1, $2) t ?Edroprasterconstraints BvC1iiv4rasttable8rastcolumn<constraints SELECT public.DropRasterConstraints('', $1, $2, VARIADIC $3) t ?Edroprasterconstraints M0BvK3iiiv8rastschema4rasttable8rastcolumn<constraints DECLARE max int;  schema nameql t$exkw rtn boolea"ncnt@BEGIN:= 0g:= array_length(constraints, 1")'IF *< 1 THEE RAISE NOTICE 'No 7 indicated to be dropped. Doing nothing'\ RETURN TRUEEND IF; -- validate := NULL$1) > 0#:= 'SELECT nsp= FROM pg_ space '. || @'WHERE*= ' || quote_literalf/LIMIT 1EXE CUTE wIN> FOR A 1..!A@LOOP:kw!otrim(both from lowerI}[x]))E CASQ WH EN kwEsrid'MDA~AwpSRIDH4>S3:= public._A_rasPter_/_g(w, $2, $3"lscale_x!L x')s+-X*B ,P 'x' yyY@y,=Qqblock8siz$bwidth86+F "height* /5/l]/~Coame_alignmentBvame  .)D_reg0ular,   X coverage tile requir<f#|f_fIF sPOT,_Dpatially uniqu!_lj_j-num@_bands!num /-er xof 4/)/pixel_type/ 0)nodata_g u+Nr) out_dboutdbout-of-qjbas*~ =` 'extQpmaximum 2g)AEL U@nknownx: %. Skiθ)ICONTINUE ç?1YdDLcnt+ 1WARNINGqto ,^ E=pNoneAze specified could beped. Isj,Jor columnincorrect?#11TRUr t gEaddrasterconstraints Bv @4rasttable8rastcolumn srid,scale_x,scale_y<blocksize_x<blocksize_yHsame_alignmentPregular_blocking4num_bands<pixel_typesDnodata_values(out_db(extent!({CONST :constty pe 16mod -1col lid 0len byval trueisnull false :location 571705$value 1 [ 1 0 ]} `3`}67802307/91 e9?2035}68912) SELECT public.AddRasterConstraints('', $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) t gEaddrasterconstraints M0Bv P8rastschema4rasttable8rastcolumn srid,scale_x,scale_y<blocksize_x<blocksize_yHsame_alignmentPregular_blocking4num_bands<pixel_typesDnodata_values(out_db(extent>!({CONST :constty pe 16mod -1col lid 0len byval trueisnull false :location 569885value 1 [ 1 0 ]} _912I4378700107005/7009 d17?70207)44730)0 DECLARE constraints text[]; BEGIN IF srid IS TRUE THEN constraints := constraints || 'srid'::text; END IF; IF scale_x IS TRUE THEN constraints := constraints || 'scale_x'::text; END IF; IF scale_y IS TRUE THEN constraints := constraints || 'scale_y'::text; END IF; IF blocksize_x IS TRUE THEN constraints := constraints || 'blocksize_x'::text; END IF; IF blocksize_y IS TRUE THEN constraints := constraints || 'blocksize_y'::text; END IF; IF same_alignment IS TRUE THEN constraints := constraints || 'same_alignment'::text; END IF; IF regular_blocking IS TRUE THEN constraints := constraints || 'regular_blocking'::text; END IF; IF num_bands IS TRUE THEN constraints := constraints || 'num_bands'::text; END IF; IF pixel_types IS TRUE THEN constraints := constraints || 'pixel_types'::text; END IF; IF nodata_values IS TRUE THEN constraints := constraints || 'nodata_values'::text; END IF; IF out_db IS TRUE THEN constraints := constraints || 'out_db'::text; END IF; IF extent IS TRUE THEN constraints := constraints || 'extent'::text; END IF; RETURN public.AddRasterConstraints($1, $2, $3, VARIADIC constraints); END; t ?Eaddrasterconstraints BvC1iiv4rasttable8rastcolumn<constraints} SELECT public.AddRasterConstraints('', $1, $2, VARIADIC $3) t ?Eaddrasterconstraints M0BvK3iiiv8rastschema4rasttable8rastcolumn<constraintsru DECLARE max int; cnt sql tex chema` name/kw#rtn boolean; BEGINP:= 0"g:= array_length(constraints, 1)'IF *< 1 THEE RAISE NOTICE 'No 7 indicated to be added. Doing nothing'Z RETURN TRUEEND IF; -- validate := NULL$1) > 0.:= 'SELECT nsp- FROM pg_ space '. || @'WHERE*= ' || quote_literalf/LIMIT 1EXE CUTE wIN> FOR A 1..!A>LOOP:kw!otrim(both from lowerI{[x]))E CASQ WH EN kwEsrid'MAddAuSRIDH4 0 THEN sql := 'SELECT nspname FROM pg_namespace ' || 'WHERE nspname = ' || quote_literal(s) || 'LIMIT 1'; EXECUTE sql INTO s; IF s IS NULL THEN RAISE EXCEPTION 'The value % is not a valid schema', quote_literal(s); RETURN FALSE; END IF; END IF; -- no schema, determine what it could be using the table IF length(s) < 1 THEN sql := 'SELECT n.nspname AS schemaname ' || 'FROM pg_catalog.pg_class c ' || 'JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace ' || 'WHERE c.relkind = ' || quote_literal('r') || ' AND n.nspname NOT IN (' || quote_literal('pg_catalog') || ', ' || quote_literal('pg_toast') || ') AND pg_catalog.pg_table_is_visible(c.oid)' || ' AND c.relname = ' || quote_literal(t); EXECUTE sql INTO s; IF s IS NULL THEN RAISE EXCEPTION 'The table % does not occur in the search_path', quote_literal(t); RETURN FALSE; END IF; END IF; IF x = 1 THEN oschema := s; ELSE rschema := s; END IF; END LOOP; -- reference raster rtn := public._add_overview_constraint(oschema, $2, $3, rschema, $5, $6, $7); IF rtn IS FALSE THEN RAISE EXCEPTION 'Unable to add the overview constraint. Is the schema name, table name or column name incorrect?'; RETURN FALSE; END IF; RETURN TRUE; END; t 'E_drop_overview_constraint Bvs0ovschema,ovtable0ovcolumn SELECT public._drop_raster_constraint($1, $2, 'enforce_overview_' || $3) t 'E_add_overview_constraint M0Bv0ovschema,ovtable0ovcolumn4refschema0reftable4refcolumn(factorT DECLARE fqtn text; cn name; sql text; BEGIN fqtn := ''; IF length($1) > 0 THEN fqtn := quote_ident($1) || '.'; END IF; fqtn := fqtn || quote_ident($2); cn := 'enforce_overview_' || $3; sql := 'ALTER TABLE ' || fqtn || ' ADD CONSTRAINT ' || quote_ident(cn) || ' CHECK ( public._overview_constraint(' || quote_ident($3) || ',' || $7 || ',' || quote_literal($4) || ',' || quote_literal($5) || ',' || quote_literal($6) || '))'; RETURN public._add_raster_constraint(cn, sql); END; t ?E_overview_constraint_info Bsc9iiioooo0ovschema,ovtable0ovcolumn4refschema0reftable4refcolumn(factor SELECT split_part(split_part(s.consrc, '''::name', 1), '''', 2)::name, split_part(split_part(s.consrc, '''::name', 2), '''', 2)::name, split_part(split_part(s.consrc, '''::name', 3), '''', 2)::name, trim(both from split_part(s.consrc, ',', 2))::integer FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = $1 AND c.relname = $2 AND a.attname = $3 AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%_overview_constraint(%' t 'E_overview_constraint Bs{Cov(factor4refschema0reftable4refcolumn SELECT COALESCE((SELECT TRUE FROM public.raster_columns WHERE r_table_catalog = current_database() AND r_table_schema = $3 AND r_table_name = $4 AND r_raster_column = $5), FALSE) t gEdroprasterconstraints Bv @4rasttable8rastcolumn srid,scale_x,scale_y<blocksize_x<blocksize_yHsame_alignmentPregular_blocking4num_bands<pixel_typesDnodata_values(out_db(extent!({CONST :constty pe 16mod -1col lid 0len byval trueisnull false :location 579677$value 1 [ 1 "0 ]} _7083974$80084/8892A}559280025) SELECT DropRasterConstraints('', $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) t gEdroprasterconstraints M0Bv P8rastschema4rasttable8rastcolumn srid,scale_x,scale_y<blocksize_x<blocksize_yHsame_alignmentPregular_blocking4num_bands<pixel_typesDnodata_values(out_db(extent!({CONST :constty pe 16mod -1col lid 0len byval trueisnull false :location 57790`value 1 [ 1 0 ]} `37688003307/81`}$498422+5}58) DECLARE constraints text[]; BEGIN IF srid IS TRUE THEN constraints := constraints || 'srid'::text; END IF; IF scale_x IS TRUE THEN constraints := constraints || 'scale_x'::text; END IF; IF scale_y IS TRUE THEN constraints := constraints || 'scale_y'::text; END IF; IF blocksize_x IS TRUE THEN constraints := constraints || 'blocksize_x'::text; END IF; IF blocksize_y IS TRUE THEN constraints := constraints || 'blocksize_y'::text; END IF; IF same_alignment IS TRUE THEN constraints := constraints || 'same_alignment'::text; END IF; IF regular_blocking IS TRUE THEN constraints := constraints || 'regular_blocking'::text; END IF; IF num_bands IS TRUE THEN constraints := constraints || 'num_bands'::text; END IF; IF pixel_types IS TRUE THEN constraints := constraints || 'pixel_types'::text; END IF; IF nodata_values IS TRUE THEN constraints := constraints || 'nodata_values'::text; END IF; IF out_db IS TRUE THEN constraints := constraints || 'out_db'::text; END IF; IF extent IS TRUE THEN constraints := constraints || 'extent'::text; END IF; RETURN DropRasterConstraints($1, $2, $3, VARIADIC constraints); END; `0X  Pp(Hl ( Xt Epostgis_noop ?v@p{CRASTER_noop-$libdir/rtpostgis-2.3t gEst_createoverview M0Bvstabcol(factor algo\({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 596247 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]}) DECLARE sinfo RECORD; -- source ql TEXT; ttab BEG IN 10. Check arguments, we need to ensure:, a. Sctable has a raster column with give@n name?O$A 7&b]retu rndzas wellbl@RETURN\|@|'.'||; END; t gEst_retile M0BzDs{C@tabcolextsfxsfytwth algo\({CONST :consttype 25 :consttypmod -1 :constcollid 100 :constlen -1 :constbyval false :constisnull false :location 593812 :constvalue 20 [ 80 0 0 0 78 101 97 114 101 115 116 78 101 105 103 104 98 111 117 114 ]})  DECLARE rec RECORD; ipx FLO(AT8ytxP int y e GEOMETRY; -- tile extent ncolBs+nlin srid ql TEXT; BEGIN RAISE DEBUG 'Target coverage will have sfx=%, sfy=T%'x ;C-- 2. Loop 9 each tKand build it from soPurces := st_xmin(ext):= ceil((ax-ipx)/sfx/tw,IF < 0 THEN UWy8+! YByx-ipyYy/th.ELS NN NND IF7:= ST_SridQ% x %C,tof appro x siz!',G,, tw, thh$eKext::boxD2dFOR!I N 0..g-1` LOOPy~ "MakeEnvelop4e(! +V* tw!q7+p8h8y8p@(tx+1)p (ty8p$91;!sfy: %,o7g/H/te)1:= 'SELECT count(*), public.ST@_Clip( Union Sna0pToG! Re`scale N' || quote_ident(col)|| ' Expand($3, greatest($1,$2))),$1, $2, $6), $4, P$5, )3) g FROM xtab::t exQ q WHERE vInter`sects$3)'zSQL:9ql#!QIN EXECUTEUSING,!ty, algo9j%Z,QZa%,% witBh) rec., tx, t{6 nIF)g IS NULLW=WARN'No C! : Vj T ^foG has KT,Qwidth()heightw RETURN NEXTT  QYP; END; t 'Eupdaterastersrid Bv8table_name<column_name0new_sridg SELECT public._UpdateRasterSRID('', $1, $2, $3) t 'Eupdaterastersrid Bv<schema_name8table_name<column_name0new_sridg SELECT public._UpdateRasterSRID($1, $2, $3, $4) t 'E_updaterastersrid M0Bv<schema_name8table_name<column_name0new_srid DECLARE fqtn text; schema nameqlrid integerct boolean; BEGIN -- vali`date LU:@= NULL 00 THE@r:= 'SELECT nsp FR@OM pg_ s@pace '. || 'WHERE*= ' || quote_literalf/LIMIT 1' EXECUTE wINTO$; IF IS RAISE EXCEPTION 'Theue provided for@is inw RETURN FALSEND IF  ''.AS3%Acatalog. lass c%0JOIN %qn ON n.oid = c.relckin+'r' ANDNOT IN (7@,bpg_toast))j table_is_visible(c)4/^2)/M@ % does not occur in the search_path',/e-- clamp SRID#unew_2<9:= public.ST_2('POINT EMPTY'::geometryNOT ICE '7 % convert ed toofficially unknown! %',, LSA"drop coverage tile|strai$nt#onUparately justlcas -n't exi2s;ct{_r@aster_0_info_{_{(#, $2, $3 IF ct!!TRUEqPERFORMq_d_X, extent, alignments DropRC( r, 'W1Y ')btARo(#ident$1.<',641upb$UHUPDATE3A' SET;9O3!;et32 ::D"B;*=2sqlGcadd3'*AddBq?N if needed/add'/-Dg; ;