1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
\r
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
\r
7 <title>ImageMagick: MagickCore, C API for ImageMagick: Cache Views</title>
8 <meta http-equiv="Content-Language" content="en-US"/>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
11 <meta name="Application-name" content="ImageMagick"/>
12 <meta name="Description" content="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/>
13 <meta name="Application-url" content="http://www.imagemagick.org"/>
14 <meta name="Generator" content="PHP"/>
15 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, cache, views, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
16 <meta name="Rating" content="GENERAL"/>
17 <meta name="Robots" content="INDEX, FOLLOW"/>
18 <meta name="Generator" content="ImageMagick Studio LLC"/>
19 <meta name="Author" content="ImageMagick Studio LLC"/>
20 <meta name="Revisit-after" content="2 DAYS"/>
21 <meta name="Resource-type" content="document"/>
22 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
23 <meta name="Distribution" content="Global"/>
24 <link rel="icon" href="../../images/wand.png"/>
25 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
26 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
\r
27 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
\r
28 <style type="text/css" media="all">
\r
29 @import url("../../www/magick.css");
\r
31 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
\r
32 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
\r
33 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
\r
34 <script type="text/javascript">
\r
35 $(document).ready(function() {
\r
36 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
\r
37 'transitionIn' : 'elastic',
\r
38 'transitionOut' : 'elastic',
\r
39 'overlayShow' : false,
\r
46 <body id="www-imagemagick-org">
\r
47 <div class="titlebar">
\r
48 <a href="../../index.html">
\r
49 <img src="../../images/script.png" alt="[ImageMagick]"
\r
50 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
\r
51 <a href="http://www.networkredux.com">
\r
52 <img src="../../images/networkredux.png" alt="[sponsor]"
\r
53 style="margin: 45px auto; border: 0px; float: left;" /></a>
\r
54 <a href="http://www.imagemagick.org/discourse-server/">
\r
55 <img src="../../images/logo.jpg" alt=""
\r
56 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
\r
57 <a href="../../index.html">
\r
58 <img src="../../images/sprite.jpg" alt=""
\r
59 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
\r
62 <div class="westbar">
\r
65 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
67 <div class="sep"></div>
\r
69 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
72 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
75 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
78 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
80 <div class="sep"></div>
\r
82 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
85 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
88 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
91 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
94 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
97 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
100 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
103 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
106 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
108 <div class="sep"></div>
\r
110 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
113 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
116 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
119 <a title="Resources" href="../../www/resources.html">Resources</a>
122 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
125 <a title="Download" href="../../www/download.html">Download</a>
127 <div class="sep"></div>
\r
129 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
131 <div class="sep"></div>
\r
133 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
136 <a title="Site Map: Links" href="../../www/links.html">Links</a>
138 <div class="sep"></div>
\r
140 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
142 <div class="sponsbox">
143 <div class="sponsor">
144 <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.html">Web Hosting</a><!-- 201104010090 -->
146 <div class="sponsor">
147 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
149 <div class="sponsor">
150 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
152 <div class="sponsor">
153 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
155 <div class="sponsor">
156 <a title="Sponsor: alaTest.com" href="http://alatest.com">alaTest.com</a><!-- 20110801000300 -->
162 <div class="eastbar">
\r
163 <script type="text/javascript">
\r
165 google_ad_client = "pub-3129977114552745";
\r
166 google_ad_slot = "0574824969";
\r
167 google_ad_width = 160;
\r
168 google_ad_height = 600;
\r
171 <script type="text/javascript"
\r
172 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
\r
178 <h1>Module cache-view
180 <p class="navigation-index">[<a href="#AcquireCacheView">AcquireCacheView</a> • <a href="#CloneCacheView">CloneCacheView</a> • <a href="#DestroyCacheView">DestroyCacheView</a> • <a href="#GetCacheViewColorspace">GetCacheViewColorspace</a> • <a href="#GetCacheViewException">GetCacheViewException</a> • <a href="#GetCacheViewStorageClass">GetCacheViewStorageClass</a> • <a href="#GetCacheViewAuthenticPixels">GetCacheViewAuthenticPixels</a> • <a href="#GetOneCacheViewAuthenticPixel">GetOneCacheViewAuthenticPixel</a> • <a href="#GetCacheViewAuthenticIndexQueue">GetCacheViewAuthenticIndexQueue</a> • <a href="#GetCacheViewAuthenticPixelQueue">GetCacheViewAuthenticPixelQueue</a> • <a href="#GetCacheViewVirtualIndexQueue">GetCacheViewVirtualIndexQueue</a> • <a href="#GetCacheViewVirtualPixelQueue">GetCacheViewVirtualPixelQueue</a> • <a href="#GetCacheViewVirtualPixels">GetCacheViewVirtualPixels</a> • <a href="#GetOneCacheViewVirtualPixel">GetOneCacheViewVirtualPixel</a> • <a href="#GetOneCacheViewVirtualMethodPixel">GetOneCacheViewVirtualMethodPixel</a> • <a href="#QueueCacheViewAuthenticPixels">QueueCacheViewAuthenticPixels</a> • <a href="#SetCacheViewStorageClass">SetCacheViewStorageClass</a> • <a href="#SetCacheViewVirtualPixelMethod">SetCacheViewVirtualPixelMethod</a> • <a href="#SyncCacheViewAuthenticPixels">SyncCacheViewAuthenticPixels</a>]</p>
182 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
183 _8c.html" id="AcquireCacheView">AcquireCacheView</a></h2>
184 <div class="doc-section">
186 <p>AcquireCacheView() acquires a view into the pixel cache, using the VirtualPixelMethod that is defined within the given image itself.</p>
188 <p>The format of the AcquireCacheView method is:</p>
191 CacheView *AcquireCacheView(const Image *image)
194 <p>A description of each parameter follows:</p>
200 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
201 _8c.html" id="CloneCacheView">CloneCacheView</a></h2>
202 <div class="doc-section">
204 <p>CloneCacheView() makes an exact copy of the specified cache view.</p>
206 <p>The format of the CloneCacheView method is:</p>
209 CacheView *CloneCacheView(const CacheView *cache_view)
212 <p>A description of each parameter follows:</p>
215 <p>the cache view.</p>
218 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
219 _8c.html" id="DestroyCacheView">DestroyCacheView</a></h2>
220 <div class="doc-section">
222 <p>DestroyCacheView() destroys the specified view returned by a previous call to AcquireCacheView().</p>
224 <p>The format of the DestroyCacheView method is:</p>
227 CacheView *DestroyCacheView(CacheView *cache_view)
230 <p>A description of each parameter follows:</p>
233 <p>the cache view.</p>
236 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
237 _8c.html" id="GetCacheViewColorspace">GetCacheViewColorspace</a></h2>
238 <div class="doc-section">
240 <p>GetCacheViewColorspace() returns the image colorspace associated with the specified view.</p>
242 <p>The format of the GetCacheViewColorspace method is:</p>
245 ColorspaceType GetCacheViewColorspace(const CacheView *cache_view)
248 <p>A description of each parameter follows:</p>
251 <p>the cache view.</p>
254 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
255 _8c.html" id="GetCacheViewException">GetCacheViewException</a></h2>
256 <div class="doc-section">
258 <p>GetCacheViewException() returns the image exception associated with the specified view.</p>
260 <p>The format of the GetCacheViewException method is:</p>
263 ExceptionInfo GetCacheViewException(const CacheView *cache_view)
266 <p>A description of each parameter follows:</p>
269 <p>the cache view.</p>
272 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
273 _8c.html" id="GetCacheViewStorageClass">GetCacheViewStorageClass</a></h2>
274 <div class="doc-section">
276 <p>GetCacheViewStorageClass() returns the image storage class associated with the specified view.</p>
278 <p>The format of the GetCacheViewStorageClass method is:</p>
281 ClassType GetCacheViewStorageClass(const CacheView *cache_view)
284 <p>A description of each parameter follows:</p>
287 <p>the cache view.</p>
290 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
291 _8c.html" id="GetCacheViewAuthenticPixels">GetCacheViewAuthenticPixels</a></h2>
292 <div class="doc-section">
294 <p>GetCacheViewAuthenticPixels() gets pixels from the in-memory or disk pixel cache as defined by the geometry parameters. A pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.</p>
296 <p>The format of the GetCacheViewAuthenticPixels method is:</p>
299 PixelPacket *GetCacheViewAuthenticPixels(CacheView *cache_view,
300 const ssize_t x,const ssize_t y,const size_t columns,
301 const size_t rows,ExceptionInfo *exception)
304 <p>A description of each parameter follows:</p>
307 <p>the cache view.</p>
309 <h5>x,y,columns,rows</h5>
310 <p>These values define the perimeter of a region of pixels.</p>
313 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
314 _8c.html" id="GetOneCacheViewAuthenticPixel">GetOneCacheViewAuthenticPixel</a></h2>
315 <div class="doc-section">
317 <p>GetOneCacheViewAuthenticPixel() returns a single pixel at the specified (x,y) location. The image background color is returned if an error occurs.</p>
319 <p>The format of the GetOneCacheViewAuthenticPixel method is:</p>
322 MagickBooleaNType GetOneCacheViewAuthenticPixel(
323 const CacheView *cache_view,const ssize_t x,const ssize_t y,
324 Pixelpacket *pixel,ExceptionInfo *exception)
327 <p>A description of each parameter follows:</p>
330 <p>the cache view.</p>
333 <p>These values define the offset of the pixel.</p>
336 <p>return a pixel at the specified (x,y) location.</p>
339 <p>return any errors or warnings in this structure.</p>
342 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
343 _8c.html" id="GetCacheViewAuthenticIndexQueue">GetCacheViewAuthenticIndexQueue</a></h2>
344 <div class="doc-section">
346 <p>GetCacheViewAuthenticIndexQueue() returns the indexes associated with the last call to SetCacheViewIndexes() or GetCacheViewAuthenticIndexQueue(). The indexes are authentic and can be updated.</p>
348 <p>The format of the GetCacheViewAuthenticIndexQueue() method is:</p>
351 IndexPacket *GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
354 <p>A description of each parameter follows:</p>
357 <p>the cache view.</p>
360 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
361 _8c.html" id="GetCacheViewAuthenticPixelQueue">GetCacheViewAuthenticPixelQueue</a></h2>
362 <div class="doc-section">
364 <p>GetCacheViewAuthenticPixelQueue() returns the pixels associated with the last call to QueueCacheViewAuthenticPixels() or GetCacheViewAuthenticPixels(). The pixels are authentic and therefore can be updated.</p>
366 <p>The format of the GetCacheViewAuthenticPixelQueue() method is:</p>
369 PixelPacket *GetCacheViewAuthenticPixelQueue(CacheView *cache_view)
372 <p>A description of each parameter follows:</p>
375 <p>the cache view.</p>
378 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
379 _8c.html" id="GetCacheViewVirtualIndexQueue">GetCacheViewVirtualIndexQueue</a></h2>
380 <div class="doc-section">
382 <p>GetCacheViewVirtualIndexQueue() returns the indexes associated with the last call to GetCacheViewVirtualIndexQueue(). The indexes are virtual and therefore cannot be updated.</p>
384 <p>The format of the GetCacheViewVirtualIndexQueue() method is:</p>
387 const IndexPacket *GetCacheViewVirtualIndexQueue(
388 const CacheView *cache_view)
391 <p>A description of each parameter follows:</p>
394 <p>the cache view.</p>
397 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
398 _8c.html" id="GetCacheViewVirtualPixelQueue">GetCacheViewVirtualPixelQueue</a></h2>
399 <div class="doc-section">
401 <p>GetCacheViewVirtualPixelQueue() returns the the pixels associated with the last call to GetCacheViewVirtualPixels(). The pixels are virtual and therefore cannot be updated.</p>
403 <p>The format of the GetCacheViewVirtualPixelQueue() method is:</p>
406 const PixelPacket *GetCacheViewVirtualPixelQueue(
407 const CacheView *cache_view)
410 <p>A description of each parameter follows:</p>
413 <p>the cache view.</p>
416 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
417 _8c.html" id="GetCacheViewVirtualPixels">GetCacheViewVirtualPixels</a></h2>
418 <div class="doc-section">
420 <p>GetCacheViewVirtualPixels() gets virtual pixels from the in-memory or disk pixel cache as defined by the geometry parameters. A pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.</p>
422 <p>The format of the GetCacheViewVirtualPixels method is:</p>
425 const PixelPacket *GetCacheViewVirtualPixels(
426 const CacheView *cache_view,const ssize_t x,const ssize_t y,
427 const size_t columns,const size_t rows,ExceptionInfo *exception)
430 <p>A description of each parameter follows:</p>
433 <p>the cache view.</p>
435 <h5>x,y,columns,rows</h5>
436 <p>These values define the perimeter of a region of pixels.</p>
439 <p>return any errors or warnings in this structure.</p>
442 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
443 _8c.html" id="GetOneCacheViewVirtualPixel">GetOneCacheViewVirtualPixel</a></h2>
444 <div class="doc-section">
446 <p>GetOneCacheViewVirtualPixel() returns a single pixel at the specified (x,y) location. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOneCacheViewAuthenticPixel() instead.</p>
448 <p>The format of the GetOneCacheViewVirtualPixel method is:</p>
451 MagickBooleanType GetOneCacheViewVirtualPixel(
452 const CacheView *cache_view,const ssize_t x,const ssize_t y,
453 PixelPacket *pixel,ExceptionInfo *exception)
456 <p>A description of each parameter follows:</p>
459 <p>the cache view.</p>
462 <p>These values define the offset of the pixel.</p>
465 <p>return a pixel at the specified (x,y) location.</p>
468 <p>return any errors or warnings in this structure.</p>
471 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
472 _8c.html" id="GetOneCacheViewVirtualMethodPixel">GetOneCacheViewVirtualMethodPixel</a></h2>
473 <div class="doc-section">
475 <p>GetOneCacheViewVirtualMethodPixel() returns a single virtual pixel at the specified (x,y) location. The image background color is returned if an error occurs. If you plan to modify the pixel, use GetOneCacheViewAuthenticPixel() instead.</p>
477 <p>The format of the GetOneCacheViewVirtualPixel method is:</p>
480 MagickBooleanType GetOneCacheViewVirtualMethodPixel(
481 const CacheView *cache_view,
482 const VirtualPixelMethod virtual_pixel_method,const ssize_t x,
483 const ssize_t y,PixelPacket *pixel,ExceptionInfo *exception)
486 <p>A description of each parameter follows:</p>
489 <p>the cache view.</p>
491 <h5>virtual_pixel_method</h5>
492 <p>the virtual pixel method.</p>
495 <p>These values define the offset of the pixel.</p>
498 <p>return a pixel at the specified (x,y) location.</p>
501 <p>return any errors or warnings in this structure.</p>
504 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
505 _8c.html" id="QueueCacheViewAuthenticPixels">QueueCacheViewAuthenticPixels</a></h2>
506 <div class="doc-section">
508 <p>QueueCacheViewAuthenticPixels() queues authentic pixels from the in-memory or disk pixel cache as defined by the geometry parameters. A pointer to the pixels is returned if the pixels are transferred, otherwise a NULL is returned.</p>
510 <p>The format of the QueueCacheViewAuthenticPixels method is:</p>
513 PixelPacket *QueueCacheViewAuthenticPixels(CacheView *cache_view,
514 const ssize_t x,const ssize_t y,const size_t columns,
515 const size_t rows,ExceptionInfo *exception)
518 <p>A description of each parameter follows:</p>
521 <p>the cache view.</p>
523 <h5>x,y,columns,rows</h5>
524 <p>These values define the perimeter of a region of pixels.</p>
527 <p>return any errors or warnings in this structure.</p>
530 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
531 _8c.html" id="SetCacheViewStorageClass">SetCacheViewStorageClass</a></h2>
532 <div class="doc-section">
534 <p>SetCacheViewStorageClass() sets the image storage class associated with the specified view.</p>
536 <p>The format of the SetCacheViewStorageClass method is:</p>
539 MagickBooleanType SetCacheViewStorageClass(CacheView *cache_view,
540 const ClassType storage_class)
543 <p>A description of each parameter follows:</p>
546 <p>the cache view.</p>
548 <h5>storage_class</h5>
549 <p>the image storage class: PseudoClass or DirectClass.</p>
552 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
553 _8c.html" id="SetCacheViewVirtualPixelMethod">SetCacheViewVirtualPixelMethod</a></h2>
554 <div class="doc-section">
556 <p>SetCacheViewVirtualPixelMethod() sets the virtual pixel method associated with the specified cache view.</p>
558 <p>The format of the SetCacheViewVirtualPixelMethod method is:</p>
561 MagickBooleanType SetCacheViewVirtualPixelMethod(CacheView *cache_view,
562 const VirtualPixelMethod virtual_pixel_method)
565 <p>A description of each parameter follows:</p>
568 <p>the cache view.</p>
570 <h5>virtual_pixel_method</h5>
571 <p>the virtual pixel method.</p>
574 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/cache-view
575 _8c.html" id="SyncCacheViewAuthenticPixels">SyncCacheViewAuthenticPixels</a></h2>
576 <div class="doc-section">
578 <p>SyncCacheViewAuthenticPixels() saves the cache view pixels to the in-memory or disk cache. It returns MagickTrue if the pixel region is flushed, otherwise MagickFalse.</p>
580 <p>The format of the SyncCacheViewAuthenticPixels method is:</p>
583 MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *cache_view,
584 ExceptionInfo *exception)
587 <p>A description of each parameter follows:</p>
590 <p>the cache view.</p>
593 <p>return any errors or warnings in this structure.</p>
600 <span id="linkbar-west"> </span>
\r
601 <span id="linkbar-center">
\r
602 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> •
\r
603 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
\r
605 <span id="linkbar-east"> </span>
\r
607 <div class="footer">
\r
608 <span id="footer-west">© 1999-2011 ImageMagick Studio LLC</span>
\r
609 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
\r
611 <div style="clear: both; margin: 0; width: 100%; "></div>
\r
612 <script type="text/javascript">
\r
613 var _gaq = _gaq || [];
\r
614 _gaq.push(['_setAccount', 'UA-17690367-1']);
\r
615 _gaq.push(['_trackPageview']);
\r
618 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
\r
619 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
\r
620 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
\r