spotify 12.3.0 → 12.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. data/CHANGELOG.md +19 -0
  2. data/Gemfile +1 -0
  3. data/README.markdown +29 -10
  4. data/Rakefile +10 -3
  5. data/examples/.gitignore +4 -0
  6. data/examples/README.md +15 -0
  7. data/examples/audio-stream.rb +170 -0
  8. data/examples/logging-in.rb +95 -0
  9. data/lib/spotify.rb +2 -1
  10. data/lib/spotify/error.rb +4 -1
  11. data/lib/spotify/managed_pointer.rb +53 -23
  12. data/lib/spotify/monkey_patches/ffi_pointer.rb +18 -0
  13. data/lib/spotify/structs.rb +14 -0
  14. data/lib/spotify/structs/session_callbacks.rb +2 -2
  15. data/lib/spotify/structs/session_config.rb +1 -1
  16. data/lib/spotify/types/image_id.rb +33 -26
  17. data/lib/spotify/types/nul_string.rb +23 -34
  18. data/lib/spotify/types/utf8_string.rb +19 -25
  19. data/lib/spotify/util.rb +1 -0
  20. data/lib/spotify/version.rb +1 -2
  21. data/spec/bench_helper.rb +29 -0
  22. data/spec/benchmarks/managed_pointer_bench.rb +32 -0
  23. data/spec/spec_helper.rb +1 -1
  24. data/spec/spotify/api/functions_spec.rb +67 -0
  25. data/spec/spotify/api_spec.rb +14 -58
  26. data/spec/spotify/defines_spec.rb +1 -1
  27. data/spec/spotify/managed_pointer_spec.rb +60 -11
  28. data/spec/spotify/monkey_patches/ffi_pointer_spec.rb +9 -0
  29. data/spec/spotify/types/nul_string_spec.rb +3 -3
  30. data/spec/{api-linux.h → support/api-linux.h} +0 -0
  31. data/spec/support/api-linux.xml +1893 -0
  32. data/spec/{api-mac.h → support/api-mac.h} +0 -0
  33. data/spec/{api-mac.xml → support/api-mac.xml} +0 -0
  34. data/spec/support/hook_spotify.rb +1 -1
  35. data/spec/{linux-platform.rb → support/linux-platform.rb} +0 -0
  36. data/spec/{mac-platform.rb → support/mac-platform.rb} +0 -0
  37. metadata +58 -46
  38. data/LICENSE +0 -19
  39. data/spec/api-linux.xml +0 -1887
data/spec/spec_helper.rb CHANGED
@@ -9,7 +9,7 @@ require 'spec/support/spotify_util'
9
9
  # You can pregenerate new XML files through:
10
10
  # gccxml spec/api-mac.h -fxml=spec/api-mac.xml
11
11
  # gccxml spec/api-linux.h -fxml=spec/api-linux.xml
12
- API_H_PATH = File.expand_path("../api-#{Spotify.platform}.h", __FILE__)
12
+ API_H_PATH = File.expand_path("../support/api-#{Spotify.platform}.h", __FILE__)
13
13
  API_H_SRC = File.read(API_H_PATH)
14
14
  API_H_XML = RbGCCXML.parse_xml(API_H_PATH.sub('.h', '.xml'))
15
15
 
@@ -0,0 +1,67 @@
1
+ describe "Spotify functions" do
2
+ def type_of(type, return_type = false)
3
+ return case type.to_cpp
4
+ when "const char*"
5
+ Spotify::UTF8String
6
+ when /\A(::)?(char|int|size_t|bool|sp_scrobbling_state|sp_session\*|byte)\*/
7
+ return_type ? :pointer : :buffer_out
8
+ when /::(.+_cb)\*/
9
+ $1.to_sym
10
+ when /::(\w+)\*\*/
11
+ :array
12
+ when /::sp_(\w+)\*/
13
+ const_name = $1.delete('_')
14
+ real_const = Spotify.constants.find { |const| const =~ /#{const_name}\z/i }
15
+ Spotify.const_get(real_const)
16
+ else
17
+ :pointer
18
+ end if type.is_a?(RbGCCXML::PointerType)
19
+
20
+ case type["name"]
21
+ when "unsigned int"
22
+ :uint
23
+ else
24
+ type["name"].sub(/\Asp_/, '').to_sym
25
+ end
26
+ end
27
+
28
+ API_H_XML.functions.each do |func|
29
+ next unless func["name"] =~ /\Asp_/
30
+ attached_name = func["name"].sub(/\Asp_/, '')
31
+
32
+ # We test several things in this test because if we make the assertions
33
+ # into separate tests there’s just too much noise on failure (e.g. when
34
+ # additional functions are added, all assertions would fail)
35
+ specify(func["name"]) do
36
+ # it should be attached
37
+ Spotify.should respond_to attached_name
38
+
39
+ # expect the correct number of arguments
40
+ $attached_methods[attached_name][:args].count.
41
+ should eq func.arguments.count
42
+
43
+ # each argument has the right type
44
+ current = $attached_methods[attached_name][:args]
45
+ actual = func.arguments.map { |arg| type_of(arg.cpp_type) }
46
+
47
+ current = current.map { |x| Spotify.resolve_type(x) }
48
+ actual = actual.map { |x| Spotify.resolve_type(x) }
49
+
50
+ current.should eq actual
51
+
52
+ # returns the correct type
53
+ current_type = $attached_methods[attached_name][:returns]
54
+ actual_type = type_of(func.return_type, true)
55
+
56
+ # loosen restraints on some return types, we don’t have enough info from header file
57
+ current_type = Spotify.resolve_type(current_type)
58
+ actual_type = Spotify.resolve_type(actual_type)
59
+
60
+ if actual_type.is_a?(Class) and actual_type <= Spotify::ManagedPointer and attached_name !~ /create/
61
+ current_type.should eq actual_type::Retaining
62
+ else
63
+ current_type.should eq actual_type
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,62 +1,18 @@
1
- describe "Spotify functions" do
2
- API_H_XML.functions.each do |func|
3
- next unless func["name"] =~ /\Asp_/
4
- attached_name = func["name"].sub(/\Asp_/, '')
5
-
6
- def type_of(type, return_type = false)
7
- return case type.to_cpp
8
- when "const char*"
9
- Spotify::UTF8String
10
- when /\A(::)?(char|int|size_t|bool|sp_scrobbling_state|sp_session\*|byte)\*/
11
- return_type ? :pointer : :buffer_out
12
- when /::(.+_cb)\*/
13
- $1.to_sym
14
- when /::(\w+)\*\*/
15
- :array
16
- when /::sp_(\w+)\*/
17
- const_name = $1.delete('_')
18
- real_const = Spotify.constants.find { |const| const =~ /#{const_name}\z/i }
19
- Spotify.const_get(real_const)
20
- else
21
- :pointer
22
- end if type.is_a?(RbGCCXML::PointerType)
23
-
24
- case type["name"]
25
- when "unsigned int"
26
- :uint
27
- else
28
- type["name"].sub(/\Asp_/, '').to_sym
1
+ describe Spotify::API do
2
+ describe ".platform" do
3
+ it "prints a warning containing the OS if platform unknown" do
4
+ old_platform = FFI::Platform::OS.dup
5
+ $stderr, old_stderr = StringIO.new, $stderr
6
+
7
+ begin
8
+ FFI::Platform::OS.replace "LAWL"
9
+ Spotify.platform
10
+ $stderr.rewind
11
+ $stderr.read.should include "LAWL"
12
+ ensure
13
+ $stderr = old_stderr
14
+ FFI::Platform::OS.replace(old_platform)
29
15
  end
30
16
  end
31
-
32
- # We test several things in this test because if we make the assertions
33
- # into separate tests there’s just too much noise on failure.
34
- specify(func["name"]) do
35
- # it should be attached
36
- Spotify.should respond_to attached_name
37
-
38
- # expect the correct number of arguments
39
- $attached_methods[attached_name][:args].count.
40
- should eq func.arguments.count
41
-
42
- # each argument has the right type
43
- current = $attached_methods[attached_name][:args]
44
- actual = func.arguments.map { |arg| type_of(arg.cpp_type) }
45
-
46
- current = current.map { |x| Spotify.resolve_type(x) }
47
- actual = actual.map { |x| Spotify.resolve_type(x) }
48
-
49
- current.should eq actual
50
-
51
- # returns the correct type
52
- current_type = $attached_methods[attached_name][:returns]
53
- actual_type = type_of(func.return_type, true)
54
-
55
- # loosen restraints on some return types, we don’t have enough info from header file
56
- current_type = Spotify.resolve_type(current_type)
57
- actual_type = Spotify.resolve_type(actual_type)
58
-
59
- current_type.should eq actual_type
60
- end
61
17
  end
62
18
  end
@@ -11,7 +11,7 @@ describe "Spotify enums" do
11
11
  it "should match the definition" do
12
12
  attached_enum_map = attached_enum.symbol_map.dup
13
13
  original_enum.each do |(name, value)|
14
- a_name, a_value = attached_enum_map.max_by { |(n, v)| (n.to_s.length if name.match(n.to_s)).to_i }
14
+ a_name, a_value = attached_enum_map.max_by { |(n, _)| (n.to_s.length if name.match(n.to_s)).to_i }
15
15
  attached_enum_map.delete(a_name)
16
16
  a_value.to_s.should eq value
17
17
  end
@@ -1,24 +1,73 @@
1
1
  # coding: utf-8
2
2
  describe Spotify::ManagedPointer do
3
- it "is equal to it’s retaining class" do
4
- Spotify::User.should eq Spotify::User.retaining_class
5
- Spotify::User.retaining_class.should eq Spotify::User
3
+ let(:klass) { described_class }
4
+ let(:null) { FFI::Pointer::NULL }
5
+ let(:pointer) { FFI::Pointer.new(1) }
6
+ let(:subject) do
7
+ Class.new(Spotify::ManagedPointer) do
8
+ def initialize(*)
9
+ super
10
+ self.autorelease = false
11
+ end
12
+
13
+ def self.name
14
+ "Anonymous"
15
+ end
16
+ end
6
17
  end
7
18
 
8
19
  it "adds a ref if it is a retaining class" do
9
- api.should_receive(:user_add_ref)
10
- ptr = Spotify::User.retaining_class.new(FFI::Pointer.new(1))
11
- ptr.autorelease = false # avoid auto-GC after test
20
+ api.should_receive(:anonymous_add_ref)
21
+ subject.retaining_class.new(FFI::Pointer.new(1))
12
22
  end
13
23
 
14
24
  it "does not add or release when the pointer is null" do
15
- api.should_not_receive(:user_add_ref)
16
- api.should_not_receive(:user_release)
25
+ api.should_not_receive(:anonymous_add_ref)
26
+ api.should_not_receive(:anonymous_release)
17
27
 
18
- ptr = Spotify::User.retaining_class.new(FFI::Pointer::NULL)
28
+ ptr = subject.retaining_class.new(FFI::Pointer::NULL)
19
29
  ptr.free
20
30
  end
21
31
 
32
+ describe "#release" do
33
+ it "wraps the release pointer properly to avoid type-failures" do
34
+ api.should_receive(:anonymous_release).and_return do |pointer|
35
+ pointer.should be_instance_of(subject)
36
+ pointer.should_not be_autorelease # autorelease should be off
37
+ end
38
+
39
+ ptr = subject.new(FFI::Pointer.new(1))
40
+ ptr.free
41
+ end
42
+ end
43
+
44
+ describe ".to_native" do
45
+ it "does not accept null pointers" do
46
+ expect { subject.to_native(nil, nil) }.to raise_error(TypeError, /cannot be null/)
47
+ expect { subject.to_native(Spotify::Session.new(null), nil) }.to raise_error(TypeError, /cannot be null/)
48
+ end
49
+
50
+ it "does not accept pointers of another type" do
51
+ expect { subject.to_native(pointer, nil) }.to raise_error(TypeError, /expected a kind of Anonymous/)
52
+ expect { subject.to_native(Spotify::Session.new(pointer), nil) }.to raise_error(TypeError, /expected a kind of Anonymous/)
53
+ end
54
+
55
+ it "accepts pointers of the same kind, or a subkind" do
56
+ api.stub(:anonymous_add_ref)
57
+
58
+ retaining = subject.retaining_class.new(pointer)
59
+ retaining.autorelease = false
60
+
61
+ regular = subject.new(pointer)
62
+ regular.autorelease = false
63
+
64
+ expect { subject.to_native(retaining, nil) }.to_not raise_error
65
+ expect { subject.to_native(regular, nil) }.to_not raise_error
66
+ expect { subject.retaining_class.to_native(retaining, nil) }.to_not raise_error
67
+ expect { subject.retaining_class.to_native(regular, nil) }.to_not raise_error
68
+ end
69
+ end
70
+
22
71
  describe "garbage collection" do
23
72
  module Spotify
24
73
  class << API
@@ -56,7 +105,7 @@ describe Spotify::ManagedPointer do
56
105
  it "#{klass.name} has a valid retain method" do
57
106
  Spotify.should_receive(:public_send).and_return do |method, *args|
58
107
  Spotify.should respond_to(method)
59
- method.should match /_add_ref$/
108
+ method.should match(/_add_ref$/)
60
109
  end
61
110
 
62
111
  klass.retain(FFI::Pointer.new(1))
@@ -65,7 +114,7 @@ describe Spotify::ManagedPointer do
65
114
  it "#{klass.name} has a valid release method" do
66
115
  Spotify.should_receive(:public_send).and_return do |method, *args|
67
116
  Spotify.should respond_to(method)
68
- method.should match /_release$/
117
+ method.should match(/_release$/)
69
118
  end
70
119
 
71
120
  klass.release(FFI::Pointer.new(1))
@@ -0,0 +1,9 @@
1
+ describe "#read_size_t" do
2
+ it "is defined on FFI::Pointer" do
3
+ FFI::Pointer.new(0).should respond_to(:read_size_t)
4
+ end
5
+
6
+ it "is defined on FFI::Buffer" do
7
+ FFI::Buffer.new(0).should respond_to(:read_size_t)
8
+ end
9
+ end
@@ -5,14 +5,14 @@ describe Spotify::NULString do
5
5
  pointer.read_string.should eq "coolio"
6
6
  end
7
7
 
8
- it "returns a null pointer when given nil" do
8
+ it "returns nil when given nil" do
9
9
  pointer = Spotify::NULString.to_native(nil, nil)
10
- pointer.should be_null
10
+ pointer.should be_nil
11
11
  end
12
12
 
13
13
  it "raises an error when given a non-string" do
14
14
  expect { Spotify::NULString.to_native({}, nil) }
15
- .to raise_error(TypeError)
15
+ .to raise_error(NoMethodError, /to_str/)
16
16
  end
17
17
  end
18
18
 
File without changes
@@ -0,0 +1,1893 @@
1
+ <?xml version="1.0"?>
2
+ <GCC_XML cvs_revision="1.135">
3
+ <Namespace id="_1" name="::" members="_3 _4 _5 _6 _8 _9 _10 _12 _13 _14 _15 _16 _17 _18 _20 _19 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _50 _51 _52 _53 _55 _54 _56 _57 _58 _59 _61 _63 _62 _64 _65 _66 _67 _68 _70 _69 _71 _72 _73 _74 _76 _75 _77 _79 _78 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _94 _95 _96 _97 _98 _100 _99 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _124 _123 _125 _126 _127 _129 _130 _131 _132 _133 _134 _135 _136 _137 _138 _140 _139 _141 _142 _143 _144 _145 _146 _147 _148 _149 _150 _151 _153 _152 _154 _155 _156 _157 _159 _160 _161 _162 _163 _164 _165 _166 _168 _169 _170 _171 _172 _174 _173 _175 _176 _177 _178 _179 _180 _181 _182 _183 _184 _185 _186 _187 _188 _189 _190 _191 _192 _194 _193 _195 _196 _198 _199 _200 _201 _202 _203 _204 _205 _206 _207 _208 _210 _209 _211 _212 _213 _214 _215 _217 _216 _219 _218 _220 _222 _221 _223 _224 _225 _226 _227 _228 _230 _229 _231 _232 _233 _234 _236 _237 _239 _240 _241 _242 _243 _245 _244 _247 _246 _248 _249 _250 _251 _252 _253 _254 _256 _257 _258 _259 _260 _262 _261 _263 _264 _265 _266 _267 _268 _269 _270 _272 _271 _273 _2 _274 _275 _276 _277 _278 _279 _280 _281 _282 _283 _284 _285 _286 _287 _289 _291 _290 _292 _293 _294 _295 _296 _297 _298 _300 _301 _302 _303 _304 _305 _306 _307 _309 _310 _311 _312 _313 _314 _315 _316 _317 _318 _319 _320 _321 _322 _324 _326 _325 _327 _299 _328 _329 _330 _331 _332 _334 _333 _335 _336 _337 _339 _338 _340 _341 _342 _344 _343 _345 _346 _348 _347 _349 _350 _351 _352 _353 _354 _355 _356 _357 _358 _359 _360 _362 _363 _364 _365 _366 _368 _369 _370 _371 _372 _373 _374 _375 _376 _377 _378 _379 _380 _381 _383 _382 _385 _384 _386 _387 _389 _388 _390 _391 _392 _393 _394 _396 _395 _397 _398 _399 _400 _401 _403 _402 _404 _405 _406 _288 _407 _238 _408 _409 _410 _412 _413 _414 _415 _416 _417 _418 _419 _420 _422 _421 _423 _424 _425 _426 _427 _428 _11 _323 _429 _430 _431 _432 _433 _434 _435 _436 _437 _439 _438 _440 _441 _442 _443 _445 _444 _446 _447 _448 _449 _451 _452 _453 _454 _455 _457 _456 _458 _459 _460 _461 _462 _463 _464 _465 _466 _467 _468 _470 _471 _472 _473 _474 _475 _476 _477 _478 _479 _480 _481 _482 _484 _483 _485 _486 _487 _488 _489 _490 _491 _492 _493 _494 " mangled="_Z2::" demangled="::"/>
4
+ <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/>
5
+ <Function id="_3" name="sp_playlist_set_collaborative" returns="_445" context="_1" location="f0:3060" file="f0" line="3060" extern="1">
6
+ <Argument name="playlist" type="_495" location="f0:3060" file="f0" line="3060"/>
7
+ <Argument name="collaborative" type="_496" location="f0:3060" file="f0" line="3060"/>
8
+ </Function>
9
+ <Function id="_4" name="__builtin_nans" returns="_497" context="_1" location="f1:21" file="f1" line="21" extern="1" attributes="nothrow const nonnull">
10
+ <Argument name="str" type="_498" location="f1:21" file="f1" line="21"/>
11
+ </Function>
12
+ <Function id="_5" name="__builtin_acosf" returns="_499" context="_1" mangled="acosf" location="f1:25" file="f1" line="25" extern="1" attributes="nothrow pure no vops">
13
+ <Argument type="_499" location="f1:25" file="f1" line="25"/>
14
+ </Function>
15
+ <Function id="_6" name="__builtin_acosl" returns="_500" context="_1" mangled="acosl" location="f1:26" file="f1" line="26" extern="1" attributes="nothrow pure no vops">
16
+ <Argument type="_500" location="f1:26" file="f1" line="26"/>
17
+ </Function>
18
+ <FundamentalType id="_7" name="long long unsigned int" size="64" align="64"/>
19
+ <Typedef id="_8" name="sp_uint64" type="_491" context="_1" location="f0:50" file="f0" line="50"/>
20
+ <Function id="_9" name="sp_playlist_get_description" returns="_498" context="_1" location="f0:3084" file="f0" line="3084" extern="1">
21
+ <Argument name="playlist" type="_495" location="f0:3084" file="f0" line="3084"/>
22
+ </Function>
23
+ <Typedef id="_10" name="uint_least64_t" type="_491" context="_1" location="f2:82" file="f2" line="82"/>
24
+ <Enumeration id="_11" name="sp_albumtype" context="_1" location="f0:1787" file="f0" line="1787" size="32" align="32">
25
+ <EnumValue name="SP_ALBUMTYPE_ALBUM" init="0"/>
26
+ <EnumValue name="SP_ALBUMTYPE_SINGLE" init="1"/>
27
+ <EnumValue name="SP_ALBUMTYPE_COMPILATION" init="2"/>
28
+ <EnumValue name="SP_ALBUMTYPE_UNKNOWN" init="3"/>
29
+ </Enumeration>
30
+ <Function id="_12" name="__builtin_log10" returns="_497" context="_1" mangled="log10" location="f1:63" file="f1" line="63" extern="1" attributes="nothrow pure no vops">
31
+ <Argument type="_497" location="f1:63" file="f1" line="63"/>
32
+ </Function>
33
+ <Function id="_13" name="__builtin_popcountll" returns="_60" context="_1" location="f1:101" file="f1" line="101" extern="1" attributes="nothrow const">
34
+ <Argument type="_49" location="f1:101" file="f1" line="101"/>
35
+ </Function>
36
+ <Function id="_14" name="sp_track_duration" returns="_60" context="_1" location="f0:1706" file="f0" line="1706" extern="1">
37
+ <Argument name="track" type="_501" location="f0:1706" file="f0" line="1706"/>
38
+ </Function>
39
+ <Function id="_15" name="__builtin_clogf" returns="_502" context="_1" mangled="clogf" location="f1:111" file="f1" line="111" extern="1" attributes="nothrow pure no vops">
40
+ <Argument type="_502" location="f1:111" file="f1" line="111"/>
41
+ </Function>
42
+ <Function id="_16" name="__builtin_clogl" returns="_503" context="_1" mangled="clogl" location="f1:113" file="f1" line="113" extern="1" attributes="nothrow pure no vops">
43
+ <Argument type="_503" location="f1:113" file="f1" line="113"/>
44
+ </Function>
45
+ <Function id="_17" name="__builtin_cexpf" returns="_502" context="_1" mangled="cexpf" location="f1:108" file="f1" line="108" extern="1" attributes="nothrow pure no vops">
46
+ <Argument type="_502" location="f1:108" file="f1" line="108"/>
47
+ </Function>
48
+ <Function id="_18" name="__builtin_cexpl" returns="_503" context="_1" mangled="cexpl" location="f1:110" file="f1" line="110" extern="1" attributes="nothrow pure no vops">
49
+ <Argument type="_503" location="f1:110" file="f1" line="110"/>
50
+ </Function>
51
+ <Struct id="_19" name="sp_playlist_callbacks" context="_1" mangled="21sp_playlist_callbacks" demangled="sp_playlist_callbacks" location="f0:2749" file="f0" line="2749" artificial="1" size="416" align="32" members="_504 _505 _506 _507 _508 _509 _510 _511 _512 _513 _514 _515 _516 _517 _518 _519 _520 " bases=""/>
52
+ <Typedef id="_20" name="sp_playlist_callbacks" type="_19" context="_1" location="f0:2888" file="f0" line="2888"/>
53
+ <Function id="_21" name="sp_toplistbrowse_is_loaded" returns="_496" context="_1" location="f0:3752" file="f0" line="3752" extern="1">
54
+ <Argument name="tlb" type="_521" location="f0:3752" file="f0" line="3752"/>
55
+ </Function>
56
+ <Function id="_22" name="sp_session_set_private_session" returns="_445" context="_1" location="f0:1084" file="f0" line="1084" extern="1">
57
+ <Argument name="session" type="_522" location="f0:1084" file="f0" line="1084"/>
58
+ <Argument name="enabled" type="_496" location="f0:1084" file="f0" line="1084"/>
59
+ </Function>
60
+ <Function id="_23" name="sp_user_is_loaded" returns="_496" context="_1" location="f0:3656" file="f0" line="3656" extern="1">
61
+ <Argument name="user" type="_523" location="f0:3656" file="f0" line="3656"/>
62
+ </Function>
63
+ <Function id="_24" name="sp_link_create_from_playlist" returns="_524" context="_1" location="f0:1395" file="f0" line="1395" extern="1">
64
+ <Argument name="playlist" type="_495" location="f0:1395" file="f0" line="1395"/>
65
+ </Function>
66
+ <Function id="_25" name="__builtin_asinf" returns="_499" context="_1" mangled="asinf" location="f1:28" file="f1" line="28" extern="1" attributes="nothrow pure no vops">
67
+ <Argument type="_499" location="f1:28" file="f1" line="28"/>
68
+ </Function>
69
+ <Function id="_26" name="__builtin_asinl" returns="_500" context="_1" mangled="asinl" location="f1:29" file="f1" line="29" extern="1" attributes="nothrow pure no vops">
70
+ <Argument type="_500" location="f1:29" file="f1" line="29"/>
71
+ </Function>
72
+ <Function id="_27" name="__builtin_popcount" returns="_60" context="_1" location="f1:99" file="f1" line="99" extern="1" attributes="nothrow const">
73
+ <Argument type="_60" location="f1:99" file="f1" line="99"/>
74
+ </Function>
75
+ <Function id="_28" name="sp_link_as_artist" returns="_525" context="_1" location="f0:1484" file="f0" line="1484" extern="1">
76
+ <Argument name="link" type="_524" location="f0:1484" file="f0" line="1484"/>
77
+ </Function>
78
+ <Function id="_29" name="sp_track_error" returns="_445" context="_1" location="f0:1546" file="f0" line="1546" extern="1">
79
+ <Argument name="track" type="_501" location="f0:1546" file="f0" line="1546"/>
80
+ </Function>
81
+ <Function id="_30" name="sp_playlistcontainer_get_unseen_tracks" returns="_60" context="_1" location="f0:3595" file="f0" line="3595" extern="1">
82
+ <Argument name="pc" type="_526" location="f0:3595" file="f0" line="3595"/>
83
+ <Argument name="playlist" type="_495" location="f0:3595" file="f0" line="3595"/>
84
+ <Argument name="tracks" type="_527" location="f0:3595" file="f0" line="3595"/>
85
+ <Argument name="num_tracks" type="_60" location="f0:3595" file="f0" line="3595"/>
86
+ </Function>
87
+ <Function id="_31" name="sp_toplistbrowse_release" returns="_445" context="_1" location="f0:3785" file="f0" line="3785" extern="1">
88
+ <Argument name="tlb" type="_521" location="f0:3785" file="f0" line="3785"/>
89
+ </Function>
90
+ <Function id="_32" name="__builtin_nansf" returns="_499" context="_1" location="f1:22" file="f1" line="22" extern="1" attributes="nothrow const nonnull">
91
+ <Argument name="str" type="_498" location="f1:22" file="f1" line="22"/>
92
+ </Function>
93
+ <Function id="_33" name="__builtin_nansl" returns="_500" context="_1" location="f1:23" file="f1" line="23" extern="1" attributes="nothrow const nonnull">
94
+ <Argument name="str" type="_498" location="f1:23" file="f1" line="23"/>
95
+ </Function>
96
+ <Function id="_34" name="sp_track_get_availability" returns="_300" context="_1" location="f0:1571" file="f0" line="1571" extern="1">
97
+ <Argument name="session" type="_522" location="f0:1571" file="f0" line="1571"/>
98
+ <Argument name="track" type="_501" location="f0:1571" file="f0" line="1571"/>
99
+ </Function>
100
+ <Function id="_35" name="sp_playlist_add_ref" returns="_445" context="_1" location="f0:3310" file="f0" line="3310" extern="1">
101
+ <Argument name="playlist" type="_495" location="f0:3310" file="f0" line="3310"/>
102
+ </Function>
103
+ <Function id="_36" name="__builtin_floorf" returns="_499" context="_1" mangled="floorf" location="f1:52" file="f1" line="52" extern="1" attributes="nothrow const">
104
+ <Argument type="_499" location="f1:52" file="f1" line="52"/>
105
+ </Function>
106
+ <Function id="_37" name="__builtin_floorl" returns="_500" context="_1" mangled="floorl" location="f1:53" file="f1" line="53" extern="1" attributes="nothrow const">
107
+ <Argument type="_500" location="f1:53" file="f1" line="53"/>
108
+ </Function>
109
+ <Function id="_38" name="sp_playlistcontainer_playlist_folder_name" returns="_445" context="_1" location="f0:3468" file="f0" line="3468" extern="1">
110
+ <Argument name="pc" type="_526" location="f0:3468" file="f0" line="3468"/>
111
+ <Argument name="index" type="_60" location="f0:3468" file="f0" line="3468"/>
112
+ <Argument name="buffer" type="_528" location="f0:3468" file="f0" line="3468"/>
113
+ <Argument name="buffer_size" type="_60" location="f0:3468" file="f0" line="3468"/>
114
+ </Function>
115
+ <Function id="_39" name="sp_playlist_get_offline_status" returns="_422" context="_1" location="f0:3288" file="f0" line="3288" extern="1">
116
+ <Argument name="session" type="_522" location="f0:3288" file="f0" line="3288"/>
117
+ <Argument name="playlist" type="_495" location="f0:3288" file="f0" line="3288"/>
118
+ </Function>
119
+ <Function id="_40" name="__builtin_ctanf" returns="_502" context="_1" mangled="ctanf" location="f1:123" file="f1" line="123" extern="1" attributes="nothrow pure no vops">
120
+ <Argument type="_502" location="f1:123" file="f1" line="123"/>
121
+ </Function>
122
+ <Function id="_41" name="__builtin_ctanh" returns="_529" context="_1" mangled="ctanh" location="f1:127" file="f1" line="127" extern="1" attributes="nothrow pure no vops">
123
+ <Argument type="_529" location="f1:127" file="f1" line="127"/>
124
+ </Function>
125
+ <Function id="_42" name="__builtin_ctanl" returns="_503" context="_1" mangled="ctanl" location="f1:125" file="f1" line="125" extern="1" attributes="nothrow pure no vops">
126
+ <Argument type="_503" location="f1:125" file="f1" line="125"/>
127
+ </Function>
128
+ <Function id="_43" name="__builtin_carg" returns="_497" context="_1" mangled="carg" location="f1:94" file="f1" line="94" extern="1" attributes="nothrow pure no vops">
129
+ <Argument type="_529" location="f1:94" file="f1" line="94"/>
130
+ </Function>
131
+ <Function id="_44" name="sp_playlist_owner" returns="_523" context="_1" location="f0:3037" file="f0" line="3037" extern="1">
132
+ <Argument name="playlist" type="_495" location="f0:3037" file="f0" line="3037"/>
133
+ </Function>
134
+ <Function id="_45" name="__builtin_clog" returns="_529" context="_1" mangled="clog" location="f1:112" file="f1" line="112" extern="1" attributes="nothrow pure no vops">
135
+ <Argument type="_529" location="f1:112" file="f1" line="112"/>
136
+ </Function>
137
+ <Function id="_46" name="sp_image_is_loaded" returns="_496" context="_1" location="f0:2413" file="f0" line="2413" extern="1">
138
+ <Argument name="image" type="_530" location="f0:2413" file="f0" line="2413"/>
139
+ </Function>
140
+ <Function id="_47" name="__builtin_logf" returns="_499" context="_1" mangled="logf" location="f1:66" file="f1" line="66" extern="1" attributes="nothrow pure no vops">
141
+ <Argument type="_499" location="f1:66" file="f1" line="66"/>
142
+ </Function>
143
+ <Function id="_48" name="__builtin_logl" returns="_500" context="_1" mangled="logl" location="f1:67" file="f1" line="67" extern="1" attributes="nothrow pure no vops">
144
+ <Argument type="_500" location="f1:67" file="f1" line="67"/>
145
+ </Function>
146
+ <FundamentalType id="_49" name="long long int" size="64" align="64"/>
147
+ <Typedef id="_50" name="int_fast64_t" type="_341" context="_1" location="f2:83" file="f2" line="83"/>
148
+ <Function id="_51" name="__builtin_fabs" returns="_497" context="_1" mangled="fabs" location="f1:48" file="f1" line="48" extern="1" attributes="nothrow const">
149
+ <Argument type="_497" location="f1:48" file="f1" line="48"/>
150
+ </Function>
151
+ <Function id="_52" name="__builtin_expf" returns="_499" context="_1" mangled="expf" location="f1:46" file="f1" line="46" extern="1" attributes="nothrow pure no vops">
152
+ <Argument type="_499" location="f1:46" file="f1" line="46"/>
153
+ </Function>
154
+ <Function id="_53" name="__builtin_expl" returns="_500" context="_1" mangled="expl" location="f1:47" file="f1" line="47" extern="1" attributes="nothrow pure no vops">
155
+ <Argument type="_500" location="f1:47" file="f1" line="47"/>
156
+ </Function>
157
+ <Struct id="_54" name="sp_track" context="_1" incomplete="1" mangled="8sp_track" demangled="sp_track" location="f0:68" file="f0" line="68" artificial="1" align="8"/>
158
+ <Typedef id="_55" name="sp_track" type="_54" context="_1" location="f0:68" file="f0" line="68"/>
159
+ <Function id="_56" name="sp_session_user_country" returns="_60" context="_1" location="f0:1240" file="f0" line="1240" extern="1">
160
+ <Argument name="session" type="_522" location="f0:1240" file="f0" line="1240"/>
161
+ </Function>
162
+ <Function id="_57" name="sp_track_is_autolinked" returns="_496" context="_1" location="f0:1597" file="f0" line="1597" extern="1">
163
+ <Argument name="session" type="_522" location="f0:1597" file="f0" line="1597"/>
164
+ <Argument name="track" type="_501" location="f0:1597" file="f0" line="1597"/>
165
+ </Function>
166
+ <Function id="_58" name="sp_playlist_name" returns="_498" context="_1" location="f0:3014" file="f0" line="3014" extern="1">
167
+ <Argument name="playlist" type="_495" location="f0:3014" file="f0" line="3014"/>
168
+ </Function>
169
+ <Function id="_59" name="sp_toplistbrowse_album" returns="_531" context="_1" location="f0:3825" file="f0" line="3825" extern="1">
170
+ <Argument name="tlb" type="_521" location="f0:3825" file="f0" line="3825"/>
171
+ <Argument name="index" type="_60" location="f0:3825" file="f0" line="3825"/>
172
+ </Function>
173
+ <FundamentalType id="_60" name="int" size="32" align="32"/>
174
+ <Typedef id="_61" name="int_fast32_t" type="_346" context="_1" location="f2:157" file="f2" line="157"/>
175
+ <Struct id="_62" name="sp_subscribers" context="_1" mangled="14sp_subscribers" demangled="sp_subscribers" location="f0:278" file="f0" line="278" artificial="1" size="64" align="32" members="_532 _533 _534 _535 _536 _537 " bases=""/>
176
+ <Typedef id="_63" name="sp_subscribers" type="_62" context="_1" location="f0:281" file="f0" line="281"/>
177
+ <Function id="_64" name="sp_link_create_from_string" returns="_524" context="_1" location="f0:1282" file="f0" line="1282" extern="1">
178
+ <Argument name="link" type="_498" location="f0:1282" file="f0" line="1282"/>
179
+ </Function>
180
+ <Function id="_65" name="__builtin_csqrt" returns="_529" context="_1" mangled="csqrt" location="f1:121" file="f1" line="121" extern="1" attributes="nothrow pure no vops">
181
+ <Argument type="_529" location="f1:121" file="f1" line="121"/>
182
+ </Function>
183
+ <Function id="_66" name="sp_image_add_ref" returns="_445" context="_1" location="f0:2465" file="f0" line="2465" extern="1">
184
+ <Argument name="image" type="_530" location="f0:2465" file="f0" line="2465"/>
185
+ </Function>
186
+ <Function id="_67" name="sp_session_inbox_create" returns="_495" context="_1" location="f0:986" file="f0" line="986" extern="1">
187
+ <Argument name="session" type="_522" location="f0:986" file="f0" line="986"/>
188
+ </Function>
189
+ <Function id="_68" name="__builtin_sin" returns="_497" context="_1" mangled="sin" location="f1:75" file="f1" line="75" extern="1" attributes="nothrow pure no vops">
190
+ <Argument type="_497" location="f1:75" file="f1" line="75"/>
191
+ </Function>
192
+ <Struct id="_69" name="sp_artist" context="_1" incomplete="1" mangled="9sp_artist" demangled="sp_artist" location="f0:70" file="f0" line="70" artificial="1" align="8"/>
193
+ <Typedef id="_70" name="sp_artist" type="_69" context="_1" location="f0:70" file="f0" line="70"/>
194
+ <Function id="_71" name="sp_session_get_volume_normalization" returns="_496" context="_1" location="f0:1059" file="f0" line="1059" extern="1">
195
+ <Argument name="session" type="_522" location="f0:1059" file="f0" line="1059"/>
196
+ </Function>
197
+ <Function id="_72" name="__builtin_ldexpf" returns="_499" context="_1" mangled="ldexpf" location="f1:60" file="f1" line="60" extern="1" attributes="nothrow pure no vops">
198
+ <Argument type="_499" location="f1:60" file="f1" line="60"/>
199
+ <Argument type="_60" location="f1:60" file="f1" line="60"/>
200
+ </Function>
201
+ <Function id="_73" name="__builtin_ldexpl" returns="_500" context="_1" mangled="ldexpl" location="f1:61" file="f1" line="61" extern="1" attributes="nothrow pure no vops">
202
+ <Argument type="_500" location="f1:61" file="f1" line="61"/>
203
+ <Argument type="_60" location="f1:61" file="f1" line="61"/>
204
+ </Function>
205
+ <Function id="_74" name="sp_error_message" returns="_498" context="_1" location="f0:140" file="f0" line="140" extern="1">
206
+ <Argument name="error" type="_445" location="f0:140" file="f0" line="140"/>
207
+ </Function>
208
+ <Struct id="_75" name="sp_user" context="_1" incomplete="1" mangled="7sp_user" demangled="sp_user" location="f0:77" file="f0" line="77" artificial="1" align="8"/>
209
+ <Typedef id="_76" name="sp_user" type="_75" context="_1" location="f0:77" file="f0" line="77"/>
210
+ <Function id="_77" name="sp_toplistbrowse_artist" returns="_525" context="_1" location="f0:3804" file="f0" line="3804" extern="1">
211
+ <Argument name="tlb" type="_521" location="f0:3804" file="f0" line="3804"/>
212
+ <Argument name="index" type="_60" location="f0:3804" file="f0" line="3804"/>
213
+ </Function>
214
+ <Struct id="_78" name="sp_image" context="_1" incomplete="1" mangled="8sp_image" demangled="sp_image" location="f0:76" file="f0" line="76" artificial="1" align="8"/>
215
+ <Typedef id="_79" name="sp_image" type="_78" context="_1" location="f0:76" file="f0" line="76"/>
216
+ <Function id="_80" name="sp_playlist_is_loaded" returns="_496" context="_1" location="f0:2899" file="f0" line="2899" extern="1">
217
+ <Argument name="playlist" type="_495" location="f0:2899" file="f0" line="2899"/>
218
+ </Function>
219
+ <Function id="_81" name="sp_link_create_from_album" returns="_524" context="_1" location="f0:1307" file="f0" line="1307" extern="1">
220
+ <Argument name="album" type="_531" location="f0:1307" file="f0" line="1307"/>
221
+ </Function>
222
+ <Function id="_82" name="__builtin_tanf" returns="_499" context="_1" mangled="tanf" location="f1:85" file="f1" line="85" extern="1" attributes="nothrow pure no vops">
223
+ <Argument type="_499" location="f1:85" file="f1" line="85"/>
224
+ </Function>
225
+ <Function id="_83" name="__builtin_tanh" returns="_497" context="_1" mangled="tanh" location="f1:86" file="f1" line="86" extern="1" attributes="nothrow pure no vops">
226
+ <Argument type="_497" location="f1:86" file="f1" line="86"/>
227
+ </Function>
228
+ <Function id="_84" name="__builtin_tanl" returns="_500" context="_1" mangled="tanl" location="f1:89" file="f1" line="89" extern="1" attributes="nothrow pure no vops">
229
+ <Argument type="_500" location="f1:89" file="f1" line="89"/>
230
+ </Function>
231
+ <Function id="_85" name="sp_playlist_get_image" returns="_496" context="_1" location="f0:3096" file="f0" line="3096" extern="1">
232
+ <Argument name="playlist" type="_495" location="f0:3096" file="f0" line="3096"/>
233
+ <Argument name="image" type="_538" location="f0:3096" file="f0" line="3096"/>
234
+ </Function>
235
+ <Function id="_86" name="__builtin_ceil" returns="_497" context="_1" mangled="ceil" location="f1:36" file="f1" line="36" extern="1" attributes="nothrow const">
236
+ <Argument type="_497" location="f1:36" file="f1" line="36"/>
237
+ </Function>
238
+ <Function id="_87" name="__builtin_fmodf" returns="_499" context="_1" mangled="fmodf" location="f1:54" file="f1" line="54" extern="1" attributes="nothrow pure no vops">
239
+ <Argument type="_499" location="f1:54" file="f1" line="54"/>
240
+ <Argument type="_499" location="f1:54" file="f1" line="54"/>
241
+ </Function>
242
+ <Function id="_88" name="__builtin_fmodl" returns="_500" context="_1" mangled="fmodl" location="f1:55" file="f1" line="55" extern="1" attributes="nothrow pure no vops">
243
+ <Argument type="_500" location="f1:55" file="f1" line="55"/>
244
+ <Argument type="_500" location="f1:55" file="f1" line="55"/>
245
+ </Function>
246
+ <Function id="_89" name="sp_image_error" returns="_445" context="_1" location="f0:2426" file="f0" line="2426" extern="1">
247
+ <Argument name="image" type="_530" location="f0:2426" file="f0" line="2426"/>
248
+ </Function>
249
+ <Function id="_90" name="sp_artistbrowse_num_portraits" returns="_60" context="_1" location="f0:2187" file="f0" line="2187" extern="1">
250
+ <Argument name="arb" type="_539" location="f0:2187" file="f0" line="2187"/>
251
+ </Function>
252
+ <Function id="_91" name="sp_session_relogin" returns="_445" context="_1" location="f0:785" file="f0" line="785" extern="1">
253
+ <Argument name="session" type="_522" location="f0:785" file="f0" line="785"/>
254
+ </Function>
255
+ <Function id="_92" name="sp_session_set_social_credentials" returns="_445" context="_1" location="f0:1155" file="f0" line="1155" extern="1">
256
+ <Argument name="session" type="_522" location="f0:1155" file="f0" line="1155"/>
257
+ <Argument name="provider" type="_383" location="f0:1155" file="f0" line="1155"/>
258
+ <Argument name="username" type="_498" location="f0:1155" file="f0" line="1155"/>
259
+ <Argument name="password" type="_498" location="f0:1155" file="f0" line="1155"/>
260
+ </Function>
261
+ <FundamentalType id="_93" name="signed char" size="8" align="8"/>
262
+ <Typedef id="_94" name="int_least8_t" type="_407" context="_1" location="f2:203" file="f2" line="203"/>
263
+ <Function id="_95" name="sp_inbox_post_tracks" returns="_540" context="_1" location="f0:3891" file="f0" line="3891" extern="1">
264
+ <Argument name="session" type="_522" location="f0:3891" file="f0" line="3891"/>
265
+ <Argument name="user" type="_498" location="f0:3891" file="f0" line="3891"/>
266
+ <Argument name="tracks" type="_541" location="f0:3891" file="f0" line="3891"/>
267
+ <Argument name="num_tracks" type="_60" location="f0:3891" file="f0" line="3891"/>
268
+ <Argument name="message" type="_498" location="f0:3891" file="f0" line="3891"/>
269
+ <Argument name="callback" type="_542" location="f0:3891" file="f0" line="3891"/>
270
+ <Argument name="userdata" type="_543" location="f0:3891" file="f0" line="3891"/>
271
+ </Function>
272
+ <Function id="_96" name="sp_toplistbrowse_backend_request_duration" returns="_60" context="_1" location="f0:3856" file="f0" line="3856" extern="1">
273
+ <Argument name="tlb" type="_521" location="f0:3856" file="f0" line="3856"/>
274
+ </Function>
275
+ <Function id="_97" name="sp_session_is_scrobbling" returns="_445" context="_1" location="f0:1120" file="f0" line="1120" extern="1">
276
+ <Argument name="session" type="_522" location="f0:1120" file="f0" line="1120"/>
277
+ <Argument name="provider" type="_383" location="f0:1120" file="f0" line="1120"/>
278
+ <Argument name="state" type="_544" location="f0:1120" file="f0" line="1120"/>
279
+ </Function>
280
+ <Function id="_98" name="sp_playlist_release" returns="_445" context="_1" location="f0:3319" file="f0" line="3319" extern="1">
281
+ <Argument name="playlist" type="_495" location="f0:3319" file="f0" line="3319"/>
282
+ </Function>
283
+ <Struct id="_99" name="sp_toplistbrowse" context="_1" incomplete="1" mangled="16sp_toplistbrowse" demangled="sp_toplistbrowse" location="f0:73" file="f0" line="73" artificial="1" align="8"/>
284
+ <Typedef id="_100" name="sp_toplistbrowse" type="_99" context="_1" location="f0:73" file="f0" line="73"/>
285
+ <Function id="_101" name="sp_offline_num_playlists" returns="_60" context="_1" location="f0:1207" file="f0" line="1207" extern="1">
286
+ <Argument name="session" type="_522" location="f0:1207" file="f0" line="1207"/>
287
+ </Function>
288
+ <Function id="_102" name="sp_playlistcontainer_add_ref" returns="_445" context="_1" location="f0:3571" file="f0" line="3571" extern="1">
289
+ <Argument name="pc" type="_526" location="f0:3571" file="f0" line="3571"/>
290
+ </Function>
291
+ <Function id="_103" name="__builtin_return" returns="_545" context="_1" location="f1:13" file="f1" line="13" extern="1" attributes="nothrow noreturn">
292
+ <Argument name="RESULT" type="_543" location="f1:13" file="f1" line="13"/>
293
+ </Function>
294
+ <Function id="_104" name="sp_playlistcontainer_playlist_folder_id" returns="_8" context="_1" location="f0:3480" file="f0" line="3480" extern="1">
295
+ <Argument name="pc" type="_526" location="f0:3480" file="f0" line="3480"/>
296
+ <Argument name="index" type="_60" location="f0:3480" file="f0" line="3480"/>
297
+ </Function>
298
+ <Function id="_105" name="sp_track_offline_get_status" returns="_348" context="_1" location="f0:1558" file="f0" line="1558" extern="1">
299
+ <Argument name="track" type="_501" location="f0:1558" file="f0" line="1558"/>
300
+ </Function>
301
+ <Function id="_106" name="sp_track_is_placeholder" returns="_496" context="_1" location="f0:1626" file="f0" line="1626" extern="1">
302
+ <Argument name="track" type="_501" location="f0:1626" file="f0" line="1626"/>
303
+ </Function>
304
+ <Function id="_107" name="sp_albumbrowse_num_tracks" returns="_60" context="_1" location="f0:2051" file="f0" line="2051" extern="1">
305
+ <Argument name="alb" type="_546" location="f0:2051" file="f0" line="2051"/>
306
+ </Function>
307
+ <Function id="_108" name="__builtin_sqrt" returns="_497" context="_1" mangled="sqrt" location="f1:81" file="f1" line="81" extern="1" attributes="nothrow pure no vops">
308
+ <Argument type="_497" location="f1:81" file="f1" line="81"/>
309
+ </Function>
310
+ <Function id="_109" name="__builtin_cpow" returns="_529" context="_1" mangled="cpow" location="f1:130" file="f1" line="130" extern="1" attributes="nothrow pure no vops">
311
+ <Argument type="_529" location="f1:130" file="f1" line="130"/>
312
+ <Argument type="_529" location="f1:130" file="f1" line="130"/>
313
+ </Function>
314
+ <Function id="_110" name="sp_artistbrowse_portrait" returns="_547" context="_1" location="f0:2199" file="f0" line="2199" extern="1">
315
+ <Argument name="arb" type="_539" location="f0:2199" file="f0" line="2199"/>
316
+ <Argument name="index" type="_60" location="f0:2199" file="f0" line="2199"/>
317
+ </Function>
318
+ <Function id="_111" name="sp_toplistbrowse_track" returns="_501" context="_1" location="f0:3846" file="f0" line="3846" extern="1">
319
+ <Argument name="tlb" type="_521" location="f0:3846" file="f0" line="3846"/>
320
+ <Argument name="index" type="_60" location="f0:3846" file="f0" line="3846"/>
321
+ </Function>
322
+ <Function id="_112" name="sp_artist_portrait" returns="_547" context="_1" location="f0:1922" file="f0" line="1922" extern="1">
323
+ <Argument name="artist" type="_525" location="f0:1922" file="f0" line="1922"/>
324
+ <Argument name="size" type="_484" location="f0:1922" file="f0" line="1922"/>
325
+ </Function>
326
+ <Function id="_113" name="sp_search_total_playlists" returns="_60" context="_1" location="f0:2706" file="f0" line="2706" extern="1">
327
+ <Argument name="search" type="_548" location="f0:2706" file="f0" line="2706"/>
328
+ </Function>
329
+ <Function id="_114" name="sp_album_artist" returns="_525" context="_1" location="f0:1816" file="f0" line="1816" extern="1">
330
+ <Argument name="album" type="_531" location="f0:1816" file="f0" line="1816"/>
331
+ </Function>
332
+ <Function id="_115" name="__builtin_coshf" returns="_499" context="_1" mangled="coshf" location="f1:42" file="f1" line="42" extern="1" attributes="nothrow pure no vops">
333
+ <Argument type="_499" location="f1:42" file="f1" line="42"/>
334
+ </Function>
335
+ <Function id="_116" name="sp_inbox_add_ref" returns="_445" context="_1" location="f0:3917" file="f0" line="3917" extern="1">
336
+ <Argument name="inbox" type="_540" location="f0:3917" file="f0" line="3917"/>
337
+ </Function>
338
+ <Function id="_117" name="__builtin_coshl" returns="_500" context="_1" mangled="coshl" location="f1:43" file="f1" line="43" extern="1" attributes="nothrow pure no vops">
339
+ <Argument type="_500" location="f1:43" file="f1" line="43"/>
340
+ </Function>
341
+ <Function id="_118" name="sp_search_playlist_image_uri" returns="_498" context="_1" location="f0:2625" file="f0" line="2625" extern="1">
342
+ <Argument name="search" type="_548" location="f0:2625" file="f0" line="2625"/>
343
+ <Argument name="index" type="_60" location="f0:2625" file="f0" line="2625"/>
344
+ </Function>
345
+ <Function id="_119" name="sp_link_as_track" returns="_501" context="_1" location="f0:1452" file="f0" line="1452" extern="1">
346
+ <Argument name="link" type="_524" location="f0:1452" file="f0" line="1452"/>
347
+ </Function>
348
+ <Typedef id="_120" name="int_least32_t" type="_346" context="_1" location="f2:155" file="f2" line="155"/>
349
+ <Function id="_121" name="sp_link_as_user" returns="_523" context="_1" location="f0:1495" file="f0" line="1495" extern="1">
350
+ <Argument name="link" type="_524" location="f0:1495" file="f0" line="1495"/>
351
+ </Function>
352
+ <Function id="_122" name="__builtin_cexp" returns="_529" context="_1" mangled="cexp" location="f1:109" file="f1" line="109" extern="1" attributes="nothrow pure no vops">
353
+ <Argument type="_529" location="f1:109" file="f1" line="109"/>
354
+ </Function>
355
+ <Struct id="_123" name="sp_link" context="_1" incomplete="1" mangled="7sp_link" demangled="sp_link" location="f0:75" file="f0" line="75" artificial="1" align="8"/>
356
+ <Typedef id="_124" name="sp_link" type="_123" context="_1" location="f0:75" file="f0" line="75"/>
357
+ <Function id="_125" name="sp_session_logout" returns="_445" context="_1" location="f0:843" file="f0" line="843" extern="1">
358
+ <Argument name="session" type="_522" location="f0:843" file="f0" line="843"/>
359
+ </Function>
360
+ <Function id="_126" name="__builtin_atan2" returns="_497" context="_1" mangled="atan2" location="f1:31" file="f1" line="31" extern="1" attributes="nothrow pure no vops">
361
+ <Argument type="_497" location="f1:31" file="f1" line="31"/>
362
+ <Argument type="_497" location="f1:31" file="f1" line="31"/>
363
+ </Function>
364
+ <Function id="_127" name="sp_user_release" returns="_445" context="_1" location="f0:3675" file="f0" line="3675" extern="1">
365
+ <Argument name="user" type="_523" location="f0:3675" file="f0" line="3675"/>
366
+ </Function>
367
+ <FunctionType id="_128" returns="_545">
368
+ <Argument type="_530"/>
369
+ <Argument type="_543"/>
370
+ </FunctionType>
371
+ <Typedef id="_129" name="image_loaded_cb" type="_128" context="_1" location="f0:2350" file="f0" line="2350"/>
372
+ <Function id="_130" name="__builtin_atanf" returns="_499" context="_1" mangled="atanf" location="f1:34" file="f1" line="34" extern="1" attributes="nothrow pure no vops">
373
+ <Argument type="_499" location="f1:34" file="f1" line="34"/>
374
+ </Function>
375
+ <Function id="_131" name="__builtin_atanl" returns="_500" context="_1" mangled="atanl" location="f1:35" file="f1" line="35" extern="1" attributes="nothrow pure no vops">
376
+ <Argument type="_500" location="f1:35" file="f1" line="35"/>
377
+ </Function>
378
+ <Function id="_132" name="__builtin_ctan" returns="_529" context="_1" mangled="ctan" location="f1:124" file="f1" line="124" extern="1" attributes="nothrow pure no vops">
379
+ <Argument type="_529" location="f1:124" file="f1" line="124"/>
380
+ </Function>
381
+ <Function id="_133" name="__builtin_log" returns="_497" context="_1" mangled="log" location="f1:62" file="f1" line="62" extern="1" attributes="nothrow pure no vops">
382
+ <Argument type="_497" location="f1:62" file="f1" line="62"/>
383
+ </Function>
384
+ <Function id="_134" name="sp_playlist_track_set_seen" returns="_445" context="_1" location="f0:2995" file="f0" line="2995" extern="1">
385
+ <Argument name="playlist" type="_495" location="f0:2995" file="f0" line="2995"/>
386
+ <Argument name="index" type="_60" location="f0:2995" file="f0" line="2995"/>
387
+ <Argument name="seen" type="_496" location="f0:2995" file="f0" line="2995"/>
388
+ </Function>
389
+ <Function id="_135" name="sp_session_player_play" returns="_445" context="_1" location="f0:936" file="f0" line="936" extern="1">
390
+ <Argument name="session" type="_522" location="f0:936" file="f0" line="936"/>
391
+ <Argument name="play" type="_496" location="f0:936" file="f0" line="936"/>
392
+ </Function>
393
+ <Function id="_136" name="sp_playlist_set_in_ram" returns="_445" context="_1" location="f0:3251" file="f0" line="3251" extern="1">
394
+ <Argument name="session" type="_522" location="f0:3251" file="f0" line="3251"/>
395
+ <Argument name="playlist" type="_495" location="f0:3251" file="f0" line="3251"/>
396
+ <Argument name="in_ram" type="_496" location="f0:3251" file="f0" line="3251"/>
397
+ </Function>
398
+ <Function id="_137" name="sp_artistbrowse_album" returns="_531" context="_1" location="f0:2265" file="f0" line="2265" extern="1">
399
+ <Argument name="arb" type="_539" location="f0:2265" file="f0" line="2265"/>
400
+ <Argument name="index" type="_60" location="f0:2265" file="f0" line="2265"/>
401
+ </Function>
402
+ <Function id="_138" name="sp_playlistcontainer_clear_unseen_tracks" returns="_60" context="_1" location="f0:3604" file="f0" line="3604" extern="1">
403
+ <Argument name="pc" type="_526" location="f0:3604" file="f0" line="3604"/>
404
+ <Argument name="playlist" type="_495" location="f0:3604" file="f0" line="3604"/>
405
+ </Function>
406
+ <Struct id="_139" name="sp_playlistcontainer" context="_1" incomplete="1" mangled="20sp_playlistcontainer" demangled="sp_playlistcontainer" location="f0:79" file="f0" line="79" artificial="1" align="8"/>
407
+ <Typedef id="_140" name="sp_playlistcontainer" type="_139" context="_1" location="f0:79" file="f0" line="79"/>
408
+ <Function id="_141" name="sp_localtrack_create" returns="_501" context="_1" location="f0:1750" file="f0" line="1750" extern="1">
409
+ <Argument name="artist" type="_498" location="f0:1750" file="f0" line="1750"/>
410
+ <Argument name="title" type="_498" location="f0:1750" file="f0" line="1750"/>
411
+ <Argument name="album" type="_498" location="f0:1750" file="f0" line="1750"/>
412
+ <Argument name="length" type="_60" location="f0:1750" file="f0" line="1750"/>
413
+ </Function>
414
+ <Function id="_142" name="sp_link_create_from_artist" returns="_524" context="_1" location="f0:1332" file="f0" line="1332" extern="1">
415
+ <Argument name="artist" type="_525" location="f0:1332" file="f0" line="1332"/>
416
+ </Function>
417
+ <Function id="_143" name="sp_albumbrowse_create" returns="_546" context="_1" location="f0:1980" file="f0" line="1980" extern="1">
418
+ <Argument name="session" type="_522" location="f0:1980" file="f0" line="1980"/>
419
+ <Argument name="album" type="_531" location="f0:1980" file="f0" line="1980"/>
420
+ <Argument name="callback" type="_549" location="f0:1980" file="f0" line="1980"/>
421
+ <Argument name="userdata" type="_543" location="f0:1980" file="f0" line="1980"/>
422
+ </Function>
423
+ <Function id="_144" name="sp_session_user_name" returns="_498" context="_1" location="f0:811" file="f0" line="811" extern="1">
424
+ <Argument name="session" type="_522" location="f0:811" file="f0" line="811"/>
425
+ </Function>
426
+ <Function id="_145" name="sp_playlistcontainer_num_playlists" returns="_60" context="_1" location="f0:3416" file="f0" line="3416" extern="1">
427
+ <Argument name="pc" type="_526" location="f0:3416" file="f0" line="3416"/>
428
+ </Function>
429
+ <Function id="_146" name="sp_link_add_ref" returns="_445" context="_1" location="f0:1505" file="f0" line="1505" extern="1">
430
+ <Argument name="link" type="_524" location="f0:1505" file="f0" line="1505"/>
431
+ </Function>
432
+ <Function id="_147" name="sp_search_query" returns="_498" context="_1" location="f0:2653" file="f0" line="2653" extern="1">
433
+ <Argument name="search" type="_548" location="f0:2653" file="f0" line="2653"/>
434
+ </Function>
435
+ <Function id="_148" name="sp_artistbrowse_is_loaded" returns="_496" context="_1" location="f0:2156" file="f0" line="2156" extern="1">
436
+ <Argument name="arb" type="_539" location="f0:2156" file="f0" line="2156"/>
437
+ </Function>
438
+ <Function id="_149" name="sp_session_userdata" returns="_543" context="_1" location="f0:876" file="f0" line="876" extern="1">
439
+ <Argument name="session" type="_522" location="f0:876" file="f0" line="876"/>
440
+ </Function>
441
+ <Function id="_150" name="__builtin_asin" returns="_497" context="_1" mangled="asin" location="f1:27" file="f1" line="27" extern="1" attributes="nothrow pure no vops">
442
+ <Argument type="_497" location="f1:27" file="f1" line="27"/>
443
+ </Function>
444
+ <Function id="_151" name="sp_albumbrowse_add_ref" returns="_445" context="_1" location="f0:2094" file="f0" line="2094" extern="1">
445
+ <Argument name="alb" type="_546" location="f0:2094" file="f0" line="2094"/>
446
+ </Function>
447
+ <Struct id="_152" name="sp_albumbrowse" context="_1" incomplete="1" mangled="14sp_albumbrowse" demangled="sp_albumbrowse" location="f0:72" file="f0" line="72" artificial="1" align="8"/>
448
+ <Typedef id="_153" name="sp_albumbrowse" type="_152" context="_1" location="f0:72" file="f0" line="72"/>
449
+ <Function id="_154" name="__builtin_frexp" returns="_497" context="_1" mangled="frexp" location="f1:56" file="f1" line="56" extern="1" attributes="nothrow">
450
+ <Argument type="_497" location="f1:56" file="f1" line="56"/>
451
+ <Argument type="_550" location="f1:56" file="f1" line="56"/>
452
+ </Function>
453
+ <Function id="_155" name="sp_session_forget_me" returns="_445" context="_1" location="f0:821" file="f0" line="821" extern="1">
454
+ <Argument name="session" type="_522" location="f0:821" file="f0" line="821"/>
455
+ </Function>
456
+ <Function id="_156" name="sp_artist_is_loaded" returns="_496" context="_1" location="f0:1909" file="f0" line="1909" extern="1">
457
+ <Argument name="artist" type="_525" location="f0:1909" file="f0" line="1909"/>
458
+ </Function>
459
+ <Function id="_157" name="sp_album_release" returns="_445" context="_1" location="f0:1879" file="f0" line="1879" extern="1">
460
+ <Argument name="album" type="_531" location="f0:1879" file="f0" line="1879"/>
461
+ </Function>
462
+ <FundamentalType id="_158" name="short unsigned int" size="16" align="16"/>
463
+ <Typedef id="_159" name="uint_fast16_t" type="_220" context="_1" location="f2:189" file="f2" line="189"/>
464
+ <Function id="_160" name="sp_album_is_loaded" returns="_496" context="_1" location="f0:1795" file="f0" line="1795" extern="1">
465
+ <Argument name="album" type="_531" location="f0:1795" file="f0" line="1795"/>
466
+ </Function>
467
+ <Function id="_161" name="sp_session_player_prefetch" returns="_445" context="_1" location="f0:966" file="f0" line="966" extern="1">
468
+ <Argument name="session" type="_522" location="f0:966" file="f0" line="966"/>
469
+ <Argument name="track" type="_501" location="f0:966" file="f0" line="966"/>
470
+ </Function>
471
+ <Function id="_162" name="sp_artistbrowse_add_ref" returns="_445" context="_1" location="f0:2318" file="f0" line="2318" extern="1">
472
+ <Argument name="arb" type="_539" location="f0:2318" file="f0" line="2318"/>
473
+ </Function>
474
+ <Function id="_163" name="sp_track_is_starred" returns="_496" context="_1" location="f0:1640" file="f0" line="1640" extern="1">
475
+ <Argument name="session" type="_522" location="f0:1640" file="f0" line="1640"/>
476
+ <Argument name="track" type="_501" location="f0:1640" file="f0" line="1640"/>
477
+ </Function>
478
+ <Function id="_164" name="sp_artistbrowse_biography" returns="_498" context="_1" location="f0:2298" file="f0" line="2298" extern="1">
479
+ <Argument name="arb" type="_539" location="f0:2298" file="f0" line="2298"/>
480
+ </Function>
481
+ <Function id="_165" name="__builtin_log10f" returns="_499" context="_1" mangled="log10f" location="f1:64" file="f1" line="64" extern="1" attributes="nothrow pure no vops">
482
+ <Argument type="_499" location="f1:64" file="f1" line="64"/>
483
+ </Function>
484
+ <Function id="_166" name="__builtin_log10l" returns="_500" context="_1" mangled="log10l" location="f1:65" file="f1" line="65" extern="1" attributes="nothrow pure no vops">
485
+ <Argument type="_500" location="f1:65" file="f1" line="65"/>
486
+ </Function>
487
+ <FunctionType id="_167" returns="_545">
488
+ <Argument type="_521"/>
489
+ <Argument type="_543"/>
490
+ </FunctionType>
491
+ <Typedef id="_168" name="toplistbrowse_complete_cb" type="_167" context="_1" location="f0:3723" file="f0" line="3723"/>
492
+ <Function id="_169" name="sp_search_release" returns="_445" context="_1" location="f0:2724" file="f0" line="2724" extern="1">
493
+ <Argument name="search" type="_548" location="f0:2724" file="f0" line="2724"/>
494
+ </Function>
495
+ <Function id="_170" name="sp_track_num_artists" returns="_60" context="_1" location="f0:1663" file="f0" line="1663" extern="1">
496
+ <Argument name="track" type="_501" location="f0:1663" file="f0" line="1663"/>
497
+ </Function>
498
+ <Function id="_171" name="sp_toplistbrowse_add_ref" returns="_445" context="_1" location="f0:3776" file="f0" line="3776" extern="1">
499
+ <Argument name="tlb" type="_521" location="f0:3776" file="f0" line="3776"/>
500
+ </Function>
501
+ <Function id="_172" name="__builtin_ctzl" returns="_60" context="_1" location="f1:97" file="f1" line="97" extern="1" attributes="nothrow const">
502
+ <Argument type="_361" location="f1:97" file="f1" line="97"/>
503
+ </Function>
504
+ <Struct id="_173" name="sp_session_config" context="_1" mangled="17sp_session_config" demangled="sp_session_config" location="f0:643" file="f0" line="643" artificial="1" size="480" align="32" members="_551 _552 _553 _554 _555 _556 _557 _558 _559 _560 _561 _562 _563 _564 _565 _566 _567 _568 _569 _570 _571 " bases=""/>
505
+ <Typedef id="_174" name="sp_session_config" type="_173" context="_1" location="f0:716" file="f0" line="716"/>
506
+ <Function id="_175" name="sp_toplistbrowse_num_albums" returns="_60" context="_1" location="f0:3814" file="f0" line="3814" extern="1">
507
+ <Argument name="tlb" type="_521" location="f0:3814" file="f0" line="3814"/>
508
+ </Function>
509
+ <Function id="_176" name="sp_playlist_add_tracks" returns="_445" context="_1" location="f0:3124" file="f0" line="3124" extern="1">
510
+ <Argument name="playlist" type="_495" location="f0:3124" file="f0" line="3124"/>
511
+ <Argument name="tracks" type="_541" location="f0:3124" file="f0" line="3124"/>
512
+ <Argument name="num_tracks" type="_60" location="f0:3124" file="f0" line="3124"/>
513
+ <Argument name="position" type="_60" location="f0:3124" file="f0" line="3124"/>
514
+ <Argument name="session" type="_522" location="f0:3124" file="f0" line="3124"/>
515
+ </Function>
516
+ <Function id="_177" name="sp_search_create" returns="_548" context="_1" location="f0:2516" file="f0" line="2516" extern="1">
517
+ <Argument name="session" type="_522" location="f0:2516" file="f0" line="2516"/>
518
+ <Argument name="query" type="_498" location="f0:2516" file="f0" line="2516"/>
519
+ <Argument name="track_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
520
+ <Argument name="track_count" type="_60" location="f0:2516" file="f0" line="2516"/>
521
+ <Argument name="album_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
522
+ <Argument name="album_count" type="_60" location="f0:2516" file="f0" line="2516"/>
523
+ <Argument name="artist_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
524
+ <Argument name="artist_count" type="_60" location="f0:2516" file="f0" line="2516"/>
525
+ <Argument name="playlist_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
526
+ <Argument name="playlist_count" type="_60" location="f0:2516" file="f0" line="2516"/>
527
+ <Argument name="search_type" type="_217" location="f0:2516" file="f0" line="2516"/>
528
+ <Argument name="callback" type="_572" location="f0:2516" file="f0" line="2516"/>
529
+ <Argument name="userdata" type="_543" location="f0:2516" file="f0" line="2516"/>
530
+ </Function>
531
+ <Function id="_178" name="sp_image_create" returns="_530" context="_1" location="f0:2364" file="f0" line="2364" extern="1">
532
+ <Argument name="session" type="_522" location="f0:2364" file="f0" line="2364"/>
533
+ <Argument name="image_id" type="_547" location="f0:2364" file="f0" line="2364"/>
534
+ </Function>
535
+ <Function id="_179" name="sp_artistbrowse_num_similar_artists" returns="_60" context="_1" location="f0:2274" file="f0" line="2274" extern="1">
536
+ <Argument name="arb" type="_539" location="f0:2274" file="f0" line="2274"/>
537
+ </Function>
538
+ <Function id="_180" name="sp_session_starred_create" returns="_495" context="_1" location="f0:997" file="f0" line="997" extern="1">
539
+ <Argument name="session" type="_522" location="f0:997" file="f0" line="997"/>
540
+ </Function>
541
+ <Function id="_181" name="sp_playlist_remove_callbacks" returns="_445" context="_1" location="f0:2933" file="f0" line="2933" extern="1">
542
+ <Argument name="playlist" type="_495" location="f0:2933" file="f0" line="2933"/>
543
+ <Argument name="callbacks" type="_573" location="f0:2933" file="f0" line="2933"/>
544
+ <Argument name="userdata" type="_543" location="f0:2933" file="f0" line="2933"/>
545
+ </Function>
546
+ <Function id="_182" name="sp_search_num_artists" returns="_60" context="_1" location="f0:2634" file="f0" line="2634" extern="1">
547
+ <Argument name="search" type="_548" location="f0:2634" file="f0" line="2634"/>
548
+ </Function>
549
+ <Function id="_183" name="__builtin_powif" returns="_499" context="_1" location="f1:73" file="f1" line="73" extern="1" attributes="nothrow pure no vops">
550
+ <Argument type="_499" location="f1:73" file="f1" line="73"/>
551
+ <Argument type="_60" location="f1:73" file="f1" line="73"/>
552
+ </Function>
553
+ <Function id="_184" name="__builtin_powil" returns="_500" context="_1" location="f1:74" file="f1" line="74" extern="1" attributes="nothrow pure no vops">
554
+ <Argument type="_500" location="f1:74" file="f1" line="74"/>
555
+ <Argument type="_60" location="f1:74" file="f1" line="74"/>
556
+ </Function>
557
+ <Function id="_185" name="sp_link_as_album" returns="_531" context="_1" location="f0:1474" file="f0" line="1474" extern="1">
558
+ <Argument name="link" type="_524" location="f0:1474" file="f0" line="1474"/>
559
+ </Function>
560
+ <Function id="_186" name="__builtin_modff" returns="_499" context="_1" mangled="modff" location="f1:68" file="f1" line="68" extern="1" attributes="nothrow">
561
+ <Argument type="_499" location="f1:68" file="f1" line="68"/>
562
+ <Argument type="_574" location="f1:68" file="f1" line="68"/>
563
+ </Function>
564
+ <Function id="_187" name="__builtin_exp" returns="_497" context="_1" mangled="exp" location="f1:45" file="f1" line="45" extern="1" attributes="nothrow pure no vops">
565
+ <Argument type="_497" location="f1:45" file="f1" line="45"/>
566
+ </Function>
567
+ <Function id="_188" name="__builtin_modfl" returns="_500" context="_1" mangled="modfl" location="f1:69" file="f1" line="69" extern="1" attributes="nothrow">
568
+ <Argument type="_500" location="f1:69" file="f1" line="69"/>
569
+ <Argument type="_575" location="f1:69" file="f1" line="69"/>
570
+ </Function>
571
+ <Function id="_189" name="__builtin_prefetch" returns="_545" context="_1" location="f1:17" file="f1" line="17" extern="1" attributes="no vops">
572
+ <Argument name="ADDR" type="_576" location="f1:17" file="f1" line="17"/>
573
+ <Ellipsis/>
574
+ </Function>
575
+ <Function id="_190" name="sp_search_playlist" returns="_495" context="_1" location="f0:2595" file="f0" line="2595" extern="1">
576
+ <Argument name="search" type="_548" location="f0:2595" file="f0" line="2595"/>
577
+ <Argument name="index" type="_60" location="f0:2595" file="f0" line="2595"/>
578
+ </Function>
579
+ <Function id="_191" name="sp_track_index" returns="_60" context="_1" location="f0:1738" file="f0" line="1738" extern="1">
580
+ <Argument name="track" type="_501" location="f0:1738" file="f0" line="1738"/>
581
+ </Function>
582
+ <Function id="_192" name="__builtin_tan" returns="_497" context="_1" mangled="tan" location="f1:84" file="f1" line="84" extern="1" attributes="nothrow pure no vops">
583
+ <Argument type="_497" location="f1:84" file="f1" line="84"/>
584
+ </Function>
585
+ <Struct id="_193" name="sp_audio_buffer_stats" context="_1" mangled="21sp_audio_buffer_stats" demangled="sp_audio_buffer_stats" location="f0:270" file="f0" line="270" artificial="1" size="64" align="32" members="_577 _578 _579 _580 _581 _582 " bases=""/>
586
+ <Typedef id="_194" name="sp_audio_buffer_stats" type="_193" context="_1" location="f0:273" file="f0" line="273"/>
587
+ <Function id="_195" name="__builtin_fabsf" returns="_499" context="_1" mangled="fabsf" location="f1:49" file="f1" line="49" extern="1" attributes="nothrow const">
588
+ <Argument type="_499" location="f1:49" file="f1" line="49"/>
589
+ </Function>
590
+ <Function id="_196" name="__builtin_fabsl" returns="_500" context="_1" mangled="fabsl" location="f1:50" file="f1" line="50" extern="1" attributes="nothrow const">
591
+ <Argument type="_500" location="f1:50" file="f1" line="50"/>
592
+ </Function>
593
+ <FundamentalType id="_197" name="unsigned int" size="32" align="32"/>
594
+ <Typedef id="_198" name="uint32_t" type="_197" context="_1" location="f2:143" file="f2" line="143"/>
595
+ <Function id="_199" name="sp_playlist_track" returns="_501" context="_1" location="f0:2952" file="f0" line="2952" extern="1">
596
+ <Argument name="playlist" type="_495" location="f0:2952" file="f0" line="2952"/>
597
+ <Argument name="index" type="_60" location="f0:2952" file="f0" line="2952"/>
598
+ </Function>
599
+ <Function id="_200" name="sp_user_display_name" returns="_498" context="_1" location="f0:3646" file="f0" line="3646" extern="1">
600
+ <Argument name="user" type="_523" location="f0:3646" file="f0" line="3646"/>
601
+ </Function>
602
+ <Function id="_201" name="sp_search_is_loaded" returns="_496" context="_1" location="f0:2525" file="f0" line="2525" extern="1">
603
+ <Argument name="search" type="_548" location="f0:2525" file="f0" line="2525"/>
604
+ </Function>
605
+ <Function id="_202" name="sp_link_create_from_artist_portrait" returns="_524" context="_1" location="f0:1346" file="f0" line="1346" extern="1">
606
+ <Argument name="artist" type="_525" location="f0:1346" file="f0" line="1346"/>
607
+ <Argument name="size" type="_484" location="f0:1346" file="f0" line="1346"/>
608
+ </Function>
609
+ <Function id="_203" name="sp_playlistcontainer_playlist" returns="_495" context="_1" location="f0:3439" file="f0" line="3439" extern="1">
610
+ <Argument name="pc" type="_526" location="f0:3439" file="f0" line="3439"/>
611
+ <Argument name="index" type="_60" location="f0:3439" file="f0" line="3439"/>
612
+ </Function>
613
+ <Function id="_204" name="sp_session_user" returns="_523" context="_1" location="f0:831" file="f0" line="831" extern="1">
614
+ <Argument name="session" type="_522" location="f0:831" file="f0" line="831"/>
615
+ </Function>
616
+ <Typedef id="_205" name="uint_least32_t" type="_198" context="_1" location="f2:156" file="f2" line="156"/>
617
+ <Function id="_206" name="sp_image_data" returns="_576" context="_1" location="f0:2446" file="f0" line="2446" extern="1">
618
+ <Argument name="image" type="_530" location="f0:2446" file="f0" line="2446"/>
619
+ <Argument name="data_size" type="_583" location="f0:2446" file="f0" line="2446"/>
620
+ </Function>
621
+ <Function id="_207" name="__builtin_inf" returns="_497" context="_1" location="f1:18" file="f1" line="18" extern="1" attributes="nothrow const"/>
622
+ <Function id="_208" name="sp_session_player_seek" returns="_445" context="_1" location="f0:926" file="f0" line="926" extern="1">
623
+ <Argument name="session" type="_522" location="f0:926" file="f0" line="926"/>
624
+ <Argument name="offset" type="_60" location="f0:926" file="f0" line="926"/>
625
+ </Function>
626
+ <Enumeration id="_209" name="sp_connection_rules" context="_1" location="f0:302" file="f0" line="302" artificial="1" size="32" align="32">
627
+ <EnumValue name="SP_CONNECTION_RULE_NETWORK" init="1"/>
628
+ <EnumValue name="SP_CONNECTION_RULE_NETWORK_IF_ROAMING" init="2"/>
629
+ <EnumValue name="SP_CONNECTION_RULE_ALLOW_SYNC_OVER_MOBILE" init="4"/>
630
+ <EnumValue name="SP_CONNECTION_RULE_ALLOW_SYNC_OVER_WIFI" init="8"/>
631
+ </Enumeration>
632
+ <Typedef id="_210" name="sp_connection_rules" type="_209" context="_1" location="f0:307" file="f0" line="307"/>
633
+ <Function id="_211" name="sp_search_album" returns="_531" context="_1" location="f0:2576" file="f0" line="2576" extern="1">
634
+ <Argument name="search" type="_548" location="f0:2576" file="f0" line="2576"/>
635
+ <Argument name="index" type="_60" location="f0:2576" file="f0" line="2576"/>
636
+ </Function>
637
+ <Namespace id="_212" name="__cxxabiv1" context="_1" members="" mangled="_Z10__cxxabiv1" demangled="__cxxabiv1"/>
638
+ <Function id="_213" name="sp_track_disc" returns="_60" context="_1" location="f0:1727" file="f0" line="1727" extern="1">
639
+ <Argument name="track" type="_501" location="f0:1727" file="f0" line="1727"/>
640
+ </Function>
641
+ <Function id="_214" name="sp_albumbrowse_is_loaded" returns="_496" context="_1" location="f0:1989" file="f0" line="1989" extern="1">
642
+ <Argument name="alb" type="_546" location="f0:1989" file="f0" line="1989"/>
643
+ </Function>
644
+ <Function id="_215" name="__builtin_frame_address" returns="_543" context="_1" location="f1:15" file="f1" line="15" extern="1">
645
+ <Argument name="LEVEL" type="_197" location="f1:15" file="f1" line="15"/>
646
+ </Function>
647
+ <Enumeration id="_216" name="sp_search_type" context="_1" location="f0:219" file="f0" line="219" artificial="1" size="32" align="32">
648
+ <EnumValue name="SP_SEARCH_STANDARD" init="0"/>
649
+ <EnumValue name="SP_SEARCH_SUGGEST" init="1"/>
650
+ </Enumeration>
651
+ <Typedef id="_217" name="sp_search_type" type="_216" context="_1" location="f0:222" file="f0" line="222"/>
652
+ <Struct id="_218" name="sp_search" context="_1" incomplete="1" mangled="9sp_search" demangled="sp_search" location="f0:74" file="f0" line="74" artificial="1" align="8"/>
653
+ <Typedef id="_219" name="sp_search" type="_218" context="_1" location="f0:74" file="f0" line="74"/>
654
+ <Typedef id="_220" name="uint16_t" type="_158" context="_1" location="f2:178" file="f2" line="178"/>
655
+ <Struct id="_221" name="sp_artistbrowse" context="_1" incomplete="1" mangled="15sp_artistbrowse" demangled="sp_artistbrowse" location="f0:71" file="f0" line="71" artificial="1" align="8"/>
656
+ <Typedef id="_222" name="sp_artistbrowse" type="_221" context="_1" location="f0:71" file="f0" line="71"/>
657
+ <Function id="_223" name="sp_playlist_is_in_ram" returns="_496" context="_1" location="f0:3239" file="f0" line="3239" extern="1">
658
+ <Argument name="session" type="_522" location="f0:3239" file="f0" line="3239"/>
659
+ <Argument name="playlist" type="_495" location="f0:3239" file="f0" line="3239"/>
660
+ </Function>
661
+ <Function id="_224" name="sp_toplistbrowse_num_tracks" returns="_60" context="_1" location="f0:3835" file="f0" line="3835" extern="1">
662
+ <Argument name="tlb" type="_521" location="f0:3835" file="f0" line="3835"/>
663
+ </Function>
664
+ <Function id="_225" name="__builtin_cabs" returns="_497" context="_1" mangled="cabs" location="f1:91" file="f1" line="91" extern="1" attributes="nothrow pure no vops">
665
+ <Argument type="_529" location="f1:91" file="f1" line="91"/>
666
+ </Function>
667
+ <Function id="_226" name="sp_session_process_events" returns="_445" context="_1" location="f0:898" file="f0" line="898" extern="1">
668
+ <Argument name="session" type="_522" location="f0:898" file="f0" line="898"/>
669
+ <Argument name="next_timeout" type="_550" location="f0:898" file="f0" line="898"/>
670
+ </Function>
671
+ <Function id="_227" name="sp_artistbrowse_create" returns="_539" context="_1" location="f0:2147" file="f0" line="2147" extern="1">
672
+ <Argument name="session" type="_522" location="f0:2147" file="f0" line="2147"/>
673
+ <Argument name="artist" type="_525" location="f0:2147" file="f0" line="2147"/>
674
+ <Argument name="type" type="_344" location="f0:2147" file="f0" line="2147"/>
675
+ <Argument name="callback" type="_584" location="f0:2147" file="f0" line="2147"/>
676
+ <Argument name="userdata" type="_543" location="f0:2147" file="f0" line="2147"/>
677
+ </Function>
678
+ <Function id="_228" name="sp_artistbrowse_num_tophit_tracks" returns="_60" context="_1" location="f0:2231" file="f0" line="2231" extern="1">
679
+ <Argument name="arb" type="_539" location="f0:2231" file="f0" line="2231"/>
680
+ </Function>
681
+ <Struct id="_229" name="sp_session" context="_1" incomplete="1" mangled="10sp_session" demangled="sp_session" location="f0:67" file="f0" line="67" artificial="1" align="8"/>
682
+ <Typedef id="_230" name="sp_session" type="_229" context="_1" location="f0:67" file="f0" line="67"/>
683
+ <Function id="_231" name="__builtin_atan2f" returns="_499" context="_1" mangled="atan2f" location="f1:32" file="f1" line="32" extern="1" attributes="nothrow pure no vops">
684
+ <Argument type="_499" location="f1:32" file="f1" line="32"/>
685
+ <Argument type="_499" location="f1:32" file="f1" line="32"/>
686
+ </Function>
687
+ <Function id="_232" name="__builtin_atan2l" returns="_500" context="_1" mangled="atan2l" location="f1:33" file="f1" line="33" extern="1" attributes="nothrow pure no vops">
688
+ <Argument type="_500" location="f1:33" file="f1" line="33"/>
689
+ <Argument type="_500" location="f1:33" file="f1" line="33"/>
690
+ </Function>
691
+ <Typedef id="_233" name="int_fast8_t" type="_407" context="_1" location="f2:205" file="f2" line="205"/>
692
+ <Function id="_234" name="sp_albumbrowse_album" returns="_531" context="_1" location="f0:2012" file="f0" line="2012" extern="1">
693
+ <Argument name="alb" type="_546" location="f0:2012" file="f0" line="2012"/>
694
+ </Function>
695
+ <FundamentalType id="_235" name="short int" size="16" align="16"/>
696
+ <Typedef id="_236" name="int16_t" type="_235" context="_1" location="f2:176" file="f2" line="176"/>
697
+ <Function id="_237" name="sp_track_add_ref" returns="_445" context="_1" location="f0:1759" file="f0" line="1759" extern="1">
698
+ <Argument name="track" type="_501" location="f0:1759" file="f0" line="1759"/>
699
+ </Function>
700
+ <Enumeration id="_238" name="sp_toplisttype" context="_1" location="f0:3692" file="f0" line="3692" size="32" align="32">
701
+ <EnumValue name="SP_TOPLIST_TYPE_ARTISTS" init="0"/>
702
+ <EnumValue name="SP_TOPLIST_TYPE_ALBUMS" init="1"/>
703
+ <EnumValue name="SP_TOPLIST_TYPE_TRACKS" init="2"/>
704
+ </Enumeration>
705
+ <Typedef id="_239" name="int_fast16_t" type="_236" context="_1" location="f2:188" file="f2" line="188"/>
706
+ <Function id="_240" name="sp_playlist_rename" returns="_445" context="_1" location="f0:3028" file="f0" line="3028" extern="1">
707
+ <Argument name="playlist" type="_495" location="f0:3028" file="f0" line="3028"/>
708
+ <Argument name="new_name" type="_498" location="f0:3028" file="f0" line="3028"/>
709
+ </Function>
710
+ <Function id="_241" name="sp_playlistcontainer_playlist_type" returns="_385" context="_1" location="f0:3451" file="f0" line="3451" extern="1">
711
+ <Argument name="pc" type="_526" location="f0:3451" file="f0" line="3451"/>
712
+ <Argument name="index" type="_60" location="f0:3451" file="f0" line="3451"/>
713
+ </Function>
714
+ <Function id="_242" name="__builtin_ccoshf" returns="_502" context="_1" mangled="ccoshf" location="f1:105" file="f1" line="105" extern="1" attributes="nothrow pure no vops">
715
+ <Argument type="_502" location="f1:105" file="f1" line="105"/>
716
+ </Function>
717
+ <Function id="_243" name="__builtin_ccoshl" returns="_503" context="_1" mangled="ccoshl" location="f1:107" file="f1" line="107" extern="1" attributes="nothrow pure no vops">
718
+ <Argument type="_503" location="f1:107" file="f1" line="107"/>
719
+ </Function>
720
+ <Enumeration id="_244" name="sp_connectionstate" context="_1" location="f0:170" file="f0" line="170" artificial="1" size="32" align="32">
721
+ <EnumValue name="SP_CONNECTION_STATE_LOGGED_OUT" init="0"/>
722
+ <EnumValue name="SP_CONNECTION_STATE_LOGGED_IN" init="1"/>
723
+ <EnumValue name="SP_CONNECTION_STATE_DISCONNECTED" init="2"/>
724
+ <EnumValue name="SP_CONNECTION_STATE_UNDEFINED" init="3"/>
725
+ <EnumValue name="SP_CONNECTION_STATE_OFFLINE" init="4"/>
726
+ </Enumeration>
727
+ <Typedef id="_245" name="sp_connectionstate" type="_244" context="_1" location="f0:176" file="f0" line="176"/>
728
+ <Enumeration id="_246" name="sp_scrobbling_state" context="_1" location="f0:333" file="f0" line="333" artificial="1" size="32" align="32">
729
+ <EnumValue name="SP_SCROBBLING_STATE_USE_GLOBAL_SETTING" init="0"/>
730
+ <EnumValue name="SP_SCROBBLING_STATE_LOCAL_ENABLED" init="1"/>
731
+ <EnumValue name="SP_SCROBBLING_STATE_LOCAL_DISABLED" init="2"/>
732
+ <EnumValue name="SP_SCROBBLING_STATE_GLOBAL_ENABLED" init="3"/>
733
+ <EnumValue name="SP_SCROBBLING_STATE_GLOBAL_DISABLED" init="4"/>
734
+ </Enumeration>
735
+ <Typedef id="_247" name="sp_scrobbling_state" type="_246" context="_1" location="f0:339" file="f0" line="339"/>
736
+ <Function id="_248" name="sp_session_publishedcontainer_for_user_create" returns="_526" context="_1" location="f0:1023" file="f0" line="1023" extern="1">
737
+ <Argument name="session" type="_522" location="f0:1023" file="f0" line="1023"/>
738
+ <Argument name="canonical_username" type="_498" location="f0:1023" file="f0" line="1023"/>
739
+ </Function>
740
+ <Typedef id="_249" name="ptrdiff_t" type="_60" context="_1" location="f3:31" file="f3" line="31"/>
741
+ <Function id="_250" name="__builtin_atan" returns="_497" context="_1" mangled="atan" location="f1:30" file="f1" line="30" extern="1" attributes="nothrow pure no vops">
742
+ <Argument type="_497" location="f1:30" file="f1" line="30"/>
743
+ </Function>
744
+ <Function id="_251" name="__builtin_sinhf" returns="_499" context="_1" mangled="sinhf" location="f1:78" file="f1" line="78" extern="1" attributes="nothrow pure no vops">
745
+ <Argument type="_499" location="f1:78" file="f1" line="78"/>
746
+ </Function>
747
+ <Function id="_252" name="__builtin_sinhl" returns="_500" context="_1" mangled="sinhl" location="f1:79" file="f1" line="79" extern="1" attributes="nothrow pure no vops">
748
+ <Argument type="_500" location="f1:79" file="f1" line="79"/>
749
+ </Function>
750
+ <Function id="_253" name="__builtin_sqrtf" returns="_499" context="_1" mangled="sqrtf" location="f1:82" file="f1" line="82" extern="1" attributes="nothrow pure no vops">
751
+ <Argument type="_499" location="f1:82" file="f1" line="82"/>
752
+ </Function>
753
+ <Function id="_254" name="__builtin_sqrtl" returns="_500" context="_1" mangled="sqrtl" location="f1:83" file="f1" line="83" extern="1" attributes="nothrow pure no vops">
754
+ <Argument type="_500" location="f1:83" file="f1" line="83"/>
755
+ </Function>
756
+ <FunctionType id="_255" returns="_545">
757
+ <Argument type="_539"/>
758
+ <Argument type="_543"/>
759
+ </FunctionType>
760
+ <Typedef id="_256" name="artistbrowse_complete_cb" type="_255" context="_1" location="f0:2130" file="f0" line="2130"/>
761
+ <Function id="_257" name="__builtin_frexpf" returns="_499" context="_1" mangled="frexpf" location="f1:57" file="f1" line="57" extern="1" attributes="nothrow">
762
+ <Argument type="_499" location="f1:57" file="f1" line="57"/>
763
+ <Argument type="_550" location="f1:57" file="f1" line="57"/>
764
+ </Function>
765
+ <Function id="_258" name="__builtin_frexpl" returns="_500" context="_1" mangled="frexpl" location="f1:58" file="f1" line="58" extern="1" attributes="nothrow">
766
+ <Argument type="_500" location="f1:58" file="f1" line="58"/>
767
+ <Argument type="_550" location="f1:58" file="f1" line="58"/>
768
+ </Function>
769
+ <Function id="_259" name="__builtin_cpowf" returns="_502" context="_1" mangled="cpowf" location="f1:129" file="f1" line="129" extern="1" attributes="nothrow pure no vops">
770
+ <Argument type="_502" location="f1:129" file="f1" line="129"/>
771
+ <Argument type="_502" location="f1:129" file="f1" line="129"/>
772
+ </Function>
773
+ <Function id="_260" name="__builtin_cpowl" returns="_503" context="_1" mangled="cpowl" location="f1:131" file="f1" line="131" extern="1" attributes="nothrow pure no vops">
774
+ <Argument type="_503" location="f1:131" file="f1" line="131"/>
775
+ <Argument type="_503" location="f1:131" file="f1" line="131"/>
776
+ </Function>
777
+ <Enumeration id="_261" name="sp_connection_type" context="_1" location="f0:287" file="f0" line="287" artificial="1" size="32" align="32">
778
+ <EnumValue name="SP_CONNECTION_TYPE_UNKNOWN" init="0"/>
779
+ <EnumValue name="SP_CONNECTION_TYPE_NONE" init="1"/>
780
+ <EnumValue name="SP_CONNECTION_TYPE_MOBILE" init="2"/>
781
+ <EnumValue name="SP_CONNECTION_TYPE_MOBILE_ROAMING" init="3"/>
782
+ <EnumValue name="SP_CONNECTION_TYPE_WIFI" init="4"/>
783
+ <EnumValue name="SP_CONNECTION_TYPE_WIRED" init="5"/>
784
+ </Enumeration>
785
+ <Typedef id="_262" name="sp_connection_type" type="_261" context="_1" location="f0:294" file="f0" line="294"/>
786
+ <Function id="_263" name="sp_link_as_string" returns="_60" context="_1" location="f0:1433" file="f0" line="1433" extern="1">
787
+ <Argument name="link" type="_524" location="f0:1433" file="f0" line="1433"/>
788
+ <Argument name="buffer" type="_528" location="f0:1433" file="f0" line="1433"/>
789
+ <Argument name="buffer_size" type="_60" location="f0:1433" file="f0" line="1433"/>
790
+ </Function>
791
+ <Function id="_264" name="sp_search_playlist_name" returns="_498" context="_1" location="f0:2605" file="f0" line="2605" extern="1">
792
+ <Argument name="search" type="_548" location="f0:2605" file="f0" line="2605"/>
793
+ <Argument name="index" type="_60" location="f0:2605" file="f0" line="2605"/>
794
+ </Function>
795
+ <Typedef id="_265" name="uint_fast64_t" type="_491" context="_1" location="f2:84" file="f2" line="84"/>
796
+ <Function id="_266" name="sp_playlist_num_tracks" returns="_60" context="_1" location="f0:2942" file="f0" line="2942" extern="1">
797
+ <Argument name="playlist" type="_495" location="f0:2942" file="f0" line="2942"/>
798
+ </Function>
799
+ <Function id="_267" name="sp_link_create_from_track" returns="_524" context="_1" location="f0:1295" file="f0" line="1295" extern="1">
800
+ <Argument name="track" type="_501" location="f0:1295" file="f0" line="1295"/>
801
+ <Argument name="offset" type="_60" location="f0:1295" file="f0" line="1295"/>
802
+ </Function>
803
+ <Function id="_268" name="__builtin_bswap64" returns="_308" context="_1" location="f1:135" file="f1" line="135" extern="1">
804
+ <Argument name="_data" type="_308" location="f1:135" file="f1" line="135"/>
805
+ </Function>
806
+ <Function id="_269" name="sp_playlistcontainer_release" returns="_445" context="_1" location="f0:3580" file="f0" line="3580" extern="1">
807
+ <Argument name="pc" type="_526" location="f0:3580" file="f0" line="3580"/>
808
+ </Function>
809
+ <Function id="_270" name="sp_session_flush_caches" returns="_445" context="_1" location="f0:858" file="f0" line="858" extern="1">
810
+ <Argument name="session" type="_522" location="f0:858" file="f0" line="858"/>
811
+ </Function>
812
+ <Struct id="_271" name="sp_audioformat" context="_1" mangled="14sp_audioformat" demangled="sp_audioformat" location="f0:189" file="f0" line="189" artificial="1" size="96" align="32" members="_585 _586 _587 _588 _589 _590 _591 " bases=""/>
813
+ <Typedef id="_272" name="sp_audioformat" type="_271" context="_1" location="f0:193" file="f0" line="193"/>
814
+ <Function id="_273" name="sp_playlist_is_collaborative" returns="_496" context="_1" location="f0:3048" file="f0" line="3048" extern="1">
815
+ <Argument name="playlist" type="_495" location="f0:3048" file="f0" line="3048"/>
816
+ </Function>
817
+ <Function id="_274" name="sp_link_create_from_search" returns="_524" context="_1" location="f0:1378" file="f0" line="1378" extern="1">
818
+ <Argument name="search" type="_548" location="f0:1378" file="f0" line="1378"/>
819
+ </Function>
820
+ <Function id="_275" name="sp_playlist_set_autolink_tracks" returns="_445" context="_1" location="f0:3073" file="f0" line="3073" extern="1">
821
+ <Argument name="playlist" type="_495" location="f0:3073" file="f0" line="3073"/>
822
+ <Argument name="link" type="_496" location="f0:3073" file="f0" line="3073"/>
823
+ </Function>
824
+ <Function id="_276" name="sp_session_create" returns="_445" context="_1" location="f0:739" file="f0" line="739" extern="1">
825
+ <Argument name="config" type="_592" location="f0:739" file="f0" line="739"/>
826
+ <Argument name="sess" type="_593" location="f0:739" file="f0" line="739"/>
827
+ </Function>
828
+ <Function id="_277" name="sp_inbox_release" returns="_445" context="_1" location="f0:3926" file="f0" line="3926" extern="1">
829
+ <Argument name="inbox" type="_540" location="f0:3926" file="f0" line="3926"/>
830
+ </Function>
831
+ <Function id="_278" name="sp_artist_add_ref" returns="_445" context="_1" location="f0:1931" file="f0" line="1931" extern="1">
832
+ <Argument name="artist" type="_525" location="f0:1931" file="f0" line="1931"/>
833
+ </Function>
834
+ <Function id="_279" name="__builtin_tanhf" returns="_499" context="_1" mangled="tanhf" location="f1:87" file="f1" line="87" extern="1" attributes="nothrow pure no vops">
835
+ <Argument type="_499" location="f1:87" file="f1" line="87"/>
836
+ </Function>
837
+ <Function id="_280" name="__builtin_tanhl" returns="_500" context="_1" mangled="tanhl" location="f1:88" file="f1" line="88" extern="1" attributes="nothrow pure no vops">
838
+ <Argument type="_500" location="f1:88" file="f1" line="88"/>
839
+ </Function>
840
+ <Function id="_281" name="__builtin_cabsf" returns="_499" context="_1" mangled="cabsf" location="f1:90" file="f1" line="90" extern="1" attributes="nothrow pure no vops">
841
+ <Argument type="_502" location="f1:90" file="f1" line="90"/>
842
+ </Function>
843
+ <Function id="_282" name="__builtin_cabsl" returns="_500" context="_1" mangled="cabsl" location="f1:92" file="f1" line="92" extern="1" attributes="nothrow pure no vops">
844
+ <Argument type="_503" location="f1:92" file="f1" line="92"/>
845
+ </Function>
846
+ <Function id="_283" name="sp_link_create_from_image" returns="_524" context="_1" location="f0:1419" file="f0" line="1419" extern="1">
847
+ <Argument name="image" type="_530" location="f0:1419" file="f0" line="1419"/>
848
+ </Function>
849
+ <Typedef id="_284" name="int_least16_t" type="_236" context="_1" location="f2:186" file="f2" line="186"/>
850
+ <Function id="_285" name="__builtin_powf" returns="_499" context="_1" mangled="powf" location="f1:70" file="f1" line="70" extern="1" attributes="nothrow pure no vops">
851
+ <Argument type="_499" location="f1:70" file="f1" line="70"/>
852
+ <Argument type="_499" location="f1:70" file="f1" line="70"/>
853
+ </Function>
854
+ <Function id="_286" name="__builtin_powi" returns="_497" context="_1" location="f1:72" file="f1" line="72" extern="1" attributes="nothrow pure no vops">
855
+ <Argument type="_497" location="f1:72" file="f1" line="72"/>
856
+ <Argument type="_60" location="f1:72" file="f1" line="72"/>
857
+ </Function>
858
+ <Function id="_287" name="__builtin_powl" returns="_500" context="_1" mangled="powl" location="f1:71" file="f1" line="71" extern="1" attributes="nothrow pure no vops">
859
+ <Argument type="_500" location="f1:71" file="f1" line="71"/>
860
+ <Argument type="_500" location="f1:71" file="f1" line="71"/>
861
+ </Function>
862
+ <Enumeration id="_288" name="sp_linktype" context="_1" location="f0:1268" file="f0" line="1268" size="32" align="32">
863
+ <EnumValue name="SP_LINKTYPE_INVALID" init="0"/>
864
+ <EnumValue name="SP_LINKTYPE_TRACK" init="1"/>
865
+ <EnumValue name="SP_LINKTYPE_ALBUM" init="2"/>
866
+ <EnumValue name="SP_LINKTYPE_ARTIST" init="3"/>
867
+ <EnumValue name="SP_LINKTYPE_SEARCH" init="4"/>
868
+ <EnumValue name="SP_LINKTYPE_PLAYLIST" init="5"/>
869
+ <EnumValue name="SP_LINKTYPE_PROFILE" init="6"/>
870
+ <EnumValue name="SP_LINKTYPE_STARRED" init="7"/>
871
+ <EnumValue name="SP_LINKTYPE_LOCALTRACK" init="8"/>
872
+ <EnumValue name="SP_LINKTYPE_IMAGE" init="9"/>
873
+ </Enumeration>
874
+ <Function id="_289" name="sp_inbox_error" returns="_445" context="_1" location="f0:3908" file="f0" line="3908" extern="1">
875
+ <Argument name="inbox" type="_540" location="f0:3908" file="f0" line="3908"/>
876
+ </Function>
877
+ <Enumeration id="_290" name="sp_relation_type" context="_1" location="f0:3618" file="f0" line="3618" artificial="1" size="32" align="32">
878
+ <EnumValue name="SP_RELATION_TYPE_UNKNOWN" init="0"/>
879
+ <EnumValue name="SP_RELATION_TYPE_NONE" init="1"/>
880
+ <EnumValue name="SP_RELATION_TYPE_UNIDIRECTIONAL" init="2"/>
881
+ <EnumValue name="SP_RELATION_TYPE_BIDIRECTIONAL" init="3"/>
882
+ </Enumeration>
883
+ <Typedef id="_291" name="sp_relation_type" type="_290" context="_1" location="f0:3623" file="f0" line="3623"/>
884
+ <Function id="_292" name="sp_image_add_load_callback" returns="_445" context="_1" location="f0:2391" file="f0" line="2391" extern="1">
885
+ <Argument name="image" type="_530" location="f0:2391" file="f0" line="2391"/>
886
+ <Argument name="callback" type="_594" location="f0:2391" file="f0" line="2391"/>
887
+ <Argument name="userdata" type="_543" location="f0:2391" file="f0" line="2391"/>
888
+ </Function>
889
+ <Function id="_293" name="sp_albumbrowse_artist" returns="_525" context="_1" location="f0:2021" file="f0" line="2021" extern="1">
890
+ <Argument name="alb" type="_546" location="f0:2021" file="f0" line="2021"/>
891
+ </Function>
892
+ <Typedef id="_294" name="uintptr_t" type="_491" context="_1" location="f2:230" file="f2" line="230"/>
893
+ <Function id="_295" name="sp_search_error" returns="_445" context="_1" location="f0:2538" file="f0" line="2538" extern="1">
894
+ <Argument name="search" type="_548" location="f0:2538" file="f0" line="2538"/>
895
+ </Function>
896
+ <Function id="_296" name="sp_session_playlistcontainer" returns="_526" context="_1" location="f0:975" file="f0" line="975" extern="1">
897
+ <Argument name="session" type="_522" location="f0:975" file="f0" line="975"/>
898
+ </Function>
899
+ <Function id="_297" name="sp_offline_tracks_to_sync" returns="_60" context="_1" location="f0:1198" file="f0" line="1198" extern="1">
900
+ <Argument name="session" type="_522" location="f0:1198" file="f0" line="1198"/>
901
+ </Function>
902
+ <Function id="_298" name="sp_playlistcontainer_add_new_playlist" returns="_495" context="_1" location="f0:3491" file="f0" line="3491" extern="1">
903
+ <Argument name="pc" type="_526" location="f0:3491" file="f0" line="3491"/>
904
+ <Argument name="name" type="_498" location="f0:3491" file="f0" line="3491"/>
905
+ </Function>
906
+ <Enumeration id="_299" name="sp_availability" context="_1" location="f0:237" file="f0" line="237" artificial="1" size="32" align="32">
907
+ <EnumValue name="SP_TRACK_AVAILABILITY_UNAVAILABLE" init="0"/>
908
+ <EnumValue name="SP_TRACK_AVAILABILITY_AVAILABLE" init="1"/>
909
+ <EnumValue name="SP_TRACK_AVAILABILITY_NOT_STREAMABLE" init="2"/>
910
+ <EnumValue name="SP_TRACK_AVAILABILITY_BANNED_BY_ARTIST" init="3"/>
911
+ </Enumeration>
912
+ <Typedef id="_300" name="sp_track_availability" type="_299" context="_1" location="f0:242" file="f0" line="242"/>
913
+ <Function id="_301" name="sp_session_player_unload" returns="_445" context="_1" location="f0:948" file="f0" line="948" extern="1">
914
+ <Argument name="session" type="_522" location="f0:948" file="f0" line="948"/>
915
+ </Function>
916
+ <Function id="_302" name="__builtin_ccos" returns="_529" context="_1" mangled="ccos" location="f1:103" file="f1" line="103" extern="1" attributes="nothrow pure no vops">
917
+ <Argument type="_529" location="f1:103" file="f1" line="103"/>
918
+ </Function>
919
+ <Function id="_303" name="sp_session_player_load" returns="_445" context="_1" location="f0:916" file="f0" line="916" extern="1">
920
+ <Argument name="session" type="_522" location="f0:916" file="f0" line="916"/>
921
+ <Argument name="track" type="_501" location="f0:916" file="f0" line="916"/>
922
+ </Function>
923
+ <Function id="_304" name="sp_session_preferred_offline_bitrate" returns="_445" context="_1" location="f0:1048" file="f0" line="1048" extern="1">
924
+ <Argument name="session" type="_522" location="f0:1048" file="f0" line="1048"/>
925
+ <Argument name="bitrate" type="_457" location="f0:1048" file="f0" line="1048"/>
926
+ <Argument name="allow_resync" type="_496" location="f0:1048" file="f0" line="1048"/>
927
+ </Function>
928
+ <Function id="_305" name="sp_artistbrowse_num_tracks" returns="_60" context="_1" location="f0:2208" file="f0" line="2208" extern="1">
929
+ <Argument name="arb" type="_539" location="f0:2208" file="f0" line="2208"/>
930
+ </Function>
931
+ <Function id="_306" name="sp_session_set_volume_normalization" returns="_445" context="_1" location="f0:1070" file="f0" line="1070" extern="1">
932
+ <Argument name="session" type="_522" location="f0:1070" file="f0" line="1070"/>
933
+ <Argument name="on" type="_496" location="f0:1070" file="f0" line="1070"/>
934
+ </Function>
935
+ <Typedef id="_307" name="intptr_t" type="_341" context="_1" location="f2:223" file="f2" line="223"/>
936
+ <FundamentalType id="_308" name="long unsigned int" size="32" align="32"/>
937
+ <Typedef id="_309" name="size_t" type="_308" context="_1" location="f3:35" file="f3" line="35"/>
938
+ <Function id="_310" name="sp_track_set_starred" returns="_445" context="_1" location="f0:1653" file="f0" line="1653" extern="1">
939
+ <Argument name="session" type="_522" location="f0:1653" file="f0" line="1653"/>
940
+ <Argument name="tracks" type="_541" location="f0:1653" file="f0" line="1653"/>
941
+ <Argument name="num_tracks" type="_60" location="f0:1653" file="f0" line="1653"/>
942
+ <Argument name="star" type="_496" location="f0:1653" file="f0" line="1653"/>
943
+ </Function>
944
+ <Function id="_311" name="sp_link_release" returns="_445" context="_1" location="f0:1514" file="f0" line="1514" extern="1">
945
+ <Argument name="link" type="_524" location="f0:1514" file="f0" line="1514"/>
946
+ </Function>
947
+ <Function id="_312" name="sp_search_num_playlists" returns="_60" context="_1" location="f0:2585" file="f0" line="2585" extern="1">
948
+ <Argument name="search" type="_548" location="f0:2585" file="f0" line="2585"/>
949
+ </Function>
950
+ <Function id="_313" name="sp_playlistcontainer_add_callbacks" returns="_445" context="_1" location="f0:3390" file="f0" line="3390" extern="1">
951
+ <Argument name="pc" type="_526" location="f0:3390" file="f0" line="3390"/>
952
+ <Argument name="callbacks" type="_595" location="f0:3390" file="f0" line="3390"/>
953
+ <Argument name="userdata" type="_543" location="f0:3390" file="f0" line="3390"/>
954
+ </Function>
955
+ <Function id="_314" name="sp_playlist_track_message" returns="_498" context="_1" location="f0:3005" file="f0" line="3005" extern="1">
956
+ <Argument name="playlist" type="_495" location="f0:3005" file="f0" line="3005"/>
957
+ <Argument name="index" type="_60" location="f0:3005" file="f0" line="3005"/>
958
+ </Function>
959
+ <Function id="_315" name="sp_artistbrowse_track" returns="_501" context="_1" location="f0:2220" file="f0" line="2220" extern="1">
960
+ <Argument name="arb" type="_539" location="f0:2220" file="f0" line="2220"/>
961
+ <Argument name="index" type="_60" location="f0:2220" file="f0" line="2220"/>
962
+ </Function>
963
+ <Function id="_316" name="sp_session_set_scrobbling" returns="_445" context="_1" location="f0:1108" file="f0" line="1108" extern="1">
964
+ <Argument name="session" type="_522" location="f0:1108" file="f0" line="1108"/>
965
+ <Argument name="provider" type="_383" location="f0:1108" file="f0" line="1108"/>
966
+ <Argument name="state" type="_247" location="f0:1108" file="f0" line="1108"/>
967
+ </Function>
968
+ <Function id="_317" name="sp_link_create_from_album_cover" returns="_524" context="_1" location="f0:1320" file="f0" line="1320" extern="1">
969
+ <Argument name="album" type="_531" location="f0:1320" file="f0" line="1320"/>
970
+ <Argument name="size" type="_484" location="f0:1320" file="f0" line="1320"/>
971
+ </Function>
972
+ <Function id="_318" name="__builtin_expect" returns="_361" context="_1" location="f1:16" file="f1" line="16" extern="1" attributes="nothrow const">
973
+ <Argument name="EXP" type="_361" location="f1:16" file="f1" line="16"/>
974
+ <Argument name="C" type="_361" location="f1:16" file="f1" line="16"/>
975
+ </Function>
976
+ <Function id="_319" name="sp_search_num_albums" returns="_60" context="_1" location="f0:2566" file="f0" line="2566" extern="1">
977
+ <Argument name="search" type="_548" location="f0:2566" file="f0" line="2566"/>
978
+ </Function>
979
+ <Function id="_320" name="sp_image_image_id" returns="_547" context="_1" location="f0:2455" file="f0" line="2455" extern="1">
980
+ <Argument name="image" type="_530" location="f0:2455" file="f0" line="2455"/>
981
+ </Function>
982
+ <Function id="_321" name="sp_image_create_from_link" returns="_530" context="_1" location="f0:2377" file="f0" line="2377" extern="1">
983
+ <Argument name="session" type="_522" location="f0:2377" file="f0" line="2377"/>
984
+ <Argument name="l" type="_524" location="f0:2377" file="f0" line="2377"/>
985
+ </Function>
986
+ <Function id="_322" name="sp_albumbrowse_review" returns="_498" context="_1" location="f0:2074" file="f0" line="2074" extern="1">
987
+ <Argument name="alb" type="_546" location="f0:2074" file="f0" line="2074"/>
988
+ </Function>
989
+ <Enumeration id="_323" name="sp_imageformat" context="_1" location="f0:2344" file="f0" line="2344" size="32" align="32">
990
+ <EnumValue name="SP_IMAGE_FORMAT_UNKNOWN" init="-1"/>
991
+ <EnumValue name="SP_IMAGE_FORMAT_JPEG" init="0"/>
992
+ </Enumeration>
993
+ <Function id="_324" name="__builtin_popcountl" returns="_60" context="_1" location="f1:100" file="f1" line="100" extern="1" attributes="nothrow const">
994
+ <Argument type="_361" location="f1:100" file="f1" line="100"/>
995
+ </Function>
996
+ <Struct id="_325" name="sp_session_callbacks" context="_1" mangled="20sp_session_callbacks" demangled="sp_session_callbacks" location="f0:393" file="f0" line="393" artificial="1" size="672" align="32" members="_596 _597 _598 _599 _600 _601 _602 _603 _604 _605 _606 _607 _608 _609 _610 _611 _612 _613 _614 _615 _616 _617 _618 _619 _620 " bases=""/>
997
+ <Typedef id="_326" name="sp_session_callbacks" type="_325" context="_1" location="f0:638" file="f0" line="638"/>
998
+ <Function id="_327" name="sp_session_set_connection_type" returns="_445" context="_1" location="f0:1170" file="f0" line="1170" extern="1">
999
+ <Argument name="session" type="_522" location="f0:1170" file="f0" line="1170"/>
1000
+ <Argument name="type" type="_262" location="f0:1170" file="f0" line="1170"/>
1001
+ </Function>
1002
+ <Typedef id="_328" name="uintmax_t" type="_308" context="_1" location="f2:237" file="f2" line="237"/>
1003
+ <Function id="_329" name="sp_albumbrowse_error" returns="_445" context="_1" location="f0:2003" file="f0" line="2003" extern="1">
1004
+ <Argument name="alb" type="_546" location="f0:2003" file="f0" line="2003"/>
1005
+ </Function>
1006
+ <Function id="_330" name="sp_link_type" returns="_288" context="_1" location="f0:1442" file="f0" line="1442" extern="1">
1007
+ <Argument name="link" type="_524" location="f0:1442" file="f0" line="1442"/>
1008
+ </Function>
1009
+ <Function id="_331" name="sp_search_artist" returns="_525" context="_1" location="f0:2644" file="f0" line="2644" extern="1">
1010
+ <Argument name="search" type="_548" location="f0:2644" file="f0" line="2644"/>
1011
+ <Argument name="index" type="_60" location="f0:2644" file="f0" line="2644"/>
1012
+ </Function>
1013
+ <Function id="_332" name="sp_artistbrowse_release" returns="_445" context="_1" location="f0:2327" file="f0" line="2327" extern="1">
1014
+ <Argument name="arb" type="_539" location="f0:2327" file="f0" line="2327"/>
1015
+ </Function>
1016
+ <Struct id="_333" name="sp_album" context="_1" incomplete="1" mangled="8sp_album" demangled="sp_album" location="f0:69" file="f0" line="69" artificial="1" align="8"/>
1017
+ <Typedef id="_334" name="sp_album" type="_333" context="_1" location="f0:69" file="f0" line="69"/>
1018
+ <Function id="_335" name="sp_playlist_reorder_tracks" returns="_445" context="_1" location="f0:3156" file="f0" line="3156" extern="1">
1019
+ <Argument name="playlist" type="_495" location="f0:3156" file="f0" line="3156"/>
1020
+ <Argument name="tracks" type="_621" location="f0:3156" file="f0" line="3156"/>
1021
+ <Argument name="num_tracks" type="_60" location="f0:3156" file="f0" line="3156"/>
1022
+ <Argument name="new_position" type="_60" location="f0:3156" file="f0" line="3156"/>
1023
+ </Function>
1024
+ <Function id="_336" name="sp_artist_name" returns="_498" context="_1" location="f0:1899" file="f0" line="1899" extern="1">
1025
+ <Argument name="artist" type="_525" location="f0:1899" file="f0" line="1899"/>
1026
+ </Function>
1027
+ <Function id="_337" name="sp_image_format" returns="_323" context="_1" location="f0:2435" file="f0" line="2435" extern="1">
1028
+ <Argument name="image" type="_530" location="f0:2435" file="f0" line="2435"/>
1029
+ </Function>
1030
+ <Struct id="_338" name="sp_playlistcontainer_callbacks" context="_1" mangled="30sp_playlistcontainer_callbacks" demangled="sp_playlistcontainer_callbacks" location="f0:3329" file="f0" line="3329" artificial="1" size="128" align="32" members="_622 _623 _624 _625 _626 _627 _628 _629 " bases=""/>
1031
+ <Typedef id="_339" name="sp_playlistcontainer_callbacks" type="_338" context="_1" location="f0:3370" file="f0" line="3370"/>
1032
+ <Function id="_340" name="sp_playlistcontainer_add_playlist" returns="_495" context="_1" location="f0:3501" file="f0" line="3501" extern="1">
1033
+ <Argument name="pc" type="_526" location="f0:3501" file="f0" line="3501"/>
1034
+ <Argument name="link" type="_524" location="f0:3501" file="f0" line="3501"/>
1035
+ </Function>
1036
+ <Typedef id="_341" name="int64_t" type="_49" context="_1" location="f2:67" file="f2" line="67"/>
1037
+ <Function id="_342" name="sp_albumbrowse_release" returns="_445" context="_1" location="f0:2103" file="f0" line="2103" extern="1">
1038
+ <Argument name="alb" type="_546" location="f0:2103" file="f0" line="2103"/>
1039
+ </Function>
1040
+ <Enumeration id="_343" name="sp_artistbrowse_type" context="_1" location="f0:313" file="f0" line="313" artificial="1" size="32" align="32">
1041
+ <EnumValue name="SP_ARTISTBROWSE_FULL" init="0"/>
1042
+ <EnumValue name="SP_ARTISTBROWSE_NO_TRACKS" init="1"/>
1043
+ <EnumValue name="SP_ARTISTBROWSE_NO_ALBUMS" init="2"/>
1044
+ </Enumeration>
1045
+ <Typedef id="_344" name="sp_artistbrowse_type" type="_343" context="_1" location="f0:325" file="f0" line="325"/>
1046
+ <Function id="_345" name="sp_album_type" returns="_11" context="_1" location="f0:1860" file="f0" line="1860" extern="1">
1047
+ <Argument name="album" type="_531" location="f0:1860" file="f0" line="1860"/>
1048
+ </Function>
1049
+ <Typedef id="_346" name="int32_t" type="_60" context="_1" location="f2:138" file="f2" line="138"/>
1050
+ <Enumeration id="_347" name="sp_track_offline_status" context="_1" location="f0:247" file="f0" line="247" artificial="1" size="32" align="32">
1051
+ <EnumValue name="SP_TRACK_OFFLINE_NO" init="0"/>
1052
+ <EnumValue name="SP_TRACK_OFFLINE_WAITING" init="1"/>
1053
+ <EnumValue name="SP_TRACK_OFFLINE_DOWNLOADING" init="2"/>
1054
+ <EnumValue name="SP_TRACK_OFFLINE_DONE" init="3"/>
1055
+ <EnumValue name="SP_TRACK_OFFLINE_ERROR" init="4"/>
1056
+ <EnumValue name="SP_TRACK_OFFLINE_DONE_EXPIRED" init="5"/>
1057
+ <EnumValue name="SP_TRACK_OFFLINE_LIMIT_EXCEEDED" init="6"/>
1058
+ <EnumValue name="SP_TRACK_OFFLINE_DONE_RESYNC" init="7"/>
1059
+ </Enumeration>
1060
+ <Typedef id="_348" name="sp_track_offline_status" type="_347" context="_1" location="f0:256" file="f0" line="256"/>
1061
+ <Function id="_349" name="sp_album_year" returns="_60" context="_1" location="f0:1850" file="f0" line="1850" extern="1">
1062
+ <Argument name="album" type="_531" location="f0:1850" file="f0" line="1850"/>
1063
+ </Function>
1064
+ <Function id="_350" name="sp_playlist_add_callbacks" returns="_445" context="_1" location="f0:2914" file="f0" line="2914" extern="1">
1065
+ <Argument name="playlist" type="_495" location="f0:2914" file="f0" line="2914"/>
1066
+ <Argument name="callbacks" type="_573" location="f0:2914" file="f0" line="2914"/>
1067
+ <Argument name="userdata" type="_543" location="f0:2914" file="f0" line="2914"/>
1068
+ </Function>
1069
+ <Function id="_351" name="sp_track_popularity" returns="_60" context="_1" location="f0:1716" file="f0" line="1716" extern="1">
1070
+ <Argument name="track" type="_501" location="f0:1716" file="f0" line="1716"/>
1071
+ </Function>
1072
+ <Function id="_352" name="sp_track_get_playable" returns="_501" context="_1" location="f0:1609" file="f0" line="1609" extern="1">
1073
+ <Argument name="session" type="_522" location="f0:1609" file="f0" line="1609"/>
1074
+ <Argument name="track" type="_501" location="f0:1609" file="f0" line="1609"/>
1075
+ </Function>
1076
+ <Function id="_353" name="sp_albumbrowse_copyright" returns="_498" context="_1" location="f0:2042" file="f0" line="2042" extern="1">
1077
+ <Argument name="alb" type="_546" location="f0:2042" file="f0" line="2042"/>
1078
+ <Argument name="index" type="_60" location="f0:2042" file="f0" line="2042"/>
1079
+ </Function>
1080
+ <Function id="_354" name="__builtin_inff" returns="_499" context="_1" location="f1:19" file="f1" line="19" extern="1" attributes="nothrow const"/>
1081
+ <Function id="_355" name="__builtin_infl" returns="_500" context="_1" location="f1:20" file="f1" line="20" extern="1" attributes="nothrow const"/>
1082
+ <Function id="_356" name="sp_album_is_available" returns="_496" context="_1" location="f0:1808" file="f0" line="1808" extern="1">
1083
+ <Argument name="album" type="_531" location="f0:1808" file="f0" line="1808"/>
1084
+ </Function>
1085
+ <Function id="_357" name="sp_session_preferred_bitrate" returns="_445" context="_1" location="f0:1035" file="f0" line="1035" extern="1">
1086
+ <Argument name="session" type="_522" location="f0:1035" file="f0" line="1035"/>
1087
+ <Argument name="bitrate" type="_457" location="f0:1035" file="f0" line="1035"/>
1088
+ </Function>
1089
+ <Function id="_358" name="sp_link_create_from_user" returns="_524" context="_1" location="f0:1407" file="f0" line="1407" extern="1">
1090
+ <Argument name="user" type="_523" location="f0:1407" file="f0" line="1407"/>
1091
+ </Function>
1092
+ <Function id="_359" name="sp_session_set_cache_size" returns="_445" context="_1" location="f0:888" file="f0" line="888" extern="1">
1093
+ <Argument name="session" type="_522" location="f0:888" file="f0" line="888"/>
1094
+ <Argument name="size" type="_309" location="f0:888" file="f0" line="888"/>
1095
+ </Function>
1096
+ <Function id="_360" name="sp_album_cover" returns="_547" context="_1" location="f0:1830" file="f0" line="1830" extern="1">
1097
+ <Argument name="album" type="_531" location="f0:1830" file="f0" line="1830"/>
1098
+ <Argument name="size" type="_484" location="f0:1830" file="f0" line="1830"/>
1099
+ </Function>
1100
+ <FundamentalType id="_361" name="long int" size="32" align="32"/>
1101
+ <Typedef id="_362" name="intmax_t" type="_361" context="_1" location="f2:236" file="f2" line="236"/>
1102
+ <Function id="_363" name="sp_album_name" returns="_498" context="_1" location="f0:1841" file="f0" line="1841" extern="1">
1103
+ <Argument name="album" type="_531" location="f0:1841" file="f0" line="1841"/>
1104
+ </Function>
1105
+ <Function id="_364" name="sp_search_num_tracks" returns="_60" context="_1" location="f0:2547" file="f0" line="2547" extern="1">
1106
+ <Argument name="search" type="_548" location="f0:2547" file="f0" line="2547"/>
1107
+ </Function>
1108
+ <Function id="_365" name="sp_track_name" returns="_498" context="_1" location="f0:1696" file="f0" line="1696" extern="1">
1109
+ <Argument name="track" type="_501" location="f0:1696" file="f0" line="1696"/>
1110
+ </Function>
1111
+ <Function id="_366" name="__builtin_cos" returns="_497" context="_1" mangled="cos" location="f1:39" file="f1" line="39" extern="1" attributes="nothrow pure no vops">
1112
+ <Argument type="_497" location="f1:39" file="f1" line="39"/>
1113
+ </Function>
1114
+ <FundamentalType id="_367" name="unsigned char" size="8" align="8"/>
1115
+ <Typedef id="_368" name="uint_fast8_t" type="_378" context="_1" location="f2:206" file="f2" line="206"/>
1116
+ <Function id="_369" name="sp_track_is_loaded" returns="_496" context="_1" location="f0:1534" file="f0" line="1534" extern="1">
1117
+ <Argument name="track" type="_501" location="f0:1534" file="f0" line="1534"/>
1118
+ </Function>
1119
+ <Function id="_370" name="sp_artistbrowse_error" returns="_445" context="_1" location="f0:2169" file="f0" line="2169" extern="1">
1120
+ <Argument name="arb" type="_539" location="f0:2169" file="f0" line="2169"/>
1121
+ </Function>
1122
+ <Function id="_371" name="sp_user_canonical_name" returns="_498" context="_1" location="f0:3634" file="f0" line="3634" extern="1">
1123
+ <Argument name="user" type="_523" location="f0:3634" file="f0" line="3634"/>
1124
+ </Function>
1125
+ <Function id="_372" name="sp_albumbrowse_num_copyrights" returns="_60" context="_1" location="f0:2030" file="f0" line="2030" extern="1">
1126
+ <Argument name="alb" type="_546" location="f0:2030" file="f0" line="2030"/>
1127
+ </Function>
1128
+ <Typedef id="_373" name="uint_least16_t" type="_220" context="_1" location="f2:187" file="f2" line="187"/>
1129
+ <Function id="_374" name="sp_toplistbrowse_create" returns="_521" context="_1" location="f0:3742" file="f0" line="3742" extern="1">
1130
+ <Argument name="session" type="_522" location="f0:3742" file="f0" line="3742"/>
1131
+ <Argument name="type" type="_238" location="f0:3742" file="f0" line="3742"/>
1132
+ <Argument name="region" type="_408" location="f0:3742" file="f0" line="3742"/>
1133
+ <Argument name="username" type="_498" location="f0:3742" file="f0" line="3742"/>
1134
+ <Argument name="callback" type="_630" location="f0:3742" file="f0" line="3742"/>
1135
+ <Argument name="userdata" type="_543" location="f0:3742" file="f0" line="3742"/>
1136
+ </Function>
1137
+ <Function id="_375" name="sp_albumbrowse_backend_request_duration" returns="_60" context="_1" location="f0:2084" file="f0" line="2084" extern="1">
1138
+ <Argument name="alb" type="_546" location="f0:2084" file="f0" line="2084"/>
1139
+ </Function>
1140
+ <Function id="_376" name="__builtin_ctz" returns="_60" context="_1" location="f1:96" file="f1" line="96" extern="1" attributes="nothrow const">
1141
+ <Argument type="_60" location="f1:96" file="f1" line="96"/>
1142
+ </Function>
1143
+ <Function id="_377" name="__builtin_return_address" returns="_543" context="_1" location="f1:14" file="f1" line="14" extern="1">
1144
+ <Argument name="LEVEL" type="_197" location="f1:14" file="f1" line="14"/>
1145
+ </Function>
1146
+ <Typedef id="_378" name="uint8_t" type="_367" context="_1" location="f2:197" file="f2" line="197"/>
1147
+ <Function id="_379" name="sp_playlist_update_subscribers" returns="_445" context="_1" location="f0:3208" file="f0" line="3208" extern="1">
1148
+ <Argument name="session" type="_522" location="f0:3208" file="f0" line="3208"/>
1149
+ <Argument name="playlist" type="_495" location="f0:3208" file="f0" line="3208"/>
1150
+ </Function>
1151
+ <Function id="_380" name="sp_offline_time_left" returns="_60" context="_1" location="f0:1230" file="f0" line="1230" extern="1">
1152
+ <Argument name="session" type="_522" location="f0:1230" file="f0" line="1230"/>
1153
+ </Function>
1154
+ <Function id="_381" name="sp_track_artist" returns="_525" context="_1" location="f0:1673" file="f0" line="1673" extern="1">
1155
+ <Argument name="track" type="_501" location="f0:1673" file="f0" line="1673"/>
1156
+ <Argument name="index" type="_60" location="f0:1673" file="f0" line="1673"/>
1157
+ </Function>
1158
+ <Enumeration id="_382" name="sp_social_provider" context="_1" location="f0:327" file="f0" line="327" artificial="1" size="32" align="32">
1159
+ <EnumValue name="SP_SOCIAL_PROVIDER_SPOTIFY" init="0"/>
1160
+ <EnumValue name="SP_SOCIAL_PROVIDER_FACEBOOK" init="1"/>
1161
+ <EnumValue name="SP_SOCIAL_PROVIDER_LASTFM" init="2"/>
1162
+ </Enumeration>
1163
+ <Typedef id="_383" name="sp_social_provider" type="_382" context="_1" location="f0:331" file="f0" line="331"/>
1164
+ <Enumeration id="_384" name="sp_playlist_type" context="_1" location="f0:207" file="f0" line="207" artificial="1" size="32" align="32">
1165
+ <EnumValue name="SP_PLAYLIST_TYPE_PLAYLIST" init="0"/>
1166
+ <EnumValue name="SP_PLAYLIST_TYPE_START_FOLDER" init="1"/>
1167
+ <EnumValue name="SP_PLAYLIST_TYPE_END_FOLDER" init="2"/>
1168
+ <EnumValue name="SP_PLAYLIST_TYPE_PLACEHOLDER" init="3"/>
1169
+ </Enumeration>
1170
+ <Typedef id="_385" name="sp_playlist_type" type="_384" context="_1" location="f0:212" file="f0" line="212"/>
1171
+ <Function id="_386" name="sp_link_create_from_artistbrowse_portrait" returns="_524" context="_1" location="f0:1365" file="f0" line="1365" extern="1">
1172
+ <Argument name="arb" type="_539" location="f0:1365" file="f0" line="1365"/>
1173
+ <Argument name="index" type="_60" location="f0:1365" file="f0" line="1365"/>
1174
+ </Function>
1175
+ <Function id="_387" name="sp_artistbrowse_num_albums" returns="_60" context="_1" location="f0:2253" file="f0" line="2253" extern="1">
1176
+ <Argument name="arb" type="_539" location="f0:2253" file="f0" line="2253"/>
1177
+ </Function>
1178
+ <Struct id="_388" name="sp_inbox" context="_1" incomplete="1" mangled="8sp_inbox" demangled="sp_inbox" location="f0:80" file="f0" line="80" artificial="1" align="8"/>
1179
+ <Typedef id="_389" name="sp_inbox" type="_388" context="_1" location="f0:80" file="f0" line="80"/>
1180
+ <Function id="_390" name="sp_artistbrowse_artist" returns="_525" context="_1" location="f0:2178" file="f0" line="2178" extern="1">
1181
+ <Argument name="arb" type="_539" location="f0:2178" file="f0" line="2178"/>
1182
+ </Function>
1183
+ <Function id="_391" name="sp_link_as_track_and_offset" returns="_501" context="_1" location="f0:1464" file="f0" line="1464" extern="1">
1184
+ <Argument name="link" type="_524" location="f0:1464" file="f0" line="1464"/>
1185
+ <Argument name="offset" type="_550" location="f0:1464" file="f0" line="1464"/>
1186
+ </Function>
1187
+ <Function id="_392" name="sp_playlist_track_seen" returns="_496" context="_1" location="f0:2982" file="f0" line="2982" extern="1">
1188
+ <Argument name="playlist" type="_495" location="f0:2982" file="f0" line="2982"/>
1189
+ <Argument name="index" type="_60" location="f0:2982" file="f0" line="2982"/>
1190
+ </Function>
1191
+ <Function id="_393" name="sp_search_track" returns="_501" context="_1" location="f0:2557" file="f0" line="2557" extern="1">
1192
+ <Argument name="search" type="_548" location="f0:2557" file="f0" line="2557"/>
1193
+ <Argument name="index" type="_60" location="f0:2557" file="f0" line="2557"/>
1194
+ </Function>
1195
+ <Function id="_394" name="sp_session_starred_for_user_create" returns="_495" context="_1" location="f0:1009" file="f0" line="1009" extern="1">
1196
+ <Argument name="session" type="_522" location="f0:1009" file="f0" line="1009"/>
1197
+ <Argument name="canonical_username" type="_498" location="f0:1009" file="f0" line="1009"/>
1198
+ </Function>
1199
+ <Enumeration id="_395" name="sp_sampletype" context="_1" location="f0:182" file="f0" line="182" artificial="1" size="32" align="32">
1200
+ <EnumValue name="SP_SAMPLETYPE_INT16_NATIVE_ENDIAN" init="0"/>
1201
+ </Enumeration>
1202
+ <Typedef id="_396" name="sp_sampletype" type="_395" context="_1" location="f0:184" file="f0" line="184"/>
1203
+ <Function id="_397" name="__builtin_csinhf" returns="_502" context="_1" mangled="csinhf" location="f1:117" file="f1" line="117" extern="1" attributes="nothrow pure no vops">
1204
+ <Argument type="_502" location="f1:117" file="f1" line="117"/>
1205
+ </Function>
1206
+ <Function id="_398" name="__builtin_csinhl" returns="_503" context="_1" mangled="csinhl" location="f1:119" file="f1" line="119" extern="1" attributes="nothrow pure no vops">
1207
+ <Argument type="_503" location="f1:119" file="f1" line="119"/>
1208
+ </Function>
1209
+ <Function id="_399" name="sp_playlist_subscribers_free" returns="_445" context="_1" location="f0:3191" file="f0" line="3191" extern="1">
1210
+ <Argument name="subscribers" type="_631" location="f0:3191" file="f0" line="3191"/>
1211
+ </Function>
1212
+ <Function id="_400" name="__builtin_csqrtf" returns="_502" context="_1" mangled="csqrtf" location="f1:120" file="f1" line="120" extern="1" attributes="nothrow pure no vops">
1213
+ <Argument type="_502" location="f1:120" file="f1" line="120"/>
1214
+ </Function>
1215
+ <Function id="_401" name="__builtin_csqrtl" returns="_503" context="_1" mangled="csqrtl" location="f1:122" file="f1" line="122" extern="1" attributes="nothrow pure no vops">
1216
+ <Argument type="_503" location="f1:122" file="f1" line="122"/>
1217
+ </Function>
1218
+ <Struct id="_402" name="sp_playlist" context="_1" incomplete="1" mangled="11sp_playlist" demangled="sp_playlist" location="f0:78" file="f0" line="78" artificial="1" align="8"/>
1219
+ <Typedef id="_403" name="sp_playlist" type="_402" context="_1" location="f0:78" file="f0" line="78"/>
1220
+ <Function id="_404" name="sp_playlistcontainer_is_loaded" returns="_496" context="_1" location="f0:3427" file="f0" line="3427" extern="1">
1221
+ <Argument name="pc" type="_526" location="f0:3427" file="f0" line="3427"/>
1222
+ </Function>
1223
+ <Typedef id="_405" name="int_least64_t" type="_341" context="_1" location="f2:81" file="f2" line="81"/>
1224
+ <Function id="_406" name="sp_playlistcontainer_owner" returns="_523" context="_1" location="f0:3561" file="f0" line="3561" extern="1">
1225
+ <Argument name="pc" type="_526" location="f0:3561" file="f0" line="3561"/>
1226
+ </Function>
1227
+ <Typedef id="_407" name="int8_t" type="_93" context="_1" location="f2:195" file="f2" line="195"/>
1228
+ <Enumeration id="_408" name="sp_toplistregion" context="_1" location="f0:3710" file="f0" line="3710" size="32" align="32">
1229
+ <EnumValue name="SP_TOPLIST_REGION_EVERYWHERE" init="0"/>
1230
+ <EnumValue name="SP_TOPLIST_REGION_USER" init="1"/>
1231
+ </Enumeration>
1232
+ <Function id="_409" name="sp_playlist_track_create_time" returns="_60" context="_1" location="f0:2962" file="f0" line="2962" extern="1">
1233
+ <Argument name="playlist" type="_495" location="f0:2962" file="f0" line="2962"/>
1234
+ <Argument name="index" type="_60" location="f0:2962" file="f0" line="2962"/>
1235
+ </Function>
1236
+ <Function id="_410" name="sp_session_connectionstate" returns="_245" context="_1" location="f0:867" file="f0" line="867" extern="1">
1237
+ <Argument name="session" type="_522" location="f0:867" file="f0" line="867"/>
1238
+ </Function>
1239
+ <FunctionType id="_411" returns="_545">
1240
+ <Argument type="_548"/>
1241
+ <Argument type="_543"/>
1242
+ </FunctionType>
1243
+ <Typedef id="_412" name="search_complete_cb" type="_411" context="_1" location="f0:2495" file="f0" line="2495"/>
1244
+ <Function id="_413" name="__builtin_floor" returns="_497" context="_1" mangled="floor" location="f1:51" file="f1" line="51" extern="1" attributes="nothrow const">
1245
+ <Argument type="_497" location="f1:51" file="f1" line="51"/>
1246
+ </Function>
1247
+ <Function id="_414" name="sp_user_add_ref" returns="_445" context="_1" location="f0:3666" file="f0" line="3666" extern="1">
1248
+ <Argument name="user" type="_523" location="f0:3666" file="f0" line="3666"/>
1249
+ </Function>
1250
+ <Function id="_415" name="sp_playlist_track_creator" returns="_523" context="_1" location="f0:2972" file="f0" line="2972" extern="1">
1251
+ <Argument name="playlist" type="_495" location="f0:2972" file="f0" line="2972"/>
1252
+ <Argument name="index" type="_60" location="f0:2972" file="f0" line="2972"/>
1253
+ </Function>
1254
+ <Function id="_416" name="__builtin_ldexp" returns="_497" context="_1" mangled="ldexp" location="f1:59" file="f1" line="59" extern="1" attributes="nothrow pure no vops">
1255
+ <Argument type="_497" location="f1:59" file="f1" line="59"/>
1256
+ <Argument type="_60" location="f1:59" file="f1" line="59"/>
1257
+ </Function>
1258
+ <Function id="_417" name="sp_search_total_albums" returns="_60" context="_1" location="f0:2684" file="f0" line="2684" extern="1">
1259
+ <Argument name="search" type="_548" location="f0:2684" file="f0" line="2684"/>
1260
+ </Function>
1261
+ <Typedef id="_418" name="byte" type="_367" context="_1" location="f0:59" file="f0" line="59"/>
1262
+ <Function id="_419" name="sp_session_set_connection_rules" returns="_445" context="_1" location="f0:1186" file="f0" line="1186" extern="1">
1263
+ <Argument name="session" type="_522" location="f0:1186" file="f0" line="1186"/>
1264
+ <Argument name="rules" type="_210" location="f0:1186" file="f0" line="1186"/>
1265
+ </Function>
1266
+ <Function id="_420" name="sp_offline_sync_get_status" returns="_496" context="_1" location="f0:1220" file="f0" line="1220" extern="1">
1267
+ <Argument name="session" type="_522" location="f0:1220" file="f0" line="1220"/>
1268
+ <Argument name="status" type="_632" location="f0:1220" file="f0" line="1220"/>
1269
+ </Function>
1270
+ <Enumeration id="_421" name="sp_playlist_offline_status" context="_1" location="f0:227" file="f0" line="227" artificial="1" size="32" align="32">
1271
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_NO" init="0"/>
1272
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_YES" init="1"/>
1273
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING" init="2"/>
1274
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_WAITING" init="3"/>
1275
+ </Enumeration>
1276
+ <Typedef id="_422" name="sp_playlist_offline_status" type="_421" context="_1" location="f0:232" file="f0" line="232"/>
1277
+ <Function id="_423" name="sp_track_album" returns="_531" context="_1" location="f0:1684" file="f0" line="1684" extern="1">
1278
+ <Argument name="track" type="_501" location="f0:1684" file="f0" line="1684"/>
1279
+ </Function>
1280
+ <Function id="_424" name="sp_playlist_set_offline_mode" returns="_445" context="_1" location="f0:3274" file="f0" line="3274" extern="1">
1281
+ <Argument name="session" type="_522" location="f0:3274" file="f0" line="3274"/>
1282
+ <Argument name="playlist" type="_495" location="f0:3274" file="f0" line="3274"/>
1283
+ <Argument name="offline" type="_496" location="f0:3274" file="f0" line="3274"/>
1284
+ </Function>
1285
+ <Function id="_425" name="__builtin_ccosf" returns="_502" context="_1" mangled="ccosf" location="f1:102" file="f1" line="102" extern="1" attributes="nothrow pure no vops">
1286
+ <Argument type="_502" location="f1:102" file="f1" line="102"/>
1287
+ </Function>
1288
+ <Function id="_426" name="__builtin_ccosh" returns="_529" context="_1" mangled="ccosh" location="f1:106" file="f1" line="106" extern="1" attributes="nothrow pure no vops">
1289
+ <Argument type="_529" location="f1:106" file="f1" line="106"/>
1290
+ </Function>
1291
+ <Function id="_427" name="__builtin_ccosl" returns="_503" context="_1" mangled="ccosl" location="f1:104" file="f1" line="104" extern="1" attributes="nothrow pure no vops">
1292
+ <Argument type="_503" location="f1:104" file="f1" line="104"/>
1293
+ </Function>
1294
+ <Function id="_428" name="sp_track_release" returns="_445" context="_1" location="f0:1768" file="f0" line="1768" extern="1">
1295
+ <Argument name="track" type="_501" location="f0:1768" file="f0" line="1768"/>
1296
+ </Function>
1297
+ <Function id="_429" name="sp_albumbrowse_track" returns="_501" context="_1" location="f0:2063" file="f0" line="2063" extern="1">
1298
+ <Argument name="alb" type="_546" location="f0:2063" file="f0" line="2063"/>
1299
+ <Argument name="index" type="_60" location="f0:2063" file="f0" line="2063"/>
1300
+ </Function>
1301
+ <Function id="_430" name="sp_playlistcontainer_remove_playlist" returns="_445" context="_1" location="f0:3513" file="f0" line="3513" extern="1">
1302
+ <Argument name="pc" type="_526" location="f0:3513" file="f0" line="3513"/>
1303
+ <Argument name="index" type="_60" location="f0:3513" file="f0" line="3513"/>
1304
+ </Function>
1305
+ <Function id="_431" name="sp_build_id" returns="_498" context="_1" location="f0:3936" file="f0" line="3936" extern="1"/>
1306
+ <Function id="_432" name="sp_search_playlist_uri" returns="_498" context="_1" location="f0:2615" file="f0" line="2615" extern="1">
1307
+ <Argument name="search" type="_548" location="f0:2615" file="f0" line="2615"/>
1308
+ <Argument name="index" type="_60" location="f0:2615" file="f0" line="2615"/>
1309
+ </Function>
1310
+ <Function id="_433" name="__builtin_ctanhf" returns="_502" context="_1" mangled="ctanhf" location="f1:126" file="f1" line="126" extern="1" attributes="nothrow pure no vops">
1311
+ <Argument type="_502" location="f1:126" file="f1" line="126"/>
1312
+ </Function>
1313
+ <Function id="_434" name="__builtin_ctanhl" returns="_503" context="_1" mangled="ctanhl" location="f1:128" file="f1" line="128" extern="1" attributes="nothrow pure no vops">
1314
+ <Argument type="_503" location="f1:128" file="f1" line="128"/>
1315
+ </Function>
1316
+ <Function id="_435" name="sp_search_total_artists" returns="_60" context="_1" location="f0:2695" file="f0" line="2695" extern="1">
1317
+ <Argument name="search" type="_548" location="f0:2695" file="f0" line="2695"/>
1318
+ </Function>
1319
+ <Function id="_436" name="sp_session_is_scrobbling_possible" returns="_445" context="_1" location="f0:1134" file="f0" line="1134" extern="1">
1320
+ <Argument name="session" type="_522" location="f0:1134" file="f0" line="1134"/>
1321
+ <Argument name="provider" type="_383" location="f0:1134" file="f0" line="1134"/>
1322
+ <Argument name="out" type="_633" location="f0:1134" file="f0" line="1134"/>
1323
+ </Function>
1324
+ <Function id="_437" name="sp_image_remove_load_callback" returns="_445" context="_1" location="f0:2403" file="f0" line="2403" extern="1">
1325
+ <Argument name="image" type="_530" location="f0:2403" file="f0" line="2403"/>
1326
+ <Argument name="callback" type="_594" location="f0:2403" file="f0" line="2403"/>
1327
+ <Argument name="userdata" type="_543" location="f0:2403" file="f0" line="2403"/>
1328
+ </Function>
1329
+ <Struct id="_438" name="sp_offline_sync_status" context="_1" mangled="22sp_offline_sync_status" demangled="sp_offline_sync_status" location="f0:345" file="f0" line="345" artificial="1" size="384" align="32" members="_634 _635 _636 _637 _638 _639 _640 _641 _642 _643 _644 _645 _646 " bases=""/>
1330
+ <Typedef id="_439" name="sp_offline_sync_status" type="_438" context="_1" location="f0:384" file="f0" line="384"/>
1331
+ <Function id="_440" name="__builtin_ceilf" returns="_499" context="_1" mangled="ceilf" location="f1:37" file="f1" line="37" extern="1" attributes="nothrow const">
1332
+ <Argument type="_499" location="f1:37" file="f1" line="37"/>
1333
+ </Function>
1334
+ <Function id="_441" name="sp_search_did_you_mean" returns="_498" context="_1" location="f0:2662" file="f0" line="2662" extern="1">
1335
+ <Argument name="search" type="_548" location="f0:2662" file="f0" line="2662"/>
1336
+ </Function>
1337
+ <Function id="_442" name="__builtin_ceill" returns="_500" context="_1" mangled="ceill" location="f1:38" file="f1" line="38" extern="1" attributes="nothrow const">
1338
+ <Argument type="_500" location="f1:38" file="f1" line="38"/>
1339
+ </Function>
1340
+ <Function id="_443" name="sp_playlist_create" returns="_495" context="_1" location="f0:3262" file="f0" line="3262" extern="1">
1341
+ <Argument name="session" type="_522" location="f0:3262" file="f0" line="3262"/>
1342
+ <Argument name="link" type="_524" location="f0:3262" file="f0" line="3262"/>
1343
+ </Function>
1344
+ <Enumeration id="_444" name="sp_error" context="_1" location="f0:95" file="f0" line="95" artificial="1" size="32" align="32">
1345
+ <EnumValue name="SP_ERROR_OK" init="0"/>
1346
+ <EnumValue name="SP_ERROR_BAD_API_VERSION" init="1"/>
1347
+ <EnumValue name="SP_ERROR_API_INITIALIZATION_FAILED" init="2"/>
1348
+ <EnumValue name="SP_ERROR_TRACK_NOT_PLAYABLE" init="3"/>
1349
+ <EnumValue name="SP_ERROR_BAD_APPLICATION_KEY" init="5"/>
1350
+ <EnumValue name="SP_ERROR_BAD_USERNAME_OR_PASSWORD" init="6"/>
1351
+ <EnumValue name="SP_ERROR_USER_BANNED" init="7"/>
1352
+ <EnumValue name="SP_ERROR_UNABLE_TO_CONTACT_SERVER" init="8"/>
1353
+ <EnumValue name="SP_ERROR_CLIENT_TOO_OLD" init="9"/>
1354
+ <EnumValue name="SP_ERROR_OTHER_PERMANENT" init="10"/>
1355
+ <EnumValue name="SP_ERROR_BAD_USER_AGENT" init="11"/>
1356
+ <EnumValue name="SP_ERROR_MISSING_CALLBACK" init="12"/>
1357
+ <EnumValue name="SP_ERROR_INVALID_INDATA" init="13"/>
1358
+ <EnumValue name="SP_ERROR_INDEX_OUT_OF_RANGE" init="14"/>
1359
+ <EnumValue name="SP_ERROR_USER_NEEDS_PREMIUM" init="15"/>
1360
+ <EnumValue name="SP_ERROR_OTHER_TRANSIENT" init="16"/>
1361
+ <EnumValue name="SP_ERROR_IS_LOADING" init="17"/>
1362
+ <EnumValue name="SP_ERROR_NO_STREAM_AVAILABLE" init="18"/>
1363
+ <EnumValue name="SP_ERROR_PERMISSION_DENIED" init="19"/>
1364
+ <EnumValue name="SP_ERROR_INBOX_IS_FULL" init="20"/>
1365
+ <EnumValue name="SP_ERROR_NO_CACHE" init="21"/>
1366
+ <EnumValue name="SP_ERROR_NO_SUCH_USER" init="22"/>
1367
+ <EnumValue name="SP_ERROR_NO_CREDENTIALS" init="23"/>
1368
+ <EnumValue name="SP_ERROR_NETWORK_DISABLED" init="24"/>
1369
+ <EnumValue name="SP_ERROR_INVALID_DEVICE_ID" init="25"/>
1370
+ <EnumValue name="SP_ERROR_CANT_OPEN_TRACE_FILE" init="26"/>
1371
+ <EnumValue name="SP_ERROR_APPLICATION_BANNED" init="27"/>
1372
+ <EnumValue name="SP_ERROR_OFFLINE_TOO_MANY_TRACKS" init="31"/>
1373
+ <EnumValue name="SP_ERROR_OFFLINE_DISK_CACHE" init="32"/>
1374
+ <EnumValue name="SP_ERROR_OFFLINE_EXPIRED" init="33"/>
1375
+ <EnumValue name="SP_ERROR_OFFLINE_NOT_ALLOWED" init="34"/>
1376
+ <EnumValue name="SP_ERROR_OFFLINE_LICENSE_LOST" init="35"/>
1377
+ <EnumValue name="SP_ERROR_OFFLINE_LICENSE_ERROR" init="36"/>
1378
+ <EnumValue name="SP_ERROR_LASTFM_AUTH_ERROR" init="39"/>
1379
+ <EnumValue name="SP_ERROR_INVALID_ARGUMENT" init="40"/>
1380
+ <EnumValue name="SP_ERROR_SYSTEM_FAILURE" init="41"/>
1381
+ </Enumeration>
1382
+ <Typedef id="_445" name="sp_error" type="_444" context="_1" location="f0:132" file="f0" line="132"/>
1383
+ <Function id="_446" name="sp_artistbrowse_similar_artist" returns="_525" context="_1" location="f0:2286" file="f0" line="2286" extern="1">
1384
+ <Argument name="arb" type="_539" location="f0:2286" file="f0" line="2286"/>
1385
+ <Argument name="index" type="_60" location="f0:2286" file="f0" line="2286"/>
1386
+ </Function>
1387
+ <Function id="_447" name="__builtin_csinf" returns="_502" context="_1" mangled="csinf" location="f1:114" file="f1" line="114" extern="1" attributes="nothrow pure no vops">
1388
+ <Argument type="_502" location="f1:114" file="f1" line="114"/>
1389
+ </Function>
1390
+ <Function id="_448" name="__builtin_csinh" returns="_529" context="_1" mangled="csinh" location="f1:118" file="f1" line="118" extern="1" attributes="nothrow pure no vops">
1391
+ <Argument type="_529" location="f1:118" file="f1" line="118"/>
1392
+ </Function>
1393
+ <Function id="_449" name="__builtin_csinl" returns="_503" context="_1" mangled="csinl" location="f1:116" file="f1" line="116" extern="1" attributes="nothrow pure no vops">
1394
+ <Argument type="_503" location="f1:116" file="f1" line="116"/>
1395
+ </Function>
1396
+ <FunctionType id="_450" returns="_545">
1397
+ <Argument type="_540"/>
1398
+ <Argument type="_543"/>
1399
+ </FunctionType>
1400
+ <Typedef id="_451" name="inboxpost_complete_cb" type="_450" context="_1" location="f0:3876" file="f0" line="3876"/>
1401
+ <Function id="_452" name="__builtin_acos" returns="_497" context="_1" mangled="acos" location="f1:24" file="f1" line="24" extern="1" attributes="nothrow pure no vops">
1402
+ <Argument type="_497" location="f1:24" file="f1" line="24"/>
1403
+ </Function>
1404
+ <Function id="_453" name="sp_album_add_ref" returns="_445" context="_1" location="f0:1870" file="f0" line="1870" extern="1">
1405
+ <Argument name="album" type="_531" location="f0:1870" file="f0" line="1870"/>
1406
+ </Function>
1407
+ <Function id="_454" name="sp_playlist_subscribers" returns="_631" context="_1" location="f0:3182" file="f0" line="3182" extern="1">
1408
+ <Argument name="playlist" type="_495" location="f0:3182" file="f0" line="3182"/>
1409
+ </Function>
1410
+ <Function id="_455" name="sp_playlist_remove_tracks" returns="_445" context="_1" location="f0:3139" file="f0" line="3139" extern="1">
1411
+ <Argument name="playlist" type="_495" location="f0:3139" file="f0" line="3139"/>
1412
+ <Argument name="tracks" type="_621" location="f0:3139" file="f0" line="3139"/>
1413
+ <Argument name="num_tracks" type="_60" location="f0:3139" file="f0" line="3139"/>
1414
+ </Function>
1415
+ <Enumeration id="_456" name="sp_bitrate" context="_1" location="f0:198" file="f0" line="198" artificial="1" size="32" align="32">
1416
+ <EnumValue name="SP_BITRATE_160k" init="0"/>
1417
+ <EnumValue name="SP_BITRATE_320k" init="1"/>
1418
+ <EnumValue name="SP_BITRATE_96k" init="2"/>
1419
+ </Enumeration>
1420
+ <Typedef id="_457" name="sp_bitrate" type="_456" context="_1" location="f0:202" file="f0" line="202"/>
1421
+ <Function id="_458" name="__builtin_ctzll" returns="_60" context="_1" location="f1:98" file="f1" line="98" extern="1" attributes="nothrow const">
1422
+ <Argument type="_49" location="f1:98" file="f1" line="98"/>
1423
+ </Function>
1424
+ <Typedef id="_459" name="uint_fast32_t" type="_198" context="_1" location="f2:158" file="f2" line="158"/>
1425
+ <Function id="_460" name="__builtin_cargf" returns="_499" context="_1" mangled="cargf" location="f1:93" file="f1" line="93" extern="1" attributes="nothrow pure no vops">
1426
+ <Argument type="_502" location="f1:93" file="f1" line="93"/>
1427
+ </Function>
1428
+ <Function id="_461" name="__builtin_cargl" returns="_500" context="_1" mangled="cargl" location="f1:95" file="f1" line="95" extern="1" attributes="nothrow pure no vops">
1429
+ <Argument type="_503" location="f1:95" file="f1" line="95"/>
1430
+ </Function>
1431
+ <Function id="_462" name="sp_playlistcontainer_move_playlist" returns="_445" context="_1" location="f0:3528" file="f0" line="3528" extern="1">
1432
+ <Argument name="pc" type="_526" location="f0:3528" file="f0" line="3528"/>
1433
+ <Argument name="index" type="_60" location="f0:3528" file="f0" line="3528"/>
1434
+ <Argument name="new_position" type="_60" location="f0:3528" file="f0" line="3528"/>
1435
+ <Argument name="dry_run" type="_496" location="f0:3528" file="f0" line="3528"/>
1436
+ </Function>
1437
+ <Function id="_463" name="sp_session_is_private_session" returns="_496" context="_1" location="f0:1093" file="f0" line="1093" extern="1">
1438
+ <Argument name="session" type="_522" location="f0:1093" file="f0" line="1093"/>
1439
+ </Function>
1440
+ <Function id="_464" name="sp_toplistbrowse_num_artists" returns="_60" context="_1" location="f0:3794" file="f0" line="3794" extern="1">
1441
+ <Argument name="tlb" type="_521" location="f0:3794" file="f0" line="3794"/>
1442
+ </Function>
1443
+ <Function id="_465" name="sp_playlistcontainer_add_folder" returns="_445" context="_1" location="f0:3552" file="f0" line="3552" extern="1">
1444
+ <Argument name="pc" type="_526" location="f0:3552" file="f0" line="3552"/>
1445
+ <Argument name="index" type="_60" location="f0:3552" file="f0" line="3552"/>
1446
+ <Argument name="name" type="_498" location="f0:3552" file="f0" line="3552"/>
1447
+ </Function>
1448
+ <Function id="_466" name="__builtin_cosf" returns="_499" context="_1" mangled="cosf" location="f1:40" file="f1" line="40" extern="1" attributes="nothrow pure no vops">
1449
+ <Argument type="_499" location="f1:40" file="f1" line="40"/>
1450
+ </Function>
1451
+ <Function id="_467" name="__builtin_cosh" returns="_497" context="_1" mangled="cosh" location="f1:41" file="f1" line="41" extern="1" attributes="nothrow pure no vops">
1452
+ <Argument type="_497" location="f1:41" file="f1" line="41"/>
1453
+ </Function>
1454
+ <Function id="_468" name="__builtin_cosl" returns="_500" context="_1" mangled="cosl" location="f1:44" file="f1" line="44" extern="1" attributes="nothrow pure no vops">
1455
+ <Argument type="_500" location="f1:44" file="f1" line="44"/>
1456
+ </Function>
1457
+ <FunctionType id="_469" returns="_545">
1458
+ <Argument type="_546"/>
1459
+ <Argument type="_543"/>
1460
+ </FunctionType>
1461
+ <Typedef id="_470" name="albumbrowse_complete_cb" type="_469" context="_1" location="f0:1964" file="f0" line="1964"/>
1462
+ <Function id="_471" name="sp_session_remembered_user" returns="_60" context="_1" location="f0:801" file="f0" line="801" extern="1">
1463
+ <Argument name="session" type="_522" location="f0:801" file="f0" line="801"/>
1464
+ <Argument name="buffer" type="_528" location="f0:801" file="f0" line="801"/>
1465
+ <Argument name="buffer_size" type="_309" location="f0:801" file="f0" line="801"/>
1466
+ </Function>
1467
+ <Function id="_472" name="sp_session_login" returns="_445" context="_1" location="f0:772" file="f0" line="772" extern="1">
1468
+ <Argument name="session" type="_522" location="f0:772" file="f0" line="772"/>
1469
+ <Argument name="username" type="_498" location="f0:772" file="f0" line="772"/>
1470
+ <Argument name="password" type="_498" location="f0:772" file="f0" line="772"/>
1471
+ <Argument name="remember_me" type="_496" location="f0:772" file="f0" line="772"/>
1472
+ <Argument name="blob" type="_498" location="f0:772" file="f0" line="772"/>
1473
+ </Function>
1474
+ <Function id="_473" name="sp_search_add_ref" returns="_445" context="_1" location="f0:2715" file="f0" line="2715" extern="1">
1475
+ <Argument name="search" type="_548" location="f0:2715" file="f0" line="2715"/>
1476
+ </Function>
1477
+ <Function id="_474" name="sp_search_total_tracks" returns="_60" context="_1" location="f0:2673" file="f0" line="2673" extern="1">
1478
+ <Argument name="search" type="_548" location="f0:2673" file="f0" line="2673"/>
1479
+ </Function>
1480
+ <Function id="_475" name="sp_playlistcontainer_remove_callbacks" returns="_445" context="_1" location="f0:3405" file="f0" line="3405" extern="1">
1481
+ <Argument name="pc" type="_526" location="f0:3405" file="f0" line="3405"/>
1482
+ <Argument name="callbacks" type="_595" location="f0:3405" file="f0" line="3405"/>
1483
+ <Argument name="userdata" type="_543" location="f0:3405" file="f0" line="3405"/>
1484
+ </Function>
1485
+ <Function id="_476" name="sp_playlist_num_subscribers" returns="_197" context="_1" location="f0:3167" file="f0" line="3167" extern="1">
1486
+ <Argument name="playlist" type="_495" location="f0:3167" file="f0" line="3167"/>
1487
+ </Function>
1488
+ <Function id="_477" name="sp_playlist_has_pending_changes" returns="_496" context="_1" location="f0:3108" file="f0" line="3108" extern="1">
1489
+ <Argument name="playlist" type="_495" location="f0:3108" file="f0" line="3108"/>
1490
+ </Function>
1491
+ <Function id="_478" name="sp_artistbrowse_backend_request_duration" returns="_60" context="_1" location="f0:2308" file="f0" line="2308" extern="1">
1492
+ <Argument name="arb" type="_539" location="f0:2308" file="f0" line="2308"/>
1493
+ </Function>
1494
+ <Function id="_479" name="sp_playlist_get_offline_download_completed" returns="_60" context="_1" location="f0:3301" file="f0" line="3301" extern="1">
1495
+ <Argument name="session" type="_522" location="f0:3301" file="f0" line="3301"/>
1496
+ <Argument name="playlist" type="_495" location="f0:3301" file="f0" line="3301"/>
1497
+ </Function>
1498
+ <Function id="_480" name="sp_artist_release" returns="_445" context="_1" location="f0:1940" file="f0" line="1940" extern="1">
1499
+ <Argument name="artist" type="_525" location="f0:1940" file="f0" line="1940"/>
1500
+ </Function>
1501
+ <Function id="_481" name="__builtin_bswap32" returns="_197" context="_1" location="f1:134" file="f1" line="134" extern="1">
1502
+ <Argument name="_data" type="_197" location="f1:134" file="f1" line="134"/>
1503
+ </Function>
1504
+ <Typedef id="_482" name="uint_least8_t" type="_378" context="_1" location="f2:204" file="f2" line="204"/>
1505
+ <Enumeration id="_483" name="sp_image_size" context="_1" location="f0:261" file="f0" line="261" artificial="1" size="32" align="32">
1506
+ <EnumValue name="SP_IMAGE_SIZE_NORMAL" init="0"/>
1507
+ <EnumValue name="SP_IMAGE_SIZE_SMALL" init="1"/>
1508
+ <EnumValue name="SP_IMAGE_SIZE_LARGE" init="2"/>
1509
+ </Enumeration>
1510
+ <Typedef id="_484" name="sp_image_size" type="_483" context="_1" location="f0:265" file="f0" line="265"/>
1511
+ <Function id="_485" name="sp_image_release" returns="_445" context="_1" location="f0:2474" file="f0" line="2474" extern="1">
1512
+ <Argument name="image" type="_530" location="f0:2474" file="f0" line="2474"/>
1513
+ </Function>
1514
+ <Function id="_486" name="sp_artistbrowse_tophit_track" returns="_501" context="_1" location="f0:2244" file="f0" line="2244" extern="1">
1515
+ <Argument name="arb" type="_539" location="f0:2244" file="f0" line="2244"/>
1516
+ <Argument name="index" type="_60" location="f0:2244" file="f0" line="2244"/>
1517
+ </Function>
1518
+ <Function id="_487" name="sp_session_release" returns="_445" context="_1" location="f0:748" file="f0" line="748" extern="1">
1519
+ <Argument name="sess" type="_522" location="f0:748" file="f0" line="748"/>
1520
+ </Function>
1521
+ <Function id="_488" name="__builtin_sinf" returns="_499" context="_1" mangled="sinf" location="f1:76" file="f1" line="76" extern="1" attributes="nothrow pure no vops">
1522
+ <Argument type="_499" location="f1:76" file="f1" line="76"/>
1523
+ </Function>
1524
+ <Function id="_489" name="__builtin_sinh" returns="_497" context="_1" mangled="sinh" location="f1:77" file="f1" line="77" extern="1" attributes="nothrow pure no vops">
1525
+ <Argument type="_497" location="f1:77" file="f1" line="77"/>
1526
+ </Function>
1527
+ <Function id="_490" name="__builtin_sinl" returns="_500" context="_1" mangled="sinl" location="f1:80" file="f1" line="80" extern="1" attributes="nothrow pure no vops">
1528
+ <Argument type="_500" location="f1:80" file="f1" line="80"/>
1529
+ </Function>
1530
+ <Typedef id="_491" name="uint64_t" type="_7" context="_1" location="f2:69" file="f2" line="69"/>
1531
+ <Function id="_492" name="__builtin_csin" returns="_529" context="_1" mangled="csin" location="f1:115" file="f1" line="115" extern="1" attributes="nothrow pure no vops">
1532
+ <Argument type="_529" location="f1:115" file="f1" line="115"/>
1533
+ </Function>
1534
+ <Function id="_493" name="sp_toplistbrowse_error" returns="_445" context="_1" location="f0:3765" file="f0" line="3765" extern="1">
1535
+ <Argument name="tlb" type="_521" location="f0:3765" file="f0" line="3765"/>
1536
+ </Function>
1537
+ <Function id="_494" name="sp_track_is_local" returns="_496" context="_1" location="f0:1584" file="f0" line="1584" extern="1">
1538
+ <Argument name="session" type="_522" location="f0:1584" file="f0" line="1584"/>
1539
+ <Argument name="track" type="_501" location="f0:1584" file="f0" line="1584"/>
1540
+ </Function>
1541
+ <PointerType id="_495" type="_403" size="32" align="32"/>
1542
+ <FundamentalType id="_496" name="bool" size="8" align="8"/>
1543
+ <FundamentalType id="_497" name="double" size="64" align="64"/>
1544
+ <PointerType id="_498" type="_647c" size="32" align="32"/>
1545
+ <FundamentalType id="_499" name="float" size="32" align="32"/>
1546
+ <FundamentalType id="_500" name="long double" size="128" align="128"/>
1547
+ <PointerType id="_501" type="_55" size="32" align="32"/>
1548
+ <FundamentalType id="_502" name="complex float" size="64" align="32"/>
1549
+ <FundamentalType id="_503" name="complex long double" size="256" align="128"/>
1550
+ <Field id="_504" name="tracks_added" type="_649" offset="0" context="_19" access="public" location="f0:2760" file="f0" line="2760"/>
1551
+ <Field id="_505" name="tracks_removed" type="_650" offset="32" context="_19" access="public" location="f0:2770" file="f0" line="2770"/>
1552
+ <Field id="_506" name="tracks_moved" type="_651" offset="64" context="_19" access="public" location="f0:2781" file="f0" line="2781"/>
1553
+ <Field id="_507" name="playlist_renamed" type="_652" offset="96" context="_19" access="public" location="f0:2789" file="f0" line="2789"/>
1554
+ <Field id="_508" name="playlist_state_changed" type="_652" offset="128" context="_19" access="public" location="f0:2805" file="f0" line="2805"/>
1555
+ <Field id="_509" name="playlist_update_in_progress" type="_653" offset="160" context="_19" access="public" location="f0:2818" file="f0" line="2818"/>
1556
+ <Field id="_510" name="playlist_metadata_updated" type="_652" offset="192" context="_19" access="public" location="f0:2826" file="f0" line="2826"/>
1557
+ <Field id="_511" name="track_created_changed" type="_654" offset="224" context="_19" access="public" location="f0:2837" file="f0" line="2837"/>
1558
+ <Field id="_512" name="track_seen_changed" type="_655" offset="256" context="_19" access="public" location="f0:2847" file="f0" line="2847"/>
1559
+ <Field id="_513" name="description_changed" type="_656" offset="288" context="_19" access="public" location="f0:2856" file="f0" line="2856"/>
1560
+ <Field id="_514" name="image_changed" type="_657" offset="320" context="_19" access="public" location="f0:2866" file="f0" line="2866"/>
1561
+ <Field id="_515" name="track_message_changed" type="_658" offset="352" context="_19" access="public" location="f0:2877" file="f0" line="2877"/>
1562
+ <Field id="_516" name="subscribers_changed" type="_652" offset="384" context="_19" access="public" location="f0:2886" file="f0" line="2886"/>
1563
+ <Destructor id="_517" name="sp_playlist_callbacks" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksD1Ev *INTERNAL* " demangled="sp_playlist_callbacks::~sp_playlist_callbacks()" location="f0:2749" file="f0" line="2749" endline="2749" inline="1">
1564
+ </Destructor>
1565
+ <OperatorMethod id="_518" name="=" returns="_659" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksaSERKS_" demangled="sp_playlist_callbacks::operator=(sp_playlist_callbacks const&amp;)" location="f0:2749" file="f0" line="2749" endline="2749" inline="1">
1566
+ <Argument type="_660" location="f0:2749" file="f0" line="2749"/>
1567
+ </OperatorMethod>
1568
+ <Constructor id="_519" name="sp_playlist_callbacks" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksC1ERKS_ *INTERNAL* " demangled="sp_playlist_callbacks::sp_playlist_callbacks(sp_playlist_callbacks const&amp;)" location="f0:2749" file="f0" line="2749" endline="2749" inline="1">
1569
+ <Argument type="_660" location="f0:2749" file="f0" line="2749"/>
1570
+ </Constructor>
1571
+ <Constructor id="_520" name="sp_playlist_callbacks" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksC1Ev *INTERNAL* " demangled="sp_playlist_callbacks::sp_playlist_callbacks()" location="f0:2749" file="f0" line="2749" inline="1"/>
1572
+ <PointerType id="_521" type="_100" size="32" align="32"/>
1573
+ <PointerType id="_522" type="_230" size="32" align="32"/>
1574
+ <PointerType id="_523" type="_76" size="32" align="32"/>
1575
+ <PointerType id="_524" type="_124" size="32" align="32"/>
1576
+ <PointerType id="_525" type="_70" size="32" align="32"/>
1577
+ <PointerType id="_526" type="_140" size="32" align="32"/>
1578
+ <PointerType id="_527" type="_501" size="32" align="32"/>
1579
+ <PointerType id="_528" type="_647" size="32" align="32"/>
1580
+ <FundamentalType id="_529" name="complex double" size="128" align="64"/>
1581
+ <PointerType id="_530" type="_79" size="32" align="32"/>
1582
+ <PointerType id="_531" type="_334" size="32" align="32"/>
1583
+ <Field id="_532" name="count" type="_197" offset="0" context="_62" access="public" location="f0:279" file="f0" line="279"/>
1584
+ <Field id="_533" name="subscribers" type="_661" offset="32" context="_62" access="public" location="f0:280" file="f0" line="280"/>
1585
+ <Destructor id="_534" name="sp_subscribers" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersD1Ev *INTERNAL* " demangled="sp_subscribers::~sp_subscribers()" location="f0:278" file="f0" line="278" endline="278" inline="1">
1586
+ </Destructor>
1587
+ <OperatorMethod id="_535" name="=" returns="_662" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersaSERKS_" demangled="sp_subscribers::operator=(sp_subscribers const&amp;)" location="f0:278" file="f0" line="278" endline="278" inline="1">
1588
+ <Argument type="_663" location="f0:278" file="f0" line="278"/>
1589
+ </OperatorMethod>
1590
+ <Constructor id="_536" name="sp_subscribers" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersC1ERKS_ *INTERNAL* " demangled="sp_subscribers::sp_subscribers(sp_subscribers const&amp;)" location="f0:278" file="f0" line="278" endline="278" inline="1">
1591
+ <Argument type="_663" location="f0:278" file="f0" line="278"/>
1592
+ </Constructor>
1593
+ <Constructor id="_537" name="sp_subscribers" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersC1Ev *INTERNAL* " demangled="sp_subscribers::sp_subscribers()" location="f0:278" file="f0" line="278" inline="1"/>
1594
+ <PointerType id="_538" type="_418" size="32" align="32"/>
1595
+ <PointerType id="_539" type="_222" size="32" align="32"/>
1596
+ <PointerType id="_540" type="_389" size="32" align="32"/>
1597
+ <PointerType id="_541" type="_501c" size="32" align="32"/>
1598
+ <PointerType id="_542" type="_451" size="32" align="32"/>
1599
+ <PointerType id="_543" type="_545" size="32" align="32"/>
1600
+ <PointerType id="_544" type="_247" size="32" align="32"/>
1601
+ <FundamentalType id="_545" name="void" align="8"/>
1602
+ <PointerType id="_546" type="_153" size="32" align="32"/>
1603
+ <PointerType id="_547" type="_418c" size="32" align="32"/>
1604
+ <PointerType id="_548" type="_219" size="32" align="32"/>
1605
+ <PointerType id="_549" type="_470" size="32" align="32"/>
1606
+ <PointerType id="_550" type="_60" size="32" align="32"/>
1607
+ <Field id="_551" name="api_version" type="_60" offset="0" context="_173" access="public" location="f0:644" file="f0" line="644"/>
1608
+ <Field id="_552" name="cache_location" type="_498" offset="32" context="_173" access="public" location="f0:645" file="f0" line="645"/>
1609
+ <Field id="_553" name="settings_location" type="_498" offset="64" context="_173" access="public" location="f0:649" file="f0" line="649"/>
1610
+ <Field id="_554" name="application_key" type="_576" offset="96" context="_173" access="public" location="f0:655" file="f0" line="655"/>
1611
+ <Field id="_555" name="application_key_size" type="_309" offset="128" context="_173" access="public" location="f0:656" file="f0" line="656"/>
1612
+ <Field id="_556" name="user_agent" type="_498" offset="160" context="_173" access="public" location="f0:657" file="f0" line="657"/>
1613
+ <Field id="_557" name="callbacks" type="_666" offset="192" context="_173" access="public" location="f0:661" file="f0" line="661"/>
1614
+ <Field id="_558" name="userdata" type="_543" offset="224" context="_173" access="public" location="f0:662" file="f0" line="662"/>
1615
+ <Field id="_559" name="compress_playlists" type="_496" offset="256" context="_173" access="public" location="f0:667" file="f0" line="667"/>
1616
+ <Field id="_560" name="dont_save_metadata_for_playlists" type="_496" offset="264" context="_173" access="public" location="f0:674" file="f0" line="674"/>
1617
+ <Field id="_561" name="initially_unload_playlists" type="_496" offset="272" context="_173" access="public" location="f0:680" file="f0" line="680"/>
1618
+ <Field id="_562" name="device_id" type="_498" offset="288" context="_173" access="public" location="f0:687" file="f0" line="687"/>
1619
+ <Field id="_563" name="proxy" type="_498" offset="320" context="_173" access="public" location="f0:693" file="f0" line="693"/>
1620
+ <Field id="_564" name="proxy_username" type="_498" offset="352" context="_173" access="public" location="f0:697" file="f0" line="697"/>
1621
+ <Field id="_565" name="proxy_password" type="_498" offset="384" context="_173" access="public" location="f0:701" file="f0" line="701"/>
1622
+ <Field id="_566" name="ca_certs_filename" type="_498" offset="416" context="_173" access="public" location="f0:709" file="f0" line="709"/>
1623
+ <Field id="_567" name="tracefile" type="_498" offset="448" context="_173" access="public" location="f0:714" file="f0" line="714"/>
1624
+ <Destructor id="_568" name="sp_session_config" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configD1Ev *INTERNAL* " demangled="sp_session_config::~sp_session_config()" location="f0:643" file="f0" line="643" endline="643" inline="1">
1625
+ </Destructor>
1626
+ <OperatorMethod id="_569" name="=" returns="_667" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configaSERKS_" demangled="sp_session_config::operator=(sp_session_config const&amp;)" location="f0:643" file="f0" line="643" endline="643" inline="1">
1627
+ <Argument type="_668" location="f0:643" file="f0" line="643"/>
1628
+ </OperatorMethod>
1629
+ <Constructor id="_570" name="sp_session_config" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configC1ERKS_ *INTERNAL* " demangled="sp_session_config::sp_session_config(sp_session_config const&amp;)" location="f0:643" file="f0" line="643" endline="643" inline="1">
1630
+ <Argument type="_668" location="f0:643" file="f0" line="643"/>
1631
+ </Constructor>
1632
+ <Constructor id="_571" name="sp_session_config" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configC1Ev *INTERNAL* " demangled="sp_session_config::sp_session_config()" location="f0:643" file="f0" line="643" inline="1"/>
1633
+ <PointerType id="_572" type="_412" size="32" align="32"/>
1634
+ <PointerType id="_573" type="_20" size="32" align="32"/>
1635
+ <PointerType id="_574" type="_499" size="32" align="32"/>
1636
+ <PointerType id="_575" type="_500" size="32" align="32"/>
1637
+ <PointerType id="_576" type="_545c" size="32" align="32"/>
1638
+ <Field id="_577" name="samples" type="_60" offset="0" context="_193" access="public" location="f0:271" file="f0" line="271"/>
1639
+ <Field id="_578" name="stutter" type="_60" offset="32" context="_193" access="public" location="f0:272" file="f0" line="272"/>
1640
+ <Destructor id="_579" name="sp_audio_buffer_stats" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsD1Ev *INTERNAL* " demangled="sp_audio_buffer_stats::~sp_audio_buffer_stats()" location="f0:270" file="f0" line="270" endline="270" inline="1">
1641
+ </Destructor>
1642
+ <OperatorMethod id="_580" name="=" returns="_670" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsaSERKS_" demangled="sp_audio_buffer_stats::operator=(sp_audio_buffer_stats const&amp;)" location="f0:270" file="f0" line="270" endline="270" inline="1">
1643
+ <Argument type="_671" location="f0:270" file="f0" line="270"/>
1644
+ </OperatorMethod>
1645
+ <Constructor id="_581" name="sp_audio_buffer_stats" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsC1ERKS_ *INTERNAL* " demangled="sp_audio_buffer_stats::sp_audio_buffer_stats(sp_audio_buffer_stats const&amp;)" location="f0:270" file="f0" line="270" endline="270" inline="1">
1646
+ <Argument type="_671" location="f0:270" file="f0" line="270"/>
1647
+ </Constructor>
1648
+ <Constructor id="_582" name="sp_audio_buffer_stats" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsC1Ev *INTERNAL* " demangled="sp_audio_buffer_stats::sp_audio_buffer_stats()" location="f0:270" file="f0" line="270" inline="1"/>
1649
+ <PointerType id="_583" type="_309" size="32" align="32"/>
1650
+ <PointerType id="_584" type="_256" size="32" align="32"/>
1651
+ <Field id="_585" name="sample_type" type="_396" offset="0" context="_271" access="public" location="f0:190" file="f0" line="190"/>
1652
+ <Field id="_586" name="sample_rate" type="_60" offset="32" context="_271" access="public" location="f0:191" file="f0" line="191"/>
1653
+ <Field id="_587" name="channels" type="_60" offset="64" context="_271" access="public" location="f0:192" file="f0" line="192"/>
1654
+ <Destructor id="_588" name="sp_audioformat" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformatD1Ev *INTERNAL* " demangled="sp_audioformat::~sp_audioformat()" location="f0:189" file="f0" line="189" endline="189" inline="1">
1655
+ </Destructor>
1656
+ <OperatorMethod id="_589" name="=" returns="_672" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformataSERKS_" demangled="sp_audioformat::operator=(sp_audioformat const&amp;)" location="f0:189" file="f0" line="189" endline="189" inline="1">
1657
+ <Argument type="_673" location="f0:189" file="f0" line="189"/>
1658
+ </OperatorMethod>
1659
+ <Constructor id="_590" name="sp_audioformat" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformatC1ERKS_ *INTERNAL* " demangled="sp_audioformat::sp_audioformat(sp_audioformat const&amp;)" location="f0:189" file="f0" line="189" endline="189" inline="1">
1660
+ <Argument type="_673" location="f0:189" file="f0" line="189"/>
1661
+ </Constructor>
1662
+ <Constructor id="_591" name="sp_audioformat" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformatC1Ev *INTERNAL* " demangled="sp_audioformat::sp_audioformat()" location="f0:189" file="f0" line="189" inline="1"/>
1663
+ <PointerType id="_592" type="_174c" size="32" align="32"/>
1664
+ <PointerType id="_593" type="_522" size="32" align="32"/>
1665
+ <PointerType id="_594" type="_129" size="32" align="32"/>
1666
+ <PointerType id="_595" type="_339" size="32" align="32"/>
1667
+ <Field id="_596" name="logged_in" type="_675" offset="0" context="_325" access="public" location="f0:409" file="f0" line="409"/>
1668
+ <Field id="_597" name="logged_out" type="_676" offset="32" context="_325" access="public" location="f0:418" file="f0" line="418"/>
1669
+ <Field id="_598" name="metadata_updated" type="_676" offset="64" context="_325" access="public" location="f0:427" file="f0" line="427"/>
1670
+ <Field id="_599" name="connection_error" type="_675" offset="96" context="_325" access="public" location="f0:446" file="f0" line="446"/>
1671
+ <Field id="_600" name="message_to_user" type="_677" offset="128" context="_325" access="public" location="f0:457" file="f0" line="457"/>
1672
+ <Field id="_601" name="notify_main_thread" type="_676" offset="160" context="_325" access="public" location="f0:470" file="f0" line="470"/>
1673
+ <Field id="_602" name="music_delivery" type="_678" offset="192" context="_325" access="public" location="f0:491" file="f0" line="491"/>
1674
+ <Field id="_603" name="play_token_lost" type="_676" offset="224" context="_325" access="public" location="f0:509" file="f0" line="509"/>
1675
+ <Field id="_604" name="log_message" type="_677" offset="256" context="_325" access="public" location="f0:517" file="f0" line="517"/>
1676
+ <Field id="_605" name="end_of_track" type="_676" offset="288" context="_325" access="public" location="f0:527" file="f0" line="527"/>
1677
+ <Field id="_606" name="streaming_error" type="_675" offset="320" context="_325" access="public" location="f0:541" file="f0" line="541"/>
1678
+ <Field id="_607" name="userinfo_updated" type="_676" offset="352" context="_325" access="public" location="f0:548" file="f0" line="548"/>
1679
+ <Field id="_608" name="start_playback" type="_676" offset="384" context="_325" access="public" location="f0:561" file="f0" line="561"/>
1680
+ <Field id="_609" name="stop_playback" type="_676" offset="416" context="_325" access="public" location="f0:575" file="f0" line="575"/>
1681
+ <Field id="_610" name="get_audio_buffer_stats" type="_679" offset="448" context="_325" access="public" location="f0:587" file="f0" line="587"/>
1682
+ <Field id="_611" name="offline_status_updated" type="_676" offset="480" context="_325" access="public" location="f0:594" file="f0" line="594"/>
1683
+ <Field id="_612" name="offline_error" type="_675" offset="512" context="_325" access="public" location="f0:603" file="f0" line="603"/>
1684
+ <Field id="_613" name="credentials_blob_updated" type="_677" offset="544" context="_325" access="public" location="f0:614" file="f0" line="614"/>
1685
+ <Field id="_614" name="connectionstate_updated" type="_676" offset="576" context="_325" access="public" location="f0:621" file="f0" line="621"/>
1686
+ <Field id="_615" name="scrobble_error" type="_675" offset="608" context="_325" access="public" location="f0:629" file="f0" line="629"/>
1687
+ <Field id="_616" name="private_session_mode_changed" type="_680" offset="640" context="_325" access="public" location="f0:637" file="f0" line="637"/>
1688
+ <Destructor id="_617" name="sp_session_callbacks" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksD1Ev *INTERNAL* " demangled="sp_session_callbacks::~sp_session_callbacks()" location="f0:393" file="f0" line="393" endline="393" inline="1">
1689
+ </Destructor>
1690
+ <OperatorMethod id="_618" name="=" returns="_681" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksaSERKS_" demangled="sp_session_callbacks::operator=(sp_session_callbacks const&amp;)" location="f0:393" file="f0" line="393" endline="393" inline="1">
1691
+ <Argument type="_682" location="f0:393" file="f0" line="393"/>
1692
+ </OperatorMethod>
1693
+ <Constructor id="_619" name="sp_session_callbacks" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksC1ERKS_ *INTERNAL* " demangled="sp_session_callbacks::sp_session_callbacks(sp_session_callbacks const&amp;)" location="f0:393" file="f0" line="393" endline="393" inline="1">
1694
+ <Argument type="_682" location="f0:393" file="f0" line="393"/>
1695
+ </Constructor>
1696
+ <Constructor id="_620" name="sp_session_callbacks" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksC1Ev *INTERNAL* " demangled="sp_session_callbacks::sp_session_callbacks()" location="f0:393" file="f0" line="393" inline="1"/>
1697
+ <PointerType id="_621" type="_60c" size="32" align="32"/>
1698
+ <Field id="_622" name="playlist_added" type="_684" offset="0" context="_338" access="public" location="f0:3338" file="f0" line="3338"/>
1699
+ <Field id="_623" name="playlist_removed" type="_684" offset="32" context="_338" access="public" location="f0:3349" file="f0" line="3349"/>
1700
+ <Field id="_624" name="playlist_moved" type="_685" offset="64" context="_338" access="public" location="f0:3361" file="f0" line="3361"/>
1701
+ <Field id="_625" name="container_loaded" type="_686" offset="96" context="_338" access="public" location="f0:3369" file="f0" line="3369"/>
1702
+ <Destructor id="_626" name="sp_playlistcontainer_callbacks" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksD1Ev *INTERNAL* " demangled="sp_playlistcontainer_callbacks::~sp_playlistcontainer_callbacks()" location="f0:3329" file="f0" line="3329" endline="3329" inline="1">
1703
+ </Destructor>
1704
+ <OperatorMethod id="_627" name="=" returns="_687" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksaSERKS_" demangled="sp_playlistcontainer_callbacks::operator=(sp_playlistcontainer_callbacks const&amp;)" location="f0:3329" file="f0" line="3329" endline="3329" inline="1">
1705
+ <Argument type="_688" location="f0:3329" file="f0" line="3329"/>
1706
+ </OperatorMethod>
1707
+ <Constructor id="_628" name="sp_playlistcontainer_callbacks" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksC1ERKS_ *INTERNAL* " demangled="sp_playlistcontainer_callbacks::sp_playlistcontainer_callbacks(sp_playlistcontainer_callbacks const&amp;)" location="f0:3329" file="f0" line="3329" endline="3329" inline="1">
1708
+ <Argument type="_688" location="f0:3329" file="f0" line="3329"/>
1709
+ </Constructor>
1710
+ <Constructor id="_629" name="sp_playlistcontainer_callbacks" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksC1Ev *INTERNAL* " demangled="sp_playlistcontainer_callbacks::sp_playlistcontainer_callbacks()" location="f0:3329" file="f0" line="3329" inline="1"/>
1711
+ <PointerType id="_630" type="_168" size="32" align="32"/>
1712
+ <PointerType id="_631" type="_63" size="32" align="32"/>
1713
+ <PointerType id="_632" type="_439" size="32" align="32"/>
1714
+ <PointerType id="_633" type="_496" size="32" align="32"/>
1715
+ <Field id="_634" name="queued_tracks" type="_60" offset="0" context="_438" access="public" location="f0:350" file="f0" line="350"/>
1716
+ <Field id="_635" name="queued_bytes" type="_8" offset="32" context="_438" access="public" location="f0:351" file="f0" line="351"/>
1717
+ <Field id="_636" name="done_tracks" type="_60" offset="96" context="_438" access="public" location="f0:357" file="f0" line="357"/>
1718
+ <Field id="_637" name="done_bytes" type="_8" offset="128" context="_438" access="public" location="f0:358" file="f0" line="358"/>
1719
+ <Field id="_638" name="copied_tracks" type="_60" offset="192" context="_438" access="public" location="f0:364" file="f0" line="364"/>
1720
+ <Field id="_639" name="copied_bytes" type="_8" offset="224" context="_438" access="public" location="f0:365" file="f0" line="365"/>
1721
+ <Field id="_640" name="willnotcopy_tracks" type="_60" offset="288" context="_438" access="public" location="f0:371" file="f0" line="371"/>
1722
+ <Field id="_641" name="error_tracks" type="_60" offset="320" context="_438" access="public" location="f0:377" file="f0" line="377"/>
1723
+ <Field id="_642" name="syncing" type="_496" offset="352" context="_438" access="public" location="f0:382" file="f0" line="382"/>
1724
+ <Destructor id="_643" name="sp_offline_sync_status" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusD1Ev *INTERNAL* " demangled="sp_offline_sync_status::~sp_offline_sync_status()" location="f0:345" file="f0" line="345" endline="345" inline="1">
1725
+ </Destructor>
1726
+ <OperatorMethod id="_644" name="=" returns="_689" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusaSERKS_" demangled="sp_offline_sync_status::operator=(sp_offline_sync_status const&amp;)" location="f0:345" file="f0" line="345" endline="345" inline="1">
1727
+ <Argument type="_690" location="f0:345" file="f0" line="345"/>
1728
+ </OperatorMethod>
1729
+ <Constructor id="_645" name="sp_offline_sync_status" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusC1ERKS_ *INTERNAL* " demangled="sp_offline_sync_status::sp_offline_sync_status(sp_offline_sync_status const&amp;)" location="f0:345" file="f0" line="345" endline="345" inline="1">
1730
+ <Argument type="_690" location="f0:345" file="f0" line="345"/>
1731
+ </Constructor>
1732
+ <Constructor id="_646" name="sp_offline_sync_status" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusC1Ev *INTERNAL* " demangled="sp_offline_sync_status::sp_offline_sync_status()" location="f0:345" file="f0" line="345" inline="1"/>
1733
+ <PointerType id="_649" type="_691" size="32" align="32"/>
1734
+ <PointerType id="_650" type="_692" size="32" align="32"/>
1735
+ <PointerType id="_651" type="_693" size="32" align="32"/>
1736
+ <PointerType id="_652" type="_694" size="32" align="32"/>
1737
+ <PointerType id="_653" type="_695" size="32" align="32"/>
1738
+ <PointerType id="_654" type="_696" size="32" align="32"/>
1739
+ <PointerType id="_655" type="_697" size="32" align="32"/>
1740
+ <PointerType id="_656" type="_698" size="32" align="32"/>
1741
+ <PointerType id="_657" type="_699" size="32" align="32"/>
1742
+ <PointerType id="_658" type="_700" size="32" align="32"/>
1743
+ <ReferenceType id="_659" type="_19" size="32" align="32"/>
1744
+ <ReferenceType id="_660" type="_19c" size="32" align="32"/>
1745
+ <ArrayType id="_661" min="0" max="0u" type="_528" size="32" align="32"/>
1746
+ <ReferenceType id="_662" type="_62" size="32" align="32"/>
1747
+ <ReferenceType id="_663" type="_62c" size="32" align="32"/>
1748
+ <PointerType id="_666" type="_326c" size="32" align="32"/>
1749
+ <ReferenceType id="_667" type="_173" size="32" align="32"/>
1750
+ <ReferenceType id="_668" type="_173c" size="32" align="32"/>
1751
+ <ReferenceType id="_670" type="_193" size="32" align="32"/>
1752
+ <ReferenceType id="_671" type="_193c" size="32" align="32"/>
1753
+ <ReferenceType id="_672" type="_271" size="32" align="32"/>
1754
+ <ReferenceType id="_673" type="_271c" size="32" align="32"/>
1755
+ <PointerType id="_675" type="_707" size="32" align="32"/>
1756
+ <PointerType id="_676" type="_708" size="32" align="32"/>
1757
+ <PointerType id="_677" type="_709" size="32" align="32"/>
1758
+ <PointerType id="_678" type="_710" size="32" align="32"/>
1759
+ <PointerType id="_679" type="_711" size="32" align="32"/>
1760
+ <PointerType id="_680" type="_712" size="32" align="32"/>
1761
+ <ReferenceType id="_681" type="_325" size="32" align="32"/>
1762
+ <ReferenceType id="_682" type="_325c" size="32" align="32"/>
1763
+ <PointerType id="_684" type="_714" size="32" align="32"/>
1764
+ <PointerType id="_685" type="_715" size="32" align="32"/>
1765
+ <PointerType id="_686" type="_716" size="32" align="32"/>
1766
+ <ReferenceType id="_687" type="_338" size="32" align="32"/>
1767
+ <ReferenceType id="_688" type="_338c" size="32" align="32"/>
1768
+ <ReferenceType id="_689" type="_438" size="32" align="32"/>
1769
+ <ReferenceType id="_690" type="_438c" size="32" align="32"/>
1770
+ <FundamentalType id="_647" name="char" size="8" align="8"/>
1771
+ <CvQualifiedType id="_647c" type="_647" const="1"/>
1772
+ <CvQualifiedType id="_545c" type="_545" const="1"/>
1773
+ <CvQualifiedType id="_271c" type="_271" const="1"/>
1774
+ <CvQualifiedType id="_193c" type="_193" const="1"/>
1775
+ <CvQualifiedType id="_62c" type="_62" const="1"/>
1776
+ <CvQualifiedType id="_438c" type="_438" const="1"/>
1777
+ <FunctionType id="_707" returns="_545">
1778
+ <Argument type="_522"/>
1779
+ <Argument type="_445"/>
1780
+ </FunctionType>
1781
+ <FunctionType id="_708" returns="_545">
1782
+ <Argument type="_522"/>
1783
+ </FunctionType>
1784
+ <FunctionType id="_709" returns="_545">
1785
+ <Argument type="_522"/>
1786
+ <Argument type="_498"/>
1787
+ </FunctionType>
1788
+ <FunctionType id="_710" returns="_60">
1789
+ <Argument type="_522"/>
1790
+ <Argument type="_719"/>
1791
+ <Argument type="_576"/>
1792
+ <Argument type="_60"/>
1793
+ </FunctionType>
1794
+ <FunctionType id="_711" returns="_545">
1795
+ <Argument type="_522"/>
1796
+ <Argument type="_720"/>
1797
+ </FunctionType>
1798
+ <FunctionType id="_712" returns="_545">
1799
+ <Argument type="_522"/>
1800
+ <Argument type="_496"/>
1801
+ </FunctionType>
1802
+ <CvQualifiedType id="_325c" type="_325" const="1"/>
1803
+ <CvQualifiedType id="_326c" type="_326" const="1"/>
1804
+ <CvQualifiedType id="_173c" type="_173" const="1"/>
1805
+ <CvQualifiedType id="_174c" type="_174" const="1"/>
1806
+ <CvQualifiedType id="_501c" type="_501" const="1"/>
1807
+ <CvQualifiedType id="_418c" type="_418" const="1"/>
1808
+ <FunctionType id="_691" returns="_545">
1809
+ <Argument type="_495"/>
1810
+ <Argument type="_541"/>
1811
+ <Argument type="_60"/>
1812
+ <Argument type="_60"/>
1813
+ <Argument type="_543"/>
1814
+ </FunctionType>
1815
+ <CvQualifiedType id="_60c" type="_60" const="1"/>
1816
+ <FunctionType id="_692" returns="_545">
1817
+ <Argument type="_495"/>
1818
+ <Argument type="_621"/>
1819
+ <Argument type="_60"/>
1820
+ <Argument type="_543"/>
1821
+ </FunctionType>
1822
+ <FunctionType id="_693" returns="_545">
1823
+ <Argument type="_495"/>
1824
+ <Argument type="_621"/>
1825
+ <Argument type="_60"/>
1826
+ <Argument type="_60"/>
1827
+ <Argument type="_543"/>
1828
+ </FunctionType>
1829
+ <FunctionType id="_694" returns="_545">
1830
+ <Argument type="_495"/>
1831
+ <Argument type="_543"/>
1832
+ </FunctionType>
1833
+ <FunctionType id="_695" returns="_545">
1834
+ <Argument type="_495"/>
1835
+ <Argument type="_496"/>
1836
+ <Argument type="_543"/>
1837
+ </FunctionType>
1838
+ <FunctionType id="_696" returns="_545">
1839
+ <Argument type="_495"/>
1840
+ <Argument type="_60"/>
1841
+ <Argument type="_523"/>
1842
+ <Argument type="_60"/>
1843
+ <Argument type="_543"/>
1844
+ </FunctionType>
1845
+ <FunctionType id="_697" returns="_545">
1846
+ <Argument type="_495"/>
1847
+ <Argument type="_60"/>
1848
+ <Argument type="_496"/>
1849
+ <Argument type="_543"/>
1850
+ </FunctionType>
1851
+ <FunctionType id="_698" returns="_545">
1852
+ <Argument type="_495"/>
1853
+ <Argument type="_498"/>
1854
+ <Argument type="_543"/>
1855
+ </FunctionType>
1856
+ <FunctionType id="_699" returns="_545">
1857
+ <Argument type="_495"/>
1858
+ <Argument type="_547"/>
1859
+ <Argument type="_543"/>
1860
+ </FunctionType>
1861
+ <FunctionType id="_700" returns="_545">
1862
+ <Argument type="_495"/>
1863
+ <Argument type="_60"/>
1864
+ <Argument type="_498"/>
1865
+ <Argument type="_543"/>
1866
+ </FunctionType>
1867
+ <CvQualifiedType id="_19c" type="_19" const="1"/>
1868
+ <FunctionType id="_714" returns="_545">
1869
+ <Argument type="_526"/>
1870
+ <Argument type="_495"/>
1871
+ <Argument type="_60"/>
1872
+ <Argument type="_543"/>
1873
+ </FunctionType>
1874
+ <FunctionType id="_715" returns="_545">
1875
+ <Argument type="_526"/>
1876
+ <Argument type="_495"/>
1877
+ <Argument type="_60"/>
1878
+ <Argument type="_60"/>
1879
+ <Argument type="_543"/>
1880
+ </FunctionType>
1881
+ <FunctionType id="_716" returns="_545">
1882
+ <Argument type="_526"/>
1883
+ <Argument type="_543"/>
1884
+ </FunctionType>
1885
+ <CvQualifiedType id="_338c" type="_338" const="1"/>
1886
+ <PointerType id="_719" type="_272c" size="32" align="32"/>
1887
+ <PointerType id="_720" type="_194" size="32" align="32"/>
1888
+ <CvQualifiedType id="_272c" type="_272" const="1"/>
1889
+ <File id="f0" name="spec/support/api-linux.h"/>
1890
+ <File id="f1" name="/usr/local/share/gccxml-0.9/GCC/4.2/gccxml_builtins.h"/>
1891
+ <File id="f2" name="/usr/bin/../lib/clang/4.0/include/stdint.h"/>
1892
+ <File id="f3" name="/usr/bin/../lib/clang/4.0/include/stddef.h"/>
1893
+ </GCC_XML>