// File: jianxinzhou[P]Smart/./include/MyConf.h
// Function: MyConf::MyConf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
MyConf(const std::string& name)
            : infile_(name.c_str())
        {
            // 处理配置文件
            if(!infile_)
            {
                std::cout << __DATE__ << " " << __TIME__ <<" "
                          << __FILE__ << " " << __LINE__ <<": "
                          << "open failed!"  << std::endl;
                exit(-1);
            }

            std::string line ;
            while(getline(infile_, line))
            {
                std::istringstream instream(line) ;
                std::string key, value ;
                instream >> key >> value ;
                mapConf_.insert(make_pair(key, value)) ;
            }
            infile_.close();
            

            // 处理字典
            infile_.open(mapConf_["my_dict"].c_str());
            if(!infile_)
            {
                std::cout << __DATE__ << " " << __TIME__ <<" "
                          << __FILE__ << " " << __LINE__ <<": "
                          << "open failed!"  << std::endl;
                exit(-1);
            }
            while(getline(infile_, line))
            {
                std::istringstream instream(line);
                std::string word;
                int frequency;
                instream >> word >> frequency;
                vecDict_.push_back(make_pair(word, frequency));
            }
            infile_.close();
            
            // 依次设置每个单词的每个字母所对应的索引
            for(int vecDictIndex = 0 ; 
                vecDictIndex != vecDict_.size();
                ++vecDictIndex)
            {
                setIndex(vecDictIndex);
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x5a0, %rsp            # imm = 0x5A0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x458(%rbp)
movq %rax, -0x478(%rbp)
movq -0x10(%rbp), %rdi
callq 0x3150
movq -0x458(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x3560
movq -0x458(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movq %rdi, -0x470(%rbp)
callq 0x4ce0
movq -0x458(%rbp), %rdi
addq $0x238, %rdi            # imm = 0x238
movq %rdi, -0x468(%rbp)
callq 0x4d00
movq -0x458(%rbp), %rdi
addq $0x250, %rdi            # imm = 0x250
movq %rdi, -0x460(%rbp)
callq 0x4d20
movq -0x458(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3180
movb %al, -0x44d(%rbp)
jmp 0x3bee
movb -0x44d(%rbp), %al
testb $0x1, %al
jne 0x3bfd
jmp 0x3d27
movq 0x193cc(%rip), %rdi     # 0x1cfd0
leaq 0xf408(%rip), %rsi      # 0x13013
callq 0x32c0
movq %rax, -0x480(%rbp)
jmp 0x3c19
movq -0x480(%rbp), %rdi
leaq 0xf5fc(%rip), %rsi      # 0x13223
callq 0x32c0
movq %rax, -0x488(%rbp)
jmp 0x3c35
movq -0x488(%rbp), %rdi
leaq 0xf3dc(%rip), %rsi      # 0x1301f
callq 0x32c0
movq %rax, -0x490(%rbp)
jmp 0x3c51
movq -0x490(%rbp), %rdi
leaq 0xf5c4(%rip), %rsi      # 0x13223
callq 0x32c0
movq %rax, -0x498(%rbp)
jmp 0x3c6d
movq -0x498(%rbp), %rdi
leaq 0xf3ad(%rip), %rsi      # 0x13028
callq 0x32c0
movq %rax, -0x4a0(%rbp)
jmp 0x3c89
movq -0x4a0(%rbp), %rdi
leaq 0xf58c(%rip), %rsi      # 0x13223
callq 0x32c0
movq %rax, -0x4a8(%rbp)
jmp 0x3ca5
movq -0x4a8(%rbp), %rdi
movl $0x16, %esi
callq 0x3520
movq %rax, -0x4b0(%rbp)
jmp 0x3cbf
movq -0x4b0(%rbp), %rdi
leaq 0xf555(%rip), %rsi      # 0x13222
callq 0x32c0
movq %rax, -0x4b8(%rbp)
jmp 0x3cdb
movq -0x4b8(%rbp), %rdi
leaq 0xf352(%rip), %rsi      # 0x1303b
callq 0x32c0
movq %rax, -0x4c0(%rbp)
jmp 0x3cf7
movq -0x4c0(%rbp), %rdi
movq 0x192b3(%rip), %rsi     # 0x1cfb8
callq 0x3310
jmp 0x3d0c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x3380
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x42ea
leaq -0x40(%rbp), %rdi
callq 0x3420
movq -0x478(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x30a0
movq %rax, -0x4c8(%rbp)
jmp 0x3d49
movq -0x4c8(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x33b0
movb %al, -0x4c9(%rbp)
jmp 0x3d67
movb -0x4c9(%rbp), %al
testb $0x1, %al
jne 0x3d76
jmp 0x3ede
leaq -0x1c0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movl $0x8, %edx
callq 0x3500
jmp 0x3d8d
leaq -0x1e0(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x3420
leaq -0x200(%rbp), %rdi
callq 0x3420
movq -0x4e0(%rbp), %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x33c0
movq %rax, -0x4d8(%rbp)
jmp 0x3dc8
movq -0x4d8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x33c0
jmp 0x3ddd
movq -0x478(%rbp), %rax
addq $0x208, %rax            # imm = 0x208
movq %rax, -0x4e8(%rbp)
leaq -0x240(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
leaq -0x200(%rbp), %rdx
callq 0x4d80
jmp 0x3e0d
movq -0x4e8(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x4d40
movb %dl, -0x4f1(%rbp)
movq %rax, -0x4f0(%rbp)
jmp 0x3e2f
movb -0x4f1(%rbp), %al
movq -0x4f0(%rbp), %rcx
movq %rcx, -0x250(%rbp)
movb %al, -0x248(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x4dc0
leaq -0x200(%rbp), %rdi
callq 0x31f0
leaq -0x1e0(%rbp), %rdi
callq 0x31f0
leaq -0x1c0(%rbp), %rdi
callq 0x3190
jmp 0x3d30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x42e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x3eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x4dc0
leaq -0x200(%rbp), %rdi
callq 0x31f0
leaq -0x1e0(%rbp), %rdi
callq 0x31f0
leaq -0x1c0(%rbp), %rdi
callq 0x3190
jmp 0x42e1
movq -0x478(%rbp), %rdi
callq 0x30c0
jmp 0x3eec
movq -0x478(%rbp), %rax
movq %rax, %rcx
movq %rcx, -0x510(%rbp)
addq $0x208, %rax            # imm = 0x208
movq %rax, -0x508(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x3540
movq -0x500(%rbp), %rdx
leaq 0xf11d(%rip), %rsi      # 0x13048
leaq -0x270(%rbp), %rdi
callq 0x3410
jmp 0x3f39
movq -0x508(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x4df0
movq %rax, -0x518(%rbp)
jmp 0x3f55
movq -0x518(%rbp), %rdi
callq 0x3150
movq -0x510(%rbp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x3200
jmp 0x3f77
leaq -0x270(%rbp), %rdi
callq 0x31f0
leaq -0x271(%rbp), %rdi
callq 0x3320
movq -0x478(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3180
movb %al, -0x519(%rbp)
jmp 0x3fad
movb -0x519(%rbp), %al
testb $0x1, %al
jne 0x3fbc
jmp 0x410c
movq 0x1900d(%rip), %rdi     # 0x1cfd0
leaq 0xf049(%rip), %rsi      # 0x13013
callq 0x32c0
movq %rax, -0x528(%rbp)
jmp 0x3fd8
movq -0x528(%rbp), %rdi
leaq 0xf23d(%rip), %rsi      # 0x13223
callq 0x32c0
movq %rax, -0x530(%rbp)
jmp 0x3ff4
movq -0x530(%rbp), %rdi
leaq 0xf01d(%rip), %rsi      # 0x1301f
callq 0x32c0
movq %rax, -0x538(%rbp)
jmp 0x4010
movq -0x538(%rbp), %rdi
leaq 0xf205(%rip), %rsi      # 0x13223
callq 0x32c0
movq %rax, -0x540(%rbp)
jmp 0x402c
movq -0x540(%rbp), %rdi
leaq 0xefee(%rip), %rsi      # 0x13028
callq 0x32c0
movq %rax, -0x548(%rbp)
jmp 0x4048
movq -0x548(%rbp), %rdi
leaq 0xf1cd(%rip), %rsi      # 0x13223
callq 0x32c0
movq %rax, -0x550(%rbp)
jmp 0x4064
movq -0x550(%rbp), %rdi
movl $0x2b, %esi
callq 0x3520
movq %rax, -0x558(%rbp)
jmp 0x407e
movq -0x558(%rbp), %rdi
leaq 0xf196(%rip), %rsi      # 0x13222
callq 0x32c0
movq %rax, -0x560(%rbp)
jmp 0x409a
movq -0x560(%rbp), %rdi
leaq 0xef93(%rip), %rsi      # 0x1303b
callq 0x32c0
movq %rax, -0x568(%rbp)
jmp 0x40b6
movq -0x568(%rbp), %rdi
movq 0x18ef4(%rip), %rsi     # 0x1cfb8
callq 0x3310
jmp 0x40cb
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x3380
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x40fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x31f0
leaq -0x271(%rbp), %rdi
callq 0x3320
jmp 0x42e1
jmp 0x410e
movq -0x478(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x30a0
movq %rax, -0x570(%rbp)
jmp 0x4127
movq -0x570(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x33b0
movb %al, -0x571(%rbp)
jmp 0x4145
movb -0x571(%rbp), %al
testb $0x1, %al
jne 0x4154
jmp 0x4260
leaq -0x3f8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movl $0x8, %edx
callq 0x3500
jmp 0x416b
leaq -0x418(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x3420
movq -0x588(%rbp), %rsi
leaq -0x3f8(%rbp), %rdi
callq 0x33c0
movq %rax, -0x580(%rbp)
jmp 0x419a
movq -0x580(%rbp), %rdi
leaq -0x41c(%rbp), %rsi
callq 0x31e0
jmp 0x41af
movq -0x478(%rbp), %rax
addq $0x238, %rax            # imm = 0x238
movq %rax, -0x590(%rbp)
leaq -0x448(%rbp), %rdi
leaq -0x418(%rbp), %rsi
leaq -0x41c(%rbp), %rdx
callq 0x4f00
jmp 0x41df
movq -0x590(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0x4ed0
jmp 0x41f4
leaq -0x448(%rbp), %rdi
callq 0x4f40
leaq -0x418(%rbp), %rdi
callq 0x31f0
leaq -0x3f8(%rbp), %rdi
callq 0x3190
jmp 0x410e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x4243
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x4f40
leaq -0x418(%rbp), %rdi
callq 0x31f0
leaq -0x3f8(%rbp), %rdi
callq 0x3190
jmp 0x42e1
movq -0x478(%rbp), %rdi
callq 0x30c0
jmp 0x426e
movl $0x0, -0x44c(%rbp)
movq -0x478(%rbp), %rdi
movslq -0x44c(%rbp), %rax
movq %rax, -0x598(%rbp)
addq $0x238, %rdi            # imm = 0x238
callq 0x4f60
movq %rax, %rcx
movq -0x598(%rbp), %rax
cmpq %rcx, %rax
je 0x42cf
movq -0x478(%rbp), %rdi
movl -0x44c(%rbp), %esi
callq 0x4f90
jmp 0x42bc
jmp 0x42be
movl -0x44c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44c(%rbp)
jmp 0x4278
leaq -0x40(%rbp), %rdi
callq 0x31f0
addq $0x5a0, %rsp            # imm = 0x5A0
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x31f0
movq -0x460(%rbp), %rdi
callq 0x5170
movq -0x468(%rbp), %rdi
callq 0x5190
movq -0x470(%rbp), %rdi
callq 0x51f0
movq -0x458(%rbp), %rdi
callq 0x30f0
movq -0x18(%rbp), %rdi
callq 0x3530
nopw %cs:(%rax,%rax)
nopl (%rax)