// Code generated by Thrift Compiler (0.14.1). DO NOT EDIT.

package sampling

import(
	"bytes"
	"context"
	"fmt"
	"time"
	"github.com/uber/jaeger-client-go/thrift"
)

// (needed to ensure safety because of naive import list construction.)
var _ = thrift.ZERO
var _ = fmt.Printf
var _ = context.Background
var _ = time.Now
var _ = bytes.Equal


func init() {
}

