context binary # Used for most of the grammar. token octet /any/ # Filled in during the parsing of resource records. Determine what RR_UNKNOWN # translates to. rr_type_value: int rr_class_value: int # Tokens generated from RR_UNKNOWN. Used to pick the kind # of resource record to attempt to parse. token RR_A // # 1 a host address token RR_NS // # 2 an authoritative name server token RR_MD // # 3 a mail destination (Obsolete - use MX) token RR_MF // # 4 a mail forwarder (Obsolete - use MX) token RR_CNAME // # 5 the canonical name for an alias token RR_SOA // # 6 marks the start of a zone of authority token RR_MB // # 7 a mailbox domain name (EXPERIMENTAL) token RR_MG // # 8 a mail group member (EXPERIMENTAL) token RR_MR // # 9 a mail rename domain name (EXPERIMENTAL) token RR_NULL // # 10 a null RR (EXPERIMENTAL) token RR_WKS // # 11 a well known service description token RR_PTR // # 12 a domain name pointer token RR_HINFO // # 13 host information token RR_MINFO // # 14 mailbox or mail list information token RR_MX // # 15 mail exchange token RR_TXT // # 16 text strings token RR_UNKNOWN /''/ { id: int = typeid if rr_type_value == 1 id = typeid elsif rr_type_value == 2 id = typeid elsif rr_type_value == 5 id = typeid elsif rr_type_value == 12 id = typeid elsif rr_type_value == 15 id = typeid elsif rr_type_value == 16 id = typeid input->push( make_token( id '' ) ) } # Convert two octets in network order into an unsigned 16 bit value. int network_uord16( o1: octet o2: octet ) { return o1.data.uord8() * 256 + o2.data.uord8() } def message [header questions answers authorities additionals] question_count: int answer_count: int authority_count: int additional_count: int # Message Header # # 1 1 1 1 1 1 # 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | ID | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # |QR| Opcode |AA|TC|RD|RA| Z | RCODE | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | QDCOUNT | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | ANCOUNT | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | NSCOUNT | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | ARCOUNT | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ def header [header_id header_fields count count count count] { question_count = r3.count answer_count = r4.count authority_count = r5.count additional_count = r6.count } def header_id [octet octet] def header_fields [octet octet] def count count: int [octet octet] { lhs.count = network_uord16( r1 r2 ) } # # Counting Primitives # # Uses a stack of lengths. Using a stack allows for counted lists to be # nested. As the list is consumed it brings the count down to zero. To use # it, push a new count value to the list and include it in a # right-recursive list like so: # # def LIST # [count_inc ITEM LIST] # [count_end] # end # struct int_el Int: int list_el el end CL: list int start_list( count: int ) { IntEl: int_el = new int_el() IntEl->Int = count CL->push( IntEl ) } def count_inc [] { if top( CL ) == 0 { reject } else { Int: int = pop( CL ) Int = Int - 1 push( CL Int ) } } def count_end [] { if top( CL ) != 0 { reject } else { CL->pop() } } # # Octet List # # General octet list. Length must be set to use this. def octet_list [count_inc octet octet_list] | [count_end] # # Names # def name [name_part* name_end] # Name part lists are terminated by a zero length or a pointer. def name_end # Zero length ending [octet] { val: int = r1.data.uord8() if val != 0 { reject } } # Pointer ending # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | 1 1| OFFSET | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | [octet octet] { val: int = r1.data.uord8() if val < 64 { reject } } # # Get some number of bytes. # # How many to get nbytes: int # We use this token to eliminate the lookahead that would be needed to # cause a reduce of part_len. This forces whatever comes before nbytes to # be reduced before nbytes_data token is fetched from the scanner. We need # this because nbytes_data depends on the nbytes in the context and we need # to ensure that it is set. token nb_empty /''/ # Fetch nbytes bytes. token nbytes_data /''/ { input->push( make_token( typeid input->pull(nbytes) ) ) } def nbytes [nb_empty nbytes_data] def name_part [part_len nbytes] def part_len [octet] { # A name part list is terminated either by a zero length or a pointer, # which must have the two high bits set. count: int = r1.data.uord8() if count == 0 || count >= 64 { reject } else { # Set the number of bytes to get for the name part. nbytes = count } } # # Resource Records # # 1 1 1 1 1 1 # 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | | # / / # / NAME / # | | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | TYPE | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | CLASS | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | TTL | # | | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | RDLENGTH | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--| # / RDATA / # / / # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ def resource_record [name rr_type rr_class ttl rdlength rdata] def rr_type [octet octet] { rr_type_value = network_uord16( r1 r2 ) } def rr_class value: int [octet octet] { rr_class_value = network_uord16( r1 r2 ) } def ttl [octet octet octet octet] token rdata_bytes /''/ { input->push( make_token( typeid input->pull(rdata_length) ) ) } def rdlength [octet octet] { rdata_length = network_uord16( r1 r2 ) } rdata_length: int def rdata [RR_UNKNOWN rdata_bytes] | [RR_A address] | [RR_NS name] | [RR_CNAME name] | [RR_PTR name] | [RR_MX octet octet name] | [RR_TXT rdata_bytes] # # Address # def address [octet octet octet octet] # # List of Questions # def questions [load_question_count question_list] def load_question_count [] { start_list( question_count ) } def question_list [count_inc question question_list] | [count_end] # # Question # # 1 1 1 1 1 1 # 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | | # / QNAME / # / / # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | QTYPE | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # | QCLASS | # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ def question [name qtype qclass] def qtype [octet octet] def qclass [octet octet] # # List of Answers # def answers [load_answer_count answer_list] def load_answer_count [] { start_list( answer_count ) } def answer_list [count_inc answer answer_list] | [count_end] # # Answer # def answer [resource_record] # # List of Authorities # def authorities [load_authority_count authority_list] def load_authority_count [] { start_list( authority_count ) } def authority_list [count_inc authority authority_list] | [count_end] # # Authority # def authority [resource_record] # # List of Additionals # def additionals [load_additional_count additional_list] def load_additional_count [] { start_list( additional_count ) } def additional_list [count_inc additional additional_list] | [count_end] # # Additional # def additional [resource_record] def start [message*] # # Grammar End. # int print_RR_UNKNOWN( s: start ) { for I:rdata in s { if match I [u:RR_UNKNOWN rdata_bytes] { print( 'UNKNOWN TYPE\n' ) } } } int print_RR_A( s: start ) { for I:rdata in s { if match I [RR_A o1:octet o2:octet o3:octet o4:octet] { print( 'RR_A: ' o1.data.uord8() '.' o2.data.uord8() '.' o3.data.uord8() '.' o4.data.uord8() '\n' ) } } } struct name_map_el Name: name map_el el end int print_name( n: name m: map ) { for P: name_part in n { match P [part_len D:nbytes] print( D '.' ) } for E:name_end in n { if match E [o1:octet o2:octet] { val: int = (o1.data.uord8() - 192) * 256 + o2.data.uord8() print( '[' val ']' ) nameInMap: name_map_el = m->find( val ) print_name( nameInMap->Name m ) } } } int print_all_names( s: start ) { for M: message in s { m: map = new map() O: octet = octet in M for N: name in M { match N [name_part* E:name_end] for NP: name_part* in N { if match NP [L: octet nbytes name_part*] { messageOffset: int = L.pos - O.pos construct n: name [NP E] El: name_map_el = new name_map_el() El->key = messageOffset El->Name = n m->insert( El ) } } } for I: name in M { print_name( I m ) print( '\n' ) } } } end # binary Binary: binary = new binary() Binary->CL = new list() int top( L: list ) { Top: binary::int_el = L->top return Top->Int } int pop( L: list ) { Top: binary::int_el = L->pop() return Top->Int } int push( L: list Int: int ) { Top: binary::int_el = new binary::int_el() Top->Int = Int L->push( Top ) } parse S: binary::start(Binary) [ stdin ] print_all_names( S ) print( '*** SUCCESS ***\n' ) ##### EXP ##### www.google.ca. www.google.ca. [12]www.google.ca. www.google.com. [43]www.google.com. www.l.[47]google.com. [71]www.l.[47]google.com. [75]l.[47]google.com. a.[75]l.[47]google.com. [75]l.[47]google.com. d.[75]l.[47]google.com. [75]l.[47]google.com. e.[75]l.[47]google.com. [75]l.[47]google.com. f.[75]l.[47]google.com. [75]l.[47]google.com. g.[75]l.[47]google.com. [75]l.[47]google.com. b.[75]l.[47]google.com. [107]a.[75]l.[47]google.com. [123]d.[75]l.[47]google.com. [139]e.[75]l.[47]google.com. [155]f.[75]l.[47]google.com. [171]g.[75]l.[47]google.com. [187]b.[75]l.[47]google.com. clients1.google.ca. clients1.google.ca. [12]clients1.google.ca. clients.l.google.com. [48]clients.l.google.com. [56]l.google.com. e.[56]l.google.com. [56]l.google.com. f.[56]l.google.com. [56]l.google.com. g.[56]l.google.com. [56]l.google.com. b.[56]l.google.com. [56]l.google.com. a.[56]l.google.com. [56]l.google.com. d.[56]l.google.com. [98]e.[56]l.google.com. [114]f.[56]l.google.com. [130]g.[56]l.google.com. [146]b.[56]l.google.com. [162]a.[56]l.google.com. [178]d.[56]l.google.com. en-us.fxfeeds.mozilla.com. en-us.fxfeeds.mozilla.com. [12]en-us.fxfeeds.mozilla.com. fxfeeds.mozilla.org. [55]fxfeeds.mozilla.org. [63]mozilla.org. ns1.[63]mozilla.org. [63]mozilla.org. ns2.[63]mozilla.org. [63]mozilla.org. ns3.[63]mozilla.org. [104]ns1.[63]mozilla.org. [122]ns2.[63]mozilla.org. [140]ns3.[63]mozilla.org. fxfeeds.mozilla.com. fxfeeds.mozilla.com. [12]fxfeeds.mozilla.com. fxfeeds.mozilla.org. [49]fxfeeds.mozilla.org. [57]mozilla.org. ns2.[57]mozilla.org. [57]mozilla.org. ns3.[57]mozilla.org. [57]mozilla.org. ns1.[57]mozilla.org. [98]ns2.[57]mozilla.org. [116]ns3.[57]mozilla.org. [134]ns1.[57]mozilla.org. newsrss.bbc.co.uk. newsrss.bbc.co.uk. [12]newsrss.bbc.co.uk. newsrss.bbc.net.uk. [47]newsrss.bbc.net.uk. [55]bbc.net.uk. ns0.thdo.bbc.co.[63]uk. [55]bbc.net.uk. ns0.rbsov.[104]bbc.co.[63]uk. [95]ns0.thdo.bbc.co.[63]uk. [125]ns0.rbsov.[104]bbc.co.[63]uk. news.google.ca. news.google.ca. [12]news.google.ca. news.google.com. [44]news.google.com. news.l.[49]google.com. [73]news.l.[49]google.com. [78]l.[49]google.com. d.[78]l.[49]google.com. [78]l.[49]google.com. e.[78]l.[49]google.com. [78]l.[49]google.com. f.[78]l.[49]google.com. [78]l.[49]google.com. g.[78]l.[49]google.com. [78]l.[49]google.com. b.[78]l.[49]google.com. [78]l.[49]google.com. a.[78]l.[49]google.com. [110]d.[78]l.[49]google.com. [126]e.[78]l.[49]google.com. [142]f.[78]l.[49]google.com. [158]g.[78]l.[49]google.com. [174]b.[78]l.[49]google.com. [190]a.[78]l.[49]google.com. nt3.ggpht.com. nt3.ggpht.com. [12]nt3.ggpht.com. news.l.google.com. [43]news.l.google.com. [48]l.google.com. f.[48]l.google.com. [48]l.google.com. g.[48]l.google.com. [48]l.google.com. b.[48]l.google.com. [48]l.google.com. a.[48]l.google.com. [48]l.google.com. d.[48]l.google.com. [48]l.google.com. e.[48]l.google.com. [90]f.[48]l.google.com. [106]g.[48]l.google.com. [122]b.[48]l.google.com. [138]a.[48]l.google.com. [154]d.[48]l.google.com. [170]e.[48]l.google.com. csi.gstatic.com. csi.gstatic.com. [12]csi.gstatic.com. csi.l.google.com. [45]csi.l.google.com. [49]l.google.com. d.[49]l.google.com. [49]l.google.com. e.[49]l.google.com. [49]l.google.com. f.[49]l.google.com. [49]l.google.com. g.[49]l.google.com. [49]l.google.com. b.[49]l.google.com. [49]l.google.com. a.[49]l.google.com. [91]d.[49]l.google.com. [107]e.[49]l.google.com. [123]f.[49]l.google.com. [139]g.[49]l.google.com. [155]b.[49]l.google.com. [171]a.[49]l.google.com. www.nytimes.com. www.nytimes.com. [12]www.nytimes.com. nytimes.com. nydns1.about.[57]com. [49]nytimes.com. ns1t.[49]nytimes.com. [49]nytimes.com. nydns2.[79]about.[57]com. [72]nydns1.about.[57]com. [99]ns1t.[49]nytimes.com. [118]nydns2.[79]about.[57]com. graphics8.nytimes.com. graphics8.nytimes.com. [12]graphics8.nytimes.com. graphics478.nytimes.com.edgesuite.net. [51]graphics478.nytimes.com.edgesuite.net. a1116.x.akamai.[85]net. [102]a1116.x.akamai.[85]net. [102]a1116.x.akamai.[85]net. [108]x.akamai.[85]net. n0x.[110]akamai.[85]net. [108]x.akamai.[85]net. n1x.[110]akamai.[85]net. [108]x.akamai.[85]net. n6x.[110]akamai.[85]net. [108]x.akamai.[85]net. n3x.[110]akamai.[85]net. [108]x.akamai.[85]net. n2x.[110]akamai.[85]net. [108]x.akamai.[85]net. n7x.[110]akamai.[85]net. [108]x.akamai.[85]net. n5x.[110]akamai.[85]net. [108]x.akamai.[85]net. n8x.[110]akamai.[85]net. [108]x.akamai.[85]net. n4x.[110]akamai.[85]net. [163]n0x.[110]akamai.[85]net. [181]n1x.[110]akamai.[85]net. [199]n6x.[110]akamai.[85]net. [217]n3x.[110]akamai.[85]net. [235]n2x.[110]akamai.[85]net. [253]n7x.[110]akamai.[85]net. [271]n5x.[110]akamai.[85]net. [289]n8x.[110]akamai.[85]net. [307]n4x.[110]akamai.[85]net. timespeople.nytimes.com. timespeople.nytimes.com. [12]timespeople.nytimes.com. nytimes.com. nydns2.about.[65]com. [57]nytimes.com. nydns1.[87]about.[65]com. [57]nytimes.com. ns1t.[57]nytimes.com. [80]nydns2.about.[65]com. [107]nydns1.[87]about.[65]com. [128]ns1t.[57]nytimes.com. googleads.g.doubleclick.net. googleads.g.doubleclick.net. [12]googleads.g.doubleclick.net. pagead.l.doubleclick.net. [57]pagead.l.doubleclick.net. [64]l.doubleclick.net. b.l.google.com. [64]l.doubleclick.net. d.[113]l.google.com. [64]l.doubleclick.net. e.[113]l.google.com. [64]l.doubleclick.net. f.[113]l.google.com. [64]l.doubleclick.net. g.[113]l.google.com. [64]l.doubleclick.net. a.[113]l.google.com. [111]b.l.google.com. [139]d.[113]l.google.com. [155]e.[113]l.google.com. [171]f.[113]l.google.com. [187]g.[113]l.google.com. [203]a.[113]l.google.com. up.nytimes.com. up.nytimes.com. [12]up.nytimes.com. up.about.akadns.net. [44]up.about.akadns.net. [53]akadns.net. eur1.[53]akadns.net. [53]akadns.net. use3.[53]akadns.net. [53]akadns.net. use4.[53]akadns.net. [53]akadns.net. usw2.[53]akadns.net. [53]akadns.net. za.akadns.org. [53]akadns.net. zb.[172]akadns.org. [53]akadns.net. zc.[172]akadns.org. [53]akadns.net. zd.[172]akadns.org. [53]akadns.net. asia9.[53]akadns.net. [93]eur1.[53]akadns.net. [112]use3.[53]akadns.net. [131]use4.[53]akadns.net. [150]usw2.[53]akadns.net. [169]za.akadns.org. [196]zb.[172]akadns.org. [213]zc.[172]akadns.org. [230]zd.[172]akadns.org. [247]asia9.[53]akadns.net. pix04.revsci.net. pix04.revsci.net. [12]pix04.revsci.net. revsci.net. ns2.p16.dynect.[57]net. [50]revsci.net. ns3.[76]p16.dynect.[57]net. [50]revsci.net. ns1.[76]p16.dynect.[57]net. [50]revsci.net. ns4.[76]p16.dynect.[57]net. [72]ns2.p16.dynect.[57]net. [101]ns3.[76]p16.dynect.[57]net. [119]ns1.[76]p16.dynect.[57]net. [137]ns4.[76]p16.dynect.[57]net. wt.o.nytimes.com. wt.o.nytimes.com. [12]wt.o.nytimes.com. nytimes.webtrends.akadns.net. [46]nytimes.webtrends.akadns.net. [64]akadns.net. use3.[64]akadns.net. [64]akadns.net. use4.[64]akadns.net. [64]akadns.net. usw2.[64]akadns.net. [64]akadns.net. za.akadns.org. [64]akadns.net. zb.[164]akadns.org. [64]akadns.net. zc.[164]akadns.org. [64]akadns.net. zd.[164]akadns.org. [64]akadns.net. asia9.[64]akadns.net. [64]akadns.net. eur1.[64]akadns.net. [104]use3.[64]akadns.net. [123]use4.[64]akadns.net. [142]usw2.[64]akadns.net. [161]za.akadns.org. [188]zb.[164]akadns.org. [205]zc.[164]akadns.org. [222]zd.[164]akadns.org. [239]asia9.[64]akadns.net. [259]eur1.[64]akadns.net. te.nytimes.com. ar.voicefive.com. te.nytimes.com. [12]te.nytimes.com. nytd.te.tacoda.net. [44]nytd.te.tacoda.net. te.tacoda.akadns.[59]net. [76]te.tacoda.akadns.[59]net. [86]akadns.[59]net. use4.[86]akadns.[59]net. [86]akadns.[59]net. usw2.[86]akadns.[59]net. [86]akadns.[59]net. za.akadns.org. [86]akadns.[59]net. zb.[164]akadns.org. [86]akadns.[59]net. zc.[164]akadns.org. [86]akadns.[59]net. zd.[164]akadns.org. [86]akadns.[59]net. asia9.[86]akadns.[59]net. [86]akadns.[59]net. eur1.[86]akadns.[59]net. [86]akadns.[59]net. use3.[86]akadns.[59]net. [123]use4.[86]akadns.[59]net. [142]usw2.[86]akadns.[59]net. [161]za.akadns.org. [188]zb.[164]akadns.org. [205]zc.[164]akadns.org. [222]zd.[164]akadns.org. [239]asia9.[86]akadns.[59]net. [259]eur1.[86]akadns.[59]net. [278]use3.[86]akadns.[59]net. ar.voicefive.com. [12]ar.voicefive.com. ar.gta.voicefive.com. [46]ar.gta.voicefive.com. [49]gta.voicefive.com. gta02.ord.[53]voicefive.com. [49]gta.voicefive.com. gta01.iad.[53]voicefive.com. [49]gta.voicefive.com. gta01.[102]ord.[53]voicefive.com. [49]gta.voicefive.com. gta02.[126]iad.[53]voicefive.com. [96]gta02.ord.[53]voicefive.com. [120]gta01.iad.[53]voicefive.com. [144]gta01.[102]ord.[53]voicefive.com. [164]gta02.[126]iad.[53]voicefive.com. www.google.com. www.google.com. [12]www.google.com. www.l.google.com. [44]www.l.google.com. [48]l.google.com. d.[48]l.google.com. [48]l.google.com. e.[48]l.google.com. [48]l.google.com. f.[48]l.google.com. [48]l.google.com. g.[48]l.google.com. [48]l.google.com. b.[48]l.google.com. [48]l.google.com. a.[48]l.google.com. [90]d.[48]l.google.com. [106]e.[48]l.google.com. [122]f.[48]l.google.com. [138]g.[48]l.google.com. [154]b.[48]l.google.com. [170]a.[48]l.google.com. www.google-analytics.com. www.google-analytics.com. [12]www.google-analytics.com. www-google-analytics.l.google.com. [54]www-google-analytics.l.google.com. [75]l.google.com. f.[75]l.google.com. [75]l.google.com. g.[75]l.google.com. [75]l.google.com. b.[75]l.google.com. [75]l.google.com. a.[75]l.google.com. [75]l.google.com. d.[75]l.google.com. [75]l.google.com. e.[75]l.google.com. [117]f.[75]l.google.com. [133]g.[75]l.google.com. [149]b.[75]l.google.com. [165]a.[75]l.google.com. [181]d.[75]l.google.com. [197]e.[75]l.google.com. pagead2.googlesyndication.com. pagead2.googlesyndication.com. [12]pagead2.googlesyndication.com. pagead.l.google.com. [59]pagead.l.google.com. [66]l.google.com. g.[66]l.google.com. [66]l.google.com. b.[66]l.google.com. [66]l.google.com. a.[66]l.google.com. [66]l.google.com. d.[66]l.google.com. [66]l.google.com. e.[66]l.google.com. [66]l.google.com. f.[66]l.google.com. [108]g.[66]l.google.com. [124]b.[66]l.google.com. [140]a.[66]l.google.com. [156]d.[66]l.google.com. [172]e.[66]l.google.com. [188]f.[66]l.google.com. maps.google.com. maps.google.com. [12]maps.google.com. maps.l.google.com. [45]maps.l.google.com. [50]l.google.com. b.[50]l.google.com. [50]l.google.com. a.[50]l.google.com. [50]l.google.com. d.[50]l.google.com. [50]l.google.com. e.[50]l.google.com. [50]l.google.com. f.[50]l.google.com. [50]l.google.com. g.[50]l.google.com. [92]b.[50]l.google.com. [108]a.[50]l.google.com. [124]d.[50]l.google.com. [140]e.[50]l.google.com. [156]f.[50]l.google.com. [172]g.[50]l.google.com. maps.gstatic.com. maps.gstatic.com. [12]maps.gstatic.com. www2.l.google.com. [46]www2.l.google.com. [51]l.google.com. a.[51]l.google.com. [51]l.google.com. d.[51]l.google.com. [51]l.google.com. e.[51]l.google.com. [51]l.google.com. f.[51]l.google.com. [51]l.google.com. g.[51]l.google.com. [51]l.google.com. b.[51]l.google.com. [93]a.[51]l.google.com. [109]d.[51]l.google.com. [125]e.[51]l.google.com. [141]f.[51]l.google.com. [157]g.[51]l.google.com. [173]b.[51]l.google.com. www.calgaryherald.com. www.calgaryherald.com. [12]www.calgaryherald.com. calgaryherald.com. ns1.canwest.[69]com. [55]calgaryherald.com. ns2.[88]canwest.[69]com. [84]ns1.canwest.[69]com. [110]ns2.[88]canwest.[69]com. a123.g.akamai.net. a123.g.akamai.net. [12]a123.g.akamai.net. [12]a123.g.akamai.net. members.canada.com. members.canada.com. [12]members.canada.com. canada.com. ns2.canwest.[59]com. [52]canada.com. ns1.[78]canwest.[59]com. [74]ns2.canwest.[59]com. [100]ns1.[78]canwest.[59]com. www.canada.com. www.canada.com. [12]www.canada.com. canada.com. ns1.canwest.[55]com. [48]canada.com. ns2.[74]canwest.[55]com. [70]ns1.canwest.[55]com. [96]ns2.[74]canwest.[55]com. s9.addthis.com. s9.addthis.com. [12]s9.addthis.com. wildcard.addthis.com.edgekey.net. [44]wildcard.addthis.com.edgekey.net. e2943.c.akamaiedge.[73]net. [90]e2943.c.akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n7c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n5c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n8c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n0c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n6c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n1c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n4c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n3c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n2c.[98]akamaiedge.[73]net. [139]n7c.[98]akamaiedge.[73]net. [157]n5c.[98]akamaiedge.[73]net. [175]n8c.[98]akamaiedge.[73]net. [193]n0c.[98]akamaiedge.[73]net. [211]n6c.[98]akamaiedge.[73]net. [229]n1c.[98]akamaiedge.[73]net. [247]n4c.[98]akamaiedge.[73]net. [265]n3c.[98]akamaiedge.[73]net. [283]n2c.[98]akamaiedge.[73]net. communities.canada.com. communities.canada.com. [12]communities.canada.com. canada.com. ns1.canwest.[63]com. [56]canada.com. ns2.[82]canwest.[63]com. [78]ns1.canwest.[63]com. [104]ns2.[82]canwest.[63]com. canwestglobal.112.2o7.net. beacon.securestudies.com. beacon.securestudies.com. [12]beacon.securestudies.com. beacon.gta.securestudies.com. [54]beacon.gta.securestudies.com. [61]gta.securestudies.com. gta02.iad.[65]securestudies.com. [61]gta.securestudies.com. gta02.ord.[65]securestudies.com. [61]gta.securestudies.com. gta01.[118]iad.[65]securestudies.com. [61]gta.securestudies.com. gta01.[142]ord.[65]securestudies.com. [112]gta02.iad.[65]securestudies.com. [136]gta02.ord.[65]securestudies.com. [160]gta01.[118]iad.[65]securestudies.com. [180]gta01.[142]ord.[65]securestudies.com. canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. 2o7.net. ns1.dal.omniture.com. [155]2o7.net. ns1.sj1.[182]omniture.com. [155]2o7.net. ns1.sj2.[182]omniture.com. [174]ns1.dal.omniture.com. [208]ns1.sj1.[182]omniture.com. [230]ns1.sj2.[182]omniture.com. s7.addthis.com. s7.addthis.com. [12]s7.addthis.com. wildcard.addthis.com.edgekey.net. [44]wildcard.addthis.com.edgekey.net. e2943.c.akamaiedge.[73]net. [90]e2943.c.akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n5c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n8c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n0c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n6c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n1c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n4c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n3c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n2c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n7c.[98]akamaiedge.[73]net. [139]n5c.[98]akamaiedge.[73]net. [157]n8c.[98]akamaiedge.[73]net. [175]n0c.[98]akamaiedge.[73]net. [193]n6c.[98]akamaiedge.[73]net. [211]n1c.[98]akamaiedge.[73]net. [229]n4c.[98]akamaiedge.[73]net. [247]n3c.[98]akamaiedge.[73]net. [265]n2c.[98]akamaiedge.[73]net. [283]n7c.[98]akamaiedge.[73]net. csi.gstatic.com. csi.gstatic.com. [12]csi.gstatic.com. csi.l.google.com. [45]csi.l.google.com. [49]l.google.com. d.[49]l.google.com. [49]l.google.com. e.[49]l.google.com. [49]l.google.com. f.[49]l.google.com. [49]l.google.com. g.[49]l.google.com. [49]l.google.com. b.[49]l.google.com. [49]l.google.com. a.[49]l.google.com. [91]d.[49]l.google.com. [107]e.[49]l.google.com. [123]f.[49]l.google.com. [139]g.[49]l.google.com. [155]b.[49]l.google.com. [171]a.[49]l.google.com. www.thestar.com. www.thestar.com. [12]www.thestar.com. [16]thestar.com. ns1.[16]thestar.com. [16]thestar.com. ns2.[16]thestar.com. [61]ns1.[16]thestar.com. [79]ns2.[16]thestar.com. beacon.scorecardresearch.com. beacon.scorecardresearch.com. [12]beacon.scorecardresearch.com. beacon.gta.scorecardresearch.com. [58]beacon.gta.scorecardresearch.com. [65]gta.scorecardresearch.com. gta01.iad.[69]scorecardresearch.com. [65]gta.scorecardresearch.com. gta02.ord.[69]scorecardresearch.com. [65]gta.scorecardresearch.com. gta01.[150]ord.[69]scorecardresearch.com. [65]gta.scorecardresearch.com. gta02.[126]iad.[69]scorecardresearch.com. [120]gta01.iad.[69]scorecardresearch.com. [144]gta02.ord.[69]scorecardresearch.com. [168]gta01.[150]ord.[69]scorecardresearch.com. [188]gta02.[126]iad.[69]scorecardresearch.com. media.thestar.topscms.com. media.thestar.topscms.com. [12]media.thestar.topscms.com. media.thestar.topscms.com.edgesuite.net. [55]media.thestar.topscms.com.edgesuite.net. a1520.g.akamai.[91]net. [108]a1520.g.akamai.[91]net. [108]a1520.g.akamai.[91]net. [114]g.akamai.[91]net. n0g.[116]akamai.[91]net. [114]g.akamai.[91]net. n4g.[116]akamai.[91]net. [114]g.akamai.[91]net. n2g.[116]akamai.[91]net. [114]g.akamai.[91]net. n5g.[116]akamai.[91]net. [114]g.akamai.[91]net. n7g.[116]akamai.[91]net. [114]g.akamai.[91]net. n6g.[116]akamai.[91]net. [114]g.akamai.[91]net. n8g.[116]akamai.[91]net. [114]g.akamai.[91]net. n1g.[116]akamai.[91]net. [114]g.akamai.[91]net. n3g.[116]akamai.[91]net. [169]n0g.[116]akamai.[91]net. [187]n4g.[116]akamai.[91]net. [205]n2g.[116]akamai.[91]net. [223]n5g.[116]akamai.[91]net. [241]n7g.[116]akamai.[91]net. [259]n6g.[116]akamai.[91]net. [277]n8g.[116]akamai.[91]net. [295]n1g.[116]akamai.[91]net. [313]n3g.[116]akamai.[91]net. www.addthis.com. www.addthis.com. [12]www.addthis.com. vp-www.addthis.com. [45]vp-www.addthis.com. [52]addthis.com. eur2.akam.net. [52]addthis.com. usc1.[98]akam.net. [52]addthis.com. usc2.[98]akam.net. [52]addthis.com. usw1.[98]akam.net. [52]addthis.com. usw6.[98]akam.net. [52]addthis.com. asia3.[98]akam.net. [52]addthis.com. ns1-33.[98]akam.net. [52]addthis.com. ns1-43.[98]akam.net. [93]eur2.akam.net. [120]usc1.[98]akam.net. [139]usc2.[98]akam.net. [158]usw1.[98]akam.net. [177]usw6.[98]akam.net. [196]asia3.[98]akam.net. [216]ns1-33.[98]akam.net. [237]ns1-43.[98]akam.net. n.thestar.com. n.thestar.com. [12]n.thestar.com. thestar.com.122.2o7.net. [43]thestar.com.122.2o7.net. [43]thestar.com.122.2o7.net. [43]thestar.com.122.2o7.net. [43]thestar.com.122.2o7.net. [43]thestar.com.122.2o7.net. [43]thestar.com.122.2o7.net. [59]2o7.net. ns1.sj1.omniture.com. [59]2o7.net. ns1.sj2.[184]omniture.com. [59]2o7.net. ns1.dal.[184]omniture.com. [176]ns1.sj1.omniture.com. [210]ns1.sj2.[184]omniture.com. [232]ns1.dal.[184]omniture.com. news.therecord.com. news.therecord.com. [12]news.therecord.com. therecord.com. ns1.thestar.[62]com. [52]therecord.com. ns2.[81]thestar.[62]com. [77]ns1.thestar.[62]com. [103]ns2.[81]thestar.[62]com. media.therecord.topscms.com. media.therecord.topscms.com. [12]media.therecord.topscms.com. media.therecord.topscms.com.edgesuite.net. [57]media.therecord.topscms.com.edgesuite.net. a847.g.akamai.[95]net. [112]a847.g.akamai.[95]net. [112]a847.g.akamai.[95]net. [117]g.akamai.[95]net. n2g.[119]akamai.[95]net. [117]g.akamai.[95]net. n5g.[119]akamai.[95]net. [117]g.akamai.[95]net. n7g.[119]akamai.[95]net. [117]g.akamai.[95]net. n6g.[119]akamai.[95]net. [117]g.akamai.[95]net. n8g.[119]akamai.[95]net. [117]g.akamai.[95]net. n1g.[119]akamai.[95]net. [117]g.akamai.[95]net. n3g.[119]akamai.[95]net. [117]g.akamai.[95]net. n0g.[119]akamai.[95]net. [117]g.akamai.[95]net. n4g.[119]akamai.[95]net. [172]n2g.[119]akamai.[95]net. [190]n5g.[119]akamai.[95]net. [208]n7g.[119]akamai.[95]net. [226]n6g.[119]akamai.[95]net. [244]n8g.[119]akamai.[95]net. [262]n1g.[119]akamai.[95]net. [280]n3g.[119]akamai.[95]net. [298]n0g.[119]akamai.[95]net. [316]n4g.[119]akamai.[95]net. media.therecord.com. www.goldbook.ca. media.therecord.com. [12]media.therecord.com. therecord.com. ns2.thestar.[63]com. [53]therecord.com. ns1.[82]thestar.[63]com. [78]ns2.thestar.[63]com. [104]ns1.[82]thestar.[63]com. www.goldbook.ca. [12]www.goldbook.ca. goldbook.ca. [45]goldbook.ca. [45]goldbook.ca. ns4.everydns.net. [45]goldbook.ca. ns1.[90]everydns.net. [45]goldbook.ca. ns2.[90]everydns.net. [45]goldbook.ca. ns3.[90]everydns.net. [86]ns4.everydns.net. [116]ns1.[90]everydns.net. [134]ns2.[90]everydns.net. [152]ns3.[90]everydns.net. torstardigital.122.2o7.net. torstardigital.122.2o7.net. [12]torstardigital.122.2o7.net. [12]torstardigital.122.2o7.net. [12]torstardigital.122.2o7.net. [12]torstardigital.122.2o7.net. [12]torstardigital.122.2o7.net. [12]torstardigital.122.2o7.net. 2o7.net. ns1.dal.omniture.com. [140]2o7.net. ns1.sj1.[167]omniture.com. [140]2o7.net. ns1.sj2.[167]omniture.com. [159]ns1.dal.omniture.com. [193]ns1.sj1.[167]omniture.com. [215]ns1.sj2.[167]omniture.com. news.google.ca. news.google.ca. [12]news.google.ca. news.google.com. [44]news.google.com. news.l.[49]google.com. [73]news.l.[49]google.com. [78]l.[49]google.com. e.[78]l.[49]google.com. [78]l.[49]google.com. b.[78]l.[49]google.com. [78]l.[49]google.com. a.[78]l.[49]google.com. [78]l.[49]google.com. g.[78]l.[49]google.com. [78]l.[49]google.com. d.[78]l.[49]google.com. [78]l.[49]google.com. f.[78]l.[49]google.com. [110]e.[78]l.[49]google.com. [126]b.[78]l.[49]google.com. [142]a.[78]l.[49]google.com. [158]g.[78]l.[49]google.com. [174]d.[78]l.[49]google.com. [190]f.[78]l.[49]google.com. googleads.g.doubleclick.net. googleads.g.doubleclick.net. [12]googleads.g.doubleclick.net. pagead.l.doubleclick.net. [57]pagead.l.doubleclick.net. [64]l.doubleclick.net. g.l.google.com. [64]l.doubleclick.net. a.[113]l.google.com. [64]l.doubleclick.net. b.[113]l.google.com. [64]l.doubleclick.net. d.[113]l.google.com. [64]l.doubleclick.net. e.[113]l.google.com. [64]l.doubleclick.net. f.[113]l.google.com. [111]g.l.google.com. [139]a.[113]l.google.com. [155]b.[113]l.google.com. [171]d.[113]l.google.com. [187]e.[113]l.google.com. [203]f.[113]l.google.com. www.montrealgazette.com. www.montrealgazette.com. [12]www.montrealgazette.com. montrealgazette.com. ns2.canwest.[73]com. [57]montrealgazette.com. ns1.[92]canwest.[73]com. [88]ns2.canwest.[73]com. [114]ns1.[92]canwest.[73]com. a123.g.akamai.net. a123.g.akamai.net. [12]a123.g.akamai.net. [12]a123.g.akamai.net. members.canada.com. members.canada.com. [12]members.canada.com. canada.com. ns2.canwest.[59]com. [52]canada.com. ns1.[78]canwest.[59]com. [74]ns2.canwest.[59]com. [100]ns1.[78]canwest.[59]com. www.cbc.ca. www.cbc.ca. [12]www.cbc.ca. www.cbc.ca.edgesuite.net. [40]www.cbc.ca.edgesuite.net. a1849.gc.akamai.[61]net. [78]a1849.gc.akamai.[61]net. [78]a1849.gc.akamai.[61]net. [84]gc.akamai.[61]net. n6gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n1gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n4gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n8gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n2gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n0gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n7gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n5gc.[87]akamai.[61]net. [84]gc.akamai.[61]net. n3gc.[87]akamai.[61]net. [140]n6gc.[87]akamai.[61]net. [159]n1gc.[87]akamai.[61]net. [178]n4gc.[87]akamai.[61]net. [197]n8gc.[87]akamai.[61]net. [216]n2gc.[87]akamai.[61]net. [235]n0gc.[87]akamai.[61]net. [254]n7gc.[87]akamai.[61]net. [273]n5gc.[87]akamai.[61]net. [292]n3gc.[87]akamai.[61]net. a.cbc.ca. a.cbc.ca. [12]a.cbc.ca. ehg-cbc.hitbox.com. [38]ehg-cbc.hitbox.com. [46]hitbox.com. dns06.omniture.[53]com. [46]hitbox.com. dns05.[92]omniture.[53]com. [46]hitbox.com. dns04.[92]omniture.[53]com. [46]hitbox.com. dns03.[92]omniture.[53]com. [46]hitbox.com. dns02.[92]omniture.[53]com. [46]hitbox.com. dns01.[92]omniture.[53]com. [86]dns06.omniture.[53]com. [115]dns05.[92]omniture.[53]com. [135]dns04.[92]omniture.[53]com. [155]dns03.[92]omniture.[53]com. [175]dns02.[92]omniture.[53]com. [195]dns01.[92]omniture.[53]com. assets.loomia.com. assets.loomia.com. [12]assets.loomia.com. a.[19]loomia.com. [47]a.[19]loomia.com. [19]loomia.com. ns15.dnsmadeeasy.[26]com. [19]loomia.com. ns14.[84]dnsmadeeasy.[26]com. [19]loomia.com. ns12.[84]dnsmadeeasy.[26]com. [19]loomia.com. ns11.[84]dnsmadeeasy.[26]com. [19]loomia.com. ns13.[84]dnsmadeeasy.[26]com. [19]loomia.com. ns10.[84]dnsmadeeasy.[26]com. recs-social.loomia.com. recs-social.loomia.com. [12]recs-social.loomia.com. rec-assets.[24]loomia.com. [52]rec-assets.[24]loomia.com. [24]loomia.com. ns14.dnsmadeeasy.[31]com. [24]loomia.com. ns11.[98]dnsmadeeasy.[31]com. [24]loomia.com. ns12.[98]dnsmadeeasy.[31]com. [24]loomia.com. ns15.[98]dnsmadeeasy.[31]com. [24]loomia.com. ns10.[98]dnsmadeeasy.[31]com. [24]loomia.com. ns13.[98]dnsmadeeasy.[31]com. e1.clearspring.com. static-cache.loomia.com. static-cache.loomia.com. [12]static-cache.loomia.com. static-cache.loomia.com.edgesuite.net. [53]static-cache.loomia.com.edgesuite.net. a298.g.akamai.[87]net. [104]a298.g.akamai.[87]net. [104]a298.g.akamai.[87]net. [109]g.akamai.[87]net. n4g.[111]akamai.[87]net. [109]g.akamai.[87]net. n2g.[111]akamai.[87]net. [109]g.akamai.[87]net. n5g.[111]akamai.[87]net. [109]g.akamai.[87]net. n7g.[111]akamai.[87]net. [109]g.akamai.[87]net. n6g.[111]akamai.[87]net. [109]g.akamai.[87]net. n8g.[111]akamai.[87]net. [109]g.akamai.[87]net. n1g.[111]akamai.[87]net. [109]g.akamai.[87]net. n3g.[111]akamai.[87]net. [109]g.akamai.[87]net. n0g.[111]akamai.[87]net. [164]n4g.[111]akamai.[87]net. [182]n2g.[111]akamai.[87]net. [200]n5g.[111]akamai.[87]net. [218]n7g.[111]akamai.[87]net. [236]n6g.[111]akamai.[87]net. [254]n8g.[111]akamai.[87]net. [272]n1g.[111]akamai.[87]net. [290]n3g.[111]akamai.[87]net. [308]n0g.[111]akamai.[87]net. e1.clearspring.com. [12]e1.clearspring.com. [15]clearspring.com. usc2.akam.net. [15]clearspring.com. usw1.[69]akam.net. [15]clearspring.com. usw6.[69]akam.net. [15]clearspring.com. asia3.[69]akam.net. [15]clearspring.com. ns1-33.[69]akam.net. [15]clearspring.com. ns1-43.[69]akam.net. [15]clearspring.com. eur2.[69]akam.net. [15]clearspring.com. usc1.[69]akam.net. csi.gstatic.com. csi.gstatic.com. [12]csi.gstatic.com. csi.l.google.com. [45]csi.l.google.com. [49]l.google.com. b.[49]l.google.com. [49]l.google.com. e.[49]l.google.com. [49]l.google.com. d.[49]l.google.com. [49]l.google.com. a.[49]l.google.com. [49]l.google.com. f.[49]l.google.com. [49]l.google.com. g.[49]l.google.com. [91]b.[49]l.google.com. [107]e.[49]l.google.com. [123]d.[49]l.google.com. [139]a.[49]l.google.com. [155]f.[49]l.google.com. [171]g.[49]l.google.com. www.gstatic.com. www.gstatic.com. [12]www.gstatic.com. www2.l.google.com. [45]www2.l.google.com. [50]l.google.com. d.[50]l.google.com. [50]l.google.com. f.[50]l.google.com. [50]l.google.com. e.[50]l.google.com. [50]l.google.com. b.[50]l.google.com. [50]l.google.com. a.[50]l.google.com. [50]l.google.com. g.[50]l.google.com. [92]d.[50]l.google.com. [108]f.[50]l.google.com. [124]e.[50]l.google.com. [140]b.[50]l.google.com. [156]a.[50]l.google.com. [172]g.[50]l.google.com. i.ytimg.com. i.ytimg.com. [12]i.ytimg.com. ytimg.l.google.com. [41]ytimg.l.google.com. [47]l.google.com. b.[47]l.google.com. [47]l.google.com. a.[47]l.google.com. [47]l.google.com. g.[47]l.google.com. [47]l.google.com. d.[47]l.google.com. [47]l.google.com. f.[47]l.google.com. [47]l.google.com. e.[47]l.google.com. [89]b.[47]l.google.com. [105]a.[47]l.google.com. [121]g.[47]l.google.com. [137]d.[47]l.google.com. [153]f.[47]l.google.com. [169]e.[47]l.google.com. news.bbc.co.uk. news.bbc.co.uk. [12]news.bbc.co.uk. newswww.bbc.net.uk. [44]newswww.bbc.net.uk. [52]bbc.net.uk. ns0.rbsov.bbc.co.[60]uk. [52]bbc.net.uk. ns0.thdo.[102]bbc.co.[60]uk. [92]ns0.rbsov.bbc.co.[60]uk. [123]ns0.thdo.[102]bbc.co.[60]uk. node1.bbcimg.co.uk. node1.bbcimg.co.uk. [12]node1.bbcimg.co.uk. img.bbc.net.uk. [48]img.bbc.net.uk. [52]bbc.net.uk. ns0.rbsov.bbc.co.[60]uk. [52]bbc.net.uk. ns0.thdo.[102]bbc.co.[60]uk. [92]ns0.rbsov.bbc.co.[60]uk. [123]ns0.thdo.[102]bbc.co.[60]uk. newsimg.bbc.co.uk. newsimg.bbc.co.uk. [12]newsimg.bbc.co.uk. newsimg.bbc.net.uk. [47]newsimg.bbc.net.uk. news.bbc.co.uk.edgesuite.net. [79]news.bbc.co.uk.edgesuite.net. a1733.g.akamai.[104]net. [121]a1733.g.akamai.[104]net. [121]a1733.g.akamai.[104]net. [127]g.akamai.[104]net. n7g.[129]akamai.[104]net. [127]g.akamai.[104]net. n6g.[129]akamai.[104]net. [127]g.akamai.[104]net. n8g.[129]akamai.[104]net. [127]g.akamai.[104]net. n1g.[129]akamai.[104]net. [127]g.akamai.[104]net. n3g.[129]akamai.[104]net. [127]g.akamai.[104]net. n0g.[129]akamai.[104]net. [127]g.akamai.[104]net. n4g.[129]akamai.[104]net. [127]g.akamai.[104]net. n2g.[129]akamai.[104]net. [127]g.akamai.[104]net. n5g.[129]akamai.[104]net. [182]n7g.[129]akamai.[104]net. [200]n6g.[129]akamai.[104]net. [218]n8g.[129]akamai.[104]net. [236]n1g.[129]akamai.[104]net. [254]n3g.[129]akamai.[104]net. [272]n0g.[129]akamai.[104]net. [290]n4g.[129]akamai.[104]net. [308]n2g.[129]akamai.[104]net. [326]n5g.[129]akamai.[104]net. stats.bbc.co.uk. stats.bbc.co.uk. [12]stats.bbc.co.uk. [12]stats.bbc.co.uk. bbc.co.uk. ns1.thls.[65]bbc.co.uk. [65]bbc.co.uk. ns1.thdo.[65]bbc.co.uk. [65]bbc.co.uk. ns1.rbsov.[65]bbc.co.uk. [65]bbc.co.uk. ns1.[65]bbc.co.uk. [86]ns1.thls.[65]bbc.co.uk. [109]ns1.thdo.[65]bbc.co.uk. [132]ns1.rbsov.[65]bbc.co.uk. [156]ns1.[65]bbc.co.uk. visualscience.external.bbc.co.uk. js.revsci.net. visualscience.external.bbc.co.uk. [12]visualscience.external.bbc.co.uk. csvtm.interactionscience.com. [62]csvtm.interactionscience.com. [68]interactionscience.com. ns1.sj1.omniture.[87]com. [68]interactionscience.com. ns1.sj2.[128]omniture.[87]com. [68]interactionscience.com. ns1.dal.[128]omniture.[87]com. [120]ns1.sj1.omniture.[87]com. [151]ns1.sj2.[128]omniture.[87]com. [173]ns1.dal.[128]omniture.[87]com. js.revsci.net. [12]js.revsci.net. [15]revsci.net. ns3.p16.dynect.[22]net. [15]revsci.net. ns4.[63]p16.dynect.[22]net. [15]revsci.net. ns2.[63]p16.dynect.[22]net. [15]revsci.net. ns1.[63]p16.dynect.[22]net. pix04.revsci.net. pix04.revsci.net. [12]pix04.revsci.net. [18]revsci.net. ns4.p16.dynect.[25]net. [18]revsci.net. ns1.[66]p16.dynect.[25]net. [18]revsci.net. ns3.[66]p16.dynect.[25]net. [18]revsci.net. ns2.[66]p16.dynect.[25]net. pixel.quantserve.com. pixel.quantserve.com. [12]pixel.quantserve.com. map-pb.quantserve.com.akadns.net. [50]map-pb.quantserve.com.akadns.net. ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [96]ac-na.[57]quantserve.com.akadns.net. [72]akadns.net. za.akadns.org. [72]akadns.net. zb.[231]akadns.org. [72]akadns.net. zc.[231]akadns.org. [72]akadns.net. zd.[231]akadns.org. [72]akadns.net. asia9.[72]akadns.net. [72]akadns.net. eur1.[72]akadns.net. [72]akadns.net. use3.[72]akadns.net. [72]akadns.net. use4.[72]akadns.net. [72]akadns.net. usw2.[72]akadns.net. [228]za.akadns.org. [255]zb.[231]akadns.org. [272]zc.[231]akadns.org. [289]zd.[231]akadns.org. [306]asia9.[72]akadns.net. [326]eur1.[72]akadns.net. [345]use3.[72]akadns.net. www.vancouversun.com. www.vancouversun.com. [12]www.vancouversun.com. vancouversun.com. ns1.canwest.[67]com. [54]vancouversun.com. ns2.[86]canwest.[67]com. [82]ns1.canwest.[67]com. [108]ns2.[86]canwest.[67]com. www.scan.nowpublic.com. www.scan.nowpublic.com. [12]www.scan.nowpublic.com. a1.panthercdn.com. [52]a1.panthercdn.com. [55]panthercdn.com. ns1.[55]panthercdn.com. [55]panthercdn.com. ns2.[55]panthercdn.com. [99]ns1.[55]panthercdn.com. [117]ns2.[55]panthercdn.com. a123.g.akamai.net. a123.g.akamai.net. [12]a123.g.akamai.net. [12]a123.g.akamai.net. feeds.theplatform.com. canwestglobal.112.2o7.net. beacon.securestudies.com. canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. [12]canwestglobal.112.2o7.net. 2o7.net. ns1.sj1.omniture.com. [155]2o7.net. ns1.sj2.[182]omniture.com. [155]2o7.net. ns1.dal.[182]omniture.com. [174]ns1.sj1.omniture.com. [208]ns1.sj2.[182]omniture.com. [230]ns1.dal.[182]omniture.com. beacon.securestudies.com. [12]beacon.securestudies.com. beacon.gta.securestudies.com. [54]beacon.gta.securestudies.com. [61]gta.securestudies.com. gta02.ord.[65]securestudies.com. [61]gta.securestudies.com. gta01.iad.[65]securestudies.com. [61]gta.securestudies.com. gta01.[118]ord.[65]securestudies.com. [61]gta.securestudies.com. gta02.[142]iad.[65]securestudies.com. [112]gta02.ord.[65]securestudies.com. [136]gta01.iad.[65]securestudies.com. [160]gta01.[118]ord.[65]securestudies.com. [180]gta02.[142]iad.[65]securestudies.com. feeds.theplatform.com. [12]feeds.theplatform.com. [18]theplatform.com. sea1tpgtm01.[18]theplatform.com. [18]theplatform.com. bfi1tpgtm01.[18]theplatform.com. [67]sea1tpgtm01.[18]theplatform.com. [93]bfi1tpgtm01.[18]theplatform.com. s7.addthis.com. s7.addthis.com. [12]s7.addthis.com. wildcard.addthis.com.edgekey.net. [44]wildcard.addthis.com.edgekey.net. e2943.c.akamaiedge.[73]net. [90]e2943.c.akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n5c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n8c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n0c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n6c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n1c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n4c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n3c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n2c.[98]akamaiedge.[73]net. [96]c.akamaiedge.[73]net. n7c.[98]akamaiedge.[73]net. [139]n5c.[98]akamaiedge.[73]net. [157]n8c.[98]akamaiedge.[73]net. [175]n0c.[98]akamaiedge.[73]net. [193]n6c.[98]akamaiedge.[73]net. [211]n1c.[98]akamaiedge.[73]net. [229]n4c.[98]akamaiedge.[73]net. [247]n3c.[98]akamaiedge.[73]net. [265]n2c.[98]akamaiedge.[73]net. [283]n7c.[98]akamaiedge.[73]net. ad.doubleclick.net. ad.doubleclick.net. [12]ad.doubleclick.net. dart-ad.l.doubleclick.net. [48]dart-ad.l.doubleclick.net. [48]dart-ad.l.doubleclick.net. [56]l.doubleclick.net. g.l.google.com. [56]l.doubleclick.net. a.[121]l.google.com. [56]l.doubleclick.net. b.[121]l.google.com. [56]l.doubleclick.net. d.[121]l.google.com. [56]l.doubleclick.net. e.[121]l.google.com. [56]l.doubleclick.net. f.[121]l.google.com. [119]g.l.google.com. [147]a.[121]l.google.com. [163]b.[121]l.google.com. [179]d.[121]l.google.com. [195]e.[121]l.google.com. [211]f.[121]l.google.com. *** SUCCESS ***