<!--
	Copyright 2009 The Go Authors. All rights reserved.
	Use of this source code is governed by a BSD-style
	license that can be found in the LICENSE file.
-->
<!--
	Note: Static (i.e., not template-generated) href and id
	attributes start with "pkg-" to make it impossible for
	them to conflict with generated attributes (some of which
	correspond to Go identifiers).
-->
{{with .PDoc}}
	<script type='text/javascript'>
	document.ANALYSIS_DATA = {{$.AnalysisData}};
	document.CALLGRAPH = {{$.CallGraph}};
	</script>
	{{if $.IsMain}}
		{{/* command documentation */}}
		{{comment_html .Doc}}
	{{else}}
		{{/* package documentation */}}
		<div id="short-nav">
			<dl>
			<dd><code>import "github.com/aws/aws-sdk-go/{{html .ImportPath}}"</code></dd>
			</dl>
			<dl>
			<dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
			{{if $.Examples}}
				<dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
			{{end}}
			{{if .Consts}}
				<dd><a href="#pkg-constants" class="examplesLink">Constants</a></dd>
			{{end}}
			</dl>
		</div>
		<!-- The package's Name is printed as title by the top-level template -->
		<div id="pkg-overview" class="toggleVisible">
			<div class="collapsed">
				<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
			</div>
			<div class="expanded">
				<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
				{{comment_html .Doc}}
				<p>
				{{if ne $.IfaceLink ""}}
				The stub package, <a href={{$.IfaceLink}}>{{$.PDoc.Name}}iface</a>, can be used to provide alternative implementations of service clients, 
				such as mocking the client for testing.
				{{end}}
				</p?>
			</div>
		</div>
		{{example_html $ ""}}

		<div id="pkg-operations" class="toggleVisible">
		<div class="collapsed">
			<h2 class="toggleButton" title="Click to show Index section">Operations ▹</h2>
		</div>
		<div class="expanded">
			<h2 class="toggleButton" title="Click to hide Index section">Operations ▾</h2>

		<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
			<div id="manual-nav">
			<dl>
			{{range .Funcs -}}
				{{$name_html := html .Name}}
				<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
			{{end -}}
			{{range .Types -}}
				{{$tname_html := html .Name -}}
				{{range .Funcs -}}
					{{ $name_html := html .Name -}}
					<dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
				{{end -}}
				{{range .Methods -}}
				{{if (and (ne .Name "String") (ne .Name "GoString")) -}}
				{{ if (not (is_setter $.PDoc.Name .)) -}}
				{{ if (not (is_paginator .)) -}}
				{{ if (ne .Name "Validate") -}}
					{{ $name_html := html .Name -}}
					{{ if not (is_op_deprecated $.PDoc.Name .Name) -}}
					<dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{.Name}}</a></dd>
					{{ end -}}
				{{ end -}}
				{{ end -}}
				{{ end -}}
				{{ end -}}
			{{ end -}}
			{{if $.Notes -}}
				{{range $marker, $item := $.Notes -}}
				<dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
				{{end -}}
			{{ end -}}
			{{ end -}}
			</dl>
			</div><!-- #manual-nav -->
		</div><!-- .expanded -->
		</div><!-- #pkg-index -->
		{{ if $.HasPaginators -}}
		<div id="pkg-pagination " class="toggleVisible">
			<div class="collapsed">
				<h2 class="toggleButton" title="Click to show Index section">Paginators ▹</h2>
			</div>
			<div class="expanded">
				<h2 class="toggleButton" title="Click to hide Index section">Paginators ▾</h2>
			{{range .Types -}}
			{{ $tname_html := html .Name -}}
			{{range .Methods -}}
				{{if is_paginator . -}}
					{{$name_html := html .Name}}
					<dd><a href="#{{$tname_html}}.{{$name_html}}">{{client_html $ .Decl false | sanitize}}</a></dd>
				{{end -}}
			{{ end -}}
			{{ end -}}
			</div>
		</div>
		{{ end -}}
		<div id="pkg-types" class="toggleVisible">
			<div class="collapsed">
				<h2 class="toggleButton" title="Click to show Index section">Types ▹</h2>
			</div>
			<div class="expanded">
				<h2 class="toggleButton" title="Click to hide Index section">Types ▾</h2>
				{{ if .Vars -}}
					<dd><a href="#pkg-variables">Variables</a></dd>
				{{ end -}}
				<dl>
				{{ range .Types -}}
					{{ $tname_html := html .Name -}}
					<dt><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
					{{ range .Methods -}}
					{{ if is_setter $.PDoc.Name . -}}
					{{ $name_html := html .Name -}}
					<dd><a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
					{{ end -}}
					{{ end -}}
				{{ end -}}
				</dl>
			</div>
		</div>

		{{ if $.Examples -}}
		<div id="pkg-examples" class="toggle">
			<div class="collapsed">
				<h2 class="toggleButton" title="Click to show Index section">Examples ▹</h2>
			</div>
			<div class="expanded">
				<h2 class="toggleButton" title="Click to hide Index section">Examples ▾</h2>
		<div id="pkg-examples">
			<dl>
			{{ range $.Examples -}}
			<dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
			{{ end -}}
			</dl>
		</div>
			</div>
		</div>
		{{ end -}}

		<div id="pkg-callgraph" class="toggle" style="display: none">
		<div class="collapsed">
			<h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
		</div> <!-- .expanded -->
		<div class="expanded">
			<h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
			<p>
			  In the call graph viewer below, each node
			  is a function belonging to this package
			  and its children are the functions it
			  calls&mdash;perhaps dynamically.
			</p>
			<p>
			  The root nodes are the entry points of the
			  package: functions that may be called from
			  outside the package.
			  There may be non-exported or anonymous
			  functions among them if they are called
			  dynamically from another package.
			</p>
			<p>
			  Click a node to visit that function's source code.
			  From there you can visit its callers by
			  clicking its declaring <code>func</code>
			  token.
			</p>
			<p>
			  Functions may be omitted if they were
			  determined to be unreachable in the
			  particular programs or tests that were
			  analyzed.
			</p>
			<!-- Zero means show all package entry points. -->
			<ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
		</div>
		</div> <!-- #pkg-callgraph -->
		{{ with .Consts -}}
			<div id="pkg-constants" class="toggle">
				<div class="collapsed">
					<h2 class="toggleButton" title="Click to show Index section">Constants ▹</h2>
				</div>
				<div class="expanded">
					<h2 class="toggleButton" title="Click to hide Index section">Constants ▾</h2>
				{{ range . -}}
					<pre>{{node_html $ .Decl true}}</pre>
					{{ comment_html .Doc -}}
				{{ end -}}
				</div>
			</div>
		{{ end -}}
		{{ with .Vars -}}
			<h2 id="pkg-variables">Variables <a class="permalink" href="#pkg-variables">¶</a></h2>
			{{ range . -}}
				<pre>{{node_html $ .Decl true}}</pre>
				{{ comment_html .Doc -}}
			{{ end -}}
		{{ end -}}
		{{ range .Funcs -}}
			{{/*  Name is a string - no need for FSet */ -}}
			{{ $name_html := html .Name -}}
			<h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> <a class="permalink" href="#{{$name_html}}">¶</a></h2>
			<pre>{{node_html $ .Decl true}}</pre>
			{{comment_html .Doc}}
			{{example_html $ .Name}}
			{{callgraph_html $ "" .Name}}
		{{ end -}}
		{{ range .Types -}}
			{{$tname := .Name -}}
			{{$tname_html := html .Name -}}
			<h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a> <a class="permalink" href="#{{$tname_html}}">¶</a></h2>
			<pre>{{node_html $ .Decl true}}</pre>
			{{comment_html .Doc}}
			{{ range .Consts -}}
				<pre>{{node_html $ .Decl true}}</pre>
				{{ comment_html .Doc -}}
			{{ end -}}
			{{ range .Vars -}}
				<pre>{{node_html $ .Decl true}}</pre>
				{{comment_html .Doc}}
			{{ end -}}
			{{ example_html $ $tname -}}
			{{ implements_html $ $tname -}}
			{{ methodset_html $ $tname -}}
			{{ range .Funcs -}}
				{{ $name_html := html .Name -}}
				<h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> <a class="permalink" href="#{{$name_html}}">¶</a></h3>
				<pre>{{node_html $ .Decl true}}</pre>
				{{comment_html .Doc}}
				{{example_html $ .Name}}
				{{callgraph_html $ "" .Name}}
			{{ end -}}
			{{ range .Methods -}}
				{{ $name_html := html .Name -}}
				{{ if is_op_deprecated $.PDoc.Name .Name -}}
				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a><div class="deprecated">Deprecated</div> <a class="permalink" href="#{{$tname_html}}.{{$name_html}}">¶</a></h3>
				{{ else }}
				<h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> <a class="permalink" href="#{{$tname_html}}.{{$name_html}}">¶</a></h3>
				{{ end -}}
				<pre>{{node_html $ .Decl true}}</pre>
				{{comment_html .Doc}}
				{{$name := printf "%s_%s" $tname .Name}}
				{{example_html $ $name}}
				{{callgraph_html $ .Recv .Name}}
			{{ end -}}
		{{ end -}}
	{{ end -}}
	{{ with $.Notes -}}
		{{ range $marker, $content := . -}}
			<h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
			<ul style="list-style: none; padding: 0;">
			{{ range . -}}
			<li><a href="{{posLink_url $ .}}">&#x261e;</a> {{html .Body}}</li>
			{{ end -}}
			</ul>
		{{ end -}}
	{{ end -}}
{{ end -}}

{{ with .PAst -}}
	{{ range $filename, $ast := . -}}
		<a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
	{{ end -}}
{{ end -}}
