AtteanX-Endpoint-0.002/000755 000765 000024 00000000000 13174405356 014734 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/Changes000644 000765 000024 00000000753 13174405345 016232 0ustar00gregstaff000000 000000 AtteanX::Endpoint ================= Created: 2016-03-25 Home page: Bug tracker: 0.002 2017-10-26 - (Update) Change hashbang to use env (#2 from KjetilK). - (Update) Replace use of HTML::HTML5::Parser with XML::LibXML::Parser (#4 from @kjetilk). - (Update) Updated copyright year and added text about CodeMirror license. 0.001 2016-03-25 - (Addition) Initial release. AtteanX-Endpoint-0.002/inc/000755 000765 000024 00000000000 13174405353 015502 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/lib/000755 000765 000024 00000000000 13174405353 015477 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/LICENSE000644 000765 000024 00000002463 12675524556 015757 0ustar00gregstaff000000 000000 The MIT License (MIT) Copyright (c) 2016 Gregory Todd Williams Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The CodeMirror sources included in share/endpoint/www/ are Copyright (C) 2012 by Marijn Haverbeke and are also licensed under the MIT License. More information may be found at . AtteanX-Endpoint-0.002/Makefile.PL000644 000765 000024 00000002614 13160243151 016675 0ustar00gregstaff000000 000000 use strict; use warnings; use inc::Module::Install; name 'AtteanX-Endpoint'; all_from 'lib/AtteanX/Endpoint.pm'; author 'Gregory Todd Williams '; license 'perl'; test_requires 'Test::Exception' => 0; test_requires 'Test::Modern' => 0; test_requires 'Test::Moose' => 0; test_requires 'Test::More' => 0.88; test_requires 'Test::Roo' => 0; test_requires 'HTTP::Message::PSGI' => 0; test_requires 'Test::LWP::UserAgent' => 0; test_requires 'Test::WWW::Mechanize::PSGI' => 0; perl_version '5.014'; requires 'Attean' => 0.013; requires 'File::ShareDir' => 0; requires 'HTML::HTML5::Writer' => 0; requires 'HTTP::Negotiate' => 0; requires 'IO::Compress::Gzip' => 0; requires 'JSON' => 0; requires 'XML::LibXML' => 1.70; requires 'List::MoreUtils' => 0; requires 'Moo' => 1.006000; requires 'MooX::Log::Any' => 0; requires 'namespace::clean' => 0; requires 'Plack' => 0; requires 'TryCatch' => 0; requires 'Types::Standard' => 0; resources( 'homepage' => "http://search.cpan.org/dist/AtteanX-Endpoint/", 'repository' => "http://github.com/kasei/atteanx-endpoint/", 'bugtracker' => "https://github.com/kasei/atteanx-endpoint/issues", 'IRC' => "irc://irc.perl.org/#perlrdf", ); author_tests('xt'); install_share; write_doap_changes "meta/changes.ttl", "Changes", "turtle"; sign; WriteAll; AtteanX-Endpoint-0.002/MANIFEST000644 000765 000024 00000002563 13174405353 016070 0ustar00gregstaff000000 000000 Changes inc/Module/Install.pm inc/Module/Install/AuthorTests.pm inc/Module/Install/Base.pm inc/Module/Install/Can.pm inc/Module/Install/DOAPChangeSets.pm inc/Module/Install/Fetch.pm inc/Module/Install/Makefile.pm inc/Module/Install/Metadata.pm inc/Module/Install/Share.pm inc/Module/Install/Win32.pm inc/Module/Install/WriteAll.pm lib/AtteanX/Endpoint.pm LICENSE Makefile.PL MANIFEST This list of files META.yml meta/changes.ttl README.md scripts/endpoint.psgi share/endpoint/index.html share/endpoint/results.html share/endpoint/www/css/docs.css share/endpoint/www/css/sparqlcolors.css share/endpoint/www/favicon.ico share/endpoint/www/js/codemirror.js share/endpoint/www/js/editor.js share/endpoint/www/js/highlight.js share/endpoint/www/js/mirrorframe.js share/endpoint/www/js/parsecss.js share/endpoint/www/js/parsedummy.js share/endpoint/www/js/parsehtmlmixed.js share/endpoint/www/js/parsejavascript.js share/endpoint/www/js/parsesparql.js share/endpoint/www/js/parsexml.js share/endpoint/www/js/select.js share/endpoint/www/js/sparql_form.js share/endpoint/www/js/stringstream.js share/endpoint/www/js/tokenize.js share/endpoint/www/js/tokenizejavascript.js share/endpoint/www/js/undo.js share/endpoint/www/js/unittests.js share/endpoint/www/js/util.js t/00.load.t t/simple.t xt/pod-coverage.t xt/pod.t SIGNATURE Public-key signature (added by MakeMaker) AtteanX-Endpoint-0.002/meta/000755 000765 000024 00000000000 13174405353 015657 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/META.yml000644 000765 000024 00000002360 13174405345 016204 0ustar00gregstaff000000 000000 --- abstract: 'SPARQL 1.1 Protocol Endpoint' author: - 'Gregory Todd Williams C<< >>' - 'Gregory Todd Williams ' build_requires: ExtUtils::MakeMaker: 6.59 HTTP::Message::PSGI: 0 Test::Exception: 0 Test::LWP::UserAgent: 0 Test::Modern: 0 Test::Moose: 0 Test::More: 0.88 Test::Roo: 0 Test::WWW::Mechanize::PSGI: 0 configure_requires: ExtUtils::MakeMaker: 6.59 distribution_type: module dynamic_config: 1 generated_by: 'Module::Install version 1.17' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: AtteanX-Endpoint no_index: directory: - inc - share - t - xt requires: Attean: 0.013 File::ShareDir: 0 HTML::HTML5::Writer: 0 HTTP::Negotiate: 0 IO::Compress::Gzip: 0 JSON: 0 List::MoreUtils: 0 Moo: 1.006 MooX::Log::Any: 0 Plack: 0 TryCatch: 0 Types::Standard: 0 XML::LibXML: 1.7 namespace::clean: 0 perl: 5.14.0 resources: IRC: irc://irc.perl.org/#perlrdf bugtracker: https://github.com/kasei/atteanx-endpoint/issues homepage: http://search.cpan.org/dist/AtteanX-Endpoint/ license: http://dev.perl.org/licenses/ repository: http://github.com/kasei/atteanx-endpoint/ version: '0.002' AtteanX-Endpoint-0.002/README.md000644 000765 000024 00000000665 12674576161 016231 0ustar00gregstaff000000 000000 AtteanX-Store-DBI ================= An Attean SPARQL 1.1 Endpoint implementation. Getting Help ------------ A group of perl-rdf developers are usually available in the [perlrdf IRC channel](irc://irc.perl.org/perlrdf) where we're happy to answer questions. You can also: * Email our [mailing list](http://lists.perlrdf.org/listinfo/dev) * Create a new [GitHub Issue](https://github.com/kasei/attean/issues) or submit a pull request AtteanX-Endpoint-0.002/scripts/000755 000765 000024 00000000000 13174405353 016420 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/share/000755 000765 000024 00000000000 13174405353 016033 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/SIGNATURE000644 000765 000024 00000010136 13174405356 016221 0ustar00gregstaff000000 000000 This file contains message digests of all files listed in MANIFEST, signed via the Module::Signature module, version 0.81. To verify the content in this distribution, first make sure you have Module::Signature installed, then type: % cpansign -v It will check each file's integrity, as well as the signature's validity. If "==> Signature verified OK! <==" is not displayed, the distribution may already have been compromised, and you should not run its Makefile.PL or Build.PL. -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 SHA1 c0c499f54d97fade273e2550b7274aac7a30ff81 Changes SHA1 646c198992a5832c120744011c9cde303eebe4ad LICENSE SHA1 639d1bf158729cf8c19abafba6a71c6db0edb60f MANIFEST SHA1 9a9f3be365e447f737e2959310b41d7575297bde META.yml SHA1 538553ebd8b0233ea9bab9bdf7a2703977e6a926 Makefile.PL SHA1 60630918f4f3f6cc3bd47312143b833bbf0208ff README.md SHA1 05a17c51aceb6435a1eac17137f19911a09e5050 inc/Module/Install.pm SHA1 d001b4b9a48395a8c4134b234a0e1789138427c5 inc/Module/Install/AuthorTests.pm SHA1 dc73c2baf4357ad1cc884146147f557a50a29300 inc/Module/Install/Base.pm SHA1 c7f311a5bc5a7f96e9105d5f16a0e13fc596899d inc/Module/Install/Can.pm SHA1 470809a1dbe03e197e74dde79c6af40b5f7f9b26 inc/Module/Install/DOAPChangeSets.pm SHA1 8c8f9ff5b0a536af59814e16a901ce39fbc23299 inc/Module/Install/Fetch.pm SHA1 4f77eb02e104324b08a047585c498146b045613b inc/Module/Install/Makefile.pm SHA1 2f5be6af6098acf6d786a4a7299a34d0c6c04ef9 inc/Module/Install/Metadata.pm SHA1 f7882569ead92975e7559e169c2a2e86c3de1e57 inc/Module/Install/Share.pm SHA1 aa6723cc4a8d4475026f6ceb28e1f16459e8a11b inc/Module/Install/Win32.pm SHA1 6661285caedfe012cb5a1ca915a422ffc292ae2b inc/Module/Install/WriteAll.pm SHA1 e854e152322a355b9d195920c2dd4a26ee78b608 lib/AtteanX/Endpoint.pm SHA1 078450ece1f78535d63b1020cde797a5a40ce8b5 meta/changes.ttl SHA1 e0ed180620d47f429917d290445ac27b13173f89 scripts/endpoint.psgi SHA1 19ac766464ef05698ac985e2a42e87dbb7912f3f share/endpoint/index.html SHA1 6dd0cf355b49dcb0fdfe9203c68917d5320584f8 share/endpoint/results.html SHA1 c40ebad09f7e1d92ad0228a0625d730ba2f57b84 share/endpoint/www/css/docs.css SHA1 398bae2ae66a19ab8976036b50a2d20041b67fe5 share/endpoint/www/css/sparqlcolors.css SHA1 aa6874f2bad5f0b75b0ff52760f5e6b48ec933ae share/endpoint/www/favicon.ico SHA1 13fece7654a01193013d3d96528c851bfc79a300 share/endpoint/www/js/codemirror.js SHA1 d372c911fcc2bd030da800fdeedfbcd6b0100c83 share/endpoint/www/js/editor.js SHA1 551ff99056361eebfba2a32ea7445502a6eb4f21 share/endpoint/www/js/highlight.js SHA1 5bff996ab2564db1a998de30cb9e1ae07cbe62b5 share/endpoint/www/js/mirrorframe.js SHA1 d7540f8390913afc0d58484bf5161cf9b9aad9f8 share/endpoint/www/js/parsecss.js SHA1 a0028275114eaedf7ddcf57976c99c32ecb2c1d3 share/endpoint/www/js/parsedummy.js SHA1 39383cdfc93568cc5673e2b71f681e2811fb5463 share/endpoint/www/js/parsehtmlmixed.js SHA1 d5319247a4b26cafccfd4f26621918f0f4d22ef4 share/endpoint/www/js/parsejavascript.js SHA1 c6597fb9a5c7969237f7f039f2d0bc6968ef7ce7 share/endpoint/www/js/parsesparql.js SHA1 ae75f537ad61277a21a8ec423f5deffed8454e22 share/endpoint/www/js/parsexml.js SHA1 85cdbc16cd1581f441480d91fa5c0a50f234ff0b share/endpoint/www/js/select.js SHA1 d3261a5ddb7e5835c7abed5d5c343f0ef98637a5 share/endpoint/www/js/sparql_form.js SHA1 19cc324cce7165c868a60d523b2462c648f20887 share/endpoint/www/js/stringstream.js SHA1 5fdb14f3db575d0ce6a7113f96ea5a530f4f1941 share/endpoint/www/js/tokenize.js SHA1 7f581a2b4647f1214d1bc3160eb4e166a1261e4f share/endpoint/www/js/tokenizejavascript.js SHA1 9bba7456d4a25b23e805bc2d1d5bde61371c4e82 share/endpoint/www/js/undo.js SHA1 26ff15a8f6c196e8bd9f5d7e7b628a6ee9b0dfaa share/endpoint/www/js/unittests.js SHA1 201409b1d00a8df0b65b00a1b92ab62d9e0bbd7a share/endpoint/www/js/util.js SHA1 ba3972579f5adab59fefb48dee2f8d59247e37e6 t/00.load.t SHA1 6c81693f964d4569f641101787e648b6a8a16272 t/simple.t SHA1 61bf86179ce63f1148d1fb8c7a4c57bee395f7fc xt/pod-coverage.t SHA1 6387af7a5fde0747be5bc9ad2ec15ca9759bd95a xt/pod.t -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iEYEARECAAYFAlnyCuwACgkQhPK6VMqoyC1DXwCcDnvOYVW7g092trkfG/w9l0Rt DrwAn3gTRxb770EnaSywBir0XrE5PDW7 =/Ref -----END PGP SIGNATURE----- AtteanX-Endpoint-0.002/t/000755 000765 000024 00000000000 13174405353 015174 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/xt/000755 000765 000024 00000000000 13174405353 015364 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/xt/pod-coverage.t000644 000765 000024 00000000777 12643235470 020140 0ustar00gregstaff000000 000000 use strict; use warnings; use Test::More; eval "use Test::Pod::Coverage 1.04"; plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@; use Module::Load::Conditional qw[can_load]; my @modules = all_modules(); foreach my $mod (@modules) { next if ($mod =~ /^Test::/); if (can_load( modules => { $mod => 0 } )) { pod_coverage_ok($mod, { also_private => [ qr{^[A-Z][A-Z0-9_]*$} ] }); } else { note("Ignoring $mod for POD coverage tests (failed to load)"); } } done_testing(); AtteanX-Endpoint-0.002/xt/pod.t000644 000765 000024 00000000233 11760736733 016341 0ustar00gregstaff000000 000000 use strict; use warnings; use Test::More; eval "use Test::Pod 1.14"; plan skip_all => "Test::Pod 1.14 required for testing POD" if $@; all_pod_files_ok(); AtteanX-Endpoint-0.002/t/00.load.t000644 000765 000024 00000000207 12674563140 016520 0ustar00gregstaff000000 000000 use Test::More tests => 1; BEGIN { use_ok( 'AtteanX::Endpoint' ); } note( "Testing AtteanX::Endpoint $AtteanX::Endpoint::VERSION" ); AtteanX-Endpoint-0.002/t/simple.t000644 000765 000024 00000003603 12674573657 016675 0ustar00gregstaff000000 000000 use Test::More; use Test::Exception; use v5.14; use warnings; no warnings 'redefine'; use Attean::RDF; use AtteanX::Endpoint; use Test::WWW::Mechanize::PSGI; sub mech_for_nquads { my $nquads = shift; my $config = { endpoint => { service_description => { named_graphs => 1, default => 1, }, html => { embed_images => 1, image_width => 200, resource_links => 1, }, load_data => 0, update => 0, } }; my $store = Attean->get_store('Memory')->new(); my $model = Attean::MutableQuadModel->new( store => $store ); my $graph = iri('http://example.org/graph'); $model->load_triples('nquads', $graph => $nquads); my $end = AtteanX::Endpoint->new( model => $model, conf => $config, graph => $graph ); my $app = sub { my $env = shift; my $req = Plack::Request->new($env); my $resp = $end->run( $req ); return $resp->finalize; }; my $mech = Test::WWW::Mechanize::PSGI->new(app => $app); return $mech; } my $mech = mech_for_nquads(<<"END"); _:b "123" . _:b "787" . "My Document" . END subtest 'POST query for default graph' => sub { $mech->post('/sparql', Accept => 'application/sparql-results+xml', Content => ['query' => 'SELECT * WHERE { ?s ?p ?o }']); is( $mech->ct, 'application/sparql-results+xml', 'Is application/sparql-results+xml' ); $mech->content_unlike(qr#My Document#); $mech->content_like(qr#num#); $mech->content_like(qr#787#); $mech->content_like(qr#123#); }; subtest 'POST query for named graph' => sub { $mech->post('/sparql', Accept => 'application/sparql-results+xml', Content => ['query' => 'SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }']); is( $mech->ct, 'application/sparql-results+xml', 'Is application/sparql-results+xml' ); $mech->content_like(qr#My Document#); $mech->content_unlike(qr#num#); }; done_testing(); AtteanX-Endpoint-0.002/share/endpoint/000755 000765 000024 00000000000 13174405353 017653 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/share/endpoint/index.html000644 000765 000024 00000002661 12370032672 021652 0ustar00gregstaff000000 000000 SPARQL


AtteanX-Endpoint-0.002/share/endpoint/results.html000644 000765 000024 00000001432 12023154750 022234 0ustar00gregstaff000000 000000 SPARQL Results

Query


AtteanX-Endpoint-0.002/share/endpoint/www/000755 000765 000024 00000000000 13174405353 020477 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/share/endpoint/www/css/000755 000765 000024 00000000000 13174405353 021267 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/share/endpoint/www/favicon.ico000644 000765 000024 00000026451 12370000202 022605 0ustar00gregstaff000000 000000 PNG  IHDR@@iqJiCCPICC ProfilexYy8V]ܣ}yy S]U?3h}wWozGFZG`H@~D29BC҅z@`M/7yDHHAL&{L~'2~@Tx09~ AA`0!7Y r ]!2O-BaMHC#}!h37B16@pGTYþ&e`h؀+3 |@ DP =W+ |"(> 8 C0_rzF1y"GA3x#۱.=?cѷkL̜Bh9"ZD4 H*hZC0hczؼx5aW: -6-h8;@/,<>2?Gr}$xLB$xddevo9뷱lv"?47@QJ؊ J @ͬWLdo} 5 =%08H#1 C(H,2 jP] 0fX&A8C7$Cr @{!P(:ҡl(**:4 A_ aaX6`7d8΃K*ńEITPz(K JDrQ%T+5ZD@ch$h{:>G_G7{Oѓe/ ÁǨaL0N?L &S<`cX&0VkubbOc/akvñq8KK]UqOp3u<%/7ĻC{'M  A 5 K oxLRV3Z0A`G$%jo|֔Iy7)SNR ňzDWb 1XN "~#HB$m )A uHTTRT&TTG P-QSP RPNΥn~LHCA#DGCI)iyAJKO+KkIB{,N΀Λ.*]7=^ދ8})}/ A!!aaQс1q $d̔T4ʴɬÜ\yEŇ%9+kkk;645"^Evvuv/4z0 A9V9889/rvs.r1qisr5Mϭ}{G''gט7wwOϞ_-;~ /y.ensC)U/ 9 jf6N~+B)y&U $:,)=ŕ/H`$T%B%J$^H%u$c%+%'JjZvΒ%(,S*FNTlW919/g$yC#_|^*++TRT4,\BAJ}Uջ?ԔԢ>KP#gO) > FƄ& -^-V{m~mo2:::U:K2uu + uc͌_pxT,*61#ٚ国+7ro9lnj~EE%4u&.N=I>2dt(hGde[9x539)yщȔ'O^>>pj(U>b42[N?8#{&voPRfYгYZY׳iΙkJ{@B 1&5_xV݂BµKޗi\漜~yJFō%B%WWc~(u(r,gyhu=78ndV•1sUU55ŵL7͘uuf] * 5oަ57.77M4;7t޾#u.݂6ƶ{{W;;;:ܻt;u?5gݯ~_**>H!ʏU[G{Ӿg&[<}K_}yzM[۴w4r8JEk'&&'}fkja:jzk&CGrw ,/l.|T$tN3_"l=[Jתkipy` Sg/_oCɑݽ ia__#93; @SJ EA -TsY(FTÇYG)(.j|:~*F-6+#4^{~v7BWE$OIsɏ+F+S\QST0ֶ341*0Au3[Y6[mf=vsq:w{];/țG/?%063qxRzIb<`tχKJr9r88>ܚZ:ۺz⏨ ͚_ۻއ!/, QMy0-|3#1\'Rp)['ZHN{37ded=s>4/kE|BKEvە^/fYf^nrݪ"FYPF wͰ Oo6267۴fܩ;ڶ.ay{pwc=n.)x4YQ/_q&^y3]۸DSSߧ;gN}Hlw%8$jJie9+nW>RV']o2%M-V;wU{݁םp_njpБǭß=bG8{T4۾haU+a011?"XGIl3vǁB26 ^/QpP('7 ?(()'2$R*iJ /j>I6vΎ>};Fuv&#'n HӲV鱍 d||҄EDe$x$)%KMJ?i-;.`ħLP^QST޿ƒͪ#gnix(ϸƤ٦9~7m^;pq༽U{Dzwόl@oSpXHo[xt`PtR̋2qS#'Ov,4Y=j3͙Yes/T_+h}x4| I ƛ.ڵ1w={?q0|H̳w^CMLϦ|]b֫ew&d0pG*-$ ( A2L`MF_PhJ:*Buޣha): @pc1ɘ&d=-.W[ċ% YX6`I( R*Q|C"I\*=U35Q.Zr:zt"C:#cS%*}},ˬll]qspqep+s*Z%V(~J"VKZZ[FZOABRXS4<2){T/_1db佧̫,F68P:;9'Wz-&WwϼM@Z`W0z !|9Rc^3?0~ڑ̣ړN8Y6y:#cO槬+sXsgj P*)s}խ;0(ݜ}nuU{}/{TLMf.Z*\Jڭ] "U8pER\$4}Y`- (&*u 5/<L!K/5,VlpŸx|9E%JxFN$aII_TI0u 3M $m [JkLYX.A:ˡ̱y0>%(e ~  A!1a>NQ1Nq. aI))5igpSe ݊U/5 moH0X¤}E][3 0_'ѹ^ٯ>H. H ~1cw=pӤc 'ޞ<*w:(Ye=y>1_ 3/wK6KsʔʟTUb.ԯihiqk]~O}ӯSgchp#x0HSg~/Zp\ `eajbϖz[jw_NsqcC`h|%urk'O?7~j .R~&.Yۛ%?"#a,Rs/LA~GT6l! pHYs  IDATx[ tUՙ#7 $<!QD`QPSk yutI3c̚$ZZhKhK:-AQy(/ ${{{.7ls?{uWkbCK8^.i?4T O،tھs6`ZaUi}[wgoR=)۽_=rEe|۫p~ eF!3T[k{{}>v^cºRM&[DŽn||Ծܽ}rzK1\ή!h ʶɮ_~!%E#,G^[Ayur9t;zWoGj6|ď=z'~lD>XLdT}Z$A9sXa^QS3wMa@nIPiט'c|9N2 v31^0 da =tO? y#1WbYHqrLdFa@hDqCt}c ]xxs {oH8HZ44xB ʅ ؽxK\8t?b'us` \nIqD<%^i&!JFp&xM_ÿtxhSg))#%]cy?MUuQ%}륿s+ \>zPsҟvoPxT{7Q<5G F1 ʯC9 ^Qmw:#ZPVIa#ާ Iڰ5|+B(icZa@PV&!;\Uʽ* ):yݵ&X"tpRؙ(Fk~mE e=c۾"qK:d4RPY=Օ#Ym-1 cOH rne?)ѾID%\ʐts>Bx.GO@RIkwR!䧥, gSҊKi-^M䭏v$4\sv 1vRT n6bW$f>`R`\$NL TCߨ)ֆqEj) :4\=||N *= OЮ!RUJ,#ִAU&|ukoME/dj4D8(`avSUe/ -)XE>uc/싖u\o$H6w.J6`ɀ\K',Hj^_^ 'A\QLH0Q7wU]zpT! w # qIjG.ܺ(~R"ME (d N('IG{X&11pLGոn~db3hcxv]>J`'XʺʟC?Z=o81Ş`;4S{SEKFހ ‡9qf(Pw{+?RkHU%ruU#iNxK.^[ MM˶Y~1dzTO|q^b3Lk6VIW4TXHI~\Pos?yToGହ *I$r_@o5aCevs \Fc7 b*We]Ƃ 8de1&[@ '$WYd07*兦 x`]q.9=~-ceS)1 HZZ_6XD2q ԓ4i}fԮ⢼k"IES[:x)cy񇤙hFBPyqqc |#S.o# #ϛ梔>DɈz쒒x*Hc. N\*"_XGȌV >k˕B@9h'kSeSoY8QU)u/x2ii!Oc;_ 2b+8클GWԈdט&{i5N! )<$Pom5_q9FZ7v LД^=c p;a;v"K~Co0[^ WXMjӄB#k5_iFvXSP.Fiߤ]CP hpom UrdŲ&n h@t/n1'Qrdwͬ?[R{Z=τH qB| AUKjM;_ HaLT`9Lxj}HLo7!, +e6LnU YA:J9 Ht8w&p8uHytx ЙT#Fw6MZpb*dJ-|Ҩ4#"z Mm&UcQyrJl2%AS;5h\P&K޸\ ,ַl30]׽7 ]V!%x\T}\ % '{4jyG$!:w< e5Kdg_ d1~٫F6^+7s<YDҊژY%aг )CalS{JHu}Pbw ןt 0R5 ե]牁HrJHؙޓe@e[T|yEh'Ţz3EՐz6 }$(`K> >AH#9 L?GIQx=;iiec yU~T/cpmAIo=q٫Q M`g34#١3הb iJ'v\SۊKG- +-iH(tHX]@1z$=ݰqw!&IR"Duz:#2vAUiFb)Mפwڋ#z@P62s 'D| Ad2\UeQܴQPބ5O϶/rVg̫"b(=W{mU#20<3 k 13 mw ~2~b~Sk%S^mc!*֑pqdhHF')jG:E;]ARBwQdю#1B7AAu/,~@NPYR0))Bb TZTi1 #{K&CoZ},ri+VH| :Ӣ 9!МQ $ߨjUH̖Ҹ9 Ӽ'_uєÙWVJ& EչIu|c(3հS=A"}:vhKKF@9!1=JE-fsa^p@ϥ Ӂl}ەn[SvrPa2UR mR 1Bb,M7lTӒ_ Iy=+ƼL /`כ Y'yi %]KC3[!=3:}~&&(ل-GzvK<˽J[}z  `|gvįla\#6&dZAvͱW `Xy]czcF݂EE*U)j(]^8p] ^"'E-\WyƩP.{w0^-%x6"ɘ2 t[@0*j#_!o~A^TG*+xKL5FGz.b@v2cWfUgVӮHqeIu.bJ%%GdGײ0k̮n\.uT=Gc>ZҼ =+״{VۜbOIb>}o[4+,Hۆi02jk7̀3&}78bZH]K X}yKҚHsluA8;$|=ȓW ֥`Q۠5GBwHm웟OZU[ 4EX:ZővHOHwX5Xl{[1@"E9FIpzp/2/JGpVR e`ү*cӇ*" L`J Vd2R̒\̻r+~1tc dwgM>-pnnFSFM;% ۾rʁv48O@Ya $S0E幽"h&JTړTfiU[+ϨN =BZ[砙ݖ9.AY:6hN F~AJhIx } a4{둯ݳzJbT .>Sϵ(܈6q^b㿆y:2H h'*^FXyujgG'D4]^SK_]DU^F msArp[s`(`=qIENDB`AtteanX-Endpoint-0.002/share/endpoint/www/js/000755 000765 000024 00000000000 13174405353 021113 5ustar00gregstaff000000 000000 AtteanX-Endpoint-0.002/share/endpoint/www/js/codemirror.js000644 000765 000024 00000051243 11527534256 023630 0ustar00gregstaff000000 000000 /* CodeMirror main module (http://codemirror.net/) * * Implements the CodeMirror constructor and prototype, which take care * of initializing the editor frame, and providing the outside interface. */ // The CodeMirrorConfig object is used to specify a default // configuration. If you specify such an object before loading this // file, the values you put into it will override the defaults given // below. You can also assign to it after loading. var CodeMirrorConfig = window.CodeMirrorConfig || {}; var CodeMirror = (function(){ function setDefaults(object, defaults) { for (var option in defaults) { if (!object.hasOwnProperty(option)) object[option] = defaults[option]; } } function forEach(array, action) { for (var i = 0; i < array.length; i++) action(array[i]); } // These default options can be overridden by passing a set of // options to a specific CodeMirror constructor. See manual.html for // their meaning. setDefaults(CodeMirrorConfig, { stylesheet: [], path: "", parserfile: [], basefiles: ["util.js", "stringstream.js", "select.js", "undo.js", "editor.js", "tokenize.js"], iframeClass: null, passDelay: 200, passTime: 50, lineNumberDelay: 200, lineNumberTime: 50, continuousScanning: false, saveFunction: null, onChange: null, undoDepth: 50, undoDelay: 800, disableSpellcheck: true, textWrapping: true, readOnly: false, width: "", height: "300px", minHeight: 100, autoMatchParens: false, parserConfig: null, tabMode: "indent", // or "spaces", "default", "shift" enterMode: "indent", // or "keep", "flat" electricChars: true, reindentOnLoad: false, activeTokens: null, cursorActivity: null, lineNumbers: false, firstLineNumber: 1, indentUnit: 2, domain: null, noScriptCaching: false }); function addLineNumberDiv(container, firstNum) { var nums = document.createElement("DIV"), scroller = document.createElement("DIV"); nums.style.position = "absolute"; nums.style.height = "100%"; if (nums.style.setExpression) { try {nums.style.setExpression("height", "this.previousSibling.offsetHeight + 'px'");} catch(e) {} // Seems to throw 'Not Implemented' on some IE8 versions } nums.style.top = "0px"; nums.style.left = "0px"; nums.style.overflow = "hidden"; container.appendChild(nums); scroller.className = "CodeMirror-line-numbers"; nums.appendChild(scroller); scroller.innerHTML = "
" + firstNum + "
"; return nums; } function frameHTML(options) { if (typeof options.parserfile == "string") options.parserfile = [options.parserfile]; if (typeof options.basefiles == "string") options.basefiles = [options.basefiles]; if (typeof options.stylesheet == "string") options.stylesheet = [options.stylesheet]; var html = [""]; // Hack to work around a bunch of IE8-specific problems. html.push(""); forEach(options.stylesheet, function(file) { html.push(""); }); forEach(options.basefiles.concat(options.parserfile), function(file) { if (!/^https?:/.test(file)) file = options.path + file; html.push("